@mavea/mavea 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/PRIVACY.md +9 -2
  3. package/README.md +19 -3
  4. package/SECURITY.md +1 -1
  5. package/TERMS.md +4 -2
  6. package/TRADEMARKS.md +3 -1
  7. package/bin/mavea.mjs +40 -8
  8. package/dist/.vite/manifest.json +886 -846
  9. package/dist/assets/AnnotationLayer-BRYhJ1LB.css +1 -0
  10. package/dist/assets/AnnotationLayer-Bh1yiSAK.js +2 -0
  11. package/dist/assets/{AppCommandPalette-DdOPNZ0e.js → AppCommandPalette-DS4sLY_K.js} +1 -1
  12. package/dist/assets/{AtlasView-DO_p0TdZ.js → AtlasView-CYZ9sfXb.js} +1 -1
  13. package/dist/assets/BlockEmpty-B-giiUPy.js +1 -0
  14. package/dist/assets/{CadenceCard-DxceyiPA.js → CadenceCard-j1V7XOxX.js} +1 -1
  15. package/dist/assets/{CheckLogRail-BibJTid0.js → CheckLogRail-onH7DaxW.js} +1 -1
  16. package/dist/assets/{CommandPalette-Bs6tpdZl.js → CommandPalette-Cz8h94Jd.js} +1 -1
  17. package/dist/assets/ConversationVideoStudio-adb7legp.js +1 -0
  18. package/dist/assets/CourseLessonReader-CkzViEij.js +2 -0
  19. package/dist/assets/CourseLessonReader-DNHFQOkX.css +1 -0
  20. package/dist/assets/{CourseRail-CUa7uIGG.css → CourseRail-BDQIWara.css} +1 -1
  21. package/dist/assets/{CourseRail-BQmUsG6v.js → CourseRail-DD8gtAn4.js} +1 -1
  22. package/dist/assets/CoursesApp-B0HFM8Al.js +2 -0
  23. package/dist/assets/{DashPresent-BDWgO9am.js → DashPresent-BdOJ7F9D.js} +1 -1
  24. package/dist/assets/DashboardDetail-Chrpi1Yk.js +2 -0
  25. package/dist/assets/DashboardLoopGate-B01Hpm7O.js +2 -0
  26. package/dist/assets/DashboardLoopRuntime-BcdZtIgH.js +1 -0
  27. package/dist/assets/{DashboardSettings-DJon1Q4o.js → DashboardSettings-5tn-dw6G.js} +1 -1
  28. package/dist/assets/DashboardsApp--jjj-GVX.js +2 -0
  29. package/dist/assets/DeepZoomApp-BpQbKTjc.js +37 -0
  30. package/dist/assets/DelegatePanel-e4y0CJsn.js +33 -0
  31. package/dist/assets/{DemoGallery-DrSlMsnu.js → DemoGallery-DF1ShRG4.js} +1 -1
  32. package/dist/assets/{DropSelect-GwIXHA5o.js → DropSelect-D3Q9Su_x.js} +1 -1
  33. package/dist/assets/{ExportModal-DBUjC71U.js → ExportModal-DkmyBpeN.js} +1 -1
  34. package/dist/assets/ExportModal-sX8MPVPW.css +1 -0
  35. package/dist/assets/{ExtractionPreview-D4M6eXqb.js → ExtractionPreview-C6F1q3qG.js} +2 -2
  36. package/dist/assets/FeatureUseNotice-CCI4mM39.js +1 -0
  37. package/dist/assets/{FlagshipCommandPalette-DAO849RC.js → FlagshipCommandPalette-BkjvGrKT.js} +1 -1
  38. package/dist/assets/{FlagshipShowcase-g2x-1c70.js → FlagshipShowcase-Dx2noFrP.js} +1 -1
  39. package/dist/assets/{FlashcardsApp-BUKzCr65.js → FlashcardsApp-C1TeLlkY.js} +1 -1
  40. package/dist/assets/GalleryApp-7oBldBKU.js +1 -0
  41. package/dist/assets/{HonestByDesign-DgZFEpEx.js → HonestByDesign-DlRrxgrO.js} +1 -1
  42. package/dist/assets/{HowItWorks-DPFpdeGE.js → HowItWorks-BM2yn2dq.js} +1 -1
  43. package/dist/assets/LegalApp-DPfTD0jz.js +1 -0
  44. package/dist/assets/{LegalMarkdownDocument-BBTHuW_M.js → LegalMarkdownDocument-DJgwmK1q.js} +1 -1
  45. package/dist/assets/{LegalPageShell-hMA-7JLf.js → LegalPageShell-DuIwSVSJ.js} +1 -1
  46. package/dist/assets/Library-CDgWdTiF.js +1 -0
  47. package/dist/assets/{LibraryOverlay-DSUWcUe4.js → LibraryOverlay-DsLhiJzF.js} +1 -1
  48. package/dist/assets/LiveApp-CEaISHEZ.css +1 -0
  49. package/dist/assets/LiveApp-DNYYimuo.js +79 -0
  50. package/dist/assets/LiveSettings-CDHQnEtF.js +6 -0
  51. package/dist/assets/{MindMapViewerDrawer-CKdJtHno.js → MindMapViewerDrawer-C3BgiubE.js} +1 -1
  52. package/dist/assets/{MindShape-B3lg_z4X.js → MindShape-DVlgSR1B.js} +1 -1
  53. package/dist/assets/{PinToDashboard-DpQjBLPa.js → PinToDashboard-Dd_egidB.js} +1 -1
  54. package/dist/assets/{PlanReview-CrTbmMAd.js → PlanReview-wOsBpofo.js} +1 -1
  55. package/dist/assets/PresentationDeck-BSMzp5T9.js +1 -0
  56. package/dist/assets/PrismApp-DbbDNVpy.js +2 -0
  57. package/dist/assets/{PrismAskController-C4MuB8om.js → PrismAskController-BgwijoI2.js} +1 -1
  58. package/dist/assets/PrismBriefingPlayer-B1_ziOwl.js +2 -0
  59. package/dist/assets/PrismOverlay-5ZVXu4WL.css +1 -0
  60. package/dist/assets/PrismOverlay-DLxvsh9l.js +105 -0
  61. package/dist/assets/PrismWorkbench-ZlhI7Mhw.js +1 -0
  62. package/dist/assets/{PrivacyApp-A2Bu6LVd.js → PrivacyApp-Ki_5bM9Z.js} +10 -3
  63. package/dist/assets/ReplayCard-WKBKeSKc.js +2 -0
  64. package/dist/assets/ReplayOverlay-PFSJv540.js +1 -0
  65. package/dist/assets/{RewindOverlay-BO7YgDsW.js → RewindOverlay-okltPbfw.js} +1 -1
  66. package/dist/assets/{RippleApp-BXt7tenS.js → RippleApp-DqVyZYKV.js} +2 -2
  67. package/dist/assets/{RippleAskController-BzdwYcYY.js → RippleAskController-BqnazbZ7.js} +1 -1
  68. package/dist/assets/{RippleOverlay-BSxubBwj.js → RippleOverlay-4McJCSV8.js} +2 -2
  69. package/dist/assets/{SeeDontRead-0He5hS2C.js → SeeDontRead-gARjJuF7.js} +1 -1
  70. package/dist/assets/ShareModal-C5HVVMtQ.js +2 -0
  71. package/dist/assets/{ShipCourse-Dg6kCWyH.js → ShipCourse-BUm4TKUk.js} +1 -1
  72. package/dist/assets/{SignatureLoop-QPwB2oNN.js → SignatureLoop-CYspJuij.js} +1 -1
  73. package/dist/assets/SynthesisApp-BNhF9aJ2.js +2 -0
  74. package/dist/assets/SynthesisOverlay-Bvwdc8uQ.js +66 -0
  75. package/dist/assets/TemplatePicker-DBa4lkpf.js +1 -0
  76. package/dist/assets/{TermsApp-zcPDYfuh.js → TermsApp-BvwDtgIz.js} +5 -3
  77. package/dist/assets/TopicCanvas-Cwc6-K3q.js +2 -0
  78. package/dist/assets/{TourPrism-DbinDupp.js → TourPrism-CCjys3-x.js} +1 -1
  79. package/dist/assets/{TrackerTile-CrT9u1I4.js → TrackerTile-B4j5qtop.js} +2 -2
  80. package/dist/assets/{TwoSurfaces-L0CDuyOZ.js → TwoSurfaces-fGm1MJrD.js} +1 -1
  81. package/dist/assets/WorldOverlay-CLWtwuSl.css +1 -0
  82. package/dist/assets/WorldOverlay-JOp1rLyU.js +2 -0
  83. package/dist/assets/{WowFeatures-CwBk4ZMO.js → WowFeatures-D5dJvp9W.js} +1 -1
  84. package/dist/assets/{ZoomDeck-DlnesweX.js → ZoomDeck-DYmkT0TA.js} +1 -1
  85. package/dist/assets/{alternateFinishes-Cgks49KV.js → alternateFinishes-BHcX08Hs.js} +2 -2
  86. package/dist/assets/annotationAuto-B8_I3PNS.js +1 -0
  87. package/dist/assets/annotationReel-BA8Fv9Or.js +1 -0
  88. package/dist/assets/audioTrack-BJ2D_nuy.js +1 -0
  89. package/dist/assets/{BlockEmpty-B82uCse8.js → axis-DHAV38YM.js} +1 -1
  90. package/dist/assets/backup-DkCsHNEE.js +1 -0
  91. package/dist/assets/cache-7UEbF3S6.js +1 -0
  92. package/dist/assets/canvas-CYrbzF43.js +1 -0
  93. package/dist/assets/capture-Y6Qm8zCN.js +2 -0
  94. package/dist/assets/{catalog-Db9GWM6N.js → catalog-CRekRbKO.js} +1 -1
  95. package/dist/assets/chapters-DcdG3Lu8.js +1 -0
  96. package/dist/assets/{codeContext-goNoLAIr.js → codeContext-CFnI3GLf.js} +1 -1
  97. package/dist/assets/{confirmAdd-CZ829Mbx.js → confirmAdd-D-TTCQ31.js} +1 -1
  98. package/dist/assets/contentVault-XKWjF2FB.js +1 -0
  99. package/dist/assets/{dashboardEvents-CiayRLrH.js → dashboardEvents-MzCzak6K.js} +1 -1
  100. package/dist/assets/{deepen-DAeHHFiI.js → deepen-FZiVqiEc.js} +1 -1
  101. package/dist/assets/effort-BftNJCCV.js +39 -0
  102. package/dist/assets/empty-D51uhW0E.js +1 -0
  103. package/dist/assets/explode-niun7Zqc.js +15 -0
  104. package/dist/assets/{format-g3dP8OI3.js → format-BkvssSOr.js} +1 -1
  105. package/dist/assets/{generate-COfYQFmT.js → generate-BZobrQPX.js} +1 -1
  106. package/dist/assets/{generateBeats-COflu5Zi.js → generateBeats-Dqtfd8HC.js} +1 -1
  107. package/dist/assets/generateCourse-DPL0bO3L.js +28 -0
  108. package/dist/assets/generateLive-B7nlaqz8.js +24 -0
  109. package/dist/assets/{gesture-Bouqjr3g.js → gesture-BBS5nQEi.js} +2 -2
  110. package/dist/assets/{githubBrowser-BDiuD9dz.js → githubBrowser-CErQprLW.js} +1 -1
  111. package/dist/assets/homeTarget-CDc-r2mj.js +1 -0
  112. package/dist/assets/http-Bqk6nJiH.js +2 -0
  113. package/dist/assets/index-CFE0vqqO.css +1 -0
  114. package/dist/assets/{index-LiHcEJt_.js → index-Db-FgYxX.js} +4 -4
  115. package/dist/assets/json-J4Y32_i9.js +1 -0
  116. package/dist/assets/kokoro-yB7iU_JU.js +1 -0
  117. package/dist/assets/{ledger-Cv0LBflx.js → ledger-DHS2di3l.js} +1 -1
  118. package/dist/assets/lens-DyGK7Owa.js +1 -0
  119. package/dist/assets/{lib-u95BsX_B.js → lib-Dkb5WBRc.js} +1 -1
  120. package/dist/assets/liveSchema-Z_39HuDI.js +125 -0
  121. package/dist/assets/{loader-DgMLGfAC.js → loader-Ciz6XbG-.js} +2 -2
  122. package/dist/assets/{model-CAewjw45.js → model-FR-9md4s.js} +1 -1
  123. package/dist/assets/{neighborhoods-CqECCmo8.js → neighborhoods-B56WegJs.js} +1 -1
  124. package/dist/assets/notes-CEloxKQ3.js +1 -0
  125. package/dist/assets/offers-eBNj_lSP.js +1 -0
  126. package/dist/assets/{openWorld-BHTJM39n.js → openWorld-B4VY6xO7.js} +1 -1
  127. package/dist/assets/{owners-HRBX7JN_.js → owners-CP-4Q59L.js} +1 -1
  128. package/dist/assets/{pen-DtEW1xf4.js → pen-UKrUHlDA.js} +1 -1
  129. package/dist/assets/{penStrokes-DlHnO9xE.js → penStrokes-CTC3AYiz.js} +1 -1
  130. package/dist/assets/{perfProbe-ezVn1mOu.js → perfProbe-DrOeB7yd.js} +1 -1
  131. package/dist/assets/{pin-BPGVDgnq.js → pin-C5_s4Ju5.js} +1 -1
  132. package/dist/assets/{planTracker-BwoKEftp.js → planTracker-BA-x4jbw.js} +1 -1
  133. package/dist/assets/{portal-B9DmFo6J.js → portal-TqJbr2rR.js} +1 -1
  134. package/dist/assets/prewarm-Bt5X_9CM.js +1 -0
  135. package/dist/assets/providers-CPhoN8j0.js +1 -0
  136. package/dist/assets/quietHours-LtXDl4-v.js +1 -0
  137. package/dist/assets/{ready-yBSGJubb.js → ready-_sg3IJkE.js} +1 -1
  138. package/dist/assets/{registry-7tKTrzeZ.js → registry-BHDUu15I.js} +1 -1
  139. package/dist/assets/{registry-D06LKiUk.js → registry-BPLbZIVz.js} +1 -1
  140. package/dist/assets/registry-BQuygaKz.js +1 -0
  141. package/dist/assets/registry-B_wlsfxh.js +1 -0
  142. package/dist/assets/{registry-Bl2qfp5V.js → registry-Bjf2Ggs6.js} +1 -1
  143. package/dist/assets/{registry-CE1T0z9x.js → registry-BmjYillB.js} +1 -1
  144. package/dist/assets/{registry-DGNSqTxE.js → registry-BodYWiga.js} +1 -1
  145. package/dist/assets/{registry-Bl7zAWKt.js → registry-BwlvYVHq.js} +1 -1
  146. package/dist/assets/{registry-BJEvFgoL.js → registry-BxkAuBx8.js} +1 -1
  147. package/dist/assets/{registry-BdHj_oIs.js → registry-C3bIc5Kp.js} +1 -1
  148. package/dist/assets/{registry-CEV5h2cu.css → registry-CIcGBgtK.css} +1 -1
  149. package/dist/assets/{registry-BlujNlQJ.js → registry-CfIJ9dJS.js} +1 -1
  150. package/dist/assets/{registry-CvylL2BN.css → registry-CmWPyj7Q.css} +1 -1
  151. package/dist/assets/{registry-BDXwUn3i.js → registry-CvtHBjkb.js} +1 -1
  152. package/dist/assets/{registry-Dd1lcXrO.js → registry-Cz5cZREW.js} +2 -2
  153. package/dist/assets/registry-Di1fTdpi.js +48 -0
  154. package/dist/assets/registry-GxnzELw0.js +1 -0
  155. package/dist/assets/{registry-Cgo4C0ux.js → registry-JRteQJcE.js} +1 -1
  156. package/dist/assets/registry-MwJlqlFZ.js +1 -0
  157. package/dist/assets/{registry-B53EEn8S.js → registry-YrewlFlo.js} +1 -1
  158. package/dist/assets/{registry-qRfnKTt4.js → registry-uiAoJKXu.js} +1 -1
  159. package/dist/assets/{relate-aQFFr11O.js → relate-CCma73G9.js} +1 -1
  160. package/dist/assets/{replay-CalqEgdW.js → replay-dMDmsTaD.js} +1 -1
  161. package/dist/assets/{run-CwMSPOps.js → run-BVgCc5Xi.js} +1 -1
  162. package/dist/assets/{run-DCQrxgHA.js → run-CW67JOGe.js} +1 -1
  163. package/dist/assets/{run-CuHaB8wF.js → run-DqsfL9JC.js} +1 -1
  164. package/dist/assets/{select-wEtBn9U6.js → select-BuqyXI8k.js} +1 -1
  165. package/dist/assets/sentenceCase-CLDiNB0f.js +1 -0
  166. package/dist/assets/shard054-CNzJxw2V.js +1 -0
  167. package/dist/assets/shard070-BmNyRhxw.js +1 -0
  168. package/dist/assets/spokenText-Dy-GZvZV.js +1 -0
  169. package/dist/assets/store-C9s8Bfz0.js +1 -0
  170. package/dist/assets/store-CgA7mKy1.js +1 -0
  171. package/dist/assets/store-D16dGt7I.js +1 -0
  172. package/dist/assets/{store-BWLbFXiY.js → store-DqOaVRLn.js} +1 -1
  173. package/dist/assets/store-gfPI5TVE.js +1 -0
  174. package/dist/assets/useDashboardLoop-Cnxmf7wU.js +5 -0
  175. package/dist/assets/{useDashboards-lgQnk2Al.js → useDashboards-B-EjE8FH.js} +1 -1
  176. package/dist/assets/{useLedger-1WVXef68.js → useLedger-D4cXEwI0.js} +1 -1
  177. package/dist/assets/useLiveConfig-CvOQTr0s.js +1 -0
  178. package/dist/assets/useStudy-70Iz4ZVn.js +1 -0
  179. package/dist/assets/validate-MQG0EcTD.js +4 -0
  180. package/dist/assets/walkSync-D6leFb_u.js +1 -0
  181. package/dist/fonts/LICENSE.txt +2 -0
  182. package/dist/fonts/PROVENANCE.md +1 -0
  183. package/dist/fonts/caveat-var-latin.woff2 +0 -0
  184. package/dist/fonts/fonts.css +10 -0
  185. package/dist/index.html +6 -2
  186. package/dist/legal/PRIVACY.md +9 -2
  187. package/dist/legal/SECURITY.md +1 -1
  188. package/dist/legal/TERMS.md +4 -2
  189. package/dist/legal/TRADEMARKS.md +3 -1
  190. package/docs/media/go-hub.jpg +0 -0
  191. package/docs/media/living-answer.jpg +0 -0
  192. package/package.json +1 -1
  193. package/dist/assets/AnnotationLayer-Cccb12ps.js +0 -0
  194. package/dist/assets/AnnotationLayer-ClU-e6qL.css +0 -1
  195. package/dist/assets/BriefingPlayer-74mRKyjl.js +0 -1
  196. package/dist/assets/ConversationVideoStudio-DMIPUCcq.js +0 -1
  197. package/dist/assets/CourseLessonReader-COmTQdSK.css +0 -1
  198. package/dist/assets/CourseLessonReader-D29Kix4f.js +0 -2
  199. package/dist/assets/CoursesApp-DcDsS_ZS.js +0 -2
  200. package/dist/assets/DashboardDetail-BrnAdWfy.js +0 -2
  201. package/dist/assets/DashboardLoopGate-NxMcQ4rD.js +0 -2
  202. package/dist/assets/DashboardLoopRuntime-Dsy9u1wa.js +0 -1
  203. package/dist/assets/DashboardsApp-DxyMn3x_.js +0 -2
  204. package/dist/assets/DeepZoomApp-nNjqoyYE.js +0 -37
  205. package/dist/assets/DelegatePanel-DN_ZL0j7.js +0 -33
  206. package/dist/assets/ExportModal-D4WpAg2c.css +0 -1
  207. package/dist/assets/FeatureUseNotice-Bda9jr3W.js +0 -1
  208. package/dist/assets/GalleryApp-ot_A7ZF-.js +0 -1
  209. package/dist/assets/LegalApp-C56kWdmK.js +0 -1
  210. package/dist/assets/Library-CVj7R6F4.js +0 -1
  211. package/dist/assets/LiveApp-B62EMybC.js +0 -79
  212. package/dist/assets/LiveApp-CziqEsOb.css +0 -1
  213. package/dist/assets/LiveSettings-BITIaMoT.js +0 -6
  214. package/dist/assets/PresentationDeck-CfYadu9V.js +0 -1
  215. package/dist/assets/PrismApp-bRKK_3JA.js +0 -2
  216. package/dist/assets/PrismBriefingPlayer-ChJj6hSS.js +0 -2
  217. package/dist/assets/PrismOverlay-BwnF4BEn.css +0 -1
  218. package/dist/assets/PrismOverlay-Pp6ZKmTc.js +0 -105
  219. package/dist/assets/PrismWorkbench-BCV7r4Oa.js +0 -1
  220. package/dist/assets/ReplayCard-B6NYiYzQ.js +0 -2
  221. package/dist/assets/ReplayOverlay-BJKtJ-vc.js +0 -1
  222. package/dist/assets/ShareModal-xYdZWJxy.js +0 -2
  223. package/dist/assets/SynthesisApp-DrCq6NDa.js +0 -2
  224. package/dist/assets/SynthesisOverlay-DCa-2Pz_.js +0 -66
  225. package/dist/assets/TopicCanvas-Bw4bMFpe.js +0 -2
  226. package/dist/assets/WorldOverlay-BcjqG1BR.js +0 -2
  227. package/dist/assets/WorldOverlay-D7ay5y4D.css +0 -1
  228. package/dist/assets/annotationAuto-B2UdfJNj.js +0 -1
  229. package/dist/assets/annotationReel-K2FYv-3B.js +0 -1
  230. package/dist/assets/backup-685QrAjt.js +0 -1
  231. package/dist/assets/cache-CvbSI-pr.js +0 -1
  232. package/dist/assets/canvas-C3O7MEA3.js +0 -1
  233. package/dist/assets/capture-DgJLQ_0-.js +0 -2
  234. package/dist/assets/chapters-CIvdCeBC.js +0 -1
  235. package/dist/assets/contentVault-xfUwSJ3i.js +0 -1
  236. package/dist/assets/effort-jJe4iMIq.js +0 -39
  237. package/dist/assets/empty-BO1NC9qY.js +0 -1
  238. package/dist/assets/explode-CPnvJiTg.js +0 -15
  239. package/dist/assets/friendlyAsk-BBdRZIar.js +0 -1
  240. package/dist/assets/generateCourse-BldPpgdh.js +0 -28
  241. package/dist/assets/generateLive-DGwnpIip.js +0 -24
  242. package/dist/assets/homeTarget-CwFsJYwb.js +0 -1
  243. package/dist/assets/http-Lar_UMKb.js +0 -2
  244. package/dist/assets/index-BIUYTk1W.css +0 -1
  245. package/dist/assets/json-B0N3XRZU.js +0 -1
  246. package/dist/assets/kokoro-DXRj0KQX.js +0 -1
  247. package/dist/assets/lens-ChFJD9il.js +0 -1
  248. package/dist/assets/liveSchema-DyfND6P2.js +0 -100
  249. package/dist/assets/notes-DzIAEESd.js +0 -1
  250. package/dist/assets/prewarm-BgUqAJbF.js +0 -1
  251. package/dist/assets/providers-0DthJW_I.js +0 -1
  252. package/dist/assets/quietHours-DyynzDyC.js +0 -1
  253. package/dist/assets/registry-BQzvA61G.js +0 -1
  254. package/dist/assets/registry-BT6ydF33.js +0 -1
  255. package/dist/assets/registry-CPImC7mO.js +0 -1
  256. package/dist/assets/registry-KRYoVMCh.js +0 -48
  257. package/dist/assets/registry-QbArAJKB.js +0 -1
  258. package/dist/assets/shard054-BoC-LNYu.js +0 -1
  259. package/dist/assets/shard070-Dm9m2a5U.js +0 -1
  260. package/dist/assets/spokenText-C88IQJ0M.js +0 -1
  261. package/dist/assets/store-Ba9vzL4H.js +0 -1
  262. package/dist/assets/store-BwyOArJl.js +0 -1
  263. package/dist/assets/store-D-f8ZuaK.js +0 -1
  264. package/dist/assets/store-ruEsXJjU.js +0 -1
  265. package/dist/assets/useDashboardLoop-ifcuVRo-.js +0 -5
  266. package/dist/assets/useLiveConfig-B4CmBiAK.js +0 -1
  267. package/dist/assets/useStudy-CySgE3Cx.js +0 -1
  268. package/dist/assets/validate-sGUCmPAs.js +0 -4
  269. package/dist/assets/walkSync-DBne70gg.js +0 -1
  270. /package/dist/assets/{BriefingPlayer-DHV4vMga.css → PrismBriefingPlayer-DHV4vMga.css} +0 -0
@@ -0,0 +1 @@
1
+ .ex-page,.ex-measure-host{overflow-wrap:break-word}.ex-page *,.ex-measure-host *{min-width:0}.mavea-export-doc{display:none}@media print{@page mavea-export{size:Letter;margin:0}@page mavea-export-a4{size:A4;margin:0}body.mavea-printing>:not(.mavea-export-doc){display:none!important}body.mavea-printing .mavea-export-doc{display:block!important}.mavea-export-doc *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.mavea-export-doc .ex-doc{gap:0!important;display:block!important}.mavea-export-doc .ex-page{page:mavea-export;break-after:page;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-doc .ex-page[data-format=a4]{page:mavea-export-a4}.mavea-export-doc .ex-page:last-child{break-after:auto}@page mavea-slide{size:1920px 1080px;margin:0}.mavea-export-slides .slide-page{page:mavea-slide;break-after:page;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-slides .slide-page:last-child{break-after:auto}@page mavea-slide-notes{size:1920px 1400px;margin:0}.mavea-export-slides-notes .slide-page-notes{page:mavea-slide-notes;break-after:page;background:#fff;flex-direction:column;display:flex}.mavea-export-slides-notes .slide-page-notes:last-child{break-after:auto}.mavea-export-slides-notes .slide-page{flex:none;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-slides-notes .slide-notes-block{box-sizing:border-box;color:#16181d;background:#fff;flex:none;height:320px;padding:32px 56px;font-family:-apple-system,system-ui,sans-serif;overflow:hidden}.mavea-export-slides-notes .slide-notes-label{letter-spacing:.1em;text-transform:uppercase;color:#767b85;margin-bottom:10px;font-size:16px;font-weight:700}.mavea-export-slides-notes .slide-notes-text{margin:0;font-size:30px;line-height:1.45}}
@@ -1,4 +1,4 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{t as r}from"./useFocusTrap-CJmpNZv2.js";import{i}from"./store-ruEsXJjU.js";import{S as a,X as o,Y as s,a as c,d as l,f as u,m as d}from"./store-Ba9vzL4H.js";import{t as f}from"./providers-0DthJW_I.js";import{l as p,n as m}from"./useLiveConfig-B4CmBiAK.js";import{r as h}from"./store-BwyOArJl.js";import{t as g}from"./json-B0N3XRZU.js";import{t as _}from"./route-D4kd-D3B.js";import{c as v,l as y}from"./useDashboardLoop-ifcuVRo-.js";import{i as b,n as ee,r as x}from"./confirmAdd-CZ829Mbx.js";/* empty css */import{t as S}from"./relate-aQFFr11O.js";var C=e(),w=t(),T=new Set([`gt`,`gte`,`lt`,`lte`,`crosses_up`,`crosses_down`,`pct_drop`,`pct_rise`]),E=`You extract a LIVING DASHBOARD from a conversation. The user has been talking through a thesis, goal, project, or set of relationships. Capture their reasoning faithfully so we can later tell them when reality moves AGAINST it.
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{t as r}from"./useFocusTrap-CJmpNZv2.js";import{i}from"./store-gfPI5TVE.js";import{r as a}from"./store-C9s8Bfz0.js";import{S as o,X as s,Y as c,a as l,d as u,f as d,m as f}from"./store-D16dGt7I.js";import{t as p}from"./providers-CPhoN8j0.js";import{n as m,u as h}from"./useLiveConfig-CvOQTr0s.js";import{t as g}from"./json-J4Y32_i9.js";import{t as _}from"./route-D4kd-D3B.js";import{c as v,l as y}from"./useDashboardLoop-Cnxmf7wU.js";import{i as b,n as ee,r as x}from"./confirmAdd-D-TTCQ31.js";/* empty css */import{t as S}from"./relate-CCma73G9.js";var C=e(),w=t(),T=new Set([`gt`,`gte`,`lt`,`lte`,`crosses_up`,`crosses_down`,`pct_drop`,`pct_rise`]),E=`You extract a LIVING DASHBOARD from a conversation. The user has been talking through a thesis, goal, project, or set of relationships. Capture their reasoning faithfully so we can later tell them when reality moves AGAINST it.
2
2
 
3
3
  Return ONLY a JSON object, no prose, with this shape:
4
4
  {
@@ -15,4 +15,4 @@ HARD RULES:
15
15
  - comparator is one of: gt, gte, lt, lte, crosses_up, crosses_down, pct_drop, pct_rise.
16
16
  - If a metric's value is the user's to supply (their weekly mileage, a private target), set "userSupplied": true and leave "query": "". Otherwise give a concrete web-search query for it.
17
17
  - Keep it tight: at most 6 metrics and 6 tripwires. Each tripwire's metricLabel must match a metric's label.
18
- - SINGLE TOPIC ONLY: extract components for the ONE subject the most recent messages are actually about. If any earlier line in this transcript is about a different, unrelated subject, ignore it completely — a number being quantifiable does not make it "a metric worth watching" if it's off-topic. When unsure whether two lines share a subject, prefer fewer, coherent metrics over mixing subjects.`,D=`From the conversation above, extract the living dashboard as a single JSON object following the schema and rules exactly.`;function O(e,t){if(e&&typeof e==`object`){let n=e.text;if(typeof n==`string`&&n.trim()){let r=e.saidAt;return{text:n.trim(),saidAt:typeof r==`number`?r:t}}}return null}function k(e,t=Date.now()){if(!e||typeof e!=`object`)return null;let n=e,r=O(n.thesis,t);if(!r)return null;let i=Array.isArray(n.metrics)?n.metrics:[],a=[];for(let e of i.slice(0,6)){if(!e||typeof e!=`object`)continue;let n=e,r=typeof n.label==`string`?n.label.trim():``;if(!r)continue;let i=n.userSupplied===!0,o=typeof n.query==`string`?n.query.trim():``;!o&&!i||a.push({label:r,query:i?``:o,...typeof n.unit==`string`&&n.unit?{unit:n.unit}:{},sourceQuote:O(n.sourceQuote,t)??{text:r,saidAt:t},userSupplied:i})}let o=new Set(a.map(e=>e.label)),s=Array.isArray(n.tripwires)?n.tripwires:[],c=[];for(let e of s.slice(0,6)){if(!e||typeof e!=`object`)continue;let n=e,r=n.comparator,i=n.threshold,a=O(n.sourceQuote,t),s=typeof n.metricLabel==`string`?n.metricLabel:``;T.has(r)&&(typeof i!=`number`||!Number.isFinite(i)||a&&o.has(s)&&c.push({label:typeof n.label==`string`&&n.label?n.label:s,comparator:r,threshold:i,...typeof n.unit==`string`&&n.unit?{unit:n.unit}:{},sourceQuote:a,metricLabel:s}))}let l=(Array.isArray(n.widgets)?n.widgets:[]).filter(e=>!!e&&typeof e==`object`).map(e=>({metricLabel:typeof e.metricLabel==`string`?e.metricLabel:``,blockType:typeof e.blockType==`string`?e.blockType:`insight`,span:N(e.span)}));return{title:typeof n.title==`string`&&n.title.trim()?n.title.trim():`Untitled dashboard`,thesis:r,metrics:j(a,c,r),tripwires:M(c,a,r),suggestedWidgets:l}}function A(e,t){if(t.size===0)return!0;for(let n of v(e))if(t.has(n))return!0;return!1}function j(e,t,n){if(e.length<=1)return e;let r=v([n.text,...t.map(e=>e.sourceQuote.text)].join(` `)),i=new Set,a=!0;for(;a;){a=!1;for(let t of e){if(i.has(t)||t.userSupplied)continue;let e=`${t.label} ${t.sourceQuote.text}`;if(A(e,r)){i.add(t),a=!0;for(let t of v(e))r.add(t)}}}return e.filter(e=>e.userSupplied||i.has(e))}function M(e,t,n){return e.filter(e=>{let r=t.find(t=>t.label===e.metricLabel),i=v(`${n.text} ${e.metricLabel} ${r?.sourceQuote.text??``}`);return A(`${e.label} ${e.sourceQuote.text}`,i)})}function N(e){return e===2?2:e===3?3:1}function P(e){for(let t=e.length-1;t>=0;t--)if(e[t].mode===`replace`)return t;return 0}function F(e,t){return e.length===t.length*2?e.slice(P(t)*2).slice(-12):e.slice(-12)}async function I(e,t,n,r=Date.now()){try{let i=await f(n.provider).generate({system:E,history:F(e,t),user:D,maxTokens:1900,temperature:.2,thinkingLevel:`low`},n);return k(g(i.raw),r)}catch{return null}}function L(e,t,n=Date.now()){let r=[...e].reverse().find(e=>e.role===`user`),i=t[t.length-1],a=i?.spec.title||i?.question||`New dashboard`,o={text:r?.content?.trim()||a,saidAt:n},s=[],c=i?.spec.blocks??[];for(let e of c){if(s.length>=4)break;let t=e.props?.title;(e.type===`insight`||e.type===`kpi`)&&typeof t==`string`&&t.trim()&&s.push({label:t.trim(),query:``,sourceQuote:{text:t.trim(),saidAt:n},userSupplied:!0})}return{title:a,thesis:o,metrics:s,tripwires:[],suggestedWidgets:[]}}function R(e,t){let n=t.now??Date.now(),r=a(),i=e.metrics.map((e,t)=>({id:`m${t}`,label:e.label,query:e.query,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,lastValue:null,origin:`empty`,...e.userSupplied?{blankKey:`m${t}`}:{}})),s=new Map(e.metrics.map((e,t)=>[e.label,`m${t}`])),c=e.tripwires.map((e,t)=>({id:`t${t}`,label:e.label,metricId:s.get(e.metricLabel)??``,comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,state:`AWAITING`})),l=[],u=0,d=(e,n,r)=>{l.push({id:`w${u++}`,block:e,span:n,fromSource:t.conversationId,...r?{metricId:r}:{}})};d({type:`thesis`,col:8,id:`w-thesis`,props:{reasoning:e.thesis.text}},2),d({type:`alignmentgauge`,col:4,id:`w-align`,props:{pct:null}},1),i.forEach(e=>{d({type:`insight`,col:4,id:`w-${e.id}`,num:String(u),props:{title:e.label,stat:`—`,conf:`inferred`,summary:e.sourceQuote.text}},1,e.id)}),c.length>0&&d({type:`standingalerts`,col:4,id:`w-alerts`,props:{alerts:[]}},1),d({type:`sourceslineage`,col:8,id:`w-sources`,props:{rows:[]}},2);let f=t.cadence??{data:`manual`,ai:`manual`},p=i.some(e=>e.query.trim()!==``&&!e.blankKey);return{id:r,title:e.title,question:t.conversationTitle,thesis:e.thesis,tripwires:c,metrics:i,sources:[{kind:`ORIGIN`,conversationId:t.conversationId,title:t.conversationTitle,contributed:`Created this dashboard from this conversation.`,at:n}],widgets:l,cadence:f,smartTrigger:!0,alerts:{inApp:!0,push:!1},createdAt:n,updatedAt:n,nextDataAt:o(f,n),nextAiAt:2**53-1,lastRefreshedAt:null,...p?{oneShotAt:n,oneShotLabel:`first check`}:{}}}function z(e,t,n,r=Date.now()){let i=new Set(e.metrics.map(e=>y(e.label))),a=new Map(e.metrics.map(e=>[y(e.label),e.id])),o=[],s=[],c=e.widgets.length;t.metrics.forEach((e,t)=>{if(i.has(y(e.label)))return;let l=`m-${r}-${t}`;o.push({id:l,label:e.label,query:e.query,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,lastValue:null,origin:`empty`,...e.userSupplied?{blankKey:l}:{}}),a.set(y(e.label),l),s.push({id:`w-${r}-${t}`,block:{type:`insight`,col:4,id:`wadd-${r}-${t}`,num:String(++c),props:{title:e.label,stat:`—`,conf:`inferred`,summary:e.sourceQuote.text}},span:1,fromSource:n,metricId:l})});let l=new Set(e.tripwires.map(e=>y(e.label))),d=t.tripwires.filter(e=>a.has(y(e.metricLabel))&&!l.has(y(e.label))).map((e,t)=>({id:`t-${r}-${t}`,label:e.label,metricId:a.get(y(e.metricLabel)),comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,state:`AWAITING`})),f=o.length+d.length,p=[];o.length&&p.push(`${o.length} metric${o.length>1?`s`:``}`),d.length&&p.push(`${d.length} alert${d.length>1?`s`:``}`);let m={kind:`ADDED`,conversationId:y(n),title:n,contributed:p.length?`Added: ${p.join(` + `)}`:`Linked this conversation.`,at:r};return u(e.id,{metrics:o,tripwires:d,widgets:s,source:m}),f}var B=n();function V(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}function H(){let e=[],t=``,n=i();if(n&&n.frames.length>0){let r=n.frames[P(n.frames)];t=r.question||r.spec.title||`Your latest conversation`,e.push({id:`session`,label:t,history:n.history,frames:n.frames,title:t,live:!0})}for(let n of h()){let r=n.title||n.question;if(t&&V(r)===V(t))continue;let i={question:n.question,narration:``,mode:`replace`,tour:[],at:n.savedAt,spec:n.spec};e.push({id:`lib-`+n.id,label:r,history:[{role:`user`,content:n.question}],frames:[i],title:r,live:!1})}return e}function U(e){let t=[{text:e.thesis.text,tag:`GOAL`}];return e.tripwires.forEach(e=>t.push({text:e.sourceQuote.text,tag:`RISK`})),e.metrics.forEach(e=>t.push({text:e.sourceQuote.text,tag:`METRIC`})),t.filter(e=>e.text.trim().length>2)}function te(e,t){let n=e.toLowerCase();for(let r of t){let t=n.indexOf(r.text.toLowerCase());if(t>=0)return(0,B.jsxs)(B.Fragment,{children:[e.slice(0,t),(0,B.jsxs)(`mark`,{className:`xt-hl xt-${r.tag.toLowerCase()}`,children:[e.slice(t,t+r.text.length),(0,B.jsx)(`span`,{className:`xt-tag`,children:r.tag})]}),e.slice(t+r.text.length)]})}return e}function W({onClose:e,initialSourceId:t}){let n=(0,C.useRef)(null);r(n,{onEscape:e});let i=(0,C.useMemo)(H,[]),[a,o]=(0,C.useState)(()=>t&&i.some(e=>e.id===t)?t:i[0]?.id??``),u=(0,C.useMemo)(()=>i.find(e=>e.id===a)??null,[i,a]),[f,h]=(0,C.useState)(!0),[g,v]=(0,C.useState)(null),[y,w]=(0,C.useState)(``),[T,E]=(0,C.useState)(new Set),[D,O]=(0,C.useState)(new Set),[k,A]=(0,C.useState)(null),j=(0,C.useRef)(``),[M,N]=(0,C.useState)(`manual`);(0,C.useEffect)(()=>{if(!u||j.current===u.id)return;j.current=u.id,h(!0),E(new Set),O(new Set);let e=!1,t=p(m()),n=!!t.apiKey,r=()=>L(u.history,u.frames),i=t=>{e||(v(t),w(t.title),h(!1))};return n&&u.live?I(u.history,u.frames,t).then(e=>i(e??r())).catch(()=>i(r())):i(r()),()=>{e=!0}},[u]);let P=(0,C.useMemo)(()=>g?U(g):[],[g]),F=(0,C.useMemo)(()=>d(),[]),W=(0,C.useMemo)(()=>new Set((g?.metrics??[]).filter((e,t)=>!T.has(t)).map(e=>e.label)),[g,T]),q=()=>g?{...g,title:y.trim()||g.title,metrics:g.metrics.filter((e,t)=>!T.has(t)),tripwires:g.tripwires.filter((e,t)=>!D.has(t)&&W.has(e.metricLabel))}:null,[J,Y]=(0,C.useState)(!1),[X,Z]=(0,C.useState)(null),Q=(0,C.useRef)(!0);(0,C.useEffect)(()=>(Q.current=!0,()=>{Q.current=!1}),[]);let ne=async()=>{let t=q();if(!t||!u||J)return;let n=R(t,{conversationId:V(u.title),conversationTitle:u.title,cadence:{data:M,ai:`manual`}});c(n),Y(!0),Z(null);let r=await b(n.id,null);if(Q.current){if(Y(!1),r!==`confirmed`){Z(x(r,!0));return}e(),window.location.hash=_.detail(n.id)}},$=async t=>{let n=q();if(!n||!u||J)return;let r=ee(t);z(t,n,u.title),l(t.id),Y(!0),Z(null);let i=await b(t.id,r);if(Q.current){if(Y(!1),i!==`confirmed`){Z(x(i,!1));return}e(),window.location.hash=_.detail(t.id)}},re=e=>{if(k===e.id){$(e);return}let t=q();if(!t)return;let n=S(F,{text:`${t.title} ${t.thesis.text}`});if(!n||n.id!==e.id){A(e.id);return}$(e)};return(0,B.jsx)(`div`,{className:`xt-scrim`,onClick:t=>{t.target===t.currentTarget&&e()},role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.key===` `&&t.preventDefault(),e())},children:(0,B.jsxs)(`div`,{className:`xt-modal`,ref:n,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`What Mavéa found in your conversation`,children:[(0,B.jsxs)(`div`,{className:`xt-head`,children:[(0,B.jsx)(`span`,{className:`xt-head-title`,children:`What Mavéa found in your conversation`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-close`,onClick:e,"aria-label":`Close`,children:`×`})]}),i.length===0?(0,B.jsxs)(`div`,{className:`xt-empty`,children:[(0,B.jsx)(`p`,{className:`dash-empty-title`,children:`No conversation to track yet.`}),(0,B.jsxs)(`p`,{className:`dash-empty-how`,children:[`Have a conversation in `,(0,B.jsx)(`a`,{href:`#/live`,children:`Live`}),` — talk through a goal, a decision, or something you’re tracking — then come back here to turn it into a living dashboard.`]})]}):(0,B.jsxs)(B.Fragment,{children:[i.length>1&&(0,B.jsxs)(`div`,{className:`xt-pick`,children:[(0,B.jsx)(`span`,{className:`xt-pick-label`,children:`Build from`}),(0,B.jsx)(`div`,{className:`xt-pick-chips`,children:i.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`xt-pick-chip`+(e.id===a?` is-active`:``),onClick:()=>o(e.id),title:e.title,children:[e.live?`● `:``,e.label]},e.id))})]}),f?(0,B.jsx)(`div`,{className:`xt-loading`,children:`Reading your conversation…`}):g&&u?(0,B.jsxs)(`div`,{className:`xt-split`,children:[(0,B.jsxs)(`div`,{className:`xt-left`,children:[(0,B.jsx)(`div`,{className:`xt-section-label`,children:u.live?`Your words`:`The conversation`}),u.history.filter(e=>e.role===`user`).map((e,t)=>(0,B.jsx)(`p`,{className:`xt-line`,children:te(e.content,P)},t))]}),(0,B.jsxs)(`div`,{className:`xt-right`,children:[(0,B.jsx)(`div`,{className:`xt-section-label`,children:`Components — include or remove`}),(0,B.jsxs)(`div`,{className:`xt-comp xt-comp--goal`,children:[(0,B.jsx)(`div`,{className:`xt-comp-head`,children:(0,B.jsx)(`span`,{className:`xt-comp-kind`,children:`GOAL`})}),(0,B.jsxs)(`div`,{className:`xt-comp-body`,children:[`“`,g.thesis.text,`”`]})]}),g.metrics.map((e,t)=>(0,B.jsx)(K,{kind:`METRIC`,body:`${e.label}${e.userSupplied?` · you’ll fill this`:``}`,on:!T.has(t),onToggle:()=>G(E,t)},`m${t}`)),g.tripwires.map((e,t)=>{let n=!W.has(e.metricLabel);return(0,B.jsx)(K,{kind:`RISK`,body:`Alert: ${e.label}`,on:!D.has(t)&&!n,onToggle:()=>G(O,t),lockedLabel:n?`Needs its metric`:void 0},`t${t}`)}),(0,B.jsxs)(`div`,{className:`xt-pick xt-cadence-pick`,children:[(0,B.jsx)(`span`,{className:`xt-pick-label`,children:`How often`}),(0,B.jsxs)(`div`,{className:`xt-pick-chips`,children:[(0,B.jsx)(`button`,{type:`button`,className:`xt-pick-chip`+(M===`manual`?` is-active`:``),"aria-pressed":M===`manual`,onClick:()=>N(`manual`),children:`Manual — only when you ask`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-pick-chip`+(M===`hourly`?` is-active`:``),"aria-pressed":M===`hourly`,onClick:()=>N(`hourly`),children:`Suggested — hourly checks`})]})]}),(0,B.jsx)(`p`,{className:`dash-plan-estimate`,children:s(M)>0?`≈ ${s(M)} searches/mo on your key, at this cadence — change it any time from the dashboard.`:`No standing searches — this refreshes only when you ask.`}),(0,B.jsxs)(`div`,{className:`xt-build-row`,children:[(0,B.jsx)(`input`,{className:`xt-name`,value:y,onChange:e=>w(e.target.value),"aria-label":`Dashboard name`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-build`,disabled:J,onClick:()=>void ne(),children:J?`Confirming live data…`:`Build dashboard →`})]}),J&&(0,B.jsx)(`p`,{className:`xt-confirm-err`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),X&&(0,B.jsx)(`p`,{className:`xt-confirm-err`,children:X}),F.length>0&&(0,B.jsxs)(`div`,{className:`xt-fold`,children:[(0,B.jsx)(`div`,{className:`xt-fold-label`,children:`Or add this conversation to an existing dashboard`}),(0,B.jsx)(`div`,{className:`xt-fold-chips`,children:F.map(e=>{let t=k===e.id;return(0,B.jsx)(`button`,{type:`button`,className:`xt-fold-chip`+(t?` xt-fold-armed`:``),onClick:()=>re(e),onMouseLeave:()=>t&&A(null),title:t?`This doesn’t look related to “${e.title}” — fold anyway?`:`Fold these into “${e.title}”`,children:t?`Doesn’t look related — fold anyway?`:`+ ${e.title}`},e.id)})})]})]})]}):null]})]})})}function G(e,t){e(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}function K(e){let t=(0,w.c)(17),{kind:n,body:r,on:i,onToggle:a,lockedLabel:o}=e,s;t[0]===n?s=t[1]:(s=n.toLowerCase(),t[0]=n,t[1]=s);let c=`xt-comp xt-comp--${s} ${i?``:`xt-off`}`,l;t[2]===n?l=t[3]:(l=(0,B.jsx)(`span`,{className:`xt-comp-kind`,children:n}),t[2]=n,t[3]=l);let u=o!==void 0,d=o??(i?`Included ✓`:`Removed ✕`),f;t[4]!==a||t[5]!==u||t[6]!==d?(f=(0,B.jsx)(`button`,{type:`button`,className:`xt-comp-toggle`,onClick:a,disabled:u,children:d}),t[4]=a,t[5]=u,t[6]=d,t[7]=f):f=t[7];let p;t[8]!==l||t[9]!==f?(p=(0,B.jsxs)(`div`,{className:`xt-comp-head`,children:[l,f]}),t[8]=l,t[9]=f,t[10]=p):p=t[10];let m;t[11]===r?m=t[12]:(m=(0,B.jsx)(`div`,{className:`xt-comp-body`,children:r}),t[11]=r,t[12]=m);let h;return t[13]!==c||t[14]!==p||t[15]!==m?(h=(0,B.jsxs)(`div`,{className:c,children:[p,m]}),t[13]=c,t[14]=p,t[15]=m,t[16]=h):h=t[16],h}export{W as ExtractionPreview};
18
+ - SINGLE TOPIC ONLY: extract components for the ONE subject the most recent messages are actually about. If any earlier line in this transcript is about a different, unrelated subject, ignore it completely — a number being quantifiable does not make it "a metric worth watching" if it's off-topic. When unsure whether two lines share a subject, prefer fewer, coherent metrics over mixing subjects.`,D=`From the conversation above, extract the living dashboard as a single JSON object following the schema and rules exactly.`;function O(e,t){if(e&&typeof e==`object`){let n=e.text;if(typeof n==`string`&&n.trim()){let r=e.saidAt;return{text:n.trim(),saidAt:typeof r==`number`?r:t}}}return null}function k(e,t=Date.now()){if(!e||typeof e!=`object`)return null;let n=e,r=O(n.thesis,t);if(!r)return null;let i=Array.isArray(n.metrics)?n.metrics:[],a=[];for(let e of i.slice(0,6)){if(!e||typeof e!=`object`)continue;let n=e,r=typeof n.label==`string`?n.label.trim():``;if(!r)continue;let i=n.userSupplied===!0,o=typeof n.query==`string`?n.query.trim():``;!o&&!i||a.push({label:r,query:i?``:o,...typeof n.unit==`string`&&n.unit?{unit:n.unit}:{},sourceQuote:O(n.sourceQuote,t)??{text:r,saidAt:t},userSupplied:i})}let o=new Set(a.map(e=>e.label)),s=Array.isArray(n.tripwires)?n.tripwires:[],c=[];for(let e of s.slice(0,6)){if(!e||typeof e!=`object`)continue;let n=e,r=n.comparator,i=n.threshold,a=O(n.sourceQuote,t),s=typeof n.metricLabel==`string`?n.metricLabel:``;T.has(r)&&(typeof i!=`number`||!Number.isFinite(i)||a&&o.has(s)&&c.push({label:typeof n.label==`string`&&n.label?n.label:s,comparator:r,threshold:i,...typeof n.unit==`string`&&n.unit?{unit:n.unit}:{},sourceQuote:a,metricLabel:s}))}let l=(Array.isArray(n.widgets)?n.widgets:[]).filter(e=>!!e&&typeof e==`object`).map(e=>({metricLabel:typeof e.metricLabel==`string`?e.metricLabel:``,blockType:typeof e.blockType==`string`?e.blockType:`insight`,span:N(e.span)}));return{title:typeof n.title==`string`&&n.title.trim()?n.title.trim():`Untitled dashboard`,thesis:r,metrics:j(a,c,r),tripwires:M(c,a,r),suggestedWidgets:l}}function A(e,t){if(t.size===0)return!0;for(let n of v(e))if(t.has(n))return!0;return!1}function j(e,t,n){if(e.length<=1)return e;let r=v([n.text,...t.map(e=>e.sourceQuote.text)].join(` `)),i=new Set,a=!0;for(;a;){a=!1;for(let t of e){if(i.has(t)||t.userSupplied)continue;let e=`${t.label} ${t.sourceQuote.text}`;if(A(e,r)){i.add(t),a=!0;for(let t of v(e))r.add(t)}}}return e.filter(e=>e.userSupplied||i.has(e))}function M(e,t,n){return e.filter(e=>{let r=t.find(t=>t.label===e.metricLabel),i=v(`${n.text} ${e.metricLabel} ${r?.sourceQuote.text??``}`);return A(`${e.label} ${e.sourceQuote.text}`,i)})}function N(e){return e===2?2:e===3?3:1}function P(e){for(let t=e.length-1;t>=0;t--)if(e[t].mode===`replace`)return t;return 0}function F(e,t){return e.length===t.length*2?e.slice(P(t)*2).slice(-12):e.slice(-12)}async function I(e,t,n,r=Date.now()){try{let i=await p(n.provider).generate({system:E,history:F(e,t),user:D,maxTokens:1900,temperature:.2,thinkingLevel:`low`},n);return k(g(i.raw),r)}catch{return null}}function L(e,t,n=Date.now()){let r=[...e].reverse().find(e=>e.role===`user`),i=t[t.length-1],a=i?.spec.title||i?.question||`New dashboard`,o={text:r?.content?.trim()||a,saidAt:n},s=[],c=i?.spec.blocks??[];for(let e of c){if(s.length>=4)break;let t=e.props?.title;(e.type===`insight`||e.type===`kpi`)&&typeof t==`string`&&t.trim()&&s.push({label:t.trim(),query:``,sourceQuote:{text:t.trim(),saidAt:n},userSupplied:!0})}return{title:a,thesis:o,metrics:s,tripwires:[],suggestedWidgets:[]}}function R(e,t){let n=t.now??Date.now(),r=o(),i=e.metrics.map((e,t)=>({id:`m${t}`,label:e.label,query:e.query,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,lastValue:null,origin:`empty`,...e.userSupplied?{blankKey:`m${t}`}:{}})),a=new Map(e.metrics.map((e,t)=>[e.label,`m${t}`])),c=e.tripwires.map((e,t)=>({id:`t${t}`,label:e.label,metricId:a.get(e.metricLabel)??``,comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,state:`AWAITING`})),l=[],u=0,d=(e,n,r)=>{l.push({id:`w${u++}`,block:e,span:n,fromSource:t.conversationId,...r?{metricId:r}:{}})};d({type:`thesis`,col:8,id:`w-thesis`,props:{reasoning:e.thesis.text}},2),d({type:`alignmentgauge`,col:4,id:`w-align`,props:{pct:null}},1),i.forEach(e=>{d({type:`insight`,col:4,id:`w-${e.id}`,num:String(u),props:{title:e.label,stat:`—`,conf:`inferred`,summary:e.sourceQuote.text}},1,e.id)}),c.length>0&&d({type:`standingalerts`,col:4,id:`w-alerts`,props:{alerts:[]}},1),d({type:`sourceslineage`,col:8,id:`w-sources`,props:{rows:[]}},2);let f=t.cadence??{data:`manual`,ai:`manual`},p=i.some(e=>e.query.trim()!==``&&!e.blankKey);return{id:r,title:e.title,question:t.conversationTitle,thesis:e.thesis,tripwires:c,metrics:i,sources:[{kind:`ORIGIN`,conversationId:t.conversationId,title:t.conversationTitle,contributed:`Created this dashboard from this conversation.`,at:n}],widgets:l,cadence:f,smartTrigger:!0,alerts:{inApp:!0,push:!1},createdAt:n,updatedAt:n,nextDataAt:s(f,n),nextAiAt:2**53-1,lastRefreshedAt:null,...p?{oneShotAt:n,oneShotLabel:`first check`}:{}}}function z(e,t,n,r=Date.now()){let i=new Set(e.metrics.map(e=>y(e.label))),a=new Map(e.metrics.map(e=>[y(e.label),e.id])),o=[],s=[],c=e.widgets.length;t.metrics.forEach((e,t)=>{if(i.has(y(e.label)))return;let l=`m-${r}-${t}`;o.push({id:l,label:e.label,query:e.query,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,lastValue:null,origin:`empty`,...e.userSupplied?{blankKey:l}:{}}),a.set(y(e.label),l),s.push({id:`w-${r}-${t}`,block:{type:`insight`,col:4,id:`wadd-${r}-${t}`,num:String(++c),props:{title:e.label,stat:`—`,conf:`inferred`,summary:e.sourceQuote.text}},span:1,fromSource:n,metricId:l})});let l=new Set(e.tripwires.map(e=>y(e.label))),u=t.tripwires.filter(e=>a.has(y(e.metricLabel))&&!l.has(y(e.label))).map((e,t)=>({id:`t-${r}-${t}`,label:e.label,metricId:a.get(y(e.metricLabel)),comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:e.sourceQuote,state:`AWAITING`})),f=o.length+u.length,p=[];o.length&&p.push(`${o.length} metric${o.length>1?`s`:``}`),u.length&&p.push(`${u.length} alert${u.length>1?`s`:``}`);let m={kind:`ADDED`,conversationId:y(n),title:n,contributed:p.length?`Added: ${p.join(` + `)}`:`Linked this conversation.`,at:r};return d(e.id,{metrics:o,tripwires:u,widgets:s,source:m}),f}var B=n();function V(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}function H(){let e=[],t=``,n=i();if(n&&n.frames.length>0){let r=n.frames[P(n.frames)];t=r.question||r.spec.title||`Your latest conversation`,e.push({id:`session`,label:t,history:n.history,frames:n.frames,title:t,live:!0})}for(let n of a()){let r=n.title||n.question;if(t&&V(r)===V(t))continue;let i={question:n.question,narration:``,mode:`replace`,tour:[],at:n.savedAt,spec:n.spec};e.push({id:`lib-`+n.id,label:r,history:[{role:`user`,content:n.question}],frames:[i],title:r,live:!1})}return e}function U(e){let t=[{text:e.thesis.text,tag:`GOAL`}];return e.tripwires.forEach(e=>t.push({text:e.sourceQuote.text,tag:`RISK`})),e.metrics.forEach(e=>t.push({text:e.sourceQuote.text,tag:`METRIC`})),t.filter(e=>e.text.trim().length>2)}function te(e,t){let n=e.toLowerCase();for(let r of t){let t=n.indexOf(r.text.toLowerCase());if(t>=0)return(0,B.jsxs)(B.Fragment,{children:[e.slice(0,t),(0,B.jsxs)(`mark`,{className:`xt-hl xt-${r.tag.toLowerCase()}`,children:[e.slice(t,t+r.text.length),(0,B.jsx)(`span`,{className:`xt-tag`,children:r.tag})]}),e.slice(t+r.text.length)]})}return e}function W({onClose:e,initialSourceId:t}){let n=(0,C.useRef)(null);r(n,{onEscape:e});let i=(0,C.useMemo)(H,[]),[a,o]=(0,C.useState)(()=>t&&i.some(e=>e.id===t)?t:i[0]?.id??``),s=(0,C.useMemo)(()=>i.find(e=>e.id===a)??null,[i,a]),[d,p]=(0,C.useState)(!0),[g,v]=(0,C.useState)(null),[y,w]=(0,C.useState)(``),[T,E]=(0,C.useState)(new Set),[D,O]=(0,C.useState)(new Set),[k,A]=(0,C.useState)(null),j=(0,C.useRef)(``),[M,N]=(0,C.useState)(`manual`);(0,C.useEffect)(()=>{if(!s||j.current===s.id)return;j.current=s.id,p(!0),E(new Set),O(new Set);let e=!1,t=h(m()),n=!!t.apiKey,r=()=>L(s.history,s.frames),i=t=>{e||(v(t),w(t.title),p(!1))};return n&&s.live?I(s.history,s.frames,t).then(e=>i(e??r())).catch(()=>i(r())):i(r()),()=>{e=!0}},[s]);let P=(0,C.useMemo)(()=>g?U(g):[],[g]),F=(0,C.useMemo)(()=>f(),[]),W=(0,C.useMemo)(()=>new Set((g?.metrics??[]).filter((e,t)=>!T.has(t)).map(e=>e.label)),[g,T]),q=()=>g?{...g,title:y.trim()||g.title,metrics:g.metrics.filter((e,t)=>!T.has(t)),tripwires:g.tripwires.filter((e,t)=>!D.has(t)&&W.has(e.metricLabel))}:null,[J,Y]=(0,C.useState)(!1),[X,Z]=(0,C.useState)(null),Q=(0,C.useRef)(!0);(0,C.useEffect)(()=>(Q.current=!0,()=>{Q.current=!1}),[]);let ne=async()=>{let t=q();if(!t||!s||J)return;let n=R(t,{conversationId:V(s.title),conversationTitle:s.title,cadence:{data:M,ai:`manual`}});l(n),Y(!0),Z(null);let r=await b(n.id,null);if(Q.current){if(Y(!1),r!==`confirmed`){Z(x(r,!0));return}e(),window.location.hash=_.detail(n.id)}},$=async t=>{let n=q();if(!n||!s||J)return;let r=ee(t);z(t,n,s.title),u(t.id),Y(!0),Z(null);let i=await b(t.id,r);if(Q.current){if(Y(!1),i!==`confirmed`){Z(x(i,!1));return}e(),window.location.hash=_.detail(t.id)}},re=e=>{if(k===e.id){$(e);return}let t=q();if(!t)return;let n=S(F,{text:`${t.title} ${t.thesis.text}`});if(!n||n.id!==e.id){A(e.id);return}$(e)};return(0,B.jsx)(`div`,{className:`xt-scrim`,onClick:t=>{t.target===t.currentTarget&&e()},role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:t=>{t.target===t.currentTarget&&(t.key===`Enter`||t.key===` `)&&(t.key===` `&&t.preventDefault(),e())},children:(0,B.jsxs)(`div`,{className:`xt-modal`,ref:n,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`What Mavéa found in your conversation`,children:[(0,B.jsxs)(`div`,{className:`xt-head`,children:[(0,B.jsx)(`span`,{className:`xt-head-title`,children:`What Mavéa found in your conversation`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-close`,onClick:e,"aria-label":`Close`,children:`×`})]}),i.length===0?(0,B.jsxs)(`div`,{className:`xt-empty`,children:[(0,B.jsx)(`p`,{className:`dash-empty-title`,children:`No conversation to track yet.`}),(0,B.jsxs)(`p`,{className:`dash-empty-how`,children:[`Have a conversation in `,(0,B.jsx)(`a`,{href:`#/live`,children:`Live`}),` — talk through a goal, a decision, or something you’re tracking — then come back here to turn it into a living dashboard.`]})]}):(0,B.jsxs)(B.Fragment,{children:[i.length>1&&(0,B.jsxs)(`div`,{className:`xt-pick`,children:[(0,B.jsx)(`span`,{className:`xt-pick-label`,children:`Build from`}),(0,B.jsx)(`div`,{className:`xt-pick-chips`,children:i.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`xt-pick-chip`+(e.id===a?` is-active`:``),onClick:()=>o(e.id),title:e.title,children:[e.live?`● `:``,e.label]},e.id))})]}),d?(0,B.jsx)(`div`,{className:`xt-loading`,children:`Reading your conversation…`}):g&&s?(0,B.jsxs)(`div`,{className:`xt-split`,children:[(0,B.jsxs)(`div`,{className:`xt-left`,children:[(0,B.jsx)(`div`,{className:`xt-section-label`,children:s.live?`Your words`:`The conversation`}),s.history.filter(e=>e.role===`user`).map((e,t)=>(0,B.jsx)(`p`,{className:`xt-line`,children:te(e.content,P)},t))]}),(0,B.jsxs)(`div`,{className:`xt-right`,children:[(0,B.jsx)(`div`,{className:`xt-section-label`,children:`Components — include or remove`}),(0,B.jsxs)(`div`,{className:`xt-comp xt-comp--goal`,children:[(0,B.jsx)(`div`,{className:`xt-comp-head`,children:(0,B.jsx)(`span`,{className:`xt-comp-kind`,children:`GOAL`})}),(0,B.jsxs)(`div`,{className:`xt-comp-body`,children:[`“`,g.thesis.text,`”`]})]}),g.metrics.map((e,t)=>(0,B.jsx)(K,{kind:`METRIC`,body:`${e.label}${e.userSupplied?` · you’ll fill this`:``}`,on:!T.has(t),onToggle:()=>G(E,t)},`m${t}`)),g.tripwires.map((e,t)=>{let n=!W.has(e.metricLabel);return(0,B.jsx)(K,{kind:`RISK`,body:`Alert: ${e.label}`,on:!D.has(t)&&!n,onToggle:()=>G(O,t),lockedLabel:n?`Needs its metric`:void 0},`t${t}`)}),(0,B.jsxs)(`div`,{className:`xt-pick xt-cadence-pick`,children:[(0,B.jsx)(`span`,{className:`xt-pick-label`,children:`How often`}),(0,B.jsxs)(`div`,{className:`xt-pick-chips`,children:[(0,B.jsx)(`button`,{type:`button`,className:`xt-pick-chip`+(M===`manual`?` is-active`:``),"aria-pressed":M===`manual`,onClick:()=>N(`manual`),children:`Manual — only when you ask`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-pick-chip`+(M===`hourly`?` is-active`:``),"aria-pressed":M===`hourly`,onClick:()=>N(`hourly`),children:`Suggested — hourly checks`})]})]}),(0,B.jsx)(`p`,{className:`dash-plan-estimate`,children:c(M)>0?`≈ ${c(M)} searches/mo on your key, at this cadence — change it any time from the dashboard.`:`No standing searches — this refreshes only when you ask.`}),(0,B.jsxs)(`div`,{className:`xt-build-row`,children:[(0,B.jsx)(`input`,{className:`xt-name`,value:y,onChange:e=>w(e.target.value),"aria-label":`Dashboard name`}),(0,B.jsx)(`button`,{type:`button`,className:`xt-build`,disabled:J,onClick:()=>void ne(),children:J?`Confirming live data…`:`Build dashboard →`})]}),J&&(0,B.jsx)(`p`,{className:`xt-confirm-err`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),X&&(0,B.jsx)(`p`,{className:`xt-confirm-err`,children:X}),F.length>0&&(0,B.jsxs)(`div`,{className:`xt-fold`,children:[(0,B.jsx)(`div`,{className:`xt-fold-label`,children:`Or add this conversation to an existing dashboard`}),(0,B.jsx)(`div`,{className:`xt-fold-chips`,children:F.map(e=>{let t=k===e.id;return(0,B.jsx)(`button`,{type:`button`,className:`xt-fold-chip`+(t?` xt-fold-armed`:``),onClick:()=>re(e),onMouseLeave:()=>t&&A(null),title:t?`This doesn’t look related to “${e.title}” — fold anyway?`:`Fold these into “${e.title}”`,children:t?`Doesn’t look related — fold anyway?`:`+ ${e.title}`},e.id)})})]})]})]}):null]})]})})}function G(e,t){e(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}function K(e){let t=(0,w.c)(17),{kind:n,body:r,on:i,onToggle:a,lockedLabel:o}=e,s;t[0]===n?s=t[1]:(s=n.toLowerCase(),t[0]=n,t[1]=s);let c=`xt-comp xt-comp--${s} ${i?``:`xt-off`}`,l;t[2]===n?l=t[3]:(l=(0,B.jsx)(`span`,{className:`xt-comp-kind`,children:n}),t[2]=n,t[3]=l);let u=o!==void 0,d=o??(i?`Included ✓`:`Removed ✕`),f;t[4]!==a||t[5]!==u||t[6]!==d?(f=(0,B.jsx)(`button`,{type:`button`,className:`xt-comp-toggle`,onClick:a,disabled:u,children:d}),t[4]=a,t[5]=u,t[6]=d,t[7]=f):f=t[7];let p;t[8]!==l||t[9]!==f?(p=(0,B.jsxs)(`div`,{className:`xt-comp-head`,children:[l,f]}),t[8]=l,t[9]=f,t[10]=p):p=t[10];let m;t[11]===r?m=t[12]:(m=(0,B.jsx)(`div`,{className:`xt-comp-body`,children:r}),t[11]=r,t[12]=m);let h;return t[13]!==c||t[14]!==p||t[15]!==m?(h=(0,B.jsxs)(`div`,{className:c,children:[p,m]}),t[13]=c,t[14]=p,t[15]=m,t[16]=h):h=t[16],h}export{W as ExtractionPreview};
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{i as n}from"./index-Db-FgYxX.js";var r=e(),i={"stored-data":{title:`Saved on this browser`,body:`Anyone with access to this device or browser profile may be able to use saved work. Review, forget, or clear it before sharing the device.`},generated:{title:`AI-generated view`,body:`The structure and summary can omit or misstate information. Check the original conversation before relying on it.`},learning:{title:`Learning aid, not an authority`,body:`Lessons and study material are AI-generated and may be wrong or incomplete. Verify consequential or professional topics with authoritative sources.`},upload:{title:`Files may be sent to your providers`,body:`Files are staged and extracted locally, but relevant content may be sent through this deployment to the model, search, or connected provider you select. Upload only material you are authorized to share. A map Mavéa builds from a document stays on this device — its claims and the page text they quote — so re-opening the same file does not bill your key again; anyone who can use this browser profile may be able to read it, and clearing site data removes it.`},code:{title:`Review and test before shipping`,body:`Repository content and diffs may be sent to your selected model. Ripple can miss security, privacy, compatibility, or operational impact and is not a substitute for review, tests, or deployment safeguards.`},simulation:{title:`A simulation, not a prediction`,body:`The stand-in only knows what you provide and cannot predict a real person, negotiation, or outcome. Do not treat it as legal, employment, financial, or mental-health advice.`},monitoring:{title:`Not an alerting or monitoring service`,body:`Tracking is a best-effort convenience — a head start on checking something yourself, never a thing to rely on. Checks can be delayed, incomplete, or missed entirely, and most run only while Mavéa is open. Whether a check truly searches the live web depends on the model you pick: models differ in whether they search, whether they can be required to, and whether they say what they used, so a smaller or cheaper model may answer from memory instead. Even a completed search can return outdated or wrong figures — a value on a card is what a source claimed at check time, not a live feed — and an empty card means unverified, never zero or unchanged. Alerts are best-effort too: a check that does not run, a closed app, or blocked notifications means no alert, so never depend on one arriving. Because you provide the API keys or connected accounts and pay those providers directly, every check can trigger billed model, web-search, or connected-provider requests — the cadence you set is a spending decision, and a frequent cadence raises your third-party charges. Do not use this for emergencies, security, health, finance, operations, or any time-critical decision.`},publishing:{title:`Review before sharing`,body:`Check facts, citations, confidential information, permissions, copyright, and accessibility before presenting, publishing, or sending an export.`},"voice-data":n,credentials:{title:`Remembering a key is a convenience`,body:`Remember stores an encrypted copy in this browser; it is not a security guarantee. Use restricted, revocable keys on a trusted device and revoke them at the provider if exposure is possible.`},"connected-actions":{title:`Connected actions affect other systems`,body:`Data and credentials pass to your gateway and connected services. Use least-privilege access and review the destination, content, and permissions before confirming every action.`}},a=t(),o=`mavea-feature-notice-dismissed-v1:`,s=new Set([`learning`,`monitoring`,`simulation`,`voice-data`]);function c(e){return`${o}${e}`}function l(e){try{return localStorage.getItem(c(e))===`1`}catch{return!1}}function u(e){try{localStorage.setItem(c(e),`1`)}catch{}}function d({kind:e,from:t=`home`,className:n=``}){let o=i[e],c=s.has(e),[d,f]=(0,r.useState)(()=>c&&l(e)),p=(0,r.useId)();return d?null:(0,a.jsxs)(`aside`,{className:`feature-use-notice ${n}`.trim(),"data-kind":e,role:`note`,children:[(0,a.jsx)(`span`,{className:`feature-use-notice-dot`,"aria-hidden":!0}),(0,a.jsxs)(`p`,{id:p,children:[(0,a.jsxs)(`strong`,{children:[o.title,`.`]}),` `,o.body]}),(0,a.jsxs)(`div`,{className:`feature-use-notice-actions`,children:[(0,a.jsx)(`a`,{href:`#/legal?from=${t}`,children:`Details`}),c&&(0,a.jsx)(`button`,{type:`button`,className:`feature-use-notice-dismiss`,"aria-label":`Dismiss ${o.title} notice`,"aria-describedby":p,onClick:()=>{f(!0),u(e)},children:(0,a.jsx)(`span`,{"aria-hidden":!0,children:`×`})})]})]})}export{d as t};
@@ -1 +1 @@
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 FlagshipCommandPalette};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{O as n}from"./index-Db-FgYxX.js";import{t as r}from"./registry-BodYWiga.js";import{CommandPalette as i}from"./CommandPalette-Cz8h94Jd.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 FlagshipCommandPalette};
@@ -1 +1 @@
1
- import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{it as n,nt as r,rt as i,tt as a}from"./index-LiHcEJt_.js";var o=e(),s=t();function c(){let e=[{x:52,y:18,w:118,t:`Federal funds rate target`,fx:-74,fy:28},{x:48,y:50,w:104,t:`Drivers of elevated inflation`,fx:-66,fy:2},{x:62,y:74,w:112,t:`Commitment to dual mandate`,fx:-92,fy:-32}],t=[`p.1`,`p.2`,`p.3`,`p.4`,`p.5`,`p.6`],n=new Set([`p.1`,`p.3`]);return(0,s.jsxs)(`div`,{className:`fs-scene fs-prism`,"aria-hidden":`true`,children:[(0,s.jsxs)(`span`,{className:`fs-prism-doc`,children:[(0,s.jsx)(`i`,{className:`fs-prism-hl`,style:{top:`24%`}}),(0,s.jsx)(`i`,{className:`fs-prism-hl short`,style:{top:`62%`}})]}),(0,s.jsx)(`span`,{className:`fs-prism-region`,style:{right:`16%`,bottom:`8%`},children:`Policy stance`}),(0,s.jsxs)(`svg`,{className:`fs-prism-thread`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{pathLength:1,d:`M100,26 C82,28 64,33 51,40`}),(0,s.jsx)(`path`,{pathLength:1,style:{animationDelay:`900ms`},d:`M96,62 C80,64 60,66 45,69`})]}),e.map((e,t)=>(0,s.jsxs)(`span`,{className:`fs-prism-claim`,style:{left:`${e.x}%`,top:`${e.y}%`,width:e.w,animationDelay:`${400+t*340}ms`,"--fx":`${e.fx}px`,"--fy":`${e.fy}px`},children:[(0,s.jsxs)(`i`,{children:[`p.`,t+1]}),e.t]},e.t)),(0,s.jsx)(`span`,{className:`fs-prism-pages`,children:t.map(e=>(0,s.jsx)(`i`,{className:n.has(e)?`cited`:void 0,children:e},e))})]})}function l(){let e=(0,o.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[{x:50,y:50,label:`auth-service`,kind:`change`,glyph:``},{x:82,y:30,label:`src/api`,kind:`breaks`,glyph:`▲`},{x:80,y:76,label:`src/web`,kind:`safe`,glyph:`✓`,order:1},{x:18,y:30,label:`tests`,kind:`untested`,glyph:`·`,order:3},{x:20,y:74,label:`migrations`,kind:`migration`,glyph:`·`,order:2}],e[0]=t):t=e[0];let n=t,r,i,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,s.jsxs)(`svg`,{viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{className:`fs-ripple-diff add`,d:`M7,16 h8 M7,44 h8 M7,72 h8 M7,100 h8`}),(0,s.jsx)(`path`,{className:`fs-ripple-diff del`,d:`M7,30 h5 M7,58 h5 M7,86 h5`}),(0,s.jsx)(`circle`,{className:`fs-ripple-ring`,cx:`100`,cy:`60`,r:`18`}),(0,s.jsx)(`circle`,{className:`fs-ripple-ring late`,cx:`100`,cy:`60`,r:`18`}),n.slice(1).map(p)]}),i=n.map(f),a=n.filter(d).map(u),e[1]=r,e[2]=i,e[3]=a):(r=e[1],i=e[2],a=e[3]);let c;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,s.jsxs)(`div`,{className:`fs-scene fs-ripple`,"aria-hidden":`true`,children:[r,i,a,(0,s.jsxs)(`span`,{className:`fs-ripple-course`,children:[(0,s.jsxs)(`i`,{"aria-hidden":`true`,children:[(0,s.jsx)(`b`,{className:`done d1`}),(0,s.jsx)(`b`,{className:`done d2`}),(0,s.jsx)(`b`,{}),(0,s.jsx)(`b`,{}),(0,s.jsx)(`b`,{})]}),`Repo course · lesson 2 of 5`]})]}),e[4]=c):c=e[4],c}function u(e){return(0,s.jsx)(`span`,{className:`fs-ripple-order o${e.order}`,style:{left:`${e.x+8}%`,top:`${e.y-16}%`},children:e.order},`o-${e.label}`)}function d(e){return e.order}function f(e,t){return(0,s.jsxs)(`span`,{className:`fs-ripple-node is-${e.kind}`,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${t*220}ms`},children:[e.glyph&&(0,s.jsx)(`i`,{children:e.glyph}),e.label]},e.label)}function p(e){let t=e.x*2,n=e.y*1.2;return(0,s.jsx)(`path`,{className:`fs-ripple-edge is-${e.kind}`,pathLength:1,d:`M100,60 Q${(100+t)/2},${(60+n)/2-14} ${t},${n}`},e.label)}function m(){let e=[{x:50,y:24,kind:`option`,t:`Moving to Austin`},{x:16,y:58,kind:`person`,t:`Sister`},{x:78,y:52,kind:`fear`,t:`Starting over`},{x:44,y:80,kind:`loop`,t:`Is it the right time?`}];return(0,s.jsxs)(`div`,{className:`fs-scene fs-think`,"aria-hidden":`true`,children:[(0,s.jsxs)(`svg`,{className:`fs-think-links`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[e.map((e,t)=>{let n=e.x*2,r=e.y*1.2;return(0,s.jsx)(`path`,{className:`fs-think-link`,pathLength:1,style:{transitionDelay:`${300+t*480}ms`},d:`M100,60 Q${(100+n)/2+8},${(60+r)/2-10} ${n},${r}`},e.t)}),(0,s.jsx)(`path`,{className:`fs-think-tension`,d:`M156,62 Q136,30 108,30`})]}),(0,s.jsx)(`span`,{className:`fs-think-orb`}),[{t:`austin…`,tx:0,ty:-34,delay:150},{t:`my sister…`,tx:-60,ty:-2,delay:630},{t:`right time?`,tx:-12,ty:26,delay:1590}].map(e=>(0,s.jsx)(`span`,{className:`fs-think-wisp`,style:{animationDelay:`${e.delay}ms`,"--tx":`${e.tx}px`,"--ty":`${e.ty}px`},children:e.t},e.t)),e.map((e,t)=>(0,s.jsxs)(`span`,{className:`fs-think-atom`,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${400+t*480}ms`},children:[(0,s.jsx)(`i`,{children:e.kind}),e.t]},e.t))]})}function h(){let e=(0,o.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Array.from({length:22},y),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=[{x:26,y:34,label:`Money`,tone:`presence`},{x:68,y:26,label:`Space`,tone:`blue`},{x:56,y:70,label:`Travel`,tone:`insight`}],e[1]=r):r=e[1];let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=i.map(v),e[2]=a):a=e[2];let c;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,s.jsxs)(`div`,{className:`fs-scene fs-atlas`,"aria-hidden":`true`,children:[a,(0,s.jsxs)(`svg`,{className:`fs-atlas-sky`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M22,26 L40,20 L58,34 L44,48 L24,44`}),(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M122,18 L142,26 L158,20 L166,38`}),(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M96,86 L112,76 L132,88 L124,102`}),(0,s.jsx)(`path`,{className:`fs-atlas-route`,d:`M52,44 C70,64 90,58 110,80`})]}),n.map(_),i.map(g)]}),e[3]=c):c=e[3],c}function g(e,t){return(0,s.jsxs)(`span`,{className:`fs-atlas-hood tone-`+e.tone,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${t*260}ms`},children:[(0,s.jsx)(`i`,{}),e.label]},e.label)}function _(e,t){return(0,s.jsx)(`span`,{className:`fs-atlas-dot`+(e.bright?` bright`:``),style:{left:`${e.x}%`,top:`${e.y}%`,width:e.size,height:e.size,animationDelay:`${t%5*300}ms`}},t)}function v(e){return(0,s.jsx)(`span`,{className:`fs-atlas-region tone-`+e.tone,style:{left:`${e.x}%`,top:`${e.y}%`}},`r-${e.label}`)}function y(e,t){return{x:6+t*37%90,y:8+t*53%84,size:2+t%2,bright:t%7==3}}var b=[{id:`prism`,chapter:`prism`,name:`Prism`,line:`Drop in a document — inspect a map of claims and return cited evidence to its page.`,scene:(0,s.jsx)(c,{})},{id:`ripple`,chapter:`ripple`,name:`Ripple`,line:`A change’s blast radius, explained aloud at the altitude you choose — or a whole repo turned into its own onboarding course.`,scene:(0,s.jsx)(l,{})},{id:`think`,chapter:`think`,name:`Watch Me Think`,line:`Ramble out loud — your half-formed thinking becomes a live map of options, fears, loops.`,scene:(0,s.jsx)(m,{})},{id:`atlas`,chapter:`atlas`,name:`Atlas`,line:`Kept conversations become neighborhoods of thought you can wander.`,scene:(0,s.jsx)(h,{})}],x=[{label:`Present it`,detail:`a full deck, ten looks`,chapter:`present`},{label:`Print it`,detail:`a typeset PDF, ten templates`,chapter:`export`},{label:`Reel it`,detail:`a vertical clip built to share`,chapter:`share`},{label:`Flashcards`,detail:`saved from answers, scheduled for review`,chapter:`flashcards`},{label:`Focus`,detail:`one card at a time`,chapter:`focus`},{label:`Memory`,detail:`local, opt-in, yours`,chapter:`memory`}];[...b.filter(e=>e.id!==`ripple`).map(e=>e.chapter),...x.map(e=>e.chapter)];function S(e){let t=(0,o.c)(19),{onEnterLive:c}=e,l;t[0]===c?l=t[1]:(l=e=>{i(),n(),r(e),c()},t[0]=c,t[1]=l);let u=l,d;t[2]!==c||t[3]!==u?(d=e=>{if(e.id===`ripple`){a(),c();return}u(e.chapter)},t[2]=c,t[3]=u,t[4]=d):d=t[4];let f=d,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,s.jsx)(`div`,{className:`fl-eyebrow`,children:`The flagships`}),t[5]=p):p=t[5];let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,s.jsxs)(`h2`,{className:`fl-h2`,children:[`Four ways to inspect`,(0,s.jsx)(`br`,{}),`more than an answer.`]}),t[6]=m):m=t[6];let h;t[7]===f?h=t[8]:(h=b.map(e=>(0,s.jsxs)(`article`,{className:`fs-card`,children:[e.scene,(0,s.jsxs)(`div`,{className:`fs-card-body`,children:[(0,s.jsx)(`h3`,{className:`fs-card-name`,children:e.name}),(0,s.jsx)(`p`,{className:`fs-card-line`,children:e.line}),(0,s.jsxs)(`button`,{type:`button`,className:`fs-card-cta`,onClick:()=>f(e),children:[`Open scripted demo `,(0,s.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]})]})]},e.id)),t[7]=f,t[8]=h);let g;t[9]===h?g=t[10]:(g=(0,s.jsx)(`div`,{className:`fs-grid`,children:h}),t[9]=h,t[10]=g);let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,s.jsx)(`span`,{className:`fs-after-kicker`,children:`And when the answer lands —`}),t[11]=_):_=t[11];let v;t[12]===u?v=t[13]:(v=x.map(e=>(0,s.jsx)(`button`,{type:`button`,className:`fs-after-item`,title:e.detail,onClick:()=>u(e.chapter),children:e.label},e.label)),t[12]=u,t[13]=v);let y;t[14]===v?y=t[15]:(y=(0,s.jsxs)(`div`,{className:`fs-after`,children:[_,v]}),t[14]=v,t[15]=y);let S;return t[16]!==g||t[17]!==y?(S=(0,s.jsxs)(`section`,{className:`fs-root`,"aria-label":`Flagship experiences`,children:[p,m,g,y]}),t[16]=g,t[17]=y,t[18]=S):S=t[18],S}export{S as FlagshipShowcase};
1
+ import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{it as n,nt as r,rt as i,tt as a}from"./index-Db-FgYxX.js";var o=e(),s=t();function c(){let e=[{x:52,y:18,w:118,t:`Federal funds rate target`,fx:-74,fy:28},{x:48,y:50,w:104,t:`Drivers of elevated inflation`,fx:-66,fy:2},{x:62,y:74,w:112,t:`Commitment to dual mandate`,fx:-92,fy:-32}],t=[`p.1`,`p.2`,`p.3`,`p.4`,`p.5`,`p.6`],n=new Set([`p.1`,`p.3`]);return(0,s.jsxs)(`div`,{className:`fs-scene fs-prism`,"aria-hidden":`true`,children:[(0,s.jsxs)(`span`,{className:`fs-prism-doc`,children:[(0,s.jsx)(`i`,{className:`fs-prism-hl`,style:{top:`24%`}}),(0,s.jsx)(`i`,{className:`fs-prism-hl short`,style:{top:`62%`}})]}),(0,s.jsx)(`span`,{className:`fs-prism-region`,style:{right:`16%`,bottom:`8%`},children:`Policy stance`}),(0,s.jsxs)(`svg`,{className:`fs-prism-thread`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{pathLength:1,d:`M100,26 C82,28 64,33 51,40`}),(0,s.jsx)(`path`,{pathLength:1,style:{animationDelay:`900ms`},d:`M96,62 C80,64 60,66 45,69`})]}),e.map((e,t)=>(0,s.jsxs)(`span`,{className:`fs-prism-claim`,style:{left:`${e.x}%`,top:`${e.y}%`,width:e.w,animationDelay:`${400+t*340}ms`,"--fx":`${e.fx}px`,"--fy":`${e.fy}px`},children:[(0,s.jsxs)(`i`,{children:[`p.`,t+1]}),e.t]},e.t)),(0,s.jsx)(`span`,{className:`fs-prism-pages`,children:t.map(e=>(0,s.jsx)(`i`,{className:n.has(e)?`cited`:void 0,children:e},e))})]})}function l(){let e=(0,o.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[{x:50,y:50,label:`auth-service`,kind:`change`,glyph:``},{x:82,y:30,label:`src/api`,kind:`breaks`,glyph:`▲`},{x:80,y:76,label:`src/web`,kind:`safe`,glyph:`✓`,order:1},{x:18,y:30,label:`tests`,kind:`untested`,glyph:`·`,order:3},{x:20,y:74,label:`migrations`,kind:`migration`,glyph:`·`,order:2}],e[0]=t):t=e[0];let n=t,r,i,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,s.jsxs)(`svg`,{viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{className:`fs-ripple-diff add`,d:`M7,16 h8 M7,44 h8 M7,72 h8 M7,100 h8`}),(0,s.jsx)(`path`,{className:`fs-ripple-diff del`,d:`M7,30 h5 M7,58 h5 M7,86 h5`}),(0,s.jsx)(`circle`,{className:`fs-ripple-ring`,cx:`100`,cy:`60`,r:`18`}),(0,s.jsx)(`circle`,{className:`fs-ripple-ring late`,cx:`100`,cy:`60`,r:`18`}),n.slice(1).map(p)]}),i=n.map(f),a=n.filter(d).map(u),e[1]=r,e[2]=i,e[3]=a):(r=e[1],i=e[2],a=e[3]);let c;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,s.jsxs)(`div`,{className:`fs-scene fs-ripple`,"aria-hidden":`true`,children:[r,i,a,(0,s.jsxs)(`span`,{className:`fs-ripple-course`,children:[(0,s.jsxs)(`i`,{"aria-hidden":`true`,children:[(0,s.jsx)(`b`,{className:`done d1`}),(0,s.jsx)(`b`,{className:`done d2`}),(0,s.jsx)(`b`,{}),(0,s.jsx)(`b`,{}),(0,s.jsx)(`b`,{})]}),`Repo course · lesson 2 of 5`]})]}),e[4]=c):c=e[4],c}function u(e){return(0,s.jsx)(`span`,{className:`fs-ripple-order o${e.order}`,style:{left:`${e.x+8}%`,top:`${e.y-16}%`},children:e.order},`o-${e.label}`)}function d(e){return e.order}function f(e,t){return(0,s.jsxs)(`span`,{className:`fs-ripple-node is-${e.kind}`,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${t*220}ms`},children:[e.glyph&&(0,s.jsx)(`i`,{children:e.glyph}),e.label]},e.label)}function p(e){let t=e.x*2,n=e.y*1.2;return(0,s.jsx)(`path`,{className:`fs-ripple-edge is-${e.kind}`,pathLength:1,d:`M100,60 Q${(100+t)/2},${(60+n)/2-14} ${t},${n}`},e.label)}function m(){let e=[{x:50,y:24,kind:`option`,t:`Moving to Austin`},{x:16,y:58,kind:`person`,t:`Sister`},{x:78,y:52,kind:`fear`,t:`Starting over`},{x:44,y:80,kind:`loop`,t:`Is it the right time?`}];return(0,s.jsxs)(`div`,{className:`fs-scene fs-think`,"aria-hidden":`true`,children:[(0,s.jsxs)(`svg`,{className:`fs-think-links`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[e.map((e,t)=>{let n=e.x*2,r=e.y*1.2;return(0,s.jsx)(`path`,{className:`fs-think-link`,pathLength:1,style:{transitionDelay:`${300+t*480}ms`},d:`M100,60 Q${(100+n)/2+8},${(60+r)/2-10} ${n},${r}`},e.t)}),(0,s.jsx)(`path`,{className:`fs-think-tension`,d:`M156,62 Q136,30 108,30`})]}),(0,s.jsx)(`span`,{className:`fs-think-orb`}),[{t:`austin…`,tx:0,ty:-34,delay:150},{t:`my sister…`,tx:-60,ty:-2,delay:630},{t:`right time?`,tx:-12,ty:26,delay:1590}].map(e=>(0,s.jsx)(`span`,{className:`fs-think-wisp`,style:{animationDelay:`${e.delay}ms`,"--tx":`${e.tx}px`,"--ty":`${e.ty}px`},children:e.t},e.t)),e.map((e,t)=>(0,s.jsxs)(`span`,{className:`fs-think-atom`,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${400+t*480}ms`},children:[(0,s.jsx)(`i`,{children:e.kind}),e.t]},e.t))]})}function h(){let e=(0,o.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=Array.from({length:22},y),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=[{x:26,y:34,label:`Money`,tone:`presence`},{x:68,y:26,label:`Space`,tone:`blue`},{x:56,y:70,label:`Travel`,tone:`insight`}],e[1]=r):r=e[1];let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=i.map(v),e[2]=a):a=e[2];let c;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,s.jsxs)(`div`,{className:`fs-scene fs-atlas`,"aria-hidden":`true`,children:[a,(0,s.jsxs)(`svg`,{className:`fs-atlas-sky`,viewBox:`0 0 200 120`,preserveAspectRatio:`none`,children:[(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M22,26 L40,20 L58,34 L44,48 L24,44`}),(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M122,18 L142,26 L158,20 L166,38`}),(0,s.jsx)(`path`,{className:`fs-atlas-line`,pathLength:1,d:`M96,86 L112,76 L132,88 L124,102`}),(0,s.jsx)(`path`,{className:`fs-atlas-route`,d:`M52,44 C70,64 90,58 110,80`})]}),n.map(_),i.map(g)]}),e[3]=c):c=e[3],c}function g(e,t){return(0,s.jsxs)(`span`,{className:`fs-atlas-hood tone-`+e.tone,style:{left:`${e.x}%`,top:`${e.y}%`,animationDelay:`${t*260}ms`},children:[(0,s.jsx)(`i`,{}),e.label]},e.label)}function _(e,t){return(0,s.jsx)(`span`,{className:`fs-atlas-dot`+(e.bright?` bright`:``),style:{left:`${e.x}%`,top:`${e.y}%`,width:e.size,height:e.size,animationDelay:`${t%5*300}ms`}},t)}function v(e){return(0,s.jsx)(`span`,{className:`fs-atlas-region tone-`+e.tone,style:{left:`${e.x}%`,top:`${e.y}%`}},`r-${e.label}`)}function y(e,t){return{x:6+t*37%90,y:8+t*53%84,size:2+t%2,bright:t%7==3}}var b=[{id:`prism`,chapter:`prism`,name:`Prism`,line:`Drop in a document — inspect a map of claims and return cited evidence to its page.`,scene:(0,s.jsx)(c,{})},{id:`ripple`,chapter:`ripple`,name:`Ripple`,line:`A change’s blast radius, explained aloud at the altitude you choose — or a whole repo turned into its own onboarding course.`,scene:(0,s.jsx)(l,{})},{id:`think`,chapter:`think`,name:`Watch Me Think`,line:`Ramble out loud — your half-formed thinking becomes a live map of options, fears, loops.`,scene:(0,s.jsx)(m,{})},{id:`atlas`,chapter:`atlas`,name:`Atlas`,line:`Kept conversations become neighborhoods of thought you can wander.`,scene:(0,s.jsx)(h,{})}],x=[{label:`Present it`,detail:`a full deck, ten looks`,chapter:`present`},{label:`Print it`,detail:`a typeset PDF, ten templates`,chapter:`export`},{label:`Reel it`,detail:`a vertical clip built to share`,chapter:`share`},{label:`Flashcards`,detail:`saved from answers, scheduled for review`,chapter:`flashcards`},{label:`Focus`,detail:`one card at a time`,chapter:`focus`},{label:`Memory`,detail:`local, opt-in, yours`,chapter:`memory`}];[...b.filter(e=>e.id!==`ripple`).map(e=>e.chapter),...x.map(e=>e.chapter)];function S(e){let t=(0,o.c)(19),{onEnterLive:c}=e,l;t[0]===c?l=t[1]:(l=e=>{i(),n(),r(e),c()},t[0]=c,t[1]=l);let u=l,d;t[2]!==c||t[3]!==u?(d=e=>{if(e.id===`ripple`){a(),c();return}u(e.chapter)},t[2]=c,t[3]=u,t[4]=d):d=t[4];let f=d,p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,s.jsx)(`div`,{className:`fl-eyebrow`,children:`The flagships`}),t[5]=p):p=t[5];let m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,s.jsxs)(`h2`,{className:`fl-h2`,children:[`Four ways to inspect`,(0,s.jsx)(`br`,{}),`more than an answer.`]}),t[6]=m):m=t[6];let h;t[7]===f?h=t[8]:(h=b.map(e=>(0,s.jsxs)(`article`,{className:`fs-card`,children:[e.scene,(0,s.jsxs)(`div`,{className:`fs-card-body`,children:[(0,s.jsx)(`h3`,{className:`fs-card-name`,children:e.name}),(0,s.jsx)(`p`,{className:`fs-card-line`,children:e.line}),(0,s.jsxs)(`button`,{type:`button`,className:`fs-card-cta`,onClick:()=>f(e),children:[`Open scripted demo `,(0,s.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]})]})]},e.id)),t[7]=f,t[8]=h);let g;t[9]===h?g=t[10]:(g=(0,s.jsx)(`div`,{className:`fs-grid`,children:h}),t[9]=h,t[10]=g);let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,s.jsx)(`span`,{className:`fs-after-kicker`,children:`And when the answer lands —`}),t[11]=_):_=t[11];let v;t[12]===u?v=t[13]:(v=x.map(e=>(0,s.jsx)(`button`,{type:`button`,className:`fs-after-item`,title:e.detail,onClick:()=>u(e.chapter),children:e.label},e.label)),t[12]=u,t[13]=v);let y;t[14]===v?y=t[15]:(y=(0,s.jsxs)(`div`,{className:`fs-after`,children:[_,v]}),t[14]=v,t[15]=y);let S;return t[16]!==g||t[17]!==y?(S=(0,s.jsxs)(`section`,{className:`fs-root`,"aria-label":`Flagship experiences`,children:[p,m,g,y]}),t[16]=g,t[17]=y,t[18]=S):S=t[18],S}export{S as FlagshipShowcase};
@@ -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,t as i}from"./theme-D5D55hZi.js";import{S as a}from"./index-LiHcEJt_.js";import{n as o}from"./icons-gLFQTv74.js";import{t as s}from"./FeatureUseNotice-Bda9jr3W.js";import{t as ee}from"./homeTarget-CwFsJYwb.js";/* empty css */import{_ as te,f as c,g as l,h as ne,i as re,p as u,v as d}from"./store-D2IJF4SA.js";import{i as f,n as p,r as m,t as h}from"./useSrsCards-C27o39fF.js";import{CardEditor as g}from"./CardEditor-D4slxmIM.js";import{SrsReview as ie,t as ae}from"./SrsReview-Gr6Y0QTQ.js";var oe=t(),_=e(),v=n(),y=[{value:`collection`,label:`Just save them`},{value:`spaced`,label:`Help me remember`}];function b(e,t,n){let r=ae(t);return e.suspended?{label:r.status.parked,cls:`is-suspended`}:t===`collection`?e.seen?{label:r.status.touched,cls:`is-seen`}:{label:r.status.fresh,cls:`is-new`}:e.reps===0?{label:r.status.fresh,cls:`is-new`}:e.nextReview<=n?{label:`Due`,cls:`is-due`}:{label:r.status.touched,cls:`is-sched`}}function x(){let e=(0,oe.c)(59),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=ee(),e[0]=t):t=e[0];let n=t,r=f(),i=m(r),a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],e[1]=a):a=e[1],(0,_.useEffect)(k,a);let b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=[],e[2]=b):b=e[2],(0,_.useEffect)(O,b),h();let x=i.view===`deck`?i.deck??null:null,[j,ce]=(0,_.useState)(`all`),[M,N]=(0,_.useState)(null),[P,F]=(0,_.useState)(``),[I,le]=(0,_.useState)(D),[ue,de]=(0,_.useState)(null),[fe,L]=(0,_.useState)(null),[pe,R]=(0,_.useState)(!1),[me,he]=(0,_.useState)(!1),[ge,_e]=(0,_.useState)(``),z=re(),B=ae(z.style),V=B.filters.some(e=>e.key===j)?j:`all`,H=ne({deck:x??void 0,tag:M??void 0,filter:V,search:P}),U=z.decks.map(E),ve;e[3]===I?ve=e[4]:(ve=e=>I.has(e.id),e[3]=I,e[4]=ve);let W=H.filter(ve).map(T),ye;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(ye=e=>le(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),e[5]=ye):ye=e[5];let be=ye,xe;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>{le(new Set),he(!1),_e(``)},e[6]=xe):xe=e[6];let G=xe,Se=JSON.stringify([x,M,V,P]),[Ce,we]=(0,_.useState)(Se);Ce!==Se&&(we(Se),G());let Te=H.length>0&&H.every(e=>I.has(e.id)),Ee=()=>le(Te?new Set:new Set(H.map(w))),De={deck:x??void 0,tag:M??void 0,filter:V===`suspended`?`all`:V},Oe=x??(M?`#${M}`:null),ke=B.filterAdjective[V],K=ke?Oe?`${ke} · ${Oe}`:`${ke} cards`:Oe??`All cards`,Ae=W.some(e=>H.find(t=>t.id===e)?.suspended),je;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,v.jsxs)(`button`,{type:`button`,className:`fc-nav-back`,onClick:()=>{window.location.hash=n.href},children:[(0,v.jsx)(o.chevL,{}),` `,n.label]}),e[7]=je):je=e[7];let q;e[8]===R?q=e[9]:(q=()=>R(!0),e[8]=R,e[9]=q);let Me;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,v.jsx)(o.plus,{}),e[10]=Me):Me=e[10];let J;e[11]===q?J=e[12]:(J=(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn`,onClick:q,children:[Me,` New card`]}),e[11]=q,e[12]=J);let Ne=z.total===0,Pe=()=>de(De),Fe;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,v.jsx)(o.play,{}),e[13]=Fe):Fe=e[13];let Y;e[14]!==K||e[15]!==Ne||e[16]!==Pe?(Y=(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-primary`,disabled:Ne,onClick:Pe,children:[Fe,` Study `,K]}),e[14]=K,e[15]=Ne,e[16]=Pe,e[17]=Y):Y=e[17];let Ie;e[18]!==Y||e[19]!==J?(Ie=(0,v.jsxs)(`div`,{className:`fc-nav-actions`,children:[J,Y]}),e[18]=Y,e[19]=J,e[20]=Ie):Ie=e[20];let Le;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Study`}),e[21]=Le):Le=e[21];let Re;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Decks`}),e[22]=Re):Re=e[22];let ze=`fc-side-item`+(x===null?` is-active`:``),Be;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,v.jsx)(`span`,{children:`All decks`}),e[23]=Be):Be=e[23];let Ve;e[24]===ze?Ve=e[25]:(Ve=(0,v.jsx)(`button`,{type:`button`,className:ze,onClick:C,children:Be}),e[24]=ze,e[25]=Ve);let X;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,v.jsx)(s,{kind:`learning`}),e[26]=X):X=e[26];let He;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>F(e.target.value),e[27]=He):He=e[27];let Z;e[28]===P?Z=e[29]:(Z=(0,v.jsx)(`div`,{className:`fc-search`,children:(0,v.jsx)(`input`,{type:`search`,placeholder:`Search cards…`,value:P,onChange:He,"aria-label":`Search cards`})}),e[28]=P,e[29]=Z);let Ue=H.length>0&&(0,v.jsx)(`button`,{type:`button`,className:`fc-selectall`,onClick:Ee,children:Te?`Clear selection`:`Select all`}),Q;e[30]!==Z||e[31]!==Ue?(Q=(0,v.jsxs)(`div`,{className:`fc-toolbar`,children:[Z,Ue]}),e[30]=Z,e[31]=Ue,e[32]=Q):Q=e[32];let We=W.length>0&&(0,v.jsxs)(`div`,{className:`fc-bulk`,role:`region`,"aria-label":`Bulk actions`,children:[(0,v.jsxs)(`span`,{className:`fc-bulk-n`,children:[W.length,` selected`]}),(0,v.jsxs)(`div`,{className:`fc-bulk-move`,children:[(0,v.jsx)(`input`,{list:`fc-bulk-decks`,className:`fc-bulk-input`,placeholder:`Move to deck…`,value:ge,onChange:e=>_e(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ge.trim()&&(c(W,ge.trim()),G())}}),(0,v.jsx)(`datalist`,{id:`fc-bulk-decks`,children:U.map(se)})]}),(0,v.jsx)(`button`,{type:`button`,className:`fc-btn fc-btn-sm`,onClick:()=>{d(W,!Ae),G()},children:Ae?B.parkVerb.unpark:B.parkVerb.park}),me?(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-sm fc-btn-danger`,onClick:()=>{u(W),G()},children:[`Confirm delete `,W.length]}):(0,v.jsx)(`button`,{type:`button`,className:`fc-btn fc-btn-sm`,onClick:()=>he(!0),children:`Delete`}),(0,v.jsx)(`button`,{type:`button`,className:`fc-bulk-clear`,onClick:G,children:`Cancel`})]}),$;e[33]!==H||e[34]!==z||e[35]!==I||e[36]!==R||e[37]!==L||e[38]!==N||e[39]!==be?($=H.length===0?(0,v.jsxs)(`div`,{className:`fc-empty`,children:[(0,v.jsx)(`div`,{className:`fc-empty-icon`,"aria-hidden":`true`,children:(0,v.jsx)(o.layers,{})}),(0,v.jsx)(`div`,{className:`fc-empty-head`,children:z.total===0?`No flashcards yet`:`Nothing here`}),(0,v.jsx)(`div`,{className:`fc-empty-sub`,children:z.total===0?`Tap “Cards” on any answer to turn it into flashcards, or make one by hand.`:`No cards match this filter. Try “All”, another deck, or clear the search.`}),z.total===0&&(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-primary`,onClick:()=>R(!0),children:[(0,v.jsx)(o.plus,{}),` New card`]})]}):(0,v.jsx)(`ul`,{className:`fc-list`,children:H.map(e=>(0,v.jsx)(A,{card:e,checked:I.has(e.id),onToggle:()=>be(e.id),onEdit:()=>L(e),style:z.style,onSuspend:()=>te(e.id,!e.suspended),onDelete:()=>u([e.id]),onTag:e=>N(e)},e.id))}),e[33]=H,e[34]=z,e[35]=I,e[36]=R,e[37]=L,e[38]=N,e[39]=be,e[40]=$):$=e[40];let Ge;e[41]!==X||e[42]!==Q||e[43]!==We||e[44]!==$?(Ge=(0,v.jsxs)(`main`,{className:`fc-main`,children:[X,Q,We,$]}),e[41]=X,e[42]=Q,e[43]=We,e[44]=$,e[45]=Ge):Ge=e[45];let Ke;e[46]!==de||e[47]!==K||e[48]!==ue?(Ke=ue&&(0,v.jsx)(ie,{scope:ue,title:`STUDY · ${K}`,onClose:()=>de(null)}),e[46]=de,e[47]=K,e[48]=ue,e[49]=Ke):Ke=e[49];let qe;e[50]!==pe||e[51]!==x||e[52]!==U||e[53]!==R?(qe=pe&&(0,v.jsx)(g,{mode:`add`,initial:[{front:``,back:``}],deck:x??`General`,origin:`manual`,heading:`New card`,decks:U,onSaved:S,onClose:()=>R(!1)}),e[50]=pe,e[51]=x,e[52]=U,e[53]=R,e[54]=qe):qe=e[54];let Je;return e[55]!==U||e[56]!==fe||e[57]!==L?(Je=fe&&(0,v.jsx)(g,{mode:`edit`,card:fe,decks:U,onClose:()=>L(null)}),e[55]=U,e[56]=fe,e[57]=L,e[58]=Je):Je=e[58],(0,v.jsxs)(`div`,{className:`mavea-app fc-app`,children:[(0,v.jsxs)(`header`,{className:`fc-nav`,children:[je,(0,v.jsxs)(`div`,{className:`fc-nav-title`,children:[`Flashcards`,(0,v.jsxs)(`span`,{className:`fc-nav-sub`,children:[z.total,` card`,z.total===1?``:`s`]})]}),Ie]}),(0,v.jsxs)(`div`,{className:`fc-body`,children:[(0,v.jsxs)(`aside`,{className:`fc-side`,children:[(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[Le,B.filters.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-side-item`+(V===e.key?` is-active`:``),onClick:()=>ce(e.key),children:[(0,v.jsx)(`span`,{children:e.label}),e.showCount&&(0,v.jsx)(`span`,{className:`fc-side-count`,children:z[e.key]})]},e.key))]}),(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[Re,Ve,z.decks.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-side-item`+(x===e.name?` is-active`:``),onClick:()=>{window.location.hash=p.deck(e.name)},children:[(0,v.jsx)(`span`,{className:`fc-side-name`,children:e.name}),e.due>0&&(0,v.jsx)(`span`,{className:`fc-side-badge`,children:e.due})]},e.name))]}),z.tags.length>0&&(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Tags`}),(0,v.jsx)(`div`,{className:`fc-side-tags`,children:z.tags.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-tag-chip`+(M===e.name?` is-active`:``),onClick:()=>N(t=>t===e.name?null:e.name),children:[e.name,(0,v.jsx)(`span`,{className:`fc-tag-n`,children:e.count})]},e.name))})]}),z.total>0&&(0,v.jsxs)(`div`,{className:`fc-side-group fc-side-style`,children:[(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Study style`}),(0,v.jsx)(`div`,{className:`fc-style-seg`,role:`radiogroup`,"aria-label":`Study style`,children:y.map(e=>(0,v.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":z.style===e.value,className:`fc-style-opt`+(z.style===e.value?` is-active`:``),onClick:()=>l(e.value),children:e.label},e.value))}),(0,v.jsx)(`p`,{className:`fc-style-note`,children:z.style===`collection`?`A plain pile you flip through whenever you like.`:`Cards come back just before you would forget them.`})]})]}),Ge]}),Ke,qe,Je]})}function S(){}function se(e){return(0,v.jsx)(`option`,{value:e},e)}function C(){window.location.hash=p.gallery}function w(e){return e.id}function T(e){return e.id}function E(e){return e.name}function D(){return new Set}function O(){return a(document)}function k(){return i(r())}function A(e){let t=(0,oe.c)(59),{card:n,checked:r,onToggle:i,onEdit:a,style:s,onSuspend:ee,onDelete:te,onTag:c}=e,[l,ne]=(0,_.useState)(!1),re=(0,_.useRef)(null),u,d;t[0]===l?(u=t[1],d=t[2]):(u=()=>{l&&re.current?.focus()},d=[l],t[0]=l,t[1]=u,t[2]=d),(0,_.useEffect)(u,d);let f;t[3]===s?f=t[4]:(f=ae(s),t[3]=s,t[4]=f);let p=f.parkVerb,m;t[5]!==n||t[6]!==s?(m=b(n,s,Date.now()),t[5]=n,t[6]=s,t[7]=m):m=t[7];let h=m,g=`fc-row`+(r?` is-checked`:``),ie=`Select card: ${n.front}`,y;t[8]!==r||t[9]!==i||t[10]!==ie?(y=(0,v.jsx)(`input`,{type:`checkbox`,className:`fc-row-check`,checked:r,onChange:i,"aria-label":ie}),t[8]=r,t[9]=i,t[10]=ie,t[11]=y):y=t[11];let x;t[12]===n.front?x=t[13]:(x=(0,v.jsx)(`div`,{className:`fc-row-front`,children:n.front}),t[12]=n.front,t[13]=x);let S;t[14]===n.back?S=t[15]:(S=(0,v.jsx)(`div`,{className:`fc-row-back`,children:n.back}),t[14]=n.back,t[15]=S);let se=`fc-status `+h.cls,C;t[16]!==h.label||t[17]!==se?(C=(0,v.jsx)(`span`,{className:se,children:h.label}),t[16]=h.label,t[17]=se,t[18]=C):C=t[18];let w;t[19]===n.deck?w=t[20]:(w=(0,v.jsx)(`span`,{className:`fc-row-deck`,children:n.deck}),t[19]=n.deck,t[20]=w);let T;if(t[21]!==n.tags||t[22]!==c){let e;t[24]===c?e=t[25]:(e=e=>(0,v.jsx)(`button`,{type:`button`,className:`fc-row-tag`,onClick:()=>c(e),children:e},e),t[24]=c,t[25]=e),T=n.tags.map(e),t[21]=n.tags,t[22]=c,t[23]=T}else T=t[23];let E;t[26]===n.origin?E=t[27]:(E=n.origin===`auto`&&(0,v.jsx)(`span`,{className:`fc-row-origin`,children:`auto`}),t[26]=n.origin,t[27]=E);let D;t[28]!==C||t[29]!==w||t[30]!==T||t[31]!==E?(D=(0,v.jsxs)(`div`,{className:`fc-row-meta`,children:[C,w,T,E]}),t[28]=C,t[29]=w,t[30]=T,t[31]=E,t[32]=D):D=t[32];let O;t[33]!==D||t[34]!==x||t[35]!==S?(O=(0,v.jsxs)(`div`,{className:`fc-row-main`,children:[x,S,D]}),t[33]=D,t[34]=x,t[35]=S,t[36]=O):O=t[36];let k;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,v.jsx)(o.edit,{}),t[37]=k):k=t[37];let A;t[38]===a?A=t[39]:(A=(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":`Edit card`,onClick:a,children:k}),t[38]=a,t[39]=A);let j=`${n.suspended?p.unpark:p.park} card`,ce=n.suspended?p.unpark:p.title,M;t[40]===n.suspended?M=t[41]:(M=n.suspended?(0,v.jsx)(o.play,{}):(0,v.jsx)(o.clock,{}),t[40]=n.suspended,t[41]=M);let N;t[42]!==ee||t[43]!==j||t[44]!==ce||t[45]!==M?(N=(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":j,title:ce,onClick:ee,children:M}),t[42]=ee,t[43]=j,t[44]=ce,t[45]=M,t[46]=N):N=t[46];let P;t[47]!==l||t[48]!==te?(P=l?(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn fc-icon-danger`,"aria-label":`Confirm delete`,ref:re,onClick:te,onBlur:()=>ne(!1),children:(0,v.jsx)(o.check,{})}):(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":`Delete card`,onClick:()=>ne(!0),children:(0,v.jsx)(o.x,{})}),t[47]=l,t[48]=te,t[49]=P):P=t[49];let F;t[50]!==A||t[51]!==N||t[52]!==P?(F=(0,v.jsxs)(`div`,{className:`fc-row-actions`,children:[A,N,P]}),t[50]=A,t[51]=N,t[52]=P,t[53]=F):F=t[53];let I;return t[54]!==O||t[55]!==F||t[56]!==g||t[57]!==y?(I=(0,v.jsxs)(`li`,{className:g,children:[y,O,F]}),t[54]=O,t[55]=F,t[56]=g,t[57]=y,t[58]=I):I=t[58],I}export{x as FlashcardsApp};
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,t as i}from"./theme-D5D55hZi.js";import{S as a}from"./index-Db-FgYxX.js";import{n as o}from"./icons-gLFQTv74.js";import{t as s}from"./FeatureUseNotice-CCI4mM39.js";import{t as ee}from"./homeTarget-CDc-r2mj.js";/* empty css */import{_ as te,f as c,g as l,h as ne,i as re,p as u,v as d}from"./store-D2IJF4SA.js";import{i as f,n as p,r as m,t as h}from"./useSrsCards-C27o39fF.js";import{CardEditor as g}from"./CardEditor-D4slxmIM.js";import{SrsReview as ie,t as ae}from"./SrsReview-Gr6Y0QTQ.js";var oe=t(),_=e(),v=n(),y=[{value:`collection`,label:`Just save them`},{value:`spaced`,label:`Help me remember`}];function b(e,t,n){let r=ae(t);return e.suspended?{label:r.status.parked,cls:`is-suspended`}:t===`collection`?e.seen?{label:r.status.touched,cls:`is-seen`}:{label:r.status.fresh,cls:`is-new`}:e.reps===0?{label:r.status.fresh,cls:`is-new`}:e.nextReview<=n?{label:`Due`,cls:`is-due`}:{label:r.status.touched,cls:`is-sched`}}function x(){let e=(0,oe.c)(59),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=ee(),e[0]=t):t=e[0];let n=t,r=f(),i=m(r),a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],e[1]=a):a=e[1],(0,_.useEffect)(k,a);let b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=[],e[2]=b):b=e[2],(0,_.useEffect)(O,b),h();let x=i.view===`deck`?i.deck??null:null,[j,ce]=(0,_.useState)(`all`),[M,N]=(0,_.useState)(null),[P,F]=(0,_.useState)(``),[I,le]=(0,_.useState)(D),[ue,de]=(0,_.useState)(null),[fe,L]=(0,_.useState)(null),[pe,R]=(0,_.useState)(!1),[me,he]=(0,_.useState)(!1),[ge,_e]=(0,_.useState)(``),z=re(),B=ae(z.style),V=B.filters.some(e=>e.key===j)?j:`all`,H=ne({deck:x??void 0,tag:M??void 0,filter:V,search:P}),U=z.decks.map(E),ve;e[3]===I?ve=e[4]:(ve=e=>I.has(e.id),e[3]=I,e[4]=ve);let W=H.filter(ve).map(T),ye;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(ye=e=>le(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),e[5]=ye):ye=e[5];let be=ye,xe;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(xe=()=>{le(new Set),he(!1),_e(``)},e[6]=xe):xe=e[6];let G=xe,Se=JSON.stringify([x,M,V,P]),[Ce,we]=(0,_.useState)(Se);Ce!==Se&&(we(Se),G());let Te=H.length>0&&H.every(e=>I.has(e.id)),Ee=()=>le(Te?new Set:new Set(H.map(w))),De={deck:x??void 0,tag:M??void 0,filter:V===`suspended`?`all`:V},Oe=x??(M?`#${M}`:null),ke=B.filterAdjective[V],K=ke?Oe?`${ke} · ${Oe}`:`${ke} cards`:Oe??`All cards`,Ae=W.some(e=>H.find(t=>t.id===e)?.suspended),je;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,v.jsxs)(`button`,{type:`button`,className:`fc-nav-back`,onClick:()=>{window.location.hash=n.href},children:[(0,v.jsx)(o.chevL,{}),` `,n.label]}),e[7]=je):je=e[7];let q;e[8]===R?q=e[9]:(q=()=>R(!0),e[8]=R,e[9]=q);let Me;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,v.jsx)(o.plus,{}),e[10]=Me):Me=e[10];let J;e[11]===q?J=e[12]:(J=(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn`,onClick:q,children:[Me,` New card`]}),e[11]=q,e[12]=J);let Ne=z.total===0,Pe=()=>de(De),Fe;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,v.jsx)(o.play,{}),e[13]=Fe):Fe=e[13];let Y;e[14]!==K||e[15]!==Ne||e[16]!==Pe?(Y=(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-primary`,disabled:Ne,onClick:Pe,children:[Fe,` Study `,K]}),e[14]=K,e[15]=Ne,e[16]=Pe,e[17]=Y):Y=e[17];let Ie;e[18]!==Y||e[19]!==J?(Ie=(0,v.jsxs)(`div`,{className:`fc-nav-actions`,children:[J,Y]}),e[18]=Y,e[19]=J,e[20]=Ie):Ie=e[20];let Le;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Study`}),e[21]=Le):Le=e[21];let Re;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Decks`}),e[22]=Re):Re=e[22];let ze=`fc-side-item`+(x===null?` is-active`:``),Be;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,v.jsx)(`span`,{children:`All decks`}),e[23]=Be):Be=e[23];let Ve;e[24]===ze?Ve=e[25]:(Ve=(0,v.jsx)(`button`,{type:`button`,className:ze,onClick:C,children:Be}),e[24]=ze,e[25]=Ve);let X;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,v.jsx)(s,{kind:`learning`}),e[26]=X):X=e[26];let He;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>F(e.target.value),e[27]=He):He=e[27];let Z;e[28]===P?Z=e[29]:(Z=(0,v.jsx)(`div`,{className:`fc-search`,children:(0,v.jsx)(`input`,{type:`search`,placeholder:`Search cards…`,value:P,onChange:He,"aria-label":`Search cards`})}),e[28]=P,e[29]=Z);let Ue=H.length>0&&(0,v.jsx)(`button`,{type:`button`,className:`fc-selectall`,onClick:Ee,children:Te?`Clear selection`:`Select all`}),Q;e[30]!==Z||e[31]!==Ue?(Q=(0,v.jsxs)(`div`,{className:`fc-toolbar`,children:[Z,Ue]}),e[30]=Z,e[31]=Ue,e[32]=Q):Q=e[32];let We=W.length>0&&(0,v.jsxs)(`div`,{className:`fc-bulk`,role:`region`,"aria-label":`Bulk actions`,children:[(0,v.jsxs)(`span`,{className:`fc-bulk-n`,children:[W.length,` selected`]}),(0,v.jsxs)(`div`,{className:`fc-bulk-move`,children:[(0,v.jsx)(`input`,{list:`fc-bulk-decks`,className:`fc-bulk-input`,placeholder:`Move to deck…`,value:ge,onChange:e=>_e(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ge.trim()&&(c(W,ge.trim()),G())}}),(0,v.jsx)(`datalist`,{id:`fc-bulk-decks`,children:U.map(se)})]}),(0,v.jsx)(`button`,{type:`button`,className:`fc-btn fc-btn-sm`,onClick:()=>{d(W,!Ae),G()},children:Ae?B.parkVerb.unpark:B.parkVerb.park}),me?(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-sm fc-btn-danger`,onClick:()=>{u(W),G()},children:[`Confirm delete `,W.length]}):(0,v.jsx)(`button`,{type:`button`,className:`fc-btn fc-btn-sm`,onClick:()=>he(!0),children:`Delete`}),(0,v.jsx)(`button`,{type:`button`,className:`fc-bulk-clear`,onClick:G,children:`Cancel`})]}),$;e[33]!==H||e[34]!==z||e[35]!==I||e[36]!==R||e[37]!==L||e[38]!==N||e[39]!==be?($=H.length===0?(0,v.jsxs)(`div`,{className:`fc-empty`,children:[(0,v.jsx)(`div`,{className:`fc-empty-icon`,"aria-hidden":`true`,children:(0,v.jsx)(o.layers,{})}),(0,v.jsx)(`div`,{className:`fc-empty-head`,children:z.total===0?`No flashcards yet`:`Nothing here`}),(0,v.jsx)(`div`,{className:`fc-empty-sub`,children:z.total===0?`Tap “Cards” on any answer to turn it into flashcards, or make one by hand.`:`No cards match this filter. Try “All”, another deck, or clear the search.`}),z.total===0&&(0,v.jsxs)(`button`,{type:`button`,className:`fc-btn fc-btn-primary`,onClick:()=>R(!0),children:[(0,v.jsx)(o.plus,{}),` New card`]})]}):(0,v.jsx)(`ul`,{className:`fc-list`,children:H.map(e=>(0,v.jsx)(A,{card:e,checked:I.has(e.id),onToggle:()=>be(e.id),onEdit:()=>L(e),style:z.style,onSuspend:()=>te(e.id,!e.suspended),onDelete:()=>u([e.id]),onTag:e=>N(e)},e.id))}),e[33]=H,e[34]=z,e[35]=I,e[36]=R,e[37]=L,e[38]=N,e[39]=be,e[40]=$):$=e[40];let Ge;e[41]!==X||e[42]!==Q||e[43]!==We||e[44]!==$?(Ge=(0,v.jsxs)(`main`,{className:`fc-main`,children:[X,Q,We,$]}),e[41]=X,e[42]=Q,e[43]=We,e[44]=$,e[45]=Ge):Ge=e[45];let Ke;e[46]!==de||e[47]!==K||e[48]!==ue?(Ke=ue&&(0,v.jsx)(ie,{scope:ue,title:`STUDY · ${K}`,onClose:()=>de(null)}),e[46]=de,e[47]=K,e[48]=ue,e[49]=Ke):Ke=e[49];let qe;e[50]!==pe||e[51]!==x||e[52]!==U||e[53]!==R?(qe=pe&&(0,v.jsx)(g,{mode:`add`,initial:[{front:``,back:``}],deck:x??`General`,origin:`manual`,heading:`New card`,decks:U,onSaved:S,onClose:()=>R(!1)}),e[50]=pe,e[51]=x,e[52]=U,e[53]=R,e[54]=qe):qe=e[54];let Je;return e[55]!==U||e[56]!==fe||e[57]!==L?(Je=fe&&(0,v.jsx)(g,{mode:`edit`,card:fe,decks:U,onClose:()=>L(null)}),e[55]=U,e[56]=fe,e[57]=L,e[58]=Je):Je=e[58],(0,v.jsxs)(`div`,{className:`mavea-app fc-app`,children:[(0,v.jsxs)(`header`,{className:`fc-nav`,children:[je,(0,v.jsxs)(`div`,{className:`fc-nav-title`,children:[`Flashcards`,(0,v.jsxs)(`span`,{className:`fc-nav-sub`,children:[z.total,` card`,z.total===1?``:`s`]})]}),Ie]}),(0,v.jsxs)(`div`,{className:`fc-body`,children:[(0,v.jsxs)(`aside`,{className:`fc-side`,children:[(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[Le,B.filters.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-side-item`+(V===e.key?` is-active`:``),onClick:()=>ce(e.key),children:[(0,v.jsx)(`span`,{children:e.label}),e.showCount&&(0,v.jsx)(`span`,{className:`fc-side-count`,children:z[e.key]})]},e.key))]}),(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[Re,Ve,z.decks.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-side-item`+(x===e.name?` is-active`:``),onClick:()=>{window.location.hash=p.deck(e.name)},children:[(0,v.jsx)(`span`,{className:`fc-side-name`,children:e.name}),e.due>0&&(0,v.jsx)(`span`,{className:`fc-side-badge`,children:e.due})]},e.name))]}),z.tags.length>0&&(0,v.jsxs)(`div`,{className:`fc-side-group`,children:[(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Tags`}),(0,v.jsx)(`div`,{className:`fc-side-tags`,children:z.tags.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`fc-tag-chip`+(M===e.name?` is-active`:``),onClick:()=>N(t=>t===e.name?null:e.name),children:[e.name,(0,v.jsx)(`span`,{className:`fc-tag-n`,children:e.count})]},e.name))})]}),z.total>0&&(0,v.jsxs)(`div`,{className:`fc-side-group fc-side-style`,children:[(0,v.jsx)(`div`,{className:`fc-side-eyebrow`,children:`Study style`}),(0,v.jsx)(`div`,{className:`fc-style-seg`,role:`radiogroup`,"aria-label":`Study style`,children:y.map(e=>(0,v.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":z.style===e.value,className:`fc-style-opt`+(z.style===e.value?` is-active`:``),onClick:()=>l(e.value),children:e.label},e.value))}),(0,v.jsx)(`p`,{className:`fc-style-note`,children:z.style===`collection`?`A plain pile you flip through whenever you like.`:`Cards come back just before you would forget them.`})]})]}),Ge]}),Ke,qe,Je]})}function S(){}function se(e){return(0,v.jsx)(`option`,{value:e},e)}function C(){window.location.hash=p.gallery}function w(e){return e.id}function T(e){return e.id}function E(e){return e.name}function D(){return new Set}function O(){return a(document)}function k(){return i(r())}function A(e){let t=(0,oe.c)(59),{card:n,checked:r,onToggle:i,onEdit:a,style:s,onSuspend:ee,onDelete:te,onTag:c}=e,[l,ne]=(0,_.useState)(!1),re=(0,_.useRef)(null),u,d;t[0]===l?(u=t[1],d=t[2]):(u=()=>{l&&re.current?.focus()},d=[l],t[0]=l,t[1]=u,t[2]=d),(0,_.useEffect)(u,d);let f;t[3]===s?f=t[4]:(f=ae(s),t[3]=s,t[4]=f);let p=f.parkVerb,m;t[5]!==n||t[6]!==s?(m=b(n,s,Date.now()),t[5]=n,t[6]=s,t[7]=m):m=t[7];let h=m,g=`fc-row`+(r?` is-checked`:``),ie=`Select card: ${n.front}`,y;t[8]!==r||t[9]!==i||t[10]!==ie?(y=(0,v.jsx)(`input`,{type:`checkbox`,className:`fc-row-check`,checked:r,onChange:i,"aria-label":ie}),t[8]=r,t[9]=i,t[10]=ie,t[11]=y):y=t[11];let x;t[12]===n.front?x=t[13]:(x=(0,v.jsx)(`div`,{className:`fc-row-front`,children:n.front}),t[12]=n.front,t[13]=x);let S;t[14]===n.back?S=t[15]:(S=(0,v.jsx)(`div`,{className:`fc-row-back`,children:n.back}),t[14]=n.back,t[15]=S);let se=`fc-status `+h.cls,C;t[16]!==h.label||t[17]!==se?(C=(0,v.jsx)(`span`,{className:se,children:h.label}),t[16]=h.label,t[17]=se,t[18]=C):C=t[18];let w;t[19]===n.deck?w=t[20]:(w=(0,v.jsx)(`span`,{className:`fc-row-deck`,children:n.deck}),t[19]=n.deck,t[20]=w);let T;if(t[21]!==n.tags||t[22]!==c){let e;t[24]===c?e=t[25]:(e=e=>(0,v.jsx)(`button`,{type:`button`,className:`fc-row-tag`,onClick:()=>c(e),children:e},e),t[24]=c,t[25]=e),T=n.tags.map(e),t[21]=n.tags,t[22]=c,t[23]=T}else T=t[23];let E;t[26]===n.origin?E=t[27]:(E=n.origin===`auto`&&(0,v.jsx)(`span`,{className:`fc-row-origin`,children:`auto`}),t[26]=n.origin,t[27]=E);let D;t[28]!==C||t[29]!==w||t[30]!==T||t[31]!==E?(D=(0,v.jsxs)(`div`,{className:`fc-row-meta`,children:[C,w,T,E]}),t[28]=C,t[29]=w,t[30]=T,t[31]=E,t[32]=D):D=t[32];let O;t[33]!==D||t[34]!==x||t[35]!==S?(O=(0,v.jsxs)(`div`,{className:`fc-row-main`,children:[x,S,D]}),t[33]=D,t[34]=x,t[35]=S,t[36]=O):O=t[36];let k;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,v.jsx)(o.edit,{}),t[37]=k):k=t[37];let A;t[38]===a?A=t[39]:(A=(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":`Edit card`,onClick:a,children:k}),t[38]=a,t[39]=A);let j=`${n.suspended?p.unpark:p.park} card`,ce=n.suspended?p.unpark:p.title,M;t[40]===n.suspended?M=t[41]:(M=n.suspended?(0,v.jsx)(o.play,{}):(0,v.jsx)(o.clock,{}),t[40]=n.suspended,t[41]=M);let N;t[42]!==ee||t[43]!==j||t[44]!==ce||t[45]!==M?(N=(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":j,title:ce,onClick:ee,children:M}),t[42]=ee,t[43]=j,t[44]=ce,t[45]=M,t[46]=N):N=t[46];let P;t[47]!==l||t[48]!==te?(P=l?(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn fc-icon-danger`,"aria-label":`Confirm delete`,ref:re,onClick:te,onBlur:()=>ne(!1),children:(0,v.jsx)(o.check,{})}):(0,v.jsx)(`button`,{type:`button`,className:`fc-icon-btn`,"aria-label":`Delete card`,onClick:()=>ne(!0),children:(0,v.jsx)(o.x,{})}),t[47]=l,t[48]=te,t[49]=P):P=t[49];let F;t[50]!==A||t[51]!==N||t[52]!==P?(F=(0,v.jsxs)(`div`,{className:`fc-row-actions`,children:[A,N,P]}),t[50]=A,t[51]=N,t[52]=P,t[53]=F):F=t[53];let I;return t[54]!==O||t[55]!==F||t[56]!==g||t[57]!==y?(I=(0,v.jsxs)(`li`,{className:g,children:[y,O,F]}),t[54]=O,t[55]=F,t[56]=g,t[57]=y,t[58]=I):I=t[58],I}export{x as FlashcardsApp};
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{n}from"./useInView-DsTvv7L_.js";import{t as r}from"./jsx-runtime-DeHZSEgm.js";import{n as i,t as a}from"./preload-helper-CiWYd9n-.js";import{n as o,r as s,t as c}from"./theme-D5D55hZi.js";import{n as l}from"./icons-gLFQTv74.js";import{t as u}from"./TopicCanvas-Cwc6-K3q.js";import"./catalog-CRekRbKO.js";import{i as d,n as ee,t as f}from"./facts-BUGuVUIc.js";import{t as p}from"./homeTarget-CDc-r2mj.js";var m=e(),h=t(),g=new Set([`geomap`,`maproute`,`zoningmap`,`carousel`,`mindshape`,`atlas`,`globe`,`spinner`,`deflist`,`messagescriptset`,`slidedeck`,`pagination`,`kanban`,`emotionwheel`,`expressionheatmap`,`weathernow`,`boardgamescore`,`claimgrid`,`cohortgrid`,`financialstatement`]),_=e=>e===`auto`||e===`scroll`;function v(e){let t=e.tagName.toLowerCase(),n=(e.getAttribute(`class`)||``).split(` `)[0],r=``;return(t===`text`||t===`tspan`||e.childElementCount===0)&&(r=(e.textContent||``).trim().slice(0,30)),`${t}${n?`.`+n:``}${r?` "${r}"`:``}`}function y(e,t){let n=e.getAttribute(`class`)||``;if(/\bic\b/.test(n)||/\bcanvas-hscroll\b/.test(n)&&_(t.overflowX)&&e.getAttribute(`tabindex`)===`0`&&e.getAttribute(`aria-label`))return!0;let r=t.webkitLineClamp||t.getPropertyValue(`-webkit-line-clamp`);return!!(r&&r!==`none`||_(t.overflowY)&&t.maxHeight&&t.maxHeight!==`none`)}var b=new Set([`b`,`i`,`em`,`strong`,`mark`,`small`,`span`,`a`,`code`,`sub`,`sup`]),x=new Set([`rect`,`path`,`circle`,`ellipse`,`polygon`,`polyline`,`line`]),S=new Set([`none`,`transparent`,`rgba(0, 0, 0, 0)`]);function C(e){let t=S.has(e.fill),n=S.has(e.stroke)||parseFloat(e.strokeWidth)===0;return t&&n}function w(e,t=3.5){let n={};for(let r of e.querySelectorAll(`*`)){let i=r.getBoundingClientRect();if(i.width===0&&i.height===0)continue;let a=getComputedStyle(r);if(parseFloat(a.opacity)===0||a.visibility===`hidden`)continue;let o=r.tagName.toLowerCase();if(x.has(o)&&C(a))continue;let s=r.parentElement,c=null,l=(a.clipPath||`none`)!==`none`;for(;s;){let t=getComputedStyle(s);if((t.clipPath||`none`)!==`none`&&(l=!0),s.tagName===`svg`&&s.getAttribute(`preserveAspectRatio`)===`none`&&(l=!0),t.overflowX!==`visible`||t.overflowY!==`visible`){c=t;break}if(s===e)break;s=s.parentElement}if(!s||!c||l||y(s,c))continue;let u=s.getBoundingClientRect();if(u.height<6||u.width<6)continue;let d=Math.max(u.left-i.left,i.right-u.right),ee=Math.max(u.top-i.top,i.bottom-u.bottom),f=Math.max(d,ee);if(f<=t||b.has(o)&&ee>=d&&f<24)continue;let p=_(c.overflowX)||_(c.overflowY)?`scroll`:`clip`,m={px:Math.round(f),kind:p,el:v(r),clipper:`.`+(s.getAttribute(`class`)||s.tagName).split(` `)[0]},h=p===`clip`?`clip`:`scroll`;(!n[h]||m.px>n[h].px)&&(n[h]=m)}return n}function te(e=document,{clipTol:t=3.5,scrollTol:n=8}={}){let r=performance.now(),i=[...e.querySelectorAll(`.vlib-tile`)],a=[],o=[];for(let e of i){let r=e.querySelector(`.vlib-type`)?.textContent?.trim()||`?`,i=e.querySelector(`.vlib-fam`)?.textContent?.trim()||`?`,s=e.querySelector(`.card`);if(!s||g.has(r))continue;let c=w(s,t);c.clip&&c.clip.px>t&&a.push({...c.clip,type:r,family:i}),c.scroll&&c.scroll.px>n&&o.push({...c.scroll,type:r,family:i})}return a.sort((e,t)=>t.px-e.px),o.sort((e,t)=>t.px-e.px),{scanned:i.length,ms:Math.round(performance.now()-r),clip:a,scroll:o}}function T(e,t){let n=e;for(;n&&n!==t;){let e=n.getAttribute?.(`transform`);if(e&&/\brotate\s*\(/.test(e))return!0;let t=getComputedStyle(n).transform,r=t&&t!==`none`?/matrix\(([^)]+)\)/.exec(t):null;if(r){let e=r[1].split(`,`).map(Number);if(Math.abs(e[1])>.02||Math.abs(e[2])>.02)return!0}n=n.parentElement}return!1}function E(e,t){let n=t.left,r=t.top,i=t.right,a=t.bottom;for(let t=e;t;t=t.parentElement){let e=getComputedStyle(t),o=e.overflowX!==`visible`,s=e.overflowY!==`visible`;if(!o&&!s)continue;let c=t.getBoundingClientRect();o&&(n=Math.max(n,c.left),i=Math.min(i,c.right)),s&&(r=Math.max(r,c.top),a=Math.min(a,c.bottom))}return new DOMRect(n,r,Math.max(0,i-n),Math.max(0,a-r))}function D(e,t=400){let n=[],r=r=>{if(n.length>=t)return;let i=getComputedStyle(r);if(i.visibility===`hidden`||parseFloat(i.opacity)<.4)return;let a=r.tagName.toLowerCase()===`text`?i.fill:i.color,o=/rgba\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*,\s*([\d.]+)\s*\)/.exec(a)??/rgba?\([^)]*\/\s*([\d.]+)\s*\)/.exec(a);if(o&&parseFloat(o[1])<.4||T(r,e))return;let s=(r.textContent||``).trim(),c=[];if(r.tagName.toLowerCase()!==`text`){let e=document.createRange();if(e.selectNodeContents(r),typeof e.getClientRects==`function`){let t=r.getBoundingClientRect(),n=i.overflowX!==`visible`||i.textOverflow===`ellipsis`,a=parseFloat(i.fontSize)||t.height;for(let r of e.getClientRects()){let e=n?Math.max(r.left,t.left):r.left,i=n?Math.min(r.right,t.right):r.right,o=Math.min(r.height,a),s=r.top+(r.height-o)/2;c.push({...r,left:e,right:i,top:s,bottom:s+o,width:Math.max(0,i-e),height:o})}}}c.length||c.push(r.getBoundingClientRect());for(let e of c){if(n.length>=t)return;let i=E(r,e);i.width<2||i.height<2||n.push({el:r,rect:i,text:s})}};for(let t of e.querySelectorAll(`text`))r(t);for(let t of e.querySelectorAll(`*`)){let e=t.tagName.toLowerCase();e===`text`||e===`tspan`||t.childElementCount>0||(t.textContent||``).trim()&&r(t)}return n}function O(e,t=3){let n=D(e),r;for(let e=0;e<n.length;e++)for(let i=e+1;i<n.length;i++){let a=n[e],o=n[i];if(a.el.contains(o.el)||o.el.contains(a.el))continue;let s=a.el.closest(`[data-tight-lockup]`);if(s!==null&&s===o.el.closest(`[data-tight-lockup]`)||a.el.closest(`.maplibregl-marker`)&&o.el.closest(`.maplibregl-marker`)||a.text&&a.text===o.text)continue;let c=Math.min(a.rect.right,o.rect.right)-Math.max(a.rect.left,o.rect.left),l=Math.min(a.rect.bottom,o.rect.bottom)-Math.max(a.rect.top,o.rect.top);if(c<=t||l<=t)continue;let u=Math.round(c*l);(!r||u>r.px)&&(r={px:u,a:v(a.el),b:v(o.el)})}return r}function k(e=document,{tol:t=3}={}){let n=performance.now(),r=[...e.querySelectorAll(`.vlib-tile`)],i=[];for(let e of r){let n=e.querySelector(`.vlib-type`)?.textContent?.trim()||`?`,r=e.querySelector(`.vlib-fam`)?.textContent?.trim()||`?`,a=e.querySelector(`.card`);if(!a||g.has(n))continue;let o=O(a,t);o&&i.push({...o,type:n,family:r})}return i.sort((e,t)=>t.px-e.px),{scanned:r.length,ms:Math.round(performance.now()-n),overlaps:i}}var A=/^(search|filter|filtering|loading|working|running|saving|updating|syncing|type|start typing|choose|select|add|new|untitled|more)\b/i;function j(e){let t=[],n=new Set,r=(e,r,i)=>{n.has(r)||(n.add(r),t.push({kind:e,el:v(r),text:i.slice(0,40)}))},i=e=>parseFloat(e.opacity)!==0&&e.visibility!==`hidden`,a=e=>!!e.closest(`[data-text-disclosure]`)||e.hasAttribute(`data-semantic-ellipsis`),o=e=>{let t=document.createRange();t.selectNodeContents(e);let n=[];for(let e of t.getClientRects())e.width<1||e.height<1||n.some(t=>Math.abs(t-e.top)<2)||n.push(e.top);return t.detach(),n.length};for(let t of e.querySelectorAll(`text`)){let e=(t.textContent||``).trim();i(getComputedStyle(t))&&/…$/.test(e)&&!A.test(e)&&!a(t)&&r(`ellipsis`,t,e)}for(let t of e.querySelectorAll(`*`)){if(t.namespaceURI!==`http://www.w3.org/1999/xhtml`)continue;let e=getComputedStyle(t);if(!i(e))continue;let n=(t.textContent||``).trim();if(!n||A.test(n)||a(t))continue;if(t.childElementCount===0&&/…$/.test(n)){r(`ellipsis`,t,n);continue}let s=e.webkitLineClamp||e.getPropertyValue(`-webkit-line-clamp`),c=Number.parseInt(s,10),l=e.textOverflow===`ellipsis`&&e.whiteSpace.includes(`nowrap`)&&t.scrollWidth>t.clientWidth+1,u=Number.isFinite(c)&&c>0&&o(t)>c;(l||u)&&r(`clamp`,t,n)}return t}function ne(e=document){let t=performance.now(),n=[...e.querySelectorAll(`.vlib-tile`)],r=[];for(let e of n){let t=e.querySelector(`.vlib-type`)?.textContent?.trim()||`?`,n=e.querySelector(`.vlib-fam`)?.textContent?.trim()||`?`,i=e.querySelector(`.card`);if(!(!i||g.has(t)))for(let e of j(i))r.push({...e,type:t,family:n})}return{scanned:n.length,ms:Math.round(performance.now()-t),truncations:r}}i();var re={ai:()=>a(()=>import(`./ai-Ba4lZJ9Y.js`).then(e=>e.default),[]),charts1:()=>a(()=>import(`./charts1-EOoxU_K3.js`).then(e=>e.default),[]),charts2:()=>a(()=>import(`./charts2-CaKGzkgJ.js`).then(e=>e.default),[]),code:()=>a(()=>import(`./code-CpjYCNS8.js`).then(e=>e.default),[]),compose:()=>a(()=>import(`./compose-D-OsDiU9.js`).then(e=>e.default),[]),core:()=>a(()=>import(`./core-DEFyprhs.js`).then(e=>e.default),[]),diagrams:()=>a(()=>import(`./diagrams-1DJMD4j-.js`).then(e=>e.default),[]),display:()=>a(()=>import(`./display-OvC57CMc.js`).then(e=>e.default),[]),docs:()=>a(()=>import(`./docs-B2aDtm5K.js`).then(e=>e.default),[]),everyday:()=>a(()=>import(`./everyday-CoZa4kDZ.js`).then(e=>e.default),[]),finance:()=>a(()=>import(`./finance-Bxn_Q1p0.js`).then(e=>e.default),[]),flows:()=>a(()=>import(`./flows-BL81J7yN.js`).then(e=>e.default),[]),forms:()=>a(()=>import(`./forms-DeoXOxdD.js`).then(e=>e.default),[]),layout:()=>a(()=>import(`./layout-CHn3XWJd.js`).then(e=>e.default),[]),learn:()=>a(()=>import(`./learn-CXstDWJf.js`).then(e=>e.default),[]),media:()=>a(()=>import(`./media-VLRh6CX2.js`).then(e=>e.default),[]),nav:()=>a(()=>import(`./nav-Czm-NzPV.js`).then(e=>e.default),[]),overlays:()=>a(()=>import(`./overlays-JxbHtA2o.js`).then(e=>e.default),[]),pickers:()=>a(()=>import(`./pickers-B4-3HOR8.js`).then(e=>e.default),[]),reference:()=>a(()=>import(`./reference-BjexflMu.js`).then(e=>e.default),[]),stats:()=>a(()=>import(`./stats-BeP5Bws0.js`).then(e=>e.default),[]),status:()=>a(()=>import(`./status-BY02LIJt.js`).then(e=>e.default),[]),tables:()=>a(()=>import(`./tables-Dzd3rTqG.js`).then(e=>e.default),[])},M=new Map;function ie(e,t){let n=re[e];if(!n)return Promise.resolve(void 0);let r=M.get(e);return r||(r=n(),M.set(e,r)),r.then(e=>e[t])}var N=r(),P={charts1:`Charts · hierarchy & flow`,charts2:`Charts · trends & ranges`,diagrams:`Diagrams & schematics`,learn:`Learn · math & assessment`,stats:`Stats & KPIs`,tables:`Tables & matrices`,flows:`Flows & plans`,media:`Media & maps`,docs:`Documents & evidence`,reference:`Reference & language`,ai:`AI & reasoning`,layout:`Layout & content`,compose:`Compose & messages`,everyday:`Everyday & utilities`,nav:`Navigation`,overlays:`Overlays`,forms:`Forms & inputs`,pickers:`Pickers`,status:`Status & feedback`,display:`Display`,code:`Code & syntax`,dashboard:`Living dashboards`,finance:`Finance & Fundraising`,core:`Core blocks`},ae=Object.keys(P),F=f.map(e=>e.type);function I(e){return{id:`money`,workspace:``,title:``,sub:``,opener:``,context:[],blocks:[{...e,col:12,delay:0}],proof:null,extras:{},group:`home`,suggests:[],keywords:[]}}function L(){let e=new Map;for(let t of F){let n=d(t)??`core`,r=e.get(n);r?r.push(t):e.set(n,[t])}return ae.flatMap(t=>{let n=e.get(t);return n?[{id:t,label:P[t]??t,types:n.sort()}]:[]})}var oe=L(),se=F.length,R=class extends m.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){}render(){return this.state.failed?(0,N.jsx)(`div`,{className:`vlib-render-error`,role:`alert`,"data-block-type":this.props.type,children:`This preview could not be rendered.`}):this.props.children}};function ce(){if(typeof window>`u`)return!1;let e=window.location.hash.split(`?`)[1]??``;return new URLSearchParams(e).get(`mountall`)===`1`}function le(e){let t=(0,h.c)(26),{type:r,flag:i,mountAll:a}=e,o;t[0]===r?o=t[1]:(o=ee(r),t[0]=r,t[1]=o);let s=o,[c,l]=(0,m.useState)(null),[f,p]=(0,m.useState)(!1),g=s?.colDefault??6,_=g>=10?` vlib-full`:g>=7?` vlib-wide`:``,v=i?` vlib-tile--${i.kind}`:``,y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y={rootMargin:`900px 0px`,threshold:0},t[2]=y):y=t[2];let[b,x]=n(y),S=a||x,C,w;t[3]!==s||t[4]!==S||t[5]!==r?(C=()=>{let e=s?.family;if(!S||!s||!e)return;let t=!0;return p(!1),ie(e,r).then(e=>{if(t){if(!e||typeof e!=`object`||Array.isArray(e)){p(!0);return}l({type:r,props:e,col:s.colDefault,delay:0})}}).catch(()=>{t&&p(!0)}),()=>{t=!1}},w=[S,r,s],t[3]=s,t[4]=S,t[5]=r,t[6]=C,t[7]=w):(C=t[6],w=t[7]),(0,m.useEffect)(C,w);let te=`vlib-tile`+_+v,T;t[8]===r?T=t[9]:(T=(0,N.jsx)(`span`,{className:`vlib-type`,children:r}),t[8]=r,t[9]=T);let E;t[10]!==i||t[11]!==r?(E=i?(0,N.jsxs)(`span`,{className:`vlib-flag vlib-flag--${i.kind}`,title:`${i.el} → ${i.clipper}`,children:[i.kind===`clip`?`clipped`:`scroll`,` `,i.px,`px`]}):(0,N.jsx)(`span`,{className:`vlib-fam`,children:d(r)??`core`}),t[10]=i,t[11]=r,t[12]=E):E=t[12];let D;t[13]!==T||t[14]!==E?(D=(0,N.jsxs)(`div`,{className:`vlib-tile-head`,children:[T,E]}),t[13]=T,t[14]=E,t[15]=D):D=t[15];let O;t[16]!==c||t[17]!==f||t[18]!==S||t[19]!==r?(O=S&&f?(0,N.jsx)(`div`,{className:`vlib-render`,children:(0,N.jsx)(`div`,{className:`vlib-render-error`,role:`alert`,"data-block-type":r,children:`This preview could not be loaded.`})}):S&&c?(0,N.jsx)(`div`,{className:`vlib-render`,children:(0,N.jsx)(R,{type:r,children:(0,N.jsx)(u,{data:I(c),spot:null,built:{},onProve:z})})}):(0,N.jsx)(`div`,{className:`vlib-render vlib-render--pending`,"aria-hidden":`true`}),t[16]=c,t[17]=f,t[18]=S,t[19]=r,t[20]=O):O=t[20];let k;return t[21]!==b||t[22]!==te||t[23]!==D||t[24]!==O?(k=(0,N.jsxs)(`div`,{ref:b,className:te,children:[D,O]}),t[21]=b,t[22]=te,t[23]=D,t[24]=O,t[25]=k):k=t[25],k}function z(){}function B(){let e=(0,h.c)(69),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=p(),e[0]=t):t=e[0];let n=t,[r,i]=(0,m.useState)(``),[a,u]=(0,m.useState)(`all`),[d,ee]=(0,m.useState)(o),[f,g]=(0,m.useState)(null),[_,v]=(0,m.useState)(null),[y,b]=(0,m.useState)(null),[x,S]=(0,m.useState)(ce),C=(0,m.useRef)(null),w,T;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{C.current?.focus()},T=[],e[1]=w,e[2]=T):(w=e[1],T=e[2]),(0,m.useEffect)(w,T);let E,D;e[3]===d?(E=e[4],D=e[5]):(E=()=>{typeof document<`u`&&c(d),s(d)},D=[d],e[3]=d,e[4]=E,e[5]=D),(0,m.useEffect)(E,D);let O,A;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>{let e=()=>S(ce());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},A=[],e[6]=O,e[7]=A):(O=e[6],A=e[7]),(0,m.useEffect)(O,A);let j;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{let e=te(),t=new Map;for(let n of e.clip)t.has(n.type)||t.set(n.type,n);for(let n of e.scroll)t.has(n.type)||t.set(n.type,n);return g(t),e},e[8]=j):j=e[8];let re=j,M;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>{let e=k();return v(e.overlaps.length),e},e[9]=M):M=e[9];let ie=M,P;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>{let e=ne();return b(e.truncations.length),e},e[10]=P):P=e[10];let ae=P,F,I;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(F=()=>{},I=[re,ie,ae],e[11]=F,e[12]=I):(F=e[11],I=e[12]),(0,m.useEffect)(F,I);let L;if(e[13]!==a||e[14]!==r){let t=r.trim().toLowerCase(),n;e[16]===a?n=e[17]:(n=e=>a===`all`||e.id===a,e[16]=a,e[17]=n),L=oe.filter(n).map(e=>({...e,types:t?e.types.filter(n=>n.includes(t)||e.label.toLowerCase().includes(t)||e.id.includes(t)):e.types})).filter(fe),e[13]=a,e[14]=r,e[15]=L}else L=e[15];let R=L,z;e[18]===R?z=e[19]:(z=R.reduce(de,0),e[18]=R,e[19]=z);let B=z,pe=`vlib`+(x?` vlib--mountall`:``),me;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,N.jsxs)(`button`,{className:`vlib-back`,type:`button`,onClick:()=>{window.location.hash=n.href},children:[`← Back to `,n.label]}),e[20]=me):me=e[20];let he;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,N.jsx)(`h1`,{children:`Visual library`}),e[21]=he):he=e[21];let V;e[22]===B?V=e[23]:(V=(0,N.jsxs)(`div`,{className:`vlib-headline`,children:[he,(0,N.jsxs)(`p`,{className:`vlib-subtitle`,children:[`Production-rendered library. `,B,` of `,se,` browsable types shown. Every card is fixed demonstration data, not advice.`]})]}),e[22]=B,e[23]=V);let ge;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>i(e.target.value),e[24]=ge):ge=e[24];let H;e[25]===r?H=e[26]:(H=(0,N.jsx)(`input`,{ref:C,className:`vlib-search`,type:`search`,placeholder:`Search visuals… (e.g. funnel, modal, kanban)`,value:r,onChange:ge,"aria-label":`Search visuals`}),e[25]=r,e[26]=H);let U;e[27]!==f||e[28]!==_||e[29]!==y?(U=!1,e[27]=f,e[28]=_,e[29]=y,e[30]=U):U=e[30];let _e;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>ee(ue),e[31]=_e):_e=e[31];let ve=`Switch to ${d===`dark`?`light`:`dark`} theme`,ye=`Switch to ${d===`dark`?`light`:`dark`} theme`,W;e[32]===d?W=e[33]:(W=d===`dark`?(0,N.jsx)(l.sun,{}):(0,N.jsx)(l.moon,{}),e[32]=d,e[33]=W);let G;e[34]!==ve||e[35]!==ye||e[36]!==W?(G=(0,N.jsx)(`button`,{className:`vlib-theme`,type:`button`,onClick:_e,"aria-label":ve,title:ye,children:W}),e[34]=ve,e[35]=ye,e[36]=W,e[37]=G):G=e[37];let K;e[38]!==H||e[39]!==U||e[40]!==G?(K=(0,N.jsxs)(`div`,{className:`vlib-controls`,children:[H,U,G]}),e[38]=H,e[39]=U,e[40]=G,e[41]=K):K=e[41];let q;e[42]!==V||e[43]!==K?(q=(0,N.jsxs)(`div`,{className:`vlib-bar-top`,children:[me,V,K]}),e[42]=V,e[43]=K,e[44]=q):q=e[44];let be=a===`all`,xe=`vlib-chip ${a===`all`?`active`:``}`,Se;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(Se=()=>u(`all`),e[45]=Se):Se=e[45];let Ce;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,N.jsx)(`span`,{className:`vlib-chip-n`,children:se}),e[46]=Ce):Ce=e[46];let J;e[47]!==be||e[48]!==xe?(J=(0,N.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":be,className:xe,onClick:Se,children:[`All `,Ce]}),e[47]=be,e[48]=xe,e[49]=J):J=e[49];let Y;e[50]===a?Y=e[51]:(Y=oe.map(e=>(0,N.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":a===e.id,className:`vlib-chip ${a===e.id?`active`:``}`,onClick:()=>u(e.id),children:[e.label,` `,(0,N.jsx)(`span`,{className:`vlib-chip-n`,children:e.types.length})]},e.id)),e[50]=a,e[51]=Y);let X;e[52]!==J||e[53]!==Y?(X=(0,N.jsxs)(`div`,{className:`vlib-chips`,role:`tablist`,"aria-label":`Filter by family`,children:[J,Y]}),e[52]=J,e[53]=Y,e[54]=X):X=e[54];let Z;e[55]!==q||e[56]!==X?(Z=(0,N.jsxs)(`div`,{className:`vlib-bar`,children:[q,X]}),e[55]=q,e[56]=X,e[57]=Z):Z=e[57];let Q;e[58]!==f||e[59]!==x||e[60]!==r||e[61]!==R?(Q=R.length===0?(0,N.jsxs)(`p`,{className:`vlib-empty`,children:[`No visuals match “`,r,`”.`]}):R.map(e=>(0,N.jsxs)(`section`,{className:`vlib-section`,children:[(0,N.jsxs)(`div`,{className:`vlib-section-head`,children:[(0,N.jsx)(`h2`,{children:e.label}),(0,N.jsx)(`span`,{className:`vlib-count`,children:e.types.length})]}),(0,N.jsx)(`div`,{className:`vlib-grid`,children:e.types.map(e=>(0,N.jsx)(le,{type:e,flag:f?.get(e),mountAll:x},e))})]},e.id)),e[58]=f,e[59]=x,e[60]=r,e[61]=R,e[62]=Q):Q=e[62];let $;e[63]===Q?$=e[64]:($=(0,N.jsx)(`div`,{className:`vlib-body`,children:Q}),e[63]=Q,e[64]=$);let we;return e[65]!==pe||e[66]!==Z||e[67]!==$?(we=(0,N.jsxs)(`div`,{className:pe,children:[Z,$]}),e[65]=pe,e[66]=Z,e[67]=$,e[68]=we):we=e[68],we}function ue(e){return e===`dark`?`light`:`dark`}function de(e,t){return e+t.types.length}function fe(e){return e.types.length}export{B as GalleryApp};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-DeHZSEgm.js";import{ot as t}from"./index-LiHcEJt_.js";var n=e(),r=[`wikipedia.org`,`report.pdf · p.4`,`search · 9 more`];function i(){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t,{eyebrow:`Transparent by design`,children:[`Know `,(0,n.jsx)(`em`,{children:`what you’re looking at.`})]}),(0,n.jsxs)(`div`,{className:`fl-trust`,children:[(0,n.jsx)(`svg`,{className:`fl-trust-spine`,viewBox:`0 0 1032 40`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{pathLength:1,d:`M0,20 C172,4 344,36 516,20 S860,4 1032,20`})}),(0,n.jsxs)(`div`,{className:`fl-trust-card grounded`,children:[(0,n.jsx)(`span`,{className:`fl-badge grounded`,children:`Grounded in · 11`}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`Sources stay attached`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`When search or an uploaded document supplies evidence, its citations stay with the answer for inspection. A citation does not guarantee that the claim is correct.`}),(0,n.jsx)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:r.map((e,t)=>(0,n.jsx)(`span`,{className:`fl-src-chip`,style:{"--src-i":String(t)},children:e},e))})]}),(0,n.jsxs)(`div`,{className:`fl-trust-card inferred`,children:[(0,n.jsx)(`span`,{className:`fl-badge inferred`,children:`Inferred`}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`Inferences can be labelled`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`Estimates can carry an Inferred badge, keeping them distinct from cited evidence.`}),(0,n.jsxs)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:[(0,n.jsx)(`span`,{className:`fl-stamp-value`,children:`Runway ≈ 4 months`}),(0,n.jsx)(`span`,{className:`fl-badge inferred fl-stamp-badge`,children:`Inferred`})]})]}),(0,n.jsxs)(`div`,{className:`fl-trust-card keys`,children:[(0,n.jsx)(`span`,{className:`fl-trust-icon`,"aria-hidden":`true`,children:(0,n.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,n.jsx)(`rect`,{x:`4`,y:`11`,width:`16`,height:`10`,rx:`2`}),(0,n.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]})}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`You control key storage`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`Keys are session-only by default. Optional remembering encrypts them locally. Requests reach your chosen provider through the app’s same-origin proxy — on your machine, that server is yours. Anyone hosting a copy for you can access keys and content in transit.`}),(0,n.jsx)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:(0,n.jsxs)(`span`,{className:`fl-key-boundary`,children:[(0,n.jsxs)(`svg`,{className:`fl-key-glyph`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`circle`,{cx:`7`,cy:`12`,r:`3.2`}),(0,n.jsx)(`path`,{d:`M10.2 12h9.8M16 12v3M20 12v2.4`})]}),(0,n.jsxs)(`svg`,{className:`fl-key-lock`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`rect`,{x:`5`,y:`10`,width:`14`,height:`9`,rx:`2`}),(0,n.jsx)(`path`,{d:`M8 10V7a4 4 0 0 1 8 0v3`})]}),(0,n.jsx)(`i`,{children:`this session`})]})})]})]})]})}export{i as HonestByDesign};
1
+ import{t as e}from"./jsx-runtime-DeHZSEgm.js";import{ot as t}from"./index-Db-FgYxX.js";var n=e(),r=[`wikipedia.org`,`report.pdf · p.4`,`search · 9 more`];function i(){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t,{eyebrow:`Transparent by design`,children:[`Know `,(0,n.jsx)(`em`,{children:`what you’re looking at.`})]}),(0,n.jsxs)(`div`,{className:`fl-trust`,children:[(0,n.jsx)(`svg`,{className:`fl-trust-spine`,viewBox:`0 0 1032 40`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:(0,n.jsx)(`path`,{pathLength:1,d:`M0,20 C172,4 344,36 516,20 S860,4 1032,20`})}),(0,n.jsxs)(`div`,{className:`fl-trust-card grounded`,children:[(0,n.jsx)(`span`,{className:`fl-badge grounded`,children:`Grounded in · 11`}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`Sources stay attached`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`When search or an uploaded document supplies evidence, its citations stay with the answer for inspection. A citation does not guarantee that the claim is correct.`}),(0,n.jsx)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:r.map((e,t)=>(0,n.jsx)(`span`,{className:`fl-src-chip`,style:{"--src-i":String(t)},children:e},e))})]}),(0,n.jsxs)(`div`,{className:`fl-trust-card inferred`,children:[(0,n.jsx)(`span`,{className:`fl-badge inferred`,children:`Inferred`}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`Inferences can be labelled`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`Estimates can carry an Inferred badge, keeping them distinct from cited evidence.`}),(0,n.jsxs)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:[(0,n.jsx)(`span`,{className:`fl-stamp-value`,children:`Runway ≈ 4 months`}),(0,n.jsx)(`span`,{className:`fl-badge inferred fl-stamp-badge`,children:`Inferred`})]})]}),(0,n.jsxs)(`div`,{className:`fl-trust-card keys`,children:[(0,n.jsx)(`span`,{className:`fl-trust-icon`,"aria-hidden":`true`,children:(0,n.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,n.jsx)(`rect`,{x:`4`,y:`11`,width:`16`,height:`10`,rx:`2`}),(0,n.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]})}),(0,n.jsx)(`div`,{className:`fl-trust-title`,children:`You control key storage`}),(0,n.jsx)(`p`,{className:`fl-trust-body`,children:`Keys are session-only by default. Optional remembering encrypts them locally. Requests reach your chosen provider through the app’s same-origin proxy — on your machine, that server is yours. Anyone hosting a copy for you can access keys and content in transit.`}),(0,n.jsx)(`div`,{className:`fl-trust-demo`,"aria-hidden":`true`,children:(0,n.jsxs)(`span`,{className:`fl-key-boundary`,children:[(0,n.jsxs)(`svg`,{className:`fl-key-glyph`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`circle`,{cx:`7`,cy:`12`,r:`3.2`}),(0,n.jsx)(`path`,{d:`M10.2 12h9.8M16 12v3M20 12v2.4`})]}),(0,n.jsxs)(`svg`,{className:`fl-key-lock`,viewBox:`0 0 24 24`,children:[(0,n.jsx)(`rect`,{x:`5`,y:`10`,width:`14`,height:`9`,rx:`2`}),(0,n.jsx)(`path`,{d:`M8 10V7a4 4 0 0 1 8 0v3`})]}),(0,n.jsx)(`i`,{children:`this session`})]})})]})]})]})}export{i as HonestByDesign};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";import{t as r}from"./TopicCanvas-Bw4bMFpe.js";import{t as i}from"./generateBeats-COflu5Zi.js";import"./canvas-C3O7MEA3.js";import{n as a}from"./screen-DFWKge3-.js";var o=e(),s={type:`insight`,col:12,delay:0,id:`seed-1`,num:`1`,props:{title:`Ask anything — Mavéa shows what it means`,summary:`These cards are just examples of the visuals Mavéa can draw. Ask a real question and it fills them with real, live data — narrated by voice.`,conf:`inferred`}},c=[{type:`kpi`,col:6,id:`seed-kpi`,props:{title:`What it draws on`,kpis:[{val:`130+`,label:`components`},{val:`40+`,label:`chart types`},{val:`Live`,label:`by voice`}]}},{type:`donut`,col:6,id:`seed-donut`,props:{title:`Example — a composition`,rows:[{label:`Needs`,pct:50,color:`var(--presence)`},{label:`Wants`,pct:30,color:`var(--insight)`},{label:`Savings`,pct:20,color:`var(--warning)`}]}},{type:`gauge`,col:4,id:`seed-gauge`,props:{title:`Example — a score`,value:72,max:100,band:`on track`}},{type:`bars`,col:8,id:`seed-bars`,props:{title:`Example — comparing amounts`,bars:[{label:`Mon`,value:3},{label:`Tue`,value:5},{label:`Wed`,value:4,hot:!0},{label:`Thu`,value:7},{label:`Fri`,value:8}]}},{type:`ring`,col:6,id:`seed-ring`,props:{title:`Example — progress`,rings:[{label:`Toward the goal`,pct:.6,display:`60%`,hint:`example`}]}},{type:`stack`,col:6,id:`seed-stack`,props:{title:`Example — parts of a total`,total:`100`,segments:[{label:`A`,value:50,display:`50`,color:`var(--presence)`},{label:`B`,value:30,display:`30`,color:`var(--insight)`},{label:`C`,value:20,display:`20`,color:`var(--warning)`}]}},{type:`breakdown`,col:6,id:`seed-breakdown`,props:{title:`Example — a split`,rows:[{name:`Part A`,val:`half`,pct:50},{name:`Part B`,val:`a third`,pct:30},{name:`Part C`,val:`the rest`,pct:20,tag:`example`}]}},{type:`chart`,col:12,id:`seed-chart`,props:{title:`Example — a trend over time`,labels:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`],series:[{name:`Example`,color:`var(--presence)`,data:[3,5,4,7,8]}],footer:`A real question fills this with your own data.`}},{type:`timeline`,col:6,id:`seed-timeline`,props:{events:[{time:`Step 1`,title:`You ask`,detail:`by voice or text`},{time:`Step 2`,title:`Mavéa answers`,detail:`out loud`},{time:`Step 3`,title:`The canvas builds`,detail:`visuals appear`}]}},{type:`compare`,col:6,id:`seed-compare`,props:{eyebrow:`Example`,options:[{name:`Option A`,pick:!0},{name:`Option B`}],criteria:[{label:`Speed`,cells:[{v:`Fast`,win:!0},{v:`Slower`}]},{label:`Cost`,cells:[{v:`Low`,win:!0},{v:`High`}]}]}}];function l(e=a()){return{id:`live`,workspace:`Live`,title:`What Mavéa can show`,sub:`A living canvas of visuals for every question — narrated by voice.`,opener:`Ask me anything — I answer out loud and show what I mean.`,context:[],blocks:[s,...c.slice(0,Math.max(0,e-1))].map((e,t)=>({...e,delay:Math.min(t*70,600)})),proof:null,extras:{},group:`home`,suggests:[],keywords:[]}}var u=t(),d=`Here's how it works — ask anything, and a living canvas builds while I talk.`;function f({onClose:e,speak:t,onFullTour:a}){let s=(0,o.useMemo)(()=>l(),[]),[c,f]=(0,o.useState)(null),p=(0,o.useRef)(null);return(0,o.useEffect)(()=>{t?.(d);let e=i(s.blocks,{opener:d,maxStops:3}),n=!1,r,a=0,o=()=>{if(n||a>=e.length)return;let t=e[a++];t.set&&`spot`in t.set&&f(t.set.spot??null),r=setTimeout(o,t.ms??0)};return o(),()=>{n=!0,r&&clearTimeout(r)}},[]),(0,o.useEffect)(()=>{if(!c)return;let e=window.setTimeout(()=>{let e=p.current;if(!e)return;let t=e.querySelector(`.spotlit`);if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=r.top-n.top-(e.clientHeight-r.height)/2;e.scrollTo({top:Math.max(0,e.scrollTop+i),behavior:`smooth`})},90);return()=>window.clearTimeout(e)},[c]),(0,o.useEffect)(()=>{let t=t=>{t.key===`Escape`&&e()};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e]),(0,u.jsxs)(`div`,{onClick:t=>t.target===t.currentTarget&&e(),role:`dialog`,"aria-modal":`true`,"aria-label":`How Live works — an example`,style:{position:`fixed`,inset:0,zIndex:60,background:`rgba(var(--scrim-rgb), 0.55)`,display:`flex`,flexDirection:`column`,padding:24},children:[(0,u.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,marginBottom:12,background:`var(--surface-elevated)`,border:`1px solid var(--line)`,borderRadius:12,padding:`10px 14px`,flexWrap:`wrap`},children:[(0,u.jsxs)(`span`,{style:{fontWeight:600,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-primary)`},children:[(0,u.jsx)(n.spark,{style:{width:16,height:16,color:`var(--presence)`}}),`Example — how Live answers`]}),(0,u.jsx)(`span`,{style:{fontSize:12.5,color:`var(--text-secondary)`},children:`a sample canvas · ask a real question for real, live data`}),a&&(0,u.jsx)(`button`,{type:`button`,className:`entry-action`,style:{marginLeft:`auto`,fontSize:13},onClick:a,children:`Take the full tour →`}),(0,u.jsx)(`button`,{className:`entry-action`,style:{marginLeft:a?void 0:`auto`,fontSize:13},onClick:e,children:`Got it`})]}),(0,u.jsx)(`div`,{ref:p,className:`canvas-scroll`,style:{flex:1,overflow:`auto`,background:`var(--surface-default)`,border:`1px solid var(--line-strong)`,borderRadius:12,padding:16,boxShadow:`var(--shadow-modal)`},children:(0,u.jsx)(`div`,{className:`topic-wrap`,children:(0,u.jsx)(r,{data:s,spot:c,built:{},onProve:()=>{}})})})]})}export{f as HowItWorks};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";import{t as r}from"./TopicCanvas-Cwc6-K3q.js";import{t as i}from"./generateBeats-Dqtfd8HC.js";import"./canvas-CYrbzF43.js";import{n as a}from"./screen-DFWKge3-.js";var o=e(),s={type:`insight`,col:12,delay:0,id:`seed-1`,num:`1`,props:{title:`Ask anything — Mavéa shows what it means`,summary:`These cards are just examples of the visuals Mavéa can draw. Ask a real question and it fills them with real, live data — narrated by voice.`,conf:`inferred`}},c=[{type:`kpi`,col:6,id:`seed-kpi`,props:{title:`What it draws on`,kpis:[{val:`130+`,label:`components`},{val:`40+`,label:`chart types`},{val:`Live`,label:`by voice`}]}},{type:`donut`,col:6,id:`seed-donut`,props:{title:`Example — a composition`,rows:[{label:`Needs`,pct:50,color:`var(--presence)`},{label:`Wants`,pct:30,color:`var(--insight)`},{label:`Savings`,pct:20,color:`var(--warning)`}]}},{type:`gauge`,col:4,id:`seed-gauge`,props:{title:`Example — a score`,value:72,max:100,band:`on track`}},{type:`bars`,col:8,id:`seed-bars`,props:{title:`Example — comparing amounts`,bars:[{label:`Mon`,value:3},{label:`Tue`,value:5},{label:`Wed`,value:4,hot:!0},{label:`Thu`,value:7},{label:`Fri`,value:8}]}},{type:`ring`,col:6,id:`seed-ring`,props:{title:`Example — progress`,rings:[{label:`Toward the goal`,pct:.6,display:`60%`,hint:`example`}]}},{type:`stack`,col:6,id:`seed-stack`,props:{title:`Example — parts of a total`,total:`100`,segments:[{label:`A`,value:50,display:`50`,color:`var(--presence)`},{label:`B`,value:30,display:`30`,color:`var(--insight)`},{label:`C`,value:20,display:`20`,color:`var(--warning)`}]}},{type:`breakdown`,col:6,id:`seed-breakdown`,props:{title:`Example — a split`,rows:[{name:`Part A`,val:`half`,pct:50},{name:`Part B`,val:`a third`,pct:30},{name:`Part C`,val:`the rest`,pct:20,tag:`example`}]}},{type:`chart`,col:12,id:`seed-chart`,props:{title:`Example — a trend over time`,labels:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`],series:[{name:`Example`,color:`var(--presence)`,data:[3,5,4,7,8]}],footer:`A real question fills this with your own data.`}},{type:`timeline`,col:6,id:`seed-timeline`,props:{events:[{time:`Step 1`,title:`You ask`,detail:`by voice or text`},{time:`Step 2`,title:`Mavéa answers`,detail:`out loud`},{time:`Step 3`,title:`The canvas builds`,detail:`visuals appear`}]}},{type:`compare`,col:6,id:`seed-compare`,props:{eyebrow:`Example`,options:[{name:`Option A`,pick:!0},{name:`Option B`}],criteria:[{label:`Speed`,cells:[{v:`Fast`,win:!0},{v:`Slower`}]},{label:`Cost`,cells:[{v:`Low`,win:!0},{v:`High`}]}]}}];function l(e=a()){return{id:`live`,workspace:`Live`,title:`What Mavéa can show`,sub:`A living canvas of visuals for every question — narrated by voice.`,opener:`Ask me anything — I answer out loud and show what I mean.`,context:[],blocks:[s,...c.slice(0,Math.max(0,e-1))].map((e,t)=>({...e,delay:Math.min(t*70,600)})),proof:null,extras:{},group:`home`,suggests:[],keywords:[]}}var u=t(),d=`Here's how it works — ask anything, and a living canvas builds while I talk.`;function f({onClose:e,speak:t,onFullTour:a}){let s=(0,o.useMemo)(()=>l(),[]),[c,f]=(0,o.useState)(null),p=(0,o.useRef)(null);return(0,o.useEffect)(()=>{t?.(d);let e=i(s.blocks,{opener:d,maxStops:3}),n=!1,r,a=0,o=()=>{if(n||a>=e.length)return;let t=e[a++];t.set&&`spot`in t.set&&f(t.set.spot??null),r=setTimeout(o,t.ms??0)};return o(),()=>{n=!0,r&&clearTimeout(r)}},[]),(0,o.useEffect)(()=>{if(!c)return;let e=window.setTimeout(()=>{let e=p.current;if(!e)return;let t=e.querySelector(`.spotlit`);if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=r.top-n.top-(e.clientHeight-r.height)/2;e.scrollTo({top:Math.max(0,e.scrollTop+i),behavior:`smooth`})},90);return()=>window.clearTimeout(e)},[c]),(0,o.useEffect)(()=>{let t=t=>{t.key===`Escape`&&e()};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e]),(0,u.jsxs)(`div`,{onClick:t=>t.target===t.currentTarget&&e(),role:`dialog`,"aria-modal":`true`,"aria-label":`How Live works — an example`,style:{position:`fixed`,inset:0,zIndex:60,background:`rgba(var(--scrim-rgb), 0.55)`,display:`flex`,flexDirection:`column`,padding:24},children:[(0,u.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,marginBottom:12,background:`var(--surface-elevated)`,border:`1px solid var(--line)`,borderRadius:12,padding:`10px 14px`,flexWrap:`wrap`},children:[(0,u.jsxs)(`span`,{style:{fontWeight:600,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-primary)`},children:[(0,u.jsx)(n.spark,{style:{width:16,height:16,color:`var(--presence)`}}),`Example — how Live answers`]}),(0,u.jsx)(`span`,{style:{fontSize:12.5,color:`var(--text-secondary)`},children:`a sample canvas · ask a real question for real, live data`}),a&&(0,u.jsx)(`button`,{type:`button`,className:`entry-action`,style:{marginLeft:`auto`,fontSize:13},onClick:a,children:`Take the full tour →`}),(0,u.jsx)(`button`,{className:`entry-action`,style:{marginLeft:a?void 0:`auto`,fontSize:13},onClick:e,children:`Got it`})]}),(0,u.jsx)(`div`,{ref:p,className:`canvas-scroll`,style:{flex:1,overflow:`auto`,background:`var(--surface-default)`,border:`1px solid var(--line-strong)`,borderRadius:12,padding:16,boxShadow:`var(--shadow-modal)`},children:(0,u.jsx)(`div`,{className:`topic-wrap`,children:(0,u.jsx)(r,{data:s,spot:c,built:{},onProve:()=>{}})})})]})}export{f as HowItWorks};
@@ -0,0 +1 @@
1
+ import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{t as n}from"./LegalPageShell-DuIwSVSJ.js";var r=e(),i=t(),a=[{title:`AI output needs human review`,body:`AI output can be incomplete, inaccurate, outdated, internally inconsistent, biased, offensive, unsafe, or fabricated. A citation, quotation, calculation, forecast, confidence indicator, source highlight, or polished visual is not proof that a result is correct. Check original sources and have a qualified person review consequential decisions.`},{title:`Not professional or emergency help`,body:`Mavéa is not a provider of medical, legal, financial, tax, mental-health, safety, or other professional advice. It is not an emergency, crisis, or monitoring service. If someone may be in danger, contact local emergency services or an appropriate crisis service now.`},{title:`Third-party providers process requests`,body:`Prompts, attachments, conversation context, search requests, and connected-app data may be sent to the AI provider, search provider, or connected service you select so the requested feature can work. Their terms, privacy practices, retention rules, availability, and billing apply. You are responsible for provider charges, and Mavéa does not control third-party services.`},{title:`Remembered keys remain your responsibility`,body:`Provider and search keys are secrets. With Remember off, Mavéa keeps them in memory only until reload. With Remember on, Mavéa stores encrypted ciphertext in this browser using a device-bound key when browser cryptography is available; otherwise keys remain session-only. Encryption at rest is a convenience, not a guarantee against an unlocked, shared, lost, or compromised device, browser profile, extension, same-origin app code, deployment, or provider. Keys pass through this deployment’s same-origin request proxy when used. Use restricted, revocable keys on a trusted device, rotate or revoke them if exposure is possible, and monitor your provider account. Settings exports exclude provider and search keys.`},{title:`Protect sensitive and confidential information`,body:`Local storage describes where Mavéa saves information on this device; it does not mean requests sent to a selected provider stay local. Anything you type, paste, attach, or upload may be transmitted to selected providers. Do not submit passwords, secrets, work-related or personal material, identifiable information, confidential information, regulated data, or another person’s information unless you are authorized to share it and accept the providers’ processing and retention practices.`},{title:`A connected repository leaves with your request`,body:`Connecting a code host lets Mavéa read what the access you grant can reach — files, documentation, diffs, commit messages, and issues — and send the relevant parts to the model provider you selected, under that provider’s own retention and processing terms. A private repository is not handled differently from a public one: if the token or OAuth scope can read private code, private code can leave your control. Grant the narrowest scope that makes the feature work, prefer read-only and a repository allowlist where your host offers one, use a dedicated account on a shared deployment, revoke connections you no longer use, and do not connect a repository you are not permitted to disclose.`},{title:`Use content you have the right to use`,body:`Only upload, transform, publish, or share material you have the rights and permission to use. AI output may not be unique, may resemble other material, may include protected content, or may not qualify for copyright protection. Mavéa does not guarantee ownership or non-infringement; review output before publishing or commercial use.`},{title:`Review actions before they leave Mavéa`,body:`Connected apps, exports, code suggestions, generated messages, and other actions can affect external systems or people. Check the destination, content, permissions, and consequences before confirming or using them. You are responsible for actions you take and material you share.`}];function o(){let e=(0,r.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,i.jsx)(`p`,{children:`Mavéa uses AI models and connected services selected by you. These plain-language notices apply across Live, Courses, Deep Zoom, Prism, Ripple, Reels, exports, and connected apps.`}),e[0]=t):t=e[0];let o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,i.jsx)(`div`,{className:`legal-grid`,children:a.map(s)}),e[1]=o):o=e[1];let c;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,i.jsxs)(n,{page:`important`,kicker:`Before you rely on an answer`,title:`Important information`,intro:t,children:[o,(0,i.jsxs)(`aside`,{className:`legal-warranty`,"aria-label":`Warranty and responsibility notice`,children:[(0,i.jsx)(`strong`,{children:`Service and responsibility`}),(0,i.jsx)(`p`,{children:`Features, providers, sources, and results can change, fail, or become unavailable. To the fullest extent permitted by law, Mavéa and its outputs are provided “as is” and “as available,” without warranties, and Mavéa is not responsible for decisions, actions, losses, harm, unauthorized submissions, credential misuse, provider charges, or third-party processing or retention arising from their use. You use the service and its outputs at your own risk. Nothing here limits rights or liability that cannot legally be limited.`})]}),(0,i.jsx)(`p`,{className:`legal-fineprint`,children:`This notice does not replace the terms and privacy notices of the providers and connected services you choose.`})]}),e[2]=c):c=e[2],c}function s(e,t){return(0,i.jsxs)(`section`,{className:`legal-item`,children:[(0,i.jsx)(`span`,{className:`legal-number`,"aria-hidden":!0,children:String(t+1).padStart(2,`0`)}),(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`h2`,{children:e.title}),(0,i.jsx)(`p`,{children:e.body})]})]},e.title)}export{o as LegalApp};
@@ -1,3 +1,3 @@
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{st as r}from"./index-LiHcEJt_.js";import{n as i,t as a}from"./LegalPageShell-hMA-7JLf.js";var o=e(),s=t();function c(e){let t=[],n=0;for(;n<e.length;){let r=e[n].trim();if(!r){n+=1;continue}if(r.startsWith(`- `)){let r=[];for(;n<e.length&&e[n].trim().startsWith(`- `);)r.push(e[n].trim().slice(2)),n+=1;t.push({kind:`list`,items:r});continue}let i=[];for(;n<e.length;){let t=e[n].trim();if(!t||t.startsWith(`## `)||t.startsWith(`- `))break;i.push(t),n+=1}i.length&&t.push({kind:`paragraph`,text:i.join(` `)})}return t}function l(e){let t=e.replace(/\r\n?/g,`
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{st as r}from"./index-Db-FgYxX.js";import{n as i,t as a}from"./LegalPageShell-DuIwSVSJ.js";var o=e(),s=t();function c(e){let t=[],n=0;for(;n<e.length;){let r=e[n].trim();if(!r){n+=1;continue}if(r.startsWith(`- `)){let r=[];for(;n<e.length&&e[n].trim().startsWith(`- `);)r.push(e[n].trim().slice(2)),n+=1;t.push({kind:`list`,items:r});continue}let i=[];for(;n<e.length;){let t=e[n].trim();if(!t||t.startsWith(`## `)||t.startsWith(`- `))break;i.push(t),n+=1}i.length&&t.push({kind:`paragraph`,text:i.join(` `)})}return t}function l(e){let t=e.replace(/\r\n?/g,`
2
2
  `).trim().split(`
3
3
  `),n=t.shift()?.trim()??``;if(!n.startsWith(`# `))throw Error(`Legal document must begin with an H1`);let r=n.slice(2).trim(),i,a=[],o=[],s=0;for(;s<t.length&&!t[s].startsWith(`## `);){let e=t[s],n=e.match(/^Effective:\s*(.+)$/i);n?i=n[1].trim():a.push(e),s+=1}for(;s<t.length;){let e=t[s].trim();if(!e.startsWith(`## `)){s+=1;continue}let n=e.slice(3).trim(),r=n.match(/^(\d+)\.\s+(.+)$/);s+=1;let i=[];for(;s<t.length&&!t[s].startsWith(`## `);)i.push(t[s]),s+=1;o.push({number:r?Number(r[1]):o.length+1,title:r?r[2]:n,blocks:c(i)})}return{title:r,effectiveDate:i,intro:c(a),sections:o}}var u=n(),d={"./LICENSE":`LICENSE.txt`,"./TERMS.md":`TERMS.md`,"./DISCLAIMER.md":`DISCLAIMER.md`,"./PRIVACY.md":`PRIVACY.md`,"./TRADEMARKS.md":`TRADEMARKS.md`,"./SUPPORT.md":`SUPPORT.md`,"./SECURITY.md":`SECURITY.md`};function f(){if(typeof window>`u`)return``;let e=window.location.hash.split(`?`)[1]??``;return new URLSearchParams(e).get(`from`)===`live`?`?from=live`:`?from=home`}function p(e){if(e===`./TERMS.md`)return{href:`#/terms${f()}`,external:!1};if(e===`./PRIVACY.md`)return{href:`#/privacy${f()}`,external:!1};let t=d[e];if(t)return{href:r(t),external:!0};try{let t=new URL(e);if(t.protocol===`https:`)return{href:t.href,external:!0}}catch{}return null}function m(e){let t=/(\[([^\]]+)\]\(([^)]+)\)|\*\*([^*]+)\*\*|`([^`]+)`)/g,n=[],r=0,i;for(;i=t.exec(e);){i.index>r&&n.push(e.slice(r,i.index));let a=`${i.index}-${i[0]}`;if(i[2]!==void 0&&i[3]!==void 0){let e=p(i[3]);n.push(e?(0,u.jsx)(`a`,{href:e.href,...e.external?{target:`_blank`,rel:`noreferrer noopener`}:void 0,children:i[2]},a):(0,u.jsx)(o.Fragment,{children:i[2]},a))}else i[4]===void 0?n.push((0,u.jsx)(`code`,{children:i[5]},a)):n.push((0,u.jsx)(`strong`,{children:i[4]},a));r=t.lastIndex}return r<e.length&&n.push(e.slice(r)),n}function h(e){let t=e.replace(/[^A-Za-z]/g,``);return t.length>=40&&t===t.toUpperCase()}function g(e){let t=(0,s.c)(4),{value:n}=e,r;t[0]===n?r=t[1]:(r=n.map(_),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,u.jsx)(u.Fragment,{children:r}),t[2]=r,t[3]=i),i}function _(e,t){return e.kind===`paragraph`?(0,u.jsx)(`p`,{className:h(e.text)?`legal-caps`:void 0,children:m(e.text)},t):(0,u.jsx)(`ul`,{children:e.items.map(v)},t)}function v(e,t){return(0,u.jsx)(`li`,{children:m(e)},t)}function y(e){let t=(0,s.c)(22),{markdown:n,page:r,kicker:i}=e,o,c,d,f,p,m,h,_;if(t[0]!==i||t[1]!==n||t[2]!==r){let e=l(n);o=a,f=r,p=i,m=e.title,h=e.effectiveDate,_=(0,u.jsx)(g,{value:e.intro}),c=`legal-prose`,d=e.sections.map(b),t[0]=i,t[1]=n,t[2]=r,t[3]=o,t[4]=c,t[5]=d,t[6]=f,t[7]=p,t[8]=m,t[9]=h,t[10]=_}else o=t[3],c=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],_=t[10];let v;t[11]!==c||t[12]!==d?(v=(0,u.jsx)(`div`,{className:c,children:d}),t[11]=c,t[12]=d,t[13]=v):v=t[13];let y;return t[14]!==o||t[15]!==f||t[16]!==p||t[17]!==m||t[18]!==h||t[19]!==_||t[20]!==v?(y=(0,u.jsx)(o,{page:f,kicker:p,title:m,effectiveDate:h,intro:_,children:v}),t[14]=o,t[15]=f,t[16]=p,t[17]=m,t[18]=h,t[19]=_,t[20]=v,t[21]=y):y=t[21],y}function b(e){return(0,u.jsx)(i,{number:e.number,title:e.title,children:(0,u.jsx)(g,{value:e.blocks})},e.number)}export{y as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{st as r}from"./index-LiHcEJt_.js";var i=e(),a=t(),o=n(),s=`maveaLegalAnchor`;function c(e){let t=window.history.state,n=typeof t==`object`&&t?t:{};s in n&&n[s]===e||(window.history.replaceState({...n,[s]:e},``),window.scrollTo({top:0}))}function l(){if(typeof window>`u`)return``;let e=window.location.hash.split(`?`)[1]??``;return new URLSearchParams(e).get(`from`)===`live`?`?from=live`:`?from=home`}function u(){return l()===`?from=live`?`#/live`:`#/`}function d(e){return`#/${e}${l()}`}function f(e){let t=(0,a.c)(34),{page:n,kicker:s,title:l,intro:f,effectiveDate:p,children:m}=e,h,g;t[0]===n?(h=t[1],g=t[2]):(h=()=>{c(n)},g=[n],t[0]=n,t[1]=h,t[2]=g),(0,i.useLayoutEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,o.jsxs)(`a`,{className:`legal-brand`,href:`#/`,"aria-label":`Mavéa home`,children:[(0,o.jsx)(`span`,{className:`legal-brand-mark`,"aria-hidden":!0}),`Mavéa`]}),t[3]=_):_=t[3];let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,o.jsxs)(`header`,{className:`legal-topbar`,children:[_,(0,o.jsx)(`a`,{className:`legal-back`,href:u(),children:`← Back to Mavéa`})]}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=d(`legal`),t[5]=y):y=t[5];let b=n===`important`?`page`:void 0,x;t[6]===b?x=t[7]:(x=(0,o.jsx)(`a`,{href:y,"aria-current":b,children:`Important information`}),t[6]=b,t[7]=x);let S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=d(`terms`),t[8]=S):S=t[8];let C=n===`terms`?`page`:void 0,w;t[9]===C?w=t[10]:(w=(0,o.jsx)(`a`,{href:S,"aria-current":C,children:`Terms of use`}),t[9]=C,t[10]=w);let T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=d(`privacy`),t[11]=T):T=t[11];let E=n===`privacy`?`page`:void 0,D;t[12]===E?D=t[13]:(D=(0,o.jsx)(`a`,{href:T,"aria-current":E,children:`Privacy`}),t[12]=E,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,o.jsx)(`a`,{href:r(`LICENSE.txt`),target:`_blank`,rel:`noreferrer noopener`,children:`License`}),t[14]=O):O=t[14];let k;t[15]!==w||t[16]!==D||t[17]!==x?(k=(0,o.jsxs)(`nav`,{className:`legal-document-nav`,"aria-label":`Legal and safety information`,children:[x,w,D,O]}),t[15]=w,t[16]=D,t[17]=x,t[18]=k):k=t[18];let A;t[19]===s?A=t[20]:(A=(0,o.jsx)(`p`,{className:`legal-kicker`,children:s}),t[19]=s,t[20]=A);let j;t[21]===l?j=t[22]:(j=(0,o.jsx)(`h1`,{children:l}),t[21]=l,t[22]=j);let M;t[23]===p?M=t[24]:(M=p&&(0,o.jsxs)(`p`,{className:`legal-effective`,children:[`Effective `,p]}),t[23]=p,t[24]=M);let N;t[25]===f?N=t[26]:(N=(0,o.jsx)(`div`,{className:`legal-intro`,children:f}),t[25]=f,t[26]=N);let P;return t[27]!==m||t[28]!==k||t[29]!==A||t[30]!==j||t[31]!==M||t[32]!==N?(P=(0,o.jsxs)(`main`,{className:`legal-app`,children:[v,(0,o.jsxs)(`article`,{className:`legal-sheet`,children:[k,A,j,M,N,m]})]}),t[27]=m,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=N,t[33]=P):P=t[33],P}function p(e){let t=(0,a.c)(12),{number:n,title:r,children:i}=e,s=String(n),c;t[0]===s?c=t[1]:(c=s.padStart(2,`0`),t[0]=s,t[1]=c);let l;t[2]===c?l=t[3]:(l=(0,o.jsx)(`span`,{className:`legal-number`,"aria-hidden":!0,children:c}),t[2]=c,t[3]=l);let u;t[4]===r?u=t[5]:(u=(0,o.jsx)(`h2`,{children:r}),t[4]=r,t[5]=u);let d;t[6]!==i||t[7]!==u?(d=(0,o.jsxs)(`div`,{children:[u,i]}),t[6]=i,t[7]=u,t[8]=d):d=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,o.jsxs)(`section`,{className:`legal-prose-section`,children:[l,d]}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f}export{p as n,f as t};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{st as r}from"./index-Db-FgYxX.js";var i=e(),a=t(),o=n(),s=`maveaLegalAnchor`;function c(e){let t=window.history.state,n=typeof t==`object`&&t?t:{};s in n&&n[s]===e||(window.history.replaceState({...n,[s]:e},``),window.scrollTo({top:0}))}function l(){if(typeof window>`u`)return``;let e=window.location.hash.split(`?`)[1]??``;return new URLSearchParams(e).get(`from`)===`live`?`?from=live`:`?from=home`}function u(){return l()===`?from=live`?`#/live`:`#/`}function d(e){return`#/${e}${l()}`}function f(e){let t=(0,a.c)(34),{page:n,kicker:s,title:l,intro:f,effectiveDate:p,children:m}=e,h,g;t[0]===n?(h=t[1],g=t[2]):(h=()=>{c(n)},g=[n],t[0]=n,t[1]=h,t[2]=g),(0,i.useLayoutEffect)(h,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,o.jsxs)(`a`,{className:`legal-brand`,href:`#/`,"aria-label":`Mavéa home`,children:[(0,o.jsx)(`span`,{className:`legal-brand-mark`,"aria-hidden":!0}),`Mavéa`]}),t[3]=_):_=t[3];let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,o.jsxs)(`header`,{className:`legal-topbar`,children:[_,(0,o.jsx)(`a`,{className:`legal-back`,href:u(),children:`← Back to Mavéa`})]}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=d(`legal`),t[5]=y):y=t[5];let b=n===`important`?`page`:void 0,x;t[6]===b?x=t[7]:(x=(0,o.jsx)(`a`,{href:y,"aria-current":b,children:`Important information`}),t[6]=b,t[7]=x);let S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=d(`terms`),t[8]=S):S=t[8];let C=n===`terms`?`page`:void 0,w;t[9]===C?w=t[10]:(w=(0,o.jsx)(`a`,{href:S,"aria-current":C,children:`Terms of use`}),t[9]=C,t[10]=w);let T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=d(`privacy`),t[11]=T):T=t[11];let E=n===`privacy`?`page`:void 0,D;t[12]===E?D=t[13]:(D=(0,o.jsx)(`a`,{href:T,"aria-current":E,children:`Privacy`}),t[12]=E,t[13]=D);let O;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,o.jsx)(`a`,{href:r(`LICENSE.txt`),target:`_blank`,rel:`noreferrer noopener`,children:`License`}),t[14]=O):O=t[14];let k;t[15]!==w||t[16]!==D||t[17]!==x?(k=(0,o.jsxs)(`nav`,{className:`legal-document-nav`,"aria-label":`Legal and safety information`,children:[x,w,D,O]}),t[15]=w,t[16]=D,t[17]=x,t[18]=k):k=t[18];let A;t[19]===s?A=t[20]:(A=(0,o.jsx)(`p`,{className:`legal-kicker`,children:s}),t[19]=s,t[20]=A);let j;t[21]===l?j=t[22]:(j=(0,o.jsx)(`h1`,{children:l}),t[21]=l,t[22]=j);let M;t[23]===p?M=t[24]:(M=p&&(0,o.jsxs)(`p`,{className:`legal-effective`,children:[`Effective `,p]}),t[23]=p,t[24]=M);let N;t[25]===f?N=t[26]:(N=(0,o.jsx)(`div`,{className:`legal-intro`,children:f}),t[25]=f,t[26]=N);let P;return t[27]!==m||t[28]!==k||t[29]!==A||t[30]!==j||t[31]!==M||t[32]!==N?(P=(0,o.jsxs)(`main`,{className:`legal-app`,children:[v,(0,o.jsxs)(`article`,{className:`legal-sheet`,children:[k,A,j,M,N,m]})]}),t[27]=m,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=N,t[33]=P):P=t[33],P}function p(e){let t=(0,a.c)(12),{number:n,title:r,children:i}=e,s=String(n),c;t[0]===s?c=t[1]:(c=s.padStart(2,`0`),t[0]=s,t[1]=c);let l;t[2]===c?l=t[3]:(l=(0,o.jsx)(`span`,{className:`legal-number`,"aria-hidden":!0,children:c}),t[2]=c,t[3]=l);let u;t[4]===r?u=t[5]:(u=(0,o.jsx)(`h2`,{children:r}),t[4]=r,t[5]=u);let d;t[6]!==i||t[7]!==u?(d=(0,o.jsxs)(`div`,{children:[u,i]}),t[6]=i,t[7]=u,t[8]=d):d=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,o.jsxs)(`section`,{className:`legal-prose-section`,children:[l,d]}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f}export{p as n,f as t};
@@ -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{n as r}from"./icons-gLFQTv74.js";import{n as i}from"./blockLabel-FogyzEQY.js";import{t as a}from"./sentenceCase-CLDiNB0f.js";import"./store-C9s8Bfz0.js";import{i as o,o as s,r as c}from"./neighborhoods-B56WegJs.js";import{t as l}from"./time-BHTmJR1s.js";var u=e(),d=t(),f=1,p=.4;function m(e,t,n,r){e.entries.push(t);for(let[t,r]of n)e.centroid.set(t,(e.centroid.get(t)??0)+r);let i=new Set(r);for(let t of i)e.df.has(t)||e.order.push(t),e.df.set(t,(e.df.get(t)??0)+1);for(let n of[t.title,t.question].join(` `).split(/[^a-zA-Z0-9$%]+/)){let t=n.trim();if(!t)continue;let r=t.toLowerCase();i.has(r)&&!e.caseMap.has(r)&&e.caseMap.set(r,t)}}function h(e){let t=0;for(let n of e.entries)n.savedAt>t&&(t=n.savedAt);return t}function g(e){let t=e.entries[0];if(e.entries.length===1)return(t.title||t.question).trim();let n=Math.max(2,Math.ceil(e.entries.length/2)),r=e.order.filter(t=>(e.df.get(t)??0)>=n);if(r.length){let t=r.slice(0,2).map(t=>e.caseMap.get(t)??t);return a(t.join(` `))}let i=e.entries.find(e=>e.topic?.trim())?.topic?.trim();return i?a(i):(t.title||t.question).trim()}function _(e){let t=[];for(let n of e){let e=c(n),r=s(e,n.topic,f),i=null,a=p;for(let e of t){let t=o(r,e.centroid);t>a&&(i=e,a=t)}if(i)m(i,n,r,e);else{let i={entries:[],centroid:new Map,df:new Map,order:[],caseMap:new Map};m(i,n,r,e),t.push(i)}}return t.sort((e,t)=>h(t)-h(e)),t.map(e=>({id:`grp-`+e.entries[0].id,name:g(e),entries:e.entries}))}var v=new Set([`insight`,`quotes`,`kpi`,`callout`,`note`,`insightcard`]),y=3;function b(e){let t=e.spec.blocks??[],n=[{icon:`ask`,text:e.question}];for(let e of t.slice(0,y))n.push({icon:v.has(e.type)?`finding`:`evidence`,text:i(e)});return{moments:n,more:Math.max(0,t.length-y)}}var x=n(),S=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function C(e){let t=(0,d.c)(3),{icon:n}=e;if(n===`ask`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,x.jsx)(r.mic,{}),t[0]=e):e=t[0],e}let i=n===`finding`?`✦`:`⊞`,a;return t[1]===i?a=t[2]:(a=(0,x.jsx)(`span`,{"aria-hidden":!0,children:i}),t[1]=i,t[2]=a),a}function w(e){return a(e.title||e.question)}function T(e){let{moments:t}=b(e);return[e.title,e.question,...t.map(e=>e.text)].join(` `).toLowerCase()}var E=6048e5,D=6,O=4;function k({entry:e,accent:t,onResume:n,onRemove:i}){let{moments:a,more:o}=b(e),s=e.spec.blocks.length;return(0,x.jsxs)(`div`,{className:`lib-card`,style:{"--lib-accent":t},children:[(0,x.jsxs)(`button`,{type:`button`,className:`lib-open`,onClick:()=>n(e),"aria-label":`Resume "${w(e)}"`,children:[(0,x.jsxs)(`div`,{className:`lib-card-head`+(i?` has-remove`:``),children:[(0,x.jsx)(`span`,{className:`lib-dot`}),(0,x.jsx)(`span`,{className:`lib-card-title`,children:w(e)}),(0,x.jsx)(`span`,{className:`lib-count tab-num`,children:s})]}),(0,x.jsxs)(`ul`,{className:`lib-moments`,children:[a.map((e,t)=>(0,x.jsxs)(`li`,{className:`lib-moment`,children:[(0,x.jsx)(`span`,{className:`lib-moment-icon`,children:(0,x.jsx)(C,{icon:e.icon})}),(0,x.jsx)(`span`,{className:`lib-moment-text`,children:e.text})]},t)),o>0&&(0,x.jsxs)(`li`,{className:`lib-moment lib-moment-more`,children:[`+ `,o,` more `,o===1?`moment`:`moments`]})]}),(0,x.jsxs)(`div`,{className:`lib-meta`,children:[(0,x.jsxs)(`span`,{children:[`saved `,l(e.savedAt)]}),(0,x.jsx)(`span`,{className:`lib-resume`,children:`Resume →`})]})]}),i&&(0,x.jsx)(`button`,{type:`button`,className:`lib-remove`,"aria-label":`Remove "${w(e)}" from your library`,onClick:()=>i(e.id),children:(0,x.jsx)(r.x,{})})]})}function A({group:e,accent:t,onResume:n,onRemove:i}){let[a,o]=(0,u.useState)(!1),s=a?e.entries:e.entries.slice(0,O),c=e.entries.length-s.length,d=e.entries.length,f=e.entries[0];return(0,x.jsxs)(`div`,{className:`lib-card lib-group`,style:{"--lib-accent":t},children:[(0,x.jsxs)(`div`,{className:`lib-card-head`,children:[(0,x.jsx)(`span`,{className:`lib-dot`}),(0,x.jsx)(`span`,{className:`lib-card-title`,children:e.name}),(0,x.jsx)(`span`,{className:`lib-count tab-num`,"aria-label":`${d} conversations`,children:d})]}),(0,x.jsxs)(`ul`,{className:`lib-sessions`,children:[s.map(e=>(0,x.jsxs)(`li`,{className:`lib-session`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`lib-session-open`,onClick:()=>n(e),"aria-label":`Resume "${w(e)}"`,children:[(0,x.jsx)(`span`,{className:`lib-session-title`,children:w(e)}),(0,x.jsx)(`span`,{className:`lib-session-ago`,children:l(e.savedAt)})]}),i&&(0,x.jsx)(`button`,{type:`button`,className:`lib-session-remove`,"aria-label":`Remove "${w(e)}" from your library`,onClick:()=>i(e.id),children:(0,x.jsx)(r.x,{})})]},e.id)),c>0&&(0,x.jsx)(`li`,{children:(0,x.jsxs)(`button`,{type:`button`,className:`lib-session-more`,onClick:()=>o(!0),children:[`+ `,c,` more `,c===1?`conversation`:`conversations`]})})]}),(0,x.jsxs)(`div`,{className:`lib-meta`,children:[(0,x.jsxs)(`span`,{children:[`latest `,l(f.savedAt)]}),(0,x.jsxs)(`span`,{className:`lib-group-count`,children:[d,` conversation`,d===1?``:`s`]})]})]})}function j({entries:e,onResume:t,onRemove:n,heading:r=`Your library`,sub:i}){let[a,o]=(0,u.useState)(``),[s,c]=(0,u.useState)(`recent`),[l,d]=(0,u.useState)(!1),f=(0,u.useMemo)(()=>new Map(e.map(e=>[e.id,T(e)])),[e]),p=(0,u.useMemo)(()=>{let t=a.trim().toLowerCase(),n=t?e.filter(e=>(f.get(e.id)??``).includes(t)):e;return s===`topic`?_(n):n.map(e=>({id:e.id,name:w(e),entries:[e]}))},[e,f,a,s]),m=!l&&!a.trim()&&p.length>D,h=m?p.slice(0,D):p;if(e.length===0)return null;let g=e.filter(e=>Date.now()-e.savedAt<E).length,v=e.length>=3;return(0,x.jsxs)(`section`,{className:`library`,"aria-label":`Your library`,children:[(0,x.jsxs)(`div`,{className:`library-head`,children:[(0,x.jsx)(`h2`,{className:`library-title`,children:r}),(0,x.jsx)(`p`,{className:`library-sub`,children:i??`Every canvas stays here after the conversation — tap one to pick it back up.`}),(0,x.jsxs)(`p`,{className:`library-count`,children:[g,` this week · `,e.length,` of `,12,` kept on this device`,e.length>=12&&` · saving another drops the oldest`]})]}),v&&(0,x.jsxs)(`div`,{className:`library-tools`,children:[(0,x.jsxs)(`label`,{className:`lib-search`,children:[(0,x.jsx)(`span`,{"aria-hidden":`true`,children:`⌕`}),(0,x.jsx)(`input`,{type:`search`,value:a,onChange:e=>o(e.target.value),placeholder:`Search moments`,"aria-label":`Search your conversations`})]}),(0,x.jsx)(`div`,{className:`lib-tabs`,role:`tablist`,"aria-label":`Sort conversations`,children:[`recent`,`topic`].map(e=>(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":s===e,className:`lib-tab`+(s===e?` on`:``),onClick:()=>c(e),children:e===`recent`?`Recent`:`By topic`},e))})]}),h.length===0&&(0,x.jsxs)(`p`,{className:`library-none`,children:[`Nothing matches “`,a.trim(),`” — try fewer words.`]}),(0,x.jsx)(`div`,{className:`library-grid`,children:h.map((e,r)=>{let i=S[r%S.length];return e.entries.length===1?(0,x.jsx)(k,{entry:e.entries[0],accent:i,onResume:t,onRemove:n},e.id):(0,x.jsx)(A,{group:e,accent:i,onResume:t,onRemove:n},e.id)})}),m&&(0,x.jsxs)(`button`,{type:`button`,className:`lib-more-btn`,onClick:()=>d(!0),children:[`Show all `,p.length]})]})}export{j as Library};
@@ -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{t as i}from"./useFocusTrap-CJmpNZv2.js";import{t as a}from"./portal-B9DmFo6J.js";import{Library as o}from"./Library-CVj7R6F4.js";var s=e(),c=t(),l=n();function u(e){let t=(0,c.c)(24),{entries:n,onResume:u,onRemove:d,onClose:f}=e,p=(0,s.useRef)(null),m;t[0]===f?m=t[1]:(m={onEscape:f},t[0]=f,t[1]=m),i(p,m);let h,g;if(t[2]!==n.length||t[3]!==f?(h=()=>{n.length===0&&f()},g=[n.length,f],t[2]=n.length,t[3]=f,t[4]=h,t[5]=g):(h=t[4],g=t[5]),(0,s.useEffect)(h,g),n.length===0)return null;let _;t[6]===f?_=t[7]:(_=e=>{e.target===e.currentTarget&&f()},t[6]=f,t[7]=_);let v;t[8]===f?v=t[9]:(v=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),f())},t[8]=f,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,l.jsx)(r.x,{}),t[10]=y):y=t[10];let b;t[11]===f?b=t[12]:(b=(0,l.jsx)(`button`,{type:`button`,className:`lib-ov-close`,onClick:f,"aria-label":`Close past conversations`,title:`Close`,children:y}),t[11]=f,t[12]=b);let x;t[13]!==n||t[14]!==d||t[15]!==u?(x=(0,l.jsx)(o,{entries:n,onResume:u,onRemove:d,heading:`Past conversations`,sub:`Pick any earlier answer to step back into it — everything stays on this device.`}),t[13]=n,t[14]=d,t[15]=u,t[16]=x):x=t[16];let S;t[17]!==b||t[18]!==x?(S=(0,l.jsxs)(`div`,{className:`lib-ov-panel`,role:`dialog`,"aria-modal":`true`,"aria-label":`Past conversations`,ref:p,children:[b,x]}),t[17]=b,t[18]=x,t[19]=S):S=t[19];let C;return t[20]!==_||t[21]!==v||t[22]!==S?(C=(0,l.jsx)(a,{children:(0,l.jsx)(`div`,{className:`lib-ov-scrim`,onClick:_,role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:v,children:S})}),t[20]=_,t[21]=v,t[22]=S,t[23]=C):C=t[23],C}export{u as LibraryOverlay};
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{t as i}from"./useFocusTrap-CJmpNZv2.js";import{t as a}from"./portal-TqJbr2rR.js";import{Library as o}from"./Library-CDgWdTiF.js";var s=e(),c=t(),l=n();function u(e){let t=(0,c.c)(24),{entries:n,onResume:u,onRemove:d,onClose:f}=e,p=(0,s.useRef)(null),m;t[0]===f?m=t[1]:(m={onEscape:f},t[0]=f,t[1]=m),i(p,m);let h,g;if(t[2]!==n.length||t[3]!==f?(h=()=>{n.length===0&&f()},g=[n.length,f],t[2]=n.length,t[3]=f,t[4]=h,t[5]=g):(h=t[4],g=t[5]),(0,s.useEffect)(h,g),n.length===0)return null;let _;t[6]===f?_=t[7]:(_=e=>{e.target===e.currentTarget&&f()},t[6]=f,t[7]=_);let v;t[8]===f?v=t[9]:(v=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),f())},t[8]=f,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,l.jsx)(r.x,{}),t[10]=y):y=t[10];let b;t[11]===f?b=t[12]:(b=(0,l.jsx)(`button`,{type:`button`,className:`lib-ov-close`,onClick:f,"aria-label":`Close past conversations`,title:`Close`,children:y}),t[11]=f,t[12]=b);let x;t[13]!==n||t[14]!==d||t[15]!==u?(x=(0,l.jsx)(o,{entries:n,onResume:u,onRemove:d,heading:`Past conversations`,sub:`Pick any earlier answer to step back into it — everything stays on this device.`}),t[13]=n,t[14]=d,t[15]=u,t[16]=x):x=t[16];let S;t[17]!==b||t[18]!==x?(S=(0,l.jsxs)(`div`,{className:`lib-ov-panel`,role:`dialog`,"aria-modal":`true`,"aria-label":`Past conversations`,ref:p,children:[b,x]}),t[17]=b,t[18]=x,t[19]=S):S=t[19];let C;return t[20]!==_||t[21]!==v||t[22]!==S?(C=(0,l.jsx)(a,{children:(0,l.jsx)(`div`,{className:`lib-ov-scrim`,onClick:_,role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:v,children:S})}),t[20]=_,t[21]=v,t[22]=S,t[23]=C):C=t[23],C}export{u as LibraryOverlay};