@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.
- package/agent-native.eject.json +0 -20
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -15
- package/src/index.ts +0 -1
- package/dist/marketing/MarketingHome.d.ts +0 -36
- package/dist/marketing/MarketingHome.d.ts.map +0 -1
- package/dist/marketing/MarketingHome.js +0 -28
- package/dist/marketing/MarketingHome.js.map +0 -1
- package/dist/marketing/MarketingHome.spec.d.ts +0 -2
- package/dist/marketing/MarketingHome.spec.d.ts.map +0 -1
- package/dist/marketing/MarketingHome.spec.js +0 -44
- package/dist/marketing/MarketingHome.spec.js.map +0 -1
- package/dist/marketing/Starfield.d.ts +0 -8
- package/dist/marketing/Starfield.d.ts.map +0 -1
- package/dist/marketing/Starfield.js +0 -349
- package/dist/marketing/Starfield.js.map +0 -1
- package/dist/marketing/index.d.ts +0 -3
- package/dist/marketing/index.d.ts.map +0 -1
- package/dist/marketing/index.js +0 -3
- package/dist/marketing/index.js.map +0 -1
- package/src/marketing/MarketingHome.spec.tsx +0 -75
- package/src/marketing/MarketingHome.tsx +0 -183
- package/src/marketing/Starfield.tsx +0 -403
- package/src/marketing/index.ts +0 -6
package/agent-native.eject.json
CHANGED
|
@@ -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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
|
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 +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 +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"}
|
package/dist/marketing/index.js
DELETED
|
@@ -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"}
|