@nous-research/ui 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +42 -3
  2. package/dist/fonts.d.ts +1 -0
  3. package/dist/fonts.d.ts.map +1 -0
  4. package/dist/fonts.js.map +1 -1
  5. package/dist/hooks/use-capped-frame.d.ts +1 -0
  6. package/dist/hooks/use-capped-frame.d.ts.map +1 -0
  7. package/dist/hooks/use-capped-frame.js.map +1 -1
  8. package/dist/hooks/use-css-var-dims.d.ts +1 -0
  9. package/dist/hooks/use-css-var-dims.d.ts.map +1 -0
  10. package/dist/hooks/use-css-var-dims.js.map +1 -1
  11. package/dist/hooks/use-gpu-tier.d.ts +1 -0
  12. package/dist/hooks/use-gpu-tier.d.ts.map +1 -0
  13. package/dist/hooks/use-gpu-tier.js.map +1 -1
  14. package/dist/hooks/use-smooth-controls.d.ts +1 -0
  15. package/dist/hooks/use-smooth-controls.d.ts.map +1 -0
  16. package/dist/hooks/use-smooth-controls.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/ui/basic-page.d.ts +1 -0
  21. package/dist/ui/basic-page.d.ts.map +1 -0
  22. package/dist/ui/basic-page.js.map +1 -1
  23. package/dist/ui/components/animated-count.d.ts +1 -0
  24. package/dist/ui/components/animated-count.d.ts.map +1 -0
  25. package/dist/ui/components/animated-count.js.map +1 -1
  26. package/dist/ui/components/ascii.d.ts +1 -0
  27. package/dist/ui/components/ascii.d.ts.map +1 -0
  28. package/dist/ui/components/ascii.js.map +1 -1
  29. package/dist/ui/components/badge.d.ts +1 -0
  30. package/dist/ui/components/badge.d.ts.map +1 -0
  31. package/dist/ui/components/badge.js.map +1 -1
  32. package/dist/ui/components/badges/nous-girl.d.ts +1 -0
  33. package/dist/ui/components/badges/nous-girl.d.ts.map +1 -0
  34. package/dist/ui/components/badges/nous-girl.js.map +1 -1
  35. package/dist/ui/components/blend-mode.d.ts +1 -0
  36. package/dist/ui/components/blend-mode.d.ts.map +1 -0
  37. package/dist/ui/components/blend-mode.js.map +1 -1
  38. package/dist/ui/components/blink.d.ts +1 -0
  39. package/dist/ui/components/blink.d.ts.map +1 -0
  40. package/dist/ui/components/blink.js.map +1 -1
  41. package/dist/ui/components/button.d.ts +1 -0
  42. package/dist/ui/components/button.d.ts.map +1 -0
  43. package/dist/ui/components/button.js.map +1 -1
  44. package/dist/ui/components/cursor.d.ts +1 -0
  45. package/dist/ui/components/cursor.d.ts.map +1 -0
  46. package/dist/ui/components/cursor.js.map +1 -1
  47. package/dist/ui/components/dropdown-menu.d.ts +1 -0
  48. package/dist/ui/components/dropdown-menu.d.ts.map +1 -0
  49. package/dist/ui/components/dropdown-menu.js.map +1 -1
  50. package/dist/ui/components/fit-text/index.d.ts +1 -0
  51. package/dist/ui/components/fit-text/index.d.ts.map +1 -0
  52. package/dist/ui/components/fit-text/index.js.map +1 -1
  53. package/dist/ui/components/graphs/bar-chart.d.ts +1 -0
  54. package/dist/ui/components/graphs/bar-chart.d.ts.map +1 -0
  55. package/dist/ui/components/graphs/bar-chart.js.map +1 -1
  56. package/dist/ui/components/graphs/index.d.ts +1 -0
  57. package/dist/ui/components/graphs/index.d.ts.map +1 -0
  58. package/dist/ui/components/graphs/index.js.map +1 -1
  59. package/dist/ui/components/graphs/line-chart.d.ts +1 -0
  60. package/dist/ui/components/graphs/line-chart.d.ts.map +1 -0
  61. package/dist/ui/components/graphs/line-chart.js.map +1 -1
  62. package/dist/ui/components/graphs/utils.d.ts +1 -0
  63. package/dist/ui/components/graphs/utils.d.ts.map +1 -0
  64. package/dist/ui/components/graphs/utils.js.map +1 -1
  65. package/dist/ui/components/grid/index.d.ts +1 -0
  66. package/dist/ui/components/grid/index.d.ts.map +1 -0
  67. package/dist/ui/components/grid/index.js.map +1 -1
  68. package/dist/ui/components/hover-bg.d.ts +1 -0
  69. package/dist/ui/components/hover-bg.d.ts.map +1 -0
  70. package/dist/ui/components/hover-bg.js.map +1 -1
  71. package/dist/ui/components/icons/arrow.d.ts +1 -0
  72. package/dist/ui/components/icons/arrow.d.ts.map +1 -0
  73. package/dist/ui/components/icons/arrow.js.map +1 -1
  74. package/dist/ui/components/icons/chevron.d.ts +1 -0
  75. package/dist/ui/components/icons/chevron.d.ts.map +1 -0
  76. package/dist/ui/components/icons/chevron.js.map +1 -1
  77. package/dist/ui/components/icons/eye.d.ts +1 -0
  78. package/dist/ui/components/icons/eye.d.ts.map +1 -0
  79. package/dist/ui/components/icons/eye.js.map +1 -1
  80. package/dist/ui/components/icons/gear.d.ts +1 -0
  81. package/dist/ui/components/icons/gear.d.ts.map +1 -0
  82. package/dist/ui/components/icons/gear.js.map +1 -1
  83. package/dist/ui/components/icons/heart.d.ts +1 -0
  84. package/dist/ui/components/icons/heart.d.ts.map +1 -0
  85. package/dist/ui/components/icons/heart.js.map +1 -1
  86. package/dist/ui/components/icons/index.d.ts +1 -0
  87. package/dist/ui/components/icons/index.d.ts.map +1 -0
  88. package/dist/ui/components/icons/index.js.map +1 -1
  89. package/dist/ui/components/icons/link.d.ts +1 -0
  90. package/dist/ui/components/icons/link.d.ts.map +1 -0
  91. package/dist/ui/components/icons/link.js.map +1 -1
  92. package/dist/ui/components/icons/minus.d.ts +1 -0
  93. package/dist/ui/components/icons/minus.d.ts.map +1 -0
  94. package/dist/ui/components/icons/minus.js.map +1 -1
  95. package/dist/ui/components/icons/search.d.ts +1 -0
  96. package/dist/ui/components/icons/search.d.ts.map +1 -0
  97. package/dist/ui/components/icons/search.js.map +1 -1
  98. package/dist/ui/components/leva-client.d.ts +1 -0
  99. package/dist/ui/components/leva-client.d.ts.map +1 -0
  100. package/dist/ui/components/leva-client.js.map +1 -1
  101. package/dist/ui/components/modal/index.d.ts +1 -0
  102. package/dist/ui/components/modal/index.d.ts.map +1 -0
  103. package/dist/ui/components/modal/index.js.map +1 -1
  104. package/dist/ui/components/overlays/glitch.d.ts +1 -0
  105. package/dist/ui/components/overlays/glitch.d.ts.map +1 -0
  106. package/dist/ui/components/overlays/glitch.js.map +1 -1
  107. package/dist/ui/components/overlays/greys.d.ts +1 -0
  108. package/dist/ui/components/overlays/greys.d.ts.map +1 -0
  109. package/dist/ui/components/overlays/greys.js.map +1 -1
  110. package/dist/ui/components/overlays/index.d.ts +1 -0
  111. package/dist/ui/components/overlays/index.d.ts.map +1 -0
  112. package/dist/ui/components/overlays/index.js.map +1 -1
  113. package/dist/ui/components/overlays/noise.d.ts +1 -0
  114. package/dist/ui/components/overlays/noise.d.ts.map +1 -0
  115. package/dist/ui/components/overlays/noise.js.map +1 -1
  116. package/dist/ui/components/overlays/vignette.d.ts +1 -0
  117. package/dist/ui/components/overlays/vignette.d.ts.map +1 -0
  118. package/dist/ui/components/overlays/vignette.js.map +1 -1
  119. package/dist/ui/components/progress.d.ts +1 -0
  120. package/dist/ui/components/progress.d.ts.map +1 -0
  121. package/dist/ui/components/progress.js.map +1 -1
  122. package/dist/ui/components/scene-canvas.d.ts +1 -0
  123. package/dist/ui/components/scene-canvas.d.ts.map +1 -0
  124. package/dist/ui/components/scene-canvas.js.map +1 -1
  125. package/dist/ui/components/scramble.d.ts +1 -0
  126. package/dist/ui/components/scramble.d.ts.map +1 -0
  127. package/dist/ui/components/scramble.js.map +1 -1
  128. package/dist/ui/components/selection-switcher.d.ts +1 -0
  129. package/dist/ui/components/selection-switcher.d.ts.map +1 -0
  130. package/dist/ui/components/selection-switcher.js.map +1 -1
  131. package/dist/ui/components/shader.d.ts +1 -0
  132. package/dist/ui/components/shader.d.ts.map +1 -0
  133. package/dist/ui/components/shader.js.map +1 -1
  134. package/dist/ui/components/stats.d.ts +10 -3
  135. package/dist/ui/components/stats.d.ts.map +1 -0
  136. package/dist/ui/components/stats.js +3 -3
  137. package/dist/ui/components/stats.js.map +1 -1
  138. package/dist/ui/components/tv.d.ts +1 -0
  139. package/dist/ui/components/tv.d.ts.map +1 -0
  140. package/dist/ui/components/tv.js.map +1 -1
  141. package/dist/ui/components/typography/h1.d.ts +1 -0
  142. package/dist/ui/components/typography/h1.d.ts.map +1 -0
  143. package/dist/ui/components/typography/h1.js.map +1 -1
  144. package/dist/ui/components/typography/h2.d.ts +1 -0
  145. package/dist/ui/components/typography/h2.d.ts.map +1 -0
  146. package/dist/ui/components/typography/h2.js.map +1 -1
  147. package/dist/ui/components/typography/index.d.ts +1 -0
  148. package/dist/ui/components/typography/index.d.ts.map +1 -0
  149. package/dist/ui/components/typography/index.js.map +1 -1
  150. package/dist/ui/components/typography/legend.d.ts +1 -0
  151. package/dist/ui/components/typography/legend.d.ts.map +1 -0
  152. package/dist/ui/components/typography/legend.js.map +1 -1
  153. package/dist/ui/components/typography/small.d.ts +1 -0
  154. package/dist/ui/components/typography/small.d.ts.map +1 -0
  155. package/dist/ui/components/typography/small.js.map +1 -1
  156. package/dist/ui/components/watchlist.d.ts +1 -0
  157. package/dist/ui/components/watchlist.d.ts.map +1 -0
  158. package/dist/ui/components/watchlist.js.map +1 -1
  159. package/dist/ui/footer.d.ts +6 -1
  160. package/dist/ui/footer.d.ts.map +1 -0
  161. package/dist/ui/footer.js +2 -3
  162. package/dist/ui/footer.js.map +1 -1
  163. package/dist/ui/header.d.ts +6 -1
  164. package/dist/ui/header.d.ts.map +1 -0
  165. package/dist/ui/header.js +2 -3
  166. package/dist/ui/header.js.map +1 -1
  167. package/dist/ui/layout-wrapper.d.ts +1 -0
  168. package/dist/ui/layout-wrapper.d.ts.map +1 -0
  169. package/dist/ui/layout-wrapper.js.map +1 -1
  170. package/dist/utils/color.d.ts +1 -0
  171. package/dist/utils/color.d.ts.map +1 -0
  172. package/dist/utils/color.js.map +1 -1
  173. package/dist/utils/index.d.ts +1 -0
  174. package/dist/utils/index.d.ts.map +1 -0
  175. package/dist/utils/index.js.map +1 -1
  176. package/dist/utils/poly.d.ts +1 -0
  177. package/dist/utils/poly.d.ts.map +1 -0
  178. package/dist/utils/poly.js.map +1 -1
  179. package/package.json +17 -10
@@ -13,3 +13,4 @@ interface SceneCanvasProps {
13
13
  style?: React.CSSProperties;
14
14
  }
15
15
  export {};
16
+ //# sourceMappingURL=scene-canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-canvas.d.ts","sourceRoot":"","sources":["../../../src/ui/components/scene-canvas.tsx"],"names":[],"mappings":"AAqHA,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACN,EAAE,gBAAgB,2CAwFlB;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,QAAQ,EAAE,MAAM,KAAK,CAAC,SAAS,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-canvas.js","sourceRoot":"","sources":["../../../src/ui/components/scene-canvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-canvas.js","sourceRoot":"","sources":["../../../src/ui/components/scene-canvas.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EACL,QAAQ,EACR,SAAS,EACT,eAAe,EACf,OAAO,EACP,MAAM,EACN,QAAQ,EACT,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,EAAE,GAAG;IACT,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,KAAK;CACN,CAAA;AAEV,MAAM,GAAG,GAAG;IACV,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;IAC3B,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;IACxB,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;IACxB,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE;IACxB,GAAG,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE;CAC3B,CAAA;AAID,SAAS,SAAS,CAAC,MAA0B;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IAE1C,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;YACxC,MAAM,CAAC,OAAO,GAAG;gBACf,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO;gBAC9B,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO;gBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAA;QACH,CAAC,CAAA;QAED,OAAO,EAAE,CAAA;QAET,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;QACtC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAClB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAE7D,OAAO,GAAG,EAAE;YACV,EAAE,CAAC,UAAU,EAAE,CAAA;YACf,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,QAAQ,EACR,MAAM,EACN,QAAQ,EAIR;IACA,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;IAE7C,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAA;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;QAExB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;QACrC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;QAEpC,GAAG,CAAC,GAAG,CAAC,GAAG,CACT,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAC3C,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAC7C,CAAA;QAED,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/D,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAEtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1D,IAAI,GAAG,EAAE,CAAC;YACR,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;QAED,MAAM,IAAI,GAAI,MAA2C,CAAC,IAAI,IAAI,CAAC,CAAA;QAEnE,CAAC,CAAC,KAAK,CAAC,SAAS,CACf,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,EACvC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAC3C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACzC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAO,GAAG,EAAE,GAAG,YAAG,QAAQ,GAAS,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACY;IACjB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,CAAA;IAEpC,MAAM,MAAM,GAAG,SAAS,CACtB,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACtD,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;QAEpD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;QAE1D,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAE5C,OAAO,GAAG,EAAE;YACV,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YAC3C,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACjD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEpC,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG;QACvB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG;QAC1B,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAA8B;QACtE,IAAI,EAAE,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC,CAAC,EACF,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAC9B,CAAA;IAED,MAAM,MAAM,GAAG,CACb,KAAC,MAAM,IACL,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACX,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAC5C,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7D,EAAE,EAAE,EAAE,EACN,YAAY,QACZ,KAAK,EACH,SAAS;YACP,CAAC,CAAC;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,MAAM;gBACrB,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,CAAC;gBACT,GAAG,KAAK;aACT;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,YAGhD,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAChD,QAAQ,EAAE,GACK,CACnB,CAAC,CAAC,CAAC,CACF,QAAQ,EAAE,CACX,GACM,CACV,CAAA;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,MAAC,QAAQ,eACP,cACE,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACzC,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,CAAC;iBACV,GACD,EACD,MAAM,IACE,CACZ,CAAC,CAAC,CAAC,CACF,MAAM,CACP,CAAA;AACH,CAAC","sourcesContent":["'use client'\n\nimport { Canvas, useFrame, useThree } from '@react-three/fiber'\nimport {\n Suspense,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState\n} from 'react'\nimport * as THREE from 'three'\n\nconst GL = {\n alpha: true,\n antialias: true,\n depth: true,\n outputColorSpace: 'srgb',\n powerPreference: 'high-performance',\n stencil: false\n} as const\n\nconst tmp = {\n camDir: new THREE.Vector3(),\n hit: new THREE.Vector3(),\n ndc: new THREE.Vector2(),\n origin: new THREE.Vector3(0, 0, 0),\n plane: new THREE.Plane(),\n ray: new THREE.Raycaster()\n}\n\ntype Bounds = { height: number; pageX: number; pageY: number; width: number }\n\nfunction useBounds(target: HTMLElement | null) {\n const bounds = useRef<Bounds | null>(null)\n\n useLayoutEffect(() => {\n if (!target) {\n return\n }\n\n const measure = () => {\n const b = target.getBoundingClientRect()\n bounds.current = {\n height: b.height,\n pageX: b.left + window.scrollX,\n pageY: b.top + window.scrollY,\n width: b.width\n }\n }\n\n measure()\n\n const ro = new ResizeObserver(measure)\n ro.observe(target)\n ro.observe(document.body)\n window.addEventListener('resize', measure, { passive: true })\n\n return () => {\n ro.disconnect()\n window.removeEventListener('resize', measure)\n }\n }, [target])\n\n return bounds\n}\n\nfunction PositionedGroup({\n baseZoom,\n bounds,\n children\n}: React.PropsWithChildren<{\n baseZoom: number\n bounds: React.RefObject<Bounds | null>\n}>) {\n const ref = useRef<THREE.Group>(null)\n const { camera, size, viewport } = useThree()\n\n useFrame(() => {\n const g = ref.current\n const b = bounds.current\n\n if (!g || !b) {\n return\n }\n\n const left = b.pageX - window.scrollX\n const top = b.pageY - window.scrollY\n\n tmp.ndc.set(\n ((left + b.width / 2) / size.width) * 2 - 1,\n 1 - ((top + b.height / 2) / size.height) * 2\n )\n\n camera.getWorldDirection(tmp.camDir)\n tmp.plane.setFromNormalAndCoplanarPoint(tmp.camDir, tmp.origin)\n tmp.ray.setFromCamera(tmp.ndc, camera)\n\n const hit = tmp.ray.ray.intersectPlane(tmp.plane, tmp.hit)\n\n if (hit) {\n g.position.copy(hit)\n }\n\n const zoom = (camera as THREE.Camera & { zoom?: number }).zoom ?? 1\n\n g.scale.setScalar(\n Math.min(\n (b.width / size.width) * viewport.width,\n (b.height / size.height) * viewport.height\n ) * (baseZoom > 0 ? zoom / baseZoom : 1)\n )\n })\n\n return <group ref={ref}>{children}</group>\n}\n\nexport function SceneCanvas({\n camera,\n children,\n className,\n contained,\n noEvents,\n style\n}: SceneCanvasProps) {\n const [container, setContainer] = useState<HTMLDivElement | null>(null)\n const baseZoom = camera?.zoom ?? 150\n\n const bounds = useBounds(\n contained ? (container?.parentElement ?? null) : null\n )\n\n useEffect(() => {\n const el = contained && !noEvents ? container : null\n\n if (!el) {\n return\n }\n\n const lock = () => (document.body.style.userSelect = 'none')\n const unlock = () => (document.body.style.userSelect = '')\n\n el.addEventListener('pointerdown', lock)\n window.addEventListener('pointerup', unlock)\n\n return () => {\n el.removeEventListener('pointerdown', lock)\n window.removeEventListener('pointerup', unlock)\n }\n }, [container, contained, noEvents])\n\n const cam = useMemo(\n () => ({\n far: camera?.far ?? 100,\n near: camera?.near ?? -100,\n position: camera?.position ?? ([0, 0, 10] as [number, number, number]),\n zoom: baseZoom * (contained ? 1 : 2)\n }),\n [baseZoom, camera, contained]\n )\n\n const canvas = (\n <Canvas\n camera={cam}\n className={className}\n dpr={[1, 2]}\n eventPrefix={contained ? 'client' : 'offset'}\n eventSource={contained ? (container ?? undefined) : undefined}\n gl={GL}\n orthographic\n style={\n contained\n ? {\n height: '100dvh',\n inset: 0,\n pointerEvents: 'none',\n position: 'fixed',\n width: '100dvw',\n zIndex: 0,\n ...style\n }\n : { height: '100%', width: '100%', ...style }\n }\n >\n {contained ? (\n <PositionedGroup baseZoom={baseZoom} bounds={bounds}>\n {children()}\n </PositionedGroup>\n ) : (\n children()\n )}\n </Canvas>\n )\n\n return contained ? (\n <Suspense>\n <div\n ref={setContainer}\n style={{\n height: '100%',\n inset: 0,\n pointerEvents: noEvents ? 'none' : 'auto',\n position: 'absolute',\n width: '100%',\n zIndex: 1\n }}\n />\n {canvas}\n </Suspense>\n ) : (\n canvas\n )\n}\n\ninterface SceneCanvasProps {\n camera?: {\n far?: number\n near?: number\n position?: [number, number, number]\n zoom?: number\n }\n children: () => React.ReactNode\n className?: string\n contained?: boolean\n noEvents?: boolean\n style?: React.CSSProperties\n}\n"]}
@@ -7,3 +7,4 @@ interface ScrambleProps {
7
7
  target?: RefObject<HTMLElement | null>;
8
8
  }
9
9
  export {};
10
+ //# sourceMappingURL=scramble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scramble.d.ts","sourceRoot":"","sources":["../../../src/ui/components/scramble.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,GAAS,EACT,MAAU,EACV,MAAM,EACP,EAAE,aAAa,2CA2Ef;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scramble.js","sourceRoot":"","sources":["../../../src/ui/components/scramble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scramble.js","sourceRoot":"","sources":["../../../src/ui/components/scramble.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\nimport type { RefObject } from 'react'\n\nconst CHARS = '.,·-─~+:;=*π\"\"┐┌┘┴┬╗╔╝╚╬╠╣╩╦║░▒▓█▄▀▌▐■!?&#$@0123456789*'\n\nexport function Scramble({\n children,\n dur = 666,\n spread = 1,\n target\n}: ScrambleProps) {\n const text = String(children)\n const len = text.length\n const [display, setDisplay] = useState(text)\n const frame = useRef<null | number>(null)\n const waves = useRef<{ pos: number; time: number }[]>([])\n\n useEffect(() => {\n const el = target?.current\n\n if (!el) {\n return\n }\n\n const animate = () => {\n const t = Date.now()\n waves.current = waves.current.filter(w => t - w.time < dur)\n\n if (!waves.current.length) {\n setDisplay(text)\n frame.current = null\n\n return\n }\n\n setDisplay(\n text\n .split('')\n .map((c, i) => {\n if (c === ' ') {\n return c\n }\n\n for (const w of waves.current) {\n const age = t - w.time\n\n const rad =\n (Math.min(age / dur, 1) *\n (Math.max(w.pos, len - w.pos - 1) + 5)) /\n spread\n\n const dist = Math.abs(i - w.pos)\n const int = rad - dist\n\n if (dist <= rad && int > 0 && int <= 3) {\n return CHARS[(dist * 3 + ((age / 40) | 0)) % CHARS.length]\n }\n }\n\n return c\n })\n .join('')\n )\n\n frame.current = requestAnimationFrame(animate)\n }\n\n const onEnter = () => {\n waves.current.push({ pos: len >> 1, time: Date.now() })\n frame.current ??= requestAnimationFrame(animate)\n }\n\n el.addEventListener('mouseenter', onEnter)\n\n return () => {\n el.removeEventListener('mouseenter', onEnter)\n frame.current && cancelAnimationFrame(frame.current)\n }\n }, [target, text, len, dur, spread])\n\n useEffect(() => {\n setDisplay(text)\n }, [text])\n\n return <>{display}</>\n}\n\ninterface ScrambleProps {\n children: string\n dur?: number\n spread?: number\n target?: RefObject<HTMLElement | null>\n}\n"]}
@@ -1 +1,2 @@
1
1
  export declare function SelectionSwitcher(): null;
2
+ //# sourceMappingURL=selection-switcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-switcher.d.ts","sourceRoot":"","sources":["../../../src/ui/components/selection-switcher.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,iBAAiB,SAyBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"selection-switcher.js","sourceRoot":"","sources":["../../../src/ui/components/selection-switcher.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,MAAM,GAAG;IACb,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;CACZ,CAAA;AAEV,MAAM,UAAU,iBAAiB;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAErB,IAAI,GAAG,GAAG,CAAC,CAAA;QAEX,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,qBAAqB,CAAC,GAAG,EAAE,CACzB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,gBAAgB,EAChB,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAC1C,CACF,CAAA;QAEH,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CACjC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAA;QAEpE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEvD,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"selection-switcher.js","sourceRoot":"","sources":["../../../src/ui/components/selection-switcher.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,MAAM,GAAG;IACb,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;CACZ,CAAA;AAEV,MAAM,UAAU,iBAAiB;IAC/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAErB,IAAI,GAAG,GAAG,CAAC,CAAA;QAEX,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,qBAAqB,CAAC,GAAG,EAAE,CACzB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,gBAAgB,EAChB,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAC1C,CACF,CAAA;QAEH,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CACjC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAA;QAEpE,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEvD,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,IAAI,CAAA;AACb,CAAC","sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\n\nconst colors = [\n 'oklch(85% 0.12 330)',\n 'oklch(85% 0.12 300)',\n 'oklch(85% 0.12 270)',\n 'oklch(85% 0.12 230)',\n 'oklch(85% 0.12 180)',\n 'oklch(85% 0.12 150)',\n 'oklch(85% 0.12 120)',\n 'oklch(85% 0.12 90)',\n 'oklch(85% 0.12 60)',\n 'oklch(85% 0.12 30)',\n 'oklch(88% 0.10 80)'\n] as const\n\nexport function SelectionSwitcher() {\n useEffect(() => {\n const ac = new AbortController()\n const { signal } = ac\n\n let idx = 0\n\n const cycle = () =>\n requestAnimationFrame(() =>\n document.documentElement.style.setProperty(\n '--selection-bg',\n colors[(idx = (idx + 1) % colors.length)]\n )\n )\n\n const onKey = (e: KeyboardEvent) =>\n e.key.toLowerCase() === 'a' && (e.metaKey || e.ctrlKey) && cycle()\n\n document.addEventListener('selectstart', cycle, { signal })\n document.addEventListener('keydown', onKey, { signal })\n\n return () => ac.abort()\n }, [])\n\n return null\n}\n"]}
@@ -5,3 +5,4 @@ interface ShaderProps extends Omit<ThreeElements['mesh'], 'children'>, Pick<Thre
5
5
  children?: ((material: ReactNode) => ReactNode) | ReactNode;
6
6
  }
7
7
  export {};
8
+ //# sourceMappingURL=shader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shader.d.ts","sourceRoot":"","sources":["../../../src/ui/components/shader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,oBAAoB,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtC,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,WAAW,2UAmDb;AAED,UAAU,WACR,SAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,EAC7C,IAAI,CACF,aAAa,CAAC,gBAAgB,CAAC,EAC/B,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,UAAU,GAAG,cAAc,CACzE;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,SAAS,CAAA;CAC5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"shader.js","sourceRoot":"","sources":["../../../src/ui/components/shader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAsB,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnD,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5B,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,GAAG,KAAK,EACI;IACZ,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAChD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAElC,MAAM,WAAW,GAAG,MAAM,CAAC;QACzB,GAAG,eAAe;QAClB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;KACpB,CAAC,CAAA;IAEF,cAAc,CACZ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAA;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAA;QAEpC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;QACxD,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CACxC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAC7C,CAAA;IACH,CAAC,EACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAClB,CAAA;IAED,SAAS,CACP,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EACrE,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1E,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,SAAS;QACT,cAAc;QACd,IAAI,EAAE,KAAK,CAAC,UAAU;QACtB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,WAAW,CAAC,OAAO;QAC7B,YAAY;KAC6B,CAAA;IAE3C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,4BAAoB,aAAa,GAAI,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CACL,mBAAU,KAAK,aACZ,QAAQ,IAAI,yBAAiB,EAC9B,4BAAoB,aAAa,GAAI,IAChC,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"shader.js","sourceRoot":"","sources":["../../../src/ui/components/shader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAsB,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACnD,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5B,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,GAAG,KAAK,EACI;IACZ,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAChD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAElC,MAAM,WAAW,GAAG,MAAM,CAAC;QACzB,GAAG,eAAe;QAClB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;KACpB,CAAC,CAAA;IAEF,cAAc,CACZ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAA;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAA;QAEpC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;QACxD,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CACxC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAC7C,CAAA;IACH,CAAC,EACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAClB,CAAA;IAED,SAAS,CACP,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EACrE,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1E,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,SAAS;QACT,cAAc;QACd,IAAI,EAAE,KAAK,CAAC,UAAU;QACtB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,WAAW,CAAC,OAAO;QAC7B,YAAY;KAC6B,CAAA;IAE3C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,4BAAoB,aAAa,GAAI,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CACL,mBAAU,KAAK,aACZ,QAAQ,IAAI,yBAAiB,EAC9B,4BAAoB,aAAa,GAAI,IAChC,CACR,CAAA;AACH,CAAC","sourcesContent":["'use client'\n\nimport { type ThreeElements, useThree } from '@react-three/fiber'\nimport { useEffect, useRef } from 'react'\nimport type { ReactNode } from 'react'\nimport * as THREE from 'three'\n\nimport { useCappedFrame } from '../../hooks/use-capped-frame'\n\nconst defaultUniforms = {\n uResolution: new THREE.Uniform(new THREE.Vector4()),\n uTime: new THREE.Uniform(0)\n}\n\nexport function Shader({\n children,\n defines,\n depthTest,\n fragmentShader,\n uniforms,\n vertexShader,\n ...props\n}: ShaderProps) {\n const invalidate = useThree(st => st.invalidate)\n const { size, viewport } = useThree()\n\n const isMobile = size.width < 1024\n\n const uniformsRef = useRef({\n ...defaultUniforms,\n ...(uniforms ?? {})\n })\n\n useCappedFrame(\n ({ clock }) => {\n const w = size.width * viewport.dpr\n const h = size.height * viewport.dpr\n\n uniformsRef.current.uTime.value = clock.getElapsedTime()\n uniformsRef.current.uResolution.value.copy(\n new THREE.Vector4(w, h, w / h, viewport.dpr)\n )\n },\n isMobile ? 0 : 80\n )\n\n useEffect(\n () => void (uniforms && Object.assign(uniformsRef.current, uniforms)),\n [uniforms]\n )\n\n useEffect(() => void (isMobile && invalidate(80)), [invalidate, isMobile])\n\n const materialProps = {\n defines: defines ?? {},\n depthTest,\n fragmentShader,\n side: THREE.DoubleSide,\n transparent: true,\n uniforms: uniformsRef.current,\n vertexShader\n } satisfies ThreeElements['shaderMaterial']\n\n if (typeof children === 'function') {\n return children(<shaderMaterial {...materialProps} />)\n }\n\n return (\n <mesh {...props}>\n {children ?? <planeGeometry />}\n <shaderMaterial {...materialProps} />\n </mesh>\n )\n}\n\ninterface ShaderProps\n extends Omit<ThreeElements['mesh'], 'children'>,\n Pick<\n ThreeElements['shaderMaterial'],\n 'defines' | 'depthTest' | 'fragmentShader' | 'uniforms' | 'vertexShader'\n > {\n children?: ((material: ReactNode) => ReactNode) | ReactNode\n}\n"]}
@@ -1,10 +1,17 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  export declare function Stats({ className, items, flip, ...props }: StatsProps): import("react/jsx-runtime").JSX.Element;
3
3
  interface StatsProps extends React.ComponentProps<'div'> {
4
4
  items: {
5
- label: string;
6
- value: string;
5
+ label: string | {
6
+ key: string;
7
+ node: ReactNode;
8
+ };
9
+ value: string | {
10
+ key: string;
11
+ node: ReactNode;
12
+ };
7
13
  }[];
8
14
  flip?: boolean;
9
15
  }
10
16
  export {};
17
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/ui/components/stats.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMxC,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAsCrE;AAED,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IACtD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,GAAG;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,SAAS,CAAA;SAAC,CAAA;QAC9C,KAAK,EAAE,MAAM,GAAG;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,SAAS,CAAA;SAAC,CAAA;KAC/C,EAAE,CAAA;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf"}
@@ -3,9 +3,9 @@ import { cn } from '../../utils';
3
3
  import { Typography } from './typography';
4
4
  export function Stats({ className, items, flip, ...props }) {
5
5
  return (_jsx("div", { className: cn('flex w-full flex-col gap-5', className), ...props, children: items.map(({ label, value }) => {
6
- const valueText = (_jsx(Typography, { className: "text-xs leading-[1.4] tracking-widest", expanded: true, children: value }));
7
- const labelText = (_jsx(Typography, { className: "leading-none tracking-[0.2em] opacity-60", mono: true, children: label }));
8
- return (_jsxs("div", { className: "text-midground grid grid-cols-[auto_1fr_auto] items-center gap-2.5 uppercase", children: [flip ? label : value, _jsx(Typography, { className: "min-w-0 overflow-hidden text-[13px] leading-[1.4] tracking-[0.4em] opacity-20", expanded: true, children: '·'.repeat(100) }), flip ? value : label] }, label));
6
+ const valueText = (_jsx(Typography, { className: "text-xs leading-[1.4] tracking-widest", expanded: true, children: typeof value === 'string' ? value : value.node }));
7
+ const labelText = (_jsx(Typography, { className: "leading-none tracking-[0.2em] opacity-60", mono: true, children: typeof label === 'string' ? label : label.node }));
8
+ return (_jsxs("div", { className: "text-midground grid grid-cols-[auto_1fr_auto] items-center gap-2.5 uppercase", children: [flip ? labelText : valueText, _jsx(Typography, { className: "min-w-0 overflow-hidden text-[13px] leading-[1.4] tracking-[0.4em] opacity-20", expanded: true, children: '·'.repeat(100) }), flip ? valueText : labelText] }, (typeof label === 'string' ? label : label.key) + '@@@' + (typeof value === 'string' ? value : value.key)));
9
9
  }) }));
10
10
  }
11
11
  //# sourceMappingURL=stats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/ui/components/stats.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAc;IACpE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,YACnE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,CAChB,KAAC,UAAU,IACT,SAAS,EAAC,uCAAuC,EACjD,QAAQ,kBAEP,KAAK,GACK,CACd,CAAA;YACD,MAAM,SAAS,GAAG,CAChB,KAAC,UAAU,IAAC,SAAS,EAAC,0CAA0C,EAAC,IAAI,kBAClE,KAAK,GACK,CACd,CAAA;YAED,OAAO,CACL,eACE,SAAS,EAAC,8EAA8E,aAGvF,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAErB,KAAC,UAAU,IACT,SAAS,EAAC,+EAA+E,EACzF,QAAQ,kBAEP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GACL,EAEZ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAXhB,KAAK,CAYN,CACP,CAAA;QACH,CAAC,CAAC,GACE,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/ui/components/stats.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAc;IACpE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,YACnE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,CAChB,KAAC,UAAU,IACT,SAAS,EAAC,uCAAuC,EACjD,QAAQ,kBAEP,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GACpC,CACd,CAAA;YACD,MAAM,SAAS,GAAG,CAChB,KAAC,UAAU,IAAC,SAAS,EAAC,0CAA0C,EAAC,IAAI,kBAClE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GACpC,CACd,CAAA;YAED,OAAO,CACL,eACE,SAAS,EAAC,8EAA8E,aAGvF,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAE7B,KAAC,UAAU,IACT,SAAS,EAAC,+EAA+E,EACzF,QAAQ,kBAEP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GACL,EAEZ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAXxB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,KAAK,GAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAYzG,CACP,CAAA;QACH,CAAC,CAAC,GACE,CACP,CAAA;AACH,CAAC","sourcesContent":["import React, { ReactNode } from 'react'\n\nimport { cn } from '../../utils'\n\nimport { Typography } from './typography'\n\nexport function Stats({ className, items, flip, ...props }: StatsProps) {\n return (\n <div className={cn('flex w-full flex-col gap-5', className)} {...props}>\n {items.map(({ label, value }) => {\n const valueText = (\n <Typography\n className=\"text-xs leading-[1.4] tracking-widest\"\n expanded\n >\n {typeof value === 'string' ? value : value.node}\n </Typography>\n )\n const labelText = (\n <Typography className=\"leading-none tracking-[0.2em] opacity-60\" mono>\n {typeof label === 'string' ? label : label.node}\n </Typography>\n )\n\n return (\n <div\n className=\"text-midground grid grid-cols-[auto_1fr_auto] items-center gap-2.5 uppercase\"\n key={(typeof label === 'string' ? label : label.key ) + '@@@'+(typeof value === 'string' ? value : value.key)}\n >\n {flip ? labelText : valueText}\n\n <Typography\n className=\"min-w-0 overflow-hidden text-[13px] leading-[1.4] tracking-[0.4em] opacity-20\"\n expanded\n >\n {'·'.repeat(100)}\n </Typography>\n\n {flip ? valueText : labelText}\n </div>\n )\n })}\n </div>\n )\n}\n\ninterface StatsProps extends React.ComponentProps<'div'> {\n items: {\n label: string | {key: string, node: ReactNode}\n value: string | {key: string, node: ReactNode}\n }[]\n flip?: boolean\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export declare function TV({ className }: {
2
2
  className?: string;
3
3
  }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=tv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tv.d.ts","sourceRoot":"","sources":["../../../src/ui/components/tv.tsx"],"names":[],"mappings":"AAuLA,wBAAgB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAqCvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"tv.js","sourceRoot":"","sources":["../../../src/ui/components/tv.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tv.js","sourceRoot":"","sources":["../../../src/ui/components/tv.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { useEffect, useRef } from 'react'\n\nconst VERT = /* glsl */ `attribute vec2 a;void main(){gl_Position=vec4(a,0,1);}`\n\nconst FRAG = /* glsl */ `precision highp float;\nuniform float t;\nuniform vec2 r;\n\nconst float FBM_STR = .08;\n\nfloat h(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }\n\nfloat n2(vec2 p) {\n vec2 i = floor(p), f = fract(p);\n f = f * f * (3. - 2. * f);\n\n return mix(\n mix(h(i), h(i + vec2(1, 0)), f.x),\n mix(h(i + vec2(0, 1)), h(i + vec2(1, 1)), f.x),\n f.y\n );\n}\n\nfloat fbm(vec2 p) {\n float v = 0., a = .5;\n\n for (int i = 0; i < 4; i++) {\n v += a * n2(p);\n p *= 2.1;\n a *= .45;\n }\n\n return v;\n}\n\nfloat drift(float speed, float s) {\n return fract(t * speed + s + .02 * sin(t * .4 + s * 3.));\n}\n\nfloat brushAt(vec2 uv, float y, float th, float s) {\n float hw = .34 + .08 * h(vec2(s, 77.));\n float cx = .5;\n float xn = (uv.x - (cx - hw)) / (2. * hw);\n float env = smoothstep(0., .03, xn) * smoothstep(1., .97, xn);\n float localTh = th * env;\n\n if (localTh < .002) return 0.;\n\n float morph = floor(t * 8.) * .7 + s;\n float top = y - localTh * .5 + fbm(vec2(uv.x * 6., morph)) * FBM_STR;\n float bot = y + localTh * .5 - fbm(vec2(uv.x * 6., morph + 30.)) * FBM_STR;\n float x0 = cx - hw + fbm(vec2(uv.y * 8., morph + 60.)) * FBM_STR;\n float x1 = cx + hw - fbm(vec2(uv.y * 8., morph + 90.)) * FBM_STR;\n\n float dMin = min(min(uv.y - top, bot - uv.y), min(uv.x - x0, x1 - uv.x));\n\n float bristle = n2(vec2(uv.x * 60., uv.y * 8. + s)) * .4\n + n2(vec2(uv.x * 25., (uv.y - y) * 120. + s)) * .35\n + n2(vec2(uv.x * 90., uv.y * 3. + s * 2.)) * .25;\n\n float eaten = smoothstep(.03, 0., dMin) * (1. - smoothstep(.2, .5, bristle));\n\n return clamp(smoothstep(0., .003, dMin) * (1. - eaten), 0., 1.);\n}\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy / r;\n uv = vec2(uv.x * cos(.095) - uv.y * sin(.095), uv.x * sin(.095) + uv.y * cos(.095));\n uv += vec2(fbm(uv * 4. + t * .06), fbm(uv * 4. + 8. + t * .05)) * .012;\n\n vec3 c = vec3(.992, .992, .051);\n\n float smScroll = -drift(.04, 5.) * 2.;\n float sm = 0.;\n\n for (int i = 0; i < 20; i++) {\n sm = max(sm, brushAt(uv, mod(float(i) * .1 + smScroll, 2.) - .5, .04, float(i) + 10.));\n }\n\n float d1 = drift(.15, 1.), d2 = drift(.15, 1.37), d3 = drift(.15, 1.58), d4 = drift(.15, 1.82);\n float big = max(\n max(brushAt(uv, 1.1 - d1 * 1.4, .28, 1.), brushAt(uv, 1.1 - d2 * 1.4, .18, 2.)),\n max(brushAt(uv, 1.1 - d3 * 1.4, .3, 3.), brushAt(uv, 1.1 - d4 * 1.4, .15, 4.))\n );\n\n c = mix(c, vec3(0.), clamp(max(sm, big), 0., 1.));\n c *= .94 + .06 * sin(uv.y * r.y * 6.283);\n\n vec2 raw = gl_FragCoord.xy / r;\n float dx = min(raw.x - .22, .90 - raw.x);\n float dy = min(raw.y - .29, .86 - raw.y);\n float cycle = floor(t * .4);\n float edge = mix(smoothstep(.22, 0., max(min(dx, dy), 0.)), 1., step(.75, h(vec2(cycle, 13.))))\n * smoothstep(.85, 1., sin(t * 2.5) * .5 + .5)\n * (.7 + .3 * h(vec2(cycle, 7.)));\n\n float scanY = floor(gl_FragCoord.y);\n float rowNoise = h(vec2(scanY, floor(t * 30.)));\n c *= 1. - edge * max(step(.45, rowNoise), step(.3, h(vec2(gl_FragCoord.x + scanY * 7., floor(t * 45.)))) * step(.2, rowNoise));\n\n gl_FragColor = vec4(clamp(c, 0., 1.), 1.);\n}`\n\nfunction useGL(ref: React.RefObject<HTMLCanvasElement | null>) {\n const raf = useRef(0)\n\n useEffect(() => {\n const c = ref.current\n\n if (!c) {\n return\n }\n\n const gl = c.getContext('webgl')\n\n if (!gl) {\n return\n }\n\n const sh = (type: number, src: string) => {\n const s = gl.createShader(type)!\n gl.shaderSource(s, src)\n gl.compileShader(s)\n\n return s\n }\n\n const p = gl.createProgram()!\n gl.attachShader(p, sh(gl.VERTEX_SHADER, VERT))\n gl.attachShader(p, sh(gl.FRAGMENT_SHADER, FRAG))\n gl.linkProgram(p)\n gl.useProgram(p)\n\n gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer())\n gl.bufferData(\n gl.ARRAY_BUFFER,\n new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]),\n gl.STATIC_DRAW\n )\n\n const a = gl.getAttribLocation(p, 'a')\n gl.enableVertexAttribArray(a)\n gl.vertexAttribPointer(a, 2, gl.FLOAT, false, 0, 0)\n\n const uT = gl.getUniformLocation(p, 't')\n const uR = gl.getUniformLocation(p, 'r')\n\n const resize = () => {\n const rect = c.getBoundingClientRect()\n const dpr = Math.min(devicePixelRatio, 2)\n\n c.width = rect.width * dpr\n c.height = rect.height * dpr\n\n gl.viewport(0, 0, c.width, c.height)\n }\n\n resize()\n\n const ro = new ResizeObserver(resize)\n ro.observe(c)\n\n const t0 = performance.now()\n\n const loop = () => {\n gl.uniform1f(uT, (performance.now() - t0) / 1e3)\n gl.uniform2f(uR, c.width, c.height)\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n\n raf.current = requestAnimationFrame(loop)\n }\n\n raf.current = requestAnimationFrame(loop)\n\n return () => {\n cancelAnimationFrame(raf.current)\n ro.disconnect()\n }\n }, [ref])\n}\n\nexport function TV({ className }: { className?: string }) {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n useGL(canvasRef)\n\n return (\n <div className={['relative', className].filter(Boolean).join(' ')}>\n <svg className=\"relative h-full w-full\" fill=\"none\" viewBox=\"0 0 210 173\">\n <path\n d=\"M30.8342 2.44471 6.08268 36.683c-.24437.338-.38254.7412-.39689 1.158L1.57754 157.126c-.03891 1.129.82339 2.087 1.95096 2.167l162.4835 11.463c.433.031.866-.074 1.238-.3l35.718-21.69c.607-.369.986-1.02 1.008-1.73l4.102-130.9871c.035-1.1269-.826-2.0806-1.951-2.1604L32.6847 1.58029c-.7248-.05144-1.4247.27551-1.8505.86442Z\"\n fill=\"#FDFD0D\"\n stroke=\"#FDFD0D\"\n strokeWidth=\"3.15\"\n />\n\n <path\n d=\"M203.09 17.1483 35.6844 5.83395l-4.2 121.94805 168.4906 13.076z\"\n fill=\"#000\"\n stroke=\"#FDFD0D\"\n strokeWidth=\"4.2\"\n />\n\n <path\n d=\"M190.491 29.7483 48.2859 18.434l-4.2 98.848 143.2901 10.976z\"\n fill=\"#FDFD0D\"\n />\n </svg>\n\n <canvas\n className=\"absolute inset-0 h-full w-full\"\n ref={canvasRef}\n style={{\n clipPath:\n 'polygon(23% 10.65%, 90.71% 17.2%, 89.23% 74.13%, 20.99% 67.79%)'\n }}\n />\n </div>\n )\n}\n"]}
@@ -9,3 +9,4 @@ export declare const H1: import("react").ForwardRefExoticComponent<{
9
9
  sans?: boolean | null | undefined;
10
10
  variant?: "lg" | "md" | "sm" | "xl" | null | undefined;
11
11
  } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref">, "as" | "expanded" | "compressed" | "courier" | "mondwest" | "mono" | "sans" | "variant"> & import("react").RefAttributes<HTMLHeadingElement>>;
12
+ //# sourceMappingURL=h1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h1.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/typography/h1.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,EAAE;;;;;;;;;;8QAWd,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"h1.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/h1.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAC1B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/B,OAAO,CACL,KAAC,UAAU,IACT,EAAE,EAAC,IAAI,EACP,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAC,IAAI,EACN,GAAG,EAAE,GAAG,KAAK,GACnB,CACH,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"h1.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/h1.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAC1B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/B,OAAO,CACL,KAAC,UAAU,IACT,EAAE,EAAC,IAAI,EACP,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAC,IAAI,EACN,GAAG,EAAE,GAAG,KAAK,GACnB,CACH,CAAA;AACH,CAAC,CACF,CAAA","sourcesContent":["import { forwardRef } from 'react'\n\nimport { cn } from '../../../utils'\n\nimport { Typography, type TypographyProps } from '.'\n\nexport const H1 = forwardRef<HTMLHeadingElement, TypographyProps<'h1'>>(\n ({ className, ...props }, ref) => {\n return (\n <Typography\n as=\"h1\"\n className={cn('font-bold', className)}\n variant=\"xl\"\n {...{ ref, ...props }}\n />\n )\n }\n)\n"]}
@@ -9,3 +9,4 @@ export declare const H2: import("react").ForwardRefExoticComponent<{
9
9
  sans?: boolean | null | undefined;
10
10
  variant?: "lg" | "md" | "sm" | "xl" | null | undefined;
11
11
  } & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref">, "as" | "expanded" | "compressed" | "courier" | "mondwest" | "mono" | "sans" | "variant"> & import("react").RefAttributes<HTMLHeadingElement>>;
12
+ //# sourceMappingURL=h2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h2.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/typography/h2.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,EAAE;;;;;;;;;;8QAWd,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"h2.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/h2.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAC1B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/B,OAAO,CACL,KAAC,UAAU,IACT,EAAE,EAAC,IAAI,EACP,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAC,IAAI,EACN,GAAG,EAAE,GAAG,KAAK,GACnB,CACH,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"h2.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/h2.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAC1B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/B,OAAO,CACL,KAAC,UAAU,IACT,EAAE,EAAC,IAAI,EACP,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACrC,OAAO,EAAC,IAAI,EACN,GAAG,EAAE,GAAG,KAAK,GACnB,CACH,CAAA;AACH,CAAC,CACF,CAAA","sourcesContent":["import { forwardRef } from 'react'\n\nimport { cn } from '../../../utils'\n\nimport { Typography, type TypographyProps } from '.'\n\nexport const H2 = forwardRef<HTMLHeadingElement, TypographyProps<'h2'>>(\n ({ className, ...props }, ref) => {\n return (\n <Typography\n as=\"h2\"\n className={cn('font-bold', className)}\n variant=\"lg\"\n {...{ ref, ...props }}\n />\n )\n }\n)\n"]}
@@ -13,3 +13,4 @@ export declare const Typography: import("../../..").PolyComponent<"span", OwnPro
13
13
  type OwnProps = VariantProps<typeof typographyVariants>;
14
14
  export type TypographyProps<T extends React.ElementType = 'span'> = PolyProps<T, OwnProps>;
15
15
  export {};
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAM,KAAK,SAAS,EAAW,MAAM,gBAAgB,CAAA;AAE5D,QAAA,MAAM,kBAAkB;;;;;;;;8EAetB,CAAA;AAEF,eAAO,MAAM,UAAU,oDAwBtB,CAAA;AAED,KAAK,QAAQ,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEvD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,MAAM,IAAI,SAAS,CAC3E,CAAC,EACD,QAAQ,CACT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,EAAE,EAAkB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,EAAE;IAC1C,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;QACvC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;QACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,QAAQ,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACxD,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3B,OAAO,EAAE;YACP,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,+CAA+C;SACpD;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAC/B,CACE,EACE,EAAE,EACF,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC/D,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IAE3E,OAAO,aAAa,CAAC,CAAC,EAAE,IAAI,MAAM,CAAsB,EAAE;QACxD,GAAG,IAAI;QACP,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC;QACzE,GAAG;KACJ,CAAC,CAAA;AACJ,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,EAAE,EAAkB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,EAAE;IAC1C,QAAQ,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;QACvC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;QACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACnC,QAAQ,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACxD,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC3B,OAAO,EAAE;YACP,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,kDAAkD;YACtD,EAAE,EAAE,+CAA+C;SACpD;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAC/B,CACE,EACE,EAAE,EACF,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC/D,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IAE3E,OAAO,aAAa,CAAC,CAAC,EAAE,IAAI,MAAM,CAAsB,EAAE;QACxD,GAAG,IAAI;QACP,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC;QACzE,GAAG;KACJ,CAAC,CAAA;AACJ,CAAC,CACF,CAAA","sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport { createElement } from 'react'\n\nimport { cn, type PolyProps, polyRef } from '../../../utils'\n\nconst typographyVariants = cva('font-sans', {\n variants: {\n compressed: { true: 'font-compressed' },\n courier: { true: 'font-courier' },\n expanded: { true: 'font-expanded' },\n mondwest: { true: 'font-mondwest tracking-[0.1875rem]' },\n mono: { true: 'font-mono' },\n sans: { true: 'font-sans' },\n variant: {\n lg: 'text-[2.625rem] leading-[1] tracking-[0.0525rem]',\n md: 'text-[2.625rem] leading-[1] tracking-[0.0525rem]',\n sm: 'leading-1.4 text-[.9375rem] tracking-[0.1875rem]',\n xl: 'text-[4.5rem] leading-[1] tracking-[0.135rem]'\n }\n }\n})\n\nexport const Typography = polyRef<'span', OwnProps>(\n (\n {\n as,\n className,\n compressed,\n courier,\n expanded,\n mondwest,\n mono,\n variant,\n ...rest\n },\n ref\n ) => {\n const fonts = { compressed, courier, expanded, mondwest, mono }\n const fontVariant = { ...fonts, sans: !Object.values(fonts).some(Boolean) }\n\n return createElement((as ?? 'span') as React.ElementType, {\n ...rest,\n className: cn(typographyVariants({ ...fontVariant, variant }), className),\n ref\n })\n }\n)\n\ntype OwnProps = VariantProps<typeof typographyVariants>\n\nexport type TypographyProps<T extends React.ElementType = 'span'> = PolyProps<\n T,\n OwnProps\n>\n"]}
@@ -4,3 +4,4 @@ interface LegendProps extends React.ComponentProps<'hgroup'> {
4
4
  sub?: React.ReactNode;
5
5
  }
6
6
  export {};
7
+ //# sourceMappingURL=legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/typography/legend.tsx"],"names":[],"mappings":"AAIA,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,2CAQb;AAED,UAAU,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/legend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACI;IACZ,OAAO,CACL,kBAAQ,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,KAAM,KAAK,aAChE,KAAC,KAAK,cAAE,KAAK,GAAS,EACrB,GAAG,IAAI,MAAC,KAAK,IAAC,SAAS,EAAC,YAAY,mBAAI,GAAG,IAAS,EACpD,QAAQ,IACF,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/legend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACI;IACZ,OAAO,CACL,kBAAQ,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,KAAM,KAAK,aAChE,KAAC,KAAK,cAAE,KAAK,GAAS,EACrB,GAAG,IAAI,MAAC,KAAK,IAAC,SAAS,EAAC,YAAY,mBAAI,GAAG,IAAS,EACpD,QAAQ,IACF,CACV,CAAA;AACH,CAAC","sourcesContent":["import { cn } from '../../../utils'\n\nimport { Small } from './small'\n\nexport function Legend({\n children,\n className,\n label,\n sub,\n ...props\n}: LegendProps) {\n return (\n <hgroup className={cn('flex flex-col gap-2', className)} {...props}>\n <Small>{label}</Small>\n {sub && <Small className=\"opacity-50\">- {sub}</Small>}\n {children}\n </hgroup>\n )\n}\n\ninterface LegendProps extends React.ComponentProps<'hgroup'> {\n label: React.ReactNode\n sub?: React.ReactNode\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  import { type TypographyProps } from '.';
2
2
  export declare const Small: import("react").ForwardRefExoticComponent<Omit<TypographyProps<any>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
3
+ //# sourceMappingURL=small.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"small.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/typography/small.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,GAAG,CAAA;AAEpD,eAAO,MAAM,KAAK,+HAMjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"small.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/small.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,OAAO,CACL,KAAC,UAAU,IAAC,EAAE,EAAC,OAAO,EAAC,QAAQ,QAAC,OAAO,EAAC,IAAI,EAAO,GAAG,EAAE,GAAG,KAAK,GAAM,CACvE,CAAA;AACH,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"small.js","sourceRoot":"","sources":["../../../../src/ui/components/typography/small.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,UAAU,EAAwB,MAAM,GAAG,CAAA;AAEpD,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC7B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,OAAO,CACL,KAAC,UAAU,IAAC,EAAE,EAAC,OAAO,EAAC,QAAQ,QAAC,OAAO,EAAC,IAAI,EAAO,GAAG,EAAE,GAAG,KAAK,GAAM,CACvE,CAAA;AACH,CAAC,CACF,CAAA","sourcesContent":["import { forwardRef } from 'react'\n\nimport { Typography, type TypographyProps } from '.'\n\nexport const Small = forwardRef<HTMLSpanElement, TypographyProps<any>>(\n (props, ref) => {\n return (\n <Typography as=\"small\" mondwest variant=\"sm\" {...{ ref, ...props }} />\n )\n }\n)\n"]}
@@ -9,3 +9,4 @@ interface WatchlistProps extends React.ComponentProps<'div'> {
9
9
  scramble?: boolean;
10
10
  }
11
11
  export {};
12
+ //# sourceMappingURL=watchlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchlist.d.ts","sourceRoot":"","sources":["../../../src/ui/components/watchlist.tsx"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,OAAe,EACf,KAAK,EACL,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,cAAc,2CAiFhB;AAED,UAAU,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"watchlist.js","sourceRoot":"","sources":["../../../src/ui/components/watchlist.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchlist.js","sourceRoot":"","sources":["../../../src/ui/components/watchlist.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { cn } from '../../utils'\n\nimport { Scramble } from './ascii'\nimport { LinkIcon } from './icons'\nimport { Typography } from './typography'\n\nconst ETH_RE = /^0x[a-fA-F0-9]{40}$/\nconst truncate = (a: string) => `${a.slice(0, 6)}${'·'.repeat(8)}${a.slice(-4)}`\n\nexport function Watchlist({\n className,\n counter = false,\n items,\n scramble = false,\n ...props\n}: WatchlistProps) {\n return (\n <div className={cn('flex flex-col gap-3', className)} {...props}>\n {items.map(({ label, right, url }, i) => {\n const isStr = typeof label === 'string'\n const eth = isStr && ETH_RE.test(label)\n const text = eth ? truncate(label) : (label as string)\n\n return (\n <a\n className={cn(\n 'grid items-center gap-2.5 px-2.5 py-1.5',\n 'leading-[1.4] uppercase',\n 'hover:bg-midground/10! hover:ring-2 hover:ring-current/20',\n 'transition-all duration-500 hover:duration-0',\n 'opacity-(--midground-alpha)'\n )}\n href={url}\n key={i}\n rel=\"noopener noreferrer\"\n style={{\n background: `color-mix(in oklch, var(--color-midground) ${10 * Math.max(0, 1 - i / 9)}%, transparent)`,\n gridTemplateColumns: [\n counter && 'auto auto',\n '1fr',\n right && 'auto',\n url && 'auto auto'\n ]\n .filter(Boolean)\n .join(' ')\n }}\n target=\"_blank\"\n >\n {counter && (\n <>\n <Typography\n className=\"text-lg tracking-[0.35em] opacity-40\"\n compressed\n >\n {String(i + 1).padStart(2, '0')}\n </Typography>\n\n <span className=\"text-[0.8125rem] font-bold tracking-[0.4em] opacity-20\">\n :\n </span>\n </>\n )}\n\n {isStr ? (\n <Typography\n className=\"min-w-0 overflow-hidden text-lg font-bold tracking-[0.35em]\"\n {...(eth ? { mono: true } : { compressed: true })}\n >\n {scramble ? <Scramble delay={i * 80} text={text} /> : text}\n </Typography>\n ) : (\n label\n )}\n\n {right && (\n <Typography\n className=\"text-right text-sm tracking-widest opacity-40\"\n mono\n >\n {right}\n </Typography>\n )}\n\n {url && (\n <>\n <span className=\"text-[0.8125rem] tracking-[0.4em] opacity-20\">\n :\n </span>\n <LinkIcon className=\"text-midground size-3.5\" />\n </>\n )}\n </a>\n )\n })}\n </div>\n )\n}\n\ninterface WatchlistProps extends React.ComponentProps<'div'> {\n counter?: boolean\n items: { label?: React.ReactNode; right?: React.ReactNode; url?: string }[]\n scramble?: boolean\n}\n"]}
@@ -1 +1,6 @@
1
- export declare function Footer(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Footer({ LinkComponent }: FooterProps): import("react/jsx-runtime").JSX.Element;
2
+ interface FooterProps {
3
+ LinkComponent?: React.ElementType;
4
+ }
5
+ export {};
6
+ //# sourceMappingURL=footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/ui/footer.tsx"],"names":[],"mappings":"AAeA,wBAAgB,MAAM,CAAC,EAAE,aAAmB,EAAE,EAAE,WAAW,2CA8B1D;AAED,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CAClC"}
package/dist/ui/footer.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
- import { Link } from 'next-view-transitions';
4
3
  import { useRef } from 'react';
5
4
  import { useCssVarDims } from '../hooks/use-css-var-dims';
6
5
  import { Cell, Grid } from './components/grid';
@@ -11,9 +10,9 @@ const GROUPS = [
11
10
  { label: 'Company', links: ['About', 'Careers', 'Contact'] },
12
11
  { label: 'Legal', links: ['Privacy', 'Terms', 'License'] }
13
12
  ];
14
- export function Footer() {
13
+ export function Footer({ LinkComponent = 'a' }) {
15
14
  const ref = useRef(null);
16
15
  useCssVarDims('footer', ref);
17
- return (_jsxs(Grid, { as: "footer", ref, children: [_jsx(Cell, { children: _jsxs(Small, { className: "opacity-50", children: ["\u00A9", new Date().getFullYear()] }) }), GROUPS.map(({ label, links }) => (_jsxs(Cell, { children: [_jsx(Small, { className: "opacity-50", children: label }), _jsx("nav", { className: "mt-3 flex flex-col gap-2", children: links.map(link => (_jsx(Small, { as: Link, className: "underline", href: `/${link.toLowerCase()}`, children: link }, link))) })] }, label)))] }));
16
+ return (_jsxs(Grid, { as: "footer", ref, children: [_jsx(Cell, { children: _jsxs(Small, { className: "opacity-50", children: ["\u00A9", new Date().getFullYear()] }) }), GROUPS.map(({ label, links }) => (_jsxs(Cell, { children: [_jsx(Small, { className: "opacity-50", children: label }), _jsx("nav", { className: "mt-3 flex flex-col gap-2", children: links.map(link => (_jsx(Small, { as: LinkComponent, className: "underline", href: `/${link.toLowerCase()}`, children: link }, link))) })] }, label)))] }));
18
17
  }
19
18
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,MAAM,GAAG;IACb,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IAChE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAC1D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;IAC5D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;CAC3D,CAAA;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAO,GAAG,aACzB,KAAC,IAAI,cACH,MAAC,KAAK,IAAC,SAAS,EAAC,YAAY,uBAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAS,GACjE,EAEN,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAChC,MAAC,IAAI,eACH,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,YAAE,KAAK,GAAS,EAE7C,cAAK,SAAS,EAAC,0BAA0B,YACtC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,KAAC,KAAK,IACJ,EAAE,EAAE,IAAI,EACR,SAAS,EAAC,WAAW,EACrB,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,YAG7B,IAAI,IAFA,IAAI,CAGH,CACT,CAAC,GACE,KAdG,KAAK,CAeT,CACR,CAAC,IACG,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/ui/footer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,MAAM,GAAG;IACb,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE;IAChE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;IAC1D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE;IAC5D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;CAC3D,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,aAAa,GAAG,GAAG,EAAe;IACzD,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAO,GAAG,aACzB,KAAC,IAAI,cACH,MAAC,KAAK,IAAC,SAAS,EAAC,YAAY,uBAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAS,GACjE,EAEN,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAChC,MAAC,IAAI,eACH,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,YAAE,KAAK,GAAS,EAE7C,cAAK,SAAS,EAAC,0BAA0B,YACtC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,KAAC,KAAK,IACJ,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,WAAW,EACrB,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,YAG7B,IAAI,IAFA,IAAI,CAGH,CACT,CAAC,GACE,KAdG,KAAK,CAeT,CACR,CAAC,IACG,CACR,CAAA;AACH,CAAC","sourcesContent":["'use client'\n\nimport { useRef } from 'react'\n\nimport { useCssVarDims } from '../hooks/use-css-var-dims'\nimport { Cell, Grid } from './components/grid'\nimport { Small } from './components/typography/small'\n\nconst GROUPS = [\n { label: 'Product', links: ['Overview', 'Features', 'Pricing'] },\n { label: 'Resources', links: ['Docs', 'Blog', 'Support'] },\n { label: 'Company', links: ['About', 'Careers', 'Contact'] },\n { label: 'Legal', links: ['Privacy', 'Terms', 'License'] }\n]\n\nexport function Footer({ LinkComponent = 'a' }: FooterProps) {\n const ref = useRef<HTMLElement>(null)\n useCssVarDims('footer', ref)\n\n return (\n <Grid as=\"footer\" {...{ ref }}>\n <Cell>\n <Small className=\"opacity-50\">&copy;{new Date().getFullYear()}</Small>\n </Cell>\n\n {GROUPS.map(({ label, links }) => (\n <Cell key={label}>\n <Small className=\"opacity-50\">{label}</Small>\n\n <nav className=\"mt-3 flex flex-col gap-2\">\n {links.map(link => (\n <Small\n as={LinkComponent}\n className=\"underline\"\n href={`/${link.toLowerCase()}`}\n key={link}\n >\n {link}\n </Small>\n ))}\n </nav>\n </Cell>\n ))}\n </Grid>\n )\n}\n\ninterface FooterProps {\n LinkComponent?: React.ElementType\n}\n"]}
@@ -1 +1,6 @@
1
- export declare function Header(): import("react/jsx-runtime").JSX.Element;
1
+ export declare function Header({ LinkComponent }: HeaderProps): import("react/jsx-runtime").JSX.Element;
2
+ interface HeaderProps {
3
+ LinkComponent?: React.ElementType;
4
+ }
5
+ export {};
6
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/ui/header.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,MAAM,CAAC,EAAE,aAAmB,EAAE,EAAE,WAAW,2CA8B1D;AAED,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CAClC"}
package/dist/ui/header.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Link } from 'next-view-transitions';
4
3
  import { useRef } from 'react';
5
4
  import { useCssVarDims } from '../hooks/use-css-var-dims';
6
5
  import { Blink } from './components/blink';
@@ -14,9 +13,9 @@ const NAV = [
14
13
  { href: '/provenance', label: 'Provenance' },
15
14
  { href: '/contribute', label: 'Contribute' }
16
15
  ];
17
- export function Header() {
16
+ export function Header({ LinkComponent = 'a' }) {
18
17
  const ref = useRef(null);
19
18
  useCssVarDims('header', ref);
20
- return (_jsxs(Grid, { as: "header", ref, children: [_jsx(Cell, { as: Link, href: "/", children: _jsxs("hgroup", { className: "flex flex-col gap-2", children: [_jsx(Small, { children: "Nous" }), _jsx(H2, { children: "Psyche" })] }) }), NAV.map(({ href, label }) => (_jsxs(Cell, { as: Link, className: "group relative", href: '/runs', children: [_jsxs(Small, { children: [label, _jsx(Blink, {})] }), _jsx(HoverBg, {})] }, href)))] }));
19
+ return (_jsxs(Grid, { as: "header", ref, children: [_jsx(Cell, { as: LinkComponent, href: "/", children: _jsxs("hgroup", { className: "flex flex-col gap-2", children: [_jsx(Small, { children: "Nous" }), _jsx(H2, { children: "Psyche" })] }) }), NAV.map(({ href, label }) => (_jsxs(Cell, { as: LinkComponent, className: "group relative", href: '/runs', children: [_jsxs(Small, { children: [label, _jsx(Blink, {})] }), _jsx(HoverBg, {})] }, href)))] }));
21
20
  }
22
21
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/ui/header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,GAAG,GAAG;IACV,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;CAC7C,CAAA;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAO,GAAG,aACzB,KAAC,IAAI,IAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,YACtB,kBAAQ,SAAS,EAAC,qBAAqB,aACrC,KAAC,KAAK,uBAAa,EACnB,KAAC,EAAE,yBAAY,IACR,GACJ,EAEN,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5B,MAAC,IAAI,IACH,EAAE,EAAE,IAAI,EACR,SAAS,EAAC,gBAAgB,EAEpB,IAAI,EAAE,OAAO,aAEnB,MAAC,KAAK,eACH,KAAK,EACN,KAAC,KAAK,KAAG,IACH,EAER,KAAC,OAAO,KAAG,KARN,IAAI,CASJ,CACR,CAAC,IACG,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/ui/header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,GAAG,GAAG;IACV,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;IACxC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;CAC7C,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,aAAa,GAAG,GAAG,EAAe;IACzD,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAE5B,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAC,QAAQ,EAAO,GAAG,aACzB,KAAC,IAAI,IAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAC,GAAG,YAC/B,kBAAQ,SAAS,EAAC,qBAAqB,aACrC,KAAC,KAAK,uBAAa,EACnB,KAAC,EAAE,yBAAY,IACR,GACJ,EAEN,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5B,MAAC,IAAI,IACH,EAAE,EAAE,aAAa,EACjB,SAAS,EAAC,gBAAgB,EAEpB,IAAI,EAAE,OAAO,aAEnB,MAAC,KAAK,eACH,KAAK,EACN,KAAC,KAAK,KAAG,IACH,EAER,KAAC,OAAO,KAAG,KARN,IAAI,CASJ,CACR,CAAC,IACG,CACR,CAAA;AACH,CAAC","sourcesContent":["'use client'\n\nimport { useRef } from 'react'\n\nimport { useCssVarDims } from '../hooks/use-css-var-dims'\nimport { Blink } from './components/blink'\nimport { Cell, Grid } from './components/grid'\nimport { HoverBg } from './components/hover-bg'\nimport { H2 } from './components/typography/h2'\nimport { Small } from './components/typography/small'\n\nconst NAV = [\n { href: '/projects', label: 'Projects' },\n { href: '/participants', label: 'Participants' },\n { href: '/provenance', label: 'Provenance' },\n { href: '/contribute', label: 'Contribute' }\n]\n\nexport function Header({ LinkComponent = 'a' }: HeaderProps) {\n const ref = useRef<HTMLElement>(null)\n useCssVarDims('header', ref)\n\n return (\n <Grid as=\"header\" {...{ ref }}>\n <Cell as={LinkComponent} href=\"/\">\n <hgroup className=\"flex flex-col gap-2\">\n <Small>Nous</Small>\n <H2>Psyche</H2>\n </hgroup>\n </Cell>\n\n {NAV.map(({ href, label }) => (\n <Cell\n as={LinkComponent}\n className=\"group relative\"\n key={href}\n {...{ href: '/runs' }}\n >\n <Small>\n {label}\n <Blink />\n </Small>\n\n <HoverBg />\n </Cell>\n ))}\n </Grid>\n )\n}\n\ninterface HeaderProps {\n LinkComponent?: React.ElementType\n}\n"]}
@@ -1 +1,2 @@
1
1
  export declare function LayoutWrapper({ children }: Readonly<React.PropsWithChildren>): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=layout-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-wrapper.d.ts","sourceRoot":"","sources":["../../src/ui/layout-wrapper.tsx"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACT,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,2CAQnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout-wrapper.js","sourceRoot":"","sources":["../../src/ui/layout-wrapper.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EAC0B;IAClC,OAAO,CACL,eAAM,IAAI,EAAC,IAAI,YACb,eAAM,SAAS,EAAC,6DAA6D,YAC1E,QAAQ,GACJ,GACF,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"layout-wrapper.js","sourceRoot":"","sources":["../../src/ui/layout-wrapper.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EAC0B;IAClC,OAAO,CACL,eAAM,IAAI,EAAC,IAAI,YACb,eAAM,SAAS,EAAC,6DAA6D,YAC1E,QAAQ,GACJ,GACF,CACR,CAAA;AACH,CAAC","sourcesContent":["export function LayoutWrapper({\n children\n}: Readonly<React.PropsWithChildren>) {\n return (\n <html lang=\"en\">\n <body className=\"text-midground font-mondwest bg-black uppercase antialiased\">\n {children}\n </body>\n </html>\n )\n}\n"]}
@@ -2,3 +2,4 @@ export declare const hexToRgb: (hex: string) => number[];
2
2
  export declare const rgbToHex: (r: number, g: number, b: number) => string;
3
3
  export declare const colorDodge: (base: string, blend: string) => string;
4
4
  export declare const colorMix: (color: string, alpha: number) => string;
5
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,aAInC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WACY,CAAA;AAEpE,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,WAQrD,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,WACoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAC1D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;IACxD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACjC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACvD,sBAAsB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAA"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAC1D,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;IACxD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACjC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACvD,sBAAsB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAA","sourcesContent":["export const hexToRgb = (hex: string) => [\n parseInt(hex.slice(1, 3), 16),\n parseInt(hex.slice(3, 5), 16),\n parseInt(hex.slice(5, 7), 16)\n]\n\nexport const rgbToHex = (r: number, g: number, b: number) =>\n `#${[r, g, b].map(v => v.toString(16).padStart(2, '0')).join('')}`\n\nexport const colorDodge = (base: string, blend: string) => {\n const [br, bg, bb] = hexToRgb(base)\n const [lr, lg, lb] = hexToRgb(blend)\n\n const d = (b: number, l: number) =>\n l === 255 ? 255 : Math.min(255, Math.floor((b * 255) / (255 - l)))\n\n return rgbToHex(d(br, lr), d(bg, lg), d(bb, lb))\n}\n\nexport const colorMix = (color: string, alpha: number) =>\n `color-mix(in srgb, ${color} ${Math.round(alpha * 100)}%, transparent)`\n"]}
@@ -13,3 +13,4 @@ export declare const truncate: (text: string, options: {
13
13
  length: number;
14
14
  }) => string;
15
15
  export declare const stripWpStyles: (html: string) => string;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAA;AAG5C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;AACtC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAEjD,eAAO,MAAM,EAAE,GAAI,GAAG,QAAQ,UAAU,EAAE,WAA0B,CAAA;AAEpE,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,YAAO,EAAE,YAAO,WACW,CAAA;AAE5D,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE,GAAG,MAAM,WAIjE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,kBAIpC,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,WACW,CAAA;AAE7E,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,WA6BtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport sanitize from 'sanitize-html'\nimport { twMerge } from 'tailwind-merge'\nimport * as THREE from 'three'\n\nimport { hexToRgb, rgbToHex } from './color'\nimport { polyRef } from './poly'\nimport type { PolyComponent, PolyProps, PolyRef } from './poly'\n\nexport { hexToRgb, polyRef, rgbToHex }\nexport type { PolyComponent, PolyProps, PolyRef }\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs))\n\nexport const clamp = (v: number, min = 0, max = 1) =>\n Math.min(max, Math.max(min, Number.isFinite(v) ? v : min))\n\nexport const smoothstep = (edge0: number, edge1: number, x: number) => {\n const t = clamp((x - edge0) / (edge1 - edge0))\n\n return t * t * (3 - 2 * t)\n}\n\nexport const hexToVec3 = (hex: string) => {\n const [r, g, b] = hexToRgb(hex)\n\n return new THREE.Vector3(r / 255, g / 255, b / 255)\n}\n\nexport const truncate = (text: string, options: { length: number }) =>\n text.length > options.length ? `${text.slice(0, options.length)}...` : text\n\nexport const stripWpStyles = (html: string) =>\n sanitize(html, {\n allowedAttributes: {\n a: ['href', 'target', 'rel', 'name'],\n audio: ['src', 'controls'],\n iframe: ['src', 'width', 'height', 'frameborder', 'allowfullscreen'],\n img: ['src', 'alt', 'width', 'height', 'loading'],\n source: ['src', 'type', 'srcset'],\n td: ['colspan', 'rowspan'],\n th: ['colspan', 'rowspan'],\n video: ['src', 'controls', 'width', 'height', 'poster']\n },\n allowedIframeHostnames: [\n 'www.youtube.com',\n 'youtube.com',\n 'player.vimeo.com'\n ],\n allowedSchemes: ['http', 'https', 'mailto'],\n allowedTags: [\n ...sanitize.defaults.allowedTags,\n 'img',\n 'figure',\n 'figcaption',\n 'iframe',\n 'video',\n 'audio',\n 'source',\n 'picture'\n ]\n })\n"]}
@@ -6,3 +6,4 @@ export type PolyComponent<D extends React.ElementType, Own extends object = obje
6
6
  ref?: PolyRef<T>;
7
7
  }) => null | React.ReactElement;
8
8
  export declare const polyRef: <D extends React.ElementType, Own extends object = object>(render: <T extends React.ElementType = D>(props: PolyProps<T, Own>, ref: PolyRef<T>) => null | React.ReactElement) => PolyComponent<D, Own>;
9
+ //# sourceMappingURL=poly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poly.d.ts","sourceRoot":"","sources":["../../src/utils/poly.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,KAAK,CAAC,WAAW,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,IACzB;IAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,CAAC,CAAA;AAEhF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,IAC7C,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAEvC,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,KAAK,CAAC,WAAW,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,IACzB,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,CAAC,EAClC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,KAC5C,IAAI,GAAG,KAAK,CAAC,YAAY,CAAA;AAE9B,eAAO,MAAM,OAAO,EAAiB,CACnC,CAAC,SAAS,KAAK,CAAC,WAAW,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,EAE3B,MAAM,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,CAAC,EACtC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EACxB,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KACZ,IAAI,GAAG,KAAK,CAAC,YAAY,KAC3B,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"poly.js","sourceRoot":"","sources":["../../src/utils/poly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBlC,MAAM,CAAC,MAAM,OAAO,GAAG,UAQG,CAAA"}
1
+ {"version":3,"file":"poly.js","sourceRoot":"","sources":["../../src/utils/poly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBlC,MAAM,CAAC,MAAM,OAAO,GAAG,UAQG,CAAA","sourcesContent":["import { forwardRef } from 'react'\n\nexport type PolyProps<\n T extends React.ElementType,\n Own extends object = object\n> = { as?: T } & Own & Omit<React.ComponentPropsWithoutRef<T>, 'as' | keyof Own>\n\nexport type PolyRef<T extends React.ElementType> =\n React.ComponentPropsWithRef<T>['ref']\n\nexport type PolyComponent<\n D extends React.ElementType,\n Own extends object = object\n> = <T extends React.ElementType = D>(\n props: PolyProps<T, Own> & { ref?: PolyRef<T> }\n) => null | React.ReactElement\n\nexport const polyRef = forwardRef as <\n D extends React.ElementType,\n Own extends object = object\n>(\n render: <T extends React.ElementType = D>(\n props: PolyProps<T, Own>,\n ref: PolyRef<T>\n ) => null | React.ReactElement\n) => PolyComponent<D, Own>\n"]}