zframes 0.8.1 → 0.8.2

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 (211) hide show
  1. package/dist/index.js +1 -3
  2. package/package.json +7 -7
  3. package/runtime/assets/{bitcoin-dominance-BqoH90r5.js → bitcoin-dominance-DQ6fUOfp.js} +1 -1
  4. package/runtime/assets/{breakeven-1Kr-v9pE.js → breakeven-BiMfl0NU.js} +1 -1
  5. package/runtime/assets/{breathing-NOTeAM6N.js → breathing-BQamMTOy.js} +1 -1
  6. package/runtime/assets/{btc-block-size-bars-BgwX4eu_.js → btc-block-size-bars-DbwVb3YX.js} +1 -1
  7. package/runtime/assets/{btc-blocks-D6TscPNp.js → btc-blocks-UZJqCEtB.js} +1 -1
  8. package/runtime/assets/{btc-difficulty-BhSve3vk.js → btc-difficulty-BtNgUCRS.js} +1 -1
  9. package/runtime/assets/{btc-difficulty-chart-Yqxof0b6.js → btc-difficulty-chart-BNT2fdwu.js} +1 -1
  10. package/runtime/assets/{btc-fees-C-Za_OxK.js → btc-fees-CJhybpGO.js} +1 -1
  11. package/runtime/assets/{btc-hashrate-5xnTYpft.js → btc-hashrate-CtKkSA37.js} +1 -1
  12. package/runtime/assets/{btc-mempool-0WFrtuQR.js → btc-mempool-Dvlm6Uqk.js} +1 -1
  13. package/runtime/assets/{calculator-CcLe2vqJ.js → calculator-vMXfcXI8.js} +1 -1
  14. package/runtime/assets/{capital-structure-bars-SEyFIReK.js → capital-structure-bars-B8-6gPY8.js} +1 -1
  15. package/runtime/assets/{chain-activity-CCO3t0hA.js → chain-activity-Dj-2gNmT.js} +1 -1
  16. package/runtime/assets/{chain-activity-bars-DHYCDKWT.js → chain-activity-bars-BKvgXG2Z.js} +1 -1
  17. package/runtime/assets/{chain-activity-scatter-DeusbLku.js → chain-activity-scatter-BQHleuZR.js} +1 -1
  18. package/runtime/assets/{chain-price-movers-SeTwhqsM.js → chain-price-movers-Brvxvf8U.js} +1 -1
  19. package/runtime/assets/{checklist-orMUS_qt.js → checklist-CNXEkmSt.js} +1 -1
  20. package/runtime/assets/{clock-9PqJvMgi.js → clock-Cygi_7Rq.js} +1 -1
  21. package/runtime/assets/{coin-momentum-heatmap-DvfWWzSD.js → coin-momentum-heatmap-1twNsb0f.js} +1 -1
  22. package/runtime/assets/{coin-momentum-scatter-Cf4Y29lp.js → coin-momentum-scatter-DPsgGLFi.js} +1 -1
  23. package/runtime/assets/{coin-movers-D3cmI-tT.js → coin-movers-CVT1PPyM.js} +1 -1
  24. package/runtime/assets/{countdown-tMz3FsXT.js → countdown-DSGwZS9O.js} +1 -1
  25. package/runtime/assets/{custom-data-DPPNQ2QQ.js → custom-data-eTpLXe-p.js} +1 -1
  26. package/runtime/assets/{cycle-signals-DJYUIjas.js → cycle-signals-DjvuKoAs.js} +1 -1
  27. package/runtime/assets/{cycle-valuation-composite-DO_Pda0n.js → cycle-valuation-composite-D2lAreTy.js} +1 -1
  28. package/runtime/assets/{daily-analysis-BVEvATPa.js → daily-analysis-00KQOxaw.js} +1 -1
  29. package/runtime/assets/{day-meter-DmbSq9YK.js → day-meter-VL3CbmZ4.js} +1 -1
  30. package/runtime/assets/{defi-revenue-DPazGCl4.js → defi-revenue-DWs3X1sr.js} +1 -1
  31. package/runtime/assets/{dex-hot-pools-BeuuV2Cj.js → dex-hot-pools-Btjw9uOK.js} +1 -1
  32. package/runtime/assets/{dex-pool-bubbles-BLUbqZ4v.js → dex-pool-bubbles-DOWGPgDC.js} +1 -1
  33. package/runtime/assets/{dex-pool-liquidity-scatter-Civ63yej.js → dex-pool-liquidity-scatter-DBqKeUjl.js} +1 -1
  34. package/runtime/assets/{dex-pool-treemap-ecoWHB8O.js → dex-pool-treemap-Dev3WsvG.js} +1 -1
  35. package/runtime/assets/{dex-volume-bubbles-CX9SfXmZ.js → dex-volume-bubbles-C9INGAs-.js} +1 -1
  36. package/runtime/assets/{dex-volume-chart-Bgdepem0.js → dex-volume-chart-CdhI9ySp.js} +1 -1
  37. package/runtime/assets/{dex-volume-share-area-uDfe8wQZ.js → dex-volume-share-area-DblxtqOC.js} +1 -1
  38. package/runtime/assets/{dex-volume-treemap-BlrxYmk-.js → dex-volume-treemap-LweUYNfn.js} +1 -1
  39. package/runtime/assets/{dice-BOUHMLs6.js → dice-CRJFRdlS.js} +1 -1
  40. package/runtime/assets/{dino-game-BBIAIplk.js → dino-game-DIj8Xqmq.js} +1 -1
  41. package/runtime/assets/{divider-B-nMbdhH.js → divider-C0PhyAZz.js} +1 -1
  42. package/runtime/assets/{dominance-bars-BjKMZR8V.js → dominance-bars-CNztOXI9.js} +1 -1
  43. package/runtime/assets/{dominance-gauge-DVITO-Eg.js → dominance-gauge-BSlVu-kG.js} +1 -1
  44. package/runtime/assets/{drawdy-gpdcuxey.js → drawdy-UVwx54Tz.js} +1 -1
  45. package/runtime/assets/{dxy-DfHaYZsj.js → dxy-DDnItBY-.js} +1 -1
  46. package/runtime/assets/{dxy-chart-CidtFThk.js → dxy-chart-CbyyyRdn.js} +1 -1
  47. package/runtime/assets/{editor-yifYG0tI.js → editor-CpgNu0wu.js} +1 -1
  48. package/runtime/assets/{etf-flow-bars-NYq3d_-U.js → etf-flow-bars-Dknb70p4.js} +1 -1
  49. package/runtime/assets/{etf-flow-calendar-BI18BrWM.js → etf-flow-calendar-DXTg-p2v.js} +1 -1
  50. package/runtime/assets/{etf-flows-cufmZrd_.js → etf-flows-D7WwvrYS.js} +1 -1
  51. package/runtime/assets/{etf-flows-chart-BzKKqHh4.js → etf-flows-chart-D_Ts_7Bc.js} +1 -1
  52. package/runtime/assets/{etf-issuer-bars-Dl9H_CZC.js → etf-issuer-bars-B5q3WXIk.js} +1 -1
  53. package/runtime/assets/{etf-issuer-treemap-IhYjIP-y.js → etf-issuer-treemap-hdTKUL3C.js} +1 -1
  54. package/runtime/assets/{eth-issuance-impact-BLHuDvGQ.js → eth-issuance-impact-CSucvUy4.js} +1 -1
  55. package/runtime/assets/{eth-staking-CzidwFMK.js → eth-staking-Yp_RzOHD.js} +1 -1
  56. package/runtime/assets/{eth-supply-C7KDK-97.js → eth-supply-jf4tRC80.js} +1 -1
  57. package/runtime/assets/{fear-greed-DTLHRhif.js → fear-greed-BrDutlol.js} +1 -1
  58. package/runtime/assets/{fear-greed-chart-N1vM_QJ7.js → fear-greed-chart-BPAfnROs.js} +1 -1
  59. package/runtime/assets/{filings-feed-Dpz6nWMU.js → filings-feed-BrtWoUaf.js} +1 -1
  60. package/runtime/assets/{filings-mix-7ykY8NsE.js → filings-mix-D8Z-fvzY.js} +1 -1
  61. package/runtime/assets/{financial-stress-BcnDhPO4.js → financial-stress-DaxcQDnz.js} +1 -1
  62. package/runtime/assets/{flappy-bird-Vp7j7ceN.js → flappy-bird-M38jNjAd.js} +1 -1
  63. package/runtime/assets/{fundamentals-BIesVoJt.js → fundamentals-TlBRBKFV.js} +1 -1
  64. package/runtime/assets/{funding-bars-BNVCUVqC.js → funding-bars-BPDrsC0K.js} +1 -1
  65. package/runtime/assets/{funding-carry-area-BqCrQOi5.js → funding-carry-area-BZRpyy3L.js} +1 -1
  66. package/runtime/assets/{funding-comparison-BynnnDDf.js → funding-comparison-C1OOzJw-.js} +1 -1
  67. package/runtime/assets/{funding-crowding-scatter-BTzQUtFn.js → funding-crowding-scatter-DDjzoq8v.js} +1 -1
  68. package/runtime/assets/{funding-heatmap-DUOcDAeX.js → funding-heatmap-DqnJJPw0.js} +1 -1
  69. package/runtime/assets/{funding-leaderboard-bars-CpYvO_Cs.js → funding-leaderboard-bars-CrQMBbY7.js} +1 -1
  70. package/runtime/assets/{funding-rate-chart-CANXPS3a.js → funding-rate-chart-dYIjvTBt.js} +1 -1
  71. package/runtime/assets/{funding-spread-bars-BgA-vSh-.js → funding-spread-bars-CRoG-zHf.js} +1 -1
  72. package/runtime/assets/{funding-venue-heatmap-jKiQGgLb.js → funding-venue-heatmap-DA0JsXzA.js} +1 -1
  73. package/runtime/assets/{fx-board-CTnlbWGJ.js → fx-board-C_h1IJJy.js} +1 -1
  74. package/runtime/assets/{fx-cross-heatmap-CDORG9Cx.js → fx-cross-heatmap-CLHkKvsB.js} +1 -1
  75. package/runtime/assets/{fx-movers-bars-WKvSm3Ry.js → fx-movers-bars-_U6XrETl.js} +1 -1
  76. package/runtime/assets/{fx-trend-chart-uITTwyv8.js → fx-trend-chart-Cdi-lmjx.js} +1 -1
  77. package/runtime/assets/{heading-Cidi7R-_.js → heading-BS9IhuAM.js} +1 -1
  78. package/runtime/assets/{hero-number-p8eaQmkA.js → hero-number-R-27T2n_.js} +1 -1
  79. package/runtime/assets/{holiday-calendar-ErapPWhY.js → holiday-calendar-BxcU0Y64.js} +1 -1
  80. package/runtime/assets/{image-BQQ0gSaW.js → image-HcDu9YKF.js} +1 -1
  81. package/runtime/assets/{image-gallery-CNa-8BAA.js → image-gallery-BCXhCjqj.js} +1 -1
  82. package/runtime/assets/{index-BHlJHScr.js → index-BJ1Zyy42.js} +36 -36
  83. package/runtime/assets/{inflation-pulse-B54HwpAO.js → inflation-pulse-BDmh42Nq.js} +1 -1
  84. package/runtime/assets/{journal-log-0CruSC_H.js → journal-log-BKsmm4ZL.js} +1 -1
  85. package/runtime/assets/{journal-open-DIwxMMCH.js → journal-open-CQtXIVzV.js} +1 -1
  86. package/runtime/assets/{journal-results-BM_i_JJ3.js → journal-results-BBhWJDi4.js} +1 -1
  87. package/runtime/assets/{journal-score-He6DdYtU.js → journal-score-DRmD6tOH.js} +1 -1
  88. package/runtime/assets/{journal-ui-CP9YblNJ.js → journal-ui-YZ5om8r6.js} +1 -1
  89. package/runtime/assets/{labor-force-flow-8HLQsbKV.js → labor-force-flow-B-8gZXZw.js} +1 -1
  90. package/runtime/assets/{labor-market-If23zBQK.js → labor-market-C6nbrubk.js} +1 -1
  91. package/runtime/assets/{lightning-stats-DhrfBtX6.js → lightning-stats-cbygNRrq.js} +1 -1
  92. package/runtime/assets/{link-grid-CsnxpE4z.js → link-grid-C0BQkbQ9.js} +1 -1
  93. package/runtime/assets/{liquidity-basis-bars-CaU5YtBA.js → liquidity-basis-bars-Dd5FSjDX.js} +1 -1
  94. package/runtime/assets/{ma-multiplier-BBN7qsdV.js → ma-multiplier-CrY1aFKX.js} +1 -1
  95. package/runtime/assets/{macro-calendar-cKBRneX9.js → macro-calendar-D9MJ74wW.js} +1 -1
  96. package/runtime/assets/{market-bubbles-BKNkvOTg.js → market-bubbles-BKLV2VSd.js} +1 -1
  97. package/runtime/assets/{market-cap-treemap-BSBU8mjq.js → market-cap-treemap-B9af5p9K.js} +1 -1
  98. package/runtime/assets/{market-hours-B10lWec_.js → market-hours-jJUnunAF.js} +1 -1
  99. package/runtime/assets/{market-scatter-CVUa4ZQ_.js → market-scatter-_f6FvF2I.js} +1 -1
  100. package/runtime/assets/{marquee-BS_quB4S.js → marquee-CJGebjBa.js} +1 -1
  101. package/runtime/assets/{mayer-multiple-iiKonfXX.js → mayer-multiple-DcxCnx6X.js} +1 -1
  102. package/runtime/assets/{mempool-fee-curve-CQ4nzab8.js → mempool-fee-curve-yI10fMrE.js} +1 -1
  103. package/runtime/assets/{mining-pools-DROnvkZS.js → mining-pools-SIhc1qJ_.js} +1 -1
  104. package/runtime/assets/{mining-pools-share-BhHh0hUJ.js → mining-pools-share-DQSjhlWH.js} +1 -1
  105. package/runtime/assets/{misery-index-DpG7yLgX.js → misery-index-p5iEl6PS.js} +1 -1
  106. package/runtime/assets/{mover-row-Bz-YpFL3.js → mover-row-_czAON2U.js} +1 -1
  107. package/runtime/assets/{movers-bars-CEFjsHnv.js → movers-bars-clMvsESM.js} +1 -1
  108. package/runtime/assets/{movers-bubbles-C-SriZvR.js → movers-bubbles-CnHOfNZx.js} +1 -1
  109. package/runtime/assets/{mvrv-Cg0t6U5X.js → mvrv-x4gyjhWx.js} +1 -1
  110. package/runtime/assets/{mvrv-zscore-chart-qyOkheJb.js → mvrv-zscore-chart-BT3IGmGY.js} +1 -1
  111. package/runtime/assets/{national-debt-BRX09_U_.js → national-debt-DNtVgcl5.js} +1 -1
  112. package/runtime/assets/{news-feed-DQHSPzk5.js → news-feed-BVfKqSh7.js} +1 -1
  113. package/runtime/assets/{nft-activity-bars-BmNs4RMC.js → nft-activity-bars-lFRednN3.js} +1 -1
  114. package/runtime/assets/{nft-bubbles-0f9wAld0.js → nft-bubbles-ClNH9-_X.js} +1 -1
  115. package/runtime/assets/{nft-collections-Czp0t7ZU.js → nft-collections-B9RW4PJG.js} +1 -1
  116. package/runtime/assets/{nft-scatter-BHULn6_-.js → nft-scatter--MbPsUx4.js} +1 -1
  117. package/runtime/assets/{nft-treemap-D2Kj3AuL.js → nft-treemap-DBkTmq6-.js} +1 -1
  118. package/runtime/assets/{note-BdVtsqXo.js → note-BhUZxKk8.js} +1 -1
  119. package/runtime/assets/{nupl-BrK2rcgi.js → nupl-D3l-QZE3.js} +1 -1
  120. package/runtime/assets/{nupl-cycle-chart-BlXOLj4A.js → nupl-cycle-chart-BskEKMiX.js} +1 -1
  121. package/runtime/assets/{nyfed-fed-funds-band-gauge-DnzVhh9I.js → nyfed-fed-funds-band-gauge-CyShM9Rb.js} +1 -1
  122. package/runtime/assets/{nyfed-reference-rate-bars-CxLwUFUY.js → nyfed-reference-rate-bars-WKmIeI9B.js} +1 -1
  123. package/runtime/assets/{nyfed-sofr-term-averages-bars-DxzLVO9o.js → nyfed-sofr-term-averages-bars-BXymij4O.js} +1 -1
  124. package/runtime/assets/{ofr-stress-category-area-TXpXiMP-.js → ofr-stress-category-area-Cq2zYtm9.js} +1 -1
  125. package/runtime/assets/{ohlcv-volume-bars-BQZiJJ3u.js → ohlcv-volume-bars-BqgMyH4V.js} +1 -1
  126. package/runtime/assets/{oi-treemap-BEusAMZU.js → oi-treemap-Bu6FQGPf.js} +1 -1
  127. package/runtime/assets/{onchain-oscillator-overlay-BPa_jULR.js → onchain-oscillator-overlay-BETEO4VQ.js} +1 -1
  128. package/runtime/assets/{open-interest-BqO1-ZYo.js → open-interest-DPwK2Vft.js} +1 -1
  129. package/runtime/assets/{options-flow-skew-Cy0SUhs0.js → options-flow-skew-CLWqzUM0.js} +1 -1
  130. package/runtime/assets/{options-iv-RsCKjmmC.js → options-iv-tjSjFT91.js} +1 -1
  131. package/runtime/assets/{options-max-pain-multi-BLfX8Qe6.js → options-max-pain-multi-bMgyJ7e8.js} +1 -1
  132. package/runtime/assets/{options-max-pain-B2pA7KJP.js → options-max-pain-v6hCUt4V.js} +1 -1
  133. package/runtime/assets/{options-oi-ladder-heatmap-Do8eYI3h.js → options-oi-ladder-heatmap-M34leT_q.js} +1 -1
  134. package/runtime/assets/{options-oi-skew-D869gcp7.js → options-oi-skew-DxGLV4Co.js} +1 -1
  135. package/runtime/assets/{options-oi-strike-CKWXk22Q.js → options-oi-strike-CoVTVWcx.js} +1 -1
  136. package/runtime/assets/{options-put-call-DcSwyIIX.js → options-put-call-fRylJJIM.js} +1 -1
  137. package/runtime/assets/{options-vol-smile-CqP0-CSw.js → options-vol-smile-DsHa2Bug.js} +1 -1
  138. package/runtime/assets/{options-vol-spread-DMXdphxM.js → options-vol-spread-BB1X9lml.js} +1 -1
  139. package/runtime/assets/{payrolls-bars-15U_DxmS.js → payrolls-bars-CQOZQEvE.js} +1 -1
  140. package/runtime/assets/{pi-cycle-tqHUEYSe.js → pi-cycle-BTdRfEfm.js} +1 -1
  141. package/runtime/assets/{pomodoro-DSswMPuv.js → pomodoro-lYAXlnH5.js} +1 -1
  142. package/runtime/assets/{portfolio-allocation-DHN6r6fl.js → portfolio-allocation-CJCJ-fv5.js} +1 -1
  143. package/runtime/assets/{portfolio-common-e3o9U7qd.js → portfolio-common-BMRwgiXd.js} +1 -1
  144. package/runtime/assets/{portfolio-holdings-Bf6vOm0e.js → portfolio-holdings-BwUpyolL.js} +1 -1
  145. package/runtime/assets/{portfolio-movers-DmaGwFtS.js → portfolio-movers-CGcHyyU9.js} +1 -1
  146. package/runtime/assets/{portfolio-value-DLQHtwCl.js → portfolio-value--mB-D1zn.js} +1 -1
  147. package/runtime/assets/{portfolio-value-bars-B8XP7r22.js → portfolio-value-bars-C1sg3z_9.js} +1 -1
  148. package/runtime/assets/{prediction-market-bars-Du1RxZc_.js → prediction-market-bars-CV7qn0TK.js} +1 -1
  149. package/runtime/assets/{prediction-market-scatter-bdlr6r_V.js → prediction-market-scatter-vvAyUSMc.js} +1 -1
  150. package/runtime/assets/{prediction-markets-DNDg43g9.js → prediction-markets-Dj5pUGQ9.js} +1 -1
  151. package/runtime/assets/{prediction-markets-bubble-ccP01yj3.js → prediction-markets-bubble-Dy58nx5D.js} +1 -1
  152. package/runtime/assets/{price-chart-Cw8OXmKH.js → price-chart-BWVJKy6l.js} +1 -1
  153. package/runtime/assets/{price-compare-txGWDCHD.js → price-compare-X_somRkJ.js} +1 -1
  154. package/runtime/assets/{price-liveline-F7uJKuTS.js → price-liveline-BcfvYH4i.js} +1 -1
  155. package/runtime/assets/{price-ticker-DQFyiHmW.js → price-ticker-Dp5X5iEE.js} +1 -1
  156. package/runtime/assets/{protocol-fees-bubbles-oV66t8AJ.js → protocol-fees-bubbles-cOlmopfM.js} +1 -1
  157. package/runtime/assets/{protocol-fees-treemap-CsZhFjxB.js → protocol-fees-treemap-k3DCqpib.js} +1 -1
  158. package/runtime/assets/{protocol-fees-vs-tvl-scatter-CtLKoDeh.js → protocol-fees-vs-tvl-scatter-DE0XqWUP.js} +1 -1
  159. package/runtime/assets/{protocol-tvl-bubbles-CuULi2KY.js → protocol-tvl-bubbles-C_y8RNpr.js} +1 -1
  160. package/runtime/assets/{protocol-tvl-by-category-BV2yIdZ_.js → protocol-tvl-by-category-CU3EhtYv.js} +1 -1
  161. package/runtime/assets/{protocol-tvl-chart-BRPlR_kj.js → protocol-tvl-chart-BSjYp87K.js} +1 -1
  162. package/runtime/assets/{protocol-tvl-share-area-BeWSgocA.js → protocol-tvl-share-area-A9uUDjqD.js} +1 -1
  163. package/runtime/assets/{protocol-tvl-treemap-BYECslhG.js → protocol-tvl-treemap-DK99PI9E.js} +1 -1
  164. package/runtime/assets/{puell-multiple-akyTNZyp.js → puell-multiple-DUwx8WAi.js} +1 -1
  165. package/runtime/assets/{put-call-gauge-CwrHYfdq.js → put-call-gauge-wPFbaG0I.js} +1 -1
  166. package/runtime/assets/{quote-6JmbHxfg.js → quote-BEXrdAL4.js} +1 -1
  167. package/runtime/assets/{rates-board-CiY6mWMz.js → rates-board-Bo-1vZL3.js} +1 -1
  168. package/runtime/assets/{real-wages-BTBOxvjP.js → real-wages-DFbQjlXf.js} +1 -1
  169. package/runtime/assets/{realized-price-CbjZ3Sqj.js → realized-price-C7sCYZ-5.js} +1 -1
  170. package/runtime/assets/{reserve-risk-UlEv8oS1.js → reserve-risk-CYWr6Bnu.js} +1 -1
  171. package/runtime/assets/{returns-projector-qPZeZ-n9.js → returns-projector-Bitu8mA2.js} +1 -1
  172. package/runtime/assets/{risk-reward-DWcu9j4_.js → risk-reward-5CA4dPWK.js} +1 -1
  173. package/runtime/assets/{rsi-momentum-BuasFcVH.js → rsi-momentum-BdScXy4t.js} +1 -1
  174. package/runtime/assets/{rules-card-DkjHPbht.js → rules-card-BxdIuORn.js} +1 -1
  175. package/runtime/assets/{sector-bars-JKmedArM.js → sector-bars-B4Nabix2.js} +1 -1
  176. package/runtime/assets/{sector-bubbles-DLXckuua.js → sector-bubbles-D_s1FnKb.js} +1 -1
  177. package/runtime/assets/{sector-performance-C_2-xbIq.js → sector-performance-C8K8FBsp.js} +1 -1
  178. package/runtime/assets/{sector-treemap-DquBCyc3.js → sector-treemap-DOn3li5j.js} +1 -1
  179. package/runtime/assets/{sentiment-gauge-CuNvuk1q.js → sentiment-gauge-D-TyqTrT.js} +1 -1
  180. package/runtime/assets/{session-progress-BDhJHQEn.js → session-progress-2uZKU_tb.js} +1 -1
  181. package/runtime/assets/{short-volume-Deb7fra_.js → short-volume-DrAqZxL_.js} +1 -1
  182. package/runtime/assets/{short-volume-bars-DRjpg7RS.js → short-volume-bars-D0tDnbRp.js} +1 -1
  183. package/runtime/assets/{snake-B9EEDroM.js → snake-CPrCYXRC.js} +1 -1
  184. package/runtime/assets/{sopr-DM_gpDem.js → sopr-CL-DcV9H.js} +1 -1
  185. package/runtime/assets/{spotify-embed-Dxt1RnUX.js → spotify-embed-Cuyo3WcD.js} +1 -1
  186. package/runtime/assets/{stablecoin-chains-LzYMilQE.js → stablecoin-chains-BNyBP4r7.js} +1 -1
  187. package/runtime/assets/{stablecoin-supply-69kqOBoU.js → stablecoin-supply-CDoJSW65.js} +1 -1
  188. package/runtime/assets/{stopwatch-ClPrrveo.js → stopwatch-C5UbM7BR.js} +1 -1
  189. package/runtime/assets/{top-movers-BRiiYOPQ.js → top-movers-n7gjNCAB.js} +1 -1
  190. package/runtime/assets/{treasury-auction-demand-scatter-yYNPz1VC.js → treasury-auction-demand-scatter-B2GgfweB.js} +1 -1
  191. package/runtime/assets/{treasury-auction-size-bars-CGD6MeAz.js → treasury-auction-size-bars-RSKrqPZN.js} +1 -1
  192. package/runtime/assets/{treasury-auctions-Z_4MtXmL.js → treasury-auctions-DmhLNhux.js} +1 -1
  193. package/runtime/assets/{treasury-avg-rate-bars-FXGz1a7e.js → treasury-avg-rate-bars-CHo7_TZ6.js} +1 -1
  194. package/runtime/assets/{treasury-debt-composition-area-5yRh0K6a.js → treasury-debt-composition-area-D9TIg2Fu.js} +1 -1
  195. package/runtime/assets/{trending-bars-z_cjmEXN.js → trending-bars-CFUOf_2T.js} +1 -1
  196. package/runtime/assets/{trending-bubbles-nwoxKQEW.js → trending-bubbles-CWixlrYZ.js} +1 -1
  197. package/runtime/assets/{trending-coins-9vrbEbBm.js → trending-coins-XmlyMu9W.js} +1 -1
  198. package/runtime/assets/{tvl-bars-BkJcttcu.js → tvl-bars-CMr0p3wy.js} +1 -1
  199. package/runtime/assets/{tvl-bubbles-D4tahOC6.js → tvl-bubbles-CBwy6njm.js} +1 -1
  200. package/runtime/assets/{tvl-treemap-B7kWI7o0.js → tvl-treemap-Df9Sw5pQ.js} +1 -1
  201. package/runtime/assets/{video-Dsc13Zja.js → video-Cb7G8kra.js} +1 -1
  202. package/runtime/assets/{volume-movers-scatter-BA8Wmoil.js → volume-movers-scatter-MwF5sr-K.js} +1 -1
  203. package/runtime/assets/{volume-profile-DcSNvDqP.js → volume-profile-DM349em1.js} +1 -1
  204. package/runtime/assets/{volume-share-donut-3MenMO-V.js → volume-share-donut-FMessqoh.js} +1 -1
  205. package/runtime/assets/{yield-composition-scatter-rfxC16n2.js → yield-composition-scatter-51jp_MgP.js} +1 -1
  206. package/runtime/assets/{yield-curve-DXsfXy4P.js → yield-curve-WOaDSVNR.js} +1 -1
  207. package/runtime/assets/{yield-momentum-bars-B9nKuItO.js → yield-momentum-bars-0hhg35dJ.js} +1 -1
  208. package/runtime/assets/{yield-risk-pie-DUxkXYIQ.js → yield-risk-pie-mBxQGJN1.js} +1 -1
  209. package/runtime/assets/{yield-scanner-sCBXpQTV.js → yield-scanner-DTDsWH9C.js} +1 -1
  210. package/runtime/assets/{yield-scatter-BZHOhFcm.js → yield-scatter-BkeRhOK4.js} +1 -1
  211. package/runtime/index.html +1 -1
@@ -1 +1 @@
1
- import{r as f,j as t}from"./react-qoZPGuNy.js";import{a as p,c as j}from"./format-DxkEZcwQ.js";import{f as w,a3 as y,S}from"./index-BHlJHScr.js";import{F as v}from"./ui-Bq3RQsdJ.js";import{M as P}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";y.schema;const F="CUUR0000SA0";function g(n,o){return!o||o<=0?null:(n/o-1)*100}function I({config:n}){const x=new Date().getUTCFullYear(),C=x-2,{series:e,isLoading:N}=S(F,C,x),a=f.useMemo(()=>((e==null?void 0:e.points)??[]).slice(-n.months),[n.months,e==null?void 0:e.points]),s=a.at(-1),r=a.at(-2),c=s?a.find(i=>{const h=new Date(i.time),u=new Date(s.time);return h.getUTCFullYear()===u.getUTCFullYear()-1&&h.getUTCMonth()===u.getUTCMonth()}):void 0,b=f.useMemo(()=>a.map(i=>({date:new Date(i.time).toISOString(),value:i.value})),[a]);if(N)return t.jsx(v,{loading:!0,children:"loading CPI…"});if(!e||!s)return t.jsx(v,{children:"no CPI data yet"});const l=g(s.value,r==null?void 0:r.value),d=g(s.value,c==null?void 0:c.value),m=j(d??l??0);return t.jsxs("div",{className:"flex h-full flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"BLS CPI-U"}),t.jsx("div",{className:"body-sm text-normal",children:s.date})]}),t.jsx("div",{className:"caption text-soft text-right",children:"monthly"})]}),t.jsxs("div",{className:"flex items-end justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"metric-xl leading-none",style:{color:m,textShadow:`0 0 24px ${m}44`},children:d!==null?p(d):"--"}),t.jsx("div",{className:"caption text-soft mt-1",children:"year over year"})]}),t.jsxs("div",{className:"text-right",children:[t.jsx("div",{className:"caption text-soft",children:"index"}),t.jsx("div",{className:"body-md text-strong font-bold tabular-nums",children:s.value.toFixed(3)}),t.jsx("div",{className:"caption text-soft mt-2",children:"month over month"}),t.jsx("div",{className:"body-md font-bold tabular-nums",style:{color:j(l??0)},children:l!==null?p(l):"--"})]})]}),t.jsx(P,{data:b,width:210,height:46,color:m}),t.jsxs("div",{className:"caption text-soft",children:[e.label," · ",a.length," monthly observations"]})]})}const _=w({...y,component:I});export{_ as inflationPulseFrame};
1
+ import{r as f,j as t}from"./react-qoZPGuNy.js";import{a as p,c as j}from"./format-DxkEZcwQ.js";import{f as w,a3 as y,S}from"./index-BJ1Zyy42.js";import{F as v}from"./ui-Bq3RQsdJ.js";import{M as P}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";y.schema;const F="CUUR0000SA0";function g(n,o){return!o||o<=0?null:(n/o-1)*100}function I({config:n}){const x=new Date().getUTCFullYear(),C=x-2,{series:e,isLoading:N}=S(F,C,x),a=f.useMemo(()=>((e==null?void 0:e.points)??[]).slice(-n.months),[n.months,e==null?void 0:e.points]),s=a.at(-1),r=a.at(-2),c=s?a.find(i=>{const h=new Date(i.time),u=new Date(s.time);return h.getUTCFullYear()===u.getUTCFullYear()-1&&h.getUTCMonth()===u.getUTCMonth()}):void 0,b=f.useMemo(()=>a.map(i=>({date:new Date(i.time).toISOString(),value:i.value})),[a]);if(N)return t.jsx(v,{loading:!0,children:"loading CPI…"});if(!e||!s)return t.jsx(v,{children:"no CPI data yet"});const l=g(s.value,r==null?void 0:r.value),d=g(s.value,c==null?void 0:c.value),m=j(d??l??0);return t.jsxs("div",{className:"flex h-full flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"BLS CPI-U"}),t.jsx("div",{className:"body-sm text-normal",children:s.date})]}),t.jsx("div",{className:"caption text-soft text-right",children:"monthly"})]}),t.jsxs("div",{className:"flex items-end justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"metric-xl leading-none",style:{color:m,textShadow:`0 0 24px ${m}44`},children:d!==null?p(d):"--"}),t.jsx("div",{className:"caption text-soft mt-1",children:"year over year"})]}),t.jsxs("div",{className:"text-right",children:[t.jsx("div",{className:"caption text-soft",children:"index"}),t.jsx("div",{className:"body-md text-strong font-bold tabular-nums",children:s.value.toFixed(3)}),t.jsx("div",{className:"caption text-soft mt-2",children:"month over month"}),t.jsx("div",{className:"body-md font-bold tabular-nums",style:{color:j(l??0)},children:l!==null?p(l):"--"})]})]}),t.jsx(P,{data:b,width:210,height:46,color:m}),t.jsxs("div",{className:"caption text-soft",children:[e.label," · ",a.length," monthly observations"]})]})}const _=w({...y,component:I});export{_ as inflationPulseFrame};
@@ -1 +1 @@
1
- import{r as a,j as s}from"./react-qoZPGuNy.js";import{f as G,x as U,y as P,z as H,h as c,A as _}from"./index-BHlJHScr.js";import{i as $}from"./content-shared-BZ1XzrJx.js";import{e as M,a as J,c as K,U as q,D as X}from"./format-DxkEZcwQ.js";import{C as Y,d as F,a as V,l as Z}from"./journal-store-DVDSxNMj.js";import{s as ee}from"./ui-Bq3RQsdJ.js";const se=["xyz:*"],I=v=>Object.entries(v).filter(([,t])=>t.markPx>0).map(([t])=>t).sort((t,m)=>c(t).localeCompare(c(m)));U.schema;const T=[{label:"funding reset",cls:"mean-reversion"},{label:"oversold bounce",cls:"mean-reversion"},{label:"range reclaim",cls:"mean-reversion"},{label:"breakout",cls:"breakout"},{label:"momentum / trend",cls:"breakout"},{label:"positioning flush",cls:"positioning"},{label:"catalyst / earnings",cls:"macro"}];function te(v){var R;const[t,m]=a.useState("xyz:TSLA"),[j,Q]=a.useState("long"),[N,C]=a.useState(!1),[p,k]=a.useState(""),[x,S]=a.useState(null),[b,w]=a.useState(""),[h,W]=a.useState(65),[L,O]=a.useState(!1),i=P(se,6e4),u=P(void 0,6e4),z=a.useMemo(()=>({...u,...i}),[u,i]),d=a.useMemo(()=>[...I(i),...I(u)],[i,u]),B=H([t]),f=e=>{var l;return B[e]??((l=z[e])==null?void 0:l.markPx)},g=f(t),y=(R=z[t])==null?void 0:R.changePct,o=x!=null?T[x]:null,n=o?Y[o.cls]:null,A=n?n.hits/n.n>=.55:!0,D=a.useMemo(()=>{const e=p.trim().toLowerCase();return(e?d.filter(r=>c(r).toLowerCase().includes(e)):d).slice(0,80)},[p,d]);function E(){if(!o)return;const e=b.trim()?`${o.label} — ${b.trim()}`:o.label;Z({sym:t,dir:j,confidence:h,claim:e,cls:o.cls,entry:g}),S(null),w(""),O(!0),window.setTimeout(()=>O(!1),1100)}return s.jsxs("div",{className:"flex h-full flex-col gap-2.5",children:[s.jsxs("div",{className:"relative",children:[s.jsxs("button",{type:"button",onClick:()=>C(e=>!e),className:`flex w-full items-center gap-2 px-2.5 py-2 ${$}`,children:[s.jsx(_,{symbol:t,size:20}),s.jsx("span",{className:"body-md text-strong font-semibold",children:c(t)}),s.jsxs("span",{className:"ml-auto flex items-baseline gap-2 tabular-nums",children:[s.jsx("span",{className:"body-sm text-strong",children:g!=null?M(g):"…"}),y!=null&&s.jsx("span",{className:"caption",style:{color:K(y)},children:J(y)})]}),s.jsx("span",{className:"caption text-disabled ml-1",children:N?"▲":"▼"})]}),N&&s.jsxs("div",{className:"absolute left-0 right-0 top-full z-50 mt-1 flex flex-col gap-1 rounded-md p-1.5 shadow-xl",style:{background:"hsl(248 32% 9%)",border:"1px solid var(--color-accent-line)"},children:[s.jsx("input",{autoFocus:!0,value:p,onChange:e=>k(e.target.value),placeholder:"search ticker…",className:"body-sm w-full rounded bg-white/[0.05] px-2 py-1.5 text-strong outline-none placeholder:text-disabled"}),s.jsxs("div",{className:`flex max-h-44 flex-col ${ee}`,children:[D.map(e=>s.jsxs("button",{type:"button",onClick:()=>{m(e),C(!1),k("")},className:"flex items-center gap-2 rounded px-2 py-1.5 transition-colors hover:bg-white/[0.06]",children:[s.jsx(_,{symbol:e,size:16}),s.jsx("span",{className:"body-sm text-normal",children:c(e)}),s.jsx("span",{className:"caption text-soft ml-auto tabular-nums",children:f(e)!=null?M(f(e)):"—"})]},e)),D.length===0&&s.jsx("span",{className:"caption text-disabled px-2 py-2",children:d.length===0?"loading universe…":"no Hyperliquid market for that"})]})]})]}),s.jsx("div",{className:"flex items-center gap-2",children:["long","short"].map(e=>{const l=j===e;return s.jsx("button",{type:"button",onClick:()=>Q(e),className:"body-sm flex-1 rounded-md py-1.5 font-bold uppercase tracking-wide transition-colors",style:{color:l?F(e):"var(--color-soft)",background:l?"var(--color-surface)":"rgba(255,255,255,0.03)",border:`1px solid ${l?F(e)+"55":"transparent"}`},children:e},e)})}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:T.map((e,l)=>{const r=x===l;return s.jsx("button",{type:"button",onClick:()=>S(r?null:l),className:"caption rounded-full px-2.5 py-1 transition-colors",style:{color:r?"var(--color-strong)":"var(--color-soft)",background:r?"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.3)":"rgba(255,255,255,0.04)",border:`1px solid ${r?"var(--color-accent-line)":"transparent"}`},children:e.label},e.label)})}),s.jsx("input",{value:b,onChange:e=>w(e.target.value),onKeyDown:e=>e.key==="Enter"&&E(),placeholder:"add a note (optional)",className:`body-sm w-full rounded-md px-2.5 py-1.5 text-strong outline-none placeholder:text-disabled ${$}`}),n&&s.jsxs("span",{className:"caption",style:{color:A?q:X},children:["your last ",n.n," ",V[o.cls]," calls: ",n.hits,"/",n.n,A?" · your edge":" · a leak — size down"]}),s.jsxs("div",{className:"mt-auto flex items-center gap-2.5",children:[s.jsx("span",{className:"caption text-disabled",children:"how sure"}),s.jsx("input",{type:"range",min:50,max:95,step:1,value:h,onChange:e=>W(Number(e.target.value)),className:"h-1 flex-1 cursor-pointer",style:{accentColor:"hsl(var(--zf-accent-hue, 242) 85% 68%)"}}),s.jsxs("span",{className:"body-sm text-strong w-9 tabular-nums",children:[h,"%"]}),s.jsx("button",{type:"button",onClick:E,disabled:!o,className:"caption rounded px-3 py-1.5 font-bold uppercase tracking-wide transition-opacity disabled:opacity-40",style:{color:"var(--color-strong)",background:L?q+"55":"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.35)"},children:L?"logged ✓":"log"})]})]})}const ie=G({...U,component:te});export{ie as journalLogFrame};
1
+ import{r as a,j as s}from"./react-qoZPGuNy.js";import{f as G,x as U,y as P,z as H,h as c,A as _}from"./index-BJ1Zyy42.js";import{i as $}from"./content-shared-BZ1XzrJx.js";import{e as M,a as J,c as K,U as q,D as X}from"./format-DxkEZcwQ.js";import{C as Y,d as F,a as V,l as Z}from"./journal-store-DVDSxNMj.js";import{s as ee}from"./ui-Bq3RQsdJ.js";const se=["xyz:*"],I=v=>Object.entries(v).filter(([,t])=>t.markPx>0).map(([t])=>t).sort((t,m)=>c(t).localeCompare(c(m)));U.schema;const T=[{label:"funding reset",cls:"mean-reversion"},{label:"oversold bounce",cls:"mean-reversion"},{label:"range reclaim",cls:"mean-reversion"},{label:"breakout",cls:"breakout"},{label:"momentum / trend",cls:"breakout"},{label:"positioning flush",cls:"positioning"},{label:"catalyst / earnings",cls:"macro"}];function te(v){var R;const[t,m]=a.useState("xyz:TSLA"),[j,Q]=a.useState("long"),[N,C]=a.useState(!1),[p,k]=a.useState(""),[x,S]=a.useState(null),[b,w]=a.useState(""),[h,W]=a.useState(65),[L,O]=a.useState(!1),i=P(se,6e4),u=P(void 0,6e4),z=a.useMemo(()=>({...u,...i}),[u,i]),d=a.useMemo(()=>[...I(i),...I(u)],[i,u]),B=H([t]),f=e=>{var l;return B[e]??((l=z[e])==null?void 0:l.markPx)},g=f(t),y=(R=z[t])==null?void 0:R.changePct,o=x!=null?T[x]:null,n=o?Y[o.cls]:null,A=n?n.hits/n.n>=.55:!0,D=a.useMemo(()=>{const e=p.trim().toLowerCase();return(e?d.filter(r=>c(r).toLowerCase().includes(e)):d).slice(0,80)},[p,d]);function E(){if(!o)return;const e=b.trim()?`${o.label} — ${b.trim()}`:o.label;Z({sym:t,dir:j,confidence:h,claim:e,cls:o.cls,entry:g}),S(null),w(""),O(!0),window.setTimeout(()=>O(!1),1100)}return s.jsxs("div",{className:"flex h-full flex-col gap-2.5",children:[s.jsxs("div",{className:"relative",children:[s.jsxs("button",{type:"button",onClick:()=>C(e=>!e),className:`flex w-full items-center gap-2 px-2.5 py-2 ${$}`,children:[s.jsx(_,{symbol:t,size:20}),s.jsx("span",{className:"body-md text-strong font-semibold",children:c(t)}),s.jsxs("span",{className:"ml-auto flex items-baseline gap-2 tabular-nums",children:[s.jsx("span",{className:"body-sm text-strong",children:g!=null?M(g):"…"}),y!=null&&s.jsx("span",{className:"caption",style:{color:K(y)},children:J(y)})]}),s.jsx("span",{className:"caption text-disabled ml-1",children:N?"▲":"▼"})]}),N&&s.jsxs("div",{className:"absolute left-0 right-0 top-full z-50 mt-1 flex flex-col gap-1 rounded-md p-1.5 shadow-xl",style:{background:"hsl(248 32% 9%)",border:"1px solid var(--color-accent-line)"},children:[s.jsx("input",{autoFocus:!0,value:p,onChange:e=>k(e.target.value),placeholder:"search ticker…",className:"body-sm w-full rounded bg-white/[0.05] px-2 py-1.5 text-strong outline-none placeholder:text-disabled"}),s.jsxs("div",{className:`flex max-h-44 flex-col ${ee}`,children:[D.map(e=>s.jsxs("button",{type:"button",onClick:()=>{m(e),C(!1),k("")},className:"flex items-center gap-2 rounded px-2 py-1.5 transition-colors hover:bg-white/[0.06]",children:[s.jsx(_,{symbol:e,size:16}),s.jsx("span",{className:"body-sm text-normal",children:c(e)}),s.jsx("span",{className:"caption text-soft ml-auto tabular-nums",children:f(e)!=null?M(f(e)):"—"})]},e)),D.length===0&&s.jsx("span",{className:"caption text-disabled px-2 py-2",children:d.length===0?"loading universe…":"no Hyperliquid market for that"})]})]})]}),s.jsx("div",{className:"flex items-center gap-2",children:["long","short"].map(e=>{const l=j===e;return s.jsx("button",{type:"button",onClick:()=>Q(e),className:"body-sm flex-1 rounded-md py-1.5 font-bold uppercase tracking-wide transition-colors",style:{color:l?F(e):"var(--color-soft)",background:l?"var(--color-surface)":"rgba(255,255,255,0.03)",border:`1px solid ${l?F(e)+"55":"transparent"}`},children:e},e)})}),s.jsx("div",{className:"flex flex-wrap gap-1.5",children:T.map((e,l)=>{const r=x===l;return s.jsx("button",{type:"button",onClick:()=>S(r?null:l),className:"caption rounded-full px-2.5 py-1 transition-colors",style:{color:r?"var(--color-strong)":"var(--color-soft)",background:r?"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.3)":"rgba(255,255,255,0.04)",border:`1px solid ${r?"var(--color-accent-line)":"transparent"}`},children:e.label},e.label)})}),s.jsx("input",{value:b,onChange:e=>w(e.target.value),onKeyDown:e=>e.key==="Enter"&&E(),placeholder:"add a note (optional)",className:`body-sm w-full rounded-md px-2.5 py-1.5 text-strong outline-none placeholder:text-disabled ${$}`}),n&&s.jsxs("span",{className:"caption",style:{color:A?q:X},children:["your last ",n.n," ",V[o.cls]," calls: ",n.hits,"/",n.n,A?" · your edge":" · a leak — size down"]}),s.jsxs("div",{className:"mt-auto flex items-center gap-2.5",children:[s.jsx("span",{className:"caption text-disabled",children:"how sure"}),s.jsx("input",{type:"range",min:50,max:95,step:1,value:h,onChange:e=>W(Number(e.target.value)),className:"h-1 flex-1 cursor-pointer",style:{accentColor:"hsl(var(--zf-accent-hue, 242) 85% 68%)"}}),s.jsxs("span",{className:"body-sm text-strong w-9 tabular-nums",children:[h,"%"]}),s.jsx("button",{type:"button",onClick:E,disabled:!o,className:"caption rounded px-3 py-1.5 font-bold uppercase tracking-wide transition-opacity disabled:opacity-40",style:{color:"var(--color-strong)",background:L?q+"55":"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.35)"},children:L?"logged ✓":"log"})]})]})}const ie=G({...U,component:te});export{ie as journalLogFrame};
@@ -1 +1 @@
1
- import{r as a,j as t}from"./react-qoZPGuNy.js";import{u,r as l}from"./journal-store-DVDSxNMj.js";import{J as f,O as d}from"./journal-ui-CP9YblNJ.js";import{f as x,C as i,z as w}from"./index-BHlJHScr.js";import{s as j}from"./ui-Bq3RQsdJ.js";import"./format-DxkEZcwQ.js";import"./content-shared-BZ1XzrJx.js";i.schema;function v({config:m}){const{open:s}=u(),[n,c]=a.useState(()=>Date.now()),r=w(s.map(o=>o.symbol));if(a.useEffect(()=>{const o=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(o)},[]),a.useEffect(()=>{for(const o of s){const e=r[o.symbol];n>=o.resolveAt&&e!=null&&l(o.id,e)}},[n,s,r]),s.length===0)return t.jsx(f,{children:"no open calls — log a read in Journal · Log"});const p=s.slice(0,m.max);return t.jsx("div",{className:`flex flex-col gap-2 ${j}`,children:p.map(o=>{const e=r[o.symbol];return t.jsx(d,{call:o,now:n,mid:e,onClose:e!=null?()=>l(o.id,e):void 0},o.id)})})}const b=x({...i,component:v});export{b as journalOpenFrame};
1
+ import{r as a,j as t}from"./react-qoZPGuNy.js";import{u,r as l}from"./journal-store-DVDSxNMj.js";import{J as f,O as d}from"./journal-ui-YZ5om8r6.js";import{f as x,C as i,z as w}from"./index-BJ1Zyy42.js";import{s as j}from"./ui-Bq3RQsdJ.js";import"./format-DxkEZcwQ.js";import"./content-shared-BZ1XzrJx.js";i.schema;function v({config:m}){const{open:s}=u(),[n,c]=a.useState(()=>Date.now()),r=w(s.map(o=>o.symbol));if(a.useEffect(()=>{const o=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(o)},[]),a.useEffect(()=>{for(const o of s){const e=r[o.symbol];n>=o.resolveAt&&e!=null&&l(o.id,e)}},[n,s,r]),s.length===0)return t.jsx(f,{children:"no open calls — log a read in Journal · Log"});const p=s.slice(0,m.max);return t.jsx("div",{className:`flex flex-col gap-2 ${j}`,children:p.map(o=>{const e=r[o.symbol];return t.jsx(d,{call:o,now:n,mid:e,onClose:e!=null?()=>l(o.id,e):void 0},o.id)})})}const b=x({...i,component:v});export{b as journalOpenFrame};
@@ -1 +1 @@
1
- import{j as r}from"./react-qoZPGuNy.js";import{u as t}from"./journal-store-DVDSxNMj.js";import{J as n,R as m}from"./journal-ui-CP9YblNJ.js";import{f as i,D as o}from"./index-BHlJHScr.js";import{s as u}from"./ui-Bq3RQsdJ.js";import"./format-DxkEZcwQ.js";import"./content-shared-BZ1XzrJx.js";o.schema;function c({config:a}){const{resolved:s}=t();if(s.length===0)return r.jsx(n,{children:"nothing graded yet — your calls resolve here"});const l=s.slice(0,a.max);return r.jsx("div",{className:`flex flex-col gap-2 ${u}`,children:l.map(e=>r.jsx(m,{call:e},e.id))})}const g=i({...o,component:c});export{g as journalResultsFrame};
1
+ import{j as r}from"./react-qoZPGuNy.js";import{u as t}from"./journal-store-DVDSxNMj.js";import{J as n,R as m}from"./journal-ui-YZ5om8r6.js";import{f as i,D as o}from"./index-BJ1Zyy42.js";import{s as u}from"./ui-Bq3RQsdJ.js";import"./format-DxkEZcwQ.js";import"./content-shared-BZ1XzrJx.js";o.schema;function c({config:a}){const{resolved:s}=t();if(s.length===0)return r.jsx(n,{children:"nothing graded yet — your calls resolve here"});const l=s.slice(0,a.max);return r.jsx("div",{className:`flex flex-col gap-2 ${u}`,children:l.map(e=>r.jsx(m,{call:e},e.id))})}const g=i({...o,component:c});export{g as journalResultsFrame};
@@ -1 +1 @@
1
- import{j as o}from"./react-qoZPGuNy.js";import{U as h,D as x}from"./format-DxkEZcwQ.js";import{u as g,a as c,C as n}from"./journal-store-DVDSxNMj.js";import{S as d}from"./journal-ui-CP9YblNJ.js";import{f as b,E as p}from"./index-BHlJHScr.js";import"./content-shared-BZ1XzrJx.js";p.schema;function j(){const r=Object.keys(n).map(e=>({cls:e,rate:n[e].hits/n[e].n}));return r.sort((e,s)=>s.rate-e.rate),{edge:r[0],leak:r[r.length-1]}}function v(r){const{resolved:e}=g(),{edge:s,leak:t}=j(),a=e.length,u=a?Math.round(e.reduce((i,f)=>i+f.confidence,0)/a):0,m=a?Math.round(e.filter(i=>i.verdict==="hit").length/a*100):0,l=u-m;return o.jsxs("div",{className:"flex h-full flex-col gap-2",children:[o.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[o.jsx(d,{label:"your edge",value:`${Math.round(s.rate*100)}%`,sub:c[s.cls],color:h}),o.jsx(d,{label:"your leak",value:`${Math.round(t.rate*100)}%`,sub:`${c[t.cls]} — size down`,color:x}),o.jsx(d,{label:"calibration",value:a?`${u}→${m}`:"—",sub:a?l>4?`overconfident +${l}`:l<-4?`underconfident ${l}`:"well-calibrated":"no calls yet",color:Math.abs(l)>4?"#f4a259":h})]}),o.jsx("div",{className:"rounded-md px-3 py-2",style:{background:"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.1)",border:"1px solid var(--color-accent-line)"},children:o.jsxs("p",{className:"body-sm text-normal leading-snug",children:[o.jsx("span",{className:"font-semibold text-highlight",children:"zAI ·"})," Sharpest on ",c[s.cls],". You leak on ",c[t.cls]," —"," ",n[t.cls].hits,"/",n[t.cls].n,", and your kill rule tripped on most of them. Size those down."]})})]})}const L=b({...p,component:v});export{L as journalScoreFrame};
1
+ import{j as o}from"./react-qoZPGuNy.js";import{U as h,D as x}from"./format-DxkEZcwQ.js";import{u as g,a as c,C as n}from"./journal-store-DVDSxNMj.js";import{S as d}from"./journal-ui-YZ5om8r6.js";import{f as b,E as p}from"./index-BJ1Zyy42.js";import"./content-shared-BZ1XzrJx.js";p.schema;function j(){const r=Object.keys(n).map(e=>({cls:e,rate:n[e].hits/n[e].n}));return r.sort((e,s)=>s.rate-e.rate),{edge:r[0],leak:r[r.length-1]}}function v(r){const{resolved:e}=g(),{edge:s,leak:t}=j(),a=e.length,u=a?Math.round(e.reduce((i,f)=>i+f.confidence,0)/a):0,m=a?Math.round(e.filter(i=>i.verdict==="hit").length/a*100):0,l=u-m;return o.jsxs("div",{className:"flex h-full flex-col gap-2",children:[o.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[o.jsx(d,{label:"your edge",value:`${Math.round(s.rate*100)}%`,sub:c[s.cls],color:h}),o.jsx(d,{label:"your leak",value:`${Math.round(t.rate*100)}%`,sub:`${c[t.cls]} — size down`,color:x}),o.jsx(d,{label:"calibration",value:a?`${u}→${m}`:"—",sub:a?l>4?`overconfident +${l}`:l<-4?`underconfident ${l}`:"well-calibrated":"no calls yet",color:Math.abs(l)>4?"#f4a259":h})]}),o.jsx("div",{className:"rounded-md px-3 py-2",style:{background:"hsl(var(--zf-accent-hue, 242) 80% 60% / 0.1)",border:"1px solid var(--color-accent-line)"},children:o.jsxs("p",{className:"body-sm text-normal leading-snug",children:[o.jsx("span",{className:"font-semibold text-highlight",children:"zAI ·"})," Sharpest on ",c[s.cls],". You leak on ",c[t.cls]," —"," ",n[t.cls].hits,"/",n[t.cls].n,", and your kill rule tripped on most of them. Size those down."]})})]})}const L=b({...p,component:v});export{L as journalScoreFrame};
@@ -1 +1 @@
1
- import{j as s}from"./react-qoZPGuNy.js";import{A as b,h}from"./index-BHlJHScr.js";import{i as j}from"./content-shared-BZ1XzrJx.js";import{U as c,D as d,a as p,e as l}from"./format-DxkEZcwQ.js";import{d as x,c as g,t as y,a as N,b as v,e as w}from"./journal-store-DVDSxNMj.js";function m({dir:e}){return s.jsx("span",{className:"caption rounded px-1.5 py-0.5 font-bold uppercase tracking-wide",style:{color:x(e),background:"var(--color-surface)"},children:e})}function u({symbol:e}){return s.jsxs("span",{className:"flex items-center gap-1.5",children:[s.jsx(b,{symbol:e,size:16}),s.jsx("span",{className:"body-sm text-strong font-semibold",children:h(e)})]})}function S({label:e,value:a,sub:t,color:n}){return s.jsxs("div",{className:`flex flex-col gap-0.5 px-2.5 py-2 ${j}`,children:[s.jsx("span",{className:"caption text-soft uppercase tracking-wide",children:e}),s.jsx("span",{className:"metric-sm font-bold leading-none tabular-nums",style:{color:n??"var(--color-strong)"},children:a}),t&&s.jsx("span",{className:"caption text-disabled",children:t})]})}function A({call:e,now:a,mid:t,onClose:n}){const o=x(e.dir),r=t!=null?g(e,t):null,i=t!=null?y(e,t):0,f=r==null?"var(--color-soft)":r>=0?c:d;return s.jsxs("div",{className:"flex flex-col gap-2 rounded-md border border-white/[0.06] bg-white/[0.02] px-3 py-2.5",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(m,{dir:e.dir}),s.jsx(u,{symbol:e.symbol}),s.jsx("span",{className:"caption text-disabled",children:"·"}),s.jsxs("span",{className:"caption text-soft tabular-nums",children:[e.confidence,"%"]}),s.jsx("span",{className:"body-sm ml-auto font-bold tabular-nums",style:{color:f},children:r==null?"…":p(r)})]}),s.jsx("p",{className:"body-sm text-normal leading-snug",children:e.claim}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs("div",{className:"relative h-1.5 rounded-full bg-white/[0.06]",children:[s.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full opacity-40",style:{width:`${i*100}%`,background:o}}),s.jsx("span",{className:"absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full ring-2 ring-black/30",style:{left:`${i*100}%`,background:o}})]}),s.jsxs("div",{className:"caption text-disabled flex items-center justify-between tabular-nums",children:[s.jsxs("span",{children:["entry ",l(e.entry)]}),s.jsxs("span",{className:"text-soft",children:["now ",t!=null?l(t):"…"]}),s.jsxs("span",{children:["target ",l(e.target)]})]})]}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"caption text-disabled uppercase tracking-wide",children:N[e.cls]}),s.jsxs("span",{className:"caption text-soft flex items-center gap-2 tabular-nums",children:[v(e.resolveAt-a),n&&s.jsx("button",{type:"button",onClick:n,disabled:t==null,className:"caption rounded px-1.5 py-0.5 uppercase tracking-wide transition-opacity hover:text-strong disabled:opacity-40",style:{background:"var(--color-surface)"},children:"close"})]})]})]})}function P({call:e}){const a=e.verdict==="hit"?c:d,t=e.signalsFired===void 0?null:w(e);return s.jsxs("div",{className:"flex flex-col gap-1.5 rounded-md border border-white/[0.04] px-3 py-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(m,{dir:e.dir}),s.jsx(u,{symbol:e.symbol}),s.jsxs("span",{className:"caption text-soft tabular-nums",children:[e.confidence,"%"]}),s.jsx("span",{className:"body-sm ml-auto font-bold tabular-nums",style:{color:a},children:p(e.returnPct)})]}),s.jsx("p",{className:"body-sm text-soft leading-snug",children:e.claim}),t?s.jsxs("span",{className:"caption font-medium",style:{color:t.color},children:[t.glyph," ",t.label]}):s.jsxs("span",{className:"caption text-disabled uppercase tracking-wide",children:[e.verdict," · graded by return"]})]})}function D({children:e}){return s.jsx("div",{className:"body-sm text-soft flex h-full min-h-0 items-center justify-center text-center",children:e})}export{D as J,A as O,P as R,S};
1
+ import{j as s}from"./react-qoZPGuNy.js";import{A as b,h}from"./index-BJ1Zyy42.js";import{i as j}from"./content-shared-BZ1XzrJx.js";import{U as c,D as d,a as p,e as l}from"./format-DxkEZcwQ.js";import{d as x,c as g,t as y,a as N,b as v,e as w}from"./journal-store-DVDSxNMj.js";function m({dir:e}){return s.jsx("span",{className:"caption rounded px-1.5 py-0.5 font-bold uppercase tracking-wide",style:{color:x(e),background:"var(--color-surface)"},children:e})}function u({symbol:e}){return s.jsxs("span",{className:"flex items-center gap-1.5",children:[s.jsx(b,{symbol:e,size:16}),s.jsx("span",{className:"body-sm text-strong font-semibold",children:h(e)})]})}function S({label:e,value:a,sub:t,color:n}){return s.jsxs("div",{className:`flex flex-col gap-0.5 px-2.5 py-2 ${j}`,children:[s.jsx("span",{className:"caption text-soft uppercase tracking-wide",children:e}),s.jsx("span",{className:"metric-sm font-bold leading-none tabular-nums",style:{color:n??"var(--color-strong)"},children:a}),t&&s.jsx("span",{className:"caption text-disabled",children:t})]})}function A({call:e,now:a,mid:t,onClose:n}){const o=x(e.dir),r=t!=null?g(e,t):null,i=t!=null?y(e,t):0,f=r==null?"var(--color-soft)":r>=0?c:d;return s.jsxs("div",{className:"flex flex-col gap-2 rounded-md border border-white/[0.06] bg-white/[0.02] px-3 py-2.5",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(m,{dir:e.dir}),s.jsx(u,{symbol:e.symbol}),s.jsx("span",{className:"caption text-disabled",children:"·"}),s.jsxs("span",{className:"caption text-soft tabular-nums",children:[e.confidence,"%"]}),s.jsx("span",{className:"body-sm ml-auto font-bold tabular-nums",style:{color:f},children:r==null?"…":p(r)})]}),s.jsx("p",{className:"body-sm text-normal leading-snug",children:e.claim}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs("div",{className:"relative h-1.5 rounded-full bg-white/[0.06]",children:[s.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full opacity-40",style:{width:`${i*100}%`,background:o}}),s.jsx("span",{className:"absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full ring-2 ring-black/30",style:{left:`${i*100}%`,background:o}})]}),s.jsxs("div",{className:"caption text-disabled flex items-center justify-between tabular-nums",children:[s.jsxs("span",{children:["entry ",l(e.entry)]}),s.jsxs("span",{className:"text-soft",children:["now ",t!=null?l(t):"…"]}),s.jsxs("span",{children:["target ",l(e.target)]})]})]}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"caption text-disabled uppercase tracking-wide",children:N[e.cls]}),s.jsxs("span",{className:"caption text-soft flex items-center gap-2 tabular-nums",children:[v(e.resolveAt-a),n&&s.jsx("button",{type:"button",onClick:n,disabled:t==null,className:"caption rounded px-1.5 py-0.5 uppercase tracking-wide transition-opacity hover:text-strong disabled:opacity-40",style:{background:"var(--color-surface)"},children:"close"})]})]})]})}function P({call:e}){const a=e.verdict==="hit"?c:d,t=e.signalsFired===void 0?null:w(e);return s.jsxs("div",{className:"flex flex-col gap-1.5 rounded-md border border-white/[0.04] px-3 py-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(m,{dir:e.dir}),s.jsx(u,{symbol:e.symbol}),s.jsxs("span",{className:"caption text-soft tabular-nums",children:[e.confidence,"%"]}),s.jsx("span",{className:"body-sm ml-auto font-bold tabular-nums",style:{color:a},children:p(e.returnPct)})]}),s.jsx("p",{className:"body-sm text-soft leading-snug",children:e.claim}),t?s.jsxs("span",{className:"caption font-medium",style:{color:t.color},children:[t.glyph," ",t.label]}):s.jsxs("span",{className:"caption text-disabled uppercase tracking-wide",children:[e.verdict," · graded by return"]})]})}function D({children:e}){return s.jsx("div",{className:"body-sm text-soft flex h-full min-h-0 items-center justify-center text-center",children:e})}export{D as J,A as O,P as R,S};
@@ -1 +1 @@
1
- import{r as S,j as a}from"./react-qoZPGuNy.js";import{b as L}from"./format-DxkEZcwQ.js";import{f as x,dj as f,S as c}from"./index-BHlJHScr.js";import{F as l}from"./ui-Bq3RQsdJ.js";import{C as d,a as g}from"./chart-utils-DGogNvJT.js";import{M as F}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const E="LNS14000000",I="LNS11300000";function p(t,s){return(t??[]).slice(-s).map(e=>({date:new Date(e.time).toISOString(),value:e.value}))}function b({config:t}){const e=new Date().getUTCFullYear(),m=e-2,{series:r,isLoading:u}=c(E,m,e),{series:n,isLoading:h}=c(I,m,e),i=S.useMemo(()=>[{id:"unemployment",name:"Unemployment rate",color:d[3],data:p(r==null?void 0:r.points,t.months)},{id:"participation",name:"Labor-force participation",color:d[0],data:p(n==null?void 0:n.points,t.months)}],[r,n,t.months]);return(u||h)&&i.every(o=>o.data.length===0)?a.jsx(l,{loading:!0,children:"loading labor-force data…"}):i.every(o=>o.data.length===0)?a.jsx(l,{children:"no labor-force data yet"}):a.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-1",children:[a.jsx(F,{series:i,timeframe:g.YTD,height:250,formatValue:o=>L(o,1)}),a.jsx("div",{className:"caption text-soft text-center",children:"unemployment vs labor-force participation · monthly, BLS"})]})}const _=x({...f,component:b});export{_ as laborForceFlowFrame};
1
+ import{r as S,j as a}from"./react-qoZPGuNy.js";import{b as L}from"./format-DxkEZcwQ.js";import{f as x,dj as f,S as c}from"./index-BJ1Zyy42.js";import{F as l}from"./ui-Bq3RQsdJ.js";import{C as d,a as g}from"./chart-utils-DGogNvJT.js";import{M as F}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const E="LNS14000000",I="LNS11300000";function p(t,s){return(t??[]).slice(-s).map(e=>({date:new Date(e.time).toISOString(),value:e.value}))}function b({config:t}){const e=new Date().getUTCFullYear(),m=e-2,{series:r,isLoading:u}=c(E,m,e),{series:n,isLoading:h}=c(I,m,e),i=S.useMemo(()=>[{id:"unemployment",name:"Unemployment rate",color:d[3],data:p(r==null?void 0:r.points,t.months)},{id:"participation",name:"Labor-force participation",color:d[0],data:p(n==null?void 0:n.points,t.months)}],[r,n,t.months]);return(u||h)&&i.every(o=>o.data.length===0)?a.jsx(l,{loading:!0,children:"loading labor-force data…"}):i.every(o=>o.data.length===0)?a.jsx(l,{children:"no labor-force data yet"}):a.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-1",children:[a.jsx(F,{series:i,timeframe:g.YTD,height:250,formatValue:o=>L(o,1)}),a.jsx("div",{className:"caption text-soft text-center",children:"unemployment vs labor-force participation · monthly, BLS"})]})}const _=x({...f,component:b});export{_ as laborForceFlowFrame};
@@ -1 +1 @@
1
- import{r as x,j as t}from"./react-qoZPGuNy.js";import{b,d as h,c as N,g as L}from"./format-DxkEZcwQ.js";import{f as S,R as f,S as p}from"./index-BHlJHScr.js";import{F as u}from"./ui-Bq3RQsdJ.js";import{M}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const y="LNS14000000",E="CES0000000001";function w({config:l}){const i=new Date().getUTCFullYear(),c=i-2,{series:s,isLoading:j}=p(y,c,i),{series:e,isLoading:v}=p(E,c,i),a=x.useMemo(()=>((s==null?void 0:s.points)??[]).slice(-l.months),[l.months,s==null?void 0:s.points]),g=x.useMemo(()=>a.map(d=>({date:new Date(d.time).toISOString(),value:d.value})),[a]);if(j&&v)return t.jsx(u,{loading:!0,children:"loading labor data…"});const r=a.at(-1);if(!s||!r)return t.jsx(u,{children:"no labor data yet"});const o=e==null?void 0:e.points.at(-1),m=e==null?void 0:e.points.at(-2),n=o&&m?o.value-m.value:null;return t.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"unemployment rate"}),t.jsx("div",{className:"body-sm text-normal",children:r.date})]}),t.jsx("div",{className:"caption text-soft text-right",children:"monthly"})]}),t.jsxs("div",{className:"flex items-end justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"metric-xl text-strong leading-none",children:b(r.value,1)}),t.jsxs("div",{className:"caption text-soft mt-1",children:[s.source," · U-3"]})]}),n!==null&&o&&t.jsxs("div",{className:"text-right",children:[t.jsx("div",{className:"caption text-soft",children:"nonfarm payrolls"}),t.jsxs("div",{className:"body-md font-bold tabular-nums",style:{color:N(n)},children:[n>=0?"+":"",h(n*1e3)]}),t.jsxs("div",{className:"caption text-soft mt-1 tabular-nums",children:[h(o.value*1e3)," jobs"]})]})]}),t.jsx(M,{data:g,width:210,height:44,color:L}),t.jsxs("div",{className:"caption text-soft",children:[s.label," · ",a.length," monthly observations"]})]})}const Y=S({...f,component:w});export{Y as laborMarketFrame};
1
+ import{r as x,j as t}from"./react-qoZPGuNy.js";import{b,d as h,c as N,g as L}from"./format-DxkEZcwQ.js";import{f as S,R as f,S as p}from"./index-BJ1Zyy42.js";import{F as u}from"./ui-Bq3RQsdJ.js";import{M}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const y="LNS14000000",E="CES0000000001";function w({config:l}){const i=new Date().getUTCFullYear(),c=i-2,{series:s,isLoading:j}=p(y,c,i),{series:e,isLoading:v}=p(E,c,i),a=x.useMemo(()=>((s==null?void 0:s.points)??[]).slice(-l.months),[l.months,s==null?void 0:s.points]),g=x.useMemo(()=>a.map(d=>({date:new Date(d.time).toISOString(),value:d.value})),[a]);if(j&&v)return t.jsx(u,{loading:!0,children:"loading labor data…"});const r=a.at(-1);if(!s||!r)return t.jsx(u,{children:"no labor data yet"});const o=e==null?void 0:e.points.at(-1),m=e==null?void 0:e.points.at(-2),n=o&&m?o.value-m.value:null;return t.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"unemployment rate"}),t.jsx("div",{className:"body-sm text-normal",children:r.date})]}),t.jsx("div",{className:"caption text-soft text-right",children:"monthly"})]}),t.jsxs("div",{className:"flex items-end justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"metric-xl text-strong leading-none",children:b(r.value,1)}),t.jsxs("div",{className:"caption text-soft mt-1",children:[s.source," · U-3"]})]}),n!==null&&o&&t.jsxs("div",{className:"text-right",children:[t.jsx("div",{className:"caption text-soft",children:"nonfarm payrolls"}),t.jsxs("div",{className:"body-md font-bold tabular-nums",style:{color:N(n)},children:[n>=0?"+":"",h(n*1e3)]}),t.jsxs("div",{className:"caption text-soft mt-1 tabular-nums",children:[h(o.value*1e3)," jobs"]})]})]}),t.jsx(M,{data:g,width:210,height:44,color:L}),t.jsxs("div",{className:"caption text-soft",children:[s.label," · ",a.length," monthly observations"]})]})}const Y=S({...f,component:w});export{Y as laborMarketFrame};
@@ -1 +1 @@
1
- import{j as e}from"./react-qoZPGuNy.js";import{j as r,a as c,c as d}from"./format-DxkEZcwQ.js";import{f as m,b8 as i,b9 as u}from"./index-BHlJHScr.js";import{F as o}from"./ui-Bq3RQsdJ.js";i.schema;function s(n,t){return t==null||t===0?null:(n-t)/t*100}function l({label:n,value:t,delta:a}){return e.jsxs("div",{className:"flex flex-col items-center justify-center rounded-md bg-white/[0.04] px-2 py-2 text-center",children:[e.jsx("span",{className:"metric-sm text-strong leading-none",children:t}),e.jsx("span",{className:"caption text-soft mt-1",children:n}),a!==null&&e.jsx("span",{className:"caption mt-0.5 font-bold tabular-nums",style:{color:d(a)},children:c(a)})]})}function g({config:n}){const{stats:t,isLoading:a}=u();return a?e.jsx(o,{loading:!0,children:"loading lightning…"}):t?e.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-2",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-1.5",children:[e.jsx(l,{label:"nodes",value:t.nodeCount.toLocaleString("en-US"),delta:s(t.nodeCount,t.prevNodeCount)}),e.jsx(l,{label:"channels",value:t.channelCount.toLocaleString("en-US"),delta:s(t.channelCount,t.prevChannelCount)}),e.jsx(l,{label:"capacity",value:r(t.totalCapacity),delta:s(t.totalCapacity,t.prevTotalCapacity)})]}),n.showSplit&&e.jsxs("div",{className:"caption text-soft text-center",children:[t.clearnetNodes.toLocaleString("en-US")," clearnet ·"," ",t.torNodes.toLocaleString("en-US")," tor"]})]}):e.jsx(o,{children:"no lightning data yet"})}const j=m({...i,component:g});export{j as lightningStatsFrame};
1
+ import{j as e}from"./react-qoZPGuNy.js";import{j as r,a as c,c as d}from"./format-DxkEZcwQ.js";import{f as m,b8 as i,b9 as u}from"./index-BJ1Zyy42.js";import{F as o}from"./ui-Bq3RQsdJ.js";i.schema;function s(n,t){return t==null||t===0?null:(n-t)/t*100}function l({label:n,value:t,delta:a}){return e.jsxs("div",{className:"flex flex-col items-center justify-center rounded-md bg-white/[0.04] px-2 py-2 text-center",children:[e.jsx("span",{className:"metric-sm text-strong leading-none",children:t}),e.jsx("span",{className:"caption text-soft mt-1",children:n}),a!==null&&e.jsx("span",{className:"caption mt-0.5 font-bold tabular-nums",style:{color:d(a)},children:c(a)})]})}function g({config:n}){const{stats:t,isLoading:a}=u();return a?e.jsx(o,{loading:!0,children:"loading lightning…"}):t?e.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-2",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-1.5",children:[e.jsx(l,{label:"nodes",value:t.nodeCount.toLocaleString("en-US"),delta:s(t.nodeCount,t.prevNodeCount)}),e.jsx(l,{label:"channels",value:t.channelCount.toLocaleString("en-US"),delta:s(t.channelCount,t.prevChannelCount)}),e.jsx(l,{label:"capacity",value:r(t.totalCapacity),delta:s(t.totalCapacity,t.prevTotalCapacity)})]}),n.showSplit&&e.jsxs("div",{className:"caption text-soft text-center",children:[t.clearnetNodes.toLocaleString("en-US")," clearnet ·"," ",t.torNodes.toLocaleString("en-US")," tor"]})]}):e.jsx(o,{children:"no lightning data yet"})}const j=m({...i,component:g});export{j as lightningStatsFrame};
@@ -1 +1 @@
1
- import{j as t,r as m}from"./react-qoZPGuNy.js";import{i as d}from"./content-shared-BZ1XzrJx.js";import{f as u,aP as i}from"./index-BHlJHScr.js";import{s as f}from"./ui-Bq3RQsdJ.js";i.schema;const p=e=>/^https?:\/\//i.test(e);function h(e){for(const r of[e,`https://${e}`])try{const n=new URL(r).hostname;if(n)return n}catch{}return null}function x(e){const r=h(e);return r?`https://www.google.com/s2/favicons?sz=64&domain=${encodeURIComponent(r)}`:null}function g({link:e}){const[r,n]=m.useState(!1),s=e.icon.trim(),a=s&&p(s)?s:null,o=s&&!a?s:null,l=a??(o?null:x(e.url)),c=l!=null&&!r;return t.jsxs("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.url,className:`group flex items-center gap-2 px-2.5 py-2 ${d}`,children:[t.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-md bg-white/[0.06] text-base leading-none","aria-hidden":!0,children:o?t.jsx("span",{children:o}):c?t.jsx("img",{src:l,alt:"",className:"h-full w-full object-contain",loading:"lazy",referrerPolicy:"no-referrer",onError:()=>n(!0)}):t.jsx("span",{className:"text-soft font-dmsans font-bold uppercase",children:e.label.charAt(0)})}),t.jsx("span",{className:"body-sm text-normal min-w-0 flex-1 truncate font-medium group-hover:text-strong",children:e.label})]})}function j({config:e}){return t.jsx("div",{className:f,children:t.jsx("div",{className:"grid gap-2",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:e.links.map((r,n)=>t.jsx(g,{link:r},`${r.url}-${n}`))})})}const N=u({...i,component:j});export{N as linkGridFrame};
1
+ import{j as t,r as m}from"./react-qoZPGuNy.js";import{i as d}from"./content-shared-BZ1XzrJx.js";import{f as u,aP as i}from"./index-BJ1Zyy42.js";import{s as f}from"./ui-Bq3RQsdJ.js";i.schema;const p=e=>/^https?:\/\//i.test(e);function h(e){for(const r of[e,`https://${e}`])try{const n=new URL(r).hostname;if(n)return n}catch{}return null}function x(e){const r=h(e);return r?`https://www.google.com/s2/favicons?sz=64&domain=${encodeURIComponent(r)}`:null}function g({link:e}){const[r,n]=m.useState(!1),s=e.icon.trim(),a=s&&p(s)?s:null,o=s&&!a?s:null,l=a??(o?null:x(e.url)),c=l!=null&&!r;return t.jsxs("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.url,className:`group flex items-center gap-2 px-2.5 py-2 ${d}`,children:[t.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-md bg-white/[0.06] text-base leading-none","aria-hidden":!0,children:o?t.jsx("span",{children:o}):c?t.jsx("img",{src:l,alt:"",className:"h-full w-full object-contain",loading:"lazy",referrerPolicy:"no-referrer",onError:()=>n(!0)}):t.jsx("span",{className:"text-soft font-dmsans font-bold uppercase",children:e.label.charAt(0)})}),t.jsx("span",{className:"body-sm text-normal min-w-0 flex-1 truncate font-medium group-hover:text-strong",children:e.label})]})}function j({config:e}){return t.jsx("div",{className:f,children:t.jsx("div",{className:"grid gap-2",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:e.links.map((r,n)=>t.jsx(g,{link:r},`${r.url}-${n}`))})})}const N=u({...i,component:j});export{N as linkGridFrame};
@@ -1 +1 @@
1
- import{r as f,j as r}from"./react-qoZPGuNy.js";import{f as h,cE as p,aj as x,h as c}from"./index-BHlJHScr.js";import{D as v,U as b,b as j}from"./format-DxkEZcwQ.js";import{F as u}from"./ui-Bq3RQsdJ.js";import{B}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";p.schema;function y(a){return`${a>=0?"+":""}${a.toFixed(1)}bps`}function g({config:a}){const{stats:m,isLoading:d}=x(),i=a.metric,o=f.useMemo(()=>{const e=[];for(const[s,t]of Object.entries(m))if(i==="spread"){const[n,l]=t.impactPxs??[];if(n===void 0||l===void 0||t.markPx<=0)continue;e.push({label:c(s),value:(l-n)/t.markPx*100})}else{if(t.premium===void 0)continue;e.push({label:c(s),value:t.premium*1e4})}return e.sort((s,t)=>Math.abs(t.value)-Math.abs(s.value)).slice(0,a.limit).sort((s,t)=>t.value-s.value)},[m,i,a.limit]);return d?r.jsx(u,{loading:!0,children:"loading markets…"}):o.length===0?r.jsx(u,{children:"no liquidity data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(B,{data:o,orientation:"horizontal",color:b,negativeColor:v,height:Math.max(o.length*24,96),formatValue:i==="spread"?e=>j(e,2):y}),r.jsxs("div",{className:"caption text-soft text-center",children:[i==="spread"?"impact-price spread, % of mark":"mark-vs-oracle basis"," ","· top ",o.length]})]})}const L=h({...p,component:g});export{L as liquidityBasisBarsFrame};
1
+ import{r as f,j as r}from"./react-qoZPGuNy.js";import{f as h,cE as p,aj as x,h as c}from"./index-BJ1Zyy42.js";import{D as v,U as b,b as j}from"./format-DxkEZcwQ.js";import{F as u}from"./ui-Bq3RQsdJ.js";import{B}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";p.schema;function y(a){return`${a>=0?"+":""}${a.toFixed(1)}bps`}function g({config:a}){const{stats:m,isLoading:d}=x(),i=a.metric,o=f.useMemo(()=>{const e=[];for(const[s,t]of Object.entries(m))if(i==="spread"){const[n,l]=t.impactPxs??[];if(n===void 0||l===void 0||t.markPx<=0)continue;e.push({label:c(s),value:(l-n)/t.markPx*100})}else{if(t.premium===void 0)continue;e.push({label:c(s),value:t.premium*1e4})}return e.sort((s,t)=>Math.abs(t.value)-Math.abs(s.value)).slice(0,a.limit).sort((s,t)=>t.value-s.value)},[m,i,a.limit]);return d?r.jsx(u,{loading:!0,children:"loading markets…"}):o.length===0?r.jsx(u,{children:"no liquidity data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(B,{data:o,orientation:"horizontal",color:b,negativeColor:v,height:Math.max(o.length*24,96),formatValue:i==="spread"?e=>j(e,2):y}),r.jsxs("div",{className:"caption text-soft text-center",children:[i==="spread"?"impact-price spread, % of mark":"mark-vs-oracle basis"," ","· top ",o.length]})]})}const L=h({...p,component:g});export{L as liquidityBasisBarsFrame};
@@ -1 +1 @@
1
- import{r as x,j as s}from"./react-qoZPGuNy.js";import{M as O,z as c,Z as p,a as f}from"./cycle-shared-XoGVsOjC.js";import{D as d,U as h}from"./format-DxkEZcwQ.js";import{s as g,t as N,w as T}from"./indicators-Cw7CVPn4.js";import{f as F,bq as b,bo as j}from"./index-BHlJHScr.js";import{F as z}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";b.schema;function w(r,o){return r==="4"?c(o,[{upTo:1,zone:{label:"Bottom",color:h}},{upTo:2,zone:{label:"Normal",color:p}},{upTo:3.5,zone:{label:"Hot",color:f}}],{label:"Peak",color:d}):c(o,[{upTo:.667,zone:{label:"Buy zone",color:h}},{upTo:2,zone:{label:"Normal",color:p}},{upTo:3,zone:{label:"Sell ×2–3",color:f}}],{label:"Sell zone",color:d})}function C({config:r}){const{history:o,isLoading:y}=j("btc"),n=(r.years==="4"?4:2)*365,t=x.useMemo(()=>{const m=o.map(e=>e.value),M=g(m,n),u=[];for(let e=0;e<o.length;e++){const a=M[e];a!==null&&a>0&&u.push({time:o[e].time,value:m[e]/a})}return u},[o,n]);if(y)return s.jsx(z,{loading:!0,children:"loading MA multiplier…"});if(t.length===0)return s.jsx(z,{children:"not enough price history yet"});const i=t[t.length-1].value,l=w(r.years,i);return s.jsx(O,{caption:`Price / ${r.years}Y moving average`,headline:`${i.toFixed(2)}×`,headlineColor:l.color,zone:l,sparkline:N(t,T(r.window)),sparkColor:l.color})}const S=F({...b,component:C});export{S as maMultiplierFrame};
1
+ import{r as x,j as s}from"./react-qoZPGuNy.js";import{M as O,z as c,Z as p,a as f}from"./cycle-shared-XoGVsOjC.js";import{D as d,U as h}from"./format-DxkEZcwQ.js";import{s as g,t as N,w as T}from"./indicators-Cw7CVPn4.js";import{f as F,bq as b,bo as j}from"./index-BJ1Zyy42.js";import{F as z}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";b.schema;function w(r,o){return r==="4"?c(o,[{upTo:1,zone:{label:"Bottom",color:h}},{upTo:2,zone:{label:"Normal",color:p}},{upTo:3.5,zone:{label:"Hot",color:f}}],{label:"Peak",color:d}):c(o,[{upTo:.667,zone:{label:"Buy zone",color:h}},{upTo:2,zone:{label:"Normal",color:p}},{upTo:3,zone:{label:"Sell ×2–3",color:f}}],{label:"Sell zone",color:d})}function C({config:r}){const{history:o,isLoading:y}=j("btc"),n=(r.years==="4"?4:2)*365,t=x.useMemo(()=>{const m=o.map(e=>e.value),M=g(m,n),u=[];for(let e=0;e<o.length;e++){const a=M[e];a!==null&&a>0&&u.push({time:o[e].time,value:m[e]/a})}return u},[o,n]);if(y)return s.jsx(z,{loading:!0,children:"loading MA multiplier…"});if(t.length===0)return s.jsx(z,{children:"not enough price history yet"});const i=t[t.length-1].value,l=w(r.years,i);return s.jsx(O,{caption:`Price / ${r.years}Y moving average`,headline:`${i.toFixed(2)}×`,headlineColor:l.color,zone:l,sparkline:N(t,T(r.window)),sparkColor:l.color})}const S=F({...b,component:C});export{S as maMultiplierFrame};
@@ -1 +1 @@
1
- import{r as n,j as r}from"./react-qoZPGuNy.js";import{M as l}from"./metric-row-BVVhjsjK.js";import{f as i,bP as o}from"./index-BHlJHScr.js";import{F as c,s as d}from"./ui-Bq3RQsdJ.js";o.schema;function p({config:t}){const s=n.useMemo(()=>{const e=Date.now();return t.events.map(a=>({...a,t:Date.parse(`${a.date}T12:00:00Z`)})).filter(a=>Number.isFinite(a.t)&&a.t>=e-864e5).sort((a,m)=>a.t-m.t).slice(0,t.limit).map(a=>({...a,days:Math.max(0,Math.ceil((a.t-e)/864e5))}))},[t.events,t.limit]);return s.length===0?r.jsx(c,{children:"no upcoming events"}):r.jsx("div",{className:`${d} flex flex-col`,children:s.map((e,a)=>r.jsx(l,{label:e.label,meta:new Date(e.t).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),value:e.days===0?"today":`${e.days}d`},a))})}const M=i({...o,component:p});export{M as macroCalendarFrame};
1
+ import{r as n,j as r}from"./react-qoZPGuNy.js";import{M as l}from"./metric-row-BVVhjsjK.js";import{f as i,bP as o}from"./index-BJ1Zyy42.js";import{F as c,s as d}from"./ui-Bq3RQsdJ.js";o.schema;function p({config:t}){const s=n.useMemo(()=>{const e=Date.now();return t.events.map(a=>({...a,t:Date.parse(`${a.date}T12:00:00Z`)})).filter(a=>Number.isFinite(a.t)&&a.t>=e-864e5).sort((a,m)=>a.t-m.t).slice(0,t.limit).map(a=>({...a,days:Math.max(0,Math.ceil((a.t-e)/864e5))}))},[t.events,t.limit]);return s.length===0?r.jsx(c,{children:"no upcoming events"}):r.jsx("div",{className:`${d} flex flex-col`,children:s.map((e,a)=>r.jsx(l,{label:e.label,meta:new Date(e.t).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),value:e.days===0?"today":`${e.days}d`},a))})}const M=i({...o,component:p});export{M as macroCalendarFrame};
@@ -1 +1 @@
1
- import{r as n,j as i}from"./react-qoZPGuNy.js";import{f as l,cf as m,aH as h,af as p}from"./index-BHlJHScr.js";import{B as b}from"./bubbles-shared-DlmjtiIA.js";import{c as s,f as d,a as g}from"./format-DxkEZcwQ.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function k({config:t}){const{entries:r,isLoading:c}=h(),o=n.useMemo(()=>r.filter(a=>a.changePct24h!==void 0&&a.marketCapUsd>0).slice(0,t.limit).map(a=>({id:a.symbol,label:a.symbol,value:t.sizeBy==="change"?Math.max(Math.abs(a.changePct24h),.05):a.marketCapUsd,imageUrl:p(a.symbol),color:s(a.changePct24h),borderColor:s(a.changePct24h),marketCapUsd:a.marketCapUsd,changePct24h:a.changePct24h})),[r,t.limit,t.sizeBy]);return i.jsx(b,{nodes:o,isLoading:c,loadingText:"loading markets…",emptyText:"no market data yet",caption:`area by ${t.sizeBy==="change"?"24h move":"market cap"} · ring by 24h change · top ${o.length}`,formatTitle:a=>{const e=a;return`${e.label} · ${d(e.marketCapUsd)} mcap · ${g(e.changePct24h)}`}})}const U=l({...m,component:k});export{U as marketBubblesFrame};
1
+ import{r as n,j as i}from"./react-qoZPGuNy.js";import{f as l,cf as m,aH as h,af as p}from"./index-BJ1Zyy42.js";import{B as b}from"./bubbles-shared-DlmjtiIA.js";import{c as s,f as d,a as g}from"./format-DxkEZcwQ.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function k({config:t}){const{entries:r,isLoading:c}=h(),o=n.useMemo(()=>r.filter(a=>a.changePct24h!==void 0&&a.marketCapUsd>0).slice(0,t.limit).map(a=>({id:a.symbol,label:a.symbol,value:t.sizeBy==="change"?Math.max(Math.abs(a.changePct24h),.05):a.marketCapUsd,imageUrl:p(a.symbol),color:s(a.changePct24h),borderColor:s(a.changePct24h),marketCapUsd:a.marketCapUsd,changePct24h:a.changePct24h})),[r,t.limit,t.sizeBy]);return i.jsx(b,{nodes:o,isLoading:c,loadingText:"loading markets…",emptyText:"no market data yet",caption:`area by ${t.sizeBy==="change"?"24h move":"market cap"} · ring by 24h change · top ${o.length}`,formatTitle:a=>{const e=a;return`${e.label} · ${d(e.marketCapUsd)} mcap · ${g(e.changePct24h)}`}})}const U=l({...m,component:k});export{U as marketBubblesFrame};
@@ -1 +1 @@
1
- import{r as p,j as m}from"./react-qoZPGuNy.js";import{f as i,a as c}from"./format-DxkEZcwQ.js";import{f,aG as n,aH as d}from"./index-BHlJHScr.js";import{T as h,a as l}from"./treemap-leaf-QG-L-SIG.js";import{F as s}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";n.schema;function u({width:r,height:o,data:a}){const t=i(a.marketCapUsd);return m.jsx(l,{width:r,height:o,label:a.id,secondary:t,title:`${a.id} · ${t} mcap · ${c(a.changePct24h)}`})}function C({config:r}){const{entries:o,isLoading:a}=d(),t=p.useMemo(()=>o.slice(0,r.topN).map(e=>({id:e.symbol,value:e.marketCapUsd,marketCapUsd:e.marketCapUsd,changePct24h:e.changePct24h??0})),[o,r.topN]);return a?m.jsx(s,{loading:!0,children:"loading market caps…"}):t.length===0?m.jsx(s,{children:"no market data"}):m.jsx(h,{data:t,LeafComponent:u,getColorValue:e=>e.changePct24h})}const U=f({...n,component:C});export{U as marketCapTreemapFrame};
1
+ import{r as p,j as m}from"./react-qoZPGuNy.js";import{f as i,a as c}from"./format-DxkEZcwQ.js";import{f,aG as n,aH as d}from"./index-BJ1Zyy42.js";import{T as h,a as l}from"./treemap-leaf-QG-L-SIG.js";import{F as s}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";n.schema;function u({width:r,height:o,data:a}){const t=i(a.marketCapUsd);return m.jsx(l,{width:r,height:o,label:a.id,secondary:t,title:`${a.id} · ${t} mcap · ${c(a.changePct24h)}`})}function C({config:r}){const{entries:o,isLoading:a}=d(),t=p.useMemo(()=>o.slice(0,r.topN).map(e=>({id:e.symbol,value:e.marketCapUsd,marketCapUsd:e.marketCapUsd,changePct24h:e.changePct24h??0})),[o,r.topN]);return a?m.jsx(s,{loading:!0,children:"loading market caps…"}):t.length===0?m.jsx(s,{children:"no market data"}):m.jsx(h,{data:t,LeafComponent:u,getColorValue:e=>e.changePct24h})}const U=f({...n,component:C});export{U as marketCapTreemapFrame};
@@ -1 +1 @@
1
- import{j as e,r as d}from"./react-qoZPGuNy.js";import{D as x,E as m,e as g,s as f,f as b}from"./market-data-CvmpLFSo.js";import{U as l}from"./format-DxkEZcwQ.js";import{f as w,a4 as h}from"./index-BHlJHScr.js";import{F as j}from"./ui-Bq3RQsdJ.js";h.schema;const u={open:{color:l,chipBg:"rgba(63, 208, 143, 0.13)",label:"Open",verb:"closes",rail:l,railOpacity:1,wash:"linear-gradient(90deg, rgba(63, 208, 143, 0.08), transparent 40%)"},closed:{color:"#8b92a1",chipBg:"rgba(255, 255, 255, 0.045)",label:"Closed",verb:"opens",rail:"rgba(255, 255, 255, 0.22)",railOpacity:.55,wash:"none"},holiday:{color:"#f2b066",chipBg:"rgba(242, 176, 102, 0.13)",label:"Holiday",verb:"opens",rail:"#f2b066",railOpacity:1,wash:"linear-gradient(90deg, rgba(242, 176, 102, 0.07), transparent 40%)"}};function k(){return e.jsxs("svg",{"aria-hidden":"true",className:"shrink-0",fill:"none",height:"15",viewBox:"0 0 20 20",width:"15",children:[e.jsx("circle",{cx:"10",cy:"10",r:"7.25",stroke:"currentColor",strokeOpacity:"0.75",strokeWidth:"1.5"}),e.jsx("path",{d:"M2.75 10h14.5M10 2.75c2 2 3 4.42 3 7.25s-1 5.25-3 7.25M10 2.75c-2 2-3 4.42-3 7.25s1 5.25 3 7.25",stroke:"currentColor",strokeLinecap:"round",strokeOpacity:"0.55",strokeWidth:"1.2"}),e.jsx("path",{d:"m5.25 12.75 2.6-2.3 2.1 1.55 3.95-4.8",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6"})]})}function v(s,r){try{return new Intl.DateTimeFormat("en-US",{timeZone:r,hour:"2-digit",minute:"2-digit",hour12:!1,timeZoneName:"short"}).format(s)}catch{return r}}function y(s){return/^[A-Z]{2}$/i.test(s)?[...s.toUpperCase()].map(r=>String.fromCodePoint(127462+r.charCodeAt(0)-65)).join(""):s}function N(){return e.jsxs("svg",{"aria-hidden":"true",className:"opacity-50 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:opacity-95",fill:"none",height:"12",viewBox:"0 0 16 16",width:"12",children:[e.jsx("path",{d:"M6 4.5H4.5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V10",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5"}),e.jsx("path",{d:"M9 2.5h4.5V7M8.25 7.75l5-5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})]})}function C({state:s}){return e.jsx("span",{"aria-hidden":"true",className:"grid h-[30px] w-[30px] shrink-0 place-items-center overflow-hidden rounded-[9px] border border-white/10 shadow-[inset_0_1px_0_rgba(255,255,255,0.12),0_4px_10px_-7px_rgba(0,0,0,0.8)]",style:{background:"linear-gradient(150deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02) 48%, rgba(0,0,0,0.22))"},children:e.jsx("span",{className:"text-[1.15rem] leading-none drop-shadow-[0_1px_3px_rgba(0,0,0,0.5)]",children:y(s.country)})})}function _({state:s}){const r=u[s.status],n=s.status==="closed";return e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border px-2 py-[3px] font-dmsans text-[0.5rem] font-bold uppercase leading-none tracking-[0.09em]",style:{borderColor:n?"rgba(255,255,255,0.1)":`${r.color}33`,background:r.chipBg,color:n?"rgba(255,255,255,0.62)":r.color},children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:n?"rgba(255,255,255,0.45)":r.color,boxShadow:s.status==="open"?`0 0 6px ${r.color}`:void 0}}),r.label]})}function S({now:s,state:r}){const n=u[r.status],o=b(r.nextChangeMin),c=v(s,r.tz);return e.jsxs("a",{"aria-label":`${r.name} website`,className:"group text-normal relative grid min-h-[42px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-3 overflow-hidden rounded-xl border border-white/[0.06] bg-white/[0.022] py-1.5 pr-2.5 pl-3 transition duration-200 hover:-translate-y-px hover:border-white/[0.14] hover:bg-white/[0.05] hover:text-strong focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50",href:r.website,rel:"noreferrer",style:{backgroundImage:n.wash},target:"_blank",title:`${r.name} · ${r.city} · ${r.open}-${r.close}`,children:[e.jsx("span",{"aria-hidden":"true",className:"absolute inset-y-[5px] left-0 w-[3px] rounded-r-full",style:{background:n.rail,opacity:n.railOpacity}}),e.jsx(C,{state:r}),e.jsxs("span",{className:"relative min-w-0 pl-0.5",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[e.jsx("span",{className:"body-sm text-strong truncate font-bold",children:r.name}),e.jsx(N,{})]}),e.jsxs("span",{className:"caption text-soft flex min-w-0 items-center gap-1.5 tabular-nums",children:[e.jsx("span",{className:"truncate",children:r.city}),e.jsx("span",{className:"h-[3px] w-[3px] shrink-0 rounded-full bg-white/25"}),e.jsx("span",{className:"shrink-0",children:c})]})]}),e.jsxs("span",{className:"relative flex min-w-[84px] flex-col items-end gap-1",children:[e.jsx(_,{state:r}),e.jsxs("span",{className:"caption whitespace-nowrap text-right tabular-nums",style:{color:r.status==="closed"?"rgba(255,255,255,0.55)":n.color},children:[n.verb," ",o]})]})]})}function E({config:s}){const[r,n]=d.useState(()=>new Date);d.useEffect(()=>{const a=window.setInterval(()=>n(new Date),3e4);return()=>window.clearInterval(a)},[]);const o=s.exchanges.length?s.exchanges:x,c=o.join(","),i=d.useMemo(()=>{const a=o.map(t=>m[t.toUpperCase()]).filter(t=>!!t).map(t=>g(t,r));return f(a,s.sort)},[c,r,s.sort]);if(i.length===0)return e.jsx(j,{children:"no known exchanges — check the codes"});const p=i.filter(a=>a.status==="open").length;return e.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"caption text-soft mb-2 flex items-center justify-between gap-3 uppercase tracking-wide",children:[e.jsx("span",{className:"truncate",children:"exchange sessions"}),e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-full border border-white/[0.08] bg-white/[0.045] px-2 py-0.5 tabular-nums",children:[p>0&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:l,boxShadow:`0 0 6px ${l}`}}),e.jsx("span",{className:"text-strong font-bold",children:p}),e.jsxs("span",{className:"text-soft",children:["/ ",i.length," open"]})]})]}),e.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-1 overflow-auto pr-0.5",children:i.map(a=>e.jsx(S,{now:r,state:a},a.code))})]})}const I=w({...h,component:E,titleIcon:k});export{I as marketHoursFrame};
1
+ import{j as e,r as d}from"./react-qoZPGuNy.js";import{D as x,E as m,e as g,s as f,f as b}from"./market-data-CvmpLFSo.js";import{U as l}from"./format-DxkEZcwQ.js";import{f as w,a4 as h}from"./index-BJ1Zyy42.js";import{F as j}from"./ui-Bq3RQsdJ.js";h.schema;const u={open:{color:l,chipBg:"rgba(63, 208, 143, 0.13)",label:"Open",verb:"closes",rail:l,railOpacity:1,wash:"linear-gradient(90deg, rgba(63, 208, 143, 0.08), transparent 40%)"},closed:{color:"#8b92a1",chipBg:"rgba(255, 255, 255, 0.045)",label:"Closed",verb:"opens",rail:"rgba(255, 255, 255, 0.22)",railOpacity:.55,wash:"none"},holiday:{color:"#f2b066",chipBg:"rgba(242, 176, 102, 0.13)",label:"Holiday",verb:"opens",rail:"#f2b066",railOpacity:1,wash:"linear-gradient(90deg, rgba(242, 176, 102, 0.07), transparent 40%)"}};function k(){return e.jsxs("svg",{"aria-hidden":"true",className:"shrink-0",fill:"none",height:"15",viewBox:"0 0 20 20",width:"15",children:[e.jsx("circle",{cx:"10",cy:"10",r:"7.25",stroke:"currentColor",strokeOpacity:"0.75",strokeWidth:"1.5"}),e.jsx("path",{d:"M2.75 10h14.5M10 2.75c2 2 3 4.42 3 7.25s-1 5.25-3 7.25M10 2.75c-2 2-3 4.42-3 7.25s1 5.25 3 7.25",stroke:"currentColor",strokeLinecap:"round",strokeOpacity:"0.55",strokeWidth:"1.2"}),e.jsx("path",{d:"m5.25 12.75 2.6-2.3 2.1 1.55 3.95-4.8",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6"})]})}function v(s,r){try{return new Intl.DateTimeFormat("en-US",{timeZone:r,hour:"2-digit",minute:"2-digit",hour12:!1,timeZoneName:"short"}).format(s)}catch{return r}}function y(s){return/^[A-Z]{2}$/i.test(s)?[...s.toUpperCase()].map(r=>String.fromCodePoint(127462+r.charCodeAt(0)-65)).join(""):s}function N(){return e.jsxs("svg",{"aria-hidden":"true",className:"opacity-50 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5 group-hover:opacity-95",fill:"none",height:"12",viewBox:"0 0 16 16",width:"12",children:[e.jsx("path",{d:"M6 4.5H4.5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2V10",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"1.5"}),e.jsx("path",{d:"M9 2.5h4.5V7M8.25 7.75l5-5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})]})}function C({state:s}){return e.jsx("span",{"aria-hidden":"true",className:"grid h-[30px] w-[30px] shrink-0 place-items-center overflow-hidden rounded-[9px] border border-white/10 shadow-[inset_0_1px_0_rgba(255,255,255,0.12),0_4px_10px_-7px_rgba(0,0,0,0.8)]",style:{background:"linear-gradient(150deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02) 48%, rgba(0,0,0,0.22))"},children:e.jsx("span",{className:"text-[1.15rem] leading-none drop-shadow-[0_1px_3px_rgba(0,0,0,0.5)]",children:y(s.country)})})}function _({state:s}){const r=u[s.status],n=s.status==="closed";return e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border px-2 py-[3px] font-dmsans text-[0.5rem] font-bold uppercase leading-none tracking-[0.09em]",style:{borderColor:n?"rgba(255,255,255,0.1)":`${r.color}33`,background:r.chipBg,color:n?"rgba(255,255,255,0.62)":r.color},children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:n?"rgba(255,255,255,0.45)":r.color,boxShadow:s.status==="open"?`0 0 6px ${r.color}`:void 0}}),r.label]})}function S({now:s,state:r}){const n=u[r.status],o=b(r.nextChangeMin),c=v(s,r.tz);return e.jsxs("a",{"aria-label":`${r.name} website`,className:"group text-normal relative grid min-h-[42px] grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-3 overflow-hidden rounded-xl border border-white/[0.06] bg-white/[0.022] py-1.5 pr-2.5 pl-3 transition duration-200 hover:-translate-y-px hover:border-white/[0.14] hover:bg-white/[0.05] hover:text-strong focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50",href:r.website,rel:"noreferrer",style:{backgroundImage:n.wash},target:"_blank",title:`${r.name} · ${r.city} · ${r.open}-${r.close}`,children:[e.jsx("span",{"aria-hidden":"true",className:"absolute inset-y-[5px] left-0 w-[3px] rounded-r-full",style:{background:n.rail,opacity:n.railOpacity}}),e.jsx(C,{state:r}),e.jsxs("span",{className:"relative min-w-0 pl-0.5",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[e.jsx("span",{className:"body-sm text-strong truncate font-bold",children:r.name}),e.jsx(N,{})]}),e.jsxs("span",{className:"caption text-soft flex min-w-0 items-center gap-1.5 tabular-nums",children:[e.jsx("span",{className:"truncate",children:r.city}),e.jsx("span",{className:"h-[3px] w-[3px] shrink-0 rounded-full bg-white/25"}),e.jsx("span",{className:"shrink-0",children:c})]})]}),e.jsxs("span",{className:"relative flex min-w-[84px] flex-col items-end gap-1",children:[e.jsx(_,{state:r}),e.jsxs("span",{className:"caption whitespace-nowrap text-right tabular-nums",style:{color:r.status==="closed"?"rgba(255,255,255,0.55)":n.color},children:[n.verb," ",o]})]})]})}function E({config:s}){const[r,n]=d.useState(()=>new Date);d.useEffect(()=>{const a=window.setInterval(()=>n(new Date),3e4);return()=>window.clearInterval(a)},[]);const o=s.exchanges.length?s.exchanges:x,c=o.join(","),i=d.useMemo(()=>{const a=o.map(t=>m[t.toUpperCase()]).filter(t=>!!t).map(t=>g(t,r));return f(a,s.sort)},[c,r,s.sort]);if(i.length===0)return e.jsx(j,{children:"no known exchanges — check the codes"});const p=i.filter(a=>a.status==="open").length;return e.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[e.jsxs("div",{className:"caption text-soft mb-2 flex items-center justify-between gap-3 uppercase tracking-wide",children:[e.jsx("span",{className:"truncate",children:"exchange sessions"}),e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-full border border-white/[0.08] bg-white/[0.045] px-2 py-0.5 tabular-nums",children:[p>0&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:l,boxShadow:`0 0 6px ${l}`}}),e.jsx("span",{className:"text-strong font-bold",children:p}),e.jsxs("span",{className:"text-soft",children:["/ ",i.length," open"]})]})]}),e.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-1 overflow-auto pr-0.5",children:i.map(a=>e.jsx(S,{now:r,state:a},a.code))})]})}const I=w({...h,component:E,titleIcon:k});export{I as marketHoursFrame};
@@ -1 +1 @@
1
- import{r as i,j as a}from"./react-qoZPGuNy.js";import{c as n,f as l,a as h}from"./format-DxkEZcwQ.js";import{f,ce as m,aH as p}from"./index-BHlJHScr.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{S as d}from"./scatter-chart-B78EA7lD.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function x({config:r}){const{entries:o,isLoading:c}=p(),e=i.useMemo(()=>o.filter(t=>t.changePct24h!==void 0&&t.marketCapUsd>0).slice(0,r.limit).map(t=>({id:t.symbol,label:t.symbol,x:t.changePct24h,y:t.marketCapUsd,weight:t.marketCapUsd,color:n(t.changePct24h)})),[o,r.limit]);return c?a.jsx(s,{loading:!0,children:"loading markets…"}):e.length===0?a.jsx(s,{children:"no market data yet"}):a.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[a.jsx(d,{data:e,yScale:"log",height:210,zeroXLine:!0,formatX:h,formatY:l,maxLabels:10}),a.jsxs("div",{className:"caption text-soft text-center",children:["24h change (x) vs market cap (y, log) · top ",e.length]})]})}const b=f({...m,component:x});export{b as marketScatterFrame};
1
+ import{r as i,j as a}from"./react-qoZPGuNy.js";import{c as n,f as l,a as h}from"./format-DxkEZcwQ.js";import{f,ce as m,aH as p}from"./index-BJ1Zyy42.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{S as d}from"./scatter-chart-B78EA7lD.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function x({config:r}){const{entries:o,isLoading:c}=p(),e=i.useMemo(()=>o.filter(t=>t.changePct24h!==void 0&&t.marketCapUsd>0).slice(0,r.limit).map(t=>({id:t.symbol,label:t.symbol,x:t.changePct24h,y:t.marketCapUsd,weight:t.marketCapUsd,color:n(t.changePct24h)})),[o,r.limit]);return c?a.jsx(s,{loading:!0,children:"loading markets…"}):e.length===0?a.jsx(s,{children:"no market data yet"}):a.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[a.jsx(d,{data:e,yScale:"log",height:210,zeroXLine:!0,formatX:h,formatY:l,maxLabels:10}),a.jsxs("div",{className:"caption text-soft text-center",children:["24h change (x) vs market cap (y, log) · top ",e.length]})]})}const b=f({...m,component:x});export{b as marketScatterFrame};
@@ -1,4 +1,4 @@
1
- import{j as e}from"./react-qoZPGuNy.js";import{f as i,aT as r}from"./index-BHlJHScr.js";r.schema;const s={slow:24,normal:14,fast:8},m=`
1
+ import{j as e}from"./react-qoZPGuNy.js";import{f as i,aT as r}from"./index-BJ1Zyy42.js";r.schema;const s={slow:24,normal:14,fast:8},m=`
2
2
  .zf-marquee {
3
3
  display: flex;
4
4
  align-items: center;
@@ -1 +1 @@
1
- import{r as M,j as l}from"./react-qoZPGuNy.js";import{z as d,Z as m,M as y}from"./cycle-shared-XoGVsOjC.js";import{D as g,U as x}from"./format-DxkEZcwQ.js";import{s as O,t as b,w as z}from"./indicators-Cw7CVPn4.js";import{f as j,bn as c,bo as w}from"./index-BHlJHScr.js";import{F as u}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";c.schema;function C({config:p}){const{history:e,isLoading:f}=w("btc"),t=M.useMemo(()=>{const i=e.map(o=>o.value),h=O(i,200),n=[];for(let o=0;o<e.length;o++){const a=h[o];a!==null&&a>0&&n.push({time:e[o].time,value:i[o]/a})}return n},[e]);if(f)return l.jsx(u,{loading:!0,children:"loading Mayer Multiple…"});if(t.length===0)return l.jsx(u,{children:"not enough price history yet"});const s=t[t.length-1].value,r=d(s,[{upTo:.8,zone:{label:"Value",color:x}},{upTo:1,zone:{label:"Accumulation",color:m}},{upTo:2.4,zone:{label:"Neutral",color:m}}],{label:"Overheated",color:g});return l.jsx(y,{caption:"Mayer Multiple · price / 200DMA",headline:s.toFixed(2),headlineColor:r.color,zone:r,sparkline:b(t,z(p.window)),sparkColor:r.color})}const U=j({...c,component:C});export{U as mayerMultipleFrame};
1
+ import{r as M,j as l}from"./react-qoZPGuNy.js";import{z as d,Z as m,M as y}from"./cycle-shared-XoGVsOjC.js";import{D as g,U as x}from"./format-DxkEZcwQ.js";import{s as O,t as b,w as z}from"./indicators-Cw7CVPn4.js";import{f as j,bn as c,bo as w}from"./index-BJ1Zyy42.js";import{F as u}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";c.schema;function C({config:p}){const{history:e,isLoading:f}=w("btc"),t=M.useMemo(()=>{const i=e.map(o=>o.value),h=O(i,200),n=[];for(let o=0;o<e.length;o++){const a=h[o];a!==null&&a>0&&n.push({time:e[o].time,value:i[o]/a})}return n},[e]);if(f)return l.jsx(u,{loading:!0,children:"loading Mayer Multiple…"});if(t.length===0)return l.jsx(u,{children:"not enough price history yet"});const s=t[t.length-1].value,r=d(s,[{upTo:.8,zone:{label:"Value",color:x}},{upTo:1,zone:{label:"Accumulation",color:m}},{upTo:2.4,zone:{label:"Neutral",color:m}}],{label:"Overheated",color:g});return l.jsx(y,{caption:"Mayer Multiple · price / 200DMA",headline:s.toFixed(2),headlineColor:r.color,zone:r,sparkline:b(t,z(p.window)),sparkColor:r.color})}const U=j({...c,component:C});export{U as mayerMultipleFrame};
@@ -1 +1 @@
1
- import{r as i,j as e}from"./react-qoZPGuNy.js";import{f as c}from"./btc-shared-yOWoU9Im.js";import{f as p,cX as n,a$ as d}from"./index-BHlJHScr.js";import{F as m}from"./ui-Bq3RQsdJ.js";import{B as f}from"./bar-chart-DCMbxUJx.js";import"./format-DxkEZcwQ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";n.schema;function u({config:r}){const{state:o,isLoading:l}=d(),t=i.useMemo(()=>((o==null?void 0:o.projected)??[]).slice(0,r.projectedBlocks).map((a,s)=>({label:s===0?"next":`+${s}`,value:Math.round(a.medianFee),color:c(a.medianFee)})),[o,r.projectedBlocks]);return l?e.jsx(m,{loading:!0,children:"loading fee curve…"}):t.length===0?e.jsx(m,{children:"no mempool data yet"}):e.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[e.jsx(f,{data:t,height:180}),e.jsxs("div",{className:"caption text-soft text-center",children:["median fee (sat/vB) · next ",t.length," projected blocks"]})]})}const M=p({...n,component:u});export{M as mempoolFeeCurveFrame};
1
+ import{r as i,j as e}from"./react-qoZPGuNy.js";import{f as c}from"./btc-shared-yOWoU9Im.js";import{f as p,cX as n,a$ as d}from"./index-BJ1Zyy42.js";import{F as m}from"./ui-Bq3RQsdJ.js";import{B as f}from"./bar-chart-DCMbxUJx.js";import"./format-DxkEZcwQ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";n.schema;function u({config:r}){const{state:o,isLoading:l}=d(),t=i.useMemo(()=>((o==null?void 0:o.projected)??[]).slice(0,r.projectedBlocks).map((a,s)=>({label:s===0?"next":`+${s}`,value:Math.round(a.medianFee),color:c(a.medianFee)})),[o,r.projectedBlocks]);return l?e.jsx(m,{loading:!0,children:"loading fee curve…"}):t.length===0?e.jsx(m,{children:"no mempool data yet"}):e.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[e.jsx(f,{data:t,height:180}),e.jsxs("div",{className:"caption text-soft text-center",children:["median fee (sat/vB) · next ",t.length," projected blocks"]})]})}const M=p({...n,component:u});export{M as mempoolFeeCurveFrame};
@@ -1 +1 @@
1
- import{r as f,j as a}from"./react-qoZPGuNy.js";import{b as h}from"./format-DxkEZcwQ.js";import{f as P,b6 as u,b7 as b}from"./index-BHlJHScr.js";import{T as g,a as x}from"./treemap-leaf-QG-L-SIG.js";import{F as p}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";u.schema;function j({width:o,height:t,data:r}){const s=h(r.sharePct,1);return a.jsx(x,{width:o,height:t,label:r.id,secondary:s,title:`${r.id} · ${s} of blocks`})}function C({config:o}){const{pools:t,isLoading:r}=b(o.window),s=f.useMemo(()=>{const n=(t==null?void 0:t.pools)??[],l=n.slice(0,o.topN).map(e=>({id:e.name,value:e.blockCount,sharePct:e.sharePct})),i=n.slice(o.topN);if(i.length>0){const e=i.reduce((c,m)=>c+m.blockCount,0),d=i.reduce((c,m)=>c+m.sharePct,0);e>0&&l.push({id:"Other",value:e,sharePct:d})}return l},[t,o.topN]);return r?a.jsx(p,{loading:!0,children:"loading pools…"}):s.length===0?a.jsx(p,{children:"no mining data yet"}):a.jsx(g,{data:s,LeafComponent:j,getColorValue:n=>n.sharePct})}const y=P({...u,component:C});export{y as miningPoolsFrame};
1
+ import{r as f,j as a}from"./react-qoZPGuNy.js";import{b as h}from"./format-DxkEZcwQ.js";import{f as P,b6 as u,b7 as b}from"./index-BJ1Zyy42.js";import{T as g,a as x}from"./treemap-leaf-QG-L-SIG.js";import{F as p}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";u.schema;function j({width:o,height:t,data:r}){const s=h(r.sharePct,1);return a.jsx(x,{width:o,height:t,label:r.id,secondary:s,title:`${r.id} · ${s} of blocks`})}function C({config:o}){const{pools:t,isLoading:r}=b(o.window),s=f.useMemo(()=>{const n=(t==null?void 0:t.pools)??[],l=n.slice(0,o.topN).map(e=>({id:e.name,value:e.blockCount,sharePct:e.sharePct})),i=n.slice(o.topN);if(i.length>0){const e=i.reduce((c,m)=>c+m.blockCount,0),d=i.reduce((c,m)=>c+m.sharePct,0);e>0&&l.push({id:"Other",value:e,sharePct:d})}return l},[t,o.topN]);return r?a.jsx(p,{loading:!0,children:"loading pools…"}):s.length===0?a.jsx(p,{children:"no mining data yet"}):a.jsx(g,{data:s,LeafComponent:j,getColorValue:n=>n.sharePct})}const y=P({...u,component:C});export{y as miningPoolsFrame};
@@ -1 +1 @@
1
- import{r as d,j as s}from"./react-qoZPGuNy.js";import{b as h}from"./format-DxkEZcwQ.js";import{f as j,cY as x,b7 as P}from"./index-BHlJHScr.js";import{F as p}from"./ui-Bq3RQsdJ.js";import{C as u}from"./chart-utils-DGogNvJT.js";import{P as N}from"./pie-chart-BIxKuHm-.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";x.schema;function b({config:n}){const{pools:l,isLoading:f}=P(n.window),a=d.useMemo(()=>{const e=(l==null?void 0:l.pools)??[],r=e.slice(0,n.topN),c=e.slice(n.topN),i=r.map(t=>({name:t.name,value:t.blockCount,sharePct:t.sharePct})),m=c.reduce((t,o)=>t+o.blockCount,0);return m>0&&i.push({name:"Other",value:m,sharePct:c.reduce((t,o)=>t+o.sharePct,0)}),i.map((t,o)=>({...t,color:u[o%u.length]}))},[l,n.topN]),g=d.useMemo(()=>[...a].filter(e=>e.name!=="Other").sort((e,r)=>r.sharePct-e.sharePct).slice(0,3).reduce((e,r)=>e+r.sharePct,0),[a]);return f?s.jsx(p,{loading:!0,children:"loading pools…"}):a.length===0?s.jsx(p,{children:"no mining data yet"}):s.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-4",children:[s.jsx(N,{data:a,width:188,height:188,innerRadius:54,outerRadius:86,colors:a.map(e=>e.color),children:s.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[s.jsx("span",{className:"caption text-soft uppercase",children:"top 3"}),s.jsx("span",{className:"metric-lg text-strong leading-none",children:h(g,0)})]})}),s.jsx("div",{className:"flex w-full max-w-xs flex-wrap justify-center gap-x-4 gap-y-1.5",children:a.map(e=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full",style:{background:e.color}}),s.jsx("span",{className:"body-sm text-soft",children:e.name}),s.jsx("span",{className:"body-sm text-normal font-bold tabular-nums",children:h(e.sharePct,1)})]},e.name))})]})}const E=j({...x,component:b});export{E as miningPoolsShareFrame};
1
+ import{r as d,j as s}from"./react-qoZPGuNy.js";import{b as h}from"./format-DxkEZcwQ.js";import{f as j,cY as x,b7 as P}from"./index-BJ1Zyy42.js";import{F as p}from"./ui-Bq3RQsdJ.js";import{C as u}from"./chart-utils-DGogNvJT.js";import{P as N}from"./pie-chart-BIxKuHm-.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";x.schema;function b({config:n}){const{pools:l,isLoading:f}=P(n.window),a=d.useMemo(()=>{const e=(l==null?void 0:l.pools)??[],r=e.slice(0,n.topN),c=e.slice(n.topN),i=r.map(t=>({name:t.name,value:t.blockCount,sharePct:t.sharePct})),m=c.reduce((t,o)=>t+o.blockCount,0);return m>0&&i.push({name:"Other",value:m,sharePct:c.reduce((t,o)=>t+o.sharePct,0)}),i.map((t,o)=>({...t,color:u[o%u.length]}))},[l,n.topN]),g=d.useMemo(()=>[...a].filter(e=>e.name!=="Other").sort((e,r)=>r.sharePct-e.sharePct).slice(0,3).reduce((e,r)=>e+r.sharePct,0),[a]);return f?s.jsx(p,{loading:!0,children:"loading pools…"}):a.length===0?s.jsx(p,{children:"no mining data yet"}):s.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-4",children:[s.jsx(N,{data:a,width:188,height:188,innerRadius:54,outerRadius:86,colors:a.map(e=>e.color),children:s.jsxs("div",{className:"flex flex-col items-center gap-0.5",children:[s.jsx("span",{className:"caption text-soft uppercase",children:"top 3"}),s.jsx("span",{className:"metric-lg text-strong leading-none",children:h(g,0)})]})}),s.jsx("div",{className:"flex w-full max-w-xs flex-wrap justify-center gap-x-4 gap-y-1.5",children:a.map(e=>s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full",style:{background:e.color}}),s.jsx("span",{className:"body-sm text-soft",children:e.name}),s.jsx("span",{className:"body-sm text-normal font-bold tabular-nums",children:h(e.sharePct,1)})]},e.name))})]})}const E=j({...x,component:b});export{E as miningPoolsShareFrame};
@@ -1 +1 @@
1
- import{r as j,j as e}from"./react-qoZPGuNy.js";import{b as d}from"./format-DxkEZcwQ.js";import{f as I,dh as f,S as x}from"./index-BHlJHScr.js";import{F as h}from"./ui-Bq3RQsdJ.js";import{C as y}from"./chart-utils-DGogNvJT.js";import{S as C}from"./index-DuNO-RcB.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const M="CUUR0000SA0",Y="LNS14000000";function L(i){const p=new Map(i.map(n=>[n.time,n.value]));return i.flatMap(n=>{const a=new Date(n.time),r=Date.UTC(a.getUTCFullYear()-1,a.getUTCMonth(),1),m=p.get(r);return m===void 0||m<=0?[]:[{...n,value:(n.value/m-1)*100}]})}function U(i){return i.toLocaleDateString("en-US",{month:"short",year:"2-digit",timeZone:"UTC"})}function N({config:i}){const n=new Date().getUTCFullYear(),a=n-3,{series:r,isLoading:m}=x(M,a,n),{series:c,isLoading:g}=x(Y,a,n),s=j.useMemo(()=>{if(!r||!c)return[];const t=new Map(L(r.points).map(o=>[o.time,o.value]));return c.points.flatMap(o=>{const u=t.get(o.time);return u===void 0?[]:[{time:o.time,date:o.date,cpiYoy:u,unemploymentRate:o.value}]}).slice(-i.months)},[r,c,i.months]);if((m||g)&&s.length===0)return e.jsx(h,{loading:!0,children:"loading misery index…"});if(s.length===0)return e.jsx(h,{children:"no misery-index data yet"});const l=s.at(-1),S=l.cpiYoy+l.unemploymentRate,v=[{id:"unemployment",name:"Unemployment",color:y[0],data:s.map(t=>({date:new Date(t.time).toISOString(),value:t.unemploymentRate}))},{id:"cpi",name:"CPI YoY",color:y[2],data:s.map(t=>({date:new Date(t.time).toISOString(),value:t.cpiYoy}))}];return e.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"caption text-soft uppercase",children:"misery index"}),e.jsx("div",{className:"body-sm text-normal",children:l.date})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"metric-lg text-strong leading-none",children:d(S,1)}),e.jsx("div",{className:"caption text-soft mt-1",children:"CPI YoY + unemployment"})]})]}),e.jsx(C,{series:v,height:200,formatXAxis:U,formatYAxis:t=>d(t,0),formatValue:t=>d(t,1)}),e.jsxs("div",{className:"caption text-soft text-center",children:["BLS CPI-U + unemployment · ",s.length," monthly observations"]})]})}const A=I({...f,component:N});export{A as miseryIndexFrame};
1
+ import{r as j,j as e}from"./react-qoZPGuNy.js";import{b as d}from"./format-DxkEZcwQ.js";import{f as I,dh as f,S as x}from"./index-BJ1Zyy42.js";import{F as h}from"./ui-Bq3RQsdJ.js";import{C as y}from"./chart-utils-DGogNvJT.js";import{S as C}from"./index-DuNO-RcB.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";f.schema;const M="CUUR0000SA0",Y="LNS14000000";function L(i){const p=new Map(i.map(n=>[n.time,n.value]));return i.flatMap(n=>{const a=new Date(n.time),r=Date.UTC(a.getUTCFullYear()-1,a.getUTCMonth(),1),m=p.get(r);return m===void 0||m<=0?[]:[{...n,value:(n.value/m-1)*100}]})}function U(i){return i.toLocaleDateString("en-US",{month:"short",year:"2-digit",timeZone:"UTC"})}function N({config:i}){const n=new Date().getUTCFullYear(),a=n-3,{series:r,isLoading:m}=x(M,a,n),{series:c,isLoading:g}=x(Y,a,n),s=j.useMemo(()=>{if(!r||!c)return[];const t=new Map(L(r.points).map(o=>[o.time,o.value]));return c.points.flatMap(o=>{const u=t.get(o.time);return u===void 0?[]:[{time:o.time,date:o.date,cpiYoy:u,unemploymentRate:o.value}]}).slice(-i.months)},[r,c,i.months]);if((m||g)&&s.length===0)return e.jsx(h,{loading:!0,children:"loading misery index…"});if(s.length===0)return e.jsx(h,{children:"no misery-index data yet"});const l=s.at(-1),S=l.cpiYoy+l.unemploymentRate,v=[{id:"unemployment",name:"Unemployment",color:y[0],data:s.map(t=>({date:new Date(t.time).toISOString(),value:t.unemploymentRate}))},{id:"cpi",name:"CPI YoY",color:y[2],data:s.map(t=>({date:new Date(t.time).toISOString(),value:t.cpiYoy}))}];return e.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"caption text-soft uppercase",children:"misery index"}),e.jsx("div",{className:"body-sm text-normal",children:l.date})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"metric-lg text-strong leading-none",children:d(S,1)}),e.jsx("div",{className:"caption text-soft mt-1",children:"CPI YoY + unemployment"})]})]}),e.jsx(C,{series:v,height:200,formatXAxis:U,formatYAxis:t=>d(t,0),formatValue:t=>d(t,1)}),e.jsxs("div",{className:"caption text-soft text-center",children:["BLS CPI-U + unemployment · ",s.length," monthly observations"]})]})}const A=I({...f,component:N});export{A as miseryIndexFrame};
@@ -1 +1 @@
1
- import{j as t}from"./react-qoZPGuNy.js";import{A as n}from"./index-BHlJHScr.js";import{e as r,a as d,c as l}from"./format-DxkEZcwQ.js";function c({symbol:i,label:a,price:s,changePct:o,logoSize:e=16,gap:m="gap-2"}){return t.jsxs("div",{className:`grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center ${m}`,title:s!==void 0?`${a} · ${r(s)}`:a,children:[t.jsx(n,{symbol:i,size:e}),t.jsx("span",{className:"body-sm truncate font-bold text-strong",children:a}),t.jsx("span",{className:"caption text-soft text-right tabular-nums",children:s!==void 0?r(s):"—"}),t.jsx("span",{className:`caption text-right font-bold tabular-nums${o===void 0?" text-disabled":""}`,style:o!==void 0?{color:l(o)}:void 0,children:o!==void 0?d(o):"…"})]})}export{c as M};
1
+ import{j as t}from"./react-qoZPGuNy.js";import{A as n}from"./index-BJ1Zyy42.js";import{e as r,a as d,c as l}from"./format-DxkEZcwQ.js";function c({symbol:i,label:a,price:s,changePct:o,logoSize:e=16,gap:m="gap-2"}){return t.jsxs("div",{className:`grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center ${m}`,title:s!==void 0?`${a} · ${r(s)}`:a,children:[t.jsx(n,{symbol:i,size:e}),t.jsx("span",{className:"body-sm truncate font-bold text-strong",children:a}),t.jsx("span",{className:"caption text-soft text-right tabular-nums",children:s!==void 0?r(s):"—"}),t.jsx("span",{className:`caption text-right font-bold tabular-nums${o===void 0?" text-disabled":""}`,style:o!==void 0?{color:l(o)}:void 0,children:o!==void 0?d(o):"…"})]})}export{c as M};
@@ -1 +1 @@
1
- import{r as d,j as r}from"./react-qoZPGuNy.js";import{a as p,D as f,U as u}from"./format-DxkEZcwQ.js";import{f as x,cp as l,bg as g}from"./index-BHlJHScr.js";import{F as c}from"./ui-Bq3RQsdJ.js";import{B as v}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";l.schema;function j({config:a}){const{entries:i,isLoading:h}=g(),e=a.window,n=d.useMemo(()=>{const o=i.filter(t=>{var s;return Number.isFinite((s=t.changePct)==null?void 0:s[e])&&t.volume24hUsd>0}).sort((t,s)=>s.changePct[e]-t.changePct[e]),m=Math.floor(a.limit/2);return(o.length<=a.limit?o:[...o.slice(0,m),...o.slice(-m)]).map(t=>({label:t.symbol,value:t.changePct[e]}))},[i,e,a.limit]);return h?r.jsx(c,{loading:!0,children:"loading movers…"}):n.length===0?r.jsx(c,{children:"no mover data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(v,{data:n,orientation:"horizontal",color:u,negativeColor:f,height:Math.max(n.length*22,96),formatValue:p}),r.jsxs("div",{className:"caption text-soft text-center",children:["top movers · ",e," change"]})]})}const N=x({...l,component:j});export{N as moversBarsFrame};
1
+ import{r as d,j as r}from"./react-qoZPGuNy.js";import{a as p,D as f,U as u}from"./format-DxkEZcwQ.js";import{f as x,cp as l,bg as g}from"./index-BJ1Zyy42.js";import{F as c}from"./ui-Bq3RQsdJ.js";import{B as v}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";l.schema;function j({config:a}){const{entries:i,isLoading:h}=g(),e=a.window,n=d.useMemo(()=>{const o=i.filter(t=>{var s;return Number.isFinite((s=t.changePct)==null?void 0:s[e])&&t.volume24hUsd>0}).sort((t,s)=>s.changePct[e]-t.changePct[e]),m=Math.floor(a.limit/2);return(o.length<=a.limit?o:[...o.slice(0,m),...o.slice(-m)]).map(t=>({label:t.symbol,value:t.changePct[e]}))},[i,e,a.limit]);return h?r.jsx(c,{loading:!0,children:"loading movers…"}):n.length===0?r.jsx(c,{children:"no mover data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(v,{data:n,orientation:"horizontal",color:u,negativeColor:f,height:Math.max(n.length*22,96),formatValue:p}),r.jsxs("div",{className:"caption text-soft text-center",children:["top movers · ",e," change"]})]})}const N=x({...l,component:j});export{N as moversBarsFrame};
@@ -1 +1 @@
1
- import{r as b,j as h}from"./react-qoZPGuNy.js";import{f as g,cn as m,bg as d,af as p}from"./index-BHlJHScr.js";import{B as u}from"./bubbles-shared-DlmjtiIA.js";import{c,a as f}from"./format-DxkEZcwQ.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function P({config:a}){const{entries:s,isLoading:i}=d(),o=a.window,l=b.useMemo(()=>{const t=s.filter(e=>{var r;return Number.isFinite((r=e.changePct)==null?void 0:r[o])&&e.volume24hUsd>0}).sort((e,r)=>r.changePct[o]-e.changePct[o]),n=Math.floor(a.limit/2);return(t.length<=a.limit?t:[...t.slice(0,n),...t.slice(-n)]).map(e=>({id:e.symbol,label:e.symbol,value:Math.max(Math.abs(e.changePct[o]),.05),imageUrl:p(e.symbol),color:c(e.changePct[o]),borderColor:c(e.changePct[o]),changePct:e.changePct[o]}))},[s,o,a.limit]);return h.jsx(u,{nodes:l,isLoading:i,loadingText:"loading movers…",emptyText:"no mover data yet",caption:`area by ${o} move · green gainers / red losers`,formatTitle:t=>`${t.label} · ${f(t.changePct)} ${o}`})}const j=g({...m,component:P});export{j as moversBubblesFrame};
1
+ import{r as b,j as h}from"./react-qoZPGuNy.js";import{f as g,cn as m,bg as d,af as p}from"./index-BJ1Zyy42.js";import{B as u}from"./bubbles-shared-DlmjtiIA.js";import{c,a as f}from"./format-DxkEZcwQ.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function P({config:a}){const{entries:s,isLoading:i}=d(),o=a.window,l=b.useMemo(()=>{const t=s.filter(e=>{var r;return Number.isFinite((r=e.changePct)==null?void 0:r[o])&&e.volume24hUsd>0}).sort((e,r)=>r.changePct[o]-e.changePct[o]),n=Math.floor(a.limit/2);return(t.length<=a.limit?t:[...t.slice(0,n),...t.slice(-n)]).map(e=>({id:e.symbol,label:e.symbol,value:Math.max(Math.abs(e.changePct[o]),.05),imageUrl:p(e.symbol),color:c(e.changePct[o]),borderColor:c(e.changePct[o]),changePct:e.changePct[o]}))},[s,o,a.limit]);return h.jsx(u,{nodes:l,isLoading:i,loadingText:"loading movers…",emptyText:"no mover data yet",caption:`area by ${o} move · green gainers / red losers`,formatTitle:t=>`${t.label} · ${f(t.changePct)} ${o}`})}const j=g({...m,component:P});export{j as moversBubblesFrame};
@@ -1 +1 @@
1
- import{j as a}from"./react-qoZPGuNy.js";import{z as l,M as s,Z as m,a as c}from"./cycle-shared-XoGVsOjC.js";import{e as v,D as d,U as p}from"./format-DxkEZcwQ.js";import{t as u,w as f}from"./indicators-Cw7CVPn4.js";import{f as O,bh as i,bi as h}from"./index-BHlJHScr.js";import{F as e}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function R({config:t}){const{valuation:o,isLoading:n}=h();if(n)return a.jsx(e,{loading:!0,children:"loading MVRV…"});if(!o)return a.jsx(e,{children:"no on-chain data yet"});const r=l(o.mvrv,[{upTo:1,zone:{label:"Undervalued",color:p}},{upTo:2,zone:{label:"Fair value",color:m}},{upTo:3,zone:{label:"Elevated",color:c}}],{label:"Overvalued",color:d});return a.jsx(s,{caption:"MVRV Ratio",headline:o.mvrv.toFixed(2),headlineColor:r.color,zone:r,sub:`Z ${o.mvrvZScore.toFixed(2)} · RP ${v(o.realizedPrice)}`,sparkline:u(o.history.mvrv,f(t.window)),sparkColor:r.color})}const V=O({...i,component:R});export{V as mvrvFrame};
1
+ import{j as a}from"./react-qoZPGuNy.js";import{z as l,M as s,Z as m,a as c}from"./cycle-shared-XoGVsOjC.js";import{e as v,D as d,U as p}from"./format-DxkEZcwQ.js";import{t as u,w as f}from"./indicators-Cw7CVPn4.js";import{f as O,bh as i,bi as h}from"./index-BJ1Zyy42.js";import{F as e}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function R({config:t}){const{valuation:o,isLoading:n}=h();if(n)return a.jsx(e,{loading:!0,children:"loading MVRV…"});if(!o)return a.jsx(e,{children:"no on-chain data yet"});const r=l(o.mvrv,[{upTo:1,zone:{label:"Undervalued",color:p}},{upTo:2,zone:{label:"Fair value",color:m}},{upTo:3,zone:{label:"Elevated",color:c}}],{label:"Overvalued",color:d});return a.jsx(s,{caption:"MVRV Ratio",headline:o.mvrv.toFixed(2),headlineColor:r.color,zone:r,sub:`Z ${o.mvrvZScore.toFixed(2)} · RP ${v(o.realizedPrice)}`,sparkline:u(o.history.mvrv,f(t.window)),sparkColor:r.color})}const V=O({...i,component:R});export{V as mvrvFrame};
@@ -1 +1 @@
1
- import{r as m,j as t}from"./react-qoZPGuNy.js";import{w as c,a as d,t as u}from"./indicators-Cw7CVPn4.js";import{f,d4 as s,bi as h}from"./index-BHlJHScr.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{C as p,a as l}from"./chart-utils-DGogNvJT.js";import{M as v}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";s.schema;function S({config:e}){const{valuation:a,isLoading:n}=h(),o=m.useMemo(()=>{if(!a)return[];const r=c(e.window);return[{id:"mvrv-zscore",name:"MVRV Z-Score",color:p[0],data:d(u(a.history.mvrvZScore,r))}]},[a,e.window]);return n?t.jsx(i,{loading:!0,children:"loading MVRV Z-Score…"}):!a||o.every(r=>r.data.length===0)?t.jsx(i,{children:"no on-chain data yet"}):t.jsx(v,{series:o,timeframe:l.YTD,height:220,formatValue:r=>r.toFixed(2)})}const F=f({...s,component:S});export{F as mvrvZscoreChartFrame};
1
+ import{r as m,j as t}from"./react-qoZPGuNy.js";import{w as c,a as d,t as u}from"./indicators-Cw7CVPn4.js";import{f,d4 as s,bi as h}from"./index-BJ1Zyy42.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{C as p,a as l}from"./chart-utils-DGogNvJT.js";import{M as v}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";s.schema;function S({config:e}){const{valuation:a,isLoading:n}=h(),o=m.useMemo(()=>{if(!a)return[];const r=c(e.window);return[{id:"mvrv-zscore",name:"MVRV Z-Score",color:p[0],data:d(u(a.history.mvrvZScore,r))}]},[a,e.window]);return n?t.jsx(i,{loading:!0,children:"loading MVRV Z-Score…"}):!a||o.every(r=>r.data.length===0)?t.jsx(i,{children:"no on-chain data yet"}):t.jsx(v,{series:o,timeframe:l.YTD,height:220,formatValue:r=>r.toFixed(2)})}const F=f({...s,component:S});export{F as mvrvZscoreChartFrame};
@@ -1 +1 @@
1
- import{r as m,j as t}from"./react-qoZPGuNy.js";import{f as a}from"./format-DxkEZcwQ.js";import{f as x,U as o,V as h}from"./index-BHlJHScr.js";import{F as l}from"./ui-Bq3RQsdJ.js";import{M as p}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function u({config:n}){const{debt:e,isLoading:d}=h(n.trendDays),c=m.useMemo(()=>((e==null?void 0:e.trend)??[]).map(r=>({date:new Date(r.time).toISOString(),value:r.total})),[e==null?void 0:e.trend]);if(d)return t.jsx(l,{loading:!0,children:"loading national debt…"});if(!e)return t.jsx(l,{children:"no debt data yet"});const s=e.trend[0],i=s?e.total-s.total:null;return t.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"total public debt"}),t.jsxs("div",{className:"body-sm text-normal",children:["as of ",e.date]})]}),t.jsx("div",{className:"caption text-soft text-right",children:"daily"})]}),t.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-x-3 gap-y-1",children:[t.jsx("div",{className:"metric-xl text-strong leading-none",children:a(e.total)}),i!==null&&s&&t.jsxs("div",{className:"min-w-0 text-right",children:[t.jsxs("div",{className:"body-md text-normal font-bold tabular-nums",children:[i>=0?"+":"",a(i)]}),t.jsxs("div",{className:"caption text-soft truncate",children:["since ",s.date]})]})]}),t.jsx(p,{data:c,width:210,height:42,color:"hsl(var(--zf-accent-hue, 242) 85% 72%)"}),n.showSplit&&t.jsxs("div",{className:"grid grid-cols-2 gap-1.5 border-t border-white/[0.08] pt-2",children:[t.jsxs("div",{className:"rounded bg-white/[0.04] px-2 py-1.5",children:[t.jsx("div",{className:"caption text-soft truncate",children:"Held by public"}),t.jsx("div",{className:"body-sm text-strong font-bold tabular-nums",children:a(e.heldByPublic)})]}),t.jsxs("div",{className:"rounded bg-white/[0.04] px-2 py-1.5",children:[t.jsx("div",{className:"caption text-soft truncate",children:"Intragovernmental"}),t.jsx("div",{className:"body-sm text-strong font-bold tabular-nums",children:a(e.intragovernmental)})]})]})]})}const w=x({...o,component:u});export{w as nationalDebtFrame};
1
+ import{r as m,j as t}from"./react-qoZPGuNy.js";import{f as a}from"./format-DxkEZcwQ.js";import{f as x,U as o,V as h}from"./index-BJ1Zyy42.js";import{F as l}from"./ui-Bq3RQsdJ.js";import{M as p}from"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function u({config:n}){const{debt:e,isLoading:d}=h(n.trendDays),c=m.useMemo(()=>((e==null?void 0:e.trend)??[]).map(r=>({date:new Date(r.time).toISOString(),value:r.total})),[e==null?void 0:e.trend]);if(d)return t.jsx(l,{loading:!0,children:"loading national debt…"});if(!e)return t.jsx(l,{children:"no debt data yet"});const s=e.trend[0],i=s?e.total-s.total:null;return t.jsxs("div",{className:"flex h-full min-h-0 flex-col justify-center gap-3",children:[t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"caption text-soft uppercase",children:"total public debt"}),t.jsxs("div",{className:"body-sm text-normal",children:["as of ",e.date]})]}),t.jsx("div",{className:"caption text-soft text-right",children:"daily"})]}),t.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-x-3 gap-y-1",children:[t.jsx("div",{className:"metric-xl text-strong leading-none",children:a(e.total)}),i!==null&&s&&t.jsxs("div",{className:"min-w-0 text-right",children:[t.jsxs("div",{className:"body-md text-normal font-bold tabular-nums",children:[i>=0?"+":"",a(i)]}),t.jsxs("div",{className:"caption text-soft truncate",children:["since ",s.date]})]})]}),t.jsx(p,{data:c,width:210,height:42,color:"hsl(var(--zf-accent-hue, 242) 85% 72%)"}),n.showSplit&&t.jsxs("div",{className:"grid grid-cols-2 gap-1.5 border-t border-white/[0.08] pt-2",children:[t.jsxs("div",{className:"rounded bg-white/[0.04] px-2 py-1.5",children:[t.jsx("div",{className:"caption text-soft truncate",children:"Held by public"}),t.jsx("div",{className:"body-sm text-strong font-bold tabular-nums",children:a(e.heldByPublic)})]}),t.jsxs("div",{className:"rounded bg-white/[0.04] px-2 py-1.5",children:[t.jsx("div",{className:"caption text-soft truncate",children:"Intragovernmental"}),t.jsx("div",{className:"body-sm text-strong font-bold tabular-nums",children:a(e.intragovernmental)})]})]})]})}const w=x({...o,component:u});export{w as nationalDebtFrame};
@@ -1 +1 @@
1
- import{j as s,r as h}from"./react-qoZPGuNy.js";import{F as f}from"./feed-row-mVg1d5Zj.js";import{t as p}from"./format-DxkEZcwQ.js";import{f as x,a5 as i,a6 as b}from"./index-BHlJHScr.js";import{F as t,s as j}from"./ui-Bq3RQsdJ.js";i.schema;const g={coindesk:"CoinDesk",cointelegraph:"Cointelegraph",decrypt:"Decrypt",cnbc:"CNBC Markets",nasdaq:"Nasdaq",stocks:"Google News"};function y({src:e}){const[r,a]=h.useState(!1);return r?null:s.jsx("img",{src:e,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",onError:()=>a(!0),className:"size-12 shrink-0 rounded-md bg-white/[0.04] object-cover ring-1 ring-white/10"})}function w({item:e}){return s.jsx(f,{href:e.url,leading:e.imageUrl?s.jsx(y,{src:e.imageUrl}):void 0,title:e.title,subtitle:e.summary||void 0,meta:e.publishedAt!==void 0?p(e.publishedAt):void 0})}function N({config:e}){var n;const r=e.source==="stocks",a=r&&e.symbols.length===0,c=a?"":e.source,{items:o,isLoading:d}=b(c,r?e.symbols:void 0,e.count);if(a)return s.jsx(t,{children:"add stock symbols to show company headlines"});if(d)return s.jsx(t,{loading:!0,children:"loading headlines…"});const m=((n=o[0])==null?void 0:n.source)??g[e.source]??"news";return s.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[s.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[s.jsx("span",{className:"caption text-soft truncate",children:m}),s.jsx("span",{className:"caption text-soft shrink-0",children:"headlines"})]}),s.jsx("div",{className:j,children:o.length>0?o.map((l,u)=>s.jsx(w,{item:l},`${l.url}-${u}`)):s.jsxs(t,{children:["no headlines ",r?"for these symbols":"available"," — the runtime proxy may be offline"]})})]})}const A=x({...i,component:N});export{A as newsFeedFrame};
1
+ import{j as s,r as h}from"./react-qoZPGuNy.js";import{F as f}from"./feed-row-mVg1d5Zj.js";import{t as p}from"./format-DxkEZcwQ.js";import{f as x,a5 as i,a6 as b}from"./index-BJ1Zyy42.js";import{F as t,s as j}from"./ui-Bq3RQsdJ.js";i.schema;const g={coindesk:"CoinDesk",cointelegraph:"Cointelegraph",decrypt:"Decrypt",cnbc:"CNBC Markets",nasdaq:"Nasdaq",stocks:"Google News"};function y({src:e}){const[r,a]=h.useState(!1);return r?null:s.jsx("img",{src:e,alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",onError:()=>a(!0),className:"size-12 shrink-0 rounded-md bg-white/[0.04] object-cover ring-1 ring-white/10"})}function w({item:e}){return s.jsx(f,{href:e.url,leading:e.imageUrl?s.jsx(y,{src:e.imageUrl}):void 0,title:e.title,subtitle:e.summary||void 0,meta:e.publishedAt!==void 0?p(e.publishedAt):void 0})}function N({config:e}){var n;const r=e.source==="stocks",a=r&&e.symbols.length===0,c=a?"":e.source,{items:o,isLoading:d}=b(c,r?e.symbols:void 0,e.count);if(a)return s.jsx(t,{children:"add stock symbols to show company headlines"});if(d)return s.jsx(t,{loading:!0,children:"loading headlines…"});const m=((n=o[0])==null?void 0:n.source)??g[e.source]??"news";return s.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[s.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[s.jsx("span",{className:"caption text-soft truncate",children:m}),s.jsx("span",{className:"caption text-soft shrink-0",children:"headlines"})]}),s.jsx("div",{className:j,children:o.length>0?o.map((l,u)=>s.jsx(w,{item:l},`${l.url}-${u}`)):s.jsxs(t,{children:["no headlines ",r?"for these symbols":"available"," — the runtime proxy may be offline"]})})]})}const A=x({...i,component:N});export{A as newsFeedFrame};
@@ -1 +1 @@
1
- import{r as m,j as t}from"./react-qoZPGuNy.js";import{d as c}from"./format-DxkEZcwQ.js";import{f,cI as o,c3 as h}from"./index-BHlJHScr.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{B as p}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function x({config:s}){const{collections:r,isLoading:n}=h(),e=m.useMemo(()=>[...r].sort((a,l)=>l.sales24h-a.sales24h).slice(0,s.limit).map(a=>({label:a.name,value:a.sales24h})),[r,s.limit]);return n?t.jsx(i,{loading:!0,children:"loading NFT activity…"}):e.length===0?t.jsx(i,{children:"no NFT data yet"}):t.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[t.jsx(p,{data:e,orientation:"horizontal",height:Math.max(e.length*26,96),formatValue:c}),t.jsx("div",{className:"caption text-soft text-center",children:"NFT sales · last 24h"})]})}const y=f({...o,component:x});export{y as nftActivityBarsFrame};
1
+ import{r as m,j as t}from"./react-qoZPGuNy.js";import{d as c}from"./format-DxkEZcwQ.js";import{f,cI as o,c3 as h}from"./index-BJ1Zyy42.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{B as p}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function x({config:s}){const{collections:r,isLoading:n}=h(),e=m.useMemo(()=>[...r].sort((a,l)=>l.sales24h-a.sales24h).slice(0,s.limit).map(a=>({label:a.name,value:a.sales24h})),[r,s.limit]);return n?t.jsx(i,{loading:!0,children:"loading NFT activity…"}):e.length===0?t.jsx(i,{children:"no NFT data yet"}):t.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[t.jsx(p,{data:e,orientation:"horizontal",height:Math.max(e.length*26,96),formatValue:c}),t.jsx("div",{className:"caption text-soft text-center",children:"NFT sales · last 24h"})]})}const y=f({...o,component:x});export{y as nftActivityBarsFrame};
@@ -1 +1 @@
1
- import{r as m,j as f}from"./react-qoZPGuNy.js";import{B as i}from"./bubbles-shared-DlmjtiIA.js";import{c as l,e as c,a as p}from"./format-DxkEZcwQ.js";import{f as h,cl as s,c3 as d}from"./index-BHlJHScr.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";s.schema;function b({config:e}){const{collections:r,isLoading:n}=d(),a=m.useMemo(()=>r.filter(o=>o.marketCapUsd>0).slice(0,e.topN).map(o=>({id:o.name,label:o.name,value:o.marketCapUsd,color:l(o.floorChangePct24h),borderColor:l(o.floorChangePct24h),floorUsd:o.floorUsd,floorChangePct24h:o.floorChangePct24h})),[r,e.topN]);return f.jsx(i,{nodes:a,isLoading:n,loadingText:"loading NFT floors…",emptyText:"no NFT data",caption:`area by mcap · ring by 24h floor change · top ${a.length}`,formatTitle:o=>{const t=o;return`${t.label} · ${c(t.floorUsd)} floor · ${p(t.floorChangePct24h)}`}})}const T=h({...s,component:b});export{T as nftBubblesFrame};
1
+ import{r as m,j as f}from"./react-qoZPGuNy.js";import{B as i}from"./bubbles-shared-DlmjtiIA.js";import{c as l,e as c,a as p}from"./format-DxkEZcwQ.js";import{f as h,cl as s,c3 as d}from"./index-BJ1Zyy42.js";import"./ui-Bq3RQsdJ.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";s.schema;function b({config:e}){const{collections:r,isLoading:n}=d(),a=m.useMemo(()=>r.filter(o=>o.marketCapUsd>0).slice(0,e.topN).map(o=>({id:o.name,label:o.name,value:o.marketCapUsd,color:l(o.floorChangePct24h),borderColor:l(o.floorChangePct24h),floorUsd:o.floorUsd,floorChangePct24h:o.floorChangePct24h})),[r,e.topN]);return f.jsx(i,{nodes:a,isLoading:n,loadingText:"loading NFT floors…",emptyText:"no NFT data",caption:`area by mcap · ring by 24h floor change · top ${a.length}`,formatTitle:o=>{const t=o;return`${t.label} · ${c(t.floorUsd)} floor · ${p(t.floorChangePct24h)}`}})}const T=h({...s,component:b});export{T as nftBubblesFrame};
@@ -1 +1 @@
1
- import{j as s}from"./react-qoZPGuNy.js";import{e as l,f as i,a as m,c}from"./format-DxkEZcwQ.js";import{M as f}from"./metric-row-BVVhjsjK.js";import{f as d,c2 as r,c3 as h}from"./index-BHlJHScr.js";import{F as e,s as p}from"./ui-Bq3RQsdJ.js";r.schema;function u({config:t}){const{collections:a,isLoading:n}=h();return n?s.jsx(e,{loading:!0,children:"loading NFT floors…"}):a.length===0?s.jsx(e,{children:"no NFT data"}):s.jsx("div",{className:p,children:a.slice(0,t.topN).map(o=>s.jsx(f,{label:o.name,meta:s.jsxs("span",{children:[i(o.volume24hUsd)," vol"," · ",s.jsx("span",{style:{color:c(o.floorChangePct24h)},children:m(o.floorChangePct24h)})]}),value:l(o.floorUsd)},o.id))})}const N=d({...r,component:u});export{N as nftCollectionsFrame};
1
+ import{j as s}from"./react-qoZPGuNy.js";import{e as l,f as i,a as m,c}from"./format-DxkEZcwQ.js";import{M as f}from"./metric-row-BVVhjsjK.js";import{f as d,c2 as r,c3 as h}from"./index-BJ1Zyy42.js";import{F as e,s as p}from"./ui-Bq3RQsdJ.js";r.schema;function u({config:t}){const{collections:a,isLoading:n}=h();return n?s.jsx(e,{loading:!0,children:"loading NFT floors…"}):a.length===0?s.jsx(e,{children:"no NFT data"}):s.jsx("div",{className:p,children:a.slice(0,t.topN).map(o=>s.jsx(f,{label:o.name,meta:s.jsxs("span",{children:[i(o.volume24hUsd)," vol"," · ",s.jsx("span",{style:{color:c(o.floorChangePct24h)},children:m(o.floorChangePct24h)})]}),value:l(o.floorUsd)},o.id))})}const N=d({...r,component:u});export{N as nftCollectionsFrame};
@@ -1 +1 @@
1
- import{r as n,j as r}from"./react-qoZPGuNy.js";import{c,f,a as h}from"./format-DxkEZcwQ.js";import{f as d,cs as i,c3 as p}from"./index-BHlJHScr.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{S as u}from"./scatter-chart-B78EA7lD.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function x(e){return e.length>12?`${e.slice(0,11)}…`:e}function g({config:e}){const{collections:a,isLoading:l}=p(),o=n.useMemo(()=>a.filter(t=>Number.isFinite(t.floorChangePct24h)&&t.volume24hUsd>0).sort((t,m)=>m.marketCapUsd-t.marketCapUsd).slice(0,e.limit).map(t=>({id:t.id,label:x(t.name),x:t.floorChangePct24h,y:t.volume24hUsd,weight:t.marketCapUsd,color:c(t.floorChangePct24h)})),[a,e.limit]);return l?r.jsx(s,{loading:!0,children:"loading NFTs…"}):o.length===0?r.jsx(s,{children:"no NFT data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(u,{data:o,yScale:"log",height:210,zeroXLine:!0,formatX:h,formatY:f,maxLabels:10}),r.jsx("div",{className:"caption text-soft text-center",children:"24h floor change (x) vs 24h volume (y, log)"})]})}const y=d({...i,component:g});export{y as nftScatterFrame};
1
+ import{r as n,j as r}from"./react-qoZPGuNy.js";import{c,f,a as h}from"./format-DxkEZcwQ.js";import{f as d,cs as i,c3 as p}from"./index-BJ1Zyy42.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{S as u}from"./scatter-chart-B78EA7lD.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function x(e){return e.length>12?`${e.slice(0,11)}…`:e}function g({config:e}){const{collections:a,isLoading:l}=p(),o=n.useMemo(()=>a.filter(t=>Number.isFinite(t.floorChangePct24h)&&t.volume24hUsd>0).sort((t,m)=>m.marketCapUsd-t.marketCapUsd).slice(0,e.limit).map(t=>({id:t.id,label:x(t.name),x:t.floorChangePct24h,y:t.volume24hUsd,weight:t.marketCapUsd,color:c(t.floorChangePct24h)})),[a,e.limit]);return l?r.jsx(s,{loading:!0,children:"loading NFTs…"}):o.length===0?r.jsx(s,{children:"no NFT data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(u,{data:o,yScale:"log",height:210,zeroXLine:!0,formatX:h,formatY:f,maxLabels:10}),r.jsx("div",{className:"caption text-soft text-center",children:"24h floor change (x) vs 24h volume (y, log)"})]})}const y=d({...i,component:g});export{y as nftScatterFrame};
@@ -1 +1 @@
1
- import{r as f,j as s}from"./react-qoZPGuNy.js";import{e as i,a as l}from"./format-DxkEZcwQ.js";import{f as p,c8 as m,c3 as c}from"./index-BHlJHScr.js";import{T as d,a as h}from"./treemap-leaf-QG-L-SIG.js";import{F as n}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";m.schema;function u({width:t,height:a,data:e}){const r=i(e.floorUsd);return s.jsx(h,{width:t,height:a,label:e.id,secondary:r,title:`${e.id} · ${r} floor · ${l(e.floorChangePct24h)}`})}function C({config:t}){const{collections:a,isLoading:e}=c(),r=f.useMemo(()=>a.filter(o=>o.marketCapUsd>0).slice(0,t.topN).map(o=>({id:o.name,value:o.marketCapUsd,floorUsd:o.floorUsd,floorChangePct24h:o.floorChangePct24h})),[a,t.topN]);return e?s.jsx(n,{loading:!0,children:"loading NFT floors…"}):r.length===0?s.jsx(n,{children:"no NFT data"}):s.jsx(d,{data:r,LeafComponent:u,getColorValue:o=>o.floorChangePct24h})}const U=p({...m,component:C});export{U as nftTreemapFrame};
1
+ import{r as f,j as s}from"./react-qoZPGuNy.js";import{e as i,a as l}from"./format-DxkEZcwQ.js";import{f as p,c8 as m,c3 as c}from"./index-BJ1Zyy42.js";import{T as d,a as h}from"./treemap-leaf-QG-L-SIG.js";import{F as n}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";m.schema;function u({width:t,height:a,data:e}){const r=i(e.floorUsd);return s.jsx(h,{width:t,height:a,label:e.id,secondary:r,title:`${e.id} · ${r} floor · ${l(e.floorChangePct24h)}`})}function C({config:t}){const{collections:a,isLoading:e}=c(),r=f.useMemo(()=>a.filter(o=>o.marketCapUsd>0).slice(0,t.topN).map(o=>({id:o.name,value:o.marketCapUsd,floorUsd:o.floorUsd,floorChangePct24h:o.floorChangePct24h})),[a,t.topN]);return e?s.jsx(n,{loading:!0,children:"loading NFT floors…"}):r.length===0?s.jsx(n,{children:"no NFT data"}):s.jsx(d,{data:r,LeafComponent:u,getColorValue:o=>o.floorChangePct24h})}const U=p({...m,component:C});export{U as nftTreemapFrame};
@@ -1,3 +1,3 @@
1
- import{j as c,r as d}from"./react-qoZPGuNy.js";import{f as y,a7 as k,a8 as N}from"./index-BHlJHScr.js";import{s as w}from"./ui-Bq3RQsdJ.js";const u={code:"rounded px-1 py-px font-mono text-[0.85em] text-strong",link:"text-highlight underline underline-offset-2 hover:opacity-80",strong:"text-strong font-bold",em:"italic",h1:"body-lg text-strong font-bold",h2:"body-md text-strong font-bold",h3:"body-sm text-strong font-semibold uppercase tracking-wide",list:"space-y-0.5 pl-5"};function E(s){return/^https?:\/\//i.test(s.trim())}function f(s){const e=[];let r="",o=0;const n=()=>{r&&(e.push(r),r="")};let t=0;for(;t<s.length;){const a=s[t],h=s.slice(t);if(a==="`"){const l=s.indexOf("`",t+1);if(l>t){n(),e.push(c.jsx("code",{className:u.code,style:{background:"hsl(0 0% var(--zf-ink-l, 100%) / 0.1)"},children:s.slice(t+1,l)},o++)),t=l+1;continue}}if(a==="["){const l=/^\[([^\]]+)\]\(([^)\s]+)\)/.exec(h);if(l){const[i,m,x]=l;n(),E(x)?e.push(c.jsx("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:u.link,onClick:p=>p.stopPropagation(),children:f(m)},o++)):e.push(c.jsx(d.Fragment,{children:f(m)},o++)),t+=i.length;continue}}if(a==="*"&&s[t+1]==="*"){const l=s.indexOf("**",t+2);if(l>t+1){n(),e.push(c.jsx("strong",{className:u.strong,children:f(s.slice(t+2,l))},o++)),t=l+2;continue}}if(a==="*"){const l=s.indexOf("*",t+1);if(l>t+1){n(),e.push(c.jsx("em",{className:u.em,children:f(s.slice(t+1,l))},o++)),t=l+1;continue}}r+=a,t++}return n(),e}function $(s,e){return c.jsx("p",{className:"leading-snug",children:s.map((r,o)=>c.jsxs(d.Fragment,{children:[o>0&&c.jsx("br",{}),f(r)]},o))},e)}const j=/^(#{1,3})\s+(.*)$/,g=/^\s*[-*]\s+(.*)$/,b=/^\s*\d+\.\s+(.*)$/;function v(s){const e=s.replace(/\r\n?/g,`
1
+ import{j as c,r as d}from"./react-qoZPGuNy.js";import{f as y,a7 as k,a8 as N}from"./index-BJ1Zyy42.js";import{s as w}from"./ui-Bq3RQsdJ.js";const u={code:"rounded px-1 py-px font-mono text-[0.85em] text-strong",link:"text-highlight underline underline-offset-2 hover:opacity-80",strong:"text-strong font-bold",em:"italic",h1:"body-lg text-strong font-bold",h2:"body-md text-strong font-bold",h3:"body-sm text-strong font-semibold uppercase tracking-wide",list:"space-y-0.5 pl-5"};function E(s){return/^https?:\/\//i.test(s.trim())}function f(s){const e=[];let r="",o=0;const n=()=>{r&&(e.push(r),r="")};let t=0;for(;t<s.length;){const a=s[t],h=s.slice(t);if(a==="`"){const l=s.indexOf("`",t+1);if(l>t){n(),e.push(c.jsx("code",{className:u.code,style:{background:"hsl(0 0% var(--zf-ink-l, 100%) / 0.1)"},children:s.slice(t+1,l)},o++)),t=l+1;continue}}if(a==="["){const l=/^\[([^\]]+)\]\(([^)\s]+)\)/.exec(h);if(l){const[i,m,x]=l;n(),E(x)?e.push(c.jsx("a",{href:x,target:"_blank",rel:"noopener noreferrer",className:u.link,onClick:p=>p.stopPropagation(),children:f(m)},o++)):e.push(c.jsx(d.Fragment,{children:f(m)},o++)),t+=i.length;continue}}if(a==="*"&&s[t+1]==="*"){const l=s.indexOf("**",t+2);if(l>t+1){n(),e.push(c.jsx("strong",{className:u.strong,children:f(s.slice(t+2,l))},o++)),t=l+2;continue}}if(a==="*"){const l=s.indexOf("*",t+1);if(l>t+1){n(),e.push(c.jsx("em",{className:u.em,children:f(s.slice(t+1,l))},o++)),t=l+1;continue}}r+=a,t++}return n(),e}function $(s,e){return c.jsx("p",{className:"leading-snug",children:s.map((r,o)=>c.jsxs(d.Fragment,{children:[o>0&&c.jsx("br",{}),f(r)]},o))},e)}const j=/^(#{1,3})\s+(.*)$/,g=/^\s*[-*]\s+(.*)$/,b=/^\s*\d+\.\s+(.*)$/;function v(s){const e=s.replace(/\r\n?/g,`
2
2
  `).split(`
3
3
  `),r=[];let o=0,n=0;for(;n<e.length;){const t=e[n];if(t.trim()===""){n++;continue}const a=j.exec(t);if(a){const l=a[1].length,i=l===1?u.h1:l===2?u.h2:u.h3;r.push(c.jsx("div",{className:i,children:f(a[2].trim())},o++)),n++;continue}if(g.test(t)||b.test(t)){const l=!g.test(t),i=l?b:g,m=[];for(;n<e.length&&i.test(e[n]);){const p=i.exec(e[n]);m.push(c.jsx("li",{children:f(p?p[1]:"")},m.length)),n++}const x=l?"ol":"ul";r.push(c.jsx(x,{className:`${u.list} ${l?"list-decimal":"list-disc"}`,children:m},o++));continue}const h=[];for(;n<e.length&&e[n].trim()!==""&&!j.test(e[n])&&!g.test(e[n])&&!b.test(e[n]);)h.push(e[n]),n++;r.push($(h,o++))}return r}k.schema;function C({config:s}){const e=N(),[r,o]=d.useState(!1),[n,t]=d.useState(s.text),a=d.useRef(null);d.useEffect(()=>{t(s.text)},[s.text]),d.useEffect(()=>{var i;r&&((i=a.current)==null||i.focus())},[r]);const h=d.useCallback(()=>{n!==s.text&&(e==null||e({text:n})),o(!1)},[e,n,s.text]),l=s.align==="center";return r?c.jsx("textarea",{ref:a,className:`body-sm text-normal h-full w-full resize-none bg-transparent outline-none placeholder:text-disabled ${l?"text-center":""}`,value:n,onChange:i=>t(i.target.value),onBlur:h,onKeyDown:i=>{i.key==="Escape"&&(t(s.text),o(!1))},placeholder:"Write a note… (Markdown supported)"}):c.jsx("div",{className:`body-sm text-normal ${w} ${l?"flex items-center justify-center text-center":""} ${e?"cursor-text":""}`,onClick:()=>e&&o(!0),title:e?"Click to edit":void 0,children:s.text?c.jsx("div",{className:`flex flex-col gap-2 break-words ${l?"items-center text-center":""}`,children:v(s.text)}):c.jsx("span",{className:"text-soft italic",children:e?"Click to add a note…":"New note"})})}const _=y({...k,component:C});export{_ as noteFrame};
@@ -1 +1 @@
1
- import{j as e}from"./react-qoZPGuNy.js";import{z as s,Z as r,a as p,M as m}from"./cycle-shared-XoGVsOjC.js";import{D as u,U as c}from"./format-DxkEZcwQ.js";import{t as d,w as f}from"./indicators-Cw7CVPn4.js";import{f as O,bj as i,bi as h}from"./index-BHlJHScr.js";import{F as n}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function z({config:l}){const{valuation:o,isLoading:t}=h();if(t)return e.jsx(n,{loading:!0,children:"loading NUPL…"});if(!o)return e.jsx(n,{children:"no on-chain data yet"});const a=s(o.nupl,[{upTo:0,zone:{label:"Capitulation",color:c}},{upTo:.25,zone:{label:"Hope / Fear",color:r}},{upTo:.5,zone:{label:"Optimism",color:r}},{upTo:.75,zone:{label:"Belief",color:p}}],{label:"Euphoria / Greed",color:u});return e.jsx(m,{caption:"Net Unrealized P/L",headline:`${(o.nupl*100).toFixed(1)}%`,headlineColor:a.color,zone:a,sparkline:d(o.history.nupl,f(l.window)),sparkColor:a.color})}const R=O({...i,component:z});export{R as nuplFrame};
1
+ import{j as e}from"./react-qoZPGuNy.js";import{z as s,Z as r,a as p,M as m}from"./cycle-shared-XoGVsOjC.js";import{D as u,U as c}from"./format-DxkEZcwQ.js";import{t as d,w as f}from"./indicators-Cw7CVPn4.js";import{f as O,bj as i,bi as h}from"./index-BJ1Zyy42.js";import{F as n}from"./ui-Bq3RQsdJ.js";import"./mini-line-chart-DyG55cVW.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";i.schema;function z({config:l}){const{valuation:o,isLoading:t}=h();if(t)return e.jsx(n,{loading:!0,children:"loading NUPL…"});if(!o)return e.jsx(n,{children:"no on-chain data yet"});const a=s(o.nupl,[{upTo:0,zone:{label:"Capitulation",color:c}},{upTo:.25,zone:{label:"Hope / Fear",color:r}},{upTo:.5,zone:{label:"Optimism",color:r}},{upTo:.75,zone:{label:"Belief",color:p}}],{label:"Euphoria / Greed",color:u});return e.jsx(m,{caption:"Net Unrealized P/L",headline:`${(o.nupl*100).toFixed(1)}%`,headlineColor:a.color,zone:a,sparkline:d(o.history.nupl,f(l.window)),sparkColor:a.color})}const R=O({...i,component:z});export{R as nuplFrame};
@@ -1 +1 @@
1
- import{r as u,j as r}from"./react-qoZPGuNy.js";import{b as l}from"./format-DxkEZcwQ.js";import{w as p,t as c}from"./indicators-Cw7CVPn4.js";import{f,d5 as m,bi as d}from"./index-BHlJHScr.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{C as h,a as C}from"./chart-utils-DGogNvJT.js";import{M as w}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function x({config:e}){const{valuation:a,isLoading:s}=d(),o=u.useMemo(()=>{if(!a)return[];const t=p(e.window);return[{id:"nupl",name:"NUPL",color:h[0],data:c(a.history.nupl,t).map(i=>({date:new Date(i.time).toISOString(),value:i.value*100}))}]},[a,e.window]);return s?r.jsx(n,{loading:!0,children:"loading NUPL…"}):!a||o.every(t=>t.data.length===0)?r.jsx(n,{children:"no on-chain data yet"}):r.jsx(w,{series:o,timeframe:C.YTD,height:220,formatValue:t=>l(t,1)})}const O=f({...m,component:x});export{O as nuplCycleChartFrame};
1
+ import{r as u,j as r}from"./react-qoZPGuNy.js";import{b as l}from"./format-DxkEZcwQ.js";import{w as p,t as c}from"./indicators-Cw7CVPn4.js";import{f,d5 as m,bi as d}from"./index-BJ1Zyy42.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{C as h,a as C}from"./chart-utils-DGogNvJT.js";import{M as w}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";m.schema;function x({config:e}){const{valuation:a,isLoading:s}=d(),o=u.useMemo(()=>{if(!a)return[];const t=p(e.window);return[{id:"nupl",name:"NUPL",color:h[0],data:c(a.history.nupl,t).map(i=>({date:new Date(i.time).toISOString(),value:i.value*100}))}]},[a,e.window]);return s?r.jsx(n,{loading:!0,children:"loading NUPL…"}):!a||o.every(t=>t.data.length===0)?r.jsx(n,{children:"no on-chain data yet"}):r.jsx(w,{series:o,timeframe:C.YTD,height:220,formatValue:t=>l(t,1)})}const O=f({...m,component:x});export{O as nuplCycleChartFrame};
@@ -1 +1 @@
1
- import{j as t}from"./react-qoZPGuNy.js";import{b as a}from"./format-DxkEZcwQ.js";import{f,de as o,al as m}from"./index-BHlJHScr.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{R as l}from"./radial-gauge-0BzRQ6fO.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;const r=(s=1)=>`hsl(var(--zf-accent-hue, 242) 85% 72% / ${s})`;function u(s){const{rates:d,isLoading:i}=m(),e=d.find(c=>c.code==="EFFR");return i?t.jsx(n,{loading:!0,children:"loading fed funds rate…"}):!e||e.targetRateFrom===void 0||e.targetRateTo===void 0?t.jsx(n,{children:"no fed-funds target data yet"}):t.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-1",children:[t.jsxs(l,{value:e.rate,min:e.targetRateFrom,max:e.targetRateTo,color:r(),size:170,children:[t.jsx("div",{className:"metric-xl leading-none",style:{color:r(),textShadow:`0 0 28px ${r(.35)}`},children:a(e.rate)}),t.jsx("div",{className:"caption text-soft mt-1 uppercase tracking-wide",children:"effective fed funds"})]}),t.jsxs("div",{className:"caption text-soft",children:["target ",a(e.targetRateFrom),"–",a(e.targetRateTo)]})]})}const v=f({...o,component:u});export{v as nyfedFedFundsBandGaugeFrame};
1
+ import{j as t}from"./react-qoZPGuNy.js";import{b as a}from"./format-DxkEZcwQ.js";import{f,de as o,al as m}from"./index-BJ1Zyy42.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{R as l}from"./radial-gauge-0BzRQ6fO.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;const r=(s=1)=>`hsl(var(--zf-accent-hue, 242) 85% 72% / ${s})`;function u(s){const{rates:d,isLoading:i}=m(),e=d.find(c=>c.code==="EFFR");return i?t.jsx(n,{loading:!0,children:"loading fed funds rate…"}):!e||e.targetRateFrom===void 0||e.targetRateTo===void 0?t.jsx(n,{children:"no fed-funds target data yet"}):t.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-1",children:[t.jsxs(l,{value:e.rate,min:e.targetRateFrom,max:e.targetRateTo,color:r(),size:170,children:[t.jsx("div",{className:"metric-xl leading-none",style:{color:r(),textShadow:`0 0 28px ${r(.35)}`},children:a(e.rate)}),t.jsx("div",{className:"caption text-soft mt-1 uppercase tracking-wide",children:"effective fed funds"})]}),t.jsxs("div",{className:"caption text-soft",children:["target ",a(e.targetRateFrom),"–",a(e.targetRateTo)]})]})}const v=f({...o,component:u});export{v as nyfedFedFundsBandGaugeFrame};
@@ -1 +1 @@
1
- import{r as i,j as r}from"./react-qoZPGuNy.js";import{f,b as c}from"./format-DxkEZcwQ.js";import{f as u,dc as n,al as d}from"./index-BHlJHScr.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{B as p}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";n.schema;function h({config:t}){const{rates:o,isLoading:m}=d(),a=i.useMemo(()=>{const l=o.slice(0,t.limit);return t.metric==="volume"?l.filter(e=>e.volumeInBillions!==void 0).map(e=>({label:e.label,value:e.volumeInBillions*1e9})):l.map(e=>({label:e.label,value:e.rate}))},[o,t.limit,t.metric]);return m?r.jsx(s,{loading:!0,children:"loading reference rates…"}):a.length===0?r.jsx(s,{children:"no reference-rate data yet"}):r.jsx("div",{className:"flex h-full flex-col justify-center text-normal",children:r.jsx(p,{data:a,orientation:"horizontal",height:Math.max(a.length*26,96),formatValue:t.metric==="volume"?f:c})})}const F=u({...n,component:h});export{F as nyfedReferenceRateBarsFrame};
1
+ import{r as i,j as r}from"./react-qoZPGuNy.js";import{f,b as c}from"./format-DxkEZcwQ.js";import{f as u,dc as n,al as d}from"./index-BJ1Zyy42.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{B as p}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";n.schema;function h({config:t}){const{rates:o,isLoading:m}=d(),a=i.useMemo(()=>{const l=o.slice(0,t.limit);return t.metric==="volume"?l.filter(e=>e.volumeInBillions!==void 0).map(e=>({label:e.label,value:e.volumeInBillions*1e9})):l.map(e=>({label:e.label,value:e.rate}))},[o,t.limit,t.metric]);return m?r.jsx(s,{loading:!0,children:"loading reference rates…"}):a.length===0?r.jsx(s,{children:"no reference-rate data yet"}):r.jsx("div",{className:"flex h-full flex-col justify-center text-normal",children:r.jsx(p,{data:a,orientation:"horizontal",height:Math.max(a.length*26,96),formatValue:t.metric==="volume"?f:c})})}const F=u({...n,component:h});export{F as nyfedReferenceRateBarsFrame};
@@ -1 +1 @@
1
- import{r as m,j as a}from"./react-qoZPGuNy.js";import{b as f}from"./format-DxkEZcwQ.js";import{f as l,dd as o,al as c}from"./index-BHlJHScr.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{B as d}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function u(p){const{rates:n,isLoading:i}=c(),e=n.find(r=>r.code==="SOFRAI"),t=m.useMemo(()=>e?[{label:"30D",value:e.average30Day},{label:"90D",value:e.average90Day},{label:"180D",value:e.average180Day}].filter(r=>r.value!==void 0):[],[e]);return i?a.jsx(s,{loading:!0,children:"loading SOFR averages…"}):t.length===0?a.jsx(s,{children:"no SOFR term-average data yet"}):a.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[a.jsx(d,{data:t,height:160,formatValue:f}),a.jsx("div",{className:"caption text-soft text-center",children:"SOFR compounded averages"})]})}const S=l({...o,component:u});export{S as nyfedSofrTermAveragesBarsFrame};
1
+ import{r as m,j as a}from"./react-qoZPGuNy.js";import{b as f}from"./format-DxkEZcwQ.js";import{f as l,dd as o,al as c}from"./index-BJ1Zyy42.js";import{F as s}from"./ui-Bq3RQsdJ.js";import{B as d}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";o.schema;function u(p){const{rates:n,isLoading:i}=c(),e=n.find(r=>r.code==="SOFRAI"),t=m.useMemo(()=>e?[{label:"30D",value:e.average30Day},{label:"90D",value:e.average90Day},{label:"180D",value:e.average180Day}].filter(r=>r.value!==void 0):[],[e]);return i?a.jsx(s,{loading:!0,children:"loading SOFR averages…"}):t.length===0?a.jsx(s,{children:"no SOFR term-average data yet"}):a.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[a.jsx(d,{data:t,height:160,formatValue:f}),a.jsx("div",{className:"caption text-soft text-center",children:"SOFR compounded averages"})]})}const S=l({...o,component:u});export{S as nyfedSofrTermAveragesBarsFrame};
@@ -1 +1 @@
1
- import{r as x,j as t}from"./react-qoZPGuNy.js";import{f as g,dg as c,Q as p}from"./index-BHlJHScr.js";import{F as o}from"./ui-Bq3RQsdJ.js";import{C as l}from"./chart-utils-DGogNvJT.js";import{S as h}from"./index-DuNO-RcB.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";c.schema;const y=[["credit","Credit"],["equityValuation","Equity valuation"],["safeAssets","Safe assets"],["funding","Funding"],["volatility","Volatility"]];function j(e){return`${e.getMonth()+1}/${e.getDate()}`}function d(e){return e>0?`+${e.toFixed(1)}`:e.toFixed(1)}function S({series:e}){return t.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-3 gap-y-1",children:e.map(s=>t.jsxs("span",{className:"caption text-soft flex items-center gap-1",children:[t.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full",style:{background:s.color}}),s.name]},s.id))})}function v({config:e}){const{stress:s,isLoading:m}=p(),r=x.useMemo(()=>{const i=((s==null?void 0:s.trend)??[]).slice(-e.trendDays).filter(a=>a.credit!==void 0&&a.equityValuation!==void 0&&a.safeAssets!==void 0&&a.funding!==void 0&&a.volatility!==void 0);return i.length<2?[]:y.map(([a,f],u)=>({id:a,name:f,color:l[u%l.length],data:i.map(n=>({date:new Date(n.time),value:n[a]}))}))},[s,e.trendDays]);return m?t.jsx(o,{loading:!0,children:"loading stress categories…"}):r.length===0?t.jsx(o,{children:"no stress-category data yet"}):t.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("div",{className:"caption text-soft uppercase",children:"OFR FSI by category"}),t.jsx("div",{className:"caption text-soft text-right",children:s?s.date:""})]}),t.jsx(h,{series:r,height:210,formatXAxis:j,formatYAxis:d,formatValue:d}),t.jsx(S,{series:r})]})}const b=g({...c,component:v});export{b as ofrStressCategoryAreaFrame};
1
+ import{r as x,j as t}from"./react-qoZPGuNy.js";import{f as g,dg as c,Q as p}from"./index-BJ1Zyy42.js";import{F as o}from"./ui-Bq3RQsdJ.js";import{C as l}from"./chart-utils-DGogNvJT.js";import{S as h}from"./index-DuNO-RcB.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";c.schema;const y=[["credit","Credit"],["equityValuation","Equity valuation"],["safeAssets","Safe assets"],["funding","Funding"],["volatility","Volatility"]];function j(e){return`${e.getMonth()+1}/${e.getDate()}`}function d(e){return e>0?`+${e.toFixed(1)}`:e.toFixed(1)}function S({series:e}){return t.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-3 gap-y-1",children:e.map(s=>t.jsxs("span",{className:"caption text-soft flex items-center gap-1",children:[t.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full",style:{background:s.color}}),s.name]},s.id))})}function v({config:e}){const{stress:s,isLoading:m}=p(),r=x.useMemo(()=>{const i=((s==null?void 0:s.trend)??[]).slice(-e.trendDays).filter(a=>a.credit!==void 0&&a.equityValuation!==void 0&&a.safeAssets!==void 0&&a.funding!==void 0&&a.volatility!==void 0);return i.length<2?[]:y.map(([a,f],u)=>({id:a,name:f,color:l[u%l.length],data:i.map(n=>({date:new Date(n.time),value:n[a]}))}))},[s,e.trendDays]);return m?t.jsx(o,{loading:!0,children:"loading stress categories…"}):r.length===0?t.jsx(o,{children:"no stress-category data yet"}):t.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("div",{className:"caption text-soft uppercase",children:"OFR FSI by category"}),t.jsx("div",{className:"caption text-soft text-right",children:s?s.date:""})]}),t.jsx(h,{series:r,height:210,formatXAxis:j,formatYAxis:d,formatValue:d}),t.jsx(S,{series:r})]})}const b=g({...c,component:v});export{b as ofrStressCategoryAreaFrame};
@@ -1 +1 @@
1
- import{r as m,j as r}from"./react-qoZPGuNy.js";import{f as h,cw as c,ac as d,h as f}from"./index-BHlJHScr.js";import{U as p,D as x,d as v}from"./format-DxkEZcwQ.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{B as g}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";const n={"1m":6e4,"5m":5*6e4,"15m":15*6e4,"1h":60*6e4,"4h":240*6e4,"1d":1440*6e4},L=48;c.schema;function j(t,e){const a=new Date(t);return e>=n["1d"]?a.toLocaleDateString("en-US",{month:"short",day:"numeric"}):e>=n["1h"]?`${a.getMonth()+1}/${a.getDate()} ${String(a.getHours()).padStart(2,"0")}h`:a.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}function O({config:t}){const e=n[t.interval],a=m.useMemo(()=>Date.now()-e*L,[e]),{candles:s,isLoading:u}=d(t.symbol,t.interval,a,Math.min(e,6e4)),l=m.useMemo(()=>s.map(o=>({label:j(o.time,e),value:o.volume??0,color:o.close>=o.open?p:x})),[s,e]);return u&&s.length===0?r.jsx(i,{loading:!0,children:"loading volume…"}):l.length===0?r.jsx(i,{children:"no candle data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(g,{data:l,height:200,formatValue:v,showValues:!1,maxTickLabels:6}),r.jsxs("div",{className:"caption text-soft text-center",children:[f(t.symbol)," volume · ",t.interval," candles"]})]})}const V=h({...c,component:O});export{V as ohlcvVolumeBarsFrame};
1
+ import{r as m,j as r}from"./react-qoZPGuNy.js";import{f as h,cw as c,ac as d,h as f}from"./index-BJ1Zyy42.js";import{U as p,D as x,d as v}from"./format-DxkEZcwQ.js";import{F as i}from"./ui-Bq3RQsdJ.js";import{B as g}from"./bar-chart-DCMbxUJx.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";const n={"1m":6e4,"5m":5*6e4,"15m":15*6e4,"1h":60*6e4,"4h":240*6e4,"1d":1440*6e4},L=48;c.schema;function j(t,e){const a=new Date(t);return e>=n["1d"]?a.toLocaleDateString("en-US",{month:"short",day:"numeric"}):e>=n["1h"]?`${a.getMonth()+1}/${a.getDate()} ${String(a.getHours()).padStart(2,"0")}h`:a.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit"})}function O({config:t}){const e=n[t.interval],a=m.useMemo(()=>Date.now()-e*L,[e]),{candles:s,isLoading:u}=d(t.symbol,t.interval,a,Math.min(e,6e4)),l=m.useMemo(()=>s.map(o=>({label:j(o.time,e),value:o.volume??0,color:o.close>=o.open?p:x})),[s,e]);return u&&s.length===0?r.jsx(i,{loading:!0,children:"loading volume…"}):l.length===0?r.jsx(i,{children:"no candle data yet"}):r.jsxs("div",{className:"flex h-full flex-col justify-center gap-1 text-normal",children:[r.jsx(g,{data:l,height:200,formatValue:v,showValues:!1,maxTickLabels:6}),r.jsxs("div",{className:"caption text-soft text-center",children:[f(t.symbol)," volume · ",t.interval," candles"]})]})}const V=h({...c,component:O});export{V as ohlcvVolumeBarsFrame};
@@ -1 +1 @@
1
- import{r as l,j as i}from"./react-qoZPGuNy.js";import{f as u,cv as c,aJ as f,h as U}from"./index-BHlJHScr.js";import{f as h}from"./format-DxkEZcwQ.js";import{T as x,a as I}from"./treemap-leaf-QG-L-SIG.js";import{F as d}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";c.schema;function j({width:t,height:o,data:s}){const r=h(s.oiUsd);return i.jsx(I,{width:t,height:o,label:s.id,secondary:r,title:`${s.id} · ${r} open interest`})}function T({config:t}){const{entries:o,isLoading:s}=f(),r=l.useMemo(()=>{const n=[...o].filter(e=>e.openInterestUsd>0).sort((e,m)=>m.openInterestUsd-e.openInterestUsd),p=n.slice(0,t.limit).map(e=>({id:U(e.symbol),value:e.openInterestUsd,oiUsd:e.openInterestUsd})),a=n.slice(t.limit).reduce((e,m)=>e+m.openInterestUsd,0);return a>0&&p.push({id:"Other",value:a,oiUsd:a}),p},[o,t.limit]);return s?i.jsx(d,{loading:!0,children:"loading open interest…"}):r.length===0?i.jsx(d,{children:"no open-interest data"}):i.jsx(x,{data:r,LeafComponent:j,getColorValue:n=>n.oiUsd})}const E=u({...c,component:T});export{E as oiTreemapFrame};
1
+ import{r as l,j as i}from"./react-qoZPGuNy.js";import{f as u,cv as c,aJ as f,h as U}from"./index-BJ1Zyy42.js";import{f as h}from"./format-DxkEZcwQ.js";import{T as x,a as I}from"./treemap-leaf-QG-L-SIG.js";import{F as d}from"./ui-Bq3RQsdJ.js";import"./utils-DxneYyA_.js";import"./d3-ibrLIlQc.js";c.schema;function j({width:t,height:o,data:s}){const r=h(s.oiUsd);return i.jsx(I,{width:t,height:o,label:s.id,secondary:r,title:`${s.id} · ${r} open interest`})}function T({config:t}){const{entries:o,isLoading:s}=f(),r=l.useMemo(()=>{const n=[...o].filter(e=>e.openInterestUsd>0).sort((e,m)=>m.openInterestUsd-e.openInterestUsd),p=n.slice(0,t.limit).map(e=>({id:U(e.symbol),value:e.openInterestUsd,oiUsd:e.openInterestUsd})),a=n.slice(t.limit).reduce((e,m)=>e+m.openInterestUsd,0);return a>0&&p.push({id:"Other",value:a,oiUsd:a}),p},[o,t.limit]);return s?i.jsx(d,{loading:!0,children:"loading open interest…"}):r.length===0?i.jsx(d,{children:"no open-interest data"}):i.jsx(x,{data:r,LeafComponent:j,getColorValue:n=>n.oiUsd})}const E=u({...c,component:T});export{E as oiTreemapFrame};
@@ -1 +1 @@
1
- import{r as p,j as o}from"./react-qoZPGuNy.js";import{b as d}from"./format-DxkEZcwQ.js";import{w as h,a as u,n as f,t as O}from"./indicators-Cw7CVPn4.js";import{f as x,d7 as l,bl as y}from"./index-BHlJHScr.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{C as i,a as R}from"./chart-utils-DGogNvJT.js";import{M as v}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";l.schema;function w({config:s}){const{extras:r,isLoading:m}=y(),e=p.useMemo(()=>{if(!r)return[];const a=h(s.window),t=c=>u(f(O(c,a)));return[{id:"sopr",name:"SOPR",color:i[0],data:t(r.history.sopr)},{id:"puell",name:"Puell Multiple",color:i[1],data:t(r.history.puell)},{id:"reserve-risk",name:"Reserve Risk",color:i[2],data:t(r.history.reserveRisk)}]},[r,s.window]);return m&&e.length===0?o.jsx(n,{loading:!0,children:"loading on-chain oscillators…"}):e.every(a=>a.data.length===0)?o.jsx(n,{children:"no on-chain data yet"}):o.jsx(v,{series:e,timeframe:R.YTD,height:260,formatValue:a=>d(a*100,0)})}const T=x({...l,component:w});export{T as onchainOscillatorOverlayFrame};
1
+ import{r as p,j as o}from"./react-qoZPGuNy.js";import{b as d}from"./format-DxkEZcwQ.js";import{w as h,a as u,n as f,t as O}from"./indicators-Cw7CVPn4.js";import{f as x,d7 as l,bl as y}from"./index-BJ1Zyy42.js";import{F as n}from"./ui-Bq3RQsdJ.js";import{C as i,a as R}from"./chart-utils-DGogNvJT.js";import{M as v}from"./index-BpPIfN5S.js";import"./d3-ibrLIlQc.js";import"./utils-DxneYyA_.js";l.schema;function w({config:s}){const{extras:r,isLoading:m}=y(),e=p.useMemo(()=>{if(!r)return[];const a=h(s.window),t=c=>u(f(O(c,a)));return[{id:"sopr",name:"SOPR",color:i[0],data:t(r.history.sopr)},{id:"puell",name:"Puell Multiple",color:i[1],data:t(r.history.puell)},{id:"reserve-risk",name:"Reserve Risk",color:i[2],data:t(r.history.reserveRisk)}]},[r,s.window]);return m&&e.length===0?o.jsx(n,{loading:!0,children:"loading on-chain oscillators…"}):e.every(a=>a.data.length===0)?o.jsx(n,{children:"no on-chain data yet"}):o.jsx(v,{series:e,timeframe:R.YTD,height:260,formatValue:a=>d(a*100,0)})}const T=x({...l,component:w});export{T as onchainOscillatorOverlayFrame};
@@ -1 +1 @@
1
- import{r as n,j as e}from"./react-qoZPGuNy.js";import{f as p,aI as l,aJ as f,A as u,h as x}from"./index-BHlJHScr.js";import{f as r}from"./format-DxkEZcwQ.js";import{F as i,s as h}from"./ui-Bq3RQsdJ.js";l.schema;const b=25;function g({config:m}){const{entries:a,isLoading:c}=f(m.symbols),t=n.useMemo(()=>a.slice(0,b),[a]),o=n.useMemo(()=>t.reduce((s,d)=>Math.max(s,d.openInterestUsd),0),[t]);return c?e.jsx(i,{loading:!0,children:"loading open interest…"}):t.length===0?e.jsx(i,{children:"no open-interest data"}):e.jsx("div",{className:`flex flex-col gap-1.5 ${h}`,children:t.map(s=>e.jsxs("div",{className:"grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2",title:`${s.symbol} · ${r(s.openInterestUsd)} open interest`,children:[e.jsx(u,{symbol:s.symbol,size:16}),e.jsxs("div",{className:"relative h-4 w-full overflow-hidden rounded-sm bg-white/[0.06]",children:[e.jsx("div",{className:"absolute inset-y-0 left-0 rounded-sm",style:{width:`${o>0?s.openInterestUsd/o*100:0}%`,background:"hsl(var(--zf-accent-hue, 242) 85% 72% / 0.5)"}}),e.jsx("span",{className:"absolute inset-y-0 left-1.5 flex items-center",children:e.jsx("span",{className:"body-sm truncate font-bold text-strong",children:x(s.symbol)})})]}),e.jsx("span",{className:"caption text-soft text-right tabular-nums",children:r(s.openInterestUsd)})]},s.symbol))})}const w=p({...l,component:g});export{w as openInterestFrame};
1
+ import{r as n,j as e}from"./react-qoZPGuNy.js";import{f as p,aI as l,aJ as f,A as u,h as x}from"./index-BJ1Zyy42.js";import{f as r}from"./format-DxkEZcwQ.js";import{F as i,s as h}from"./ui-Bq3RQsdJ.js";l.schema;const b=25;function g({config:m}){const{entries:a,isLoading:c}=f(m.symbols),t=n.useMemo(()=>a.slice(0,b),[a]),o=n.useMemo(()=>t.reduce((s,d)=>Math.max(s,d.openInterestUsd),0),[t]);return c?e.jsx(i,{loading:!0,children:"loading open interest…"}):t.length===0?e.jsx(i,{children:"no open-interest data"}):e.jsx("div",{className:`flex flex-col gap-1.5 ${h}`,children:t.map(s=>e.jsxs("div",{className:"grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2",title:`${s.symbol} · ${r(s.openInterestUsd)} open interest`,children:[e.jsx(u,{symbol:s.symbol,size:16}),e.jsxs("div",{className:"relative h-4 w-full overflow-hidden rounded-sm bg-white/[0.06]",children:[e.jsx("div",{className:"absolute inset-y-0 left-0 rounded-sm",style:{width:`${o>0?s.openInterestUsd/o*100:0}%`,background:"hsl(var(--zf-accent-hue, 242) 85% 72% / 0.5)"}}),e.jsx("span",{className:"absolute inset-y-0 left-1.5 flex items-center",children:e.jsx("span",{className:"body-sm truncate font-bold text-strong",children:x(s.symbol)})})]}),e.jsx("span",{className:"caption text-soft text-right tabular-nums",children:r(s.openInterestUsd)})]},s.symbol))})}const w=p({...l,component:g});export{w as openInterestFrame};