@agent-native/toolkit 0.22.0-nightly-20260926081002 → 0.22.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.
@@ -527,26 +527,6 @@
527
527
  "dependencies": ["react"],
528
528
  "verification": ["pnpm typecheck"]
529
529
  },
530
- {
531
- "id": "toolkit/marketing",
532
- "label": "Marketing home shell",
533
- "catalog": "toolkit-ui",
534
- "catalogItems": ["marketing"],
535
- "entrypoints": ["./marketing", "./marketing/*"],
536
- "strategy": "source-copy",
537
- "sourceEntries": ["src/marketing"],
538
- "targetRoot": "app/components/agent-native/toolkit",
539
- "dependencies": [
540
- "@radix-ui/react-slot",
541
- "class-variance-authority",
542
- "culori",
543
- "clsx",
544
- "react",
545
- "tailwind-merge"
546
- ],
547
- "protectedImports": ["@agent-native/toolkit/utils"],
548
- "verification": ["pnpm typecheck"]
549
- },
550
530
  {
551
531
  "id": "toolkit/provider",
552
532
  "label": "Toolkit provider",
package/dist/index.d.ts CHANGED
@@ -4,7 +4,6 @@ export * from "./collab-ui/index.js";
4
4
  export * from "./dashboard/index.js";
5
5
  export * from "./hooks/index.js";
6
6
  export * from "./icons/index.js";
7
- export * from "./marketing/index.js";
8
7
  export * from "./onboarding/index.js";
9
8
  export * from "./provider.js";
10
9
  export * from "./sharing/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,6 @@ export * from "./collab-ui/index.js";
4
4
  export * from "./dashboard/index.js";
5
5
  export * from "./hooks/index.js";
6
6
  export * from "./icons/index.js";
7
- export * from "./marketing/index.js";
8
7
  export * from "./onboarding/index.js";
9
8
  export * from "./provider.js";
10
9
  export * from "./sharing/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/toolkit",
3
- "version": "0.22.0-nightly-20260926081002",
3
+ "version": "0.22.0",
4
4
  "description": "Reusable app-building UI and helpers for Agent-Native apps.",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -238,20 +238,6 @@
238
238
  "import": "./dist/hooks/*.js",
239
239
  "default": "./dist/hooks/*.js"
240
240
  },
241
- "./marketing": {
242
- "types": "./dist/marketing/index.d.ts",
243
- "browser": "./dist/marketing/index.js",
244
- "development": "./dist/marketing/index.js",
245
- "import": "./dist/marketing/index.js",
246
- "default": "./dist/marketing/index.js"
247
- },
248
- "./marketing/*": {
249
- "types": "./dist/marketing/*.d.ts",
250
- "browser": "./dist/marketing/*.js",
251
- "development": "./dist/marketing/*.js",
252
- "import": "./dist/marketing/*.js",
253
- "default": "./dist/marketing/*.js"
254
- },
255
241
  "./onboarding": {
256
242
  "types": "./dist/onboarding/index.d.ts",
257
243
  "browser": "./dist/onboarding/index.js",
package/src/index.ts CHANGED
@@ -4,7 +4,6 @@ export * from "./collab-ui/index.js";
4
4
  export * from "./dashboard/index.js";
5
5
  export * from "./hooks/index.js";
6
6
  export * from "./icons/index.js";
7
- export * from "./marketing/index.js";
8
7
  export * from "./onboarding/index.js";
9
8
  export * from "./provider.js";
10
9
  export * from "./sharing/index.js";
@@ -1,36 +0,0 @@
1
- import * as React from "react";
2
- export interface MarketingValueProp {
3
- title: React.ReactNode;
4
- description?: React.ReactNode;
5
- }
6
- export interface MarketingHomeProps {
7
- /** Product or app name shown in the public shell. */
8
- appName: React.ReactNode;
9
- /** Choose the standard public shell or the split auth composition. */
10
- variant?: "default" | "auth";
11
- /** Main value proposition. */
12
- tagline?: React.ReactNode;
13
- /** Supporting product description. */
14
- description?: React.ReactNode;
15
- /** Short value props rendered below the hero. */
16
- valueProps?: readonly (MarketingValueProp | React.ReactNode)[];
17
- /** Optional visual layer, including a 3D/canvas background. */
18
- background?: React.ReactNode;
19
- /** Primary and secondary calls to action. */
20
- primaryAction?: React.ReactNode;
21
- secondaryAction?: React.ReactNode;
22
- /** Optional page-level action rendered above the auth split. */
23
- topRight?: React.ReactNode;
24
- /** Convenience links for the default primary and secondary buttons. */
25
- primaryActionHref?: string;
26
- secondaryActionHref?: string;
27
- primaryActionLabel?: React.ReactNode;
28
- secondaryActionLabel?: React.ReactNode;
29
- /** Optional auth or signup surface beside the marketing copy. */
30
- auth?: React.ReactNode;
31
- /** Replace the default hero entirely while retaining the page shell. */
32
- children?: React.ReactNode;
33
- className?: string;
34
- }
35
- export declare function MarketingHome({ appName, variant, tagline, description, valueProps, background, primaryAction, secondaryAction, topRight, auth, children, className, primaryActionHref, secondaryActionHref, primaryActionLabel, secondaryActionLabel, }: MarketingHomeProps): React.JSX.Element;
36
- //# sourceMappingURL=MarketingHome.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHome.d.ts","sourceRoot":"","sources":["../../src/marketing/MarketingHome.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,sEAAsE;IACtE,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,iDAAiD;IACjD,UAAU,CAAC,EAAE,SAAS,CAAC,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC/D,+DAA+D;IAC/D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,iEAAiE;IACjE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAmB,EACnB,OAAO,EACP,WAAW,EACX,UAAe,EACf,UAA0B,EAC1B,aAAa,EACb,eAAe,EACf,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,EAAE,kBAAkB,qBA4HpB"}
@@ -1,28 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from "../ui/button.js";
3
- import { cn } from "../utils.js";
4
- import { Starfield } from "./Starfield.js";
5
- export function MarketingHome({ appName, variant = "default", tagline, description, valueProps = [], background = _jsx(Starfield, {}), primaryAction, secondaryAction, topRight, auth, children, className, primaryActionHref, secondaryActionHref, primaryActionLabel, secondaryActionLabel, }) {
6
- const isAuthVariant = variant === "auth";
7
- const resolvedPrimaryAction = primaryAction ??
8
- (primaryActionHref ? (_jsx(Button, { asChild: true, size: "lg", children: _jsx("a", { href: primaryActionHref, children: primaryActionLabel ?? _jsxs(_Fragment, { children: ["Open ", appName] }) }) })) : null);
9
- const resolvedSecondaryAction = secondaryAction ??
10
- (secondaryActionHref ? (_jsx(Button, { asChild: true, size: "lg", variant: "outline", children: _jsx("a", { href: secondaryActionHref, children: secondaryActionLabel ?? "Sign in" }) })) : null);
11
- const content = children ?? (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-sm font-medium tracking-[0.18em] text-primary uppercase", children: appName }), _jsx("h1", { className: "mt-5 max-w-3xl text-4xl font-semibold tracking-tight text-foreground sm:text-6xl", children: tagline ?? appName }), description ? (_jsx("p", { className: "mt-6 max-w-2xl text-base leading-7 text-muted-foreground sm:text-lg", children: description })) : null, valueProps.length > 0 ? (_jsx("div", { className: "mt-10 grid gap-4 sm:grid-cols-2", children: valueProps.map((valueProp, index) => {
12
- const isStructured = typeof valueProp === "object" &&
13
- valueProp !== null &&
14
- "title" in valueProp;
15
- const title = isStructured
16
- ? valueProp.title
17
- : valueProp;
18
- const valueDescription = isStructured
19
- ? valueProp.description
20
- : undefined;
21
- return (_jsxs("div", { className: "rounded-xl border border-border/60 bg-background/70 p-4 backdrop-blur-sm", children: [_jsx("p", { className: "text-sm font-medium text-foreground", children: title }), valueDescription ? (_jsx("p", { className: "mt-1 text-sm leading-6 text-muted-foreground", children: valueDescription })) : null] }, index));
22
- }) })) : null, resolvedPrimaryAction || resolvedSecondaryAction ? (_jsxs("div", { className: "mt-10 flex flex-wrap items-center gap-3", children: [resolvedPrimaryAction, resolvedSecondaryAction] })) : null] }));
23
- const authPanel = auth ? (_jsx("aside", { className: cn(isAuthVariant ? "form-panel w-full max-w-md justify-self-end" : ""), children: auth })) : null;
24
- return (_jsxs("main", { className: cn("relative isolate min-h-screen overflow-hidden bg-background text-foreground", className), "data-agent-native-marketing-home": true, children: [background ? (_jsx("div", { className: "pointer-events-none absolute inset-0 -z-10", children: background })) : null, _jsxs("div", { className: cn(isAuthVariant
25
- ? cn("auth-marketing-shell mx-auto flex min-h-screen w-full items-center px-6 py-10 sm:px-10 lg:px-16", topRight ? "auth-marketing-shell-with-top-right" : "")
26
- : "mx-auto flex min-h-screen w-full max-w-7xl items-center px-6 py-16 sm:px-10 lg:px-16"), children: [isAuthVariant && topRight ? (_jsx("div", { className: "auth-marketing-top-right", children: topRight })) : null, _jsxs("div", { className: cn(isAuthVariant && auth ? "split" : "grid w-full items-center gap-12", auth ? "lg:grid-cols-[minmax(0,1fr)_minmax(20rem,28rem)]" : "", isAuthVariant && auth ? "max-w-6xl" : "", isAuthVariant && auth ? "auth-marketing-layout" : ""), children: [isAuthVariant ? authPanel : null, _jsx("section", { className: isAuthVariant && auth ? "marketing-panel" : undefined, children: content }), !isAuthVariant ? authPanel : null] })] })] }));
27
- }
28
- //# sourceMappingURL=MarketingHome.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHome.js","sourceRoot":"","sources":["../../src/marketing/MarketingHome.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MarketingHome.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHome.spec.d.ts","sourceRoot":"","sources":["../../src/marketing/MarketingHome.spec.tsx"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { renderToStaticMarkup } from "react-dom/server";
3
- import { describe, expect, it } from "vitest";
4
- import { MarketingHome } from "./MarketingHome.js";
5
- import { Starfield } from "./Starfield.js";
6
- describe("MarketingHome", () => {
7
- it("renders the default marketing shell and action links on the server", () => {
8
- const html = renderToStaticMarkup(_jsx(MarketingHome, { appName: "Example", tagline: "Build something useful", description: "A public description", valueProps: [{ title: "Reusable", description: "By default" }], primaryActionHref: "/home", secondaryActionHref: "/sign-in" }));
9
- expect(html).toContain('data-agent-native-marketing-home="true"');
10
- expect(html).toContain("Build something useful");
11
- expect(html).toContain('href="/home"');
12
- expect(html).toContain("Open Example");
13
- expect(html).toContain('href="/sign-in"');
14
- expect(html).toContain("Sign in");
15
- expect(html).toContain("Reusable");
16
- expect(html).toContain("max-w-7xl");
17
- expect(html).toContain("py-16");
18
- expect(html).toContain('data-agent-native-starfield="true"');
19
- expect(html).not.toContain("max-w-6xl");
20
- });
21
- it("allows a route to replace the hero while retaining the public shell", () => {
22
- const html = renderToStaticMarkup(_jsx(MarketingHome, { appName: "Example", background: _jsx("canvas", {}), children: _jsx("div", { children: "Custom hero" }) }));
23
- expect(html).toContain("Custom hero");
24
- expect(html).not.toContain("Example</p>");
25
- expect(html).toContain("<canvas");
26
- });
27
- it("provides an opt-in auth composition without changing the default shell", () => {
28
- const html = renderToStaticMarkup(_jsx(MarketingHome, { appName: "Example", variant: "auth", background: _jsx(Starfield, { id: "auth-starfield" }), auth: _jsx("div", { children: "Sign in form" }), children: _jsx("div", { children: "Marketing copy" }) }));
29
- expect(html).toContain("Marketing copy");
30
- expect(html).toContain("Sign in form");
31
- expect(html).toContain('id="auth-starfield"');
32
- expect(html).toContain("max-w-6xl");
33
- expect(html).toContain("auth-marketing-layout");
34
- expect(html).toContain("max-w-md");
35
- expect(html.indexOf("Sign in form")).toBeLessThan(html.indexOf("Marketing copy"));
36
- });
37
- it("renders the starfield canvas without browser APIs during SSR", () => {
38
- const html = renderToStaticMarkup(_jsx(Starfield, {}));
39
- expect(html).toContain('<canvas id="starfield"');
40
- expect(html).toContain('aria-hidden="true"');
41
- expect(html).toContain('data-agent-native-starfield="true"');
42
- });
43
- });
44
- //# sourceMappingURL=MarketingHome.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarketingHome.spec.js","sourceRoot":"","sources":["../../src/marketing/MarketingHome.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import * as React from "react";
2
- export interface StarfieldProps extends Omit<React.ComponentPropsWithoutRef<"canvas">, "children"> {
3
- /** Keep the default id for compatibility with existing starfield styles. */
4
- id?: string;
5
- frameRate?: number;
6
- }
7
- export declare function Starfield({ className, id, frameRate, ...props }: StarfieldProps): React.JSX.Element;
8
- //# sourceMappingURL=Starfield.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Starfield.d.ts","sourceRoot":"","sources":["../../src/marketing/Starfield.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA8W/B,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EACxC,UAAU,CACX;IACC,4EAA4E;IAC5E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,EAAgB,EAChB,SAAc,EACd,GAAG,KAAK,EACT,EAAE,cAAc,qBAsBhB"}
@@ -1,349 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { cn } from "../utils.js";
4
- const VERTEX_SHADER_SOURCE = `
5
- attribute vec2 position;
6
- void main() {
7
- gl_Position = vec4(position, 0.0, 1.0);
8
- }
9
- `;
10
- const FRAGMENT_SHADER_SOURCE = `
11
- precision highp float;
12
-
13
- uniform float iTime;
14
- uniform vec2 iResolution;
15
- uniform vec3 uPointer;
16
- uniform vec3 uFgColor;
17
- uniform vec3 uBgColor;
18
- uniform float uBrightness;
19
-
20
- #define S(a, b, t) smoothstep(a, b, t)
21
-
22
- const float DOT_DENSITY = 220.;
23
- const float DOT_SCALE = 0.9;
24
- const float SPEED = 0.65;
25
-
26
- float N21(vec2 p) {
27
- vec3 a = fract(vec3(p.xyx) * vec3(213.897, 653.453, 253.098));
28
- a += dot(a, a.yzx + 79.76);
29
- return fract((a.x + a.y) * a.z);
30
- }
31
-
32
- float valueNoise(vec2 p) {
33
- vec2 cell = floor(p);
34
- vec2 f = fract(p);
35
- float a = N21(cell);
36
- float b = N21(cell + vec2(1., 0.));
37
- float c = N21(cell + vec2(0., 1.));
38
- float d = N21(cell + vec2(1., 1.));
39
- vec2 u = f * f * (3. - 2. * f);
40
- return mix(a, b, u.x) + (c - a) * u.y * (1. - u.x) + (d - b) * u.x * u.y;
41
- }
42
-
43
- float waveHeight(float x, float time) {
44
- float wave = sin(x * 1.7 + time * 0.25) * 0.06;
45
- wave += sin(x * 4.3 - time * 0.5) * 0.028;
46
- wave += sin(x * 10.5 + time * 0.8) * 0.012;
47
- wave += (valueNoise(vec2(x * 2.2 + time * 0.06, 4.)) - 0.5) * 0.05;
48
- return -0.21 + wave;
49
- }
50
-
51
- float waveProfile(vec2 point, vec2 pointerUv, float pointerStrength, float time) {
52
- float center = waveHeight(point.x, time);
53
- vec2 pointerDelta = (point - pointerUv) * vec2(0.75, 1.15);
54
- float pointerPull = pointerStrength * exp(-dot(pointerDelta, pointerDelta) * 2.8);
55
- center += (pointerUv.y - center) * pointerPull * 0.42;
56
- center += sin((point.x - pointerUv.x) * 8.0 + time) * pointerPull * 0.035;
57
-
58
- float distance = point.y - center;
59
- float profile = exp(-pow(distance / 0.065, 2.));
60
- profile += 0.48 * exp(-pow((distance + 0.09) / 0.12, 2.));
61
- profile += 0.28 * exp(-pow((distance - 0.14) / 0.16, 2.));
62
- profile *= 0.35 + 0.65 * valueNoise(vec2(point.x * 5.0 + time * 0.08, point.y * 14.0 - time * 0.04));
63
- return clamp(profile, 0., 1.);
64
- }
65
-
66
- void mainImage(out vec4 fragColor, in vec2 fragCoord) {
67
- vec2 uv = (fragCoord - iResolution.xy * 0.5) / iResolution.y;
68
- vec2 pointerUv = (uPointer.xy - iResolution.xy * 0.5) / iResolution.y;
69
- float time = iTime * SPEED;
70
-
71
- float cellSize = 1. / DOT_DENSITY;
72
- vec2 cell = floor(uv / cellSize);
73
- vec2 jitter = vec2(
74
- N21(cell + vec2(11.7, 2.3)),
75
- N21(cell + vec2(-5.2, 8.1))
76
- ) - 0.5;
77
- vec2 cellCenter = (cell + 0.5 + jitter * 0.7) * cellSize;
78
- vec2 cellUv = (uv - cellCenter) / cellSize;
79
-
80
- float tone = waveProfile(cellCenter, pointerUv, uPointer.z, time);
81
- float grain = 0.38 + 0.62 * N21(cell + vec2(17.3, -4.1));
82
- float dropout = S(0.45, 0.95, grain + tone * 0.8);
83
- tone *= grain * dropout;
84
-
85
- float radius = sqrt(tone) * 0.5 * DOT_SCALE;
86
- float pixel = (1. / iResolution.y) / cellSize;
87
- float edge = max(pixel * 1.2, 0.004);
88
- float distance = length(cellUv);
89
- float dotMask = step(0.0001, tone) * (1. - S(radius - edge, radius + edge, distance));
90
- float glow = (1. - S(radius, radius + 0.7, distance)) * tone * 0.14;
91
- float value = clamp(dotMask + glow, 0., 1.);
92
-
93
- vec3 lit = mix(uBgColor, uFgColor, value);
94
- lit += (uFgColor - uBgColor) * value * tone * (uBrightness - 1.);
95
- fragColor = vec4(clamp(lit, 0., 1.), 1.);
96
- }
97
-
98
- void main() {
99
- mainImage(gl_FragColor, gl_FragCoord.xy);
100
- }
101
- `;
102
- const DARK_THEME = {
103
- bg: [0, 0, 0],
104
- fg: [174 / 255, 173 / 255, 172 / 255],
105
- brightness: 1.6,
106
- };
107
- const LIGHT_THEME = {
108
- bg: [250 / 255, 249 / 255, 245 / 255],
109
- fg: [61 / 255, 61 / 255, 61 / 255],
110
- brightness: 1,
111
- };
112
- function isDarkMode() {
113
- const root = document.documentElement;
114
- if (root.classList.contains("dark"))
115
- return true;
116
- if (root.classList.contains("light"))
117
- return false;
118
- const dataTheme = root.getAttribute("data-theme");
119
- if (dataTheme === "dark")
120
- return true;
121
- if (dataTheme === "light")
122
- return false;
123
- return window.matchMedia?.("(prefers-color-scheme: dark)").matches ?? false;
124
- }
125
- function createShader(gl, type, source) {
126
- const shader = gl.createShader(type);
127
- if (!shader)
128
- return null;
129
- gl.shaderSource(shader, source);
130
- gl.compileShader(shader);
131
- if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
132
- gl.deleteShader(shader);
133
- return null;
134
- }
135
- return shader;
136
- }
137
- function initializeStarfield(canvas, frameRate) {
138
- let gl = null;
139
- try {
140
- gl = canvas.getContext("webgl", { alpha: false, antialias: false });
141
- }
142
- catch {
143
- return () => undefined;
144
- }
145
- if (!gl)
146
- return () => undefined;
147
- const vertexShader = createShader(gl, gl.VERTEX_SHADER, VERTEX_SHADER_SOURCE);
148
- const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER_SOURCE);
149
- if (!vertexShader || !fragmentShader) {
150
- gl.deleteShader(vertexShader);
151
- gl.deleteShader(fragmentShader);
152
- return () => undefined;
153
- }
154
- const program = gl.createProgram();
155
- if (!program) {
156
- gl.deleteShader(vertexShader);
157
- gl.deleteShader(fragmentShader);
158
- return () => undefined;
159
- }
160
- gl.attachShader(program, vertexShader);
161
- gl.attachShader(program, fragmentShader);
162
- gl.linkProgram(program);
163
- if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
164
- gl.deleteProgram(program);
165
- gl.deleteShader(vertexShader);
166
- gl.deleteShader(fragmentShader);
167
- return () => undefined;
168
- }
169
- const buffer = gl.createBuffer();
170
- const position = gl.getAttribLocation(program, "position");
171
- if (!buffer || position < 0) {
172
- gl.deleteBuffer(buffer);
173
- gl.deleteProgram(program);
174
- gl.deleteShader(vertexShader);
175
- gl.deleteShader(fragmentShader);
176
- return () => undefined;
177
- }
178
- gl.useProgram(program);
179
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
180
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, -1, 1, 1]), gl.STATIC_DRAW);
181
- gl.enableVertexAttribArray(position);
182
- gl.vertexAttribPointer(position, 2, gl.FLOAT, false, 0, 0);
183
- const timeUniform = gl.getUniformLocation(program, "iTime");
184
- const resolutionUniform = gl.getUniformLocation(program, "iResolution");
185
- const pointerUniform = gl.getUniformLocation(program, "uPointer");
186
- const fgColorUniform = gl.getUniformLocation(program, "uFgColor");
187
- const bgColorUniform = gl.getUniformLocation(program, "uBgColor");
188
- const brightnessUniform = gl.getUniformLocation(program, "uBrightness");
189
- const reducedMotionQuery = window.matchMedia?.("(prefers-reduced-motion: reduce)");
190
- let reducedMotion = reducedMotionQuery?.matches ?? false;
191
- let devicePixelRatio = 1;
192
- let hasPointer = false;
193
- let pointerX = 0;
194
- let pointerY = 0;
195
- let pointerStrength = 0;
196
- let targetX = 0;
197
- let targetY = 0;
198
- let targetStrength = 0;
199
- let animationFrame = 0;
200
- let theme = isDarkMode() ? DARK_THEME : LIGHT_THEME;
201
- const resize = () => {
202
- const rect = canvas.getBoundingClientRect();
203
- const width = Math.max(1, rect.width || window.innerWidth);
204
- const height = Math.max(1, rect.height || window.innerHeight);
205
- devicePixelRatio = Math.min(window.devicePixelRatio || 1, 1.5);
206
- canvas.width = Math.floor(width * devicePixelRatio);
207
- canvas.height = Math.floor(height * devicePixelRatio);
208
- gl?.viewport(0, 0, canvas.width, canvas.height);
209
- if (!hasPointer) {
210
- pointerX = targetX = canvas.width * 0.5;
211
- pointerY = targetY = canvas.height * 0.5;
212
- }
213
- };
214
- const onPointerMove = (event) => {
215
- const mouseEvent = event;
216
- const rect = canvas.getBoundingClientRect();
217
- const x = mouseEvent.clientX - rect.left;
218
- const y = mouseEvent.clientY - rect.top;
219
- hasPointer = true;
220
- targetX = x * devicePixelRatio;
221
- targetY = (rect.height - y) * devicePixelRatio;
222
- targetStrength =
223
- x >= 0 && x <= rect.width && y >= 0 && y <= rect.height ? 1 : 0;
224
- };
225
- const fadePointer = () => {
226
- targetStrength = 0;
227
- };
228
- const easePointer = (allowPointer) => {
229
- if (!allowPointer) {
230
- pointerStrength = 0;
231
- return;
232
- }
233
- pointerX += (targetX - pointerX) * 0.22;
234
- pointerY += (targetY - pointerY) * 0.22;
235
- pointerStrength += (targetStrength - pointerStrength) * 0.14;
236
- if (pointerStrength < 0.001 && targetStrength === 0)
237
- pointerStrength = 0;
238
- };
239
- const draw = (timeSeconds, allowPointer) => {
240
- easePointer(allowPointer && !reducedMotion);
241
- gl?.uniform1f(timeUniform, timeSeconds);
242
- gl?.uniform2f(resolutionUniform, canvas.width, canvas.height);
243
- gl?.uniform3f(pointerUniform, pointerX, pointerY, pointerStrength);
244
- gl?.uniform3f(fgColorUniform, theme.fg[0], theme.fg[1], theme.fg[2]);
245
- gl?.uniform3f(bgColorUniform, theme.bg[0], theme.bg[1], theme.bg[2]);
246
- gl?.uniform1f(brightnessUniform, theme.brightness);
247
- gl?.drawArrays(gl.TRIANGLES, 0, 6);
248
- };
249
- const listenerOptions = { passive: true };
250
- const resizeObserver = typeof ResizeObserver === "undefined"
251
- ? undefined
252
- : new ResizeObserver(resize);
253
- resizeObserver?.observe(canvas);
254
- window.addEventListener("resize", resize);
255
- window.addEventListener("pointermove", onPointerMove, listenerOptions);
256
- window.addEventListener("mousemove", onPointerMove, listenerOptions);
257
- document.addEventListener("pointerleave", fadePointer, listenerOptions);
258
- window.addEventListener("blur", fadePointer);
259
- let start = performance.now();
260
- let last = 0;
261
- const frameBudget = 1000 / Math.max(1, frameRate);
262
- const render = (now) => {
263
- if (reducedMotion) {
264
- animationFrame = 0;
265
- return;
266
- }
267
- animationFrame = requestAnimationFrame(render);
268
- if (now - last < frameBudget)
269
- return;
270
- last = now;
271
- draw((now - start) * 0.001, true);
272
- };
273
- const startAnimation = () => {
274
- if (!animationFrame)
275
- animationFrame = requestAnimationFrame(render);
276
- };
277
- const stopAnimation = () => {
278
- if (animationFrame) {
279
- cancelAnimationFrame(animationFrame);
280
- animationFrame = 0;
281
- }
282
- };
283
- const onReducedMotionChange = () => {
284
- reducedMotion = reducedMotionQuery?.matches ?? false;
285
- if (reducedMotion) {
286
- stopAnimation();
287
- last = 0;
288
- draw(20, false);
289
- }
290
- else {
291
- start = performance.now();
292
- startAnimation();
293
- }
294
- };
295
- const themeObserver = new MutationObserver(() => {
296
- theme = isDarkMode() ? DARK_THEME : LIGHT_THEME;
297
- if (reducedMotion)
298
- draw(20, false);
299
- });
300
- themeObserver.observe(document.documentElement, {
301
- attributes: true,
302
- attributeFilter: ["class", "data-theme"],
303
- });
304
- resize();
305
- draw(reducedMotion ? 20 : 0, !reducedMotion);
306
- if (reducedMotionQuery) {
307
- if (reducedMotionQuery.addEventListener) {
308
- reducedMotionQuery.addEventListener("change", onReducedMotionChange);
309
- }
310
- else {
311
- reducedMotionQuery.addListener(onReducedMotionChange);
312
- }
313
- }
314
- if (!reducedMotion)
315
- startAnimation();
316
- return () => {
317
- stopAnimation();
318
- resizeObserver?.disconnect();
319
- themeObserver.disconnect();
320
- window.removeEventListener("resize", resize);
321
- window.removeEventListener("pointermove", onPointerMove, listenerOptions);
322
- window.removeEventListener("mousemove", onPointerMove, listenerOptions);
323
- document.removeEventListener("pointerleave", fadePointer, listenerOptions);
324
- window.removeEventListener("blur", fadePointer);
325
- if (reducedMotionQuery) {
326
- if (reducedMotionQuery.removeEventListener) {
327
- reducedMotionQuery.removeEventListener("change", onReducedMotionChange);
328
- }
329
- else {
330
- reducedMotionQuery.removeListener(onReducedMotionChange);
331
- }
332
- }
333
- gl?.deleteBuffer(buffer);
334
- gl?.deleteProgram(program);
335
- gl?.deleteShader(vertexShader);
336
- gl?.deleteShader(fragmentShader);
337
- };
338
- }
339
- export function Starfield({ className, id = "starfield", frameRate = 30, ...props }) {
340
- const canvasRef = React.useRef(null);
341
- React.useEffect(() => {
342
- const canvas = canvasRef.current;
343
- if (!canvas)
344
- return;
345
- return initializeStarfield(canvas, frameRate);
346
- }, [frameRate]);
347
- return (_jsx("canvas", { ...props, ref: canvasRef, id: id, "aria-hidden": "true", className: cn("pointer-events-none block h-full w-full opacity-[0.35] motion-reduce:opacity-[0.18]", className), "data-agent-native-starfield": true }));
348
- }
349
- //# sourceMappingURL=Starfield.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Starfield.js","sourceRoot":"","sources":["../../src/marketing/Starfield.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { MarketingHome, type MarketingHomeProps, type MarketingValueProp, } from "./MarketingHome.js";
2
- export { Starfield, type StarfieldProps } from "./Starfield.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/marketing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,3 +0,0 @@
1
- export { MarketingHome, } from "./MarketingHome.js";
2
- export { Starfield } from "./Starfield.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/marketing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAGd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAC"}