@mavea/mavea 1.2.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/PRIVACY.md +1 -0
- package/README.md +8 -4
- package/TERMS.md +1 -1
- package/THIRD-PARTY.txt +13 -5
- package/bin/mavea.mjs +143 -2
- package/dist/.vite/manifest.json +1469 -857
- package/dist/assets/AnnotationLayer-Cccb12ps.js +0 -0
- package/dist/assets/{AppCommandPalette-CgDUWU08.js → AppCommandPalette-DdOPNZ0e.js} +1 -1
- package/dist/assets/AtlasView-B7yObdf8.css +1 -0
- package/dist/assets/{AtlasView-B82UfrEX.js → AtlasView-DO_p0TdZ.js} +1 -1
- package/dist/assets/BriefingPlayer-DHV4vMga.css +1 -0
- package/dist/assets/{CadenceCard-P4teI7Se.js → CadenceCard-DxceyiPA.js} +1 -1
- package/dist/assets/{CanvasSkeleton-CRGWlafo.js → CanvasSkeleton-BmGjJHUQ.js} +1 -1
- package/dist/assets/CanvasSkeleton-DYASkTjW.css +1 -0
- package/dist/assets/CardEditor-CiAfT78z.css +1 -0
- package/dist/assets/{CardEditor-DABIhGdQ.js → CardEditor-D4slxmIM.js} +1 -1
- package/dist/assets/{CheckLogRail-DO7sbZwC.js → CheckLogRail-BibJTid0.js} +1 -1
- package/dist/assets/ConversationVideoStudio-CSO3jHXD.css +1 -0
- package/dist/assets/ConversationVideoStudio-DMIPUCcq.js +1 -0
- package/dist/assets/CourseLessonReader-D29Kix4f.js +2 -0
- package/dist/assets/{CourseRail-DXt3bzjU.js → CourseRail-BQmUsG6v.js} +1 -1
- package/dist/assets/CoursesApp-DcDsS_ZS.js +2 -0
- package/dist/assets/CrossExamPanel-BafTqkbf.css +1 -0
- package/dist/assets/{DashPresent-B6MP1i_4.js → DashPresent-BDWgO9am.js} +1 -1
- package/dist/assets/DashboardDetail-BrnAdWfy.js +2 -0
- package/dist/assets/DashboardLoopGate-NxMcQ4rD.js +2 -0
- package/dist/assets/DashboardLoopRuntime-Dsy9u1wa.js +1 -0
- package/dist/assets/{DashboardSettings-CE0B2y2y.js → DashboardSettings-DJon1Q4o.js} +1 -1
- package/dist/assets/DashboardsApp-DxyMn3x_.js +2 -0
- package/dist/assets/DeepZoomApp-CVwmnRGN.css +1 -0
- package/dist/assets/{DeepZoomApp-UEPtylG7.js → DeepZoomApp-nNjqoyYE.js} +1 -1
- package/dist/assets/DelegatePanel-D17XvWYd.css +1 -0
- package/dist/assets/DelegatePanel-DN_ZL0j7.js +33 -0
- package/dist/assets/DemoGallery-DrSlMsnu.js +1 -0
- package/dist/assets/{DropSelect-DilESAgA.css → DropSelect-B4lqCEjw.css} +1 -1
- package/dist/assets/{DropSelect-QcBm3N4D.js → DropSelect-GwIXHA5o.js} +1 -1
- package/dist/assets/{ExportModal-Ya0VBbxa.js → ExportModal-DBUjC71U.js} +1 -1
- package/dist/assets/{ExtractionPreview-BFrmqKDo.js → ExtractionPreview-D4M6eXqb.js} +1 -1
- package/dist/assets/{FeatureUseNotice-Dc3GNBvy.js → FeatureUseNotice-Bda9jr3W.js} +1 -1
- package/dist/assets/{FlagshipCommandPalette-B1yHwI6V.js → FlagshipCommandPalette-DAO849RC.js} +1 -1
- package/dist/assets/FlagshipShowcase-g2x-1c70.js +1 -0
- package/dist/assets/{FlashcardsApp-DteNeHpz.js → FlashcardsApp-BUKzCr65.js} +1 -1
- package/dist/assets/ForecastPanel-Cq_yDhNQ.css +1 -0
- package/dist/assets/GalleryApp-ot_A7ZF-.js +1 -0
- package/dist/assets/{HonestByDesign-DZltb3Ss.js → HonestByDesign-DgZFEpEx.js} +1 -1
- package/dist/assets/{HowItWorks-D-hgfN6a.js → HowItWorks-DPFpdeGE.js} +1 -1
- package/dist/assets/{LegalApp-ChzcKiY0.js → LegalApp-C56kWdmK.js} +1 -1
- package/dist/assets/{LegalMarkdownDocument-j6UHhPnp.js → LegalMarkdownDocument-BBTHuW_M.js} +1 -1
- package/dist/assets/{LegalPageShell-Wcsviye1.js → LegalPageShell-hMA-7JLf.js} +1 -1
- package/dist/assets/LeverPanel-HOEwIr8k.css +1 -0
- package/dist/assets/{Library-DmdzY2se.js → Library-CVj7R6F4.js} +1 -1
- package/dist/assets/LibraryOverlay-BkPYm0Bs.css +1 -0
- package/dist/assets/{LibraryOverlay-YHBrdVKo.js → LibraryOverlay-DSUWcUe4.js} +1 -1
- package/dist/assets/LiveApp-B62EMybC.js +79 -0
- package/dist/assets/LiveApp-CziqEsOb.css +1 -0
- package/dist/assets/LiveSettings-BITIaMoT.js +6 -0
- package/dist/assets/LiveSettings-Dho0OxlM.css +1 -0
- package/dist/assets/{MindMapViewerDrawer-DI_S7fRZ.js → MindMapViewerDrawer-CKdJtHno.js} +1 -1
- package/dist/assets/MindShape-B3lg_z4X.js +1 -0
- package/dist/assets/MindShape-CozR9W8M.css +1 -0
- package/dist/assets/{PinToDashboard-BCiWaSg8.js → PinToDashboard-DpQjBLPa.js} +1 -1
- package/dist/assets/{PlanReview-BIERfK1t.js → PlanReview-CrTbmMAd.js} +1 -1
- package/dist/assets/PresentationDeck-CfYadu9V.js +1 -0
- package/dist/assets/PrismApp-bRKK_3JA.js +2 -0
- package/dist/assets/PrismAskController-68gbUO5u.css +1 -0
- package/dist/assets/{PrismAskController-Bt0k9hAA.js → PrismAskController-C4MuB8om.js} +1 -1
- package/dist/assets/{PrismBriefingPlayer-DLAPs6eZ.js → PrismBriefingPlayer-ChJj6hSS.js} +2 -2
- package/dist/assets/PrismOverlay-BwnF4BEn.css +1 -0
- package/dist/assets/{PrismOverlay-DJDGPGxo.js → PrismOverlay-Pp6ZKmTc.js} +4 -4
- package/dist/assets/{PrismWorkbench-DHLvpguj.js → PrismWorkbench-BCV7r4Oa.js} +1 -1
- package/dist/assets/{PrivacyApp-uMjq2z14.js → PrivacyApp-A2Bu6LVd.js} +2 -1
- package/dist/assets/{Recap-T9DtFaEk.js → Recap-BOl3SUh0.js} +1 -1
- package/dist/assets/Recap-D3NlzM1p.css +1 -0
- package/dist/assets/{ReplayCard-F7U3LYAg.js → ReplayCard-B6NYiYzQ.js} +2 -2
- package/dist/assets/{ReplayOverlay-BTldvkU7.js → ReplayOverlay-BJKtJ-vc.js} +1 -1
- package/dist/assets/{RewindOverlay-CousnxXo.js → RewindOverlay-BO7YgDsW.js} +1 -1
- package/dist/assets/RippleApp-BXt7tenS.js +2 -0
- package/dist/assets/{RippleAskController-9SxpZnHX.js → RippleAskController-BzdwYcYY.js} +1 -1
- package/dist/assets/RippleOverlay-B3hg2KMN.css +1 -0
- package/dist/assets/RippleOverlay-BSxubBwj.js +6 -0
- package/dist/assets/SeeDontRead-0He5hS2C.js +1 -0
- package/dist/assets/ShareModal-I_sxHKLv.css +1 -0
- package/dist/assets/ShareModal-xYdZWJxy.js +2 -0
- package/dist/assets/{ShipCourse-Up9gRR07.js → ShipCourse-Dg6kCWyH.js} +1 -1
- package/dist/assets/{SignatureLoop-Cq790dMw.js → SignatureLoop-QPwB2oNN.js} +1 -1
- package/dist/assets/SrsReview-DmBcJCMa.css +1 -0
- package/dist/assets/{SrsReview-DhWNYYv7.js → SrsReview-Gr6Y0QTQ.js} +1 -1
- package/dist/assets/{SynthesisApp-4ZPLZgmJ.js → SynthesisApp-DrCq6NDa.js} +2 -2
- package/dist/assets/{SynthesisOverlay-iesJ0hEt.js → SynthesisOverlay-DCa-2Pz_.js} +1 -1
- package/dist/assets/{TermsApp-DL2hFKsv.js → TermsApp-zcPDYfuh.js} +2 -2
- package/dist/assets/TopicCanvas-Bw4bMFpe.js +2 -0
- package/dist/assets/TopicCanvas-DWTm611H.css +1 -0
- package/dist/assets/{TourPrism-kInUOv-M.js → TourPrism-DbinDupp.js} +1 -1
- package/dist/assets/{TrackerTile-BryDo0sm.js → TrackerTile-CrT9u1I4.js} +2 -2
- package/dist/assets/{TwoSurfaces-Cmj95ofx.js → TwoSurfaces-L0CDuyOZ.js} +1 -1
- package/dist/assets/WhyMachineOverlay-Rav-cuMm.css +1 -0
- package/dist/assets/WorldOverlay-BcjqG1BR.js +2 -0
- package/dist/assets/{WowFeatures-DDICbxl_.js → WowFeatures-CwBk4ZMO.js} +1 -1
- package/dist/assets/ZoomDeck-DdLNsrHV.css +1 -0
- package/dist/assets/{ZoomDeck-CKOjYS9z.js → ZoomDeck-DlnesweX.js} +1 -1
- package/dist/assets/{annotationAuto-CDv6Es44.js → annotationAuto-B2UdfJNj.js} +1 -1
- package/dist/assets/{backup-ZrlVatXc.js → backup-685QrAjt.js} +1 -1
- package/dist/assets/canvas-C3O7MEA3.js +1 -0
- package/dist/assets/capture-DgJLQ_0-.js +2 -0
- package/dist/assets/{chapters-Dqm4iLDa.js → chapters-CIvdCeBC.js} +1 -1
- package/dist/assets/{confirmAdd-DkmbWaSk.js → confirmAdd-CZ829Mbx.js} +1 -1
- package/dist/assets/{dashboardEvents-D-XVj666.js → dashboardEvents-CiayRLrH.js} +1 -1
- package/dist/assets/dashboards-Cvs28p3Z.css +1 -0
- package/dist/assets/deepen-DAeHHFiI.js +11 -0
- package/dist/assets/deepenStore-BWLLzLCY.js +1 -0
- package/dist/assets/effort-jJe4iMIq.js +39 -0
- package/dist/assets/{explode-BgZIWY9m.js → explode-CPnvJiTg.js} +1 -1
- package/dist/assets/{fitText-DQ2omSN0.js → fitText-DHbmSS-q.js} +1 -1
- package/dist/assets/{generate-Dl2EJ_SR.js → generate-COfYQFmT.js} +4 -4
- package/dist/assets/{generateBeats-DtptFLlG.js → generateBeats-COflu5Zi.js} +1 -1
- package/dist/assets/{generateCourse-C9qvaJRo.js → generateCourse-BldPpgdh.js} +1 -1
- package/dist/assets/generateLive-DGwnpIip.js +24 -0
- package/dist/assets/homeTarget-CwFsJYwb.js +1 -0
- package/dist/assets/index-BIUYTk1W.css +1 -0
- package/dist/assets/index-LiHcEJt_.js +22 -0
- package/dist/assets/kokoro-DXRj0KQX.js +1 -0
- package/dist/assets/ledger-BssK9Pv2.js +1 -0
- package/dist/assets/{lib-DMAxsZKm.css → lib-DP9Kuxqk.css} +1 -1
- package/dist/assets/{liveSchema-B4bQtO88.js → liveSchema-DyfND6P2.js} +2 -2
- package/dist/assets/{loader-DCA6Njbf.js → loader-DgMLGfAC.js} +2 -2
- package/dist/assets/localBudget-CxLP6bjE.js +1 -0
- package/dist/assets/{mastery-CUfDeuqO.js → mastery-DB5qpRAy.js} +1 -1
- package/dist/assets/{media-BvwzACIX.js → media-VLRh6CX2.js} +2 -2
- package/dist/assets/{model-BFRTN9Eh.js → model-CAewjw45.js} +1 -1
- package/dist/assets/{neighborhoods-D7QjURnE.js → neighborhoods-CqECCmo8.js} +1 -1
- package/dist/assets/{notes-B6eX5XWk.js → notes-DzIAEESd.js} +1 -1
- package/dist/assets/pen-DtEW1xf4.js +24 -0
- package/dist/assets/{perfProbe-CE7hsUEo.js → perfProbe-ezVn1mOu.js} +1 -1
- package/dist/assets/{pin-BZuh1acO.js → pin-BPGVDgnq.js} +1 -1
- package/dist/assets/pin-BXyyKnci.css +1 -0
- package/dist/assets/{planTracker-KKAtTBWs.js → planTracker-BwoKEftp.js} +1 -1
- package/dist/assets/portal-B9DmFo6J.js +1 -0
- package/dist/assets/{prewarm-uKxmzjjd.js → prewarm-BgUqAJbF.js} +1 -1
- package/dist/assets/providers-0DthJW_I.js +1 -0
- package/dist/assets/quietHours-DyynzDyC.js +1 -0
- package/dist/assets/{ready-jtAUOb62.js → ready-yBSGJubb.js} +1 -1
- package/dist/assets/{registry-B2QzCuWH.js → registry-7tKTrzeZ.js} +1 -1
- package/dist/assets/{registry-BFrgx1tE.js → registry-B53EEn8S.js} +1 -1
- package/dist/assets/{registry-CPiwQhAm.js → registry-BDXwUn3i.js} +1 -1
- package/dist/assets/{registry-DtV2UjBx.js → registry-BJEvFgoL.js} +1 -1
- package/dist/assets/{registry-B0GIHERt.js → registry-BQzvA61G.js} +1 -1
- package/dist/assets/{registry-6DGRAB1m.js → registry-BT6ydF33.js} +1 -1
- package/dist/assets/{registry-D8O0apUT.js → registry-BdHj_oIs.js} +1 -1
- package/dist/assets/{registry-Dru0JcTa.css → registry-BgWzEkxc.css} +1 -1
- package/dist/assets/{registry-Vp8VuMV0.js → registry-Bl2qfp5V.js} +1 -1
- package/dist/assets/registry-Bl7zAWKt.js +2 -0
- package/dist/assets/{registry-Dwbh-GWu.js → registry-BlujNlQJ.js} +1 -1
- package/dist/assets/{registry-C28gYnVq.js → registry-CE1T0z9x.js} +1 -1
- package/dist/assets/{registry-4mMEt1Xy.css → registry-CEV5h2cu.css} +1 -1
- package/dist/assets/{registry-ZOWzhOHk.css → registry-CGB0jkFI.css} +1 -1
- package/dist/assets/{registry-BFbfXK-W.js → registry-Cgo4C0ux.js} +1 -1
- package/dist/assets/registry-CwRTUk0R.js +1 -0
- package/dist/assets/{registry-1wlTAh5b.js → registry-D06LKiUk.js} +1 -1
- package/dist/assets/registry-Dbe9TQPw.css +1 -0
- package/dist/assets/registry-Diyud3DF.js +1 -0
- package/dist/assets/registry-DjvftnY2.css +1 -0
- package/dist/assets/{registry-w4R6c89s.js → registry-KRYoVMCh.js} +1 -1
- package/dist/assets/registry-QbArAJKB.js +1 -0
- package/dist/assets/registry-dmR14XnY.css +1 -0
- package/dist/assets/registry-g2sBcIrf.css +1 -0
- package/dist/assets/{registry-CcOO8UZr.js → registry-qRfnKTt4.js} +1 -1
- package/dist/assets/{relate-UW-sUlJH.js → relate-aQFFr11O.js} +1 -1
- package/dist/assets/{replay-B5TkHPri.js → replay-CalqEgdW.js} +1 -1
- package/dist/assets/route-CMdTFx0P.js +1 -0
- package/dist/assets/{run-Df10YPyB.js → run-CuHaB8wF.js} +1 -1
- package/dist/assets/{run-gmqUaxcL.js → run-CwMSPOps.js} +1 -1
- package/dist/assets/{run-DlvA3l28.js → run-DCQrxgHA.js} +1 -1
- package/dist/assets/select-wEtBn9U6.js +3 -0
- package/dist/assets/shapes-BwoDrn09.js +1 -0
- package/dist/assets/shard000-Bx6Nmt0m.js +1 -0
- package/dist/assets/shard001-CL6O9SLr.js +1 -0
- package/dist/assets/shard002-vLQ0Ss-O.js +1 -0
- package/dist/assets/shard003-kKZdpzuh.js +1 -0
- package/dist/assets/shard004-CdVohAu1.js +1 -0
- package/dist/assets/shard005-CMzF_uJB.js +1 -0
- package/dist/assets/shard006-DQoDWuoN.js +1 -0
- package/dist/assets/shard007-Ck0N0IUk.js +1 -0
- package/dist/assets/shard008-Dt395x0Q.js +1 -0
- package/dist/assets/shard009-D_z8Lhqh.js +1 -0
- package/dist/assets/shard010-CQfR6lnk.js +1 -0
- package/dist/assets/shard011-l-w2t2Ie.js +1 -0
- package/dist/assets/shard012-BTw_UO1C.js +1 -0
- package/dist/assets/shard013-D8ZjKKYb.js +1 -0
- package/dist/assets/shard014-Cth_76It.js +1 -0
- package/dist/assets/shard015-DdYJVsHx.js +1 -0
- package/dist/assets/shard016-BdlBf9uZ.js +1 -0
- package/dist/assets/shard017-C3HTxh6t.js +1 -0
- package/dist/assets/shard018-Mf4wvqVk.js +1 -0
- package/dist/assets/shard019-Dpcy1Arx.js +1 -0
- package/dist/assets/shard020-BNvKfQld.js +1 -0
- package/dist/assets/shard021-D0kpI_PQ.js +1 -0
- package/dist/assets/shard022-Cjms7kAe.js +1 -0
- package/dist/assets/shard023-Bdwci7fy.js +1 -0
- package/dist/assets/shard024-BBoyPtpP.js +1 -0
- package/dist/assets/shard025-lMGpgN_0.js +3 -0
- package/dist/assets/shard026-Bp3UVI4_.js +1 -0
- package/dist/assets/shard027-C4HTpdeT.js +1 -0
- package/dist/assets/shard028-BsFTH3Sf.js +1 -0
- package/dist/assets/shard029-B3dEcXPy.js +1 -0
- package/dist/assets/shard030-DWwA-fNs.js +5 -0
- package/dist/assets/shard031-RhqA_0nH.js +1 -0
- package/dist/assets/shard032-BlZdG1Yi.js +1 -0
- package/dist/assets/shard033-Dmx2lOjI.js +1 -0
- package/dist/assets/shard034-BLOFKJT4.js +1 -0
- package/dist/assets/shard035-DMXdH733.js +1 -0
- package/dist/assets/shard036-DzOiEn23.js +1 -0
- package/dist/assets/shard037-BcHfVaYM.js +1 -0
- package/dist/assets/shard038-KozOx-Jh.js +1 -0
- package/dist/assets/shard039-apdILQwC.js +1 -0
- package/dist/assets/shard040-BrNXGaBi.js +1 -0
- package/dist/assets/shard041-D6eq9h1u.js +4 -0
- package/dist/assets/shard042-M-L34DbY.js +1 -0
- package/dist/assets/shard043-Ct6_C2pN.js +1 -0
- package/dist/assets/shard044-Bo0iaVHx.js +1 -0
- package/dist/assets/shard045-9ccZ4Y_N.js +1 -0
- package/dist/assets/shard046-eXoP478L.js +1 -0
- package/dist/assets/shard047-N56r6Lsz.js +1 -0
- package/dist/assets/shard048-BeKX7cI8.js +1 -0
- package/dist/assets/shard049-hPaNN2sL.js +1 -0
- package/dist/assets/shard050-B-YpP0B6.js +1 -0
- package/dist/assets/shard051-Bww5_KB2.js +1 -0
- package/dist/assets/shard052-DErwF8Df.js +1 -0
- package/dist/assets/shard053-C-qGH4jz.js +1 -0
- package/dist/assets/shard054-kcSxZrSj.js +1 -0
- package/dist/assets/shard055-CsETBTqa.js +1 -0
- package/dist/assets/shard056-CdBR4qTC.js +1 -0
- package/dist/assets/shard057-yRUG8B9e.js +1 -0
- package/dist/assets/shard058-DeDAnECG.js +1 -0
- package/dist/assets/shard059-Dh6jbDnW.js +1 -0
- package/dist/assets/shard060-B5kpWrhW.js +1 -0
- package/dist/assets/shard061-BTnj5LZA.js +1 -0
- package/dist/assets/shard062-DC7LTaNc.js +1 -0
- package/dist/assets/shard063-C8SIGCfd.js +1 -0
- package/dist/assets/shard064-DLyASocW.js +1 -0
- package/dist/assets/shard065-Cy_yV4ry.js +1 -0
- package/dist/assets/shard066-BmjVQqFX.js +1 -0
- package/dist/assets/shard067-uZUJsqtF.js +1 -0
- package/dist/assets/shard068-CXVjyJU4.js +1 -0
- package/dist/assets/shard069-CyfmjAm-.js +4 -0
- package/dist/assets/shard070-CxN3xiuY.js +12 -0
- package/dist/assets/shard071-CP1WrYC-.js +1 -0
- package/dist/assets/shard072-D6L5Yr05.js +1 -0
- package/dist/assets/shard073-DFEzkwg2.js +1 -0
- package/dist/assets/shard074-BSv3rvRL.js +1 -0
- package/dist/assets/shard075-Bt0OjGVd.js +1 -0
- package/dist/assets/shard076-DZHs0uzd.js +1 -0
- package/dist/assets/{share-kW3pZ027.js → share--tpc1nLE.js} +1 -1
- package/dist/assets/speed-BOytg6bC.js +1 -0
- package/dist/assets/store-B2Rpbqgg.js +1 -0
- package/dist/assets/store-Ba9vzL4H.js +1 -0
- package/dist/assets/store-BwyOArJl.js +1 -0
- package/dist/assets/store-ruEsXJjU.js +1 -0
- package/dist/assets/streamParse-BX0bAppQ.js +2 -0
- package/dist/assets/{templates-DHeyJ32F.css → templates-BIkAr4YH.css} +1 -1
- package/dist/assets/{theme-7IrMJ70_.js → theme-D5D55hZi.js} +1 -1
- package/dist/assets/{threads-Cu2t3070.js → threads-DNfxMTwx.js} +1 -1
- package/dist/assets/{useDashboardLoop-BoVNM-pT.js → useDashboardLoop-ifcuVRo-.js} +3 -3
- package/dist/assets/{useDashboards-SRk8LqHe.js → useDashboards-lgQnk2Al.js} +1 -1
- package/dist/assets/useFocusTrap-CJmpNZv2.js +1 -0
- package/dist/assets/useInView-DsTvv7L_.js +1 -0
- package/dist/assets/useInterval-DDgFrel2.js +1 -0
- package/dist/assets/{useLiveConfig-Cpy0_E_-.js → useLiveConfig-B4CmBiAK.js} +1 -1
- package/dist/assets/useStudy-CySgE3Cx.js +1 -0
- package/dist/assets/{walkSync-CT8kmbzY.js → walkSync-DBne70gg.js} +1 -1
- package/dist/demo-assets/CREDITS.md +94 -50
- package/dist/demo-assets/images/arnel-lighthouse.avif +0 -0
- package/dist/demo-assets/images/cliff-fields.avif +0 -0
- package/dist/demo-assets/images/crater-panorama.avif +0 -0
- package/dist/demo-assets/images/furnas-lake.avif +0 -0
- package/dist/demo-assets/images/green-coast-raw.avif +0 -0
- package/dist/demo-assets/images/green-coast.avif +0 -0
- package/dist/demo-assets/images/island-coast-poster.avif +0 -0
- package/dist/demo-assets/images/nordeste-town.avif +0 -0
- package/dist/demo-assets/images/sea-cliffs.avif +0 -0
- package/dist/demo-assets/images/sete-cidades.avif +0 -0
- package/dist/demo-assets/images/tea-terraces.avif +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/island-coast.webm +0 -0
- package/dist/fonts/fonts.css +18 -0
- package/dist/index.html +38 -10
- package/dist/legal/PRIVACY.md +1 -0
- package/dist/legal/TERMS.md +1 -1
- package/dist/legal/THIRD-PARTY.txt +13 -5
- package/package.json +3 -2
- package/dist/assets/AnnotationLayer-8JABh1Dm.js +0 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +0 -1
- package/dist/assets/BriefingPlayer-TpFZB77N.css +0 -1
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +0 -1
- package/dist/assets/CardEditor-BY1bZiV6.css +0 -1
- package/dist/assets/ConversationVideoStudio-CIAMxElj.css +0 -1
- package/dist/assets/ConversationVideoStudio-tpqQQnOs.js +0 -1
- package/dist/assets/CourseLessonReader-PFJn-4tj.js +0 -2
- package/dist/assets/CoursesApp-5pnHYJR8.js +0 -2
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +0 -1
- package/dist/assets/DashboardDetail-DYFghZ4p.js +0 -2
- package/dist/assets/DashboardLoopGate-C0blM1w9.js +0 -2
- package/dist/assets/DashboardLoopRuntime-C9R-z9-o.js +0 -1
- package/dist/assets/DashboardsApp-Dh_jh1dF.js +0 -2
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +0 -1
- package/dist/assets/DelegatePanel-Cf85-0qE.css +0 -1
- package/dist/assets/DelegatePanel-DKWsRY9I.js +0 -33
- package/dist/assets/DemoGallery-CkuqAXje.js +0 -1
- package/dist/assets/FlagshipShowcase-BHAlRDAE.js +0 -1
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +0 -1
- package/dist/assets/GalleryApp-DziLKFJZ.js +0 -1
- package/dist/assets/LeverPanel-DhpJY76O.css +0 -1
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +0 -1
- package/dist/assets/LiveApp-C-OPBybd.css +0 -1
- package/dist/assets/LiveApp-D6vkyhZb.js +0 -79
- package/dist/assets/LiveSettings-C9cKOrSb.js +0 -6
- package/dist/assets/LiveSettings-CmgrMqvK.css +0 -1
- package/dist/assets/MindShape-C_Bo9hW9.js +0 -1
- package/dist/assets/MindShape-CaPeUo-a.css +0 -1
- package/dist/assets/PresentationDeck-BW_7qecK.js +0 -1
- package/dist/assets/PrismApp-BY71jJvW.js +0 -2
- package/dist/assets/PrismAskController-DBoxQSJR.css +0 -1
- package/dist/assets/PrismOverlay-BTfAicBt.css +0 -1
- package/dist/assets/Recap-DCiiWNiV.css +0 -1
- package/dist/assets/RippleApp-DZw8op-E.js +0 -2
- package/dist/assets/RippleOverlay-D7ItTvS-.js +0 -6
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +0 -1
- package/dist/assets/SeeDontRead-DmmtWAzn.js +0 -1
- package/dist/assets/ShareModal-9jSn52Mw.js +0 -2
- package/dist/assets/ShareModal-D1QuQEko.css +0 -1
- package/dist/assets/SrsReview-B1B2VekR.css +0 -1
- package/dist/assets/TopicCanvas-DozfZFto.js +0 -2
- package/dist/assets/TopicCanvas-uRuHi99s.css +0 -1
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +0 -1
- package/dist/assets/WorldOverlay-yhxq328s.js +0 -2
- package/dist/assets/ZoomDeck-B2SjNwY7.css +0 -1
- package/dist/assets/canvas-vqIFVmtP.js +0 -1
- package/dist/assets/capture-9OrAc1p2.js +0 -2
- package/dist/assets/dashboards-C1u2ks-d.css +0 -1
- package/dist/assets/generateLive-B6purd69.js +0 -51
- package/dist/assets/homeTarget-CsO8nY7z.js +0 -1
- package/dist/assets/index-DrzNHwlO.css +0 -1
- package/dist/assets/index-zIa6h_8b.js +0 -22
- package/dist/assets/kokoro-B3oG_8sd.js +0 -1
- package/dist/assets/layout-CEoNLr-w.js +0 -1
- package/dist/assets/pageVisibility-BxUVsw7Z.js +0 -1
- package/dist/assets/pen-DNMslo3e.js +0 -24
- package/dist/assets/pin-D-4Zjiik.css +0 -1
- package/dist/assets/portal-k_BMgWND.js +0 -1
- package/dist/assets/providers-BovElgRL.js +0 -1
- package/dist/assets/quietHours-DI1ayIIq.js +0 -1
- package/dist/assets/registry-BSX3aFUw.js +0 -1
- package/dist/assets/registry-Bv1f5UU4.js +0 -2
- package/dist/assets/registry-Cse2wF7x.css +0 -1
- package/dist/assets/registry-Dye5m3qt.css +0 -1
- package/dist/assets/registry-GeSy4i7R.css +0 -1
- package/dist/assets/registry-WHd1PwU3.js +0 -1
- package/dist/assets/registry-Xl8mAnKq.js +0 -1
- package/dist/assets/registry-tkd3UhWn.css +0 -1
- package/dist/assets/shapes-Cx5SCKgj.js +0 -39
- package/dist/assets/speed-K5_Ebj-8.js +0 -1
- package/dist/assets/store-BfHRbVKz.js +0 -1
- package/dist/assets/store-CsjDEADX.js +0 -1
- package/dist/assets/store-DpObYU1u.js +0 -1
- package/dist/assets/store-gohr8YVT.js +0 -1
- package/dist/assets/streamParse-B-Gjwa9T.js +0 -2
- package/dist/assets/useFocusTrap-DBtkeyRy.js +0 -1
- package/dist/assets/useInView-CXTOAEV3.js +0 -1
- package/dist/assets/useStudy-5CsF_L-s.js +0 -1
- 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/village-street.jpg +0 -0
- package/dist/demo-assets/video/azores-film.webm +0 -0
- /package/dist/assets/{BriefingPlayer-C0D_2ILa.js → BriefingPlayer-74mRKyjl.js} +0 -0
- /package/dist/assets/{CrossExamPanel-CdIYUu-B.js → CrossExamPanel-BfeGr5iw.js} +0 -0
- /package/dist/assets/{ForecastPanel-zPUh2ClQ.js → ForecastPanel-OfW39WGS.js} +0 -0
- /package/dist/assets/{LeverPanel-D1SNRGdm.js → LeverPanel-vco5UK2U.js} +0 -0
- /package/dist/assets/{WhyMachineOverlay-ks9-rRiL.js → WhyMachineOverlay-D2K7y8SA.js} +0 -0
- /package/dist/assets/{lib-B7OE1ZQQ.js → lib-u95BsX_B.js} +0 -0
- /package/dist/assets/{registry-7poQfBaM.js → registry-C4Yh05pk.js} +0 -0
- /package/dist/assets/{registry-Daypk4uR.js → registry-S3j4OpCH.js} +0 -0
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{O as n}from"./index-LiHcEJt_.js";import{t as r}from"./registry-DGNSqTxE.js";import{CommandPalette as i}from"./CommandPalette-Bs6tpdZl.js";import{t as a}from"./demoPaletteItems-NPCSaSU6.js";var o=e(),s=t();function c({onClose:e,startTour:t,watchInLive:c,enterLive:l}){let u=(0,o.useMemo)(()=>a(r,{direct:{dashboards:()=>{window.location.hash=`#/dashboards`},how:t},watchInLive:c,enterLive:l}).map(e=>({...e,watch:e.feature.id===`how`?t:e.watch,preload:e.feature.id===`dashboards`?()=>n(`#/dashboards`)??Promise.resolve():()=>n(`#/live`)??Promise.resolve()})),[l,t,c]);return(0,s.jsx)(i,{items:u,surface:`demo`,onClose:e})}export{c as AppCommandPalette};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.atlas-scrim{z-index:52;background:rgba(var(--scrim-rgb), .72);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));justify-content:center;align-items:center;padding:2.5vh 2.5vw;display:flex;position:fixed;inset:0}.atlas-panel{border-radius:var(--r-xl);width:min(1700px,100%);height:95vh;box-shadow:var(--shadow-modal);color:#e7e8ef;background:#14151b;border:1px solid #2a2c36;flex-direction:column;display:flex;overflow:hidden}.atlas-scrim[data-expanded=true]{padding:0}.atlas-scrim[data-expanded=true] .atlas-panel{border:none;border-radius:0;width:100%;height:100%}.atlas-head{background:#14151b;border-bottom:1px solid #24262f;align-items:center;gap:16px;padding:14px 20px;display:flex}.atlas-crumbs{align-items:center;gap:12px;min-width:0;display:flex}.atlas-back{border-radius:var(--r-full);color:#9aa0b4;font-family:var(--font-data);letter-spacing:.1em;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #2e3039;align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:600;display:inline-flex}.atlas-back:hover{color:#e7e8ef;border-color:#3a3d49}.atlas-title-wrap{align-items:baseline;gap:12px;min-width:0;display:flex}.atlas-title{color:#f2f2f6;white-space:nowrap;margin:0;font-size:16px;font-weight:700}.atlas-meta{font-family:var(--font-data);letter-spacing:.04em;color:#6e7390;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.atlas-head-search{display:contents}.atlas-fly{width:min(320px,38%);margin-left:auto;position:relative}.atlas-fly-input{border-radius:var(--r-full);color:#e7e8ef;width:100%;font:inherit;background:#ffffff0d;border:1px solid #2e3039;padding:7px 14px;font-size:12px}.atlas-fly-input::placeholder{color:#7e8294}.atlas-fly-input:focus-visible{outline:2px solid var(--presence);outline-offset:1px}.atlas-fly-matches{z-index:12;border-radius:var(--r-md);box-shadow:var(--shadow-floating);background:#1c1e27;border:1px solid #2e3039;flex-direction:column;gap:2px;margin:0;padding:6px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0}.atlas-fly-match{border-radius:var(--r-sm);cursor:pointer;text-align:left;color:#b6bccb;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;font-size:12.5px;display:flex}.atlas-fly-match:hover{color:#f2f2f6;background:#ffffff0f}.atlas-fly-match-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.atlas-fly-match-ago{font-family:var(--font-data);color:#6e7390;flex:none;font-size:10px}.atlas-tour{border-radius:var(--r-full);background:var(--presence);color:#fff;font:inherit;cursor:pointer;box-shadow:0 4px 14px var(--glow-presence);border:none;flex:none;align-items:center;gap:7px;padding:8px 16px;font-size:12px;font-weight:600;display:inline-flex}.atlas-tour:hover{filter:brightness(1.08)}.atlas-close{color:#7e8294;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:50%;flex:none;width:30px;height:30px;font-size:13px;line-height:1}.atlas-close:hover{color:#f2f2f6;border-color:#3a3d49}@media (width<=768px){.atlas-head{flex-wrap:wrap;row-gap:10px}.atlas-head-search{flex:100%;order:1;align-items:center;gap:10px;display:flex}.atlas-fly{flex:auto;width:auto;min-width:0;margin-left:0}.atlas-tour{flex:none}}.atlas-viewport{cursor:grab;touch-action:none;background:radial-gradient(90% 80% at 50% 42%,#1c1e27 0%,#131419 70%,#0e0f13 100%);flex:1;position:relative;overflow:hidden}.atlas-viewport.is-panning{cursor:grabbing}.atlas-viewport.is-panning .atlas-hood{pointer-events:none}.atlas-empty{text-align:center;color:#8c90a0;place-items:center;margin:0;padding:0 18%;font-size:14px;line-height:1.6;display:grid;position:absolute;inset:0}.atlas-stars{pointer-events:none;z-index:0;position:absolute;inset:0}.atlas-star{opacity:.4;animation:atlas-twinkle var(--tw-dur,3s) ease-in-out var(--tw-delay,0s) infinite;animation-play-state:var(--ambient-play,running);background:#fff;border-radius:50%;position:absolute}@keyframes atlas-twinkle{0%,to{opacity:.22}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.atlas-star{opacity:.45;animation:none}}.atlas-world{z-index:1;transform-origin:0 0;--atlas-counter:clamp(1, calc(1 / var(--atlas-cam-scale,1)), 1.6);transition:transform 1.15s cubic-bezier(.6,.02,.2,1);position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.atlas-world{transition:none}.atlas-hood,.atlas-night{transition:opacity .6s}}.atlas-hood{transform:translate(-50%, -50%) scale(var(--atlas-counter,1));cursor:zoom-in;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:0;transition:opacity .6s,transform 1.15s cubic-bezier(.6,.02,.2,1);display:flex;position:absolute}.atlas-hood.is-dim{opacity:.18;pointer-events:none}.atlas-hood-name{font-size:var(--name-size,16px);letter-spacing:.04em;color:var(--hood-color);text-shadow:0 0 18px color-mix(in oklab, var(--hood-color) 55%, transparent);font-weight:700;position:relative}.atlas-hood-count{font-family:var(--font-data);letter-spacing:.06em;color:#6e7390;font-size:9px;position:relative}.atlas-hood-core{background:var(--hood-color);width:9px;height:9px;box-shadow:0 0 14px 3px color-mix(in oklab, var(--hood-color) 60%, transparent);border-radius:50%;margin-top:4px;position:relative}.atlas-hood-loop{border-radius:var(--r-full);background:color-mix(in oklab, var(--warning) 16%, transparent);border:1px solid color-mix(in oklab, var(--warning) 40%, transparent);font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--warning);align-items:center;gap:4px;margin-top:3px;padding:2px 8px;font-size:7.5px;font-weight:600;display:inline-flex;position:relative}.atlas-hood-loop-dot{background:var(--warning);width:5px;height:5px;animation:1.4s ease-in-out infinite atlas-loop-pulse;animation-play-state:var(--ambient-play,running);border-radius:50%}@keyframes atlas-loop-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.atlas-hood-loop-dot{animation:none}}.atlas-hood-badge{border-radius:var(--r-full);color:#b6bccb;font-family:var(--font-data);letter-spacing:.06em;background:#ffffff14;align-items:center;margin-top:3px;padding:1px 8px;font-size:8px;font-weight:600;display:inline-flex;position:relative}.atlas-connections{pointer-events:none;z-index:2;position:absolute;top:0;left:0;overflow:visible}.atlas-connections path{stroke:#9ba2ff;stroke-width:1.5px;stroke-dasharray:3 4;stroke-linecap:round;opacity:.75}.atlas-conn-label{text-align:center;width:100%;font-family:var(--font-data);letter-spacing:.04em;color:#b9bffb;border-radius:var(--r-full);white-space:nowrap;background:#9ba2ff29;border:1px solid #9ba2ff73;padding:2px 8px;font-size:8.5px;font-weight:600;display:inline-block}.atlas-trail{pointer-events:none;z-index:3;position:absolute;top:0;left:0}.atlas-trail polyline{stroke:#fff;stroke-width:1.4px;stroke-dasharray:1 6;stroke-linecap:round;opacity:.55}.atlas-trail circle{fill:#fff;opacity:.7}.atlas-trail-pulse{fill:none;stroke:var(--presence);stroke-width:1.5px;filter:drop-shadow(0 0 7px var(--glow-presence));animation:2.4s ease-out infinite atlas-trail-pulse;animation-play-state:var(--ambient-play,running);transform-origin:50%;transform-box:fill-box}@keyframes atlas-trail-pulse{0%{opacity:.9;transform:scale(1)}65%{opacity:0;transform:scale(2.8)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.atlas-trail-pulse{animation:none}}.atlas-trail-caption{z-index:6;font-family:var(--font-data);letter-spacing:.14em;color:#ffffff73;pointer-events:none;font-size:9.5px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.atlas-constellation{position:absolute;inset:0}.atlas-night-links{pointer-events:none;position:absolute;top:0;left:0}.atlas-night-links line{stroke:var(--hood-color);stroke-width:1px;stroke-dasharray:1 5;stroke-linecap:round;opacity:.4}.atlas-night{transform:translate(-50%, -50%) scale(var(--atlas-counter,1));cursor:pointer;width:188px;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;transition:transform 1.15s cubic-bezier(.6,.02,.2,1);display:flex;position:absolute}.atlas-night-dot{background:var(--hood-color);width:13px;height:13px;box-shadow:0 0 16px 4px color-mix(in oklab, var(--hood-color) 50%, transparent);border-radius:50%}.atlas-night.is-new .atlas-night-dot{box-shadow:0 0 16px 4px color-mix(in oklab, var(--hood-color) 50%, transparent), 0 0 0 3px color-mix(in oklab, var(--presence) 45%, transparent)}.atlas-night.is-found .atlas-night-card{border-color:var(--hood-color);box-shadow:0 0 0 1.5px var(--hood-color)}.atlas-night-card{border-radius:var(--r-sm);width:100%;-webkit-backdrop-filter:var(--glass-blur,blur(3px));backdrop-filter:var(--glass-blur,blur(3px));text-align:left;background:#ffffff0a;border:1px solid #2e3039;flex-direction:column;gap:3px;padding:9px 13px;display:flex}.atlas-night:hover .atlas-night-card{background:#ffffff14;border-color:#3a3d49}.atlas-night-date{font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--hood-color);font-size:8.5px;font-weight:600}.atlas-night-title{color:#f2f2f6;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.atlas-hood-chrome{z-index:6;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:18px;left:22px}.atlas-hood-chrome-hint{font-family:var(--font-data);letter-spacing:.1em;color:#fff6;font-size:9.5px}.atlas-hood-deeper{border-radius:var(--r-full);border:1px solid color-mix(in oklab, var(--presence) 50%, transparent);background:color-mix(in oklab, var(--presence) 12%, transparent);color:var(--presence);font:inherit;cursor:pointer;align-self:flex-start;padding:6px 14px;font-size:12px;font-weight:600}.atlas-hood-deeper:hover{background:color-mix(in oklab, var(--presence) 20%, transparent)}.atlas-night-stage{z-index:14;background:radial-gradient(ellipse 70% 60% at 50% 42%, color-mix(in oklab, var(--hood-color,var(--presence)) 14%, transparent) 0%, #0e0f13c7 70%);-webkit-backdrop-filter:var(--glass-blur,blur(2px));backdrop-filter:var(--glass-blur,blur(2px));place-items:center;padding:28px;animation:.4s both atlas-rehydrate-in;display:grid;position:absolute;inset:0}@keyframes atlas-rehydrate-in{0%{opacity:0}to{opacity:1}}.atlas-rehydrate{background:#181a21;border:1px solid #2c2e38;border-radius:16px;width:min(720px,100%);max-height:100%;padding:0;overflow-y:auto;box-shadow:0 24px 60px #00000073}.atlas-rehydrate-head{background:#ffffff08;border-bottom:1px solid #24262f;justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;display:flex}.atlas-rehydrate-tag{font-family:var(--font-data);letter-spacing:.1em;color:var(--hood-color,var(--presence));align-items:center;gap:8px;font-size:9.5px;font-weight:600;display:inline-flex}.atlas-rehydrate-tag-dot{background:var(--hood-color,var(--presence));width:7px;height:7px;box-shadow:0 0 10px 2px color-mix(in oklab, var(--hood-color,var(--presence)) 60%, transparent);animation:1.6s ease-in-out infinite atlas-loop-pulse;animation-play-state:var(--ambient-play,running);border-radius:50%}@media (prefers-reduced-motion:reduce){.atlas-rehydrate-tag-dot{animation:none}}.atlas-rehydrate-asis{font-family:var(--font-data);color:#6e7390;font-size:9.5px}.atlas-rehydrate-title{color:#f2f2f6;margin:0;padding:20px 26px 0;font-size:21px;font-weight:600;line-height:1.2}.atlas-rehydrate-thread{flex-direction:column;gap:12px;padding:16px 26px 4px;display:flex}.atlas-rehydrate-q{background:var(--presence);color:#fff;border-radius:14px 14px 4px;align-self:flex-end;max-width:78%;margin:0;padding:10px 14px;font-size:13.5px;line-height:1.5}.atlas-rehydrate-a{align-self:flex-start;gap:10px;max-width:92%;display:flex}.atlas-rehydrate-orb{background:radial-gradient(circle at 34% 28%, #a9afff 0%, var(--presence) 55%, #3a43c9 100%);border-radius:48% 52% 50% 50%/52% 50% 50% 48%;flex:none;width:26px;height:26px;margin-top:2px}.atlas-rehydrate-art{border-radius:var(--r-sm);background:#ffffff08;border:1px solid #2a2c36;flex:1;align-items:stretch;gap:13px;padding:14px 16px;display:flex}.atlas-rehydrate-art-kind{background:color-mix(in oklab, var(--hood-color,var(--presence)) 14%, transparent);border:1px solid color-mix(in oklab, var(--hood-color,var(--presence)) 30%, transparent);width:52px;font-family:var(--font-data);color:var(--hood-color,var(--presence));border-radius:9px;flex:none;place-items:center;font-size:8.5px;font-weight:600;display:grid}.atlas-rehydrate-art-body{flex-direction:column;flex:1;justify-content:center;gap:5px;display:flex}.atlas-rehydrate-art-line{background:#2e313b;border-radius:2px;height:3px}.atlas-rehydrate-art-open{font-family:var(--font-data);color:var(--hood-color,var(--presence));align-self:center;font-size:9.5px}.atlas-rehydrate-foot{color:#6e7390;border-top:1px solid #24262f;margin:0;padding:14px 26px 0;font-size:11px}.atlas-rehydrate-actions{gap:10px;padding:16px 26px 22px;display:flex}.atlas-rehydrate-land{background:var(--presence);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-size:13px;font-weight:600}.atlas-rehydrate-land:hover{filter:brightness(1.08)}.atlas-rehydrate-back{color:#b6bccb;font:inherit;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.atlas-rehydrate-back:hover{color:#f2f2f6;border-color:#3a3d49}.atlas-noticed{z-index:8;width:min(300px,100% - 36px);-webkit-backdrop-filter:var(--glass-blur-faint);backdrop-filter:var(--glass-blur-faint);background:#121319e0;border:1px solid #2e3039;border-radius:14px;position:absolute;bottom:18px;right:18px;overflow:hidden;box-shadow:0 18px 44px #00000073}.atlas-noticed-head{align-items:center;gap:8px;padding:11px 15px;display:flex}.atlas-noticed-orb{background:radial-gradient(circle at 34% 28%, #a9afff 0%, var(--presence) 55%, #3a43c9 100%);border-radius:48% 52% 50% 50%/52% 50% 50% 48%;width:18px;height:18px}.atlas-noticed-title{font-family:var(--font-data);letter-spacing:.14em;color:#9aa0b4;font-size:9.5px;font-weight:600}.atlas-noticed-sub{font-family:var(--font-data);color:#6e7390;margin-left:auto;font-size:9px}.atlas-noticed-collapse{color:#9aa0b4;cursor:pointer;background:0 0;border:1px solid #2e3039;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;line-height:1;transition:color .15s,border-color .15s;display:inline-flex}.atlas-noticed-collapse:hover{color:#f2f2f6;border-color:#3a3d49}.atlas-noticed-pill{z-index:8;-webkit-backdrop-filter:var(--glass-blur-faint);backdrop-filter:var(--glass-blur-faint);border-radius:var(--r-full);cursor:pointer;background:#121319e0;border:1px solid #2e3039;align-items:center;gap:8px;padding:8px 13px;transition:border-color .15s;display:inline-flex;position:absolute;bottom:18px;right:18px;box-shadow:0 10px 26px #0006}.atlas-noticed-pill:hover{border-color:#3a3d49}.atlas-noticed-pill .atlas-noticed-orb{width:15px;height:15px}.atlas-noticed-pill-label{font-family:var(--font-data);letter-spacing:.14em;color:#9aa0b4;font-size:9.5px;font-weight:600}.atlas-noticed-pill-count{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 26%, transparent);color:#c7caff;min-width:17px;height:17px;font-family:var(--font-data);justify-content:center;align-items:center;padding:0 5px;font-size:9.5px;font-weight:600;display:inline-flex}.atlas-noticed-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-top:1px solid #1e2027;gap:11px;padding:11px 15px;display:flex}.atlas-noticed-item:hover{background:#ffffff0a}.atlas-noticed-dot{background:var(--ins-color,var(--presence));width:7px;height:7px;box-shadow:0 0 10px 2px color-mix(in oklab, var(--ins-color,var(--presence)) 55%, transparent);border-radius:50%;flex:none;margin-top:4px}.atlas-noticed-body{flex-direction:column;gap:3px;min-width:0;display:flex}.atlas-noticed-kind{font-family:var(--font-data);letter-spacing:.12em;color:var(--ins-color,var(--presence));font-size:8px;font-weight:600}.atlas-noticed-text{color:#d7dae4;font-size:12px;line-height:1.45}.atlas-noticed-cta{color:var(--ins-color,var(--presence));font-size:10.5px;font-weight:600}.atlas-idle-hint{z-index:5;color:#ffffff80;pointer-events:none;text-align:center;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.atlas-viewport:has(.atlas-trail-caption) .atlas-idle-hint{bottom:44px}.atlas-range{z-index:6;border-radius:var(--r-full);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));background:#14151bb8;border:1px solid #ffffff1a;align-items:center;gap:4px;padding:5px 6px 5px 10px;display:flex;position:absolute;top:16px;left:16px}.atlas-range-label{font-family:var(--font-data);letter-spacing:.1em;color:#fff6;margin-right:2px;font-size:8.5px;font-weight:600}.atlas-range-btn{border-radius:var(--r-full);color:#ffffff8c;font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:11px;font-weight:600;transition:color .2s,background .2s}.atlas-range-btn:hover{color:#fff}.atlas-range-btn.is-active{color:#fff;background:#ffffff1f}.atlas-foot{background:#14151b;border-top:1px solid #24262f;align-items:center;gap:18px;padding:13px 22px;display:flex}.atlas-foot-line{color:#6e7390;margin:0;font-size:12.5px}.atlas-foot-line em{color:#b6bccb;font-style:normal;font-weight:700}.atlas-keep{border-radius:var(--r-full);color:#b6bccb;cursor:pointer;font:inherit;background:0 0;border:1px solid #2e3039;margin-left:auto;padding:8px 16px;font-size:12.5px;font-weight:600}.atlas-keep:hover{color:#f2f2f6;border-color:#3a3d49}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{a as n,n as r,o as i,r as a,t as o}from"./neighborhoods-D7QjURnE.js";import{t as s}from"./time-BHTmJR1s.js";import{i as c,n as l}from"./store-D-f8ZuaK.js";var u=e(),d=1280;function f(e){let t=d/720,n=Math.max(1,e)*226*106,r=Math.max(d*720,n/.2),i=Math.sqrt(r/t);return{width:Math.round(i*t),height:Math.round(i)}}function p(e,t){let n=40+Math.sqrt(e)/Math.sqrt(Math.max(1,t))*44;return{rx:n,ry:n*.62}}function m(e){let{width:t,height:r}=f(e.length),o=e.length?e[0].records.length:1,s=n(e.map(e=>i(e.records.flatMap(e=>a(e)),e.name))),c=.12,l=e.map(e=>{let t=Math.max(e.name.length,`${e.records.length} conversations`.length);return{hx:Math.max(70,t*5.4),hy:34}}),u=e.map((e,n)=>{let{rx:i,ry:a}=p(e.records.length,o);return{x:t*(c+s[n].x*(1-2*c)),y:r*(c+s[n].y*(1-2*c)),rx:i,ry:a}}),d=(e,n)=>{let i=Math.max(e.rx*.7,l[n].hx),a=Math.max(e.ry*.8,l[n].hy);e.x=Math.min(t-i,Math.max(i,e.x)),e.y=Math.min(r-a,Math.max(a,e.y))};for(let e=0;e<400;e+=1){let e=!1;for(let n=0;n<u.length;n+=1)for(let i=n+1;i<u.length;i+=1){let a=u[n],o=u[i],s=o.x-a.x,c=o.y-a.y;Math.abs(s)<1&&Math.abs(c)<1&&(s=((n+i)%2==0?1:-1)*8,c=(n%2==0?1:-1)*8);let f=Math.max(a.rx+o.rx,l[n].hx+l[i].hx)+30,p=Math.max(a.ry+o.ry,l[n].hy+l[i].hy)+30,m=f-Math.abs(s),h=p-Math.abs(c);if(m>0&&h>0){let u=a.y<=l[n].hy+1&&o.y<=l[i].hy+1||a.y>=r-l[n].hy-1&&o.y>=r-l[i].hy-1;if(!(a.x<=l[n].hx+1&&o.x<=l[i].hx+1||a.x>=t-l[n].hx-1&&o.x>=t-l[i].hx-1)&&(u||m<h)){let e=(m/2+.5)*(s<0?-1:1);a.x-=e,o.x+=e}else{let e=(h/2+.5)*(c<0?-1:1);a.y-=e,o.y+=e}d(a,n),d(o,i),e=!0}}if(!e)break}for(let e=0;e<u.length;e+=1)d(u[e],e);return{places:u,width:t,height:r}}function h(e,t,n=d,r=720){let i=Math.min(e/n,t/r);return{x:(e-n*i)/2,y:(t-r*i)/2,scale:i}}function ee(e,t,n){let r=Math.min(2,Math.min(t/(e.rx*2.6),n/(e.ry*3.2)));return{x:t/2-e.x*r,y:n/2-e.y*r,scale:r}}function te(e,t,n=8){let r=t.length;if(r===0)return[];let i=[],a=new Set,o=e=>{e>=0&&e<r&&!a.has(e)&&(i.push(e),a.add(e))};for(let t of e)o(t);for(i.length===0&&o(0);i.length<r&&i.length<n;){let e=t[i[i.length-1]],n=-1,s=1/0;for(let i=0;i<r;i+=1){if(a.has(i))continue;let r=t[i].x-e.x,o=t[i].y-e.y,c=r*r+o*o;c<s&&(s=c,n=i)}if(n<0)break;o(n)}return i}function ne(e){return`translate(${Math.round(e.x)}px, ${Math.round(e.y)}px) scale(${e.scale})`}var g=.15,_=3;function re(e,t,n,r){let i=Math.min(_,Math.max(g,e.scale*t));if(i===e.scale)return e;let a=(n-e.x)/e.scale,o=(r-e.y)/e.scale;return{x:n-a*i,y:r-o*i,scale:i}}var v=864e5,y=7*v,b=16*v,ie=6;function x(e,t){return Math.floor(e/t)}function S(e,t,n){let r=new Set;for(let i of e.records)i.savedAt>=t&&r.add(x(i.savedAt,n));return r}function ae(e,t){let n=0;for(let r of e.records)r.savedAt>=t&&(n+=1);return n}function C(e,t){let n=0;for(let r of e)for(let e of r.records)e.savedAt>=t&&e.savedAt>n&&(n=e.savedAt);return n}function w(e,t){return t===v?e<=1?`same day`:`together · ${e} days`:`spikes together · ${e} weeks`}function oe(e,t,n=0){let r=C(e,n);if(r===0)return[];let i=r-n,a=n>0&&i<=b,o=a?v:y,s=a?1:2,c=e.map((e,t)=>({i:t,buckets:S(e,n,o),size:ae(e,n)})).filter(e=>e.size>=2&&e.buckets.size>=1),l=[];for(let e=0;e<c.length;e+=1)for(let t=e+1;t<c.length;t+=1){let n=c[e],r=c[t],i=0;for(let e of n.buckets)r.buckets.has(e)&&(i+=1);i>=s&&l.push({a:n.i,b:r.i,shared:i})}return l.sort((e,t)=>t.shared-e.shared||e.a-t.a||e.b-t.b),l.slice(0,ie).map(({a:e,b:n,shared:r})=>{let i=t[e],a=t[n],s=(i.x+a.x)/2,c=(i.y+a.y)/2,l=a.x-i.x,u=a.y-i.y,d=Math.hypot(l,u)||1,f=Math.min(120,d*.22),p=s+-u/d*f,m=c+l/d*f;return{a:e,b:n,d:`M ${i.x} ${i.y} Q ${p} ${m} ${a.x} ${a.y}`,lx:(s+p)/2,ly:(c+m)/2,label:w(r,o)}})}var T=864e5;function E(e){let t=(e.title+` `+e.question).toLowerCase();return/\b(should i|should we|decide|whether|or not|do i|is it worth|worth it|the offer|\?)\b/.test(t)}function D(e){let t=(e.title||e.question).trim().replace(/\s+/g,` `);return t.length>38?t.slice(0,37).trimEnd()+`…`:t}function se(e,t,n,r){let i=[],o=Date.now(),s=t=>e.findIndex(e=>e.records.some(e=>e.id===t)),c=n.filter(E).sort((e,t)=>e.savedAt-t.savedAt)[0];if(c){let e=Math.floor((o-c.savedAt)/T);i.push({kind:`open-loop`,kindLabel:`OPEN LOOP`,text:e>=1?`${D(c)} — you left this open ${e===1?`a day`:`${e} days`} ago, still unsettled.`:`${D(c)} — still open from today.`,cta:`Reopen it`,color:`var(--warning)`,hoodIndex:s(c.id),recordId:c.id})}let l=oe(e,t)[0];if(l){let t=e[l.a].name.charAt(0)+e[l.a].name.slice(1).toLowerCase(),n=e[l.b].name.charAt(0)+e[l.b].name.slice(1).toLowerCase();i.push({kind:`connection`,kindLabel:`CONNECTION`,text:`Your ${t} and ${n} nights ${l.label}.`,cta:`Show the link`,color:`var(--presence)`,hoodIndex:l.a})}let u=new Map;for(let e of n)for(let t of new Set(a(e))){let n=u.get(t)??{n:0,ids:[]};n.n+=1,n.ids.push(e.id),u.set(t,n)}let d=null;for(let[e,t]of u)t.n>=3&&(!d||t.n>d.n)&&(d={term:e,n:t.n,ids:t.ids});if(d){let t=s(d.ids[0]),n=t>=0?e[t].name.charAt(0)+e[t].name.slice(1).toLowerCase():``;i.push({kind:`pattern`,kindLabel:`PATTERN`,text:`You've circled “${d.term}” ${d.n} times${n?` across ${n}`:``}.`,cta:n?`Go to ${n}`:`Explore it`,color:`var(--insight)`,hoodIndex:t})}return i.slice(0,3)}function O(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function ce(e){let t=Math.min(64,34+Math.floor(e/4)),n=O((e+7)*2654435761),r=[];for(let e=0;e<t;e+=1)r.push({x:+(n()*100).toFixed(2),y:+(n()*100).toFixed(2),r:+(n()*1.6+.7).toFixed(2),dur:+(n()*2.6+2.4).toFixed(2),delay:+(n()*3).toFixed(2)});return r}var k=t();function le(e,t){let n=Math.max(1,Math.floor((t-e)/864e5));return n<14?n===1?`1 day`:`${n} days`:n<60?`${Math.floor(n/7)} weeks`:`${Math.floor(n/30)} months`}function ue(e,t=30){let n=(e.title||e.question).trim().replace(/\s+/g,` `);return n.length>t?n.slice(0,t-1).trimEnd()+`…`:n}function de(e){let t=e.slice(0,5).map(e=>e.title||e.question),n=e.length>t.length?`, among others`:``;return`Looking across ${e.length} of my past conversations — ${t.join(`, `)}${n} — what are the common threads, what did I learn, and what's still unresolved?`}var A=196,j=84;function fe(e,t){let n=Math.max(A,j)*.62,r=[];for(let i=0;i<e;i+=1){if(i===0){r.push({x:t.x,y:t.y});continue}let e=n*Math.sqrt(i)*1.05,a=i*2.39996322;r.push({x:t.x+Math.cos(a)*e,y:t.y+Math.sin(a)*e*.82})}for(let e=0;e<160;e+=1){let e=!1;for(let t=0;t<r.length;t+=1)for(let n=t+1;n<r.length;n+=1){let i=r[t],a=r[n],o=a.x-i.x,s=a.y-i.y,c=214-Math.abs(o),l=102-Math.abs(s);if(c>0&&l>0){if(c<l){let e=(c/2+.5)*(o<0?-1:1);i.x-=e,a.x+=e}else{let e=(l/2+.5)*(s<0?-1:1);i.y-=e,a.y+=e}e=!0}}if(!e)break}return r}function pe(e){let t=(e.title+` `+e.question).toLowerCase();return/\b(map|route|trip|where|location|place)\b/.test(t)?`MAP`:/\b(should|vs|versus|or|decide|choice|option)\b/.test(t)?`BRANCH`:/\b(table|compare|list|rank|breakdown)\b/.test(t)?`TABLE`:/\b(recipe|cook|bake|dish|dinner|meal)\b/.test(t)?`RECIPE`:/\b(chart|trend|graph|growth|over time|history of)\b/.test(t)?`CHART`:/\b(plan|steps|schedule|timeline)\b/.test(t)?`PLAN`:`NOTE`}function M({records:e,chapters:t,onLand:n,onGoDeeper:i,autoTour:a,onClose:d}){let f=(0,u.useMemo)(()=>o(e),[e]),p=(0,u.useMemo)(()=>m(f),[f]),g=p.places,_=(0,u.useMemo)(()=>({w:p.width,h:p.height}),[p]),v=(0,u.useRef)(l());(0,u.useEffect)(()=>{c()},[]);let y=(0,u.useMemo)(()=>{let e=[];for(let n of t){let t=r(n.title+` `+(n.moments[0]?.question??``),f);t>=0&&e[e.length-1]!==t&&e.push(t)}return e},[t,f]),[b,ie]=(0,u.useState)(`all`),x=(0,u.useMemo)(()=>{let e=b===`all`?0:Date.now()-(b===`month`?30:7)*864e5;return oe(f,g,e)},[f,g,b]),S=(0,u.useMemo)(()=>se(f,g,e,v.current),[f,g,e]),ae=(0,u.useMemo)(()=>ce(e.length),[e.length]),[C,w]=(0,u.useState)(`galaxy`),[T,E]=(0,u.useState)(null),D=(0,u.useMemo)(()=>T===null?-1:f.findIndex(e=>e.id===T),[T,f]),[O,A]=(0,u.useState)(null),[j,M]=(0,u.useState)(!1),N=(0,u.useRef)(null),[P,me]=(0,u.useState)(null),[F,I]=(0,u.useState)({x:0,y:0,scale:1}),L=(0,u.useRef)(`galaxy`);L.current=C;let R=(0,u.useRef)(_);R.current=_,(0,u.useLayoutEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let t=e.clientWidth,n=e.clientHeight;me({w:t,h:n}),L.current===`galaxy`&&I(h(t,n,R.current.w,R.current.h))};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),(0,u.useLayoutEffect)(()=>{L.current===`galaxy`&&P&&I(h(P.w,P.h,_.w,_.h))},[_,P]);let z=(0,u.useRef)(null),B=(0,u.useCallback)(()=>{z.current!==null&&clearTimeout(z.current),z.current=null},[]);(0,u.useEffect)(()=>B,[B]);let V=(0,u.useCallback)(e=>{P&&(B(),w(`hood`),E(f[e]?.id??null),A(null),I(ee(g[e],P.w,P.h)))},[P,f,g,B]),he=(0,u.useCallback)(e=>{B(),w(`night`),A(e)},[B]),H=(0,u.useCallback)(()=>{P&&(B(),C===`night`?(w(`hood`),A(null)):C===`hood`&&(w(`galaxy`),E(null),I(h(P.w,P.h,_.w,_.h))))},[C,P,_,B]),U=(0,u.useMemo)(()=>te(y,g),[y,g]),W=(0,u.useCallback)(()=>{if(!P||U.length===0)return;B();let e=0,t=()=>{if(e<U.length){let n=U[e];w(`hood`),E(f[n]?.id??null),A(null),I(ee(g[n],P.w,P.h)),e+=1,z.current=setTimeout(t,1700)}else w(`galaxy`),E(null),A(null),I(h(P.w,P.h,_.w,_.h)),z.current=null};t()},[P,U,f,g,_,B]),ge=(0,u.useRef)(!1);(0,u.useEffect)(()=>{!a||ge.current||!P||U.length===0||(ge.current=!0,W())},[a,P,U.length,W]);let[_e,ve]=(0,u.useState)(!1),[G,K]=(0,u.useState)(``),ye=(0,u.useMemo)(()=>{let t=G.trim().toLowerCase();return t.length<2?[]:e.filter(e=>e.question.toLowerCase().includes(t)||e.title.toLowerCase().includes(t)).slice(0,6)},[G,e]),[be,xe]=(0,u.useState)(null),Se=(0,u.useCallback)(e=>{let t=f.findIndex(t=>t.records.some(t=>t.id===e.id));t>=0&&V(t),xe(e.id),K(``)},[f,V]);(0,u.useEffect)(()=>{let e=N.current;if(!e)return;let t=t=>{if(C!==`galaxy`)return;t.preventDefault();let n=e.getBoundingClientRect();B(),I(e=>re(e,t.deltaY<0?1.12:1/1.12,t.clientX-n.left,t.clientY-n.top))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[C,B]);let q=(0,u.useRef)(null),[Ce,we]=(0,u.useState)(!1),J=(0,u.useRef)(!1),Te=(0,u.useCallback)(e=>{e.button===0&&(q.current={id:e.pointerId,x:e.clientX,y:e.clientY,moved:!1},J.current=!1)},[]),Ee=(0,u.useCallback)(e=>{let t=q.current;if(!t||e.pointerId!==t.id)return;let n=e.clientX-t.x,r=e.clientY-t.y;if(!(!t.moved&&Math.hypot(n,r)<4)){if(!t.moved){t.moved=!0,we(!0),B();try{e.currentTarget.setPointerCapture(t.id)}catch{}}t.x=e.clientX,t.y=e.clientY,J.current=!0,I(e=>({...e,x:e.x+n,y:e.y+r}))}},[B]),De=(0,u.useCallback)(e=>{let t=q.current;if(!t||e.pointerId!==t.id)return;let n=t.moved;if(n)try{e.currentTarget.releasePointerCapture(t.id)}catch{}q.current=null,we(!1),n&&requestAnimationFrame(()=>J.current=!1)},[]),Oe=(0,u.useCallback)(e=>{J.current&&=(e.stopPropagation(),e.preventDefault(),!1)},[]);(0,u.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){if(G){K(``);return}C===`galaxy`?d():H()}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,H,d,G]);let Y=Date.now(),ke=e.length?Math.min(...e.map(e=>e.firstSeen)):Y,Ae=(0,u.useMemo)(()=>e.reduce((e,t)=>e+ +(t.blocks>2),0),[e]),je=e.length===0?`Nothing here yet`:`${le(ke,Y)} · ${e.length} conversation${e.length===1?``:`s`} · ${Ae} artifact${Ae===1?``:`s`}`,Me=y.length>0?y[y.length-1]:-1,X=D>=0?f[D]:null,Z=D>=0?g[D]:null,Q=(0,u.useMemo)(()=>X&&Z?fe(X.records.length,Z):[],[X,Z]),$=O?e.find(e=>e.id===O)??null:null,Ne=C===`galaxy`?`Your atlas`:X?X.name.charAt(0)+X.name.slice(1).toLowerCase():`Your atlas`,Pe=(0,u.useCallback)(t=>{if(t.kind===`open-loop`&&t.recordId){let r=e.find(e=>e.id===t.recordId);r&&n(r)}else t.hoodIndex>=0&&V(t.hoodIndex)},[e,n,V]);return(0,k.jsx)(`div`,{className:`atlas-scrim`,"data-expanded":j?`true`:void 0,onClick:e=>{e.target===e.currentTarget&&d()},role:`button`,tabIndex:0,"aria-label":`Close atlas`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),d())},children:(0,k.jsxs)(`section`,{className:`atlas-panel`,role:`dialog`,"aria-label":`Your atlas`,"data-tier":C,children:[(0,k.jsxs)(`header`,{className:`atlas-head`,children:[(0,k.jsxs)(`div`,{className:`atlas-crumbs`,children:[C!==`galaxy`&&(0,k.jsxs)(`button`,{type:`button`,className:`atlas-back`,onClick:H,"aria-label":C===`night`?`Back to the neighborhood`:`Back to the galaxy`,children:[`← `,C===`night`&&X?Ne:`Galaxy`]}),(0,k.jsxs)(`div`,{className:`atlas-title-wrap`,children:[(0,k.jsx)(`h2`,{className:`atlas-title`,children:Ne}),(0,k.jsx)(`span`,{className:`atlas-meta`,children:C===`galaxy`?je:X?`${X.records.length} conversation${X.records.length===1?``:`s`} · named from how you talk about it`:je})]})]}),(0,k.jsxs)(`div`,{className:`atlas-head-search`,children:[(0,k.jsxs)(`div`,{className:`atlas-fly`,children:[(0,k.jsx)(`input`,{className:`atlas-fly-input`,type:`search`,value:G,onChange:e=>K(e.target.value),placeholder:`⌕ Fly to… “that thing about vesting”`,"aria-label":`Find a conversation`}),ye.length>0&&(0,k.jsx)(`ul`,{className:`atlas-fly-matches`,role:`listbox`,children:ye.map(e=>(0,k.jsx)(`li`,{children:(0,k.jsxs)(`button`,{type:`button`,className:`atlas-fly-match`,onClick:()=>Se(e),children:[(0,k.jsx)(`span`,{className:`atlas-fly-match-label`,children:ue(e)}),(0,k.jsx)(`span`,{className:`atlas-fly-match-ago`,children:s(e.savedAt,Y)})]})},e.id))})]}),U.length>=2&&C===`galaxy`&&(0,k.jsx)(`button`,{type:`button`,className:`atlas-tour`,onClick:W,children:`▶ Fly the tour`})]}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-close`,onClick:()=>M(e=>!e),"aria-label":j?`Exit full screen`:`Expand to full screen`,title:j?`Exit full screen`:`Full screen`,children:j?`⤡`:`⤢`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-close`,onClick:d,"aria-label":`Close the atlas`,children:`✕`})]}),(0,k.jsxs)(`div`,{className:`atlas-viewport`+(Ce?` is-panning`:``),ref:N,onPointerDown:Te,onPointerMove:Ee,onPointerUp:De,onPointerCancel:De,onClickCapture:Oe,children:[e.length===0?(0,k.jsx)(`p`,{className:`atlas-empty`,children:`Your atlas grows as you talk — every saved conversation becomes a place here.`}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`div`,{className:`atlas-stars`,"aria-hidden":`true`,children:ae.map((e,t)=>(0,k.jsx)(`span`,{className:`atlas-star`,style:{left:`${e.x}%`,top:`${e.y}%`,width:e.r,height:e.r,"--tw-dur":`${e.dur}s`,"--tw-delay":`${e.delay}s`}},t))}),(0,k.jsxs)(`div`,{className:`atlas-world`,"data-tier":C,style:{transform:ne(F),width:_.w,height:_.h,"--atlas-cam-scale":F.scale},children:[C===`galaxy`&&x.length>0&&(0,k.jsx)(`svg`,{className:`atlas-connections`,width:_.w,height:_.h,"aria-hidden":`true`,children:x.map((e,t)=>(0,k.jsxs)(`g`,{children:[(0,k.jsx)(`path`,{d:e.d,fill:`none`}),(0,k.jsx)(`foreignObject`,{x:e.lx-90,y:e.ly-11,width:`180`,height:`22`,children:(0,k.jsx)(`span`,{className:`atlas-conn-label`,children:e.label})})]},t))}),y.length>=1&&C===`galaxy`&&(0,k.jsxs)(`svg`,{className:`atlas-trail`,width:_.w,height:_.h,"aria-hidden":`true`,children:[y.length>1&&(0,k.jsx)(`polyline`,{points:y.map(e=>`${g[e].x},${g[e].y}`).join(` `),fill:`none`}),y.map((e,t)=>(0,k.jsx)(`circle`,{cx:g[e].x,cy:g[e].y,r:`5`},t)),(0,k.jsx)(`circle`,{className:`atlas-trail-pulse`,cx:g[Me].x,cy:g[Me].y,r:`5`})]}),f.map((e,t)=>{let n=g[t],r=e.records.filter(e=>e.savedAt>v.current).length,i=S.some(e=>e.kind===`open-loop`&&e.hoodIndex===t);return(0,k.jsxs)(`button`,{type:`button`,className:`atlas-hood`+(C!==`galaxy`&&t!==D?` is-dim`:``),"aria-label":`${e.name}, ${e.records.length} conversations`,style:{left:n.x,top:n.y,"--hood-color":e.color,"--name-size":`${15+Math.min(9,e.records.length/6)}px`},onClick:()=>V(t),children:[(0,k.jsx)(`span`,{className:`atlas-hood-name`,children:e.name}),(0,k.jsxs)(`span`,{className:`atlas-hood-count`,children:[e.records.length,` conversation`,e.records.length===1?``:`s`]}),i&&(0,k.jsxs)(`span`,{className:`atlas-hood-loop`,children:[(0,k.jsx)(`span`,{className:`atlas-hood-loop-dot`,"aria-hidden":`true`}),`1 open loop`]}),r>0&&!i&&(0,k.jsxs)(`span`,{className:`atlas-hood-badge`,"aria-label":`${r} new`,children:[r,` new`]}),(0,k.jsx)(`span`,{className:`atlas-hood-core`,"aria-hidden":`true`})]},e.id)}),C!==`galaxy`&&X&&Z&&(0,k.jsxs)(`div`,{className:`atlas-constellation`,children:[(0,k.jsx)(`svg`,{className:`atlas-night-links`,width:_.w,height:_.h,"aria-hidden":`true`,style:{"--hood-color":X.color},children:Q.slice(1).map((e,t)=>(0,k.jsx)(`line`,{x1:Q[t].x,y1:Q[t].y,x2:e.x,y2:e.y},t))}),X.records.map((e,t)=>{let n=Q[t]??{x:Z.x,y:Z.y},r=e.savedAt>v.current;return(0,k.jsxs)(`button`,{type:`button`,className:`atlas-night`+(be===e.id?` is-found`:``)+(r?` is-new`:``),style:{left:n.x,top:n.y,"--hood-color":X.color},onClick:()=>he(e.id),title:`${e.question} — saved ${s(e.savedAt,Y)}`,children:[(0,k.jsx)(`span`,{className:`atlas-night-dot`,"aria-hidden":`true`}),(0,k.jsxs)(`span`,{className:`atlas-night-card`,children:[(0,k.jsx)(`span`,{className:`atlas-night-date`,children:s(e.savedAt,Y)}),(0,k.jsx)(`span`,{className:`atlas-night-title`,children:ue(e,36)})]})]},e.id)})]})]}),C===`hood`&&X&&(0,k.jsxs)(`div`,{className:`atlas-hood-chrome`,children:[i&&X.records.length>=2&&(0,k.jsx)(`button`,{type:`button`,className:`atlas-hood-deeper`,title:`Find the common threads, lessons, and open questions across these ${X.records.length} conversations`,onClick:()=>i(de(X.records)),children:`Synthesize →`}),(0,k.jsxs)(`span`,{className:`atlas-hood-chrome-hint`,children:[X.records.length,` night`,X.records.length===1?``:`s`,` `,`· tap one to drop back into it`]})]}),y.length>=1&&C===`galaxy`&&(0,k.jsx)(`div`,{className:`atlas-trail-caption`,children:y.length>1?`TONIGHT — ONE SESSION, ${y.length} NEIGHBORHOODS`:`TONIGHT — YOU ARE HERE`}),C===`night`&&$&&(0,k.jsx)(`div`,{className:`atlas-night-stage`,onClick:e=>{e.target===e.currentTarget&&H()},role:`button`,tabIndex:0,"aria-label":`Back out of the rehydrated night`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),H())},children:(0,k.jsxs)(`article`,{className:`atlas-rehydrate`,style:{"--hood-color":X?.color??`var(--presence)`},children:[(0,k.jsxs)(`header`,{className:`atlas-rehydrate-head`,children:[(0,k.jsxs)(`span`,{className:`atlas-rehydrate-tag`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-tag-dot`,"aria-hidden":`true`}),`REHYDRATED · `,s($.savedAt,Y).toUpperCase(),X?` · ${X.name}`:``]}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-asis`,children:`exactly as you left it`})]}),(0,k.jsx)(`h3`,{className:`atlas-rehydrate-title`,children:$.title||$.question}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-thread`,children:[(0,k.jsx)(`p`,{className:`atlas-rehydrate-q`,children:$.question}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-a`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-orb`,"aria-hidden":`true`}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-art`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-kind`,children:pe($)}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-art-body`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`92%`}}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`76%`}}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`84%`}})]}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-open`,children:`OPEN →`})]})]})]}),(0,k.jsx)(`p`,{className:`atlas-rehydrate-foot`,children:`This night was stored as a snapshot — nothing re-summarized. Step back inside it.`}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-actions`,children:[(0,k.jsx)(`button`,{type:`button`,className:`atlas-rehydrate-land`,onClick:()=>n($),children:`Drop back into it →`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-rehydrate-back`,onClick:H,children:`Back to the constellation`})]})]})})]}),C===`galaxy`&&S.length>0&&(_e?(0,k.jsxs)(`aside`,{className:`atlas-noticed`,"aria-label":`What Mavéa noticed`,children:[(0,k.jsxs)(`header`,{className:`atlas-noticed-head`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-orb`,"aria-hidden":`true`}),(0,k.jsx)(`span`,{className:`atlas-noticed-title`,children:`MAVÉA NOTICED`}),(0,k.jsx)(`span`,{className:`atlas-noticed-sub`,children:`while you were away`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-noticed-collapse`,onClick:()=>ve(!1),"aria-label":`Minimize what Mavéa noticed`,title:`Minimize`,children:`–`})]}),S.map((e,t)=>(0,k.jsxs)(`button`,{type:`button`,className:`atlas-noticed-item`,onClick:()=>Pe(e),children:[(0,k.jsx)(`span`,{className:`atlas-noticed-dot`,style:{"--ins-color":e.color},"aria-hidden":`true`}),(0,k.jsxs)(`span`,{className:`atlas-noticed-body`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-kind`,style:{"--ins-color":e.color},children:e.kindLabel}),(0,k.jsx)(`span`,{className:`atlas-noticed-text`,children:e.text}),(0,k.jsxs)(`span`,{className:`atlas-noticed-cta`,style:{"--ins-color":e.color},children:[e.cta,` →`]})]})]},t))]}):(0,k.jsxs)(`button`,{type:`button`,className:`atlas-noticed-pill`,onClick:()=>ve(!0),"aria-label":`Show what Mavéa noticed (${S.length})`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-orb`,"aria-hidden":`true`}),(0,k.jsx)(`span`,{className:`atlas-noticed-pill-label`,children:`MAVÉA NOTICED`}),(0,k.jsx)(`span`,{className:`atlas-noticed-pill-count`,children:S.length})]})),C===`galaxy`&&e.length>0&&ke<Y-6048e5&&(0,k.jsxs)(`div`,{className:`atlas-range`,role:`group`,"aria-label":`Connections over which time window`,children:[(0,k.jsx)(`span`,{className:`atlas-range-label`,children:`CONNECTIONS OVER`}),[`week`,`month`,`all`].map(e=>(0,k.jsx)(`button`,{type:`button`,className:`atlas-range-btn`+(b===e?` is-active`:``),"aria-pressed":b===e,onClick:()=>ie(e),children:e===`week`?`Last week`:e===`month`?`Last month`:`All time`},e))]}),C===`galaxy`&&e.length>0&&(0,k.jsxs)(`div`,{className:`atlas-idle-hint`,children:[`Click a neighborhood to fly in`,U.length>=2?` — or take the tour.`:`.`]})]}),(0,k.jsxs)(`footer`,{className:`atlas-foot`,children:[(0,k.jsxs)(`p`,{className:`atlas-foot-line`,children:[`Neighborhoods grow as you talk. Fly into one to wander its nights — the atlas`,` `,(0,k.jsx)(`em`,{children:`is`}),` the history.`]}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-keep`,onClick:d,children:`Keep talking`})]})]})})}export{M as AtlasView};
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{a as n,n as r,o as i,r as a,t as o}from"./neighborhoods-CqECCmo8.js";import{t as s}from"./time-BHTmJR1s.js";import{i as c,n as l}from"./store-D-f8ZuaK.js";var u=e(),d=1280;function f(e){let t=d/720,n=Math.max(1,e)*226*106,r=Math.max(d*720,n/.2),i=Math.sqrt(r/t);return{width:Math.round(i*t),height:Math.round(i)}}function p(e,t){let n=40+Math.sqrt(e)/Math.sqrt(Math.max(1,t))*44;return{rx:n,ry:n*.62}}function m(e){let{width:t,height:r}=f(e.length),o=e.length?e[0].records.length:1,s=n(e.map(e=>i(e.records.flatMap(e=>a(e)),e.name))),c=.12,l=e.map(e=>{let t=Math.max(e.name.length,`${e.records.length} conversations`.length);return{hx:Math.max(70,t*5.4),hy:34}}),u=e.map((e,n)=>{let{rx:i,ry:a}=p(e.records.length,o);return{x:t*(c+s[n].x*(1-2*c)),y:r*(c+s[n].y*(1-2*c)),rx:i,ry:a}}),d=(e,n)=>{let i=Math.max(e.rx*.7,l[n].hx),a=Math.max(e.ry*.8,l[n].hy);e.x=Math.min(t-i,Math.max(i,e.x)),e.y=Math.min(r-a,Math.max(a,e.y))};for(let e=0;e<400;e+=1){let e=!1;for(let n=0;n<u.length;n+=1)for(let i=n+1;i<u.length;i+=1){let a=u[n],o=u[i],s=o.x-a.x,c=o.y-a.y;Math.abs(s)<1&&Math.abs(c)<1&&(s=((n+i)%2==0?1:-1)*8,c=(n%2==0?1:-1)*8);let f=Math.max(a.rx+o.rx,l[n].hx+l[i].hx)+30,p=Math.max(a.ry+o.ry,l[n].hy+l[i].hy)+30,m=f-Math.abs(s),h=p-Math.abs(c);if(m>0&&h>0){let u=a.y<=l[n].hy+1&&o.y<=l[i].hy+1||a.y>=r-l[n].hy-1&&o.y>=r-l[i].hy-1;if(!(a.x<=l[n].hx+1&&o.x<=l[i].hx+1||a.x>=t-l[n].hx-1&&o.x>=t-l[i].hx-1)&&(u||m<h)){let e=(m/2+.5)*(s<0?-1:1);a.x-=e,o.x+=e}else{let e=(h/2+.5)*(c<0?-1:1);a.y-=e,o.y+=e}d(a,n),d(o,i),e=!0}}if(!e)break}for(let e=0;e<u.length;e+=1)d(u[e],e);return{places:u,width:t,height:r}}function h(e,t,n=d,r=720){let i=Math.min(e/n,t/r);return{x:(e-n*i)/2,y:(t-r*i)/2,scale:i}}function ee(e,t,n){let r=Math.min(2,Math.min(t/(e.rx*2.6),n/(e.ry*3.2)));return{x:t/2-e.x*r,y:n/2-e.y*r,scale:r}}function te(e,t,n=8){let r=t.length;if(r===0)return[];let i=[],a=new Set,o=e=>{e>=0&&e<r&&!a.has(e)&&(i.push(e),a.add(e))};for(let t of e)o(t);for(i.length===0&&o(0);i.length<r&&i.length<n;){let e=t[i[i.length-1]],n=-1,s=1/0;for(let i=0;i<r;i+=1){if(a.has(i))continue;let r=t[i].x-e.x,o=t[i].y-e.y,c=r*r+o*o;c<s&&(s=c,n=i)}if(n<0)break;o(n)}return i}function ne(e){return`translate(${Math.round(e.x)}px, ${Math.round(e.y)}px) scale(${e.scale})`}var g=.15,_=3;function re(e,t,n,r){let i=Math.min(_,Math.max(g,e.scale*t));if(i===e.scale)return e;let a=(n-e.x)/e.scale,o=(r-e.y)/e.scale;return{x:n-a*i,y:r-o*i,scale:i}}var v=864e5,y=7*v,b=16*v,ie=6;function x(e,t){return Math.floor(e/t)}function S(e,t,n){let r=new Set;for(let i of e.records)i.savedAt>=t&&r.add(x(i.savedAt,n));return r}function ae(e,t){let n=0;for(let r of e.records)r.savedAt>=t&&(n+=1);return n}function C(e,t){let n=0;for(let r of e)for(let e of r.records)e.savedAt>=t&&e.savedAt>n&&(n=e.savedAt);return n}function w(e,t){return t===v?e<=1?`same day`:`together · ${e} days`:`spikes together · ${e} weeks`}function oe(e,t,n=0){let r=C(e,n);if(r===0)return[];let i=r-n,a=n>0&&i<=b,o=a?v:y,s=a?1:2,c=e.map((e,t)=>({i:t,buckets:S(e,n,o),size:ae(e,n)})).filter(e=>e.size>=2&&e.buckets.size>=1),l=[];for(let e=0;e<c.length;e+=1)for(let t=e+1;t<c.length;t+=1){let n=c[e],r=c[t],i=0;for(let e of n.buckets)r.buckets.has(e)&&(i+=1);i>=s&&l.push({a:n.i,b:r.i,shared:i})}return l.sort((e,t)=>t.shared-e.shared||e.a-t.a||e.b-t.b),l.slice(0,ie).map(({a:e,b:n,shared:r})=>{let i=t[e],a=t[n],s=(i.x+a.x)/2,c=(i.y+a.y)/2,l=a.x-i.x,u=a.y-i.y,d=Math.hypot(l,u)||1,f=Math.min(120,d*.22),p=s+-u/d*f,m=c+l/d*f;return{a:e,b:n,d:`M ${i.x} ${i.y} Q ${p} ${m} ${a.x} ${a.y}`,lx:(s+p)/2,ly:(c+m)/2,label:w(r,o)}})}var T=864e5;function E(e){let t=(e.title+` `+e.question).toLowerCase();return/\b(should i|should we|decide|whether|or not|do i|is it worth|worth it|the offer|\?)\b/.test(t)}function D(e){let t=(e.title||e.question).trim().replace(/\s+/g,` `);return t.length>38?t.slice(0,37).trimEnd()+`…`:t}function se(e,t,n,r){let i=[],o=Date.now(),s=t=>e.findIndex(e=>e.records.some(e=>e.id===t)),c=n.filter(E).sort((e,t)=>e.savedAt-t.savedAt)[0];if(c){let e=Math.floor((o-c.savedAt)/T);i.push({kind:`open-loop`,kindLabel:`OPEN LOOP`,text:e>=1?`${D(c)} — you left this open ${e===1?`a day`:`${e} days`} ago, still unsettled.`:`${D(c)} — still open from today.`,cta:`Reopen it`,color:`var(--warning)`,hoodIndex:s(c.id),recordId:c.id})}let l=oe(e,t)[0];if(l){let t=e[l.a].name.charAt(0)+e[l.a].name.slice(1).toLowerCase(),n=e[l.b].name.charAt(0)+e[l.b].name.slice(1).toLowerCase();i.push({kind:`connection`,kindLabel:`CONNECTION`,text:`Your ${t} and ${n} nights ${l.label}.`,cta:`Show the link`,color:`var(--presence)`,hoodIndex:l.a})}let u=new Map;for(let e of n)for(let t of new Set(a(e))){let n=u.get(t)??{n:0,ids:[]};n.n+=1,n.ids.push(e.id),u.set(t,n)}let d=null;for(let[e,t]of u)t.n>=3&&(!d||t.n>d.n)&&(d={term:e,n:t.n,ids:t.ids});if(d){let t=s(d.ids[0]),n=t>=0?e[t].name.charAt(0)+e[t].name.slice(1).toLowerCase():``;i.push({kind:`pattern`,kindLabel:`PATTERN`,text:`You've circled “${d.term}” ${d.n} times${n?` across ${n}`:``}.`,cta:n?`Go to ${n}`:`Explore it`,color:`var(--insight)`,hoodIndex:t})}return i.slice(0,3)}function O(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function ce(e){let t=Math.min(64,34+Math.floor(e/4)),n=O((e+7)*2654435761),r=[];for(let e=0;e<t;e+=1)r.push({x:+(n()*100).toFixed(2),y:+(n()*100).toFixed(2),r:+(n()*1.6+.7).toFixed(2),dur:+(n()*2.6+2.4).toFixed(2),delay:+(n()*3).toFixed(2)});return r}var k=t();function le(e,t){let n=Math.max(1,Math.floor((t-e)/864e5));return n<14?n===1?`1 day`:`${n} days`:n<60?`${Math.floor(n/7)} weeks`:`${Math.floor(n/30)} months`}function ue(e,t=30){let n=(e.title||e.question).trim().replace(/\s+/g,` `);return n.length>t?n.slice(0,t-1).trimEnd()+`…`:n}function de(e){let t=e.slice(0,5).map(e=>e.title||e.question),n=e.length>t.length?`, among others`:``;return`Looking across ${e.length} of my past conversations — ${t.join(`, `)}${n} — what are the common threads, what did I learn, and what's still unresolved?`}var A=196,j=84;function fe(e,t){let n=Math.max(A,j)*.62,r=[];for(let i=0;i<e;i+=1){if(i===0){r.push({x:t.x,y:t.y});continue}let e=n*Math.sqrt(i)*1.05,a=i*2.39996322;r.push({x:t.x+Math.cos(a)*e,y:t.y+Math.sin(a)*e*.82})}for(let e=0;e<160;e+=1){let e=!1;for(let t=0;t<r.length;t+=1)for(let n=t+1;n<r.length;n+=1){let i=r[t],a=r[n],o=a.x-i.x,s=a.y-i.y,c=214-Math.abs(o),l=102-Math.abs(s);if(c>0&&l>0){if(c<l){let e=(c/2+.5)*(o<0?-1:1);i.x-=e,a.x+=e}else{let e=(l/2+.5)*(s<0?-1:1);i.y-=e,a.y+=e}e=!0}}if(!e)break}return r}function pe(e){let t=(e.title+` `+e.question).toLowerCase();return/\b(map|route|trip|where|location|place)\b/.test(t)?`MAP`:/\b(should|vs|versus|or|decide|choice|option)\b/.test(t)?`BRANCH`:/\b(table|compare|list|rank|breakdown)\b/.test(t)?`TABLE`:/\b(recipe|cook|bake|dish|dinner|meal)\b/.test(t)?`RECIPE`:/\b(chart|trend|graph|growth|over time|history of)\b/.test(t)?`CHART`:/\b(plan|steps|schedule|timeline)\b/.test(t)?`PLAN`:`NOTE`}function M({records:e,chapters:t,onLand:n,onGoDeeper:i,autoTour:a,onClose:d}){let f=(0,u.useMemo)(()=>o(e),[e]),p=(0,u.useMemo)(()=>m(f),[f]),g=p.places,_=(0,u.useMemo)(()=>({w:p.width,h:p.height}),[p]),v=(0,u.useRef)(l());(0,u.useEffect)(()=>{c()},[]);let y=(0,u.useMemo)(()=>{let e=[];for(let n of t){let t=r(n.title+` `+(n.moments[0]?.question??``),f);t>=0&&e[e.length-1]!==t&&e.push(t)}return e},[t,f]),[b,ie]=(0,u.useState)(`all`),x=(0,u.useMemo)(()=>{let e=b===`all`?0:Date.now()-(b===`month`?30:7)*864e5;return oe(f,g,e)},[f,g,b]),S=(0,u.useMemo)(()=>se(f,g,e,v.current),[f,g,e]),ae=(0,u.useMemo)(()=>ce(e.length),[e.length]),[C,w]=(0,u.useState)(`galaxy`),[T,E]=(0,u.useState)(null),D=(0,u.useMemo)(()=>T===null?-1:f.findIndex(e=>e.id===T),[T,f]),[O,A]=(0,u.useState)(null),[j,M]=(0,u.useState)(!1),N=(0,u.useRef)(null),[P,me]=(0,u.useState)(null),[F,I]=(0,u.useState)({x:0,y:0,scale:1}),L=(0,u.useRef)(`galaxy`);L.current=C;let R=(0,u.useRef)(_);R.current=_,(0,u.useLayoutEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let t=e.clientWidth,n=e.clientHeight;me({w:t,h:n}),L.current===`galaxy`&&I(h(t,n,R.current.w,R.current.h))};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),(0,u.useLayoutEffect)(()=>{L.current===`galaxy`&&P&&I(h(P.w,P.h,_.w,_.h))},[_,P]);let z=(0,u.useRef)(null),B=(0,u.useCallback)(()=>{z.current!==null&&clearTimeout(z.current),z.current=null},[]);(0,u.useEffect)(()=>B,[B]);let V=(0,u.useCallback)(e=>{P&&(B(),w(`hood`),E(f[e]?.id??null),A(null),I(ee(g[e],P.w,P.h)))},[P,f,g,B]),he=(0,u.useCallback)(e=>{B(),w(`night`),A(e)},[B]),H=(0,u.useCallback)(()=>{P&&(B(),C===`night`?(w(`hood`),A(null)):C===`hood`&&(w(`galaxy`),E(null),I(h(P.w,P.h,_.w,_.h))))},[C,P,_,B]),U=(0,u.useMemo)(()=>te(y,g),[y,g]),W=(0,u.useCallback)(()=>{if(!P||U.length===0)return;B();let e=0,t=()=>{if(e<U.length){let n=U[e];w(`hood`),E(f[n]?.id??null),A(null),I(ee(g[n],P.w,P.h)),e+=1,z.current=setTimeout(t,1700)}else w(`galaxy`),E(null),A(null),I(h(P.w,P.h,_.w,_.h)),z.current=null};t()},[P,U,f,g,_,B]),ge=(0,u.useRef)(!1);(0,u.useEffect)(()=>{!a||ge.current||!P||U.length===0||(ge.current=!0,W())},[a,P,U.length,W]);let[_e,ve]=(0,u.useState)(!1),[G,K]=(0,u.useState)(``),ye=(0,u.useMemo)(()=>{let t=G.trim().toLowerCase();return t.length<2?[]:e.filter(e=>e.question.toLowerCase().includes(t)||e.title.toLowerCase().includes(t)).slice(0,6)},[G,e]),[be,xe]=(0,u.useState)(null),Se=(0,u.useCallback)(e=>{let t=f.findIndex(t=>t.records.some(t=>t.id===e.id));t>=0&&V(t),xe(e.id),K(``)},[f,V]);(0,u.useEffect)(()=>{let e=N.current;if(!e)return;let t=t=>{if(C!==`galaxy`)return;t.preventDefault();let n=e.getBoundingClientRect();B(),I(e=>re(e,t.deltaY<0?1.12:1/1.12,t.clientX-n.left,t.clientY-n.top))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[C,B]);let q=(0,u.useRef)(null),[Ce,we]=(0,u.useState)(!1),J=(0,u.useRef)(!1),Te=(0,u.useCallback)(e=>{e.button===0&&(q.current={id:e.pointerId,x:e.clientX,y:e.clientY,moved:!1},J.current=!1)},[]),Ee=(0,u.useCallback)(e=>{let t=q.current;if(!t||e.pointerId!==t.id)return;let n=e.clientX-t.x,r=e.clientY-t.y;if(!(!t.moved&&Math.hypot(n,r)<4)){if(!t.moved){t.moved=!0,we(!0),B();try{e.currentTarget.setPointerCapture(t.id)}catch{}}t.x=e.clientX,t.y=e.clientY,J.current=!0,I(e=>({...e,x:e.x+n,y:e.y+r}))}},[B]),De=(0,u.useCallback)(e=>{let t=q.current;if(!t||e.pointerId!==t.id)return;let n=t.moved;if(n)try{e.currentTarget.releasePointerCapture(t.id)}catch{}q.current=null,we(!1),n&&requestAnimationFrame(()=>J.current=!1)},[]),Oe=(0,u.useCallback)(e=>{J.current&&=(e.stopPropagation(),e.preventDefault(),!1)},[]);(0,u.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){if(G){K(``);return}C===`galaxy`?d():H()}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[C,H,d,G]);let Y=Date.now(),ke=e.length?Math.min(...e.map(e=>e.firstSeen)):Y,Ae=(0,u.useMemo)(()=>e.reduce((e,t)=>e+ +(t.blocks>2),0),[e]),je=e.length===0?`Nothing here yet`:`${le(ke,Y)} · ${e.length} conversation${e.length===1?``:`s`} · ${Ae} artifact${Ae===1?``:`s`}`,Me=y.length>0?y[y.length-1]:-1,X=D>=0?f[D]:null,Z=D>=0?g[D]:null,Q=(0,u.useMemo)(()=>X&&Z?fe(X.records.length,Z):[],[X,Z]),$=O?e.find(e=>e.id===O)??null:null,Ne=C===`galaxy`?`Your atlas`:X?X.name.charAt(0)+X.name.slice(1).toLowerCase():`Your atlas`,Pe=(0,u.useCallback)(t=>{if(t.kind===`open-loop`&&t.recordId){let r=e.find(e=>e.id===t.recordId);r&&n(r)}else t.hoodIndex>=0&&V(t.hoodIndex)},[e,n,V]);return(0,k.jsx)(`div`,{className:`atlas-scrim`,"data-expanded":j?`true`:void 0,onClick:e=>{e.target===e.currentTarget&&d()},role:`button`,tabIndex:0,"aria-label":`Close atlas`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),d())},children:(0,k.jsxs)(`section`,{className:`atlas-panel`,role:`dialog`,"aria-label":`Your atlas`,"data-tier":C,children:[(0,k.jsxs)(`header`,{className:`atlas-head`,children:[(0,k.jsxs)(`div`,{className:`atlas-crumbs`,children:[C!==`galaxy`&&(0,k.jsxs)(`button`,{type:`button`,className:`atlas-back`,onClick:H,"aria-label":C===`night`?`Back to the neighborhood`:`Back to the galaxy`,children:[`← `,C===`night`&&X?Ne:`Galaxy`]}),(0,k.jsxs)(`div`,{className:`atlas-title-wrap`,children:[(0,k.jsx)(`h2`,{className:`atlas-title`,children:Ne}),(0,k.jsx)(`span`,{className:`atlas-meta`,children:C===`galaxy`?je:X?`${X.records.length} conversation${X.records.length===1?``:`s`} · named from how you talk about it`:je})]})]}),(0,k.jsxs)(`div`,{className:`atlas-head-search`,children:[(0,k.jsxs)(`div`,{className:`atlas-fly`,children:[(0,k.jsx)(`input`,{className:`atlas-fly-input`,type:`search`,value:G,onChange:e=>K(e.target.value),placeholder:`⌕ Fly to… “that thing about vesting”`,"aria-label":`Find a conversation`}),ye.length>0&&(0,k.jsx)(`ul`,{className:`atlas-fly-matches`,role:`listbox`,children:ye.map(e=>(0,k.jsx)(`li`,{children:(0,k.jsxs)(`button`,{type:`button`,className:`atlas-fly-match`,onClick:()=>Se(e),children:[(0,k.jsx)(`span`,{className:`atlas-fly-match-label`,children:ue(e)}),(0,k.jsx)(`span`,{className:`atlas-fly-match-ago`,children:s(e.savedAt,Y)})]})},e.id))})]}),U.length>=2&&C===`galaxy`&&(0,k.jsx)(`button`,{type:`button`,className:`atlas-tour`,onClick:W,children:`▶ Fly the tour`})]}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-close`,onClick:()=>M(e=>!e),"aria-label":j?`Exit full screen`:`Expand to full screen`,title:j?`Exit full screen`:`Full screen`,children:j?`⤡`:`⤢`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-close`,onClick:d,"aria-label":`Close the atlas`,children:`✕`})]}),(0,k.jsxs)(`div`,{className:`atlas-viewport`+(Ce?` is-panning`:``),ref:N,onPointerDown:Te,onPointerMove:Ee,onPointerUp:De,onPointerCancel:De,onClickCapture:Oe,children:[e.length===0?(0,k.jsx)(`p`,{className:`atlas-empty`,children:`Your atlas grows as you talk — every saved conversation becomes a place here.`}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`div`,{className:`atlas-stars`,"aria-hidden":`true`,children:ae.map((e,t)=>(0,k.jsx)(`span`,{className:`atlas-star`,style:{left:`${e.x}%`,top:`${e.y}%`,width:e.r,height:e.r,"--tw-dur":`${e.dur}s`,"--tw-delay":`${e.delay}s`}},t))}),(0,k.jsxs)(`div`,{className:`atlas-world`,"data-tier":C,style:{transform:ne(F),width:_.w,height:_.h,"--atlas-cam-scale":F.scale},children:[C===`galaxy`&&x.length>0&&(0,k.jsx)(`svg`,{className:`atlas-connections`,width:_.w,height:_.h,"aria-hidden":`true`,children:x.map((e,t)=>(0,k.jsxs)(`g`,{children:[(0,k.jsx)(`path`,{d:e.d,fill:`none`}),(0,k.jsx)(`foreignObject`,{x:e.lx-90,y:e.ly-11,width:`180`,height:`22`,children:(0,k.jsx)(`span`,{className:`atlas-conn-label`,children:e.label})})]},t))}),y.length>=1&&C===`galaxy`&&(0,k.jsxs)(`svg`,{className:`atlas-trail`,width:_.w,height:_.h,"aria-hidden":`true`,children:[y.length>1&&(0,k.jsx)(`polyline`,{points:y.map(e=>`${g[e].x},${g[e].y}`).join(` `),fill:`none`}),y.map((e,t)=>(0,k.jsx)(`circle`,{cx:g[e].x,cy:g[e].y,r:`5`},t)),(0,k.jsx)(`circle`,{className:`atlas-trail-pulse`,cx:g[Me].x,cy:g[Me].y,r:`5`})]}),f.map((e,t)=>{let n=g[t],r=e.records.filter(e=>e.savedAt>v.current).length,i=S.some(e=>e.kind===`open-loop`&&e.hoodIndex===t);return(0,k.jsxs)(`button`,{type:`button`,className:`atlas-hood`+(C!==`galaxy`&&t!==D?` is-dim`:``),"aria-label":`${e.name}, ${e.records.length} conversations`,style:{left:n.x,top:n.y,"--hood-color":e.color,"--name-size":`${15+Math.min(9,e.records.length/6)}px`},onClick:()=>V(t),children:[(0,k.jsx)(`span`,{className:`atlas-hood-name`,children:e.name}),(0,k.jsxs)(`span`,{className:`atlas-hood-count`,children:[e.records.length,` conversation`,e.records.length===1?``:`s`]}),i&&(0,k.jsxs)(`span`,{className:`atlas-hood-loop`,children:[(0,k.jsx)(`span`,{className:`atlas-hood-loop-dot`,"aria-hidden":`true`}),`1 open loop`]}),r>0&&!i&&(0,k.jsxs)(`span`,{className:`atlas-hood-badge`,"aria-label":`${r} new`,children:[r,` new`]}),(0,k.jsx)(`span`,{className:`atlas-hood-core`,"aria-hidden":`true`})]},e.id)}),C!==`galaxy`&&X&&Z&&(0,k.jsxs)(`div`,{className:`atlas-constellation`,children:[(0,k.jsx)(`svg`,{className:`atlas-night-links`,width:_.w,height:_.h,"aria-hidden":`true`,style:{"--hood-color":X.color},children:Q.slice(1).map((e,t)=>(0,k.jsx)(`line`,{x1:Q[t].x,y1:Q[t].y,x2:e.x,y2:e.y},t))}),X.records.map((e,t)=>{let n=Q[t]??{x:Z.x,y:Z.y},r=e.savedAt>v.current;return(0,k.jsxs)(`button`,{type:`button`,className:`atlas-night`+(be===e.id?` is-found`:``)+(r?` is-new`:``),style:{left:n.x,top:n.y,"--hood-color":X.color},onClick:()=>he(e.id),title:`${e.question} — saved ${s(e.savedAt,Y)}`,children:[(0,k.jsx)(`span`,{className:`atlas-night-dot`,"aria-hidden":`true`}),(0,k.jsxs)(`span`,{className:`atlas-night-card`,children:[(0,k.jsx)(`span`,{className:`atlas-night-date`,children:s(e.savedAt,Y)}),(0,k.jsx)(`span`,{className:`atlas-night-title`,children:ue(e,36)})]})]},e.id)})]})]}),C===`hood`&&X&&(0,k.jsxs)(`div`,{className:`atlas-hood-chrome`,children:[i&&X.records.length>=2&&(0,k.jsx)(`button`,{type:`button`,className:`atlas-hood-deeper`,title:`Find the common threads, lessons, and open questions across these ${X.records.length} conversations`,onClick:()=>i(de(X.records)),children:`Synthesize →`}),(0,k.jsxs)(`span`,{className:`atlas-hood-chrome-hint`,children:[X.records.length,` night`,X.records.length===1?``:`s`,` `,`· tap one to drop back into it`]})]}),y.length>=1&&C===`galaxy`&&(0,k.jsx)(`div`,{className:`atlas-trail-caption`,children:y.length>1?`TONIGHT — ONE SESSION, ${y.length} NEIGHBORHOODS`:`TONIGHT — YOU ARE HERE`}),C===`night`&&$&&(0,k.jsx)(`div`,{className:`atlas-night-stage`,onClick:e=>{e.target===e.currentTarget&&H()},role:`button`,tabIndex:0,"aria-label":`Back out of the rehydrated night`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),H())},children:(0,k.jsxs)(`article`,{className:`atlas-rehydrate`,style:{"--hood-color":X?.color??`var(--presence)`},children:[(0,k.jsxs)(`header`,{className:`atlas-rehydrate-head`,children:[(0,k.jsxs)(`span`,{className:`atlas-rehydrate-tag`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-tag-dot`,"aria-hidden":`true`}),`REHYDRATED · `,s($.savedAt,Y).toUpperCase(),X?` · ${X.name}`:``]}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-asis`,children:`exactly as you left it`})]}),(0,k.jsx)(`h3`,{className:`atlas-rehydrate-title`,children:$.title||$.question}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-thread`,children:[(0,k.jsx)(`p`,{className:`atlas-rehydrate-q`,children:$.question}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-a`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-orb`,"aria-hidden":`true`}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-art`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-kind`,children:pe($)}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-art-body`,children:[(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`92%`}}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`76%`}}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-line`,style:{width:`84%`}})]}),(0,k.jsx)(`span`,{className:`atlas-rehydrate-art-open`,children:`OPEN →`})]})]})]}),(0,k.jsx)(`p`,{className:`atlas-rehydrate-foot`,children:`This night was stored as a snapshot — nothing re-summarized. Step back inside it.`}),(0,k.jsxs)(`div`,{className:`atlas-rehydrate-actions`,children:[(0,k.jsx)(`button`,{type:`button`,className:`atlas-rehydrate-land`,onClick:()=>n($),children:`Drop back into it →`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-rehydrate-back`,onClick:H,children:`Back to the constellation`})]})]})})]}),C===`galaxy`&&S.length>0&&(_e?(0,k.jsxs)(`aside`,{className:`atlas-noticed`,"aria-label":`What Mavéa noticed`,children:[(0,k.jsxs)(`header`,{className:`atlas-noticed-head`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-orb`,"aria-hidden":`true`}),(0,k.jsx)(`span`,{className:`atlas-noticed-title`,children:`MAVÉA NOTICED`}),(0,k.jsx)(`span`,{className:`atlas-noticed-sub`,children:`while you were away`}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-noticed-collapse`,onClick:()=>ve(!1),"aria-label":`Minimize what Mavéa noticed`,title:`Minimize`,children:`–`})]}),S.map((e,t)=>(0,k.jsxs)(`button`,{type:`button`,className:`atlas-noticed-item`,onClick:()=>Pe(e),children:[(0,k.jsx)(`span`,{className:`atlas-noticed-dot`,style:{"--ins-color":e.color},"aria-hidden":`true`}),(0,k.jsxs)(`span`,{className:`atlas-noticed-body`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-kind`,style:{"--ins-color":e.color},children:e.kindLabel}),(0,k.jsx)(`span`,{className:`atlas-noticed-text`,children:e.text}),(0,k.jsxs)(`span`,{className:`atlas-noticed-cta`,style:{"--ins-color":e.color},children:[e.cta,` →`]})]})]},t))]}):(0,k.jsxs)(`button`,{type:`button`,className:`atlas-noticed-pill`,onClick:()=>ve(!0),"aria-label":`Show what Mavéa noticed (${S.length})`,children:[(0,k.jsx)(`span`,{className:`atlas-noticed-orb`,"aria-hidden":`true`}),(0,k.jsx)(`span`,{className:`atlas-noticed-pill-label`,children:`MAVÉA NOTICED`}),(0,k.jsx)(`span`,{className:`atlas-noticed-pill-count`,children:S.length})]})),C===`galaxy`&&e.length>0&&ke<Y-6048e5&&(0,k.jsxs)(`div`,{className:`atlas-range`,role:`group`,"aria-label":`Connections over which time window`,children:[(0,k.jsx)(`span`,{className:`atlas-range-label`,children:`CONNECTIONS OVER`}),[`week`,`month`,`all`].map(e=>(0,k.jsx)(`button`,{type:`button`,className:`atlas-range-btn`+(b===e?` is-active`:``),"aria-pressed":b===e,onClick:()=>ie(e),children:e===`week`?`Last week`:e===`month`?`Last month`:`All time`},e))]}),C===`galaxy`&&e.length>0&&(0,k.jsxs)(`div`,{className:`atlas-idle-hint`,children:[`Click a neighborhood to fly in`,U.length>=2?` — or take the tour.`:`.`]})]}),(0,k.jsxs)(`footer`,{className:`atlas-foot`,children:[(0,k.jsxs)(`p`,{className:`atlas-foot-line`,children:[`Neighborhoods grow as you talk. Fly into one to wander its nights — the atlas`,` `,(0,k.jsx)(`em`,{children:`is`}),` the history.`]}),(0,k.jsx)(`button`,{type:`button`,className:`atlas-keep`,onClick:d,children:`Keep talking`})]})]})})}export{M as AtlasView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.prism-world[data-briefing=true]{transition:transform .8s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.prism-world[data-briefing=true]{transition:none}}.prism-brief{z-index:30;pointer-events:none;flex-direction:column;align-items:stretch;gap:12px;width:min(720px,88%);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.prism-brief>*{pointer-events:auto}.prism-brief-caption{text-align:center;background:color-mix(in oklab, var(--surface-elevated) 90%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:var(--glass-blur-faint);backdrop-filter:var(--glass-blur-faint);border-radius:14px;flex-direction:column;gap:8px;padding:16px 20px;animation:.34s both prism-brief-rise;display:flex}@keyframes prism-brief-rise{0%{opacity:0;transform:translateY(8px)}}.prism-brief-eyebrow{font-family:var(--font-data);letter-spacing:.14em;color:var(--presence);align-self:center;font-size:9.5px;font-weight:700}.prism-brief-eyebrow[data-kind=tension],.prism-brief-eyebrow[data-kind=close]{color:color-mix(in oklab, var(--danger) 85%, #fff)}.prism-brief-eyebrow[data-kind=verdict]{color:color-mix(in oklab, var(--warning) 85%, #fff)}.prism-brief-eyebrow[data-kind=context]{color:var(--text-muted)}.prism-brief-line{color:var(--text-primary);text-wrap:balance;margin:0;font-size:16px;line-height:1.5}.prism-brief-bar{background:color-mix(in oklab, var(--surface-deep) 92%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));border-radius:999px;align-self:center;align-items:center;gap:8px;padding:7px 10px;display:flex}.prism-brief-btn{appearance:none;cursor:pointer;min-width:30px;height:30px;color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;line-height:1;display:inline-flex}.prism-brief-btn:hover:not(:disabled){background:var(--surface-glass);color:var(--text-primary)}.prism-brief-btn:disabled{opacity:.4;cursor:default}.prism-brief-play{background:color-mix(in oklab, var(--presence) 22%, var(--surface-elevated));border-color:color-mix(in oklab, var(--presence) 40%, transparent);color:var(--text-primary)}.prism-brief-play:hover:not(:disabled){background:color-mix(in oklab, var(--presence) 34%, var(--surface-elevated))}.prism-brief-audio.is-on{background:color-mix(in oklab, var(--insight) 24%, var(--surface-elevated));border-color:color-mix(in oklab, var(--insight) 42%, transparent)}.prism-brief-progress{font-family:var(--font-data);color:var(--text-secondary);white-space:nowrap;padding:0 4px;font-size:11px}.prism-brief-spacer{width:8px}.prism-brief-exit{appearance:none;cursor:pointer;height:30px;color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:999px;padding:0 12px;font-size:12px}.prism-brief-exit:hover{background:var(--surface-glass);color:var(--text-primary)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{J as n,T as r,j as i,l as a}from"./store-
|
|
1
|
+
import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{J as n,T as r,j as i,l as a}from"./store-Ba9vzL4H.js";import{t as o}from"./tiles-D-s6v-mA.js";var s=e(),c=t(),l=[{v:`15min`,label:`15M`},{v:`hourly`,label:`1H`},{v:`6h`,label:`6H`},{v:`daily`,label:`DAILY`},{v:`manual`,label:`MANUAL`}],u={"15min":`Every 15 minutes`,hourly:`Hourly`,"6h":`Every 6 hours`,daily:`Daily`,manual:`Manual`};function d(e){if(e===`manual`)return`Refreshes only when you ask — no automatic searches.`;let t=Math.round(1440/n[e]);return`${u[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 f(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,hour:`numeric`,minute:`2-digit`})}function p(e){let t=(0,s.c)(23),{dashboard:n,now:u}=e,p=n.cadence.data,m=n.cadence.window,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,c.jsx)(`div`,{className:`card-eyebrow`,children:`Check cadence`}),t[0]=h):h=t[0];let g;t[1]!==n.id||t[2]!==p?(g=l.map(e=>(0,c.jsx)(`button`,{type:`button`,className:`dash-seg-opt`+(e.v===p?` is-active`:``),"aria-pressed":e.v===p,onClick:()=>i(n.id,{data:e.v}),children:e.label},e.v)),t[1]=n.id,t[2]=p,t[3]=g):g=t[3];let _;t[4]===g?_=t[5]:(_=(0,c.jsx)(`div`,{className:`dash-seg`,role:`group`,"aria-label":`Data refresh cadence`,children:g}),t[4]=g,t[5]=_);let v;t[6]===p?v=t[7]:(v=d(p),t[6]=p,t[7]=v);let y;t[8]===v?y=t[9]:(y=(0,c.jsx)(`p`,{className:`dash-cadence-cost`,children:v}),t[8]=v,t[9]=y);let b;t[10]!==n.id||t[11]!==m?(b=m&&(0,c.jsxs)(`div`,{className:`dash-cadence-window`,children:[(0,c.jsxs)(`p`,{className:`dash-cadence-window-text`,children:[`Live window: `,(0,c.jsx)(`strong`,{children:m.label}),` · `,f(m.startAt),`–`,f(m.endAt)]}),(0,c.jsx)(`button`,{type:`button`,className:`dash-cadence-clear`,onClick:()=>r(n.id,null),children:`Clear`})]}),t[10]=n.id,t[11]=m,t[12]=b):b=t[12];let x;t[13]!==n.id||t[14]!==n.oneShotAt||t[15]!==n.oneShotLabel||t[16]!==u?(x=n.oneShotAt!==void 0&&(0,c.jsxs)(`div`,{className:`dash-cadence-oneshot`,children:[(0,c.jsx)(o,{targetAt:n.oneShotAt,now:u,label:n.oneShotLabel}),(0,c.jsx)(`button`,{type:`button`,className:`dash-cadence-clear`,onClick:()=>a(n.id),children:`Clear`})]}),t[13]=n.id,t[14]=n.oneShotAt,t[15]=n.oneShotLabel,t[16]=u,t[17]=x):x=t[17];let S;return t[18]!==_||t[19]!==y||t[20]!==b||t[21]!==x?(S=(0,c.jsxs)(`section`,{className:`card dash-cadence-card`,"aria-label":`Check cadence`,children:[h,_,y,b,x]}),t[18]=_,t[19]=y,t[20]=b,t[21]=x,t[22]=S):S=t[22],S}export{p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";function r(e){let t=(e?.blocks??[]).filter(e=>!!e.id);return t.length>=4&&new Set(t.map(e=>e.type)).size>=3}var i=e(),a=t();function o({file:e,loc:t,color:r=`var(--presence-soft)`,onClick:i}){return(0,a.jsxs)(`button`,{className:`source-chip`,onClick:i,style:{color:r},children:[(0,a.jsx)(n.doc,{style:{width:12,height:12}}),(0,a.jsx)(`span`,{children:e}),t&&(0,a.jsxs)(`span`,{className:`mono`,children:[`· `,t]})]})}var s={strong:`Strong evidence`,partial:`Partial evidence`,inferred:`Inferred`,unverified:`Unverified`},c=`Best estimate from the model's knowledge — not verified`;function l({level:e=`strong`,title:t=`How sure Mavéa is, based on your files`}){return(0,a.jsxs)(`span`,{className:`conf `+e,title:t,children:[(0,a.jsxs)(`span`,{className:`bars`,children:[(0,a.jsx)(`i`,{style:{height:5}}),(0,a.jsx)(`i`,{style:{height:8}}),(0,a.jsx)(`i`,{style:{height:11}})]}),s[e]]})}function u(e){let t=(0,i.c)(8),{name:n,color:r,verb:o}=e,s;t[0]===r?s=t[1]:(s=(0,a.jsx)(`span`,{className:`fdot`,style:{background:r}}),t[0]=r,t[1]=s);let c;t[2]===o?c=t[3]:(c=o&&(0,a.jsx)(`span`,{className:`using`,children:o}),t[2]=o,t[3]=c);let l;return t[4]!==n||t[5]!==s||t[6]!==c?(l=(0,a.jsxs)(`span`,{className:`context-pill`,children:[s,c,` `,n]}),t[4]=n,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}var d=
|
|
1
|
+
import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";function r(e){let t=(e?.blocks??[]).filter(e=>!!e.id);return t.length>=4&&new Set(t.map(e=>e.type)).size>=3}var i=e(),a=t();function o({file:e,loc:t,color:r=`var(--presence-soft)`,onClick:i}){return(0,a.jsxs)(`button`,{className:`source-chip`,onClick:i,style:{color:r},children:[(0,a.jsx)(n.doc,{style:{width:12,height:12}}),(0,a.jsx)(`span`,{children:e}),t&&(0,a.jsxs)(`span`,{className:`mono`,children:[`· `,t]})]})}var s={strong:`Strong evidence`,partial:`Partial evidence`,inferred:`Inferred`,unverified:`Unverified`},c=`Best estimate from the model's knowledge — not verified`;function l({level:e=`strong`,title:t=`How sure Mavéa is, based on your files`}){return(0,a.jsxs)(`span`,{className:`conf `+e,title:t,children:[(0,a.jsxs)(`span`,{className:`bars`,children:[(0,a.jsx)(`i`,{style:{height:5}}),(0,a.jsx)(`i`,{style:{height:8}}),(0,a.jsx)(`i`,{style:{height:11}})]}),s[e]]})}function u(e){let t=(0,i.c)(8),{name:n,color:r,verb:o}=e,s;t[0]===r?s=t[1]:(s=(0,a.jsx)(`span`,{className:`fdot`,style:{background:r}}),t[0]=r,t[1]=s);let c;t[2]===o?c=t[3]:(c=o&&(0,a.jsx)(`span`,{className:`using`,children:o}),t[2]=o,t[3]=c);let l;return t[4]!==n||t[5]!==s||t[6]!==c?(l=(0,a.jsxs)(`span`,{className:`context-pill`,children:[s,c,` `,n]}),t[4]=n,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}var d=[[86,62],[74,91,55],[68,80],[90,58,76]];function f(e){let t=(0,i.c)(7),{blocks:n,budget:r}=e,o;if(t[0]!==n||t[1]!==r){let e;t[3]===r?e=t[4]:(e=(e,t)=>p(e,t,r),t[3]=r,t[4]=e),o=n.map(e),t[0]=n,t[1]=r,t[2]=o}else o=t[2];let s;return t[5]===o?s=t[6]:(s=(0,a.jsx)(a.Fragment,{children:o}),t[5]=o,t[6]=s),s}function p(e,t,n){let r=Math.min(12,Math.max(1,e.col??6));return(0,a.jsx)(`div`,{className:`col-`+(n!=null&&n<9?12:r),"aria-hidden":`true`,children:(0,a.jsxs)(`div`,{className:`card skel-card skel-fade`,children:[(0,a.jsx)(`span`,{className:`skel-eyebrow`}),d[t%d.length].map((e,t)=>(0,a.jsx)(`span`,{className:`skel-line`,style:{width:`${e}%`}},t))]})},e.id||t)}export{u as a,l as i,p as n,o,c as r,r as s,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.skel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(10px,1.2vw,16px);margin-top:14px;display:grid}.skel-card{border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-elevated), var(--surface-default));border:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.skel-eyebrow{font-family:var(--font-data);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.skel-eyebrow:empty{width:38%;height:10px}.skel-line{height:13px}.skel-eyebrow:empty,.skel-line{background:var(--surface-glass);border-radius:4px;position:relative;overflow:hidden}.skel-eyebrow:empty:after,.skel-line:after{content:"";background:linear-gradient(90deg, transparent 25%, var(--surface-glass-strong) 50%, transparent 75%);background-size:300px 100%;animation:1.4s linear infinite skel-shimmer;position:absolute;inset:0 0 0 -600px}@keyframes skel-shimmer{to{transform:translate(600px)}}.skel-fade{animation:skel-fade-in .2s var(--ease-out) .15s both}@keyframes skel-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.skel-eyebrow:empty:after,.skel-line:after,.skel-fade{animation:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.fc-app{flex-direction:column;height:100%;display:flex;overflow:hidden}.fc-nav{border-bottom:1px solid var(--line-soft);background:linear-gradient(var(--app-bg) 78%, transparent);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));flex-wrap:wrap;flex:none;align-items:center;gap:10px 18px;padding:12px 24px;display:flex}.fc-nav-back{border:1px solid var(--line-soft);border-radius:var(--r-full);color:var(--text-secondary);font:600 13px/1 var(--font);cursor:pointer;transition:color var(--m-quick), border-color var(--m-quick), background var(--m-quick);background:0 0;align-items:center;gap:4px;padding:7px 13px 7px 9px;display:inline-flex}.fc-nav-back svg{width:15px;height:15px}.fc-nav-back:hover{color:var(--text-primary);border-color:var(--line-mid);background:var(--surface-glass)}.fc-nav-title{font:700 18px/1 var(--font);letter-spacing:-.01em;color:var(--text-primary);align-items:baseline;gap:10px;display:flex}.fc-nav-sub{font:500 12.5px/1 var(--font);color:var(--text-muted)}.fc-nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.fc-btn{border:1px solid var(--line-mid);border-radius:var(--r-full);background:var(--surface-elevated);color:var(--text-primary);font:600 13px/1 var(--font);cursor:pointer;transition:background var(--m-quick), border-color var(--m-quick), color var(--m-quick), opacity var(--m-quick);align-items:center;gap:6px;padding:9px 15px;display:inline-flex}.fc-btn svg{flex:none;width:15px;height:15px}.fc-btn:hover{background:var(--surface-glass);border-color:var(--line-strong)}.fc-btn:disabled{opacity:.45;cursor:default}.fc-btn-primary{background:var(--presence);border-color:var(--presence);color:#fff}.fc-btn-primary:hover{background:color-mix(in oklab, var(--presence) 88%, #000);border-color:color-mix(in oklab, var(--presence) 88%, #000)}.fc-btn-sm{padding:6px 11px;font-size:12.5px}.fc-btn-danger{border-color:color-mix(in oklab, var(--danger) 55%, transparent);color:var(--danger)}.fc-btn-danger:hover{background:color-mix(in oklab, var(--danger) 12%, var(--surface-elevated));border-color:var(--danger)}.fc-body{flex:1;min-height:0;display:flex;overflow:hidden}.fc-side{border-right:1px solid var(--line-soft);flex-direction:column;flex:none;gap:22px;width:232px;padding:18px 14px 40px;display:flex;overflow-y:auto}.fc-side-group{flex-direction:column;gap:6px;display:flex}.fc-side-eyebrow{font:700 10px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:0 10px 6px}.fc-side-item{border-radius:var(--r-sm);width:100%;color:var(--text-secondary);font:550 13.5px/1.2 var(--font);text-align:left;cursor:pointer;min-height:44px;transition:background var(--m-quick), color var(--m-quick);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.fc-side-item:hover{background:var(--surface-glass);color:var(--text-primary)}.fc-side-item.is-active{background:color-mix(in oklab, var(--presence) 14%, transparent);color:var(--text-primary)}.fc-side-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-side-count{font:600 12px/1 var(--font);color:var(--text-muted);margin-left:auto}.fc-side-badge{text-align:center;min-width:20px;font:700 11px/1 var(--font);color:var(--presence);background:color-mix(in oklab, var(--presence) 16%, transparent);border-radius:var(--r-full);margin-left:auto;padding:3px 6px}.fc-side-tags{flex-wrap:wrap;gap:6px;padding:2px 8px;display:flex}.fc-tag-chip{border:1px solid var(--line-soft);border-radius:var(--r-full);color:var(--text-secondary);font:550 12px/1 var(--font);cursor:pointer;transition:color var(--m-quick), border-color var(--m-quick), background var(--m-quick);background:0 0;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.fc-tag-chip:hover{color:var(--text-primary);border-color:var(--line-mid)}.fc-tag-chip.is-active{color:var(--text-primary);border-color:var(--presence);background:color-mix(in oklab, var(--presence) 12%, transparent)}.fc-tag-n{color:var(--text-faint);font-size:10.5px}.fc-main{flex-direction:column;flex:1;gap:14px;min-width:0;padding:18px 26px 64px;display:flex;overflow-y:auto}.fc-toolbar{align-items:center;gap:12px;display:flex}.fc-search{flex:1;min-width:0}.fc-search input{border:1px solid var(--line-soft);border-radius:var(--r-full);background:var(--surface-elevated);width:100%;color:var(--text-primary);font:450 14px/1 var(--font);padding:10px 16px}.fc-search input::placeholder{color:var(--text-faint)}.fc-search input:focus-visible{border-color:var(--presence);outline:none}.fc-selectall{color:var(--text-muted);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;border:none;flex:none;padding:6px}.fc-selectall:hover{color:var(--text-primary)}.fc-bulk{border:1px solid var(--line-mid);border-radius:var(--r-md);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.fc-bulk-n{font:600 13px/1 var(--font);color:var(--text-primary)}.fc-bulk-input{border:1px solid var(--line-soft);border-radius:var(--r-full);background:var(--surface-elevated-2,var(--surface-elevated));color:var(--text-primary);font:450 13px/1 var(--font);width:160px;padding:7px 12px}.fc-bulk-input:focus-visible{border-color:var(--presence);outline:none}.fc-bulk-clear{color:var(--text-muted);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:6px}.fc-bulk-clear:hover{color:var(--text-primary)}.fc-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fc-row{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-elevated);transition:border-color var(--m-quick), background var(--m-quick);align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.fc-row:hover{border-color:var(--line-mid)}.fc-row.is-checked{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 7%, var(--surface-elevated))}.fc-row-check{width:16px;height:16px;accent-color:var(--presence);cursor:pointer;flex:none;margin-top:3px}.fc-row-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.fc-row-front{font:600 14.5px/1.4 var(--font);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fc-row-back{font:450 13px/1.45 var(--font);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fc-row-meta{flex-wrap:wrap;align-items:center;gap:7px;margin-top:2px;display:flex}.fc-status{font:700 9.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-full);padding:4px 8px}.fc-status.is-due{color:var(--presence);background:color-mix(in oklab, var(--presence) 14%, transparent)}.fc-status.is-new{color:var(--insight);background:color-mix(in oklab, var(--insight) 14%, transparent)}.fc-status.is-suspended{color:var(--text-muted);background:var(--surface-glass)}.fc-status.is-sched{color:var(--text-faint);background:var(--surface-glass)}.fc-status.is-seen{color:var(--text-secondary);background:var(--surface-glass)}.fc-row-deck{font:600 11.5px/1 var(--font);color:var(--text-secondary);background:var(--surface-glass);border-radius:var(--r-full);text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:4px 9px;overflow:hidden}.fc-row-tag{font:500 11.5px/1 var(--font);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 2px}.fc-row-tag:before{content:"#";opacity:.6}.fc-row-tag:hover{color:var(--presence)}.fc-row-origin{font:600 9.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:3px 7px}.fc-row-actions{flex:none;align-items:center;gap:4px;display:flex}.fc-icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:color var(--m-quick), background var(--m-quick), border-color var(--m-quick);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.fc-icon-btn svg{width:16px;height:16px}.fc-icon-btn:hover{color:var(--text-primary);background:var(--surface-glass)}.fc-icon-danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 45%, transparent)}.fc-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:360px;margin:40px auto;display:flex}.fc-empty-icon{color:var(--text-faint)}.fc-empty-icon svg{width:38px;height:38px}.fc-empty-head{font:700 17px/1.2 var(--font);color:var(--text-primary)}.fc-empty-sub{font:450 13.5px/1.5 var(--font);color:var(--text-secondary)}.fc-scrim{z-index:92;background:rgba(var(--scrim-rgb), .72);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));place-items:center;padding:24px;display:grid;position:fixed;inset:0}.fc-ed-shell{background:var(--surface-elevated);border:1px solid var(--line-soft);border-radius:var(--r-lg);width:min(560px,100%);max-height:min(88vh,760px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.fc-ed-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.fc-ed-title{font:700 16px/1 var(--font);color:var(--text-primary)}.fc-ed-drafting{font:500 12px/1 var(--font);color:var(--presence);animation:1.4s ease-in-out infinite fc-pulse}@keyframes fc-pulse{0%,to{opacity:.55}50%{opacity:1}}.fc-ed-close{border:1px solid var(--line-soft);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;margin-left:auto;font-size:13px}.fc-ed-close:hover{color:var(--text-primary);border-color:var(--line-mid)}.fc-ed-body{flex-direction:column;flex:1;gap:16px;padding:18px 22px;display:flex;overflow-y:auto}.fc-ed-card{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-elevated-2,var(--surface-glass));flex-direction:column;gap:11px;padding:14px;display:flex}.fc-ed-card-head{justify-content:space-between;align-items:center;display:flex}.fc-ed-card-n{font:700 10.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.fc-ed-row-remove{color:var(--text-muted);font:600 12px/1 var(--font);cursor:pointer;background:0 0;border:none}.fc-ed-row-remove:hover{color:var(--danger)}.fc-ed-field{flex-direction:column;gap:5px;display:flex}.fc-ed-label{font:700 9.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.fc-ed-input{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-elevated);width:100%;color:var(--text-primary);font:450 14px/1.5 var(--font);resize:vertical;padding:9px 12px}.fc-ed-input:focus-visible{border-color:var(--presence);outline:none}.fc-ed-add-row{border:1px dashed var(--line-mid);border-radius:var(--r-full);color:var(--text-secondary);font:600 12.5px/1 var(--font);cursor:pointer;background:0 0;align-self:flex-start;padding:8px 14px}.fc-ed-add-row:hover{color:var(--text-primary);border-color:var(--text-muted)}.fc-ed-meta{grid-template-columns:1fr 1.4fr;gap:14px;display:grid}@media (width<=480px){.fc-ed-meta{grid-template-columns:1fr}}.fc-ed-tags{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface-elevated);flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:7px 9px;display:flex}.fc-ed-tag{font:550 12px/1 var(--font);color:var(--text-primary);background:color-mix(in oklab, var(--presence) 12%, transparent);border-radius:var(--r-full);align-items:center;gap:5px;padding:4px 5px 4px 10px;display:inline-flex}.fc-ed-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:10px;line-height:1}.fc-ed-tag button:hover{color:var(--danger)}.fc-ed-tag-input{min-width:80px;color:var(--text-primary);font:450 13px/1 var(--font);background:0 0;border:none;flex:1;padding:4px}.fc-ed-tag-input:focus-visible{outline:none}.fc-ed-foot{border-top:1px solid var(--line-soft);flex:none;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}@media (width<=720px){.fc-body{flex-direction:column;overflow-y:auto}.fc-side{border-right:none;border-bottom:1px solid var(--line-soft);flex-flow:wrap;gap:14px;width:auto;padding:14px 18px}.fc-main{overflow-y:visible}}.fc-side-style{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:14px}.fc-style-seg{border-radius:var(--r-md);background:var(--track);border:1px solid var(--line-soft);gap:3px;padding:3px;display:flex}.fc-style-opt{border-radius:calc(var(--r-md) - 4px);min-width:0;color:var(--text-secondary);font:600 11.5px/1.2 var(--font);cursor:pointer;transition:color var(--m-quick), background var(--m-quick);background:0 0;border:0;flex:1;padding:6px 8px}.fc-style-opt:hover{color:var(--text-primary)}.fc-style-opt.is-active{background:color-mix(in oklab, var(--presence) 18%, var(--surface-elevated));color:var(--text-primary);box-shadow:var(--shadow-raised)}.fc-style-note{font:450 11.5px/1.45 var(--font);color:var(--text-muted);margin:8px 2px 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{t as n}from"./useFocusTrap-
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{t as n}from"./useFocusTrap-CJmpNZv2.js";import{n as r,y as i}from"./store-D2IJF4SA.js";var a=e(),o=t();function s(e){let t=e.map(e=>({front:e.front??``,back:e.back??``}));return t.length?t:[{front:``,back:``}]}function c(e){let t=(0,a.useRef)(null);n(t);let[c,u]=(0,a.useState)(()=>e.mode===`add`?s(e.initial):[{front:e.card.front,back:e.card.back}]),[d,f]=(0,a.useState)(()=>e.mode===`add`?e.deck:e.card.deck),[p,m]=(0,a.useState)(()=>e.mode===`add`?l(e.initial.flatMap(e=>e.tag?[e.tag]:[])):e.card.tags),[h,g]=(0,a.useState)(``),[_,v]=(0,a.useState)(!1),y=(0,a.useRef)(!1),b=e.mode===`add`?e.enrich:void 0;(0,a.useEffect)(()=>{if(!b)return;let e=!1;return v(!0),b().then(t=>{e||y.current||t.length===0||u(s(t))}).catch(()=>{}).finally(()=>{e||v(!1)}),()=>{e=!0}},[b]);let x=(e,t)=>{y.current=!0,u(n=>n.map((n,r)=>r===e?{...n,...t}:n))},S=()=>{y.current=!0,u(e=>[...e,{front:``,back:``}])},C=e=>{y.current=!0,u(t=>t.length>1?t.filter((t,n)=>n!==e):t)},w=()=>{let e=h.trim().replace(/,$/,``).trim();e&&!p.some(t=>t.toLowerCase()===e.toLowerCase())&&m(t=>[...t,e]),g(``)},T=c.filter(e=>e.front.trim()&&e.back.trim()),E=T.length>0&&d.trim().length>0,D=(0,a.useCallback)(()=>{if(!E)return;let t=d.trim(),n=l(p);if(e.mode===`add`){let i={deck:t,tags:n,origin:e.origin,...e.source?{source:e.source}:{}},a=r(T.map(e=>({front:e.front,back:e.back})),i);e.onSaved(a)}else{let r=T[0];i(e.card.id,{front:r.front,back:r.back,deck:t,tags:n}),e.onSaved?.()}e.onClose()},[E,d,p,c]);(0,a.useEffect)(()=>{let t=t=>{t.key===`Escape`?(t.preventDefault(),e.onClose()):(t.metaKey||t.ctrlKey)&&t.key===`Enter`&&(t.preventDefault(),D())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[D,e]);let O=e.mode===`edit`?`Edit card`:e.heading??(c.length>1?`Add cards`:`Add card`),k=e.decks??[];return(0,o.jsx)(`div`,{className:`fc-scrim`,onClick:t=>{t.target===t.currentTarget&&e.onClose()},children:(0,o.jsxs)(`div`,{className:`fc-ed-shell`,ref:t,role:`dialog`,"aria-modal":`true`,"aria-label":O,tabIndex:-1,children:[(0,o.jsxs)(`div`,{className:`fc-ed-head`,children:[(0,o.jsx)(`div`,{className:`fc-ed-title`,children:O}),_&&(0,o.jsx)(`span`,{className:`fc-ed-drafting`,children:`Drafting a suggestion…`}),(0,o.jsx)(`button`,{type:`button`,className:`fc-ed-close`,"aria-label":`Close`,onClick:e.onClose,children:`✕`})]}),(0,o.jsxs)(`div`,{className:`fc-ed-body`,children:[c.map((t,n)=>(0,o.jsxs)(`div`,{className:`fc-ed-card`,children:[e.mode===`add`&&c.length>1&&(0,o.jsxs)(`div`,{className:`fc-ed-card-head`,children:[(0,o.jsxs)(`span`,{className:`fc-ed-card-n`,children:[`Card `,n+1]}),(0,o.jsx)(`button`,{type:`button`,className:`fc-ed-row-remove`,"aria-label":`Remove card ${n+1}`,onClick:()=>C(n),children:`Remove`})]}),(0,o.jsxs)(`label`,{className:`fc-ed-field`,children:[(0,o.jsx)(`span`,{className:`fc-ed-label`,children:`Front · question`}),(0,o.jsx)(`textarea`,{className:`fc-ed-input`,rows:2,value:t.front,placeholder:`What is the cue?`,onChange:e=>x(n,{front:e.target.value})})]}),(0,o.jsxs)(`label`,{className:`fc-ed-field`,children:[(0,o.jsx)(`span`,{className:`fc-ed-label`,children:`Back · answer`}),(0,o.jsx)(`textarea`,{className:`fc-ed-input`,rows:3,value:t.back,placeholder:`The shortest complete answer`,onChange:e=>x(n,{back:e.target.value})})]})]},n)),e.mode===`add`&&(0,o.jsx)(`button`,{type:`button`,className:`fc-ed-add-row`,onClick:S,children:`+ Add another card`}),(0,o.jsxs)(`div`,{className:`fc-ed-meta`,children:[(0,o.jsxs)(`label`,{className:`fc-ed-field`,children:[(0,o.jsx)(`span`,{className:`fc-ed-label`,children:`Deck`}),(0,o.jsx)(`input`,{className:`fc-ed-input`,list:`fc-deck-options`,value:d,placeholder:`General`,onChange:e=>f(e.target.value)}),(0,o.jsx)(`datalist`,{id:`fc-deck-options`,children:k.map(e=>(0,o.jsx)(`option`,{value:e},e))})]}),(0,o.jsxs)(`div`,{className:`fc-ed-field`,children:[(0,o.jsx)(`span`,{className:`fc-ed-label`,children:`Tags`}),(0,o.jsxs)(`div`,{className:`fc-ed-tags`,children:[p.map(e=>(0,o.jsxs)(`span`,{className:`fc-ed-tag`,children:[e,(0,o.jsx)(`button`,{type:`button`,"aria-label":`Remove tag ${e}`,onClick:()=>m(t=>t.filter(t=>t!==e)),children:`✕`})]},e)),(0,o.jsx)(`input`,{className:`fc-ed-tag-input`,value:h,placeholder:p.length?`Add tag…`:`Add a tag…`,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),w()):e.key===`Backspace`&&!h&&p.length&&m(e=>e.slice(0,-1))},onBlur:w})]})]})]})]}),(0,o.jsxs)(`div`,{className:`fc-ed-foot`,children:[(0,o.jsx)(`button`,{type:`button`,className:`fc-btn`,onClick:e.onClose,children:`Cancel`}),(0,o.jsx)(`button`,{type:`button`,className:`fc-btn fc-btn-primary`,disabled:!E,onClick:D,children:e.mode===`edit`?`Save`:T.length>1?`Add ${T.length} cards`:`Add card`})]})]})})}function l(e){let t=new Set,n=[];for(let r of e){let e=r.trim();if(!e)continue;let i=e.toLowerCase();t.has(i)||(t.add(i),n.push(e))}return n}export{c as CardEditor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{o as r}from"./ledger-Cv0LBflx.js";import{t as i}from"./useLedger-1WVXef68.js";import{c as a,l as o}from"./dashboardEvents-
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{o as r}from"./ledger-Cv0LBflx.js";import{t as i}from"./useLedger-1WVXef68.js";import{c as a,l as o}from"./dashboardEvents-CiayRLrH.js";import{n as s,t as c}from"./checkLogModel-BMtruriG.js";var l=e(),u=t(),d=n();function f(e){return e.domains?.length?e.domains.join(`, `):e.manual?`MANUAL`:`MAVÉA`}function p(e){let t=(0,u.c)(34),{entry:n}=e,r;t[0]===n?r=t[1]:(r=c(n),t[0]=n,t[1]=r);let i=r,l=n.kind===`savings`?n.suggestion:void 0,p;t[2]===n.at?p=t[3]:(p=s(n.at),t[2]=n.at,t[3]=p);let m;t[4]===p?m=t[5]:(m=(0,d.jsx)(`span`,{className:`dash-log-time`,children:p}),t[4]=p,t[5]=m);let h;t[6]===i?h=t[7]:(h=i&&(0,d.jsx)(`span`,{className:`dash-log-chip dash-log-chip--${i.tone}`,children:i.label}),t[6]=i,t[7]=h);let g;t[8]!==m||t[9]!==h?(g=(0,d.jsxs)(`div`,{className:`dash-log-row-top`,children:[m,h]}),t[8]=m,t[9]=h,t[10]=g):g=t[10];let _;t[11]===n.text?_=t[12]:(_=(0,d.jsx)(`p`,{className:`dash-log-text`,children:n.text}),t[11]=n.text,t[12]=_);let v;t[13]!==n.id||t[14]!==l?(v=l&&l.state===`open`&&(0,d.jsxs)(`div`,{className:`dash-log-suggestion`,children:[(0,d.jsxs)(`button`,{type:`button`,className:`dash-log-apply-btn`,onClick:()=>a(n.id,l.dashboardId,l.to),children:[`Apply — save ~`,l.savesPerMonth,` searches/mo`]}),(0,d.jsx)(`button`,{type:`button`,className:`dash-log-dismiss-btn`,onClick:()=>o(n.id),children:`Dismiss`})]}),t[13]=n.id,t[14]=l,t[15]=v):v=t[15];let y;t[16]===l?y=t[17]:(y=l&&l.state===`applied`&&(0,d.jsx)(`div`,{className:`dash-log-suggestion`,children:(0,d.jsx)(`span`,{className:`dash-log-applied`,children:`Applied ✓`})}),t[16]=l,t[17]=y);let b;t[18]===n?b=t[19]:(b=f(n),t[18]=n,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,d.jsx)(`span`,{className:`dash-log-source`,children:b}),t[20]=b,t[21]=x);let S;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,d.jsx)(`span`,{className:`dash-log-dot`,"aria-hidden":`true`}),t[22]=S):S=t[22];let C=n.searches===1?`1 SEARCH`:`NO SEARCH SPENT`,w;t[23]===C?w=t[24]:(w=(0,d.jsx)(`span`,{className:`dash-log-cost`,children:C}),t[23]=C,t[24]=w);let T;t[25]!==x||t[26]!==w?(T=(0,d.jsxs)(`div`,{className:`dash-log-foot`,children:[x,S,w]}),t[25]=x,t[26]=w,t[27]=T):T=t[27];let E;return t[28]!==T||t[29]!==g||t[30]!==_||t[31]!==v||t[32]!==y?(E=(0,d.jsxs)(`li`,{className:`dash-log-row`,children:[g,_,v,y,T]}),t[28]=T,t[29]=g,t[30]=_,t[31]=v,t[32]=y,t[33]=E):E=t[33],E}var m=100;function h({dashboardId:e,now:t,limit:n=m}){let a=i(),o=(0,l.useMemo)(()=>e?a.filter(t=>t.dashboardIds.includes(e)):a,[a,e]),s=(0,l.useMemo)(()=>r(o,t),[o,t]),c=(0,l.useMemo)(()=>o.slice(0,Math.max(0,n)),[o,n]);return(0,d.jsxs)(`section`,{className:`card dash-log-card`,"aria-label":`Check log`,children:[(0,d.jsxs)(`div`,{className:`card-eyebrow dash-log-head`,children:[e?`CHECK LOG · `:``,`TODAY · `,s,` SEARCHES USED`]}),c.length===0?(0,d.jsx)(`p`,{className:`dash-log-empty`,children:`Your check log will appear here.`}):(0,d.jsx)(`ul`,{className:`dash-log-list`,role:`log`,"aria-live":`polite`,"aria-relevant":`additions`,children:c.map(e=>(0,d.jsx)(p,{entry:e},e.id))})]})}export{h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cvs-panel{scrollbar-width:thin;max-height:min(82vh,860px);padding-right:6px;overflow:auto}.cvs-panel .shm-actions{z-index:2;-webkit-backdrop-filter:var(--glass-blur,blur(6px));backdrop-filter:var(--glass-blur,blur(6px));background:#090b12f5;border-top:1px solid #ffffff14;padding:12px 0 4px;position:sticky;bottom:0}.cvs-title{color:#f3f6fc;font:700 clamp(26px, 3.6vw, 40px) / 1.1 var(--font);letter-spacing:-.02em}.cvs-presets{flex-wrap:wrap;gap:7px;display:flex}.cvs-presets button{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 18%, transparent);color:#eef2f8;font:600 12px/1 var(--font);cursor:pointer;border:0;padding:7px 11px;transition:background .16s,transform 80ms}.cvs-presets button:hover:not(:disabled){background:color-mix(in oklab, var(--presence) 28%, transparent)}.cvs-presets button:active:not(:disabled){transform:scale(.96)}.cvs-presets button:disabled{opacity:.5;cursor:default}.cvs-turns{flex-direction:column;flex-shrink:0;gap:7px;max-height:clamp(190px,24vh,320px);padding:2px;display:flex;overflow:auto}.cvs-turns[data-overflowing=true]{-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),#0000);mask-image:linear-gradient(#000 calc(100% - 26px),#0000)}.cvs-turn-card{color:#ecf2f8d1;cursor:pointer;background:#ffffff09;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:auto 34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:7px 10px;transition:border-color .16s,background .16s;display:grid}.cvs-turn-card:hover:not(:has(input:disabled)){background:#ffffff0f;border-color:#ffffff47}.cvs-turn-card:has(input:disabled){opacity:.5;cursor:default}.cvs-turn-card[data-selected=true]{border-color:color-mix(in oklab, var(--presence) 65%, white 12%);background:color-mix(in oklab, var(--presence) 12%, transparent)}.cvs-turn-card:has(input:focus-visible){outline:2px solid var(--presence-soft);outline-offset:2px}.cvs-turn-card input{accent-color:var(--presence)}.cvs-thumb{background:linear-gradient(145deg, var(--presence), var(--insight));color:#fff;width:32px;height:32px;font:700 11px/1 var(--font-data);border-radius:9px;place-items:center;display:grid}.cvs-turn-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.cvs-turn-copy strong{text-overflow:ellipsis;white-space:nowrap;font:600 13px/1.2 var(--font);overflow:hidden}.cvs-turn-copy small,.cvs-order{color:#ecf2f88f;font:500 10px/1 var(--font-data)}.cvs-meter{color:#ecf2f89e;font:550 11px/1 var(--font-data);border-bottom:4px solid #ffffff1f;justify-content:space-between;padding-bottom:9px;display:flex;position:relative}.cvs-meter>i{background:var(--presence);border-radius:99px;height:4px;position:absolute;bottom:-4px;left:0}.cvs-meter[data-over=true]>i{background:var(--warning)}.cvs-meter[data-over=true]{color:var(--warning)}.cvs-error,.cvs-progress,.cvs-result{font:550 12px/1.35 var(--font);border-radius:10px;padding:10px 12px}.cvs-error{background:color-mix(in oklab, var(--warning) 14%, transparent);color:color-mix(in oklab, var(--warning) 78%, white 20%)}.cvs-progress{background:color-mix(in oklab, var(--presence) 12%, transparent);color:#ecf2f8c7}.cvs-paused{color:#ecf2f88f;font:500 11px/1.4 var(--font);margin-top:5px;font-style:normal;display:block}.cvs-result{background:color-mix(in oklab, var(--insight) 12%, transparent);color:#ecf2f8d1;justify-content:space-between;display:flex}.cvs-result span{color:#ecf2f88f}.cvs-stage{background:radial-gradient(circle at 84% 8%, color-mix(in oklab, var(--presence) 20%, transparent), transparent 34%), var(--surface-deep);width:100%;height:100%;color:var(--text);position:relative;overflow:hidden;container-type:size}.cvs-viewport{position:absolute;inset:0;overflow:hidden}.cvs-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.cvs-capture-host{contain:strict;pointer-events:none;position:fixed;top:0;left:-100000px;overflow:hidden}.cvs-capture-host[data-size="1080p"]{width:1920px;height:1080px}.cvs-capture-host[data-size="720p"]{width:1280px;height:720px}.cvs-header{z-index:4;background:linear-gradient(180deg, var(--surface-deep) 70%, transparent);pointer-events:none;padding:4.2cqh 5cqw 2.5cqh;position:absolute;top:0;left:0;right:0}.cvs-header h2{max-width:82%;color:var(--text);font:700 clamp(13px, 3.4cqw, 42px) / 1.08 var(--font);letter-spacing:-.025em;margin:1.5cqh 0 0}.cvs-brand,.cvs-turn{color:var(--text-muted);font:650 clamp(9px, 1.15cqw, 16px) / 1 var(--font-data);letter-spacing:.08em;text-transform:uppercase}.cvs-brand-dot{background:var(--presence);border-radius:50%;width:.7em;height:.7em;margin-right:.45em;display:inline-block}.cvs-turn{position:absolute;top:4.2cqh;right:5cqw}.cvs-canvas{position:absolute;inset:18cqh 3.8cqw 12cqh;overflow:hidden}.cvs-stage[data-captioned=true] .cvs-canvas{bottom:22cqh}.cvs-canvas .topic-wrap{width:100%;min-height:100%;transform:translateY(var(--cvs-shift,0px))}.cvs-canvas .topic-wrap[data-glide=true]{transition:transform .42s cubic-bezier(.2,.7,.3,1)}.cvs-ask{flex-direction:column;justify-content:center;gap:2.4cqh;display:flex;position:absolute;inset:18cqh 8cqw 14cqh}.cvs-ask-eyebrow{color:var(--presence);font:650 clamp(9px, 1.15cqw, 16px) / 1 var(--font-data);letter-spacing:.16em;text-transform:uppercase}.cvs-ask-line{max-width:88%;color:var(--text);font:700 clamp(15px, 3.9cqw, 68px) / 1.14 var(--font);letter-spacing:-.025em;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.cvs-stage[data-question-only=true] .cvs-header{background:0 0}.cvs-stage[data-question-only=true] .cvs-header h2{display:none}.cvs-caption{z-index:8;border:1px solid color-mix(in oklab, var(--line) 72%, transparent);background:color-mix(in oklab, var(--surface-deep) 92%, transparent);color:var(--text);font:600 clamp(9px, 1.62cqw, 23px) / 1.32 var(--font);text-align:center;-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));-webkit-line-clamp:3;border-radius:1.4cqh;-webkit-box-orient:vertical;padding:1.5cqh 2.4cqw;display:-webkit-box;position:absolute;bottom:4cqh;left:9%;right:9%;overflow:hidden;box-shadow:0 1.4cqh 3cqh -1.6cqh #00000047}.cvs-presence{z-index:9;pointer-events:none;width:clamp(54px,10cqw,150px);height:clamp(60px,12cqw,170px);position:absolute;bottom:1.5cqh;right:2.2cqw}.cvs-presence .presence{width:100%;height:100%}html[data-perf=lite] .cvs-presence .presence{animation:none}@media (prefers-reduced-motion:reduce){.shm-frame .cvs-presence .presence{animation:none}}.cvs-empty{height:100%;color:var(--text-muted);font:600 14px/1.3 var(--font);place-items:center;display:grid}.cvs-monitor{background:var(--surface-deep);width:100%;height:100%;display:block}@media (width<=820px){.cvs-panel{max-height:none}.cvs-panel .shm-actions{position:static}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{F as r,R as i,f as a}from"./index-LiHcEJt_.js";import{n as o}from"./icons-gLFQTv74.js";import{t as s}from"./TopicCanvas-Bw4bMFpe.js";import{t as c}from"./motion-BY_Egaxm.js";import{t as l}from"./toast-BBNs2h3L.js";import{t as u}from"./Presence-UqXfH4Y-.js";import{a as d,c as f,i as p,l as m,r as h,t as g}from"./capture-DgJLQ_0-.js";import{n as _,r as v,t as y}from"./share--tpc1nLE.js";import{t as b}from"./FeatureUseNotice-Bda9jr3W.js";import{r as x}from"./history-D2EH2X6D.js";import{t as S}from"./replay-CalqEgdW.js";import"./canvas-C3O7MEA3.js";import{t as C}from"./AnnotationLayer-Cccb12ps.js";var w=e(),T=t(),E=18e4,D=650,O=350;function k(e){let t=[e.spoken??e.narration,...e.tour.map(e=>e.saySpoken??e.say??``)].reduce((e,t)=>e+t.trim().length,0);return 1e3+Math.max(1800,t/14*1e3)}function ee(e){return e.reduce((e,t)=>e+k(t),0)}function te(e){let t=k(e),n=[e.spoken??e.narration,...e.tour.map(e=>e.saySpoken??e.say??``)].map(e=>e.trim()).filter(Boolean),r=n.reduce((e,t)=>e+t.length,0),i=t-D-O,a=D;return{durationMs:t,spans:n.map(e=>{let t=Math.round(a);return a+=r?i*e.length/r:0,{text:e,startMs:t,endMs:Math.round(a)}})}}function ne(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.topicShift===!0||n?.topicShift===void 0&&n?.mode===`replace`)return t}return 0}function A(e,t,n){let r=n.spans[e+1];return r?r.startMs:D+Math.max(0,n.durationMs-D-O)*(e+1)/(t+1)}function j(e,t,n){let r=[],i=0;return e.forEach((e,a)=>{let o=t[a];if(!o)return;let s=S(e),c=s.cues.map((e,t)=>A(t,s.cues.length,o)),l=[0,D,...c,o.durationMs].map(e=>Math.max(0,Math.min(o.durationMs,e))).filter((e,t,n)=>t===0||e>n[t-1]),u=[];for(let t=0;t<l.length-1;t++){let d=l[t],f=l[t+1],p=c.findIndex(e=>e===d),m=p>=0?s.cues[p]:void 0;m&&n.penMarks&&(u=[...u,...m.marks.map((t,n)=>({spot:m.spot,line:m.say,mark:t,delayMs:n*240,...t.kind===`connect`&&typeof t.onIndex==`number`?{toSpot:e.spec.blocks[t.onIndex]?.id}:{}}))]);let h=[...o.spans].reverse().find(e=>e.startMs<=d&&e.endMs>d);r.push({frame:e,turnIndex:a,startMs:i+d,durationMs:Math.max(1,f-d),spot:n.spotlights?m?.spot??null:null,caption:n.captions?h?.text??null:null,ink:u,questionOnly:t===0})}i+=o.durationMs}),r}var M=24e3,N=.65,P=.18,F=.35,re=.89,I=6,L=class extends Error{turnIndex;question;constructor(e,t){super(`Narration is unavailable for “${t||`turn ${e+1}`}”.`),this.turnIndex=e,this.question=t,this.name=`RequiredConversationAudioError`}};function R(e){return[e.spoken??e.narration,...e.tour.map(e=>e.saySpoken??e.say??``)].map(e=>e.trim()).filter(Boolean)}function z(e){return e.trim().replace(/\s+/g,` `)}function B(e,t){let n=R(e);return n.length>0&&t.pcm.length>0&&t.spans.length===n.length&&n.every((e,n)=>z(t.spans[n]?.text??``)===z(e)&&t.spans[n].t1>t.spans[n].t0)}function V(e){let t=e.spans.map(e=>({text:e.text,startMs:Math.round((N+e.t0)*1e3),endMs:Math.round((N+e.t1)*1e3)})),n=new Float32Array(e.pcm.length);for(let t=0;t<e.pcm.length;t++)n[t]=e.pcm[t]/32768;return{lines:[{text:t.map(e=>e.text).join(` `),pcm:n,rate:e.sampleRate}],durationS:N+e.duration+F,spans:t}}async function H(e,t,n,r){let i=R(e);if(!i.length)throw new L(t,e.question);let a=[];for(let o of i){if(n?.aborted)throw new DOMException(`Cancelled`,`AbortError`);let i=await f(o,n);if(n?.aborted)throw new DOMException(`Cancelled`,`AbortError`);if(!i.length)throw new L(t,e.question);a.push({text:o,pcm:i,rate:M}),r?.(i.length/M+P)}let o=[],s=N;for(let e of a){let t=s;s+=e.pcm.length/e.rate,o.push({text:e.text,startMs:Math.round(t*1e3),endMs:Math.round(s*1e3)}),s+=P}return{lines:a,durationS:s+F,spans:o}}async function ie(e,t,n,i){let a=r();if(a===null||typeof OfflineAudioContext>`u`)throw Error(`audio-encoding-unavailable`);let o=e.map(e=>{let n=t(e);return n&&B(e,n)?V(n):null}),s=o.reduce((e,t)=>e+(t?.durationS??1),0),c=e.reduce((e,t,n)=>e+(o[n]?0:R(t).length),0),l=0,u=new AbortController,d=()=>u.abort();n?.addEventListener(`abort`,d,{once:!0}),n?.aborted&&u.abort();let f=e=>{if(s+=e,i?.(++l,c),s*1e3>18e4)throw u.abort(),Error(`conversation-too-long`)},p;try{p=await m(e,2,(e,t)=>{let n=o[t];return n?Promise.resolve(n):H(e,t,u.signal,f)})}finally{n?.removeEventListener(`abort`,d)}let h=p.reduce((e,t)=>e+t.durationS,0);if(h*1e3>18e4)throw Error(`conversation-too-long`);let g=0;for(let e of p)for(let t of e.lines)for(let e=0;e<t.pcm.length;e++)g=Math.max(g,Math.abs(t.pcm[e]));let _=g>0?Math.min(I,re/g):1,v=new OfflineAudioContext(1,Math.ceil(h*a),a),y=v.createGain();y.gain.value=_,y.connect(v.destination);let b=0;for(let e of p){let t=b+N;for(let n of e.lines){let e=v.createBuffer(1,n.pcm.length,n.rate);e.getChannelData(0).set(n.pcm);let r=v.createBufferSource();r.buffer=e,r.connect(y),r.start(t),t+=n.pcm.length/n.rate+P}b+=e.durationS}return{buffer:await v.startRendering(),turns:p.map(e=>({durationMs:Math.round(e.durationS*1e3),spans:e.spans})),durationMs:Math.round(h*1e3)}}var U={"1080p":{width:1920,height:1080},"720p":{width:1280,height:720}};function W(e,t,n=a()){let{bitrate:r}=g(e,n);return t===`720p`?Math.round(r*.55):r}async function G(e){document.visibilityState===`hidden`&&await new Promise((t,n)=>{let r=()=>a(new DOMException(`Cancelled`,`AbortError`)),i=()=>{document.visibilityState!==`hidden`&&a()},a=a=>{document.removeEventListener(`visibilitychange`,i),e.removeEventListener(`abort`,r),a?n(a):t()};document.addEventListener(`visibilitychange`,i),e.addEventListener(`abort`,r,{once:!0})})}function ae(){return typeof document<`u`&&(typeof VideoEncoder<`u`&&typeof AudioEncoder<`u`||d()!==null)}var K={selector:`.cvs-presence`,bleed:96};async function oe(e){let t=a(),n=U[e.size],r=e.scenes[0];r&&await e.applyScene(r,0);let i=getComputedStyle(e.el).backgroundColor,o=await p({el:e.el,audioBuffer:e.audioBuffer,aspect:`16:9`,dims:{w:n.width,h:n.height},quality:e.quality,bitrate:W(e.quality,e.size,t),background:i&&i!==`rgba(0, 0, 0, 0)`?i:void 0,maxDurationMs:e.durationMs,liveLayer:K,onFrame:e.onFrame,cues:e.scenes.slice(1).map((t,n)=>({atMs:t.startMs,apply:async()=>{let r=n+1;await e.applyScene(t,r),e.onProgress?.({phase:`render`,completed:r+1,total:e.scenes.length})}})),gate:async()=>{if(e.signal.aborted)throw new DOMException(`Cancelled`,`AbortError`);await G(e.signal)}});try{await o.done(),e.onProgress?.({phase:`encode`,completed:0,total:1});let t=await o.stop();return e.onProgress?.({phase:`ready`,completed:1,total:1}),{...t,...n}}catch(e){throw o.cancel(),e}}var q=n();function se({scene:e,options:t,frameRef:n,glide:r=!0}){let a=(0,w.useRef)(null),o=(0,w.useRef)(null),c=(0,w.useRef)(null),l=i(),d=(0,w.useRef)(null),[f,p]=(0,w.useState)(0);(0,w.useEffect)(()=>(n?.(a.current),()=>n?.(null)),[n]),(0,w.useEffect)(()=>{let t=o.current,n=c.current;if(!t||!n)return;let r=d.current!==e?.turnIndex;d.current=e?.turnIndex??null;let i=r?0:null;if(e?.spot){let r=[...t.querySelectorAll(`[data-spot-id]`)].find(t=>t.dataset.spotId===e.spot);if(r){let e=0;for(let n=r;n&&n!==t;n=n.offsetParent)e+=n.offsetTop;i=Math.max(0,Math.min(e-(t.clientHeight-r.offsetHeight)/2,n.offsetHeight-t.clientHeight))}}if(i===null)return;n.style.setProperty(`--cvs-shift`,`${-i}px`);let a=window.setTimeout(()=>p(e=>e+1),420);return()=>window.clearTimeout(a)},[e?.spot,e?.turnIndex]);let m=e?.questionOnly??!1,h=e?e.frame.question||e.frame.spec.title:``;return(0,q.jsx)(`div`,{ref:a,className:`cvs-stage`,"data-aspect":`16:9`,"data-question-only":m,"data-captioned":t.captions,children:e?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`header`,{className:`cvs-header`,children:[(0,q.jsxs)(`div`,{className:`cvs-brand`,children:[(0,q.jsx)(`span`,{className:`cvs-brand-dot`}),` Mavéa conversation`]}),(0,q.jsxs)(`div`,{className:`cvs-turn`,children:[`Turn `,e.turnIndex+1]}),(0,q.jsx)(`h2`,{children:h})]}),m?(0,q.jsxs)(`div`,{className:`cvs-ask`,children:[(0,q.jsx)(`span`,{className:`cvs-ask-eyebrow`,children:`Asked`}),(0,q.jsx)(`p`,{className:`cvs-ask-line`,children:h})]}):(0,q.jsxs)(`div`,{ref:o,className:`cvs-canvas`,children:[(0,q.jsx)(`div`,{className:`topic-wrap`,ref:c,"data-glide":r,children:(0,q.jsx)(s,{data:e.frame.spec,spot:e.spot,built:{},onProve:()=>{}})},e.turnIndex),t.penMarks&&(0,q.jsx)(C,{spots:e.ink,within:a.current,revision:f})]}),t.captions&&e.caption&&(0,q.jsx)(`div`,{className:`cvs-caption`,children:e.caption}),t.presence&&(0,q.jsx)(`div`,{className:`cvs-presence`,ref:l,children:(0,q.jsx)(u,{state:m?`thinking`:`speaking`})})]}):(0,q.jsx)(`div`,{className:`cvs-empty`,children:`Choose a turn to preview it.`})})}var ce=[{id:`1080p`,label:`1080p`,hint:`1920×1080`},{id:`720p`,label:`720p`,hint:`1280×720`}],le=[{id:`balanced`,label:`Balanced`},{id:`high`,label:`High`},{id:`ultra`,label:`Ultra`}],ue=650,de=640,fe=360;function pe(e=300){return Promise.race([(async()=>{await new Promise(e=>requestAnimationFrame(()=>e())),await new Promise(e=>requestAnimationFrame(()=>e()))})(),new Promise(t=>window.setTimeout(t,e))])}var me=[{key:`captions`,label:`Captions`},{key:`spotlights`,label:`Spotlights`},{key:`penMarks`,label:`Pen marks`},{key:`presence`,label:`Mavéa`},{key:`audio`,label:`Audio`}];function he(e){let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}function ge(e){let t=(0,T.c)(12),{width:n,height:r,children:i}=e,a=(0,w.useRef)(null),[o,s]=(0,w.useState)(0),c,l;t[0]!==r||t[1]!==n?(c=()=>{let e=a.current;if(!e)return;let t=()=>{let{width:t,height:i}=e.getBoundingClientRect();!t||!i||s(Math.min(t/n,i/r))};if(t(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(t);return i.observe(e),()=>i.disconnect()},l=[n,r],t[0]=r,t[1]=n,t[2]=c,t[3]=l):(c=t[2],l=t[3]),(0,w.useLayoutEffect)(c,l);let u=`scale(${o})`,d=o?void 0:`hidden`,f;t[4]!==r||t[5]!==u||t[6]!==d||t[7]!==n?(f={width:n,height:r,transform:u,visibility:d},t[4]=r,t[5]=u,t[6]=d,t[7]=n,t[8]=f):f=t[8];let p;return t[9]!==i||t[10]!==f?(p=(0,q.jsx)(`div`,{ref:a,className:`cvs-viewport`,children:(0,q.jsx)(`div`,{className:`cvs-scaler`,style:f,children:i})}),t[9]=i,t[10]=f,t[11]=p):p=t[11],p}function _e(e){return e.map(e=>{let t=k(e);return{durationMs:t,spans:[{text:e.narration,startMs:650,endMs:Math.max(651,t-350)}]}})}function J({frames:e,retainedAudio:t,onShared:n,onBusyChange:r}){let i=(0,w.useMemo)(()=>e.filter(e=>!!((e.spoken??e.narration).trim()||e.tour.some(e=>(e.saySpoken??e.say)?.trim()))),[e]),[a,s]=(0,w.useState)(()=>new Set(i.length?[x(i[i.length-1])]:[])),u=(0,w.useMemo)(()=>new Set(i.map(x)),[i]),[d,f]=(0,w.useState)({size:`1080p`,quality:`high`,captions:!0,spotlights:!0,penMarks:!0,presence:!0,audio:!0}),p=(0,w.useMemo)(()=>e.filter(e=>a.has(x(e))),[e,a]),m=(0,w.useMemo)(()=>ee(p),[p]),g=(0,w.useMemo)(()=>j(p,_e(p),d),[p,d]),[S,C]=(0,w.useState)(()=>g[0]??null),[T,D]=(0,w.useState)(null),[O,k]=(0,w.useState)(null),[A,M]=(0,w.useState)(null),[N,P]=(0,w.useState)(!1),[F,re]=(0,w.useState)(!1),[I,R]=(0,w.useState)(0),[z,B]=(0,w.useState)(!1),[V,H]=(0,w.useState)(!1),W=(0,w.useRef)(null),G=(0,w.useRef)(null),K=(0,w.useRef)(null),J=(0,w.useRef)(null),ve=(0,w.useRef)(null),Y=T!==null&&T.phase!==`ready`,ye=Y&&T?.phase!==`audio`,be=ae(),X=(0,w.useMemo)(()=>c(),[]),Z=F&&!Y&&!X&&g.length>1;(0,w.useEffect)(()=>r?.(Y),[Y,r]),(0,w.useEffect)(()=>{if(!Y){H(!1);return}let e=()=>H(document.visibilityState===`hidden`);return e(),document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[Y]),(0,w.useEffect)(()=>re(!0),[]),(0,w.useEffect)(()=>{let e=X?g.findIndex(e=>!e.questionOnly):0;R(Math.max(0,e)),B(!1)},[g,X]),(0,w.useEffect)(()=>{Y||C(g[I]??g[0]??null)},[g,I,Y]),(0,w.useEffect)(()=>{if(!Z||z)return;let e=g[I]??g[0],t=window.setTimeout(()=>R(e=>(e+1)%g.length),Math.max(ue,e?.durationMs??ue));return()=>window.clearTimeout(t)},[Z,z,g,I]),(0,w.useEffect)(()=>()=>{W.current?.abort(),G.current?.dispose?.(),G.current=null,r?.(!1)},[r]),(0,w.useEffect)(()=>{let e=J.current;if(!e)return;let t=()=>{e.dataset.overflowing=String(e.scrollHeight>e.clientHeight+1)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]);let xe=(0,w.useCallback)(async e=>{C(e),await pe()},[]),Se=(0,w.useCallback)(e=>{let t=ve.current,n=t?.getContext(`2d`);!t||!n||n.drawImage(e,0,0,t.width,t.height)},[]),Q=(0,w.useCallback)(()=>{G.current?.dispose?.(),G.current=null,k(null),D(null)},[]),Ce=(0,w.useCallback)(async()=>{if(!p.length||m>18e4)return;let e=new AbortController;W.current=e,Q(),M(null),D(d.audio?{phase:`audio`,completed:0,total:p.length}:{phase:`render`,completed:1,total:1}),P(!0);try{await pe();let n=K.current;if(!n)throw Error(`capture-stage-unavailable`);let r=d.audio?await ie(p,t??(()=>null),e.signal):null,i=r?r.turns:p.map(te),a=j(p,i,d);if(!a.length)throw Error(`empty-video`);D({phase:`render`,completed:1,total:a.length});let o=await oe({el:n,scenes:a,audioBuffer:r?.buffer??null,durationMs:r?.durationMs??i.reduce((e,t)=>e+t.durationMs,0),size:d.size,quality:d.quality,signal:e.signal,applyScene:xe,onProgress:D,onFrame:Se});G.current=o,k(o),D(null)}catch(e){if(e?.name===`AbortError`){D(null);return}let t=e instanceof L?`${e.message} Check the local voice service, then retry.`:e instanceof Error&&e.message===`conversation-too-long`?`The voiced result is over three minutes. Remove a turn and retry.`:e instanceof Error&&e.message===`open-codec-unavailable`?`This browser cannot encode an approved open-media format (AV1/VP9/VP8 with Opus). Try the current Chrome, Edge, or Firefox.`:`The video could not be created in this browser. Your conversation is unchanged.`;M(t),D(null)}finally{P(!1)}},[xe,Q,m,d,t,p,Se]),$=e=>{Y||(s(new Set(e.map(x))),Q(),M(null))},we=U[d.size],Te=y(v(p[0]?.spec.title||p[0]?.question,new Date),O?.type??``),Ee=T?T.phase===`audio`?`Preparing required narration…`:T.phase===`render`?`Rendering scene ${T.completed} of ${T.total}…`:T.phase===`encode`?`Finishing the file…`:`Video ready`:``,De=m>E;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`shm-panel cvs-panel`,children:[(0,q.jsx)(`div`,{className:`shm-eyebrow`,children:`▷ CONVERSATION VIDEO`}),(0,q.jsx)(`div`,{className:`cvs-title`,children:`Share this conversation.`}),(0,q.jsx)(`div`,{className:`shm-sub`,children:`Pick the turns worth sending. Mavéa narrates every one unless Audio is off. The video renders locally in this browser and is never uploaded.`}),(0,q.jsx)(b,{kind:`publishing`,from:`live`}),(0,q.jsxs)(`div`,{className:`cvs-presets`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>$(i.slice(-1)),disabled:Y,children:`Current turn`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>$(e.slice(ne(e)).filter(e=>u.has(x(e)))),disabled:Y,children:`Current topic`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>$(i),disabled:Y,children:`All turns`})]}),(0,q.jsx)(`div`,{className:`cvs-turns`,role:`group`,"aria-label":`Conversation turns`,ref:J,children:e.map((e,t)=>{let n=x(e),r=u.has(n);return(0,q.jsxs)(`label`,{className:`cvs-turn-card`,"data-selected":a.has(n),children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:a.has(n),disabled:Y||!r,onChange:()=>{s(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t}),Q()}}),(0,q.jsx)(`span`,{className:`cvs-thumb`,"aria-hidden":`true`,children:e.spec.blocks.length}),(0,q.jsxs)(`span`,{className:`cvs-turn-copy`,children:[(0,q.jsx)(`strong`,{children:e.question||e.spec.title}),(0,q.jsxs)(`small`,{children:[new Date(e.at).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),r?``:` · no narration`]})]}),(0,q.jsx)(`span`,{className:`cvs-order`,children:t+1})]},n)})}),(0,q.jsxs)(`div`,{className:`shm-group`,children:[(0,q.jsx)(`div`,{className:`shm-label`,children:`Size`}),(0,q.jsx)(`div`,{className:`shm-chips`,children:ce.map(e=>(0,q.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":d.size===e.id,"aria-pressed":d.size===e.id,disabled:Y,onClick:()=>{Q(),f(t=>({...t,size:e.id}))},title:e.hint,children:e.label},e.id))})]}),(0,q.jsxs)(`div`,{className:`shm-group`,children:[(0,q.jsx)(`div`,{className:`shm-label`,children:`Quality`}),(0,q.jsx)(`div`,{className:`shm-chips`,children:le.map(e=>(0,q.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":d.quality===e.id,"aria-pressed":d.quality===e.id,disabled:Y,onClick:()=>{Q(),f(t=>({...t,quality:e.id}))},title:h(e.id),children:e.label},e.id))})]}),(0,q.jsxs)(`div`,{className:`shm-group`,children:[(0,q.jsx)(`div`,{className:`shm-label`,children:`Include`}),(0,q.jsx)(`div`,{className:`shm-chips`,children:me.map(({key:e,label:t})=>(0,q.jsx)(`button`,{type:`button`,className:`shm-chip`,"data-active":d[e],"aria-pressed":d[e],disabled:Y,onClick:()=>{Q(),f(t=>({...t,[e]:!t[e]}))},children:t},e))})]}),(0,q.jsxs)(`div`,{className:`cvs-meter`,"data-over":De,children:[(0,q.jsxs)(`span`,{children:[he(m),` selected`]}),(0,q.jsx)(`span`,{children:`3:00 max`}),(0,q.jsx)(`i`,{style:{width:`${Math.min(100,m/E*100)}%`}})]}),A&&(0,q.jsx)(`div`,{className:`cvs-error`,role:`alert`,children:A}),!be&&(0,q.jsx)(`div`,{className:`cvs-error`,role:`alert`,children:`Video export needs an approved open video codec (AV1/VP9/VP8) and Opus audio. Try the current Chrome, Edge, or Firefox.`}),T&&(0,q.jsxs)(`div`,{className:`cvs-progress`,role:`status`,children:[Ee,V&&(0,q.jsx)(`em`,{className:`cvs-paused`,children:`Paused while this window is in the background — come back to it and the render picks up where it left off.`})]}),O&&(0,q.jsxs)(`div`,{className:`cvs-result`,role:`status`,children:[(0,q.jsxs)(`strong`,{children:[`Ready · `,O.width,`×`,O.height]}),(0,q.jsxs)(`span`,{children:[he(O.durationMs),` · `,(O.blob.size/1048576).toFixed(1),` MB`]})]}),(0,q.jsx)(`div`,{className:`shm-actions`,children:O?(0,q.jsx)(`button`,{type:`button`,className:`shm-btn shm-btn-primary`,onClick:()=>{G.current=null,_(O.blob,Te,()=>void O.dispose?.()),k(null),l(`Saved to your downloads`,`good`),n?.()},children:`↓ Download video`}):Y?(0,q.jsx)(`button`,{type:`button`,className:`shm-btn`,onClick:()=>W.current?.abort(),children:`Cancel`}):(0,q.jsx)(`button`,{type:`button`,className:`shm-btn shm-btn-primary`,disabled:!p.length||De||!be,onClick:()=>void Ce(),children:A?`Retry ${d.size} video`:`Create ${d.size} video`})})]}),(0,q.jsx)(`div`,{className:`shm-stage`,children:(0,q.jsxs)(`div`,{className:`shm-frame`,"data-aspect":`16:9`,children:[ye?(0,q.jsx)(`canvas`,{ref:ve,className:`cvs-monitor`,width:de,height:fe,role:`img`,"aria-label":`The frames being rendered`}):F?(0,q.jsx)(ge,{width:we.width,height:we.height,children:(0,q.jsx)(se,{scene:S,options:d,glide:!X})}):(0,q.jsx)(`div`,{className:`cvs-stage`,"data-aspect":`16:9`,children:(0,q.jsx)(`div`,{className:`cvs-empty`,role:`status`,children:`Preparing preview…`})}),Z&&(0,q.jsx)(`div`,{className:`shm-controls`,children:(0,q.jsx)(`button`,{type:`button`,className:`shm-sound`,"data-on":z,onClick:()=>B(e=>!e),"aria-pressed":z,title:z?`Play preview`:`Pause preview`,children:z?(0,q.jsx)(o.play,{style:{width:17,height:17}}):(0,q.jsx)(o.pause,{style:{width:17,height:17}})})})]})}),N&&(0,q.jsx)(`div`,{className:`cvs-capture-host`,"data-size":d.size,"aria-hidden":`true`,inert:!0,children:(0,q.jsx)(se,{scene:S,options:d,frameRef:e=>{K.current=e}})})]})}export{J as ConversationVideoStudio};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TopicCanvas-Bw4bMFpe.js","assets/rolldown-runtime-DkW27tQK.js","assets/react-BZJXY1be.js","assets/compiler-runtime-qQQXpJgv.js","assets/jsx-runtime-DeHZSEgm.js","assets/preload-helper-CiWYd9n-.js","assets/index-LiHcEJt_.js","assets/useInView-DsTvv7L_.js","assets/coreIcons-DDTChE1H.js","assets/preloadableLazy-MIX1ApBW.js","assets/cachedImport-DW0gP14h.js","assets/lazyRetry-D50B1UMY.js","assets/theme-D5D55hZi.js","assets/index-BIUYTk1W.css","assets/icons-gLFQTv74.js","assets/loader-DgMLGfAC.js","assets/FallbackCard-ap_4wOfj.js","assets/blockLabel-FogyzEQY.js","assets/FallbackCard-D_6ps1xA.css","assets/useFocusTrap-CJmpNZv2.js","assets/motion-BY_Egaxm.js","assets/useSpatialCanvas-CfmZOXXP.js","assets/CanvasSkeleton-BmGjJHUQ.js","assets/CanvasSkeleton-DYASkTjW.css","assets/richText-BkxJhl9N.js","assets/toast-BBNs2h3L.js","assets/format-q0LwBjID.js","assets/safeImageUrl-BINWXOTz.js","assets/useValidatedImage-BQi2c66o.js","assets/deepenStore-BWLLzLCY.js","assets/catalog-BHjl-1uH.js","assets/http-Lar_UMKb.js","assets/lib-u95BsX_B.js","assets/BlockEmpty-B82uCse8.js","assets/motion-DxHSlPN6.js","assets/lib-DP9Kuxqk.css","assets/TopicCanvas-DWTm611H.css","assets/generateLive-DGwnpIip.js","assets/history-D2EH2X6D.js","assets/catalog-Db9GWM6N.js","assets/facts-BUGuVUIc.js","assets/blockTypes-DUDdP3pB.js","assets/streamParse-BX0bAppQ.js","assets/liveSchema-DyfND6P2.js","assets/spokenText-C88IQJ0M.js","assets/sourceHost-BV3t2XDb.js","assets/annotations-CftUUB13.js","assets/screen-DFWKge3-.js","assets/attachments-BW-vki-E.js","assets/providers-0DthJW_I.js","assets/info-CiqHR5cs.js","assets/route-CMdTFx0P.js","assets/effort-jJe4iMIq.js","assets/speed-BOytg6bC.js","assets/cache-CvbSI-pr.js","assets/validate-sGUCmPAs.js","assets/types-C42I77wh.js","assets/json-B0N3XRZU.js","assets/verbatim-DBTj9sPD.js","assets/citation-BsSvaaer.js","assets/number-zqlPMliA.js","assets/receipts-D7zveV-I.js","assets/officeDoc-GU6Cssjf.js","assets/csv-DAqzYXUs.js","assets/search-ZN7v_P5B.js","assets/store-BWLbFXiY.js","assets/contentVault-xfUwSJ3i.js","assets/keyVault-Aw5Y2PjT.js","assets/ready-yBSGJubb.js","assets/shapes-BwoDrn09.js","assets/ledger-BssK9Pv2.js","assets/now-C9-UAzTC.js","assets/select-wEtBn9U6.js","assets/useLiveConfig-B4CmBiAK.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{t as a}from"./preloadableLazy-MIX1ApBW.js";import{n as o,t as s}from"./theme-D5D55hZi.js";import{E as c}from"./index-LiHcEJt_.js";import{n as l}from"./icons-gLFQTv74.js";import{t as u}from"./FeatureUseNotice-Bda9jr3W.js";import{n as d}from"./history-D2EH2X6D.js";import{_ as f,a as p,g as m,l as h,o as g,p as _,r as v,s as y}from"./store-B2Rpbqgg.js";import{r as b}from"./courseSeed-CZdNBTTs.js";import{i as x,n as S,r as C}from"./mastery-DB5qpRAy.js";/* empty css */import{CourseRail as w}from"./CourseRail-BQmUsG6v.js";var T=t(),E=e(),D=n();r();var O=a(()=>i(()=>import(`./TopicCanvas-Bw4bMFpe.js`).then(e=>e.n).then(e=>({default:e.TopicCanvas})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))),k=O.Component,A=9e4;function j(){return(0,E.useSyncExternalStore)(f,y,y)}function M(){let e=b();if(e)return{courseId:e.courseId,lessonIdx:e.lessonIdx};try{let e=new URLSearchParams(window.location.hash.split(`?`)[1]??``),t=e.get(`c`)?.trim();if(!t)return null;let n=Number(e.get(`l`));return{courseId:t,lessonIdx:Number.isFinite(n)&&n>=0?Math.round(n):0}}catch{return null}}function N(e,t){try{let n=`#/course?c=${encodeURIComponent(e)}&l=${t}`;window.location.hash!==n&&window.history.replaceState(null,``,n)}catch{}}function P(e,t){let n=Date.now();return{id:d(n),question:t,narration:e.narration,...e.spoken?{spoken:e.spoken}:{},mode:`replace`,tour:(e.tour??[]).map(e=>({index:e.index,...e.say?{say:e.say}:{},...e.saySpoken?{saySpoken:e.saySpoken}:{},...e.mark?{mark:e.mark}:{},...e.marks?{marks:e.marks}:{}})),spec:e.spec,at:n}}function F(){"use no memo";(0,E.useEffect)(()=>s(o()),[]),j(),(0,E.useEffect)(()=>S(),[]);let e=(0,E.useRef)(M()),t=e.current?.courseId,n=t?g(t):void 0,[r,a]=(0,E.useState)(()=>{let t=e.current?.lessonIdx??0;return n?Math.min(Math.max(0,t),n.lessons.length-1):Math.max(0,t)}),[d,f]=(0,E.useState)(`loading`),[y,b]=(0,E.useState)(null),[T,F]=(0,E.useState)(``),[L,R]=(0,E.useState)(null),[V,H]=(0,E.useState)(!1),[U,W]=(0,E.useState)(null),G=(0,E.useRef)(null),K=(0,E.useCallback)(e=>{let n=t?g(t):void 0,r=n?.lessons[e];if(!n||!r)return;G.current?.ctrl.abort(),m(n.id,e),N(n.id,e);let a=`Lesson ${e+1}: ${r.title}`,o=p(n.id,r.id);if(O.preload().catch(()=>{}),o){G.current=null,b(o.spec),F(o.narration),R(null),H(!1),W(null),f(`ready`);return}b(null),F(``),R(null),H(!1),f(`loading`),W(null);let s={ctrl:new AbortController,timedOut:!1};G.current=s;let c=setTimeout(()=>{s.timedOut=!0,s.ctrl.abort()},A);(async()=>{try{let[t,o,c]=await Promise.all([i(()=>import(`./generateLive-DGwnpIip.js`),__vite__mapDeps([37,17,29,30,38,39,5,1,40,41,42,43,14,4,44,27,45,46,47,48,49,31,50,51,52,6,2,3,7,8,9,10,11,12,13,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72])),i(()=>import(`./useLiveConfig-B4CmBiAK.js`).then(e=>e.d),__vite__mapDeps([73,1,2,3,50,67,49,31,41,48,51])),i(()=>import(`./streamParse-BX0bAppQ.js`).then(e=>e.s),__vite__mapDeps([42,1]))]),l=x(n,e,h(n.id),C(n.topic)),u=o.toModelConfig(o.getLiveConfigV2()),d=``,p=``,m=()=>G.current===s&&!s.ctrl.signal.aborted,g=await t.generateLive(`Teach this lesson: "${r.title}" — ${r.goal}`,[],u,e=>{if(!m())return;d+=e;let t=c.extractNarrationProgress(d);if(!t)return;let n=c.nextSpeakableChunk(t.text,p.length,t.done);n.chunk&&(p=t.text.slice(0,n.consumed),F(p),f(`streaming`))},{lesson:l,signal:s.ctrl.signal,onPartial:e=>{m()&&(b(e.spec),e.narration&&(p=e.narration,F(e.narration)),f(`streaming`))},onPending:e=>{m()&&(R(e),e&&f(`streaming`))},onThinking:e=>{m()&&(H(e),e&&f(`streaming`))}});if(s.ctrl.signal.aborted&&!s.timedOut)return;if(s.timedOut){W(`Building this lesson took too long and was stopped — the model may be slow or rate-limited right now. Try again in a moment.`),f(`error`);return}if(g.error){W(g.error.message),f(`error`);return}v(n.id,r.id,P(g,a)),b(g.spec),F(g.narration),R(null),H(!1),W(null),f(`ready`)}catch{if(s.ctrl.signal.aborted&&!s.timedOut)return;W(s.timedOut?`Building this lesson took too long and was stopped — try again in a moment.`:`Couldn't build this lesson — check your connection and model settings, then try again.`),f(`error`)}finally{clearTimeout(c),G.current===s&&(G.current=null)}})()},[t]);(0,E.useEffect)(()=>(K(r),()=>G.current?.ctrl.abort()),[r,K]);let q=(0,E.useCallback)(e=>{let n=t?g(t):void 0,i=n?.lessons[r];!n||!i||_(n.id,i.id,e)},[t,r]),J=(0,E.useCallback)(()=>{window.location.hash=`#/courses`},[]);if(!n)return(0,D.jsx)(`div`,{className:`mavea-app clr-app`,children:(0,D.jsx)(`main`,{className:`clr-stage clr-stage-center`,children:(0,D.jsxs)(`div`,{className:`clr-empty`,children:[(0,D.jsx)(`div`,{className:`clr-empty-icon`,"aria-hidden":`true`,children:(0,D.jsx)(l.layers,{})}),(0,D.jsx)(`div`,{className:`clr-empty-head`,children:`This lesson isn’t here`}),(0,D.jsx)(`div`,{className:`clr-empty-sub`,children:`The course may have been removed, or the link is out of date. Head back and pick one to open.`}),(0,D.jsxs)(`button`,{type:`button`,className:`clr-btn clr-btn-primary`,onClick:J,children:[(0,D.jsx)(l.chevL,{}),` Back to courses`]})]})})});let Y=d===`loading`||d===`streaming`,X=h(n.id);return(0,D.jsx)(`div`,{className:`mavea-app clr-app`,children:(0,D.jsx)(`main`,{className:`clr-stage`,children:(0,D.jsxs)(`div`,{className:`clr-col`,children:[(0,D.jsx)(u,{kind:`learning`}),(0,D.jsx)(w,{course:n,lessonIdx:r,progress:X,onPrev:()=>a(e=>Math.max(0,e-1)),onNext:()=>a(e=>Math.min(n.lessons.length-1,e+1)),onCheckpoint:q,busy:Y},`${n.id}:${r}`),d===`loading`&&(0,D.jsx)(I,{lessonNumber:r+1,course:n}),d===`streaming`&&(0,D.jsx)(z,{narration:T,pendingShape:L,thinking:V}),d===`error`&&(0,D.jsx)(B,{message:U??`Something went wrong building this lesson.`,onRetry:()=>K(r)}),(d===`streaming`||d===`ready`)&&y&&(0,D.jsx)(`div`,{className:`clr-canvas`,children:(0,D.jsx)(c,{label:`Lesson canvas`,children:(0,D.jsx)(k,{data:y,spot:null,built:{},onProve:()=>{}})})})]})})})}function I(e){let t=(0,T.c)(8),{lessonNumber:n,course:r}=e,i=r.lessons[n-1],a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,D.jsxs)(`div`,{className:`clr-lens`,"aria-hidden":`true`,children:[(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{}),(0,D.jsx)(`span`,{})]}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,D.jsxs)(`div`,{className:`clr-state-head`,children:[`Building lesson `,n,`…`]}),t[1]=n,t[2]=o);let s;t[3]===i?s=t[4]:(s=i&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`div`,{className:`clr-state-sub`,children:i.goal}),(0,D.jsx)(`div`,{className:`clr-lesson-outline`,"aria-label":`Lesson outline`,children:i.objectives.slice(0,3).map(L)})]}),t[3]=i,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,D.jsxs)(`div`,{className:`clr-state`,role:`status`,"aria-live":`polite`,children:[a,o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function L(e,t){return(0,D.jsxs)(`div`,{className:`clr-lesson-outline-row`,children:[(0,D.jsx)(`span`,{"aria-hidden":`true`,children:t+1}),(0,D.jsx)(`strong`,{children:e})]},e)}function R(e){return e?`Building ${e.replace(/[_-]+/g,` `)}`:`Building the next section`}function z(e){let t=(0,T.c)(11),{narration:n,pendingShape:r,thinking:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,D.jsx)(`span`,{className:`clr-stream-pulse`,"aria-hidden":`true`}),t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==i?(o=i?`Thinking through the lesson`:R(r),t[1]=r,t[2]=i,t[3]=o):o=t[3];let s;t[4]===o?s=t[5]:(s=(0,D.jsxs)(`div`,{className:`clr-stream-label`,children:[o,`…`]}),t[4]=o,t[5]=s);let c;t[6]===n?c=t[7]:(c=n&&(0,D.jsx)(`p`,{children:n}),t[6]=n,t[7]=c);let l;return t[8]!==s||t[9]!==c?(l=(0,D.jsxs)(`div`,{className:`clr-stream`,role:`status`,"aria-live":`polite`,"aria-atomic":`false`,children:[a,(0,D.jsxs)(`div`,{className:`clr-stream-copy`,children:[s,c]})]}),t[8]=s,t[9]=c,t[10]=l):l=t[10],l}function B(e){let t=(0,T.c)(10),{message:n,onRetry:r}=e,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,D.jsx)(`div`,{className:`clr-state-icon clr-state-icon-warn`,"aria-hidden":`true`,children:(0,D.jsx)(l.alert,{})}),a=(0,D.jsx)(`div`,{className:`clr-state-head`,children:`Couldn’t build this lesson`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,D.jsx)(`div`,{className:`clr-state-sub clr-state-error`,children:n}),t[2]=n,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,D.jsx)(l.refresh,{}),t[4]=s):s=t[4];let c;t[5]===r?c=t[6]:(c=(0,D.jsxs)(`button`,{type:`button`,className:`clr-btn clr-btn-primary`,onClick:r,children:[s,` Try again`]}),t[5]=r,t[6]=c);let u;return t[7]!==o||t[8]!==c?(u=(0,D.jsxs)(`div`,{className:`clr-state`,children:[i,a,o,c]}),t[7]=o,t[8]=c,t[9]=u):u=t[9],u}export{F as CourseLessonReader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r}from"./icons-gLFQTv74.js";import{l as i,n as a}from"./useLiveConfig-
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r}from"./icons-gLFQTv74.js";import{l as i,n as a}from"./useLiveConfig-B4CmBiAK.js";import{i as o}from"./store-D2IJF4SA.js";import{d as s,i as c,n as l}from"./store-B2Rpbqgg.js";import{t as u}from"./generateCourse-BldPpgdh.js";import{n as d,t as f}from"./useSrsCards-C27o39fF.js";import{t as p}from"./deckLine-NBd3MyGT.js";var m=e(),h=t(),g=n();function _(){let e=(0,h.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,g.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,"aria-hidden":!0,children:[(0,g.jsx)(`circle`,{cx:`6.5`,cy:`6.5`,r:`4`}),(0,g.jsx)(`line`,{x1:`10`,y1:`10`,x2:`14`,y2:`14`})]}),e[0]=t):t=e[0],t}function v(e){let t=(0,h.c)(20),{questions:n,onDone:i}=e,[a,o]=(0,m.useState)(0),[s,c]=(0,m.useState)(!1),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],t[0]=l):l=t[0];let[u,d]=(0,m.useState)(l),[f,p]=(0,m.useState)(0),_;t[1]!==f||t[2]!==a||t[3]!==u||t[4]!==i||t[5]!==n?(_=e=>{let t=f+ +!!e,r=e?u:[...u,n[a].question];if(a+1>=n.length){i({total:n.length,correct:t,missedFronts:r,at:Date.now()});return}p(t),d(r),o(a+1),c(!1)},t[1]=f,t[2]=a,t[3]=u,t[4]=i,t[5]=n,t[6]=_):_=t[6];let v=_,y=n[a],b=a+1,x;t[7]!==n.length||t[8]!==b?(x=(0,g.jsxs)(`div`,{className:`cx-check-progress`,children:[`Question `,b,` of `,n.length]}),t[7]=n.length,t[8]=b,t[9]=x):x=t[9];let S;t[10]===y.question?S=t[11]:(S=(0,g.jsx)(`div`,{className:`cx-check-q`,children:y.question}),t[10]=y.question,t[11]=S);let C;t[12]!==v||t[13]!==y.answer||t[14]!==s?(C=s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`div`,{className:`cx-check-a`,children:y.answer}),(0,g.jsxs)(`div`,{className:`cx-check-actions`,children:[(0,g.jsxs)(`button`,{type:`button`,className:`cx-btn cx-btn-miss`,onClick:()=>v(!1),children:[(0,g.jsx)(r.x,{}),` Missed it`]}),(0,g.jsxs)(`button`,{type:`button`,className:`cx-btn cx-btn-got`,onClick:()=>v(!0),children:[(0,g.jsx)(r.check,{}),` Got it`]})]})]}):(0,g.jsx)(`button`,{type:`button`,className:`cx-btn cx-btn-reveal`,onClick:()=>c(!0),children:`Show answer`}),t[12]=v,t[13]=y.answer,t[14]=s,t[15]=C):C=t[15];let w;return t[16]!==x||t[17]!==S||t[18]!==C?(w=(0,g.jsxs)(`div`,{className:`cx-check`,children:[x,S,C]}),t[16]=x,t[17]=S,t[18]=C,t[19]=w):w=t[19],w}function y({courseTitle:e}){"use no memo";f();let t=o().decks.find(t=>t.name===e);return t?(0,g.jsxs)(`a`,{className:`cx-deck-link`,href:d.deck(e),children:[(0,g.jsx)(r.layers,{}),p(t)]}):null}function b({course:e,lessonIdx:t,progress:n,onPrev:o,onNext:d,onCheckpoint:f,busy:p}){let h=e.lessons[t],[b,x]=(0,m.useState)(`idle`),[S,C]=(0,m.useState)(null),[w,T]=(0,m.useState)(null),E=(0,m.useRef)(null);(0,m.useEffect)(()=>()=>E.current?.abort(),[]);let D=(0,m.useCallback)(async()=>{if(!h)return;let n=c(e.id,h.id)??h.checkpoint;if(n?.length){C(n),T(null),x(`checking`);return}T(null),x(`loading`);let r=new AbortController;E.current=r;try{let n=i(a()),o=await u(e,t,n,r.signal);if(r.signal.aborted)return;l(e.id,h.id,o),C(o),x(`checking`)}catch(e){if(r.signal.aborted)return;T(e instanceof Error?e.message:`Couldn't write the checkpoint — try again in a moment.`),x(`error`)}finally{E.current===r&&(E.current=null)}},[e,h,t]);if(!h)return null;let O=e.lessons.length,k=n.lessons[h.id],A=k?.status===`done`,j=k?.checkpoint;return(0,g.jsxs)(`aside`,{className:`course-rail`,"aria-label":`Course: ${e.title}`,children:[(0,g.jsxs)(`div`,{className:`cx-top`,children:[(0,g.jsxs)(`button`,{type:`button`,className:`cx-back`,onClick:()=>{window.location.hash=`#/courses`},children:[(0,g.jsx)(r.chevL,{}),` Courses`]}),(0,g.jsxs)(`span`,{className:`cx-position`,children:[`Lesson `,t+1,` of `,O]}),A&&(0,g.jsxs)(`span`,{className:`cx-done`,children:[(0,g.jsx)(r.check,{}),` Done`]})]}),(0,g.jsxs)(`div`,{className:`cx-title-row`,children:[(0,g.jsx)(`span`,{className:`cx-course-title`,children:e.title}),(0,g.jsx)(`h2`,{className:`cx-lesson-title`,children:h.title})]}),h.objectives.length>0&&(0,g.jsx)(`ul`,{className:`cx-objectives`,children:h.objectives.map(e=>(0,g.jsx)(`li`,{children:e},e))}),b===`checking`&&S?.length?(0,g.jsx)(v,{questions:S,onDone:e=>{x(`idle`),C(null),f(e)}}):b===`loading`?(0,g.jsxs)(`div`,{className:`cx-check-pending`,role:`status`,"aria-live":`polite`,children:[(0,g.jsx)(`span`,{className:`cx-check-spinner`,"aria-hidden":`true`}),(0,g.jsx)(`span`,{children:`Writing your check…`})]}):b===`error`?(0,g.jsxs)(`div`,{className:`cx-check-failed`,role:`alert`,children:[(0,g.jsx)(`span`,{className:`cx-check-failed-msg`,children:w}),(0,g.jsx)(`button`,{type:`button`,className:`cx-link`,onClick:()=>void D(),children:`Retry`})]}):(0,g.jsxs)(`div`,{className:`cx-checkpoint-status`,children:[(0,g.jsx)(`span`,{className:j?s(j)?`cx-pass`:`cx-fail`:`cx-untaken`,children:j?`Checkpoint: ${j.correct}/${j.total}`:`Checkpoint not yet taken`}),(0,g.jsx)(`button`,{type:`button`,className:`cx-link`,onClick:()=>void D(),children:j?`Retake`:`Take checkpoint`})]}),(0,g.jsxs)(`div`,{className:`cx-secondary-links`,children:[(0,g.jsx)(y,{courseTitle:e.title}),(0,g.jsxs)(`button`,{type:`button`,className:`cx-zoom-link`,onClick:()=>{window.location.hash=`#/deepzoom?q=${encodeURIComponent(h.title)}`},children:[(0,g.jsx)(_,{}),` Zoom into this`]})]}),(0,g.jsxs)(`div`,{className:`cx-nav`,children:[(0,g.jsxs)(`button`,{type:`button`,className:`cx-btn`,onClick:o,disabled:!!p||t<=0,children:[(0,g.jsx)(r.chevL,{}),` Prev`]}),(0,g.jsxs)(`button`,{type:`button`,className:`cx-btn cx-btn-primary`,onClick:d,disabled:!!p||t>=O-1,children:[`Next `,(0,g.jsx)(r.chevR,{})]})]})]})}export{b as CourseRail};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/generateCourse-BldPpgdh.js","assets/rolldown-runtime-DkW27tQK.js","assets/providers-0DthJW_I.js","assets/http-Lar_UMKb.js","assets/blockTypes-DUDdP3pB.js","assets/info-CiqHR5cs.js","assets/attachments-BW-vki-E.js","assets/route-CMdTFx0P.js","assets/useLiveConfig-B4CmBiAK.js","assets/react-BZJXY1be.js","assets/compiler-runtime-qQQXpJgv.js","assets/keyVault-Aw5Y2PjT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{n as a,r as o}from"./preloadableLazy-MIX1ApBW.js";import{n as s,t as c}from"./theme-D5D55hZi.js";import{O as l}from"./index-LiHcEJt_.js";import{n as u}from"./icons-gLFQTv74.js";import{t as d}from"./useFocusTrap-CJmpNZv2.js";import{t as f}from"./homeTarget-CwFsJYwb.js";import{t as p}from"./DropSelect-GwIXHA5o.js";import{i as m}from"./store-D2IJF4SA.js";import{_ as h,c as g,h as _,l as v,m as y,s as b}from"./store-B2Rpbqgg.js";import{i as x,t as S}from"./courseSeed-CZdNBTTs.js";/* empty css */import{n as ee,t as te}from"./useSrsCards-C27o39fF.js";import{t as ne}from"./deckLine-NBd3MyGT.js";var re=t(),C=e(),w=n();r();var T;function E(){return T??=Promise.all([i(()=>import(`./generateCourse-BldPpgdh.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4,5,6,7])),i(()=>import(`./useLiveConfig-B4CmBiAK.js`).then(e=>e.d),__vite__mapDeps([8,1,9,10,5,11,2,3,4,6,7]))]),T}function D(){E().catch(()=>{})}function O(){return(0,C.useSyncExternalStore)(h,b,b)}function ie(e,t){S({courseId:e,lessonIdx:t}),window.location.hash=`#/course`}function ae(e,t){let n=e.lessons.filter(e=>t.lessons[e.id]?.status===`done`).length;return n>=e.lessons.length?`complete`:n>0||t.current>0?`in-progress`:`new`}var oe={beginner:`Beginner`,intermediate:`Intermediate`,expert:`Expert`},k=[`Personal finance basics`,`How the internet works`,`Spanish for travel`];function A(e){let t=(0,re.c)(67),{course:n,progress:r,onRemove:i}=e,s=(0,C.useRef)(null),[c,l]=(0,C.useState)(!1),d=n.lessons.length,f;if(t[0]!==n.lessons||t[1]!==r.lessons){let e;t[3]===r.lessons?e=t[4]:(e=e=>r.lessons[e.id]?.status===`done`,t[3]=r.lessons,t[4]=e),f=n.lessons.filter(e),t[0]=n.lessons,t[1]=r.lessons,t[2]=f}else f=t[2];let p=f.length,h;t[5]!==p||t[6]!==d?(h=d?Math.round(p/d*100):0,t[5]=p,t[6]=d,t[7]=h):h=t[7];let g=h,_=ae(n,r),v=Math.max(0,Math.min(r.current,d-1)),y=n.lessons[v],b=`Lesson ${v+1} of ${d}`,x=_===`complete`?`Review`:_===`in-progress`?`Continue`:`Start course`;te();let S;t[8]===n.title?S=t[9]:(S=e=>e.name===n.title,t[8]=n.title,t[9]=S);let T=m().decks.find(S),E,D;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=s.current;if(!e)return;let t=ue,n=()=>{t=o(le)};if(!(`IntersectionObserver`in window))return n(),t;let r=new IntersectionObserver(e=>{e.some(ce)&&(r.disconnect(),n())});return r.observe(e),()=>{r.disconnect(),t()}},D=[],t[10]=E,t[11]=D):(E=t[10],D=t[11]),(0,C.useEffect)(E,D);let O=`cr-card cr-card-${_}`,k;t[12]===n.level?k=t[13]:(k=n.level&&(0,w.jsx)(`span`,{className:`cr-badge`,children:oe[n.level]}),t[12]=n.level,t[13]=k);let A=`cr-status cr-status-`+_,j=_===`complete`?`Complete`:_===`in-progress`?`In progress`:`New`,M;t[14]!==A||t[15]!==j?(M=(0,w.jsx)(`span`,{className:A,children:j}),t[14]=A,t[15]=j,t[16]=M):M=t[16];let N;t[17]!==M||t[18]!==k?(N=(0,w.jsxs)(`div`,{className:`cr-card-top`,children:[k,M]}),t[17]=M,t[18]=k,t[19]=N):N=t[19];let P;t[20]===n.title?P=t[21]:(P=(0,w.jsx)(`h3`,{className:`cr-card-title`,children:n.title}),t[20]=n.title,t[21]=P);let F=n.subtitle||n.topic,I;t[22]===F?I=t[23]:(I=(0,w.jsx)(`p`,{className:`cr-card-sub`,children:F}),t[22]=F,t[23]=I);let L=`${n.title} progress`,R=`${p} of ${d} lessons complete`,z=`${g}%`,B;t[24]===z?B=t[25]:(B=(0,w.jsx)(`div`,{className:`cr-progress-fill`,style:{width:z}}),t[24]=z,t[25]=B);let V;t[26]!==g||t[27]!==L||t[28]!==R||t[29]!==B?(V=(0,w.jsx)(`div`,{className:`cr-progress`,role:`progressbar`,"aria-label":L,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":g,"aria-valuetext":R,children:B}),t[26]=g,t[27]=L,t[28]=R,t[29]=B,t[30]=V):V=t[30];let H;t[31]===b?H=t[32]:(H=(0,w.jsx)(`span`,{children:b}),t[31]=b,t[32]=H);let U;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,w.jsx)(`span`,{className:`cr-card-meta-dot`,"aria-hidden":`true`}),t[33]=U):U=t[33];let W;t[34]!==p||t[35]!==d?(W=(0,w.jsxs)(`span`,{children:[p,`/`,d,` done`]}),t[34]=p,t[35]=d,t[36]=W):W=t[36];let G;t[37]!==H||t[38]!==W?(G=(0,w.jsxs)(`div`,{className:`cr-card-meta`,children:[H,U,W]}),t[37]=H,t[38]=W,t[39]=G):G=t[39];let K;t[40]!==y||t[41]!==_?(K=y&&(0,w.jsxs)(`div`,{className:`cr-current-lesson`,children:[(0,w.jsx)(`span`,{children:_===`complete`?`Review from`:`Up next`}),(0,w.jsx)(`strong`,{children:y.title})]}),t[40]=y,t[41]=_,t[42]=K):K=t[42];let de=T&&(0,w.jsxs)(`a`,{className:`cr-deck-link`,href:ee.deck(n.title),children:[(0,w.jsx)(u.layers,{}),ne(T)]}),q;t[43]!==n.id||t[44]!==r.current?(q=()=>ie(n.id,r.current),t[43]=n.id,t[44]=r.current,t[45]=q):q=t[45];let J,Y;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(J=a(se),Y=(0,w.jsx)(u.play,{}),t[46]=J,t[47]=Y):(J=t[46],Y=t[47]);let X;t[48]!==x||t[49]!==q?(X=(0,w.jsxs)(`button`,{type:`button`,className:`cr-btn cr-btn-primary`,onClick:q,...J,children:[Y,` `,x]}),t[48]=x,t[49]=q,t[50]=X):X=t[50];let Z;t[51]!==c||t[52]!==i?(Z=c?(0,w.jsxs)(`div`,{className:`cr-delete-confirm`,role:`group`,"aria-label":`Confirm course deletion`,children:[(0,w.jsx)(`span`,{children:`Delete?`}),(0,w.jsx)(`button`,{type:`button`,className:`cr-delete-cancel`,onClick:()=>l(!1),children:`Cancel`}),(0,w.jsx)(`button`,{type:`button`,className:`cr-icon-btn cr-icon-danger`,"aria-label":`Confirm delete course`,onClick:i,children:(0,w.jsx)(u.check,{})})]}):(0,w.jsx)(`button`,{type:`button`,className:`cr-icon-btn`,"aria-label":`Delete course`,onClick:()=>l(!0),children:(0,w.jsx)(u.x,{})}),t[51]=c,t[52]=i,t[53]=Z):Z=t[53];let Q;t[54]!==X||t[55]!==Z?(Q=(0,w.jsxs)(`div`,{className:`cr-card-actions`,children:[X,Z]}),t[54]=X,t[55]=Z,t[56]=Q):Q=t[56];let $;return t[57]!==N||t[58]!==P||t[59]!==I||t[60]!==V||t[61]!==G||t[62]!==K||t[63]!==de||t[64]!==Q||t[65]!==O?($=(0,w.jsxs)(`article`,{className:O,ref:s,children:[N,P,I,V,G,K,de,Q]}),t[57]=N,t[58]=P,t[59]=I,t[60]=V,t[61]=G,t[62]=K,t[63]=de,t[64]=Q,t[65]=O,t[66]=$):$=t[66],$}function se(){return l(`#/course`)??Promise.resolve()}function ce(e){return e.isIntersecting}function le(){return l(`#/course`)??Promise.resolve()}function ue(){}function j({initialTopic:e,onClose:t}){let n=(0,C.useRef)(null),r=(0,C.useRef)(null);d(r);let[i,o]=(0,C.useState)(e??``),[s,c]=(0,C.useState)(``),[l,f]=(0,C.useState)(!1),[m,h]=(0,C.useState)(null),g=(0,C.useRef)(null);(0,C.useEffect)(()=>()=>g.current?.abort(),[]);let v=(0,C.useCallback)(()=>{g.current?.abort(),t()},[t]);(0,C.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),v())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[v]);let y=(0,C.useRef)(null);(0,C.useEffect)(()=>{e?.trim()||y.current?.focus()},[]),(0,C.useEffect)(()=>{let e=n.current;if(!e)return;let t=t=>{t.target===e&&v()};return e.addEventListener(`pointerdown`,t),()=>e.removeEventListener(`pointerdown`,t)},[v]);let b=async e=>{if(!e||l)return;f(!0),h(null);let t=new AbortController;g.current=t;try{let[{generateCourse:n},{getLiveConfigV2:r,toModelConfig:i}]=await E(),a=await n(e,i(r()),{level:s||void 0,signal:t.signal});if(t.signal.aborted)return;_(a),ie(a.id,0)}catch(e){if(t.signal.aborted)return;h(e instanceof Error?e.message:`Something went wrong building that course.`),f(!1)}},x=async e=>{e.preventDefault(),await b(i.trim())};return(0,w.jsx)(`div`,{className:`cr-scrim`,ref:n,children:(0,w.jsxs)(`div`,{className:`cr-sheet`,ref:r,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`cr-sheet-title`,"aria-describedby":`cr-sheet-subtitle`,tabIndex:-1,children:[(0,w.jsxs)(`div`,{className:`cr-sheet-head`,children:[(0,w.jsx)(`div`,{className:`cr-sheet-mark`,"aria-hidden":`true`,children:(0,w.jsx)(u.layers,{})}),(0,w.jsxs)(`div`,{className:`cr-sheet-heading`,children:[(0,w.jsx)(`span`,{className:`cr-sheet-title`,id:`cr-sheet-title`,children:`New course`}),(0,w.jsx)(`span`,{className:`cr-sheet-subtitle`,id:`cr-sheet-subtitle`,children:`A tailored syllabus, built around what you want to understand.`})]}),(0,w.jsx)(`button`,{type:`button`,className:`cr-ed-close`,"aria-label":l?`Cancel building course`:`Close`,onClick:v,children:(0,w.jsx)(u.x,{})})]}),(0,w.jsxs)(`form`,{className:`cr-sheet-body`,"aria-busy":l,onSubmit:e=>void x(e),children:[(0,w.jsxs)(`p`,{className:`cr-legal-note`,children:[(0,w.jsx)(`strong`,{children:`Learning aid, not an authority.`}),` Lessons are AI-generated and may be wrong or incomplete. Verify consequential or professional topics with authoritative sources. `,(0,w.jsx)(`a`,{href:`#/legal?from=home`,children:`Details`})]}),(0,w.jsxs)(`label`,{className:`cr-field`,children:[(0,w.jsx)(`span`,{className:`cr-field-label`,children:`Topic`}),(0,w.jsx)(`input`,{ref:y,type:`text`,className:`cr-input`,placeholder:`e.g. linear algebra, the French Revolution, Rust ownership`,value:i,onFocus:D,onChange:e=>{D(),o(e.target.value)},disabled:l,autoComplete:`off`})]}),(0,w.jsx)(`div`,{className:`cr-topic-picks`,"aria-label":`Topic suggestions`,children:k.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>o(e),disabled:l,children:e},e))}),(0,w.jsxs)(`div`,{className:`cr-field`,children:[(0,w.jsx)(`span`,{className:`cr-field-label`,children:`Starting level`}),(0,w.jsx)(p,{ariaLabel:`Starting level`,triggerClassName:`cr-input`,value:s,onChange:e=>c(e),disabled:l,focusOnMount:!!e?.trim(),options:[{value:``,label:`Pick for me`},{value:`beginner`,label:`Beginner`},{value:`intermediate`,label:`Intermediate`},{value:`expert`,label:`Expert`}]}),(0,w.jsx)(`span`,{className:`cr-field-hint`,children:`Pick for me lets Mavéa infer the right starting point from your topic.`})]}),m&&(0,w.jsx)(`div`,{className:`cr-error`,role:`alert`,children:m}),(0,w.jsx)(`button`,{type:`submit`,className:`cr-btn cr-btn-primary cr-btn-wide`,disabled:!i.trim()||l,...a(()=>E().then(()=>void 0)),children:l?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:`cr-spinner`,"aria-hidden":`true`}),` Building your syllabus…`]}):`Build course`})]})]})})}function M(){"use no memo";let e=f();(0,C.useEffect)(()=>c(s()),[]),O();let t=(0,C.useRef)(x()),[n,r]=(0,C.useState)(!!t.current),[i,a]=(0,C.useState)(t.current??``),o=g(),l=(e=``)=>{a(e),r(!0)};return(0,w.jsxs)(`div`,{className:`mavea-app cr-app`,children:[(0,w.jsxs)(`header`,{className:`cr-nav`,children:[(0,w.jsxs)(`button`,{type:`button`,className:`cr-nav-back`,onClick:()=>{window.location.hash=e.href},children:[(0,w.jsx)(u.chevL,{}),` `,e.label]}),(0,w.jsxs)(`div`,{className:`cr-nav-title`,children:[`Courses`,(0,w.jsxs)(`span`,{className:`cr-nav-sub`,children:[o.length,` course`,o.length===1?``:`s`]})]}),(0,w.jsxs)(`button`,{type:`button`,className:`cr-btn cr-btn-primary`,onClick:()=>l(),children:[(0,w.jsx)(u.plus,{}),` New course`]})]}),(0,w.jsx)(`main`,{className:`cr-main`,children:o.length===0?(0,w.jsxs)(`section`,{className:`cr-empty`,"aria-labelledby":`cr-empty-title`,children:[(0,w.jsxs)(`div`,{className:`cr-empty-copy`,children:[(0,w.jsx)(`div`,{className:`cr-empty-icon`,"aria-hidden":`true`,children:(0,w.jsx)(u.layers,{})}),(0,w.jsx)(`div`,{className:`cr-empty-eyebrow`,children:`No courses yet`}),(0,w.jsx)(`h1`,{className:`cr-empty-head`,id:`cr-empty-title`,children:`Build a clear path through anything`}),(0,w.jsx)(`p`,{className:`cr-empty-sub`,children:`Name what you want to understand. Mavéa maps the syllabus, teaches one focused lesson at a time, and turns missed checkpoints into review cards.`}),(0,w.jsxs)(`button`,{type:`button`,className:`cr-btn cr-btn-primary cr-empty-cta`,onClick:()=>l(),children:[(0,w.jsx)(u.plus,{}),` Build your first course`]}),(0,w.jsxs)(`div`,{className:`cr-starter-row`,"aria-label":`Try a topic`,children:[(0,w.jsx)(`span`,{children:`Or try`}),k.map(e=>(0,w.jsx)(`button`,{type:`button`,onClick:()=>l(e),children:e},e))]})]}),(0,w.jsxs)(`div`,{className:`cr-course-path`,"aria-label":`How a Mavéa course works`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{children:`01`}),(0,w.jsx)(`strong`,{children:`Shape the syllabus`}),(0,w.jsx)(`p`,{children:`A useful sequence, matched to your starting level.`})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{children:`02`}),(0,w.jsx)(`strong`,{children:`Learn visually`}),(0,w.jsx)(`p`,{children:`Focused lessons use the clearest canvas for each idea.`})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{children:`03`}),(0,w.jsx)(`strong`,{children:`Make it stick`}),(0,w.jsx)(`p`,{children:`Checkpoints and spaced review close the gaps.`})]})]})]}):(0,w.jsx)(`div`,{className:`cr-grid`,children:o.map(e=>(0,w.jsx)(A,{course:e,progress:v(e.id),onRemove:()=>y(e.id)},e.id))})}),n&&(0,w.jsx)(j,{initialTopic:i,onClose:()=>r(!1)})]})}export{M as CoursesApp};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.prism-xe{z-index:26;box-sizing:border-box;background:color-mix(in oklab, var(--surface-elevated) 92%, transparent);border:1px solid var(--line-strong);width:min(360px,44vw);max-height:min(64%,540px);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:var(--glass-blur-faint);backdrop-filter:var(--glass-blur-faint);border-radius:14px;flex-direction:column;animation:.32s both prism-ask-in;display:flex;position:absolute;bottom:16px;left:16px;overflow:hidden}.prism-xe-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.prism-xe-title{color:var(--text-primary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.prism-xe-spark{background:var(--danger);width:8px;height:8px;box-shadow:0 0 10px color-mix(in oklab, var(--danger) 70%, transparent);border-radius:2px}.prism-xe-min{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:13px}.prism-xe-min:hover{color:var(--text-primary);background:var(--surface-glass)}.prism-xe-standing{color:var(--text-secondary);border-bottom:1px solid var(--line);margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.prism-xe-standing strong{color:var(--text-primary)}.prism-xe-openn{color:color-mix(in oklab, var(--danger) 80%, #fff)!important}.prism-xe-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:8px;display:flex;overflow-y:auto}.prism-xe-empty{color:var(--text-muted);align-items:center;gap:8px;margin:6px;font-size:12.5px;line-height:1.5;display:inline-flex}.prism-xe-dot{background:var(--danger);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite prism-ask-pulse}@media (prefers-reduced-motion:reduce){.prism-xe-dot{animation:none}}.prism-xe-group{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab, var(--danger) 70%, var(--text-secondary));margin:6px 4px 2px;font-size:9px;font-weight:700}.prism-xe-group-quiet{color:var(--text-muted)}.prism-xe-row{appearance:none;cursor:pointer;text-align:left;font:inherit;border:1px solid var(--line-strong);background:var(--surface-elevated);border-radius:10px;flex-direction:column;gap:4px;padding:9px 10px;transition:border-color .15s,background .15s;display:flex}.prism-xe-row:hover{background:var(--surface-glass)}.prism-xe-row.is-open{border-left:2px solid color-mix(in oklab, var(--danger) 70%, transparent)}.prism-xe-row.is-addressed{opacity:.66}.prism-xe-row.is-active{border-color:var(--danger);background:color-mix(in oklab, var(--danger) 12%, var(--surface-elevated))}.prism-xe-kind{font-family:var(--font-data);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab, var(--danger) 72%, var(--text-secondary));font-size:8.5px;font-weight:700}.prism-xe-row.is-addressed .prism-xe-kind{color:var(--text-muted)}.prism-xe-q{color:var(--text-primary);font-size:12.5px;line-height:1.4}.prism-xe-where{color:var(--text-muted);font-size:10.5px}.prism-xe-answered{color:color-mix(in oklab, var(--insight) 60%, var(--text-muted))}@media (width<=560px){.prism-xe{width:auto;left:12px;right:12px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{
|
|
1
|
+
import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{S as r}from"./index-LiHcEJt_.js";/* empty css */import{t as i}from"./useDashboards-lgQnk2Al.js";import{t as a}from"./useLedger-1WVXef68.js";import{p as o,u as s}from"./format-g3dP8OI3.js";import{t as c}from"./TrackerTile-CrT9u1I4.js";var l=e(),u=t(),d=n(),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=a(),_=o(),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=s(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 r(document)}export{_ as DashPresent};
|