@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.
- package/README.md +42 -3
- package/dist/fonts.d.ts +1 -0
- package/dist/fonts.d.ts.map +1 -0
- package/dist/fonts.js.map +1 -1
- package/dist/hooks/use-capped-frame.d.ts +1 -0
- package/dist/hooks/use-capped-frame.d.ts.map +1 -0
- package/dist/hooks/use-capped-frame.js.map +1 -1
- package/dist/hooks/use-css-var-dims.d.ts +1 -0
- package/dist/hooks/use-css-var-dims.d.ts.map +1 -0
- package/dist/hooks/use-css-var-dims.js.map +1 -1
- package/dist/hooks/use-gpu-tier.d.ts +1 -0
- package/dist/hooks/use-gpu-tier.d.ts.map +1 -0
- package/dist/hooks/use-gpu-tier.js.map +1 -1
- package/dist/hooks/use-smooth-controls.d.ts +1 -0
- package/dist/hooks/use-smooth-controls.d.ts.map +1 -0
- package/dist/hooks/use-smooth-controls.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ui/basic-page.d.ts +1 -0
- package/dist/ui/basic-page.d.ts.map +1 -0
- package/dist/ui/basic-page.js.map +1 -1
- package/dist/ui/components/animated-count.d.ts +1 -0
- package/dist/ui/components/animated-count.d.ts.map +1 -0
- package/dist/ui/components/animated-count.js.map +1 -1
- package/dist/ui/components/ascii.d.ts +1 -0
- package/dist/ui/components/ascii.d.ts.map +1 -0
- package/dist/ui/components/ascii.js.map +1 -1
- package/dist/ui/components/badge.d.ts +1 -0
- package/dist/ui/components/badge.d.ts.map +1 -0
- package/dist/ui/components/badge.js.map +1 -1
- package/dist/ui/components/badges/nous-girl.d.ts +1 -0
- package/dist/ui/components/badges/nous-girl.d.ts.map +1 -0
- package/dist/ui/components/badges/nous-girl.js.map +1 -1
- package/dist/ui/components/blend-mode.d.ts +1 -0
- package/dist/ui/components/blend-mode.d.ts.map +1 -0
- package/dist/ui/components/blend-mode.js.map +1 -1
- package/dist/ui/components/blink.d.ts +1 -0
- package/dist/ui/components/blink.d.ts.map +1 -0
- package/dist/ui/components/blink.js.map +1 -1
- package/dist/ui/components/button.d.ts +1 -0
- package/dist/ui/components/button.d.ts.map +1 -0
- package/dist/ui/components/button.js.map +1 -1
- package/dist/ui/components/cursor.d.ts +1 -0
- package/dist/ui/components/cursor.d.ts.map +1 -0
- package/dist/ui/components/cursor.js.map +1 -1
- package/dist/ui/components/dropdown-menu.d.ts +1 -0
- package/dist/ui/components/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/components/dropdown-menu.js.map +1 -1
- package/dist/ui/components/fit-text/index.d.ts +1 -0
- package/dist/ui/components/fit-text/index.d.ts.map +1 -0
- package/dist/ui/components/fit-text/index.js.map +1 -1
- package/dist/ui/components/graphs/bar-chart.d.ts +1 -0
- package/dist/ui/components/graphs/bar-chart.d.ts.map +1 -0
- package/dist/ui/components/graphs/bar-chart.js.map +1 -1
- package/dist/ui/components/graphs/index.d.ts +1 -0
- package/dist/ui/components/graphs/index.d.ts.map +1 -0
- package/dist/ui/components/graphs/index.js.map +1 -1
- package/dist/ui/components/graphs/line-chart.d.ts +1 -0
- package/dist/ui/components/graphs/line-chart.d.ts.map +1 -0
- package/dist/ui/components/graphs/line-chart.js.map +1 -1
- package/dist/ui/components/graphs/utils.d.ts +1 -0
- package/dist/ui/components/graphs/utils.d.ts.map +1 -0
- package/dist/ui/components/graphs/utils.js.map +1 -1
- package/dist/ui/components/grid/index.d.ts +1 -0
- package/dist/ui/components/grid/index.d.ts.map +1 -0
- package/dist/ui/components/grid/index.js.map +1 -1
- package/dist/ui/components/hover-bg.d.ts +1 -0
- package/dist/ui/components/hover-bg.d.ts.map +1 -0
- package/dist/ui/components/hover-bg.js.map +1 -1
- package/dist/ui/components/icons/arrow.d.ts +1 -0
- package/dist/ui/components/icons/arrow.d.ts.map +1 -0
- package/dist/ui/components/icons/arrow.js.map +1 -1
- package/dist/ui/components/icons/chevron.d.ts +1 -0
- package/dist/ui/components/icons/chevron.d.ts.map +1 -0
- package/dist/ui/components/icons/chevron.js.map +1 -1
- package/dist/ui/components/icons/eye.d.ts +1 -0
- package/dist/ui/components/icons/eye.d.ts.map +1 -0
- package/dist/ui/components/icons/eye.js.map +1 -1
- package/dist/ui/components/icons/gear.d.ts +1 -0
- package/dist/ui/components/icons/gear.d.ts.map +1 -0
- package/dist/ui/components/icons/gear.js.map +1 -1
- package/dist/ui/components/icons/heart.d.ts +1 -0
- package/dist/ui/components/icons/heart.d.ts.map +1 -0
- package/dist/ui/components/icons/heart.js.map +1 -1
- package/dist/ui/components/icons/index.d.ts +1 -0
- package/dist/ui/components/icons/index.d.ts.map +1 -0
- package/dist/ui/components/icons/index.js.map +1 -1
- package/dist/ui/components/icons/link.d.ts +1 -0
- package/dist/ui/components/icons/link.d.ts.map +1 -0
- package/dist/ui/components/icons/link.js.map +1 -1
- package/dist/ui/components/icons/minus.d.ts +1 -0
- package/dist/ui/components/icons/minus.d.ts.map +1 -0
- package/dist/ui/components/icons/minus.js.map +1 -1
- package/dist/ui/components/icons/search.d.ts +1 -0
- package/dist/ui/components/icons/search.d.ts.map +1 -0
- package/dist/ui/components/icons/search.js.map +1 -1
- package/dist/ui/components/leva-client.d.ts +1 -0
- package/dist/ui/components/leva-client.d.ts.map +1 -0
- package/dist/ui/components/leva-client.js.map +1 -1
- package/dist/ui/components/modal/index.d.ts +1 -0
- package/dist/ui/components/modal/index.d.ts.map +1 -0
- package/dist/ui/components/modal/index.js.map +1 -1
- package/dist/ui/components/overlays/glitch.d.ts +1 -0
- package/dist/ui/components/overlays/glitch.d.ts.map +1 -0
- package/dist/ui/components/overlays/glitch.js.map +1 -1
- package/dist/ui/components/overlays/greys.d.ts +1 -0
- package/dist/ui/components/overlays/greys.d.ts.map +1 -0
- package/dist/ui/components/overlays/greys.js.map +1 -1
- package/dist/ui/components/overlays/index.d.ts +1 -0
- package/dist/ui/components/overlays/index.d.ts.map +1 -0
- package/dist/ui/components/overlays/index.js.map +1 -1
- package/dist/ui/components/overlays/noise.d.ts +1 -0
- package/dist/ui/components/overlays/noise.d.ts.map +1 -0
- package/dist/ui/components/overlays/noise.js.map +1 -1
- package/dist/ui/components/overlays/vignette.d.ts +1 -0
- package/dist/ui/components/overlays/vignette.d.ts.map +1 -0
- package/dist/ui/components/overlays/vignette.js.map +1 -1
- package/dist/ui/components/progress.d.ts +1 -0
- package/dist/ui/components/progress.d.ts.map +1 -0
- package/dist/ui/components/progress.js.map +1 -1
- package/dist/ui/components/scene-canvas.d.ts +1 -0
- package/dist/ui/components/scene-canvas.d.ts.map +1 -0
- package/dist/ui/components/scene-canvas.js.map +1 -1
- package/dist/ui/components/scramble.d.ts +1 -0
- package/dist/ui/components/scramble.d.ts.map +1 -0
- package/dist/ui/components/scramble.js.map +1 -1
- package/dist/ui/components/selection-switcher.d.ts +1 -0
- package/dist/ui/components/selection-switcher.d.ts.map +1 -0
- package/dist/ui/components/selection-switcher.js.map +1 -1
- package/dist/ui/components/shader.d.ts +1 -0
- package/dist/ui/components/shader.d.ts.map +1 -0
- package/dist/ui/components/shader.js.map +1 -1
- package/dist/ui/components/stats.d.ts +10 -3
- package/dist/ui/components/stats.d.ts.map +1 -0
- package/dist/ui/components/stats.js +3 -3
- package/dist/ui/components/stats.js.map +1 -1
- package/dist/ui/components/tv.d.ts +1 -0
- package/dist/ui/components/tv.d.ts.map +1 -0
- package/dist/ui/components/tv.js.map +1 -1
- package/dist/ui/components/typography/h1.d.ts +1 -0
- package/dist/ui/components/typography/h1.d.ts.map +1 -0
- package/dist/ui/components/typography/h1.js.map +1 -1
- package/dist/ui/components/typography/h2.d.ts +1 -0
- package/dist/ui/components/typography/h2.d.ts.map +1 -0
- package/dist/ui/components/typography/h2.js.map +1 -1
- package/dist/ui/components/typography/index.d.ts +1 -0
- package/dist/ui/components/typography/index.d.ts.map +1 -0
- package/dist/ui/components/typography/index.js.map +1 -1
- package/dist/ui/components/typography/legend.d.ts +1 -0
- package/dist/ui/components/typography/legend.d.ts.map +1 -0
- package/dist/ui/components/typography/legend.js.map +1 -1
- package/dist/ui/components/typography/small.d.ts +1 -0
- package/dist/ui/components/typography/small.d.ts.map +1 -0
- package/dist/ui/components/typography/small.js.map +1 -1
- package/dist/ui/components/watchlist.d.ts +1 -0
- package/dist/ui/components/watchlist.d.ts.map +1 -0
- package/dist/ui/components/watchlist.js.map +1 -1
- package/dist/ui/footer.d.ts +6 -1
- package/dist/ui/footer.d.ts.map +1 -0
- package/dist/ui/footer.js +2 -3
- package/dist/ui/footer.js.map +1 -1
- package/dist/ui/header.d.ts +6 -1
- package/dist/ui/header.d.ts.map +1 -0
- package/dist/ui/header.js +2 -3
- package/dist/ui/header.js.map +1 -1
- package/dist/ui/layout-wrapper.d.ts +1 -0
- package/dist/ui/layout-wrapper.d.ts.map +1 -0
- package/dist/ui/layout-wrapper.js.map +1 -1
- package/dist/utils/color.d.ts +1 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/poly.d.ts +1 -0
- package/dist/utils/poly.d.ts.map +1 -0
- package/dist/utils/poly.js.map +1 -1
- package/package.json +17 -10
package/README.md
CHANGED
|
@@ -25,10 +25,49 @@ import {
|
|
|
25
25
|
} from '@nous-research/ui'
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## local development
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
two ways to preview components while editing:
|
|
31
|
+
|
|
32
|
+
### storybook (per-component, primary)
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
pnpm storybook # dev server on http://localhost:6006
|
|
36
|
+
pnpm build-storybook # static build → ./storybook-static
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
stories live in `stories/*.stories.tsx`. the **Overview** story re-renders
|
|
40
|
+
the entire `/ds` page, so you always have a kitchen-sink view alongside the
|
|
41
|
+
isolated component stories. the **Lens** toolbar above the preview cycles
|
|
42
|
+
between the lens presets (`0`, `1`, `2`, `3`, `4`, `5`, `5i`, `6`).
|
|
43
|
+
|
|
44
|
+
### next.js showcase (kitchen-sink, secondary)
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
pnpm dev # next dev on http://localhost:3000 → redirects to /ds
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`app/ds/page.tsx` is the same content the Overview story renders.
|
|
51
|
+
|
|
52
|
+
## publishing
|
|
31
53
|
|
|
32
54
|
```
|
|
33
|
-
pnpm
|
|
55
|
+
pnpm build # tsc → dist/ + copies css / fonts / assets
|
|
56
|
+
pnpm release # runs scripts/release.sh (must be on main, clean tree)
|
|
34
57
|
```
|
|
58
|
+
|
|
59
|
+
the published tarball only ships `dist/` and `README.md` (see `files` in
|
|
60
|
+
`package.json`). `.d.ts.map` + inline sources are emitted so consumers can
|
|
61
|
+
"go to definition" straight into the TypeScript source.
|
|
62
|
+
|
|
63
|
+
## deployment
|
|
64
|
+
|
|
65
|
+
`vercel.json` builds both and serves them on a single Next.js deployment:
|
|
66
|
+
|
|
67
|
+
- `/` and `/ds` — the Next.js showcase (same as `pnpm dev`)
|
|
68
|
+
- `/storybook` — the static Storybook build (copied to `public/storybook/`
|
|
69
|
+
before `next build` so Next serves it like any other static asset)
|
|
70
|
+
|
|
71
|
+
Want Storybook-only? replace `buildCommand` with `pnpm build-storybook` and
|
|
72
|
+
add `"outputDirectory": "storybook-static"`. `app/ds` can stay for local
|
|
73
|
+
`pnpm dev` either way — the Overview story renders the same content.
|
package/dist/fonts.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare const FONT_MONO = "--font-mono";
|
|
|
4
4
|
export declare const FONT_RULES_COMPRESSED = "--font-rules-compressed";
|
|
5
5
|
export declare const FONT_RULES_EXPANDED = "--font-rules-expanded";
|
|
6
6
|
export declare const FONT_MONDWEST = "--font-mondwest";
|
|
7
|
+
//# sourceMappingURL=fonts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,SAAS,gBAAgB,CAAA;AACtC,eAAO,MAAM,SAAS,gBAAgB,CAAA;AACtC,eAAO,MAAM,qBAAqB,4BAA4B,CAAA;AAC9D,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAC1D,eAAO,MAAM,aAAa,oBAAoB,CAAA"}
|
package/dist/fonts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAA;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAA;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAA;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAA;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAA;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA","sourcesContent":["/** CSS variable names for the design language fonts. Set automatically by fonts.css. */\nexport const FONT_SANS = '--font-sans'\nexport const FONT_MONO = '--font-mono'\nexport const FONT_RULES_COMPRESSED = '--font-rules-compressed'\nexport const FONT_RULES_EXPANDED = '--font-rules-expanded'\nexport const FONT_MONDWEST = '--font-mondwest'\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-capped-frame.d.ts","sourceRoot":"","sources":["../../src/hooks/use-capped-frame.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,QAW9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-capped-frame.js","sourceRoot":"","sources":["../../src/hooks/use-capped-frame.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,MAAM,UAAU,cAAc,CAAC,EAAkB,EAAE,GAAY;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAE9D,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAChC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-capped-frame.js","sourceRoot":"","sources":["../../src/hooks/use-capped-frame.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,MAAM,UAAU,cAAc,CAAC,EAAkB,EAAE,GAAY;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAE9D,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QACrB,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAChC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["'use client'\n\nimport { useFrame, useThree } from '@react-three/fiber'\nimport type { RenderCallback } from '@react-three/fiber'\nimport { useRef } from 'react'\n\nexport function useCappedFrame(cb: RenderCallback, max?: number) {\n const last = useRef(performance.now())\n const { size } = useThree()\n const interval = 1e3 / (max ?? (size.width < 1024 ? 60 : 120))\n\n useFrame((st, delta) => {\n if (performance.now() - last.current > interval) {\n last.current = performance.now()\n cb(st, delta)\n }\n })\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-css-var-dims.d.ts","sourceRoot":"","sources":["../../src/hooks/use-css-var-dims.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,QAgCzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-css-var-dims.js","sourceRoot":"","sources":["../../src/hooks/use-css-var-dims.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,GAAwC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;YAC/C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,KAAK,IAAI,QAAQ,EACjB,GAAG,KAAK,IAAI,CACb,CAAA;YAED,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,KAAK,IAAI,SAAS,EAClB,GAAG,MAAM,IAAI,CACd,CAAA;QACH,CAAC,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAErB,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEvB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-css-var-dims.js","sourceRoot":"","sources":["../../src/hooks/use-css-var-dims.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,GAAwC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE;YAC/C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,KAAK,IAAI,QAAQ,EACjB,GAAG,KAAK,IAAI,CACb,CAAA;YAED,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,KAAK,IAAI,SAAS,EAClB,GAAG,MAAM,IAAI,CACd,CAAA;QACH,CAAC,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA;QAC7D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAErB,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEvB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;AACjB,CAAC","sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\n\nexport function useCssVarDims(\n name: string,\n ref: React.RefObject<HTMLElement | null>\n) {\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const update = (width: number, height: number) => {\n document.documentElement.style.setProperty(\n `--${name}-width`,\n `${width}px`\n )\n\n document.documentElement.style.setProperty(\n `--${name}-height`,\n `${height}px`\n )\n }\n\n const { height, width } = ref.current.getBoundingClientRect()\n update(width, height)\n\n const ro = new ResizeObserver(entries => {\n for (const entry of entries) {\n update(entry.contentRect.width, entry.contentRect.height)\n }\n })\n\n ro.observe(ref.current)\n\n return () => ro.disconnect()\n }, [name, ref])\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-gpu-tier.d.ts","sourceRoot":"","sources":["../../src/hooks/use-gpu-tier.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,mEAAmB,CAAA;AAmHxC,wBAAgB,UAAU,YAEzB;AAED,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-gpu-tier.js","sourceRoot":"","sources":["../../src/hooks/use-gpu-tier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-gpu-tier.js","sourceRoot":"","sources":["../../src/hooks/use-gpu-tier.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU,CAAC,CAAC,CAAA;AAExC,MAAM,iBAAiB,GACrB,yDAAyD,CAAA;AAE3D,MAAM,gBAAgB,GACpB,yEAAyE,CAAA;AAE3E,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEf,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE/C,MAAM,EAAE,GACN,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAEvE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAEf,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,EAA2B,CAAA;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;IAE3D,MAAM,QAAQ,GAAG,GAAG;QAClB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACjD,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACf,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAA;QAEvD,OAAM;IACR,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACf,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAA;QAEvD,OAAM;IACR,CAAC;IAED,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7B,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,YAAY,CAAC,EAAyB;IAC7C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAE,CAAA;QAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAE,CAAA;QAC/C,EAAE,CAAC,YAAY,CACb,EAAE,EACF,wDAAwD,CACzD,CAAA;QACD,EAAE,CAAC,YAAY,CACb,EAAE,EACF,sIAAsI,CACvI,CAAA;QACD,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACpB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAEpB,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,EAAG,CAAA;QAChC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACzB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACpB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAEnB,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAC7B,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACnC,EAAE,CAAC,UAAU,CACX,EAAE,CAAC,YAAY,EACf,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAC9C,EAAE,CAAC,WAAW,CACf,CAAA;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACzC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;QAC7B,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAEnD,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3C,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAE/B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YACxB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACtC,EAAE,CAAC,MAAM,EAAE,CAAA;YACX,MAAM,EAAE,CAAA;YAER,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;gBACpC,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;gBACzC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBACtB,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBACnB,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;gBACnB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpB,OAAO,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;YACpC,CAAC;QACH,CAAC,CAAA;QAED,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["'use client'\n\nimport { useStore } from '@nanostores/react'\nimport { atom, onMount } from 'nanostores'\n\n/**\n * Tiers:\n * 0 — no WebGL / software renderer / prefers-reduced-motion\n * 1 — low-end GPU (integrated, mobile, or failed perf benchmark)\n * 2 — capable GPU (discrete / high-end integrated)\n */\nexport const $gpuTier = atom<GpuTier>(2)\n\nconst SOFTWARE_PATTERNS =\n /swiftshader|llvmpipe|softpipe|software|microsoft basic/i\n\nconst LOW_END_PATTERNS =\n /intel.*hd|intel.*uhd|intel.*iris|mali|adreno\\s?[1-5]|powervr|apple gpu/i\n\nonMount($gpuTier, () => {\n if (typeof window === 'undefined') {\n return\n }\n\n if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n $gpuTier.set(0)\n\n return\n }\n\n const canvas = document.createElement('canvas')\n\n const gl =\n canvas.getContext('webgl') || canvas.getContext('experimental-webgl')\n\n if (!gl) {\n $gpuTier.set(0)\n\n return\n }\n\n const glCtx = gl as WebGLRenderingContext\n const ext = glCtx.getExtension('WEBGL_debug_renderer_info')\n\n const renderer = ext\n ? glCtx.getParameter(ext.UNMASKED_RENDERER_WEBGL)\n : glCtx.getParameter(glCtx.RENDERER)\n\n if (SOFTWARE_PATTERNS.test(renderer)) {\n $gpuTier.set(0)\n glCtx.getExtension('WEBGL_lose_context')?.loseContext()\n\n return\n }\n\n if (LOW_END_PATTERNS.test(renderer)) {\n $gpuTier.set(1)\n glCtx.getExtension('WEBGL_lose_context')?.loseContext()\n\n return\n }\n\n runBenchmark(glCtx).then(fps => {\n $gpuTier.set(fps < 30 ? 1 : 2)\n glCtx.getExtension('WEBGL_lose_context')?.loseContext()\n })\n})\n\nfunction runBenchmark(gl: WebGLRenderingContext): Promise<number> {\n return new Promise(resolve => {\n const vs = gl.createShader(gl.VERTEX_SHADER)!\n const fs = gl.createShader(gl.FRAGMENT_SHADER)!\n gl.shaderSource(\n vs,\n 'attribute vec2 a;void main(){gl_Position=vec4(a,0,1);}'\n )\n gl.shaderSource(\n fs,\n 'precision highp float;uniform float t;void main(){float v=0.;for(int i=0;i<64;i++)v+=sin(float(i)*t*.01);gl_FragColor=vec4(v*.001);}'\n )\n gl.compileShader(vs)\n gl.compileShader(fs)\n\n const prog = gl.createProgram()!\n gl.attachShader(prog, vs)\n gl.attachShader(prog, fs)\n gl.linkProgram(prog)\n gl.useProgram(prog)\n\n const buf = gl.createBuffer()\n gl.bindBuffer(gl.ARRAY_BUFFER, buf)\n gl.bufferData(\n gl.ARRAY_BUFFER,\n new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]),\n gl.STATIC_DRAW\n )\n const a = gl.getAttribLocation(prog, 'a')\n gl.enableVertexAttribArray(a)\n gl.vertexAttribPointer(a, 2, gl.FLOAT, false, 0, 0)\n\n const uT = gl.getUniformLocation(prog, 't')\n let frames = 0\n const start = performance.now()\n\n const tick = () => {\n gl.uniform1f(uT, frames)\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n gl.finish()\n frames++\n\n if (performance.now() - start < 200) {\n requestAnimationFrame(tick)\n } else {\n const elapsed = performance.now() - start\n gl.deleteProgram(prog)\n gl.deleteShader(vs)\n gl.deleteShader(fs)\n gl.deleteBuffer(buf)\n resolve((frames / elapsed) * 1000)\n }\n }\n\n requestAnimationFrame(tick)\n })\n}\n\nexport function useGpuTier() {\n return useStore($gpuTier)\n}\n\ntype GpuTier = 0 | 1 | 2"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-smooth-controls.d.ts","sourceRoot":"","sources":["../../src/hooks/use-smooth-controls.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,WAAW,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAQ,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAqBpD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,EACd,OAAO,CAAC,EAAE,wBAAwB,EAClC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,MAEpC,CAAC;WAAoC,MAAM,CAAC;iBAmOzD;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,GAAG,GAAG,EACpC,OAAO,MAAM,EACb,KAAK,MAAM,KACV,SAAS,GAAG,YAAY,CAAC,CAAC,CACqC,CAAA;AAElE,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,GAAG,EACrC,OAAO,MAAM,EACb,KAAK,MAAM,EACX,OAAO,CAAC,EACR,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,SAwBnD,CAAA;AAED,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-smooth-controls.js","sourceRoot":"","sources":["../../src/hooks/use-smooth-controls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-smooth-controls.js","sourceRoot":"","sources":["../../src/hooks/use-smooth-controls.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAqB,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEzE,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0C,CAAA;AAEtE,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,EAAE,CACrB,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE1D,MAAM,KAAK,GAAG,CAAC,CAAM,EAAE,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5D,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC;KACrC,QAAQ,CAAC,EAAE,CAAC;KACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;AAEvB,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CACzB,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;IAC3D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE7B,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,WAAc,EACd,OAAkC,EAClC,YAAgD;IAIhD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EACvC,CAAC,WAAW,CAAC,CACd,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAChE,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAA6B,CAAA;QAE3E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACjC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;oBAExB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;oBACvC,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAEpB,MAAM,OAAO,GAAG,WAAW,CACzB,GAAG,EAAE,CACH,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,EAAE,MAAM;QACP,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAgB,EAAE,EAAE,CAAC;YACxD,EAAE;YACF,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;SAC1C,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACzC,CACG,EACR,CAAC,OAAO,EAAE,KAAK,CAAC,CACjB,CAAA;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAI,OAAO,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAsB,EAAE,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAA;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;YACjE,MAAM,CAAC,OAAO,CAAC,CAAA;QACjB,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,CAAA;QACpC,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAEzD,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,QAA0B,EAAE,EAAE;YAChE,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAE5B,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,OAAM;YACR,CAAC;YAED,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACd,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACtC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAE7B,IACE,MAAM,CAAC,OAAO;oBACd,KAAK;oBACL,IAAI,KAAK,CAAC;oBACV,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EACjC,CAAC;oBACD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;oBAEvB,IAAI,CAAC;wBACH,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACb,CAAC;oBAAC,MAAM,CAAC;wBACP,EAAE;oBACJ,CAAC;oBAED,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC,CAAC,CACH,CAAA;YAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QACrC,CAAC,CAAA;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACjC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;wBAC1B,IAAI,CAAC;4BACH,MAAM,CAAC,OAAQ,CAAC;gCACd,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAE,IAAI,CAAC,CAAC,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;6BAChC,CAAC,CAAA;wBAClB,CAAC;wBAAC,MAAM,CAAC;4BACP,EAAE;wBACJ,CAAC;wBAED,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACZ,GAAG,EAAE;4BACL,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAE,EAAE,CAAC,CAAC,CAAS,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;yBAC5C,CAAC,CAAC,CAAA;oBACL,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBACf,IAAI,CAAC;wBACH,MAAM,CAAC,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAA;oBAC3C,CAAC;oBAAC,MAAM,CAAC;wBACP,EAAE;oBACJ,CAAC;oBAED,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAEjC,MAAM,QAAQ,GACZ,CAAC,CAAS,EAAE,IAAoC,EAAE,EAAE,CACpD,CAAC,CAAM,EAAE,EAAW,EAAE,EAAE;QACtB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACtB,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,CAAA;QACvB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE5B,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEhC,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE;YACtB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACnC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACf,CAAC,CAAA;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;gBACZ,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;gBACnC,IAAI,EAAE,UAAU;gBAChB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1D,QAAQ,EAAE,GAAG,EAAE;oBACb,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;oBACf,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1D,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC,CAAA;IAEH,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,CACzB,KAAK,EACL,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,MAAM,CAAC,WAAW,CACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrB,CAAC,EAAE,MAAM;YACP,CAAC,CAAC;gBACE,CAAC;gBACD;oBACE,GAAG,CAAC;oBACJ,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAgB,EAAE,EAAE,CAAC;wBACxD,EAAE;wBACF,EAAE,GAAG,EAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE;qBAChD,CAAC,CACH;iBACF;aACF;YACH,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CACtD,CACF;QAED,GAAG,EAAE,WAAW,CAAC;YACf,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,SAAS,EAAE,GAAG,EAAE;gBACd,GAAG,CACD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CACF,CAAA;gBACD,OAAO,EAAE,WAAW,EAAE,EAAE,CAAA;YAC1B,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5D,OAAO,EAAE,OAAO,EAAE,EAAE,CAAA;YACtB,CAAC;SACF,CAAC;KACH,CAAC,EACF,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAC/B,YAAY,IAAI,EAAE,CACnB,CAAA;IAED,MAAM,CAAC,OAAO,GAAG,GAAG,CAAA;IAEpB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,GAAW,EACkB,EAAE,CAC/B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAgC,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAa,EACb,GAAW,EACX,KAAQ,EACR,OAAkD,EAClD,EAAE;IACF,MAAM,CAAC,GAAG,cAAc,CAAI,KAAK,EAAE,GAAG,CAAC,CAAA;IAEvC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAM;IACR,CAAC;IAED,IACE,OAAO,EAAE,OAAO;QAChB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,QAAQ,EAC3B,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAA;QAExB,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,EAAE,KAAK;SACT,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;AACH,CAAC,CAAA","sourcesContent":["'use client'\n\nimport gsap from 'gsap'\nimport { buttonGroup, useControls } from 'leva'\nimport { atom, type WritableAtom } from 'nanostores'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nconst atomRegistry = new Map<string, Map<string, WritableAtom<any>>>()\n\nconst val = (v: any) =>\n v && typeof v === 'object' && 'value' in v ? v.value : v\n\nconst isHex = (v: any) =>\n /color/i.test(v?.type) || /^#[0-9a-f]{3,8}$/i.test(val(v))\n\nconst randHex = () =>\n `#${Math.floor(Math.random() * 0xffffff)\n .toString(16)\n .padStart(6, '0')}`\n\nconst randNum = (v: any) =>\n typeof v === 'object' && ('min' in v || 'max' in v)\n ? gsap.utils.random(v.min ?? 0, v.max ?? 1, v.step ?? 0.01)\n : gsap.utils.random(0, 1)\n\nexport function useSmoothControls<T extends Record<string, any>>(\n label: string,\n initialArgs: T,\n options?: UseSmoothControlsOptions,\n dependencies?: Parameters<typeof useControls>[3]\n) {\n type R = { [K in keyof T]: T[K] extends { value: infer V } ? V : never }\n\n const entries = useMemo(\n () => Object.entries(initialArgs ?? {}),\n [initialArgs]\n )\n\n const values = useMemo(\n () => entries.filter(([, v]) => !/button|folder/i.test(v?.type)),\n [entries]\n )\n\n const atoms = useMemo(() => {\n const map = atomRegistry.get(label) ?? new Map<string, WritableAtom<any>>()\n\n if (!atomRegistry.has(label)) {\n atomRegistry.set(label, map)\n }\n\n entries.forEach(([k, v]) => {\n if (v?.schema) {\n Object.keys(v.schema).forEach(sk => {\n const key = `${k}.${sk}`\n\n if (!map.has(key)) {\n map.set(key, atom(val(v.schema[sk])))\n }\n })\n } else if (!map.has(k)) {\n map.set(k, atom(val(v)))\n }\n })\n\n return map\n }, [label, entries])\n\n const hydrate = useCallback(\n () =>\n Object.fromEntries(\n entries.flatMap(([k, v]) =>\n v?.schema\n ? Object.entries(v.schema).map(([k0, v0]: [string, any]) => [\n k0,\n atoms.get(`${k}.${k0}`)?.get() ?? val(v0)\n ])\n : [[k, atoms.get(k)?.get() ?? val(v)]]\n )\n ) as R,\n [entries, atoms]\n )\n\n const [args, update] = useState<R>(hydrate)\n const setRef = useRef<((values: Partial<R>) => void) | null>(null)\n const atomVals = useRef<Record<string, any>>({})\n const fromAtom = useRef(false)\n const fromControl = useRef<Set<string>>(new Set())\n\n useEffect(() => {\n if (Object.keys(args).length !== Object.keys(initialArgs).length) {\n update(hydrate)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialArgs, args])\n\n useEffect(() => {\n if (!setRef.current) {\n return\n }\n\n const unsubs: Array<() => void> = []\n let ready = false\n const initTimeout = setTimeout(() => (ready = true), 100)\n\n const subscribe = (fullKey: string, updateFn: (v: any) => void) => {\n const a = atoms.get(fullKey)\n\n if (!a) {\n return\n }\n\n unsubs.push(\n a.subscribe(v => {\n const prev = atomVals.current[fullKey]\n atomVals.current[fullKey] = v\n\n if (\n setRef.current &&\n ready &&\n prev !== v &&\n !fromControl.current.has(fullKey)\n ) {\n fromAtom.current = true\n\n try {\n updateFn(v)\n } catch {\n //\n }\n\n setTimeout(() => (fromAtom.current = false), 0)\n }\n })\n )\n\n atomVals.current[fullKey] = a.get()\n }\n\n entries.forEach(([k, v]) => {\n if (v?.schema) {\n Object.keys(v.schema).forEach(sk => {\n subscribe(`${k}.${sk}`, v => {\n try {\n setRef.current!({\n [k]: { ...((args[k] as any) ?? {}), [sk]: v }\n } as Partial<R>)\n } catch {\n //\n }\n\n update(st => ({\n ...st,\n [k]: { ...((st[k] as any) ?? {}), [sk]: v }\n }))\n })\n })\n } else {\n subscribe(k, v => {\n try {\n setRef.current!({ [k]: v } as Partial<R>)\n } catch {\n //\n }\n\n update(st => ({ ...st, [k]: v }))\n })\n }\n })\n\n return () => {\n clearTimeout(initTimeout)\n unsubs.forEach(fn => fn())\n }\n }, [label, entries, atoms, args])\n\n const onChange =\n (k: string, orig?: (e: any, k0?: string) => void) =>\n (e: any, k0?: string) => {\n if (fromAtom.current) {\n return orig?.(e, k0)\n }\n\n const key = k0?.split('.')?.pop() ?? k\n const fullKey = k0 ?? k\n const a = atoms.get(fullKey)\n\n fromControl.current.add(fullKey)\n\n const sync = (v: any) => {\n update(st => ({ ...st, [key]: v }))\n a?.set(v)\n orig?.(v, k0)\n }\n\n if (typeof e === 'number' && args[key] !== e) {\n gsap.to(args, {\n duration: options?.duration ?? 0.35,\n ease: 'circ.out',\n [key]: e,\n onComplete: () => void fromControl.current.delete(fullKey),\n onUpdate: () => {\n fromControl.current.add(fullKey)\n sync(args[key])\n setTimeout(() => fromControl.current.delete(fullKey), 0)\n }\n })\n } else {\n sync(e)\n setTimeout(() => fromControl.current.delete(fullKey), 0)\n }\n }\n\n const [, set] = useControls(\n label,\n () => ({\n ...Object.fromEntries(\n entries.map(([k, v]) =>\n v?.schema\n ? [\n k,\n {\n ...v,\n schema: Object.fromEntries(\n Object.entries(v.schema).map(([sk, sv]: [string, any]) => [\n sk,\n { ...sv!, onChange: onChange(k, sv?.onChange) }\n ])\n )\n }\n ]\n : [k, { ...v, onChange: onChange(k, v?.onChange) }]\n )\n ),\n\n ' ': buttonGroup({\n flatten: () =>\n void set(Object.fromEntries(values.map(([k]) => [k, 0]))),\n randomize: () => {\n set(\n Object.fromEntries(\n values.map(([k, v]) => [k, isHex(v) ? randHex() : randNum(v)])\n )\n )\n options?.onRandomize?.()\n },\n reset: () => {\n set(Object.fromEntries(values.map(([k, v]) => [k, val(v)])))\n options?.onReset?.()\n }\n })\n }),\n { collapsed: true, ...options },\n dependencies ?? []\n )\n\n setRef.current = set\n\n return args\n}\n\nexport const getControlAtom = <T = any>(\n label: string,\n key: string\n): undefined | WritableAtom<T> =>\n atomRegistry.get(label)?.get(key) as undefined | WritableAtom<T>\n\nexport const setControlValue = <T = any>(\n label: string,\n key: string,\n value: T,\n options?: { animate?: boolean; duration?: number }\n) => {\n const a = getControlAtom<T>(label, key)\n\n if (!a) {\n return\n }\n\n if (\n options?.animate &&\n typeof value === 'number' &&\n typeof a.get() === 'number'\n ) {\n const t = { v: a.get() }\n\n gsap.to(t, {\n duration: options.duration ?? 0.35,\n ease: 'circ.out',\n onUpdate: () => a.set(t.v),\n v: value\n })\n } else {\n a.set(value)\n }\n}\n\ntype UseSmoothControlsOptions = Parameters<typeof useControls>[2] & {\n duration?: number\n onRandomize?: () => void\n onReset?: () => void\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -43,3 +43,4 @@ export { hexToRgb, rgbToHex, colorDodge, colorMix } from './utils/color';
|
|
|
43
43
|
export { useCappedFrame } from './hooks/use-capped-frame';
|
|
44
44
|
export { useCssVarDims } from './hooks/use-css-var-dims';
|
|
45
45
|
export { useSmoothControls, getControlAtom, setControlValue } from './hooks/use-smooth-controls';
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AAExD,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,QAAQ;AACR,OAAO,EACL,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,SAAS,CAAA;AAEhB,QAAQ;AACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExE,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,6BAA6B,CAAA","sourcesContent":["// Components\nexport { AnimatedCount, useAnimatedCount } from './ui/components/animated-count'\nexport { AsciiSkeleton, Scramble as AsciiScramble } from './ui/components/ascii'\nexport { Badge } from './ui/components/badge'\nexport { NouseGirlBadge } from './ui/components/badges/nous-girl'\nexport { BlendMode, useBlendMode, withBlendMode } from './ui/components/blend-mode'\nexport type { BlendModeProps } from './ui/components/blend-mode'\nexport { Blink } from './ui/components/blink'\nexport { Button } from './ui/components/button'\nexport { Cursor } from './ui/components/cursor'\nexport { DropdownMenu } from './ui/components/dropdown-menu'\nexport { FitText } from './ui/components/fit-text'\nexport { BarChart, LineChart } from './ui/components/graphs'\nexport { Cell, Grid } from './ui/components/grid'\nexport { HoverBg } from './ui/components/hover-bg'\nexport * as Icons from './ui/components/icons'\nexport { LevaClient } from './ui/components/leva-client'\nexport { Modal } from './ui/components/modal'\nexport {\n applyLens,\n LENSES,\n LENS_0,\n LENS_5I,\n toggleLens,\n $lightMode\n} from './ui/components/overlays'\nexport { Overlays } from './ui/components/overlays'\nexport type { LensPreset } from './ui/components/overlays'\nexport { Progress } from './ui/components/progress'\nexport { SceneCanvas } from './ui/components/scene-canvas'\nexport { Scramble } from './ui/components/scramble'\nexport { SelectionSwitcher } from './ui/components/selection-switcher'\nexport { Stats } from './ui/components/stats'\nexport { TV } from './ui/components/tv'\nexport { Watchlist } from './ui/components/watchlist'\n\n// Typography\nexport { Typography } from './ui/components/typography'\nexport type { TypographyProps } from './ui/components/typography'\nexport { H1 } from './ui/components/typography/h1'\nexport { H2 } from './ui/components/typography/h2'\nexport { Legend } from './ui/components/typography/legend'\nexport { Small } from './ui/components/typography/small'\n\n// Layout\nexport { BasicPage } from './ui/basic-page'\nexport { Header } from './ui/header'\nexport { Footer } from './ui/footer'\nexport { LayoutWrapper } from './ui/layout-wrapper'\n\n// Fonts\nexport {\n FONT_SANS,\n FONT_MONO,\n FONT_RULES_COMPRESSED,\n FONT_RULES_EXPANDED,\n FONT_MONDWEST\n} from './fonts'\n\n// Utils\nexport { cn, clamp, smoothstep, hexToVec3, truncate, stripWpStyles } from './utils'\nexport { polyRef } from './utils'\nexport type { PolyComponent, PolyProps, PolyRef } from './utils'\nexport { hexToRgb, rgbToHex, colorDodge, colorMix } from './utils/color'\n\n// Hooks\nexport { useCappedFrame } from './hooks/use-capped-frame'\nexport { useCssVarDims } from './hooks/use-css-var-dims'\nexport {\n useSmoothControls,\n getControlAtom,\n setControlValue\n} from './hooks/use-smooth-controls'\n"]}
|
package/dist/ui/basic-page.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-page.d.ts","sourceRoot":"","sources":["../../src/ui/basic-page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,cAAc,2CAqBtE;AAED,UAAU,cAAe,SAAQ,KAAK,CAAC,iBAAiB;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-page.js","sourceRoot":"","sources":["../../src/ui/basic-page.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAkB;IACrE,OAAO,CACL,8BACE,KAAC,IAAI,cACH,KAAC,IAAI,cACH,KAAC,QAAQ,IAAC,KAAK,EAAE,CAAC,GAAI,GACjB,GACF,EAEP,MAAC,IAAI,IAAC,SAAS,EAAC,gCAAgC,aAC9C,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,YACxB,eAAK,SAAS,EAAC,kCAAkC,aAC9C,KAAK,CAAC,CAAC,CAAC,KAAC,EAAE,IAAC,SAAS,EAAC,wBAAwB,YAAE,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EAClE,QAAQ,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,YAAE,QAAQ,GAAS,CAAC,CAAC,CAAC,IAAI,IAC/D,GACD,EAEP,KAAC,IAAI,IAAC,SAAS,EAAC,mBAAmB,YAAE,QAAQ,GAAQ,IAChD,IACN,CACJ,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"basic-page.js","sourceRoot":"","sources":["../../src/ui/basic-page.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,4BAA4B,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAErD,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAkB;IACrE,OAAO,CACL,8BACE,KAAC,IAAI,cACH,KAAC,IAAI,cACH,KAAC,QAAQ,IAAC,KAAK,EAAE,CAAC,GAAI,GACjB,GACF,EAEP,MAAC,IAAI,IAAC,SAAS,EAAC,gCAAgC,aAC9C,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,YACxB,eAAK,SAAS,EAAC,kCAAkC,aAC9C,KAAK,CAAC,CAAC,CAAC,KAAC,EAAE,IAAC,SAAS,EAAC,wBAAwB,YAAE,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EAClE,QAAQ,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,YAAY,YAAE,QAAQ,GAAS,CAAC,CAAC,CAAC,IAAI,IAC/D,GACD,EAEP,KAAC,IAAI,IAAC,SAAS,EAAC,mBAAmB,YAAE,QAAQ,GAAQ,IAChD,IACN,CACJ,CAAA;AACH,CAAC","sourcesContent":["import type { ReactNode } from 'react'\n\nimport { Cell, Grid } from './components/grid'\nimport { Progress } from './components/progress'\nimport { H1 } from './components/typography/h1'\nimport { Small } from './components/typography/small'\n\nexport function BasicPage({ children, subtitle, title }: BasicPageProps) {\n return (\n <>\n <Grid>\n <Cell>\n <Progress value={0} />\n </Cell>\n </Grid>\n\n <Grid className=\"lg:grid-cols-[max-content_1fr]\">\n <Cell className=\"-order-1\">\n <div className=\"sticky top-4 flex flex-col gap-4\">\n {title ? <H1 className=\"-mb-2 pr-10 opacity-90\">{title}</H1> : null}\n {subtitle ? <Small className=\"opacity-60\">{subtitle}</Small> : null}\n </div>\n </Cell>\n\n <Cell className=\"post bg-current/3\">{children}</Cell>\n </Grid>\n </>\n )\n}\n\ninterface BasicPageProps extends React.PropsWithChildren {\n subtitle?: string\n title?: ReactNode\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animated-count.d.ts","sourceRoot":"","sources":["../../../src/ui/components/animated-count.tsx"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,OAAa,EACf,QAAQ,CAAC,EAAE,IAAI,UAiDhB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAW,EACX,QAAQ,EACR,QAAQ,EACR,IAAQ,EACR,KAAK,EACN,EAAE,KAAK,2CA2FP;AAED,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-count.js","sourceRoot":"","sources":["../../../src/ui/components/animated-count.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-count.js","sourceRoot":"","sources":["../../../src/ui/components/animated-count.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\n\nconst ease = (t: number) => (t < 0.5 ? 4 * t ** 3 : 1 - (-2 * t + 2) ** 3 / 2)\nconst easeD = (t: number) => (t < 0.5 ? 12 * t ** 2 : 6 * (-2 * t + 2) ** 2)\n\nexport function useAnimatedCount(\n from: number,\n rate: number,\n ts = new Date(),\n pausedAt?: Date\n) {\n const [value, setValue] = useState(from)\n const current = useRef(from)\n\n useEffect(() => {\n if (!rate) {\n return\n }\n\n let raf: number\n let prev = Date.now()\n let last = current.current\n\n const target = () =>\n from +\n Math.floor(\n ((pausedAt\n ? Math.max(0, pausedAt.getTime() - ts.getTime())\n : Date.now() - ts.getTime()) /\n 1e3) *\n rate *\n 0.9\n )\n\n const tick = () => {\n const now = Date.now()\n current.current +=\n (target() - current.current) * Math.min(1, ((now - prev) / 1e3) * 3)\n prev = now\n\n const rounded = Math.round(current.current)\n\n if (rounded !== last) {\n last = rounded\n setValue(rounded)\n }\n\n if (!pausedAt || Math.abs(current.current - target()) > 0.5) {\n raf = requestAnimationFrame(tick)\n }\n }\n\n raf = requestAnimationFrame(tick)\n\n return () => cancelAnimationFrame(raf)\n }, [from, ts, rate, pausedAt])\n\n return value\n}\n\nexport function AnimatedCount({\n damping = 1,\n duration,\n pausedAt,\n rate = 0,\n value\n}: Props) {\n const id = useRef(Math.random().toString(36).slice(2, 9))\n const prev = useRef(value)\n const [display, setDisplay] = useState(value)\n const [velocity, setVelocity] = useState(rate)\n\n useEffect(() => {\n if (!duration) {\n prev.current = value\n return\n }\n\n const start = prev.current\n const delta = value - start\n const dur = duration * damping\n prev.current = value\n\n if (!delta) {\n setVelocity(0)\n return\n }\n\n const t0 = performance.now()\n\n const tick = (now: number) => {\n const t = Math.min((now - t0) / dur, 1)\n setDisplay(Math.round(start + delta * ease(t)))\n setVelocity(Math.abs((delta * easeD(t)) / dur) * 1000)\n t < 1 ? requestAnimationFrame(tick) : setVelocity(0)\n }\n\n const raf = requestAnimationFrame(tick)\n\n return () => cancelAnimationFrame(raf)\n }, [value, duration, rate, damping])\n\n const digits = Math.round(duration ? display : value).toLocaleString().split('')\n const v = duration ? velocity : rate\n const paused = !duration && pausedAt\n\n const blurred = new Set(\n digits\n .map((c, i) => {\n if (!/\\d/.test(c) || v <= 0 || paused) {\n return -1\n }\n\n const pos =\n digits.filter(x => /\\d/.test(x)).length -\n digits.slice(0, i + 1).filter(x => /\\d/.test(x)).length\n\n return (10 ** Math.max(0, pos) / v) * 1e3 < 500 ? i : -1\n })\n .filter(i => i >= 0)\n )\n\n return (\n <>\n <svg className=\"pointer-events-none absolute size-0\">\n <defs>\n {digits.map((_, i) => (\n <filter\n id={`blur-${id.current}-${i}`}\n key={i}\n suppressHydrationWarning\n >\n <feGaussianBlur\n stdDeviation={`0 ${blurred.has(i) ? 1 + [...blurred].indexOf(i) * 0.6 : 0}`}\n />\n </filter>\n ))}\n </defs>\n </svg>\n\n <span className=\"inline-flex tabular-nums\">\n {digits.map((c, i) => (\n <span\n className=\"inline-block text-center\"\n key={i}\n style={{\n filter: blurred.has(i) ? `url(#blur-${id.current}-${i})` : 'none',\n width: c === ',' ? '0.4ch' : '1ch'\n }}\n suppressHydrationWarning\n >\n {c}\n </span>\n ))}\n </span>\n </>\n )\n}\n\ninterface Props {\n damping?: number\n duration?: number\n pausedAt?: Date\n rate?: number\n value: number\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ascii.tsx"],"names":[],"mappings":"AASA,wBAAgB,QAAQ,CAAC,EACvB,KAAS,EACT,IAAI,EACL,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,2CAiCA;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAc,EACd,IAAS,EACT,IAAQ,EACR,KAAU,EACX,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,2CAiDA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../../../src/ui/components/ascii.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../../../src/ui/components/ascii.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\n\nconst BLOCK = '░▒▓█▄▀▐▌─│┌┐└┘├┤┬┴┼╌╎⣀⣤⣶⣿'\nconst ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*'\n\nconst rand = (chars: string) => chars[(Math.random() * chars.length) | 0]\n\nexport function Scramble({\n delay = 0,\n text\n}: {\n delay?: number\n text: string\n}) {\n const [display, setDisplay] = useState(text)\n const iter = useRef(0)\n\n useEffect(() => {\n iter.current = 0\n\n const timeout = setTimeout(() => {\n const interval = setInterval(() => {\n setDisplay(\n text\n .split('')\n .map((c, i) =>\n c === ' ' ? ' ' : i < iter.current ? text[i] : rand(ALPHA)\n )\n .join('')\n )\n\n iter.current += 1 / 3\n\n if (iter.current >= text.length) {\n clearInterval(interval)\n setDisplay(text)\n }\n }, 30)\n\n return () => clearInterval(interval)\n }, delay)\n\n return () => clearTimeout(timeout)\n }, [text, delay])\n\n return <>{display}</>\n}\n\nexport function AsciiSkeleton({\n className = '',\n cols = 12,\n rows = 1,\n speed = 80\n}: {\n className?: string\n cols?: number\n rows?: number\n speed?: number\n}) {\n const ref = useRef<HTMLSpanElement>(null)\n\n useEffect(() => {\n const el = ref.current\n\n if (!el) {\n return\n }\n\n const total = cols * rows\n let frame = 0\n\n const tick = () => {\n let text = ''\n\n for (let i = 0; i < total; i++) {\n const x = i % cols\n const shimmer = (x - frame * 0.5 + cols * 2) % (cols * 2)\n\n text += shimmer < 6 ? ' ' : rand(BLOCK)\n\n if (rows > 1 && x === cols - 1) {\n text += '\\n'\n }\n }\n\n el.textContent = text\n frame++\n }\n\n tick()\n const id = setInterval(tick, speed)\n\n return () => clearInterval(id)\n }, [cols, rows, speed])\n\n return (\n <span\n aria-hidden\n className={`inline-block leading-tight opacity-20 select-none ${className}`}\n ref={ref}\n style={{\n fontFamily: 'monospace',\n fontSize: 'inherit',\n letterSpacing: '0.05em'\n }}\n />\n )\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/ui/components/badge.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7D,eAAO,MAAM,KAAK,GAAI,gCAInB,cAAc,CAAC,MAAM,CAAC,4CAYxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/ui/components/badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAA;AAE7D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACe,EAAE,EAAE,CAAC,CAC5B,KAAC,SAAS,IACR,EAAE,EAAC,MAAM,EACT,UAAU,EAAC,UAAU,EACrB,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,EACD,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,KAAK,EAAE,KAClD,KAAK,GACT,CACH,CAAA"}
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/ui/components/badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAA;AAE7D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACe,EAAE,EAAE,CAAC,CAC5B,KAAC,SAAS,IACR,EAAE,EAAC,MAAM,EACT,UAAU,EAAC,UAAU,EACrB,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,EACD,KAAK,EAAC,IAAI,EACV,KAAK,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,KAAK,EAAE,KAClD,KAAK,GACT,CACH,CAAA","sourcesContent":["import { cn } from '../../utils'\n\nimport { BlendMode, type BlendModeProps } from './blend-mode'\n\nexport const Badge = ({\n className,\n style,\n ...props\n}: BlendModeProps<'span'>) => (\n <BlendMode\n as=\"span\"\n background=\"mg/0.075\"\n className={cn(\n 'font-compressed px-2 py-1 leading-0 tracking-[0.2em]',\n className\n )}\n color=\"mg\"\n style={{ opacity: 'var(--midground-alpha)', ...style }}\n {...props}\n />\n)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nous-girl.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/badges/nous-girl.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAA;AAErC,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAiD5D"}
|