@mavea/mavea 2.1.1 → 2.2.1

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 (312) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/.vite/manifest.json +639 -569
  3. package/dist/assets/{AnnotationLayer-0YQgrjN3.js → AnnotationLayer-CzXCVZCu.js} +1 -1
  4. package/dist/assets/{AppCommandPalette-CeNtZzhG.js → AppCommandPalette-D6904cc9.js} +1 -1
  5. package/dist/assets/{CheckLogRail-CPKGKw7i.js → CheckLogRail-CeRhbIwa.js} +1 -1
  6. package/dist/assets/{ConversationVideoStudio-BLU1b2u_.js → ConversationVideoStudio-Cyu-M9Us.js} +1 -1
  7. package/dist/assets/{CourseLessonReader-Ci4BguIU.js → CourseLessonReader-BvTabDPT.js} +2 -2
  8. package/dist/assets/{CoursesApp-CErXxpH-.js → CoursesApp-B8kZ6pFr.js} +2 -2
  9. package/dist/assets/{DashPresent-w5oqKZpo.js → DashPresent-Dr0LLNnz.js} +1 -1
  10. package/dist/assets/{DashboardDetail-Dej7CPf7.js → DashboardDetail-B5JZ6fRz.js} +2 -2
  11. package/dist/assets/{DashboardLoopGate-DzJol3Os.js → DashboardLoopGate-UHcbTCXN.js} +2 -2
  12. package/dist/assets/DashboardLoopRuntime-BZutKupS.js +1 -0
  13. package/dist/assets/{DashboardsApp-BQtz_4UA.js → DashboardsApp-DzVa4Nqd.js} +2 -2
  14. package/dist/assets/{DeepZoomApp-STtNq9C3.js → DeepZoomApp-CN8ZKeS4.js} +1 -1
  15. package/dist/assets/{DelegatePanel-C2_s1eW9.js → DelegatePanel-DO7J_rk_.js} +1 -1
  16. package/dist/assets/{DemoGallery-CXoaPF9b.js → DemoGallery-DMQP4JAa.js} +1 -1
  17. package/dist/assets/{DropSelect-rrPFJVkl.js → DropSelect-BVDNR47E.js} +1 -1
  18. package/dist/assets/{ExportModal-BS3He6V7.js → ExportModal-BVsirsNU.js} +1 -1
  19. package/dist/assets/{ExtractionPreview-CQ73RXM8.js → ExtractionPreview-872OE2ZI.js} +1 -1
  20. package/dist/assets/FallbackCard-CUe6i-zT.js +1 -0
  21. package/dist/assets/{FeatureUseNotice-lFcApjaS.js → FeatureUseNotice-BNDajs0p.js} +1 -1
  22. package/dist/assets/{FlagshipCommandPalette-D6gjWvTe.js → FlagshipCommandPalette-mKkMVsza.js} +1 -1
  23. package/dist/assets/{FlagshipShowcase-mZDqHQtE.js → FlagshipShowcase-CL_KWgKn.js} +1 -1
  24. package/dist/assets/{FlashcardsApp-C8gRaBO8.js → FlashcardsApp-COYviD1h.js} +1 -1
  25. package/dist/assets/GalleryApp-B5z9rsrO.css +1 -0
  26. package/dist/assets/GalleryApp-D96R7Hdy.js +2 -0
  27. package/dist/assets/{HonestByDesign-Czur9n6R.js → HonestByDesign-DOg91fEf.js} +1 -1
  28. package/dist/assets/{HowItWorks-CA9WdZQ6.js → HowItWorks-D4lHSwEb.js} +1 -1
  29. package/dist/assets/{LegalApp-BCnZfHNq.js → LegalApp-BSPhYvKz.js} +1 -1
  30. package/dist/assets/{LegalMarkdownDocument-CNsihJ1F.js → LegalMarkdownDocument-DDUOgn72.js} +1 -1
  31. package/dist/assets/{LegalPageShell-8HHhJAPo.js → LegalPageShell-DSbe8dTr.js} +1 -1
  32. package/dist/assets/{LibraryOverlay-CGDPmvnX.js → LibraryOverlay-CEhVoSyv.js} +1 -1
  33. package/dist/assets/{LiveApp-CEaISHEZ.css → LiveApp-Dc7Mk5oS.css} +1 -1
  34. package/dist/assets/LiveApp-DtpM4tO0.js +79 -0
  35. package/dist/assets/{LiveSettings-Bx7Uu6Fl.js → LiveSettings-C7luyoWU.js} +3 -3
  36. package/dist/assets/{MindMapViewerDrawer-CBLaSq-i.js → MindMapViewerDrawer-DxcjLJzB.js} +1 -1
  37. package/dist/assets/{MindShape-QuVL_EXi.js → MindShape-DhEmAQeq.js} +1 -1
  38. package/dist/assets/{PinToDashboard-CddhBx85.js → PinToDashboard-CQHDENt1.js} +1 -1
  39. package/dist/assets/{PlanReview-DCPDkqLj.js → PlanReview-f7EY7XTc.js} +1 -1
  40. package/dist/assets/{PresentationDeck-DV8AeOrh.js → PresentationDeck-Bo1BVx73.js} +1 -1
  41. package/dist/assets/{PrismApp-BHcClSEQ.js → PrismApp-CBr8XpUt.js} +2 -2
  42. package/dist/assets/{PrismBriefingPlayer-CDkaBWup.js → PrismBriefingPlayer-qNjVbmUq.js} +2 -2
  43. package/dist/assets/{PrismOverlay-DRWAI9Mh.js → PrismOverlay-L_lLIH_1.js} +3 -3
  44. package/dist/assets/{PrismWorkbench-B2uSg63W.js → PrismWorkbench-DK-1IY4A.js} +1 -1
  45. package/dist/assets/{PrivacyApp-CoFgfPwJ.js → PrivacyApp-DT8wZumn.js} +1 -1
  46. package/dist/assets/{ReplayCard-CLlaKpWg.js → ReplayCard-BQr6DWYi.js} +2 -2
  47. package/dist/assets/{ReplayOverlay-W3KwhRaQ.js → ReplayOverlay-CRVixwg2.js} +1 -1
  48. package/dist/assets/{RippleApp-CEJvJl-c.js → RippleApp-CMY2OCRm.js} +2 -2
  49. package/dist/assets/{RippleOverlay-DHnHEYoS.js → RippleOverlay-Dwi8Ir43.js} +2 -2
  50. package/dist/assets/{SeeDontRead-tA-fTWQW.js → SeeDontRead-BkeAv1Jd.js} +1 -1
  51. package/dist/assets/{ShareModal-Ys5NYDZR.js → ShareModal-DVwc57KT.js} +2 -2
  52. package/dist/assets/{ShipCourse-C3pjBELa.js → ShipCourse-BNEPgsV5.js} +1 -1
  53. package/dist/assets/{SignatureLoop-BNjDbepH.js → SignatureLoop-C9GvENvP.js} +1 -1
  54. package/dist/assets/{SynthesisApp-BCsFms4h.js → SynthesisApp-BPAT6v7a.js} +2 -2
  55. package/dist/assets/{SynthesisOverlay-iqXO09rf.js → SynthesisOverlay-u_W105hD.js} +1 -1
  56. package/dist/assets/{TemplatePicker-PWw_xyWb.js → TemplatePicker-CAC4ggbJ.js} +1 -1
  57. package/dist/assets/{TermsApp-B1D2SwN7.js → TermsApp-BlyUsTrJ.js} +1 -1
  58. package/dist/assets/TopicCanvas-CyBGLgb0.js +2 -0
  59. package/dist/assets/TopicCanvas-sGuo7pnQ.css +1 -0
  60. package/dist/assets/{TourPrism-Do4evVOo.js → TourPrism-Cn2YHIwh.js} +1 -1
  61. package/dist/assets/{TrackerTile-Dp7fvG4P.js → TrackerTile-Ds3ks6Bh.js} +2 -2
  62. package/dist/assets/{TwoSurfaces-CZA6zuue.js → TwoSurfaces-cdP8bAG9.js} +1 -1
  63. package/dist/assets/{WorldOverlay-EwAFBDvq.js → WorldOverlay-DPkQobVE.js} +2 -2
  64. package/dist/assets/{WowFeatures-DRKs2UGb.js → WowFeatures-BBtcWAOz.js} +1 -1
  65. package/dist/assets/{ZoomDeck-qJqKFxkc.js → ZoomDeck-Cdvkvo2H.js} +1 -1
  66. package/dist/assets/{audioTrack-myyVq6Sp.js → audioTrack-W_18XwGZ.js} +1 -1
  67. package/dist/assets/{backup-DkCsHNEE.js → backup-AymOkasb.js} +1 -1
  68. package/dist/assets/briefs-5oOobpyS.js +1 -0
  69. package/dist/assets/canvas-BX595EVB.js +1 -0
  70. package/dist/assets/{capture-MMxmbgt1.js → capture-Dyff_zSz.js} +1 -1
  71. package/dist/assets/catalog-vLsIS_Na.js +1 -0
  72. package/dist/assets/{confirmAdd-VLwpBNf_.js → confirmAdd-D_hDIeaD.js} +1 -1
  73. package/dist/assets/{dashboardEvents-CiE91_oj.js → dashboardEvents-BV0Ly6No.js} +1 -1
  74. package/dist/assets/{deepen-FZiVqiEc.js → deepen-D8kPrlU5.js} +1 -1
  75. package/dist/assets/docs-6X4Ki_cV.js +1 -0
  76. package/dist/assets/{effort-CQY4uJMS.js → effort-QeWrMtZt.js} +1 -1
  77. package/dist/assets/facts-CNQz8OQz.js +1 -0
  78. package/dist/assets/{generateBeats-Ci99Isyk.js → generateBeats-Da9RmZke.js} +1 -1
  79. package/dist/assets/{generateLive-DzBVo6Yg.js → generateLive-CDIkclO4.js} +1 -1
  80. package/dist/assets/{index-yJfYsjAB.js → index-BMeoXWPR.js} +3 -3
  81. package/dist/assets/{kokoro-DogSQaQB.js → kokoro-DcP-u0Tl.js} +1 -1
  82. package/dist/assets/{lens-DyGK7Owa.js → lens-Ba83fBmq.js} +1 -1
  83. package/dist/assets/liveSchema-eKgFc5D0.js +127 -0
  84. package/dist/assets/loader-BRfSnl9t.js +2 -0
  85. package/dist/assets/notes-BDCTTA87.js +1 -0
  86. package/dist/assets/overflowAudit-DQLYFrM8.js +1 -0
  87. package/dist/assets/{perfProbe-q5Gt55We.js → perfProbe-ssw0AtWX.js} +1 -1
  88. package/dist/assets/{pin-BReqt-Wx.js → pin-Bic4-gim.js} +1 -1
  89. package/dist/assets/{portal-XWyi6FIz.js → portal-Dpb34d3-.js} +1 -1
  90. package/dist/assets/{prewarm-DOqg5zPk.js → prewarm-xdXDmF8B.js} +1 -1
  91. package/dist/assets/{quietHours-kEvnJP2S.js → quietHours-uFS7n8N6.js} +1 -1
  92. package/dist/assets/registry-B3HqLZyO.css +1 -0
  93. package/dist/assets/registry-BV02ROnH.js +1 -0
  94. package/dist/assets/{registry-CQ0bMOV_.js → registry-BWx2f_wi.js} +1 -1
  95. package/dist/assets/registry-BZsqAOnQ.css +1 -0
  96. package/dist/assets/registry-BoLdoGPW.js +1 -0
  97. package/dist/assets/registry-Bs5HUWIJ.js +1 -0
  98. package/dist/assets/registry-CLHP_r7X.js +1 -0
  99. package/dist/assets/registry-CT85vG1M.js +1 -0
  100. package/dist/assets/registry-CdPShFc3.js +1 -0
  101. package/dist/assets/{registry-CIcGBgtK.css → registry-CnNL4jmR.css} +1 -1
  102. package/dist/assets/registry-CyPRooIp.css +1 -0
  103. package/dist/assets/registry-D5O0Ptw_.css +1 -0
  104. package/dist/assets/registry-DNIasVGX.js +2 -0
  105. package/dist/assets/registry-DOctfuxc.js +1 -0
  106. package/dist/assets/{registry-BZuT2Epw.css → registry-DhWVSz_J.css} +1 -1
  107. package/dist/assets/registry-DueizAoA.js +1 -0
  108. package/dist/assets/{registry-B7zPuTCI.js → registry-PAcazQzL.js} +1 -1
  109. package/dist/assets/registry-brX673Dg.css +1 -0
  110. package/dist/assets/{registry-C4Yh05pk.js → registry-nCDSZOmZ.js} +1 -1
  111. package/dist/assets/registry-sT9NoG1k.css +1 -0
  112. package/dist/assets/registry-yzYj0SNk.css +1 -0
  113. package/dist/assets/{relate-CsRMEWBw.js → relate-BHJl3RaA.js} +1 -1
  114. package/dist/assets/{replay-BlrkSDMO.js → replay-DoRQJHjZ.js} +1 -1
  115. package/dist/assets/select-StjZ4ZRN.js +3 -0
  116. package/dist/assets/shapes-BwXCYTlu.js +1 -0
  117. package/dist/assets/shard001-BrI-88cO.js +1 -0
  118. package/dist/assets/shard002-CVTdbXod.js +1 -0
  119. package/dist/assets/shard003-Bilw1tcB.js +1 -0
  120. package/dist/assets/shard004-Cq0Or-2a.js +1 -0
  121. package/dist/assets/shard005-Wh3WypcW.js +1 -0
  122. package/dist/assets/shard006-BAUUhTjB.js +1 -0
  123. package/dist/assets/shard007-DYMH8Yxn.js +1 -0
  124. package/dist/assets/shard008-DsrV7tH6.js +1 -0
  125. package/dist/assets/shard009-Bsf_hKwR.js +1 -0
  126. package/dist/assets/shard010-B5P3ny1k.js +1 -0
  127. package/dist/assets/shard010-Bal9PeRL.js +1 -0
  128. package/dist/assets/shard011-BgeG9-or.js +1 -0
  129. package/dist/assets/shard012-BDkbj6cq.js +1 -0
  130. package/dist/assets/shard013-G23LG7Fa.js +1 -0
  131. package/dist/assets/shard014-CnDxCS2j.js +1 -0
  132. package/dist/assets/shard015-JvmiIIrG.js +1 -0
  133. package/dist/assets/shard016-BVcRKptB.js +1 -0
  134. package/dist/assets/shard017-DrpF6FaE.js +1 -0
  135. package/dist/assets/shard018-Bi11C9yu.js +1 -0
  136. package/dist/assets/shard019-QyeKtIb0.js +1 -0
  137. package/dist/assets/shard020-Djc1cf5i.js +1 -0
  138. package/dist/assets/shard021-D2RM4FCA.js +1 -0
  139. package/dist/assets/shard022-DRT0Qsp3.js +1 -0
  140. package/dist/assets/shard023-COM71H0n.js +1 -0
  141. package/dist/assets/shard024-DEnCOj6l.js +1 -0
  142. package/dist/assets/shard025-DHxYqsae.js +1 -0
  143. package/dist/assets/shard026-BIgdfcha.js +1 -0
  144. package/dist/assets/shard027-CvJzY_e0.js +1 -0
  145. package/dist/assets/shard028-57qhg2sc.js +1 -0
  146. package/dist/assets/shard029-Dx2Qnz9G.js +1 -0
  147. package/dist/assets/shard030-CtC4LpQR.js +1 -0
  148. package/dist/assets/shard031-jLIDhN2C.js +1 -0
  149. package/dist/assets/shard032-BDQTeOZV.js +1 -0
  150. package/dist/assets/shard033-955G5ec6.js +1 -0
  151. package/dist/assets/shard034-Bu3aEL9i.js +1 -0
  152. package/dist/assets/shard035-B2E-tzQZ.js +1 -0
  153. package/dist/assets/shard036-BEyPFMoV.js +1 -0
  154. package/dist/assets/shard037-CFQfstFa.js +1 -0
  155. package/dist/assets/shard038-C3QlFW5S.js +1 -0
  156. package/dist/assets/shard039-DFpQvV8e.js +1 -0
  157. package/dist/assets/shard040-I3SaNaKO.js +1 -0
  158. package/dist/assets/shard041-B1UVtmcS.js +1 -0
  159. package/dist/assets/shard042-DGJ4rHUt.js +1 -0
  160. package/dist/assets/shard043-BCie8K9U.js +1 -0
  161. package/dist/assets/shard044-DeFpPsR0.js +1 -0
  162. package/dist/assets/{shard043-BKoTEB-H.js → shard045-COwX5PHB.js} +1 -1
  163. package/dist/assets/shard046-CDOiSCGB.js +1 -0
  164. package/dist/assets/shard047-CuL2iVAe.js +1 -0
  165. package/dist/assets/shard048-B7z0WHO6.js +1 -0
  166. package/dist/assets/shard049-C4_IyApZ.js +1 -0
  167. package/dist/assets/shard049-D1yDablJ.js +1 -0
  168. package/dist/assets/shard050-DJi3AgeT.js +1 -0
  169. package/dist/assets/shard051-D_2ipfUr.js +1 -0
  170. package/dist/assets/shard052-1aGgWZdd.js +1 -0
  171. package/dist/assets/shard053-Bjwa0Og4.js +1 -0
  172. package/dist/assets/shard054-Cx_GAk3v.js +1 -0
  173. package/dist/assets/shard055-LaeOD3V5.js +1 -0
  174. package/dist/assets/shard056-CAArZwW0.js +1 -0
  175. package/dist/assets/shard057-CM8eSRQk.js +1 -0
  176. package/dist/assets/shard058-QRpDl4Vs.js +1 -0
  177. package/dist/assets/shard059-DkY7CQm3.js +1 -0
  178. package/dist/assets/shard060-BVCgf7o0.js +1 -0
  179. package/dist/assets/shard061-93aGtdrX.js +1 -0
  180. package/dist/assets/shard062-rJE9X1_I.js +1 -0
  181. package/dist/assets/shard063-Co_V_D1g.js +1 -0
  182. package/dist/assets/{shard062-BJ8OX6CJ.js → shard064-C9A8iNiq.js} +1 -1
  183. package/dist/assets/shard065-CpmX_yt1.js +1 -0
  184. package/dist/assets/shard066-C_uen3Ub.js +1 -0
  185. package/dist/assets/shard067-Dl5k0N1Z.js +1 -0
  186. package/dist/assets/shard068-DLIIO7yh.js +1 -0
  187. package/dist/assets/shard069-D15zOFva.js +1 -0
  188. package/dist/assets/shard070-BwHL1JLg.js +1 -0
  189. package/dist/assets/shard071-BFQhwU3I.js +1 -0
  190. package/dist/assets/shard072-DC9v9Ysb.js +1 -0
  191. package/dist/assets/shard073-CicaGoa8.js +1 -0
  192. package/dist/assets/shard074-BvwBlB0R.js +1 -0
  193. package/dist/assets/shard075-BDKPICyR.js +1 -0
  194. package/dist/assets/shard076-COQxCeXV.js +1 -0
  195. package/dist/assets/{shard076-DZHs0uzd.js → shard076-b5-2mnEN.js} +1 -1
  196. package/dist/assets/shard077-DGa0bRNk.js +1 -0
  197. package/dist/assets/shard077-wv2mA5w5.js +1 -0
  198. package/dist/assets/shard078-CI97pFkb.js +1 -0
  199. package/dist/assets/shard078-D64eVQuV.js +1 -0
  200. package/dist/assets/{useDashboardLoop-CA3LNVME.js → useDashboardLoop-DEE_sLT0.js} +3 -3
  201. package/dist/assets/{walkSync-BfK0U5vB.js → walkSync-CRhkAQFu.js} +1 -1
  202. package/dist/demo-assets/CREDITS.md +36 -0
  203. package/dist/index.html +1 -1
  204. package/package.json +1 -1
  205. package/dist/assets/DashboardLoopRuntime-CX63-Gn4.js +0 -1
  206. package/dist/assets/FallbackCard-ap_4wOfj.js +0 -1
  207. package/dist/assets/GalleryApp-B1CB3_81.css +0 -1
  208. package/dist/assets/GalleryApp-ChsuVZqR.js +0 -1
  209. package/dist/assets/LiveApp-CnTYFYf1.js +0 -79
  210. package/dist/assets/TopicCanvas-DWTm611H.css +0 -1
  211. package/dist/assets/TopicCanvas-xwDjwqxn.js +0 -2
  212. package/dist/assets/canvas-OSBUSYbY.js +0 -1
  213. package/dist/assets/catalog-CRekRbKO.js +0 -1
  214. package/dist/assets/docs-B2aDtm5K.js +0 -1
  215. package/dist/assets/facts-BUGuVUIc.js +0 -1
  216. package/dist/assets/liveSchema-Z_39HuDI.js +0 -125
  217. package/dist/assets/loader-BPVv7hEn.js +0 -2
  218. package/dist/assets/notes-C-RNIoXo.js +0 -1
  219. package/dist/assets/registry-B5S3brjM.css +0 -1
  220. package/dist/assets/registry-BAoRB8rd.css +0 -1
  221. package/dist/assets/registry-BB0UFcJi.js +0 -1
  222. package/dist/assets/registry-BmjYillB.js +0 -1
  223. package/dist/assets/registry-BvtWVDCw.js +0 -2
  224. package/dist/assets/registry-C3ezxLR3.css +0 -1
  225. package/dist/assets/registry-CnDAxBcl.js +0 -1
  226. package/dist/assets/registry-CwRTUk0R.js +0 -1
  227. package/dist/assets/registry-DTNUXJuV.js +0 -1
  228. package/dist/assets/registry-Dbe9TQPw.css +0 -1
  229. package/dist/assets/registry-S3j4OpCH.js +0 -1
  230. package/dist/assets/registry-YrewlFlo.js +0 -1
  231. package/dist/assets/registry-dmR14XnY.css +0 -1
  232. package/dist/assets/registry-twSIyxJQ.css +0 -1
  233. package/dist/assets/select-BuqyXI8k.js +0 -3
  234. package/dist/assets/shapes-BwoDrn09.js +0 -1
  235. package/dist/assets/shard001-gQEQs7_F.js +0 -1
  236. package/dist/assets/shard002-DbDas-W-.js +0 -1
  237. package/dist/assets/shard003-DxMszG4_.js +0 -1
  238. package/dist/assets/shard004-DZMpLBw1.js +0 -1
  239. package/dist/assets/shard005-Dp5TM33O.js +0 -1
  240. package/dist/assets/shard006-DpJfkjmW.js +0 -1
  241. package/dist/assets/shard007-CIQN8OfZ.js +0 -1
  242. package/dist/assets/shard008-BFiyL7r6.js +0 -1
  243. package/dist/assets/shard009-0s30Tkk9.js +0 -1
  244. package/dist/assets/shard010-CQfR6lnk.js +0 -1
  245. package/dist/assets/shard010-DPhgF5ck.js +0 -1
  246. package/dist/assets/shard011-C2jVsC25.js +0 -1
  247. package/dist/assets/shard012-DYtN5yzJ.js +0 -1
  248. package/dist/assets/shard013-1D6_Qy9C.js +0 -1
  249. package/dist/assets/shard014-D8s7GHnm.js +0 -1
  250. package/dist/assets/shard015-16W6KgnL.js +0 -1
  251. package/dist/assets/shard016-B4PpWmro.js +0 -1
  252. package/dist/assets/shard017-BO1sA5b3.js +0 -1
  253. package/dist/assets/shard018-D4gn8z25.js +0 -1
  254. package/dist/assets/shard019-vSbfaqRA.js +0 -1
  255. package/dist/assets/shard020-DwbHP8bp.js +0 -1
  256. package/dist/assets/shard021-BhEyVVAL.js +0 -1
  257. package/dist/assets/shard022-BdT7zFy3.js +0 -1
  258. package/dist/assets/shard023-Dga_NQcm.js +0 -1
  259. package/dist/assets/shard024-CXHofcxc.js +0 -1
  260. package/dist/assets/shard025-a4CQKYw1.js +0 -1
  261. package/dist/assets/shard026-0rhLKfDL.js +0 -1
  262. package/dist/assets/shard027-C9GMfOtn.js +0 -1
  263. package/dist/assets/shard028-D9__rPnw.js +0 -1
  264. package/dist/assets/shard029-BSdYKGgG.js +0 -1
  265. package/dist/assets/shard030-DceOU7pS.js +0 -1
  266. package/dist/assets/shard031-C6_p076r.js +0 -1
  267. package/dist/assets/shard032-Cah16sJi.js +0 -1
  268. package/dist/assets/shard033-D-iobGzc.js +0 -1
  269. package/dist/assets/shard034-DIyfCKl8.js +0 -1
  270. package/dist/assets/shard035-BHWs8v0a.js +0 -1
  271. package/dist/assets/shard036-AhOPHqzq.js +0 -1
  272. package/dist/assets/shard037-CuAGDOOu.js +0 -1
  273. package/dist/assets/shard038-CYdtnPjK.js +0 -1
  274. package/dist/assets/shard039-DgvXKOyi.js +0 -1
  275. package/dist/assets/shard040-DO012waT.js +0 -1
  276. package/dist/assets/shard041-BeUicA1R.js +0 -1
  277. package/dist/assets/shard042-D2zbq14A.js +0 -1
  278. package/dist/assets/shard044-bmYKfH3A.js +0 -1
  279. package/dist/assets/shard045-i_R1olD9.js +0 -1
  280. package/dist/assets/shard046-CFk2L0GQ.js +0 -1
  281. package/dist/assets/shard047-pjHCnVaT.js +0 -1
  282. package/dist/assets/shard048-Cc7tGz6R.js +0 -1
  283. package/dist/assets/shard049-C9eoD-6Z.js +0 -1
  284. package/dist/assets/shard049-hPaNN2sL.js +0 -1
  285. package/dist/assets/shard050-V3c_ZDrB.js +0 -1
  286. package/dist/assets/shard051-D1ISwZzf.js +0 -1
  287. package/dist/assets/shard052-Dy09xx3S.js +0 -1
  288. package/dist/assets/shard053-Bi4Z4cwW.js +0 -1
  289. package/dist/assets/shard054-CNzJxw2V.js +0 -1
  290. package/dist/assets/shard055-D2NJeMN1.js +0 -1
  291. package/dist/assets/shard056-sSFMbxXN.js +0 -1
  292. package/dist/assets/shard057-DhNK5nyZ.js +0 -1
  293. package/dist/assets/shard058-Du4SjxeD.js +0 -1
  294. package/dist/assets/shard059-fGiLnJzG.js +0 -1
  295. package/dist/assets/shard060-l84MDY2t.js +0 -1
  296. package/dist/assets/shard061-B3aIa7Aa.js +0 -1
  297. package/dist/assets/shard063-CMo-7Qit.js +0 -1
  298. package/dist/assets/shard064-B0EEOnfG.js +0 -1
  299. package/dist/assets/shard065-D-StlUHp.js +0 -1
  300. package/dist/assets/shard066-C2edvdvh.js +0 -1
  301. package/dist/assets/shard067-DFcuVhZm.js +0 -1
  302. package/dist/assets/shard068-BN8DM8JZ.js +0 -1
  303. package/dist/assets/shard069-i464K77p.js +0 -1
  304. package/dist/assets/shard070-BmNyRhxw.js +0 -1
  305. package/dist/assets/shard071-BPVvR8GH.js +0 -1
  306. package/dist/assets/shard072-Bal_0d9L.js +0 -1
  307. package/dist/assets/shard073-CBQu62kt.js +0 -1
  308. package/dist/assets/shard074-D5BRae0w.js +0 -1
  309. package/dist/assets/shard075-DtFvcBnZ.js +0 -1
  310. /package/dist/assets/{registry-Ci65uThi.js → registry-C4RNoF_2.js} +0 -0
  311. /package/dist/assets/{registry-Bjf2Ggs6.js → registry-CbKXa68-.js} +0 -0
  312. /package/dist/assets/{registry-Di1fTdpi.js → registry-Cdk7NOiD.js} +0 -0
@@ -0,0 +1 @@
1
+ var e={tripbudget:{title:`Trip budget`,icon:`globe`,trip:`Four days in Montréal`,currency:`CAD`,lines:[{category:`Rail`,planned:`$240`,actual:`$228`,note:`Round trip`},{category:`Stay`,planned:`$720`,actual:`$704`,note:`Three nights`},{category:`Food`,planned:`$320`,actual:`$346`},{category:`Local transit`,planned:`$60`,actual:`$54`}],plannedTotal:`$1,340`,actualTotal:`$1,332`,footer:`Illustrative amounts; taxes and exchange fees can change the total.`},careinstructions:{title:`After-visit care summary`,icon:`shield`,subject:`Minor ankle sprain · clinician-supplied instructions`,do:[`Follow the provided activity limits.`,`Use the recommended support as directed.`,`Keep the follow-up appointment.`],avoid:[`Do not exceed the clinician’s return-to-activity plan.`,`Do not use medication differently from its label or instructions.`],warningSigns:[`New numbness or weakness`,`Rapidly increasing swelling or pain`,`Any symptom the care team marked urgent`],followUp:`Contact the care team if recovery is not progressing as they described.`,source:`Example after-visit instructions`},clausecompare:{title:`Clause comparison`,icon:`doc`,left:{label:`Current draft`,text:`Either party may terminate with 30 days’ written notice.`},right:{label:`Proposed draft`,text:`The customer may terminate after the initial term with 60 days’ written notice.`},differences:[{topic:`Who may terminate`,change:`The right changes from either party to the customer only.`,risk:`medium`},{topic:`Timing`,change:`Notice grows from 30 to 60 days and applies only after the initial term.`,risk:`high`},{topic:`Form`,change:`Written notice remains required.`,risk:`low`}],jurisdiction:`the relevant jurisdiction`},incidentbrief:{title:`Service incident · INC-27`,icon:`alert`,impact:`Some customers cannot complete checkout.`,severity:`high`,status:`active`,timeline:[{time:`10:02`,event:`Automated error-rate alert fired.`,status:`done`},{time:`10:09`,event:`On-call traced failures to the payment handoff.`,status:`done`},{time:`10:21`,event:`Traffic shifted to the previous stable path.`,status:`active`}],owners:[`Incident lead`,`Payments on-call`],actions:[`Confirm error-rate recovery`,`Reconcile interrupted orders`],nextUpdate:`10:45 AM`},coveragecheck:{title:`Warranty coverage check`,icon:`shield`,policy:`Example appliance protection plan`,asOf:`the supplied policy copy`,rows:[{item:`Mechanical breakdown`,status:`covered`,limit:`Up to the stated service limit`,evidence:`Coverage section 2`},{item:`Accidental damage`,status:`excluded`,evidence:`Exclusions section 4`},{item:`Food loss`,status:`conditional`,limit:`Receipt and outage duration required`,evidence:`Benefit section 6`},{item:`Pre-existing fault`,status:`unknown`,evidence:`Confirm the effective date and inspection terms`}]},offerbreakdown:{title:`Offer breakdown`,icon:`chart`,employer:`Example Studio`,role:`Senior product designer`,parts:[{label:`Base salary`,value:`$165,000`,kind:`base`},{label:`Target bonus`,value:`10%`,kind:`bonus`,note:`Performance-based; not guaranteed.`},{label:`Equity grant`,value:`4,000 units`,kind:`equity`,note:`Value depends on vesting, price, and liquidity.`},{label:`Signing bonus`,value:`$12,000`,kind:`one-time`,note:`Repayment terms may apply.`},{label:`Retirement match`,value:`Up to 4%`,kind:`benefit`}],estimatedTotal:`$193,500 first-year cash at target`,assumptions:[`Target bonus is achieved`,`Equity is excluded from the cash total`,`Verify tax and repayment terms`]}};export{e as E};
@@ -0,0 +1 @@
1
+ var e={caseload:{blurb:`A social-worker caseload: one row per client (a case reference or initials, never a full name), a risk-flag badge banded like a risk matrix, and the next scheduled contact. Social work, case management — "where does each case stand, who needs attention first".`,optional:[`icon`,`iconColor`,`footer`],itemShapes:[{prop:`cases`,text:`clientRef`,textAliases:[`client`,`ref`,`caseId`]}],propHints:{clientRef:`a case reference or initials — NEVER a full client name (confidentiality)`,"cases[].riskLevel":`'low'|'medium'|'high' — omit when a case hasn't been assessed yet`}}};export{e as D};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/liveSchema-Z_39HuDI.js","assets/icons-gLFQTv74.js","assets/jsx-runtime-DeHZSEgm.js","assets/rolldown-runtime-DkW27tQK.js","assets/safeImageUrl-BINWXOTz.js","assets/empty-D51uhW0E.js","assets/catalog-BHjl-1uH.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-Dy-GZvZV.js","assets/annotations-CftUUB13.js","assets/catalog-CRekRbKO.js","assets/preload-helper-CiWYd9n-.js","assets/facts-BUGuVUIc.js","assets/blockTypes-DUDdP3pB.js","assets/streamParse-BX0bAppQ.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{c as a,i as o}from"./http-Bqk6nJiH.js";import{i as s}from"./number-zqlPMliA.js";import{E as c,G as l,H as u,L as d,P as f,U as p,V as m,_ as h,b as g,m as _,p as v,s as y,v as b,y as x,z as ee}from"./store-D16dGt7I.js";import{t as te}from"./providers-CPhoN8j0.js";import{n as S,u as C}from"./useLiveConfig-CvOQTr0s.js";import{t as ne}from"./json-J4Y32_i9.js";import{i as w,n as T,r as E}from"./ledger-DHS2di3l.js";import{d as re,i as D,l as O,o as k,u as A}from"./format-BkvssSOr.js";import{t as j}from"./dataPending-DGdCvY5Y.js";import{t as M}from"./now-C9-UAzTC.js";import{n as ie,t as ae}from"./predictions-CkVKHq-5.js";import{t as N}from"./notify-Bz4wuE4T.js";import{a as oe,i as se,r as ce,t as le,u as ue}from"./dashboardEvents-CiE91_oj.js";var P=t(),de=n(),fe=`mavea-dashboard-scheduler`;function pe(){if(typeof navigator>`u`)return null;let e=navigator.locks;return typeof e?.request==`function`?e:null}async function me(e){let t=pe();if(!t){await e();return}try{await t.request(fe,{ifAvailable:!0},async t=>{t&&await e()})}catch{await e()}}function he(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function F(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}var ge={WATCHING:`watching`,CLEAR:`clear`,TRIGGERED:`triggered`,AWAITING:`awaiting`},_e={ORIGIN:`origin`,ADDED:`added`,LINKED:`linked`},ve={CLEAR:1,WATCHING:.75,TRIGGERED:0,AWAITING:0};function ye(e){let t=e.tripwires.filter(e=>e.state!==`AWAITING`);if(t.length===0)return null;let n=t.reduce((e,t)=>e+ve[t.state],0);return Math.round(100*n/t.length)}function be(e){return e===null?``:e>=80?`Tracking well`:e>=55?`Holding, with risks`:e>=30?`Slipping`:`Lines are breaking`}var xe=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Se(e){let t=e.block.type;return xe.has(t)?!0:!!e.metricId&&t===`insight`}function Ce(e,t){let n=t.block.type;if(!xe.has(n)){if(t.metricId&&n===`insight`){let n=e.metrics.find(e=>e.id===t.metricId);if(n){let e=n.lastValue===null?`—`:n.lastRaw??O(String(n.lastValue),n.unit),r=n.lastValue===null?`inferred`:`strong`,i=t.block.props;return{...t.block,props:{...i,stat:e,conf:r}}}}return t.block}let r=e.sources.find(e=>e.kind===`ORIGIN`);if(n===`thesis`){let n=e.tripwires[0],i={reasoning:e.thesis.text,...r?{asOf:r.title}:{},...n?{reconsiderIf:n.label,tripwireState:ge[n.state]}:{}};return{...t.block,props:i}}if(n===`alignmentgauge`){let n=ye(e),r={pct:n,band:be(n)};return{...t.block,props:r}}if(n===`standingalerts`){let n={alerts:e.tripwires.map(e=>({label:e.label,state:ge[e.state]}))};return{...t.block,props:n}}let i={rows:e.sources.map(e=>({kind:_e[e.kind],label:e.title,...e.contributed?{contributed:e.contributed}:{}}))};return{...t.block,props:i}}var we={metric:`{"kind":"metric","value":number,"raw"?:string}`,series:`{"kind":"series","points":[{"label":string,"value":number}]}`,list:`{"kind":"list","items":[string]}`,table:`{"kind":"table","columns":[string],"rows":[[string]]}`,event:`{"kind":"event","events":[{"when":string,"title":string,"detail"?:string}]}`};function I(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function L(e){return Array.isArray(e)?e:[]}function R(e){return typeof e==`string`?e.trim():typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`yes`:`no`:``}function z(e,...t){for(let n of t){let t=R(e[n]);if(t)return t}return``}function Te(e){if(!I(e))return R(e);let t=z(e,`text`,`label`,`title`,`name`,`item`);if(t){let n=Object.entries(e).filter(([e])=>![`text`,`label`,`title`,`name`,`item`].includes(e)).map(([,e])=>R(e)).filter(Boolean);return n.length?`${t} — ${n.join(` — `)}`:t}return Object.values(e).map(R).filter(Boolean).join(` — `)}function Ee(e,t){let n=I(t)?t:{};switch(e){case`metric`:{let e=s(n.value??n.number??n.amount??t);if(e===null)return null;let r=z(n,`raw`,`display`,`formatted`);return{kind:`metric`,value:e,...r?{raw:r}:{}}}case`series`:{let e=L(n.points??n.data??n.series).map(e=>{let t=I(e)?e:{},n=z(t,`label`,`name`,`x`,`when`,`date`),r=s(t.value??t.y??t.amount);return n&&r!==null?{label:n,value:r}:null}).filter(e=>e!==null);return e.length?{kind:`series`,points:e}:null}case`list`:{let e=L(n.items??n.list??n.entries??t).map(Te).filter(Boolean);return e.length?{kind:`list`,items:e}:null}case`table`:{let e=L(n.rows??n.data??t),r=L(n.columns??n.headers??n.cols).map(R).filter(Boolean);!r.length&&I(e[0])&&(r=Object.keys(e[0]).map(R));let i=e.map(e=>Array.isArray(e)?e.map(R):I(e)?r.map(t=>R(e[t])):[]).filter(e=>e.some(Boolean));return r.length&&i.length?{kind:`table`,columns:r,rows:i}:null}case`event`:{let e=L(n.events??n.items??t).map(e=>{let t=I(e)?e:{},n=z(t,`title`,`name`,`event`,`label`);if(!n)return null;let r=z(t,`when`,`date`,`time`,`at`,`start`),i=z(t,`detail`,`description`,`note`,`status`);return{when:r,title:n,...i?{detail:i}:{}}}).filter(e=>e!==null);return e.length?{kind:`event`,events:e}:null}}}var De={list:`list`,checklist:`list`,timeline:`event`,datatable:`table`,standings:`table`,chart:`series`,bars:`series`};function B(e){return De[e]??null}function V(e,t){return e.raw??O(String(e.value),t)}function Oe(e,t,n={},r){let i=typeof n.title==`string`?n.title:``,a={...i?{title:i}:{},...n.icon?{icon:n.icon}:{}};switch(e){case`insight`:return t.kind===`metric`?{...n,...a,stat:V(t,r),conf:`strong`}:null;case`kpi`:return t.kind===`metric`?{...a,items:[{label:i||`Now`,value:V(t,r)}]}:t.kind===`series`?{...a,items:t.points.slice(-4).map(e=>({label:e.label,value:String(e.value)}))}:null;case`list`:case`checklist`:{let n=t.kind===`list`?t.items:t.kind===`event`?t.events.map(e=>[e.when,e.title,e.detail].filter(Boolean).join(` — `)):t.kind===`series`?t.points.map(e=>`${e.label} — ${e.value}`):t.kind===`table`?t.rows.map(e=>e.filter(Boolean).join(` — `)):null;return n?.length?e===`checklist`?{...a,rows:n.map(e=>({t:e,st:`todo`}))}:{...a,items:n}:null}case`timeline`:return t.kind===`event`?{...a,events:t.events.map(e=>({time:e.when,title:e.title,...e.detail?{detail:e.detail}:{}}))}:null;case`datatable`:{if(t.kind!==`table`)return null;let e=t.columns.map((e,t)=>({key:`c${t}`,label:e}));return{...a,columns:e,rows:t.rows.map(e=>Object.fromEntries(e.map((e,t)=>[`c${t}`,e])))}}case`standings`:{if(t.kind!==`table`)return null;let e=t.rows.map(e=>({team:e[0]??``,rec:e[1]??``,gb:e[2]??``})).filter(e=>e.team);return e.length?{...a,rows:e}:null}case`chart`:return t.kind===`series`?{...a,labels:t.points.map(e=>e.label),series:[{name:i||`Value`,color:`var(--insight)`,data:t.points.map(e=>e.value)}],conf:`strong`}:null;case`bars`:return t.kind===`series`?{...a,bars:t.points.map(e=>({label:e.label,value:e.value})),conf:`strong`}:null;default:return null}}r();function ke(e){let t=e instanceof Error?e.message:String(e);if(/\b429\b|rate.?limit/i.test(t)){let e=Number(/(?:in|after)\s+([\d.]+)\s*s/i.exec(t)?.[1]);return Number.isFinite(e)&&e>0?{kind:`rate-limit`,retryAt:Date.now()+Math.min(e*1e3,12e4)}:{kind:`rate-limit`}}return/\b401\b|\b403\b|api key|unauthor/i.test(t)?{kind:`auth`}:/\b5\d\d\b|overloaded|unavailable|capacity/i.test(t)?{kind:`provider-unavailable`}:{kind:`network`}}function Ae(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function je(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function Me(e,t,n){return t===null?`AWAITING`:Ae(e.comparator,t,n,e.threshold)?`TRIGGERED`:je(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function H(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=Me(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function Ne(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function U(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function Pe(e,t=Date.now(),n=4){return e.filter(e=>Ne(e,t)).sort((e,t)=>U(e)-U(t)).slice(0,n)}function Fe(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function W(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function G(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function K(e,t){return(e.sources?.length??0)>0||G(t).length>0}function Ie(e){return`- VALUE "${e.label}" — ${e.query}`}function Le(e,t,n){let r=B(e.block.type);return r?`- DATA #${t} [${r}] ${e.refreshQuery}\n return EXACTLY: ${we[r]}`:`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n`+(n?` expected props (use EXACTLY these field names): ${n}\n`:``)+` current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function Re(){return{values:{},widgets:{}}}function ze(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim()&&!Se(e))}}function Be(e){let t=[e.block.type];if(e.block.type===`composite`){let n=e.block.props.regions;for(let e of n??[]){let n=e?.block?.type;typeof n==`string`&&n&&t.push(n)}}return t}function Ve(e,t,n){let r=n.reduce((e,t)=>e+(B(t.block.type)?300:1200),0);return 400+t.length*120+r+(e.prediction?150:0)}var He=12e3;function q(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=ze(r);if(e.length===0&&i.length===0)continue;let a=Ve(r,e,i);if(t.length>0&&n+a>He)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function Ue(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function We(e,t,n){let r=[...e.metrics.map(Ie),...e.targets.map((e,t)=>Le(e,t,n(e.block.type))),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${Ue(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${r.join(`
3
- `)}`}function Ge(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Ke(e,t){let n=e.dashboards;if(n===void 0&&t.length===1)return{[t[0].d.id]:e};let r=new Map,i=[];if(Array.isArray(n))for(let e of n){let t=a(e);i.push(t),typeof t.id==`string`&&t.id&&r.set(t.id,t)}else if(Ge(n))for(let[e,t]of Object.entries(n))r.set(e,a(t));let o={};return t.forEach((e,t)=>{o[e.d.id]=r.get(e.d.id)??i[t]??{}}),o}function qe(e){let t=a(e);if(typeof t.metricLabel!=`string`||!t.metricLabel.trim())return;let n=o(t.readings).filter(e=>typeof e==`string`&&!!e.trim());if(!(n.length<2))return{metricLabel:t.metricLabel.trim(),readings:n,note:typeof t.note==`string`?t.note.trim().slice(0,200):``}}function Je(e){let t=a(e),n=typeof t.start==`string`?Date.parse(t.start):NaN,r=typeof t.end==`string`?Date.parse(t.end):NaN;if(!(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)&&!(r-n>6048e5))return{startAt:n,endAt:r,label:typeof t.label==`string`?t.label.trim().slice(0,60):``}}var Ye=` YOUR PREVIOUS ATTEMPT DID NOT ACTUALLY SEARCH (no citations came back). Before answering this time, you MUST run a real web search for every DASHBOARD section above and report only what those searches returned, listing the real URLs relied on in "sources" — this is not optional. If search is genuinely unavailable or turns up nothing, return null values and omit "sources" entirely; never invent a value or a source just to satisfy this instruction.`;async function Xe(e,t,n={}){let r=Date.now(),c={ok:!0,grounded:!1,perDashboard:{},sources:[],attempts:0};if(e.length===0&&!n.briefingContext)return c;try{let c=te(t.provider),l=e.flatMap(e=>e.targets.filter(e=>!B(e.block.type))),u=new Set(l.flatMap(Be)),d=u.size>0,f=d?await i(()=>import(`./liveSchema-Z_39HuDI.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])):null,p=e.map(e=>We(e,r,f?f.blockShapeHint:()=>null)).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/liveSchema-eKgFc5D0.js","assets/icons-gLFQTv74.js","assets/jsx-runtime-DeHZSEgm.js","assets/rolldown-runtime-DkW27tQK.js","assets/safeImageUrl-BINWXOTz.js","assets/empty-D51uhW0E.js","assets/catalog-BHjl-1uH.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-Dy-GZvZV.js","assets/annotations-CftUUB13.js","assets/catalog-vLsIS_Na.js","assets/preload-helper-CiWYd9n-.js","assets/facts-CNQz8OQz.js","assets/blockTypes-DUDdP3pB.js","assets/streamParse-BX0bAppQ.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{c as a,i as o}from"./http-Bqk6nJiH.js";import{i as s}from"./number-zqlPMliA.js";import{E as c,G as l,H as u,L as d,P as f,U as p,V as m,_ as h,b as g,m as _,p as v,s as y,v as b,y as x,z as ee}from"./store-D16dGt7I.js";import{t as te}from"./providers-CPhoN8j0.js";import{n as S,u as C}from"./useLiveConfig-CvOQTr0s.js";import{t as ne}from"./json-J4Y32_i9.js";import{i as w,n as T,r as E}from"./ledger-DHS2di3l.js";import{d as re,i as D,l as O,o as k,u as A}from"./format-BkvssSOr.js";import{t as j}from"./dataPending-DGdCvY5Y.js";import{t as M}from"./now-C9-UAzTC.js";import{n as ie,t as ae}from"./predictions-CkVKHq-5.js";import{t as N}from"./notify-Bz4wuE4T.js";import{a as oe,i as se,r as ce,t as le,u as ue}from"./dashboardEvents-BV0Ly6No.js";var P=t(),de=n(),fe=`mavea-dashboard-scheduler`;function pe(){if(typeof navigator>`u`)return null;let e=navigator.locks;return typeof e?.request==`function`?e:null}async function me(e){let t=pe();if(!t){await e();return}try{await t.request(fe,{ifAvailable:!0},async t=>{t&&await e()})}catch{await e()}}function he(e){return new Set(e.toLowerCase().replace(/[^a-z0-9 ]/g,` `).replace(/\s+/g,` `).trim().split(` `).filter(e=>e.length>3))}function F(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}var ge={WATCHING:`watching`,CLEAR:`clear`,TRIGGERED:`triggered`,AWAITING:`awaiting`},_e={ORIGIN:`origin`,ADDED:`added`,LINKED:`linked`},ve={CLEAR:1,WATCHING:.75,TRIGGERED:0,AWAITING:0};function ye(e){let t=e.tripwires.filter(e=>e.state!==`AWAITING`);if(t.length===0)return null;let n=t.reduce((e,t)=>e+ve[t.state],0);return Math.round(100*n/t.length)}function be(e){return e===null?``:e>=80?`Tracking well`:e>=55?`Holding, with risks`:e>=30?`Slipping`:`Lines are breaking`}var xe=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Se(e){let t=e.block.type;return xe.has(t)?!0:!!e.metricId&&t===`insight`}function Ce(e,t){let n=t.block.type;if(!xe.has(n)){if(t.metricId&&n===`insight`){let n=e.metrics.find(e=>e.id===t.metricId);if(n){let e=n.lastValue===null?`—`:n.lastRaw??O(String(n.lastValue),n.unit),r=n.lastValue===null?`inferred`:`strong`,i=t.block.props;return{...t.block,props:{...i,stat:e,conf:r}}}}return t.block}let r=e.sources.find(e=>e.kind===`ORIGIN`);if(n===`thesis`){let n=e.tripwires[0],i={reasoning:e.thesis.text,...r?{asOf:r.title}:{},...n?{reconsiderIf:n.label,tripwireState:ge[n.state]}:{}};return{...t.block,props:i}}if(n===`alignmentgauge`){let n=ye(e),r={pct:n,band:be(n)};return{...t.block,props:r}}if(n===`standingalerts`){let n={alerts:e.tripwires.map(e=>({label:e.label,state:ge[e.state]}))};return{...t.block,props:n}}let i={rows:e.sources.map(e=>({kind:_e[e.kind],label:e.title,...e.contributed?{contributed:e.contributed}:{}}))};return{...t.block,props:i}}var we={metric:`{"kind":"metric","value":number,"raw"?:string}`,series:`{"kind":"series","points":[{"label":string,"value":number}]}`,list:`{"kind":"list","items":[string]}`,table:`{"kind":"table","columns":[string],"rows":[[string]]}`,event:`{"kind":"event","events":[{"when":string,"title":string,"detail"?:string}]}`};function I(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function L(e){return Array.isArray(e)?e:[]}function R(e){return typeof e==`string`?e.trim():typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`yes`:`no`:``}function z(e,...t){for(let n of t){let t=R(e[n]);if(t)return t}return``}function Te(e){if(!I(e))return R(e);let t=z(e,`text`,`label`,`title`,`name`,`item`);if(t){let n=Object.entries(e).filter(([e])=>![`text`,`label`,`title`,`name`,`item`].includes(e)).map(([,e])=>R(e)).filter(Boolean);return n.length?`${t} — ${n.join(` — `)}`:t}return Object.values(e).map(R).filter(Boolean).join(` — `)}function Ee(e,t){let n=I(t)?t:{};switch(e){case`metric`:{let e=s(n.value??n.number??n.amount??t);if(e===null)return null;let r=z(n,`raw`,`display`,`formatted`);return{kind:`metric`,value:e,...r?{raw:r}:{}}}case`series`:{let e=L(n.points??n.data??n.series).map(e=>{let t=I(e)?e:{},n=z(t,`label`,`name`,`x`,`when`,`date`),r=s(t.value??t.y??t.amount);return n&&r!==null?{label:n,value:r}:null}).filter(e=>e!==null);return e.length?{kind:`series`,points:e}:null}case`list`:{let e=L(n.items??n.list??n.entries??t).map(Te).filter(Boolean);return e.length?{kind:`list`,items:e}:null}case`table`:{let e=L(n.rows??n.data??t),r=L(n.columns??n.headers??n.cols).map(R).filter(Boolean);!r.length&&I(e[0])&&(r=Object.keys(e[0]).map(R));let i=e.map(e=>Array.isArray(e)?e.map(R):I(e)?r.map(t=>R(e[t])):[]).filter(e=>e.some(Boolean));return r.length&&i.length?{kind:`table`,columns:r,rows:i}:null}case`event`:{let e=L(n.events??n.items??t).map(e=>{let t=I(e)?e:{},n=z(t,`title`,`name`,`event`,`label`);if(!n)return null;let r=z(t,`when`,`date`,`time`,`at`,`start`),i=z(t,`detail`,`description`,`note`,`status`);return{when:r,title:n,...i?{detail:i}:{}}}).filter(e=>e!==null);return e.length?{kind:`event`,events:e}:null}}}var De={list:`list`,checklist:`list`,timeline:`event`,datatable:`table`,standings:`table`,chart:`series`,bars:`series`};function B(e){return De[e]??null}function V(e,t){return e.raw??O(String(e.value),t)}function Oe(e,t,n={},r){let i=typeof n.title==`string`?n.title:``,a={...i?{title:i}:{},...n.icon?{icon:n.icon}:{}};switch(e){case`insight`:return t.kind===`metric`?{...n,...a,stat:V(t,r),conf:`strong`}:null;case`kpi`:return t.kind===`metric`?{...a,items:[{label:i||`Now`,value:V(t,r)}]}:t.kind===`series`?{...a,items:t.points.slice(-4).map(e=>({label:e.label,value:String(e.value)}))}:null;case`list`:case`checklist`:{let n=t.kind===`list`?t.items:t.kind===`event`?t.events.map(e=>[e.when,e.title,e.detail].filter(Boolean).join(` — `)):t.kind===`series`?t.points.map(e=>`${e.label} — ${e.value}`):t.kind===`table`?t.rows.map(e=>e.filter(Boolean).join(` — `)):null;return n?.length?e===`checklist`?{...a,rows:n.map(e=>({t:e,st:`todo`}))}:{...a,items:n}:null}case`timeline`:return t.kind===`event`?{...a,events:t.events.map(e=>({time:e.when,title:e.title,...e.detail?{detail:e.detail}:{}}))}:null;case`datatable`:{if(t.kind!==`table`)return null;let e=t.columns.map((e,t)=>({key:`c${t}`,label:e}));return{...a,columns:e,rows:t.rows.map(e=>Object.fromEntries(e.map((e,t)=>[`c${t}`,e])))}}case`standings`:{if(t.kind!==`table`)return null;let e=t.rows.map(e=>({team:e[0]??``,rec:e[1]??``,gb:e[2]??``})).filter(e=>e.team);return e.length?{...a,rows:e}:null}case`chart`:return t.kind===`series`?{...a,labels:t.points.map(e=>e.label),series:[{name:i||`Value`,color:`var(--insight)`,data:t.points.map(e=>e.value)}],conf:`strong`}:null;case`bars`:return t.kind===`series`?{...a,bars:t.points.map(e=>({label:e.label,value:e.value})),conf:`strong`}:null;default:return null}}r();function ke(e){let t=e instanceof Error?e.message:String(e);if(/\b429\b|rate.?limit/i.test(t)){let e=Number(/(?:in|after)\s+([\d.]+)\s*s/i.exec(t)?.[1]);return Number.isFinite(e)&&e>0?{kind:`rate-limit`,retryAt:Date.now()+Math.min(e*1e3,12e4)}:{kind:`rate-limit`}}return/\b401\b|\b403\b|api key|unauthor/i.test(t)?{kind:`auth`}:/\b5\d\d\b|overloaded|unavailable|capacity/i.test(t)?{kind:`provider-unavailable`}:{kind:`network`}}function Ae(e,t,n,r){switch(e){case`gt`:return t>r;case`gte`:return t>=r;case`lt`:return t<r;case`lte`:return t<=r;case`crosses_up`:return n!==null&&n<r&&t>=r;case`crosses_down`:return n!==null&&n>r&&t<=r;case`pct_rise`:return n!==null&&n!==0&&(t-n)/Math.abs(n)*100>=r;case`pct_drop`:return n!==null&&n!==0&&(n-t)/Math.abs(n)*100>=r;default:return!1}}function je(e,t,n){if(n===0)return!0;let r=t/n;switch(e){case`gt`:case`gte`:return r>=.9;case`lt`:case`lte`:return r<=1.1;default:return!0}}function Me(e,t,n){return t===null?`AWAITING`:Ae(e.comparator,t,n,e.threshold)?`TRIGGERED`:je(e.comparator,t,e.threshold)?`WATCHING`:`CLEAR`}function H(e,t={}){let n=new Map(e.metrics.map(e=>[e.id,e])),r=[];return{tripwires:e.tripwires.map(e=>{let i=n.get(e.metricId),a=i?i.lastValue:null,o=Me(e,a,e.metricId in t?t[e.metricId]:a),s=o===`TRIGGERED`&&e.state!==`TRIGGERED`?{...e,state:o,brokenValue:a??void 0,brokenAt:i?.asOf}:{...e,state:o};return o===`TRIGGERED`&&e.state!==`TRIGGERED`&&r.push(s),s}),newlyTriggered:r}}function Ne(e,t){return e.nextDataAt<=t||e.oneShotAt!==void 0&&e.oneShotAt<=t}function U(e){return e.oneShotAt===void 0?e.nextDataAt:Math.min(e.nextDataAt,e.oneShotAt)}function Pe(e,t=Date.now(),n=4){return e.filter(e=>Ne(e,t)).sort((e,t)=>U(e)-U(t)).slice(0,n)}function Fe(e,t=Date.now()){return e.filter(e=>e.nextAiAt<=t).sort((e,t)=>e.nextAiAt-t.nextAiAt)[0]??null}function W(e,t,n=Date.now()){return e.smartTrigger&&t.length>0?{fire:!0,trigger:t[0]}:(e.cadence.ai===`daily`||e.cadence.ai===`weekly`)&&n>=e.nextAiAt?{fire:!0,trigger:`scheduled`}:{fire:!1,trigger:null}}function G(e){let t=[];for(let n of o(e.sources)){let e=a(n);typeof e.title==`string`&&typeof e.url==`string`&&t.push({title:e.title,url:e.url})}return t}function K(e,t){return(e.sources?.length??0)>0||G(t).length>0}function Ie(e){return`- VALUE "${e.label}" — ${e.query}`}function Le(e,t,n){let r=B(e.block.type);return r?`- DATA #${t} [${r}] ${e.refreshQuery}\n return EXACTLY: ${we[r]}`:`- BLOCK #${t} [${e.block.type}] ${e.refreshQuery}\n`+(n?` expected props (use EXACTLY these field names): ${n}\n`:``)+` current content: ${JSON.stringify(e.block.props??{}).slice(0,600)}`}function Re(){return{values:{},widgets:{}}}function ze(e){return{metrics:e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey),targets:e.widgets.filter(e=>!!e.refreshQuery?.trim()&&!Se(e))}}function Be(e){let t=[e.block.type];if(e.block.type===`composite`){let n=e.block.props.regions;for(let e of n??[]){let n=e?.block?.type;typeof n==`string`&&n&&t.push(n)}}return t}function Ve(e,t,n){let r=n.reduce((e,t)=>e+(B(t.block.type)?300:1200),0);return 400+t.length*120+r+(e.prediction?150:0)}var He=12e3;function q(e){let t=[],n=1200;for(let r of e){let{metrics:e,targets:i}=ze(r);if(e.length===0&&i.length===0)continue;let a=Ve(r,e,i);if(t.length>0&&n+a>He)break;n+=a,t.push({d:r,metrics:e,targets:i})}return t}function Ue(e,t){let n=Math.max(0,Math.round((t-e)/6e4));if(n<60)return`${n}m ago`;let r=Math.round(n/60);return r<24?`${r}h ago`:`${Math.round(r/24)}d ago`}function We(e,t,n){let r=[...e.metrics.map(Ie),...e.targets.map((e,t)=>Le(e,t,n(e.block.type))),...e.d.prediction?[`- PREVIOUS EXPECTATION (made ${Ue(e.d.prediction.at,t)}): "${e.d.prediction.text}" — grade it.`]:[]];return`DASHBOARD ${e.d.id} "${e.d.title}"\n${r.join(`
3
+ `)}`}function Ge(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Ke(e,t){let n=e.dashboards;if(n===void 0&&t.length===1)return{[t[0].d.id]:e};let r=new Map,i=[];if(Array.isArray(n))for(let e of n){let t=a(e);i.push(t),typeof t.id==`string`&&t.id&&r.set(t.id,t)}else if(Ge(n))for(let[e,t]of Object.entries(n))r.set(e,a(t));let o={};return t.forEach((e,t)=>{o[e.d.id]=r.get(e.d.id)??i[t]??{}}),o}function qe(e){let t=a(e);if(typeof t.metricLabel!=`string`||!t.metricLabel.trim())return;let n=o(t.readings).filter(e=>typeof e==`string`&&!!e.trim());if(!(n.length<2))return{metricLabel:t.metricLabel.trim(),readings:n,note:typeof t.note==`string`?t.note.trim().slice(0,200):``}}function Je(e){let t=a(e),n=typeof t.start==`string`?Date.parse(t.start):NaN,r=typeof t.end==`string`?Date.parse(t.end):NaN;if(!(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)&&!(r-n>6048e5))return{startAt:n,endAt:r,label:typeof t.label==`string`?t.label.trim().slice(0,60):``}}var Ye=` YOUR PREVIOUS ATTEMPT DID NOT ACTUALLY SEARCH (no citations came back). Before answering this time, you MUST run a real web search for every DASHBOARD section above and report only what those searches returned, listing the real URLs relied on in "sources" — this is not optional. If search is genuinely unavailable or turns up nothing, return null values and omit "sources" entirely; never invent a value or a source just to satisfy this instruction.`;async function Xe(e,t,n={}){let r=Date.now(),c={ok:!0,grounded:!1,perDashboard:{},sources:[],attempts:0};if(e.length===0&&!n.briefingContext)return c;try{let c=te(t.provider),l=e.flatMap(e=>e.targets.filter(e=>!B(e.block.type))),u=new Set(l.flatMap(Be)),d=u.size>0,f=d?await i(()=>import(`./liveSchema-eKgFc5D0.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])):null,p=e.map(e=>We(e,r,f?f.blockShapeHint:()=>null)).join(`
4
4
 
5
5
  `),m={type:`object`,properties:{dashboards:{type:`array`,description:`One object per DASHBOARD section above, in the same order, each echoing its id.`,items:{type:`object`,properties:{id:{type:`string`},values:{type:`object`,description:`Map of VALUE label -> current numeric value, or null.`},observations:{type:`array`,description:`Exactly one object per DATA item for this dashboard, in the same order, each in the exact shape that DATA line specifies.`,items:{type:`object`}},blocks:{type:`array`,description:`Exactly one block per BLOCK item for this dashboard, in order.`,items:{type:`object`,properties:{type:{type:`string`},props:{type:`object`}},required:[`type`,`props`]}},expects:{type:`string`,description:`A short "by next check" expectation — omit if nothing here is genuinely predictable.`},grade:{type:`object`,description:`ONLY when this dashboard has a PREVIOUS EXPECTATION line.`,properties:{result:{type:`string`},note:{type:`string`}}},disagreement:{type:`object`,description:`ONLY when two real sources genuinely disagreed on a value.`,properties:{metricLabel:{type:`string`},readings:{type:`array`,items:{type:`string`}},note:{type:`string`}}},liveWindow:{type:`object`,description:`ONLY when search revealed a real, bounded live-event window.`,properties:{start:{type:`string`},end:{type:`string`},label:{type:`string`}}}},required:[`id`]}},...n.briefingContext?{briefing:{type:`string`,description:`2-4 sentences summarizing ALL dashboards (this batch + the given CONTEXT), real values only; use [[shown|said]] pronunciation twins for speech-risky terms.`}}:{},sources:{type:`array`,description:`OMIT unless this call used web search. Real source URLs actually relied on — never invented.`,items:{type:`object`,properties:{title:{type:`string`},url:{type:`string`}},required:[`title`,`url`]}}},required:[`dashboards`]},h=d===!1,g=Math.min(h?4e3:14e3,Math.max(h?1500:3e3,1200+e.reduce((e,t)=>e+Ve(t.d,t.metrics,t.targets),0)+(n.briefingContext?700:0))),_=M()+` You are checking several standing trackers at once. Return ONLY JSON: {"dashboards": [{"id": string, "values": {...}, "observations": [...], "blocks": [...], "expects"?: string, "grade"?: {...}, "disagreement"?: {...}, "liveWindow"?: {...}}, ...], `+(n.briefingContext?`"briefing": string, `:``)+`"sources": [...]}. Use web search for every DASHBOARD section below — never invent a value or detail. ECHO each dashboard's exact "id" so results map back correctly. For a VALUE item, give its CURRENT real number (no units) or null if unverifiable. For a BLOCK For a DATA item, return ONE object in "observations" (same order as the DATA lines) in the exact shape that line prints — plain data, no component or prop names, and omit the entry entirely rather than inventing a value you did not find. For a BLOCK item, produce exactly one block whose "type" is the EXACT bracketed type given — never substitute a different one — matching its current content for detail level (real names, numbers, dates). Where a BLOCK lists "expected props", copy that shape EXACTLY: the same field names, and an array shown as string[] takes plain strings, never objects. CRITICAL — a "current content" showing something live, in progress, or upcoming is NOT necessarily still true right now: explicitly check whether it has SINCE concluded and report the concluding outcome if so, reasoning from the date/time above which of upcoming/live/finished applies at this exact moment. If a dashboard has a PREVIOUS EXPECTATION line, grade it honestly ("hit" it came true, "miss" it did not, "unclear" if genuinely unknowable yet) — grade ONLY dashboards that have this line, never invent a grade otherwise. Offer a fresh "expects" only when something is genuinely predictable by the next check; most checks have nothing worth predicting, so omit it far more often than not. If two real sources genuinely disagree on a value, report it in "disagreement" instead of silently picking one. If search reveals a real bounded live-event window (a match's actual start/end time) for a dashboard, report it in "liveWindow" with ISO start/end — never invent a time. `+(n.briefingContext?`Also compose "briefing": 2-4 warm, concrete sentences summarizing ALL dashboards — this batch PLUS the CONTEXT lines below (already-known values — do NOT search for those, use them as given) — real values only, never memory. The briefing is displayed and spoken: preserve normal spelling on the left, but wrap a name, place, brand, or borrowed term a voice would genuinely mispronounce as [[shown|said]] (for example [[Omakase|oh-mah-kah-seh]]). The said side must be lowercase voice-safe syllables matching a native/source-language pronunciation, never IPA or an Anglicized guess. Annotate sparingly — the said side is one you invent, so a wrong one makes the voice say a word WRONG. Ordinary English words and names are never annotated. `:``)+`If search genuinely turns up nothing more specific than what is already shown, say so honestly rather than inventing new specifics or repeating the old ones as if just confirmed. CITE SOURCES — every real URL actually relied on, in "sources"; omit it entirely if you used no search.`,v=`Use web search.\n\n${p}`+(n.briefingContext?`\n\nCONTEXT (already known — do not search these):\n${n.briefingContext}`:``),y=e=>c.generate({system:e?_+Ye:_,history:[],user:v,maxTokens:g,temperature:.15,thinkingLevel:e?`high`:`low`,tools:{webSearch:!0,requireSearch:!0},format:m,...d?{blockTypes:[...u],complexity:`brief`}:{}},t).then(e=>({rr:e,grounded:K(e,a(ne(e.raw)))})),b=await y(!1),x=1;!b.grounded&&e.length>0&&(b=await y(!0),x=2);let{rr:S}=b,C=a(ne(S.raw)),w=K(S,C),T=Ke(C,e),E=S.sources&&S.sources.length?S.sources:G(C),re=[...new Set(E.map(e=>k(e.url)).filter(Boolean))],D=f?f.validateLiveResponse:null,A={};for(let t of e){let e=T[t.d.id]??{},n=Re();if(w&&t.metrics.length>0){let r=a(e.values),i=new Map(Object.entries(r).map(([e,t])=>[F(e),t]));for(let e of t.metrics){let t=s(r[e.label]??i.get(F(e.label)));t!==null&&(n.values[e.id]={value:t,raw:O(String(t),e.unit)})}}if(t.targets.length>0&&w){let i=o(e.observations??e.data);t.targets.forEach((e,a)=>{let o=B(e.block.type);if(!o)return;let s=Ee(o,i[a]);if(!s)return;let c=e.block.props??{},l=e.metricId?t.d.metrics.find(t=>t.id===e.metricId):void 0,u=Oe(e.block.type,s,c,l?.unit);u&&(n.widgets[e.id]={...e.block,props:u},ee(t.d.id,e.id,s,r,re))})}if(t.targets.length>0&&D){let r=o(e.blocks);t.targets.forEach((e,t)=>{if(B(e.block.type))return;let i=r[t];if(!i)return;let a=D({narration:``,title:`x`,sub:``,blocks:[i]},new Set(Be(e)),1,w,!0)?.blocks[0];a&&a.type===e.block.type&&(n.widgets[e.id]=a)})}if(w){let r=ae(e.expects);if(r&&(n.expects=r),t.d.prediction){let t=ie(e.grade);t&&(n.grade=t)}let i=qe(e.disagreement);i&&(n.disagreement=i);let a=Je(e.liveWindow);a&&(n.liveWindow=a)}A[t.d.id]=n}Object.values(A).every(e=>Object.keys(e.values).length===0&&Object.keys(e.widgets).length===0&&!e.expects)&&console.warn(`[dashboards] refreshDashboards got a response but nothing parsed out of it for any dashboard (${w?`empty/unparseable`:`ungrounded after ${x} attempt${x>1?`s`:``}, discarded`})`,{dashboardIds:e.map(e=>e.d.id),raw:S.raw});let j=n.briefingContext&&w&&typeof C.briefing==`string`&&C.briefing.trim()?C.briefing.trim():void 0;return{ok:!0,grounded:w,perDashboard:A,sources:E,attempts:x,...j?{briefing:j}:{}}}catch(t){console.error(`[dashboards] refreshDashboards failed`,t);let n={};for(let t of e)n[t.d.id]=Re();return{ok:!1,grounded:!1,perDashboard:n,sources:[],attempts:0,failure:ke(t)}}}function Ze(e){let t=Array.isArray(e?.sources)?e.sources:[],n=[];for(let e of t){let t=e&&typeof e==`object`?e:{};typeof t.title==`string`&&typeof t.url==`string`&&n.push({title:t.title,url:t.url})}return n}function Qe(e){try{let t=typeof e==`string`?JSON.parse($e(e)):e,n=t?.verdict;return{text:typeof n==`string`&&n.trim()?n.trim():null,sources:Ze(t)}}catch{return{text:typeof e==`string`&&e.trim()?e.trim():null,sources:[]}}}function $e(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);return t>=0&&n>t?e.slice(t,n+1):e}async function J(e,t,n,r=Date.now()){try{let i=te(n.provider),a=t===`scheduled`?null:t,o=a?e.metrics.find(e=>e.id===a.metricId):void 0,s=e.metrics.map(e=>`${e.label}=${e.lastRaw??`—`}`).join(`, `),c=a?`A line the user set just crossed: "${a.label}" — ${o?.label??a.label} is now ${o?.lastRaw??a.brokenValue??`past the threshold`}. Currently tracked: ${s}. Using web search, say briefly and honestly what the latest numbers show and whether this reads as a real move or just noise.`:`Currently tracked: ${s}. Using web search, give a brief, honest read: what the latest numbers show and what has materially changed since the last check.`,l=await i.generate({system:M()+` You give a brief, honest read on the latest numbers a user is tracking: what they show now, what has materially changed since the last check, and — if a specific line was crossed — whether that looks like a real move or noise. One or two plain sentences. Never invent data. CITE YOUR SOURCES — whenever you used web search, include the exact source URLs you actually relied on as a top-level "sources": [{"title": string, "url": string}] array; only real URLs from the search results — never invent one, and omit "sources" entirely if you didn’t search. Return ONLY JSON: {"verdict":"…","sources":[...]}.`,history:[],user:c,maxTokens:700,temperature:.3,thinkingLevel:`low`,tools:{webSearch:!0}},n),{text:u,sources:d}=Qe(l.raw);return u?{text:u,at:r,grounded:(l.sources?.length??0)>0||d.length>0,...l.sources&&l.sources.length?{sources:l.sources}:{},...a?{tripwireId:a.id}:{}}:null}catch(e){return console.error(`[dashboards] analyzeMove failed`,e),null}}function et(e){let t=(e??[]).slice(-3);if(t.length<3)return 0;let[n,r,i]=t;return n.value<r.value&&r.value<i.value?1:n.value>r.value&&r.value>i.value?-1:0}function tt(e){let t=e.metrics.filter(e=>(e.history?.length??0)>=3);for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let i=t[n],a=t[r],o=et(i.history);if(o!==0&&o===et(a.history))return{text:`${i.label} and ${a.label} have moved together over the last three checks.`,dashboardIds:[e.id]}}return null}function nt(e,t){let n=e.filter(e=>{let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt});if(n.length<2)return null;let[r,i]=n;return{text:`${r.title} and ${i.title} overlap right now — their checks are batched into shared searches while both are live.`,dashboardIds:[r.id,i.id]}}var rt=5;function it(e){if(e.cadence.data!==`15min`&&e.cadence.data!==`hourly`)return null;let t=e.metrics.find(e=>(e.history?.length??0)>=rt);if(!t?.history)return null;let n=t.history.slice(-5);return n.every(e=>e.value===n[0].value)?{text:`${t.label} hasn't moved across ${e.title}'s last ${rt} checks.`,dashboardIds:[e.id]}:null}function at(e,t){let n=t.note?` ${t.note}`:``;return{text:`Sources disagreed on ${t.metricLabel}: ${t.readings.join(` vs `)}.${n}`,dashboardIds:[e.id]}}var ot=432e5;function st(e,t,n){let r=n-ot;return e.some(e=>e.kind===`insight`&&e.at>=r&&e.text===t.text)}function ct(e,t,n,r=2){let i=[],a=nt(e,n);a&&i.push(a);for(let t of e){let e=tt(t);e&&i.push(e);let n=it(t);n&&i.push(n)}return i.filter(e=>!st(t,e,n)).slice(0,r)}var lt=e({checkAllDashboardsNow:()=>Ct,readDashboardNow:()=>wt,refreshDashboardNow:()=>St,runRefreshBatch:()=>$,selectTickTargets:()=>Tt,useDashboardLoop:()=>Et,useVerdictPending:()=>mt}),ut=15e3,dt=3e5;function ft(e,t){switch(e?.kind){case`rate-limit`:return e.retryAt?Math.max(15e3,e.retryAt-t):6e4;case`provider-unavailable`:return 12e4;case`auth`:return 216e5;default:return dt}}var Y=new Set,X=new Set,Z=`mavea-dashboard-verdict-pending`;function Q(e,t){t?X.add(e):X.delete(e);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(Z,{detail:e}))}catch{}}function pt(e){return window.addEventListener(Z,e),()=>window.removeEventListener(Z,e)}function mt(e){let t=(0,de.c)(2),n;return t[0]===e?n=t[1]:(n=()=>X.has(e),t[0]=e,t[1]=n),(0,P.useSyncExternalStore)(pt,n,ht)}function ht(){return!1}function gt(e,t){return e.map(e=>{let n=t.perDashboard[e.d.id]??{values:{},widgets:{}},r=e.metrics.find(e=>n.values[e.id]);return r?`${e.d.title} at ${n.values[r.id].raw}`:e.targets.some(e=>n.widgets[e.id])?`${e.d.title} updated`:t.grounded?`${e.d.title} checked`:`${e.d.title} — couldn't verify`}).join(` · `)}var _t=`Daily search budget reached — auto-checks paused until midnight. Manual checks still work.`;function vt(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function yt(e){let t=vt(e);w().some(e=>e.kind===`savings`&&e.at>=t&&e.text===_t)||T({kind:`savings`,text:_t,dashboardIds:[],searches:0})}async function bt(e,t,n,r,i,a,o=!1){let{d:s}=e,l=Object.keys(t.values).length>0||Object.keys(t.widgets).length>0?`updated`:o?`unverified`:`no-change`,u=s.metrics.map(e=>{let n=t.values[e.id];return n?{...e,lastValue:n.value}:e}),d={...s,metrics:u},{tripwires:f,newlyTriggered:p}=H(d,n),m=s.oneShotAt!==void 0&&s.oneShotAt<=a;y(s.id,{values:Object.entries(t.values).map(([e,t])=>({metricId:e,value:t.value,raw:t.raw,origin:`search`})),blocks:Object.entries(t.widgets).map(([e,t])=>({widgetId:e,block:t})),tripwires:f,outcome:l,...t.expects?{expects:t.expects}:{},...t.grade?{grade:t.grade}:{},...m?{consumedOneShot:!0}:{}},a),p.length&&(N(d,p),T({kind:`alert`,text:`${p.map(e=>e.label).join(`, `)} crossed the line you set.`,dashboardIds:[s.id],searches:0}),d.alerts.inApp&&le({dashboardId:s.id,dashboardTitle:s.title,tripwireLabel:p[0].label})),t.disagreement&&T({kind:`insight`,text:at(s,t.disagreement).text,dashboardIds:[s.id],searches:0});let _={...s,tripwires:f},v=W(_,p,a);if(v.fire&&v.trigger&&i){Q(s.id,!0);let e=await J(_,v.trigger,r,a);Q(s.id,!1),e?c(s.id,e,a):g(s.id,a,`Mavéa couldn't get a fresh read — will try again.`),h(s.id,a),T({kind:v.trigger===`scheduled`?`check`:`alert`,text:e?e.text.slice(0,200):`Couldn't get a fresh read on ${s.title}.`,dashboardIds:[s.id],searches:1,...e?.sources?.length?{sourceCount:e.sources.length}:{}})}else v.fire&&v.trigger&&h(s.id,a);return l}async function $(e,t,n,r={}){let i=Date.now(),a={},o=q(e),s=e.filter(e=>!o.some(t=>t.d.id===e.id)),c={};for(let t of e)c[t.id]=Object.fromEntries(t.metrics.map(e=>[e.id,e.lastValue]));for(let e of s)a[e.id]=await bt({d:e,metrics:[],targets:[]},{values:{},widgets:{}},c[e.id],t,n,i);if(o.length===0)return a;let l=new Map(o.map(e=>[e.d.id,p(e.d.id,i)])),f=e=>{for(let t of l.values())e(t)};if(!n)return a;let h=o.map(e=>e.d.id);j(h,!0);try{let e=await Xe(o,t,r.briefing?{briefingContext:r.briefing.context}:{});if(!e.ok){let t=e.failure??{kind:`network`},n=ft(e.failure,i);f(n=>{u(n,`search`,!1,{detail:d(t)}),m(n,{outcome:`failed`,failure:t,attempts:e.attempts})});for(let e of o)b(e.d.id,i+n),x(e.d.id,t,i),a[e.d.id]=`failed`;return a}for(let r of o){let o=e.perDashboard[r.d.id]??{values:{},widgets:{}},s=l.get(r.d.id)??null;u(s,`search`,!0,{count:e.attempts}),u(s,`sources`,e.sources.length>0,{count:e.sources.length,...e.sources.length===0?{detail:`The model answered without citing a live source.`}:{}});let d=Object.keys(o.values).length+Object.keys(o.widgets).length;u(s,`extraction`,d>0,{count:d,...d===0?{detail:`Nothing in the reply matched this tracker’s metrics or cards.`}:{}}),u(s,`grounding`,e.grounded,{...e.grounded?{}:{detail:`Ungrounded — every value from it was discarded.`}}),a[r.d.id]=await bt(r,o,c[r.d.id],t,n,i,!e.grounded);let f=a[r.d.id];u(s,`saved`,f===`updated`||f===`no-change`),u(s,`tripwires`,!0),m(s,{outcome:f===`failed`?`failed`:f,attempts:e.attempts,...f===`unverified`?{failure:{kind:`ungrounded`}}:{}})}r.briefing&&e.briefing&&(oe(e.briefing,r.briefing.allDashboards,i),T({kind:`briefing`,text:`Morning briefing compiled — folded into this batched search.`,dashboardIds:o.map(e=>e.d.id),searches:0}));let s=[...new Set(e.sources.map(e=>k(e.url)))].filter(Boolean);return T({kind:`check`,text:gt(o,e),dashboardIds:o.map(e=>e.d.id),...s.length?{domains:s}:{},searches:1,...e.sources.length?{sourceCount:e.sources.length}:{},...r.manual?{manual:!0}:{}}),a}finally{j(h,!1)}}async function xt(e,t,n,r){let{tripwires:i,newlyTriggered:a}=H(e);f(e.id,i,r),a.length&&(N(e,a),e.alerts.inApp&&le({dashboardId:e.id,dashboardTitle:e.title,tripwireLabel:a[0].label}));let o={...e,tripwires:i},s=W(o,a,r);if(!s.fire||!s.trigger||!n)return;Q(e.id,!0);let l=await J(o,s.trigger,t,r);Q(e.id,!1),l?c(e.id,l,r):g(e.id,r,`Mavéa couldn't get a fresh read — will try again.`),h(e.id,r),T({kind:s.trigger===`scheduled`?`check`:`alert`,text:l?l.text.slice(0,200):`Couldn't get a fresh read on ${e.title}.`,dashboardIds:[e.id],searches:1,...l?.sources?.length?{sourceCount:l.sources.length}:{}})}async function St(e){if(Y.has(e))return`busy`;let t=v(e);if(!t)return`busy`;let n=C(S());if(!n.apiKey)return`no-model`;Y.add(e);try{let r=await $([t],n,!0,{manual:!0});return r[e]===`failed`?`failed`:r[e]===`unverified`?`unverified`:`done`}finally{Y.delete(e)}}async function Ct(){let e=C(S());if(!e.apiKey)return`no-model`;let t=_().filter(D),n=t.filter(e=>!Y.has(e.id));if(n.length===0)return t.length>0?`busy`:`done`;for(;n.length>0;){let t=q(n);if(t.length===0)break;let r=t.map(e=>e.d.id);r.forEach(e=>Y.add(e));let i={};try{i=await $(t.map(e=>e.d),e,!0,{manual:!0})}finally{r.forEach(e=>Y.delete(e))}if(r.length>0&&r.every(e=>i[e]===`failed`))return`failed`;n=n.filter(e=>!r.includes(e.id))}return`done`}async function wt(e){if(X.has(e))return`busy`;let t=v(e);if(!t)return`failed`;let n=C(S());if(!n.apiKey)return`no-model`;let r=Date.now(),i=t.tripwires.find(e=>e.state===`TRIGGERED`),a=i??`scheduled`;Q(e,!0);let o;try{o=await J(t,a,n,r)}finally{Q(e,!1)}return o?c(e,o,r):g(e,r,`Mavéa couldn’t get a fresh read — try again in a moment.`),h(e,r),T({kind:i?`alert`:`check`,text:o?o.text.slice(0,200):`Couldn’t get a fresh read on ${t.title}.`,dashboardIds:[e],searches:1,manual:!0,...o?.sources?.length?{sourceCount:o.sources.length}:{}}),o?`done`:`failed`}function Tt(e,t,n,r,i){let a=Pe(e,r).filter(e=>!i.has(e.id)),o=Fe(e,r);o&&i.has(o.id)&&(o=null);let s=A(t,n,r),c=!1;s.paused&&(c=a.some(D)||!!o,a=a.filter(e=>!D(e)),o=null);let l=q(a);return o&&l.some(e=>e.d.id===o.id)&&(o=null),{dueData:a,dueAi:o,pausedAndBlocked:c}}function Et(){let e=(0,P.useRef)(!1);(0,P.useEffect)(()=>{let t=!0,n=async()=>{if(e.current||!t||typeof document<`u`&&document.visibilityState!==`visible`)return;let n=C(S()),r=!!n.apiKey,i=Date.now(),a=_(),o=re(),s=w();ue(a,s,e=>E(s,e,i),e=>l(e,i-6048e5,i),i);for(let e of ct(a,s,i))T({kind:`insight`,text:e.text,dashboardIds:e.dashboardIds,searches:0});let{dueData:c,dueAi:u,pausedAndBlocked:d}=Tt(a,s,o.dailySearchBudget,i,Y);d&&yt(i);let f=r&&o.briefingEnabled&&ce(i);if(c.length===0&&!u){if(f&&!a.some(D)){let e=se(a,new Set);if(e){let t=await Xe([],n,{briefingContext:e});t.briefing&&(oe(t.briefing,a,i),T({kind:`briefing`,text:`Morning briefing compiled.`,dashboardIds:[],searches:1}))}}return}e.current=!0,c.forEach(e=>Y.add(e.id)),u&&Y.add(u.id);try{if(c.length>0){let e=f?{context:se(a,new Set(q(c).map(e=>e.d.id))),allDashboards:a}:void 0;await $(c,n,r,e?{briefing:e}:{})}u&&await xt(u,n,r,i)}finally{c.forEach(e=>Y.delete(e.id)),u&&Y.delete(u.id),e.current=!1}},r=()=>{me(n).catch(e=>{console.error(`[dashboards] scheduled tick failed`,e)})},i=window.setInterval(r,ut),a=()=>{document.visibilityState===`visible`&&r()};return document.addEventListener(`visibilitychange`,a),r(),()=>{t=!1,window.clearInterval(i),document.removeEventListener(`visibilitychange`,a)}},[])}export{mt as a,he as c,lt as i,F as l,St as n,H as o,Et as r,Ce as s,wt as t};
@@ -1 +1 @@
1
- import{T as e,j as t}from"./kokoro-DogSQaQB.js";import{n,t as r}from"./nextFrame-12y0UrAd.js";var i=1100,a=15e3,o=1e4,s=12e3,c=8e3,l=3500,u=2500,d=3e3,f=1800;function p(e){return e*2+12e3}function m(e,t=1700){let n=e.trim();return n?Math.min(7e3,Math.max(1500,Math.round(n.split(/\s+/).length*385+500))):t}function h(e){return new Promise(t=>setTimeout(t,e))}async function g(e,t=a){return await n(e.started,t)??!1}async function _(e,t,r=i){await Promise.all([n(e.finished,p(t)),h(r)])}function v(n){let r=n.speaking??e,i=n.subscribe??t;return new Promise(e=>{let t=!1,a=!1,o=()=>{a||(a=!0,c(),clearTimeout(l),e())},s=()=>{t&&!r()&&o()},c=i(s);setTimeout(()=>{t=!0,s()},n.floorMs);let l=setTimeout(o,n.capMs)})}function y(e){let t=e;return typeof t.getAnimations==`function`&&t.getAnimations({subtree:!0}).some(e=>e.playState===`running`)}async function b(e,t=`.card`,i=f){await n((async()=>{await r(),await r();let n=e()?.querySelector(t)??null;for(;!n;)await r(),n=e()?.querySelector(t)??null;for(;y(n);)await r()})(),i)}async function x(e){try{await n((async()=>{await r(),await r(),await n(e.loadFams(),c),e.settle&&await e.settle(),e.wantVoice&&e.firstLine&&await n(e.firstLine.started,o)})(),s)}catch{}}export{b as a,p as c,g as d,v as f,d as i,m as l,u as n,x as o,l as r,h as s,i as t,_ as u};
1
+ import{T as e,j as t}from"./kokoro-DcP-u0Tl.js";import{n,t as r}from"./nextFrame-12y0UrAd.js";var i=1100,a=15e3,o=1e4,s=12e3,c=8e3,l=3500,u=2500,d=3e3,f=1800;function p(e){return e*2+12e3}function m(e,t=1700){let n=e.trim();return n?Math.min(7e3,Math.max(1500,Math.round(n.split(/\s+/).length*385+500))):t}function h(e){return new Promise(t=>setTimeout(t,e))}async function g(e,t=a){return await n(e.started,t)??!1}async function _(e,t,r=i){await Promise.all([n(e.finished,p(t)),h(r)])}function v(n){let r=n.speaking??e,i=n.subscribe??t;return new Promise(e=>{let t=!1,a=!1,o=()=>{a||(a=!0,c(),clearTimeout(l),e())},s=()=>{t&&!r()&&o()},c=i(s);setTimeout(()=>{t=!0,s()},n.floorMs);let l=setTimeout(o,n.capMs)})}function y(e){let t=e;return typeof t.getAnimations==`function`&&t.getAnimations({subtree:!0}).some(e=>e.playState===`running`)}async function b(e,t=`.card`,i=f){await n((async()=>{await r(),await r();let n=e()?.querySelector(t)??null;for(;!n;)await r(),n=e()?.querySelector(t)??null;for(;y(n);)await r()})(),i)}async function x(e){try{await n((async()=>{await r(),await r(),await n(e.loadFams(),c),e.settle&&await e.settle(),e.wantVoice&&e.firstLine&&await n(e.firstLine.started,o)})(),s)}catch{}}export{b as a,p as c,g as d,v as f,d as i,m as l,u as n,x as o,l as r,h as s,i as t,_ as u};
@@ -85,6 +85,42 @@ Drawn in-repo for Mavéa, so no third-party license applies.
85
85
  | `images/slide-placeholder.svg` | Gradient placeholder tile, slide-lab fixtures |
86
86
  | `images/slide-placeholder-light.svg` | Light-theme variant of the placeholder gradient |
87
87
 
88
+ ## `docs/media` — first-party captures of Mavéa itself
89
+
90
+ These ship in the npm package (`package.json` `files` lists `docs/media`) and illustrate the
91
+ README. They are screenshots of this application rendering its own demo fixtures, plus the mascot
92
+ mark, so no third-party licence attaches to the images themselves. They were reviewed on
93
+ 2026-08-22 and are gated by `tests/credits-completeness.test.ts` from here on, because a screenshot
94
+ is the one asset that can quietly acquire third-party content later.
95
+
96
+ **What a new capture must be checked for**, since the file itself carries no licence metadata:
97
+
98
+ - **A map.** Tiles are OpenFreeMap / OpenMapTiles over OpenStreetMap data, and ODbL attribution is
99
+ MANDATORY — unlike everything else in this file. `canvas/blocks/media/MapAttribution.tsx` renders
100
+ it in-flow precisely so it survives a raster capture; confirm the credit line is legible in the
101
+ image before committing it (`trip-plan.jpg` is the worked example).
102
+ - **A document, photograph, or source file that is not ours.** Demo fixtures are fiction and the
103
+ bundled photos are CC0, so a capture of the app is clean by default — but a screenshot taken
104
+ against a real PDF, a real repository, or a personal account would carry that content's rights
105
+ into a distributed artifact.
106
+
107
+ | File | Subject |
108
+ | ------------------- | -------------------------------------------------------------- |
109
+ | `answer-ink.jpg` | An answer in the Ink template |
110
+ | `canvas-view.jpg` | The canvas view of a conversation |
111
+ | `course-lesson.jpg` | A generated course lesson |
112
+ | `deck-export.jpg` | The export studio previewing a slide |
113
+ | `deep-zoom.jpg` | Deep Zoom on a canvas |
114
+ | `doc-export.jpg` | The export studio previewing a document page |
115
+ | `doc-prism.jpg` | Prism reading the bundled public-domain NASA memorandum |
116
+ | `living-answer.jpg` | The living world over an answer |
117
+ | `repo-course.jpg` | Ripple on the fictional `acme/auth-service` worked example |
118
+ | `think-map.jpg` | Watch Me Think's live map |
119
+ | `trip-plan.jpg` | A trip itinerary — **contains a map; carries its ODbL credit** |
120
+ | `voice-scrub.jpg` | The voice scrubber over an answer |
121
+ | `mascot-dark.svg` | The Mavéa mark, dark |
122
+ | `mascot-light.svg` | The Mavéa mark, light |
123
+
88
124
  ## Hotlinked tour imagery — Wikimedia Commons, CC0 (not bundled)
89
125
 
90
126
  The recorded tour replays reference three photos by URL from Wikimedia Commons; the files
package/dist/index.html CHANGED
@@ -134,7 +134,7 @@
134
134
  }
135
135
  }
136
136
  </style>
137
- <script type="module" crossorigin src="/assets/index-yJfYsjAB.js"></script>
137
+ <script type="module" crossorigin src="/assets/index-BMeoXWPR.js"></script>
138
138
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DkW27tQK.js">
139
139
  <link rel="modulepreload" crossorigin href="/assets/react-BZJXY1be.js">
140
140
  <link rel="modulepreload" crossorigin href="/assets/compiler-runtime-qQQXpJgv.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mavea/mavea",
3
- "version": "2.1.1",
3
+ "version": "2.2.1",
4
4
  "type": "module",
5
5
  "description": "Mavéa — an AI Presence interface. Talk to AI. See what it means.",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- import{r as e}from"./useDashboardLoop-CA3LNVME.js";function t(){return e(),null}export{t as DashboardLoopRuntime};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";import{n as r}from"./blockLabel-FogyzEQY.js";var i=e(),a=class extends i.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error(`[BlockBoundary] block render failed — showing fallback:`,e)}render(){return this.state.failed?this.props.fallback??null:this.props.children}},o=[`text`,`name`,`label`,`title`,`step`,`tip`,`question`,`prompt`,`quote`,`task`,`term`,`line`,`description`],s=[`value`,`val`,`qty`,`amount`,`display`,`stat`,`time`,`detail`],c=new Set([`icon`,`iconColor`,`color`,`colorVar`,`accent`,`id`,`key`,`kind`,`variant`,`src`,`url`,`href`,`image`,`lang`]),l=[`title`,`label`,`heading`,`name`,`question`,`eyebrow`,`caption`],u=14,d=200;function f(e){let t=e.trim().replace(/\s+/g,` `);return t.length>d?t.slice(0,199).trimEnd()+`…`:t}function p(e){return typeof e==`string`&&e.trim().length>=3&&!e.startsWith(`var(--`)&&!/^https?:\/\//.test(e.trim())}function m(e){if(p(e))return f(e);if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=null;for(let e of o)if(p(t[e])){n=f(t[e]);break}if(!n){let e=Object.values(t).filter(p);e.length===1&&(n=f(e[0]))}if(!n)return null;for(let e of s){let r=t[e];if(typeof r==`string`&&r.trim()&&r.trim()!==n||typeof r==`number`)return f(`${n} — ${String(r).trim()}`)}return n}function h(e){if(!e||typeof e!=`object`||Array.isArray(e))return{title:null,lines:[],more:0};let t=e,n=null,r=``;for(let e of l)if(p(t[e])){n=f(t[e]),r=e;break}let i=[];for(let[e,n]of Object.entries(t))if(!(e===r||c.has(e))){if(p(n))i.push(f(n));else if(Array.isArray(n))for(let e of n){let t=m(e);t&&i.push(t)}}let a=Math.max(0,i.length-u);return{title:n,lines:i.slice(0,u),more:a}}var g=t();function _({block:e}){let{lines:t,more:i}=h(e.props);return(0,g.jsxs)(`div`,{className:`card reveal fb-card`,style:{"--delay":(e.delay||0)+`ms`},children:[(0,g.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,g.jsx)(n.layers,{className:`ic`}),` `,r(e)]}),t.length>0&&(0,g.jsxs)(`ul`,{className:`fb-lines`,children:[t.map((e,t)=>(0,g.jsx)(`li`,{className:`fb-line`,children:e},t)),i>0&&(0,g.jsxs)(`li`,{className:`fb-line fb-more`,children:[`+`,i,` more`]})]})]})}export{a as n,_ as t};
@@ -1 +0,0 @@
1
- .vlib{background:var(--surface-deep);height:100dvh;color:var(--text-primary);font-family:var(--font);overflow-y:auto}.vlib-bar{z-index:5;background:color-mix(in oklab, var(--surface-deep) 86%, transparent);-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft);border-bottom:1px solid var(--line-soft);padding:var(--s-lg) var(--s-2xl);position:sticky;top:0}.vlib-bar-top{justify-content:space-between;align-items:flex-end;gap:var(--s-xl);flex-wrap:wrap;max-width:1400px;margin:0 auto;display:flex}.vlib-back{appearance:none;border:1px solid var(--line);border-radius:var(--r-full);color:var(--text-secondary);cursor:pointer;font:13px/1 var(--font);padding:7px var(--s-md);transition:border-color var(--m-fast), color var(--m-fast), background var(--m-fast);white-space:nowrap;background:0 0;flex-shrink:0;align-self:center}.vlib-back:hover{background:var(--surface-glass);border-color:var(--line-strong);color:var(--text-primary)}.vlib-headline h1{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:600}.vlib-subtitle{margin:var(--s-xs) 0 0;color:var(--text-muted);font-size:14px}.vlib-controls{align-items:center;gap:var(--s-sm);flex:320px;max-width:540px;display:flex}.vlib-search{padding:var(--s-sm) var(--s-md);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-default);color:var(--text-primary);font-size:14px;font-family:var(--font);transition:border-color var(--m-fast) var(--ease-out);outline:none;flex:1}.vlib-search:focus{border-color:var(--presence)}.vlib-search::placeholder{color:var(--text-faint)}.vlib-theme{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-default);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--m-fast) var(--ease-out), color var(--m-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.vlib-theme:hover{border-color:var(--line-strong);color:var(--text-primary)}.vlib-theme svg{width:18px;height:18px}.vlib-chips{max-width:1400px;margin:var(--s-md) auto 0;scrollbar-width:none;flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.vlib-chips::-webkit-scrollbar{display:none}.vlib-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-default);color:var(--text-secondary);font-size:12.5px;font-family:var(--font);cursor:pointer;white-space:nowrap;min-height:44px;transition:border-color var(--m-fast) var(--ease-out), background var(--m-fast) var(--ease-out), color var(--m-fast) var(--ease-out);flex-shrink:0;align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.vlib-chip:hover{border-color:var(--line-strong);color:var(--text-primary)}.vlib-chip.active{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 14%, transparent);color:var(--text-primary)}.vlib-chip-n{color:var(--text-faint);font-size:11px}.vlib-chip.active .vlib-chip-n{color:var(--presence)}.vlib-body{max-width:1400px;padding:var(--s-2xl) var(--s-2xl) var(--s-3xl);margin:0 auto}.vlib-section{margin-bottom:var(--s-3xl)}.vlib-section-head{align-items:center;gap:var(--s-sm);margin-bottom:var(--s-lg);padding-bottom:var(--s-sm);border-bottom:1px solid var(--line-soft);display:flex}.vlib-section-head h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0;font-size:15px;font-weight:600}.vlib-count{color:var(--text-faint);background:var(--surface-elevated);border-radius:var(--r-full);padding:2px 9px;font-size:12px}.vlib-grid{gap:var(--s-xl);grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));display:grid}.vlib-tile.vlib-wide{grid-column:span 2}.vlib-tile.vlib-full{grid-column:1/-1}@media (width<=900px){.vlib-tile.vlib-wide,.vlib-tile.vlib-full{grid-column:auto}}.vlib-tile{background:var(--surface-default);border:1px solid var(--line-soft);border-radius:var(--r-lg);transition:border-color var(--m-fast) var(--ease-out);content-visibility:auto;contain-intrinsic-size:auto 280px;flex-direction:column;display:flex;overflow:hidden}.vlib--mountall .vlib-tile{content-visibility:visible}.vlib-tile:hover{border-color:var(--line-strong)}.vlib-tile-head{justify-content:space-between;align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-md);border-bottom:1px solid var(--line-soft);background:var(--surface-elevated);display:flex}.vlib-type{font-family:var(--mono);color:var(--text-primary);font-size:12.5px;font-weight:600}.vlib-fam{color:var(--text-faint);font-size:11px}@media (width<=600px){.vlib-audit{display:none}}@media (width<=640px){.vlib-body{padding:var(--s-lg) var(--s-md) var(--s-2xl)}.vlib-bar,.vlib-render{padding:var(--s-md)}}.vlib-audit{height:38px;padding:0 var(--s-md);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-default);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:border-color var(--m-fast) var(--ease-out), color var(--m-fast) var(--ease-out);flex-shrink:0;font-size:12.5px;font-weight:600}.vlib-audit:hover{border-color:var(--line-strong);color:var(--text-primary)}.vlib-audit.active{border-color:color-mix(in oklab, var(--danger) 50%, var(--line));color:var(--danger)}.vlib-flag{font-family:var(--mono);border-radius:var(--r-sm,6px);padding:1px 6px;font-size:10.5px;font-weight:600}.vlib-flag--clip{color:var(--danger);background:color-mix(in oklab, var(--danger) 14%, transparent)}.vlib-flag--scroll{color:var(--warning);background:color-mix(in oklab, var(--warning) 14%, transparent)}.vlib-tile--clip{border-color:color-mix(in oklab, var(--danger) 55%, var(--line))}.vlib-tile--scroll{border-color:color-mix(in oklab, var(--warning) 50%, var(--line))}.vlib-render{padding:var(--s-lg);min-height:160px;position:relative;overflow:hidden}.vlib-render .canvas-header,.vlib-render .context-row{display:none}.vlib-render .card-grid{display:block}.vlib-render .card-grid>[class*=col-]{width:100%}.vlib-render-error{min-height:120px;padding:var(--s-lg);border:1px solid color-mix(in oklab, var(--danger) 45%, var(--line));border-radius:var(--r-md);color:var(--danger);background:color-mix(in oklab, var(--danger) 8%, var(--surface-default));text-align:center;place-items:center;display:grid}.vlib-render--pending{min-height:220px}.vlib-render--pending:after{content:"";inset:var(--s-lg);border-radius:var(--r-md);background:linear-gradient(100deg, var(--surface-elevated) 0%, var(--surface-glass) 48%, var(--surface-elevated) 100%);position:absolute}.vlib-empty{margin:var(--s-3xl) auto;text-align:center;color:var(--text-muted)}
@@ -1 +0,0 @@
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-xwDjwqxn.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};