pagiera 0.2.0-alpha.33
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 +528 -0
- package/dist/adapters.d.ts +89 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +2 -0
- package/dist/adapters.js.map +1 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +33 -0
- package/dist/client.js.map +1 -0
- package/dist/data.js +210 -0
- package/dist/data.js.map +7 -0
- package/dist/document.d.ts +63 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +25 -0
- package/dist/document.js.map +1 -0
- package/dist/editor.d.ts +14 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +59 -0
- package/dist/editor.js.map +1 -0
- package/dist/full-editor.d.ts +53 -0
- package/dist/full-editor.js +11117 -0
- package/dist/full-editor.js.map +7 -0
- package/dist/full.css +3498 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/app/api/ai-design/route.d.ts +3 -0
- package/dist/internal/app/api/ai-design/route.d.ts.map +1 -0
- package/dist/internal/app/api/ai-design/route.js +165 -0
- package/dist/internal/app/api/ai-design/route.js.map +1 -0
- package/dist/internal/app/p/editor/ai-panel.d.ts +27 -0
- package/dist/internal/app/p/editor/ai-panel.d.ts.map +1 -0
- package/dist/internal/app/p/editor/ai-panel.js +77 -0
- package/dist/internal/app/p/editor/ai-panel.js.map +1 -0
- package/dist/internal/app/p/editor/data-modal.d.ts +26 -0
- package/dist/internal/app/p/editor/data-modal.d.ts.map +1 -0
- package/dist/internal/app/p/editor/data-modal.js +94 -0
- package/dist/internal/app/p/editor/data-modal.js.map +1 -0
- package/dist/internal/app/p/editor/data-panel.d.ts +18 -0
- package/dist/internal/app/p/editor/data-panel.d.ts.map +1 -0
- package/dist/internal/app/p/editor/data-panel.js +45 -0
- package/dist/internal/app/p/editor/data-panel.js.map +1 -0
- package/dist/internal/app/p/editor/editor.d.ts +51 -0
- package/dist/internal/app/p/editor/editor.d.ts.map +1 -0
- package/dist/internal/app/p/editor/editor.js +1551 -0
- package/dist/internal/app/p/editor/editor.js.map +1 -0
- package/dist/internal/app/p/editor/fields.d.ts +111 -0
- package/dist/internal/app/p/editor/fields.d.ts.map +1 -0
- package/dist/internal/app/p/editor/fields.js +141 -0
- package/dist/internal/app/p/editor/fields.js.map +1 -0
- package/dist/internal/app/p/editor/inspector.d.ts +38 -0
- package/dist/internal/app/p/editor/inspector.d.ts.map +1 -0
- package/dist/internal/app/p/editor/inspector.js +336 -0
- package/dist/internal/app/p/editor/inspector.js.map +1 -0
- package/dist/internal/app/p/editor/library.d.ts +18 -0
- package/dist/internal/app/p/editor/library.d.ts.map +1 -0
- package/dist/internal/app/p/editor/library.js +61 -0
- package/dist/internal/app/p/editor/library.js.map +1 -0
- package/dist/internal/app/p/editor/parts.d.ts +75 -0
- package/dist/internal/app/p/editor/parts.d.ts.map +1 -0
- package/dist/internal/app/p/editor/parts.js +261 -0
- package/dist/internal/app/p/editor/parts.js.map +1 -0
- package/dist/internal/app/p/editor/templates-panel.d.ts +6 -0
- package/dist/internal/app/p/editor/templates-panel.d.ts.map +1 -0
- package/dist/internal/app/p/editor/templates-panel.js +12 -0
- package/dist/internal/app/p/editor/templates-panel.js.map +1 -0
- package/dist/internal/app/p/editor/use-canvas-view.d.ts +24 -0
- package/dist/internal/app/p/editor/use-canvas-view.d.ts.map +1 -0
- package/dist/internal/app/p/editor/use-canvas-view.js +242 -0
- package/dist/internal/app/p/editor/use-canvas-view.js.map +1 -0
- package/dist/internal/app/p/editor/use-editor.d.ts +48 -0
- package/dist/internal/app/p/editor/use-editor.d.ts.map +1 -0
- package/dist/internal/app/p/editor/use-editor.js +224 -0
- package/dist/internal/app/p/editor/use-editor.js.map +1 -0
- package/dist/internal/app/p/editor/variables-panel.d.ts +8 -0
- package/dist/internal/app/p/editor/variables-panel.d.ts.map +1 -0
- package/dist/internal/app/p/editor/variables-panel.js +52 -0
- package/dist/internal/app/p/editor/variables-panel.js.map +1 -0
- package/dist/internal/components/ui/select.d.ts +12 -0
- package/dist/internal/components/ui/select.d.ts.map +1 -0
- package/dist/internal/components/ui/select.js +32 -0
- package/dist/internal/components/ui/select.js.map +1 -0
- package/dist/internal/drizzle/index.d.ts +6 -0
- package/dist/internal/drizzle/index.d.ts.map +1 -0
- package/dist/internal/drizzle/index.js +20 -0
- package/dist/internal/drizzle/index.js.map +1 -0
- package/dist/internal/drizzle/schema.d.ts +405 -0
- package/dist/internal/drizzle/schema.d.ts.map +1 -0
- package/dist/internal/drizzle/schema.js +70 -0
- package/dist/internal/drizzle/schema.js.map +1 -0
- package/dist/internal/lib/data/context.d.ts +8 -0
- package/dist/internal/lib/data/context.d.ts.map +1 -0
- package/dist/internal/lib/data/context.js +17 -0
- package/dist/internal/lib/data/context.js.map +1 -0
- package/dist/internal/lib/data/source.d.ts +54 -0
- package/dist/internal/lib/data/source.d.ts.map +1 -0
- package/dist/internal/lib/data/source.js +229 -0
- package/dist/internal/lib/data/source.js.map +1 -0
- package/dist/internal/lib/editor/ai-types.d.ts +44 -0
- package/dist/internal/lib/editor/ai-types.d.ts.map +1 -0
- package/dist/internal/lib/editor/ai-types.js +2 -0
- package/dist/internal/lib/editor/ai-types.js.map +1 -0
- package/dist/internal/lib/editor/arrange.d.ts +12 -0
- package/dist/internal/lib/editor/arrange.d.ts.map +1 -0
- package/dist/internal/lib/editor/arrange.js +72 -0
- package/dist/internal/lib/editor/arrange.js.map +1 -0
- package/dist/internal/lib/editor/cascade.d.ts +39 -0
- package/dist/internal/lib/editor/cascade.d.ts.map +1 -0
- package/dist/internal/lib/editor/cascade.js +86 -0
- package/dist/internal/lib/editor/cascade.js.map +1 -0
- package/dist/internal/lib/editor/icon.d.ts +6 -0
- package/dist/internal/lib/editor/icon.d.ts.map +1 -0
- package/dist/internal/lib/editor/icon.js +13 -0
- package/dist/internal/lib/editor/icon.js.map +1 -0
- package/dist/internal/lib/editor/presets.d.ts +10 -0
- package/dist/internal/lib/editor/presets.d.ts.map +1 -0
- package/dist/internal/lib/editor/presets.js +83 -0
- package/dist/internal/lib/editor/presets.js.map +1 -0
- package/dist/internal/lib/editor/showcase.d.ts +14 -0
- package/dist/internal/lib/editor/showcase.d.ts.map +1 -0
- package/dist/internal/lib/editor/showcase.js +219 -0
- package/dist/internal/lib/editor/showcase.js.map +1 -0
- package/dist/internal/lib/editor/site-templates.d.ts +4 -0
- package/dist/internal/lib/editor/site-templates.d.ts.map +1 -0
- package/dist/internal/lib/editor/site-templates.js +156 -0
- package/dist/internal/lib/editor/site-templates.js.map +1 -0
- package/dist/internal/lib/editor/snap.d.ts +34 -0
- package/dist/internal/lib/editor/snap.d.ts.map +1 -0
- package/dist/internal/lib/editor/snap.js +70 -0
- package/dist/internal/lib/editor/snap.js.map +1 -0
- package/dist/internal/lib/editor/style.d.ts +53 -0
- package/dist/internal/lib/editor/style.d.ts.map +1 -0
- package/dist/internal/lib/editor/style.js +313 -0
- package/dist/internal/lib/editor/style.js.map +1 -0
- package/dist/internal/lib/editor/tree.d.ts +72 -0
- package/dist/internal/lib/editor/tree.d.ts.map +1 -0
- package/dist/internal/lib/editor/tree.js +301 -0
- package/dist/internal/lib/editor/tree.js.map +1 -0
- package/dist/internal/lib/editor/types.d.ts +273 -0
- package/dist/internal/lib/editor/types.d.ts.map +1 -0
- package/dist/internal/lib/editor/types.js +411 -0
- package/dist/internal/lib/editor/types.js.map +1 -0
- package/dist/internal/lib/editor/validate.d.ts +20 -0
- package/dist/internal/lib/editor/validate.d.ts.map +1 -0
- package/dist/internal/lib/editor/validate.js +467 -0
- package/dist/internal/lib/editor/validate.js.map +1 -0
- package/dist/internal/lib/pages.d.ts +83 -0
- package/dist/internal/lib/pages.d.ts.map +1 -0
- package/dist/internal/lib/pages.js +294 -0
- package/dist/internal/lib/pages.js.map +1 -0
- package/dist/internal/lib/render/bind.d.ts +18 -0
- package/dist/internal/lib/render/bind.d.ts.map +1 -0
- package/dist/internal/lib/render/bind.js +28 -0
- package/dist/internal/lib/render/bind.js.map +1 -0
- package/dist/internal/lib/render/css.d.ts +31 -0
- package/dist/internal/lib/render/css.d.ts.map +1 -0
- package/dist/internal/lib/render/css.js +239 -0
- package/dist/internal/lib/render/css.js.map +1 -0
- package/dist/internal/lib/render/load-data.d.ts +15 -0
- package/dist/internal/lib/render/load-data.d.ts.map +1 -0
- package/dist/internal/lib/render/load-data.js +39 -0
- package/dist/internal/lib/render/load-data.js.map +1 -0
- package/dist/internal/lib/render/page-render.d.ts +17 -0
- package/dist/internal/lib/render/page-render.d.ts.map +1 -0
- package/dist/internal/lib/render/page-render.js +117 -0
- package/dist/internal/lib/render/page-render.js.map +1 -0
- package/dist/internal/lib/utils.d.ts +3 -0
- package/dist/internal/lib/utils.d.ts.map +1 -0
- package/dist/internal/lib/utils.js +6 -0
- package/dist/internal/lib/utils.js.map +1 -0
- package/dist/manrope-data.d.ts +3 -0
- package/dist/manrope-data.d.ts.map +1 -0
- package/dist/manrope-data.js +3 -0
- package/dist/manrope-data.js.map +1 -0
- package/dist/page.d.ts +9 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +148 -0
- package/dist/page.js.map +1 -0
- package/dist/provider.d.ts +14 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +45 -0
- package/dist/provider.js.map +1 -0
- package/dist/runtime.d.ts +8 -0
- package/dist/runtime.js +717 -0
- package/dist/runtime.js.map +7 -0
- package/dist/server.d.ts +31 -0
- package/dist/server.js +2267 -0
- package/dist/server.js.map +7 -0
- package/dist/styles.css +300 -0
- package/package.json +94 -0
- package/thumbnail.png +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../../src/internal/lib/editor/presets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA6B,MAAM,SAAS,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,aAAa,EAAE,CAAC;CACjC,CAAC;AAoFF,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAM9C,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { createElement } from "./tree";
|
|
2
|
+
function node(type, patch, props = {}, parentId) {
|
|
3
|
+
const element = createElement(type, { x: 0, y: 0, z: 0, parentId });
|
|
4
|
+
element.base = { ...element.base, ...patch };
|
|
5
|
+
return Object.assign(element, props);
|
|
6
|
+
}
|
|
7
|
+
function navbar() {
|
|
8
|
+
const bar = node("Section", {
|
|
9
|
+
widthMode: "fill", heightMode: "auto", layout: "stack", direction: "row",
|
|
10
|
+
justify: "between", align: "center", gap: 24, padT: 18, padR: 40,
|
|
11
|
+
padB: 18, padL: 40, bg: "#0b1020", color: "#f8fafc",
|
|
12
|
+
}, { name: "Navbar" });
|
|
13
|
+
bar.overrides = { mobile: { direction: "column", align: "stretch", padR: 20, padL: 20 } };
|
|
14
|
+
const logo = node("Heading", { widthMode: "auto", heightMode: "auto", fontSize: 20, fontWeight: "700", color: "#ffffff", letterSpacing: -0.4 }, { name: "Brand", content: "NORTHSTAR" }, bar.id);
|
|
15
|
+
const links = node("Container", { widthMode: "auto", heightMode: "auto", layout: "stack", direction: "row", align: "center", gap: 6, padT: 0, padR: 0, padB: 0, padL: 0, borderW: 0 }, { name: "Navigation links" }, bar.id);
|
|
16
|
+
links.overrides = { mobile: { widthMode: "fill", justify: "center", wrap: true } };
|
|
17
|
+
const link = (label) => node("Button", { widthMode: "auto", heightMode: "auto", bg: "transparent", color: "#cbd5e1", padT: 8, padR: 12, padB: 8, padL: 12, fontSize: 14, fontWeight: "500" }, { content: label }, links.id);
|
|
18
|
+
const cta = node("Button", { widthMode: "auto", heightMode: "auto", bg: "#8b7bff", color: "#ffffff", radius: 999, padT: 10, padR: 18, padB: 10, padL: 18, fontSize: 14, fontWeight: "600" }, { content: "Get started", name: "Navbar CTA" }, bar.id);
|
|
19
|
+
return [bar, logo, links, link("Product"), link("Solutions"), link("Pricing"), cta];
|
|
20
|
+
}
|
|
21
|
+
function navbarLight() {
|
|
22
|
+
const elements = navbar();
|
|
23
|
+
const bar = elements[0];
|
|
24
|
+
bar.name = "Navbar · Light";
|
|
25
|
+
bar.base = { ...bar.base, bg: "#ffffff", color: "#111827", borderW: 0, shadow: "0 1px 0 rgba(15,23,42,.10)", padT: 16, padB: 16 };
|
|
26
|
+
for (const element of elements) {
|
|
27
|
+
if (element.name === "Brand")
|
|
28
|
+
element.base = { ...element.base, color: "#111827" };
|
|
29
|
+
if (element.parentId === elements[2].id)
|
|
30
|
+
element.base = { ...element.base, color: "#475569" };
|
|
31
|
+
}
|
|
32
|
+
const cta = elements.find((element) => element.name === "Navbar CTA");
|
|
33
|
+
if (cta)
|
|
34
|
+
cta.base = { ...cta.base, bg: "#111827", color: "#ffffff", radius: 10 };
|
|
35
|
+
return elements;
|
|
36
|
+
}
|
|
37
|
+
function navbarGlass() {
|
|
38
|
+
const elements = navbar();
|
|
39
|
+
const bar = elements[0];
|
|
40
|
+
bar.name = "Navbar · Glass";
|
|
41
|
+
bar.base = { ...bar.base, bg: "rgba(15,23,42,.78)", backdropBlur: 18, borderW: 1, borderC: "rgba(255,255,255,.12)", radius: 18, padT: 14, padR: 22, padB: 14, padL: 22, shadow: "0 18px 50px rgba(2,6,23,.28)" };
|
|
42
|
+
const cta = elements.find((element) => element.name === "Navbar CTA");
|
|
43
|
+
if (cta)
|
|
44
|
+
cta.base = { ...cta.base, bg: "#ffffff", color: "#111827" };
|
|
45
|
+
return elements;
|
|
46
|
+
}
|
|
47
|
+
function footer() {
|
|
48
|
+
const root = node("Section", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 36, padT: 64, padR: 40, padB: 32, padL: 40, bg: "#09090f", color: "#f8fafc" }, { name: "Footer" });
|
|
49
|
+
const top = node("Container", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "row", justify: "between", align: "start", gap: 32, padT: 0, padR: 0, padB: 0, padL: 0, borderW: 0 }, { name: "Footer content" }, root.id);
|
|
50
|
+
top.overrides = { mobile: { direction: "column" } };
|
|
51
|
+
const brand = node("Container", { widthMode: "fixed", w: 340, heightMode: "auto", layout: "stack", direction: "column", gap: 12, padT: 0, padR: 0, padB: 0, padL: 0, borderW: 0 }, { name: "Footer brand" }, top.id);
|
|
52
|
+
const title = node("Heading", { widthMode: "auto", heightMode: "auto", fontSize: 24, fontWeight: "700", color: "#ffffff" }, { content: "NORTHSTAR" }, brand.id);
|
|
53
|
+
const copy = node("Text", { widthMode: "fill", heightMode: "auto", fontSize: 14, color: "#94a3b8", lineHeight: 1.7 }, { content: "Thoughtful digital products for teams building what comes next." }, brand.id);
|
|
54
|
+
const columns = node("Container", { widthMode: "auto", heightMode: "auto", layout: "stack", direction: "row", gap: 64, padT: 0, padR: 0, padB: 0, padL: 0, borderW: 0 }, { name: "Footer links" }, top.id);
|
|
55
|
+
columns.overrides = { mobile: { widthMode: "fill", wrap: true, gap: 32 } };
|
|
56
|
+
const column = (heading, body) => {
|
|
57
|
+
const group = node("Container", { widthMode: "fixed", w: 130, heightMode: "auto", layout: "stack", direction: "column", gap: 10, padT: 0, padR: 0, padB: 0, padL: 0, borderW: 0 }, {}, columns.id);
|
|
58
|
+
return [group, node("Heading", { widthMode: "auto", heightMode: "auto", fontSize: 13, fontWeight: "600", color: "#ffffff" }, { content: heading }, group.id), node("Text", { widthMode: "auto", heightMode: "auto", fontSize: 13, color: "#94a3b8", lineHeight: 2 }, { content: body }, group.id)];
|
|
59
|
+
};
|
|
60
|
+
const legal = node("Text", { widthMode: "fill", heightMode: "auto", padT: 24, borderW: 0, color: "#64748b", fontSize: 12 }, { content: "© 2026 Northstar. All rights reserved." }, root.id);
|
|
61
|
+
return [root, top, brand, title, copy, columns, ...column("Product", "Features\nIntegrations\nChangelog"), ...column("Company", "About\nJournal\nContact"), legal];
|
|
62
|
+
}
|
|
63
|
+
function hero() {
|
|
64
|
+
const root = node("Section", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", justify: "center", align: "center", gap: 24, padT: 112, padR: 32, padB: 112, padL: 32, bg: "#0b1020", gradient: "radial-gradient(circle at 50% 0%, #312e81 0%, #0b1020 55%)", color: "#ffffff", textAlign: "center" }, { name: "Hero" });
|
|
65
|
+
const eyebrow = node("Text", { widthMode: "auto", heightMode: "auto", color: "#a5b4fc", fontSize: 13, fontWeight: "600", letterSpacing: 1.8, textTransform: "uppercase", textAlign: "center" }, { content: "Built for ambitious teams" }, root.id);
|
|
66
|
+
const heading = node("Heading", { widthMode: "fixed", w: 820, heightMode: "auto", color: "#ffffff", fontSize: 64, fontWeight: "700", lineHeight: 1.05, letterSpacing: -2, textAlign: "center" }, { content: "Turn your next big idea into something remarkable" }, root.id);
|
|
67
|
+
heading.overrides = { tablet: { w: 640, fontSize: 48 }, mobile: { widthMode: "fill", fontSize: 38, letterSpacing: -1 } };
|
|
68
|
+
const text = node("Text", { widthMode: "fixed", w: 620, heightMode: "auto", color: "#cbd5e1", fontSize: 18, lineHeight: 1.7, textAlign: "center" }, { content: "A flexible platform for designing, launching, and improving digital experiences without slowing down." }, root.id);
|
|
69
|
+
text.overrides = { mobile: { widthMode: "fill", fontSize: 16 } };
|
|
70
|
+
const actions = node("Container", { widthMode: "auto", heightMode: "auto", layout: "stack", direction: "row", justify: "center", align: "center", gap: 12, padT: 8, padR: 0, padB: 0, padL: 0, borderW: 0 }, {}, root.id);
|
|
71
|
+
actions.overrides = { mobile: { widthMode: "fill", direction: "column", align: "stretch" } };
|
|
72
|
+
const primary = node("Button", { widthMode: "auto", heightMode: "auto", bg: "#8b7bff", color: "#ffffff", radius: 999, padT: 14, padR: 24, padB: 14, padL: 24, fontWeight: "600" }, { content: "Start building" }, actions.id);
|
|
73
|
+
const secondary = node("Button", { widthMode: "auto", heightMode: "auto", bg: "rgba(255,255,255,.08)", color: "#ffffff", radius: 999, borderW: 1, borderC: "rgba(255,255,255,.16)", padT: 14, padR: 24, padB: 14, padL: 24, fontWeight: "600" }, { content: "See how it works" }, actions.id);
|
|
74
|
+
return [root, eyebrow, heading, text, actions, primary, secondary];
|
|
75
|
+
}
|
|
76
|
+
export const COMPONENT_PRESETS = [
|
|
77
|
+
{ id: "navbar-dark", name: "Navbar Dark", category: "Navigation", description: "Dark brand, links and pill CTA", create: navbar },
|
|
78
|
+
{ id: "navbar-light", name: "Navbar Light", category: "Navigation", description: "Clean product navigation", create: navbarLight },
|
|
79
|
+
{ id: "navbar-glass", name: "Navbar Glass", category: "Navigation", description: "Floating translucent navigation", create: navbarGlass },
|
|
80
|
+
{ id: "hero-centered", name: "Hero Centered", category: "Hero", description: "Gradient conversion hero", create: hero },
|
|
81
|
+
{ id: "footer-columns", name: "Footer Columns", category: "Footer", description: "Responsive link footer", create: footer },
|
|
82
|
+
];
|
|
83
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../../src/internal/lib/editor/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type CanvasElement, type DataSource, type RootStyle } from "./types";
|
|
2
|
+
export declare function createNocturneShowcase(): {
|
|
3
|
+
elements: CanvasElement[];
|
|
4
|
+
rootStyle: RootStyle;
|
|
5
|
+
};
|
|
6
|
+
export type SiteTemplatePage = {
|
|
7
|
+
name: string;
|
|
8
|
+
slug: string;
|
|
9
|
+
elements: CanvasElement[];
|
|
10
|
+
rootStyle: RootStyle;
|
|
11
|
+
dataSources?: DataSource[];
|
|
12
|
+
};
|
|
13
|
+
export declare function createNocturneSiteTemplate(): SiteTemplatePage[];
|
|
14
|
+
//# sourceMappingURL=showcase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showcase.d.ts","sourceRoot":"","sources":["../../../../src/internal/lib/editor/showcase.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAuC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAoBvI,wBAAgB,sBAAsB,IAAI;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAsH5F;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AA+B3I,wBAAgB,0BAA0B,IAAI,gBAAgB,EAAE,CAQ/D"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { createElement } from "./tree";
|
|
2
|
+
import { DEFAULT_ROOT_STYLE } from "./types";
|
|
3
|
+
function node(type, name, style, content, parentId) {
|
|
4
|
+
const element = createElement(type, { x: 0, y: 0, z: 0, parentId });
|
|
5
|
+
element.name = name;
|
|
6
|
+
element.base = { ...element.base, ...style };
|
|
7
|
+
if (content !== undefined)
|
|
8
|
+
element.content = content;
|
|
9
|
+
return element;
|
|
10
|
+
}
|
|
11
|
+
function responsive(element, tablet, mobile) {
|
|
12
|
+
element.overrides = { tablet, mobile };
|
|
13
|
+
return element;
|
|
14
|
+
}
|
|
15
|
+
function enter(element, delay = 0, entrance = "up") {
|
|
16
|
+
element.base = { ...element.base, entrance, entranceDelay: delay, entranceDuration: 760, entranceCurve: "ease", entranceBezier: "0.16, 1, 0.3, 1" };
|
|
17
|
+
return element;
|
|
18
|
+
}
|
|
19
|
+
export function createNocturneShowcase() {
|
|
20
|
+
const ink = "#f1f0ea";
|
|
21
|
+
const muted = "#96958f";
|
|
22
|
+
const acid = "#d7ff3f";
|
|
23
|
+
const surface = "#151514";
|
|
24
|
+
const border = "rgba(241,240,234,.14)";
|
|
25
|
+
const elements = [];
|
|
26
|
+
const section = (name, style) => {
|
|
27
|
+
const item = node("Section", name, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", align: "center", ...style });
|
|
28
|
+
elements.push(item);
|
|
29
|
+
return item;
|
|
30
|
+
};
|
|
31
|
+
const container = (name, parentId, style) => {
|
|
32
|
+
const item = node("Container", name, { widthMode: "fill", heightMode: "auto", layout: "stack", borderW: 0, padT: 0, padR: 0, padB: 0, padL: 0, ...style }, undefined, parentId);
|
|
33
|
+
elements.push(item);
|
|
34
|
+
return item;
|
|
35
|
+
};
|
|
36
|
+
const nav = section("Nocturne navigation", { bg: "#0b0b0a", padT: 22, padR: 40, padB: 22, padL: 40, borderW: 0 });
|
|
37
|
+
const navInner = responsive(container("Navigation inner", nav.id, { direction: "row", justify: "between", align: "center", gap: 28, w: 1180, widthMode: "fixed" }), { w: 860 }, { widthMode: "fill" });
|
|
38
|
+
elements.push(node("Heading", "Wordmark", { widthMode: "auto", heightMode: "auto", color: ink, fontSize: 17, fontWeight: "800", letterSpacing: -0.7 }, "NOCTURNE®", navInner.id));
|
|
39
|
+
const links = responsive(container("Navigation links", navInner.id, { widthMode: "auto", direction: "row", align: "center", gap: 28 }), {}, { hidden: true });
|
|
40
|
+
for (const [label, slug] of [["Work", "work"], ["Studio", "studio"], ["Contact", "contact"]]) {
|
|
41
|
+
const link = node("Button", `Nav ${label}`, { widthMode: "auto", heightMode: "auto", bg: "transparent", color: muted, fontSize: 13, fontWeight: "600", padT: 4, padR: 0, padB: 4, padL: 0, cursor: "pointer" }, label, links.id);
|
|
42
|
+
link.interaction = { trigger: "click", action: "navigate", value: `/s/${slug}`, target: "_self" };
|
|
43
|
+
link.hover = { color: ink };
|
|
44
|
+
elements.push(link);
|
|
45
|
+
}
|
|
46
|
+
const navCta = node("Button", "Navigation CTA", { widthMode: "auto", heightMode: "auto", bg: acid, color: "#0b0b0a", radius: 999, padT: 11, padR: 18, padB: 11, padL: 18, fontSize: 12, fontWeight: "800", cursor: "pointer" }, "Start a project ↗", navInner.id);
|
|
47
|
+
navCta.hover = { scale: 101.8, bg: "#edff9a", shadow: "0 10px 32px rgba(215,255,63,.18)" };
|
|
48
|
+
navCta.press = { scale: 97.5 };
|
|
49
|
+
navCta.overrides = { mobile: { hidden: true } };
|
|
50
|
+
elements.push(navCta);
|
|
51
|
+
const menuButton = node("Button", "Mobile menu trigger", { widthMode: "auto", heightMode: "auto", bg: "transparent", color: ink, borderW: 1, borderC: border, radius: 999, padT: 9, padR: 14, padB: 9, padL: 14, fontSize: 11, fontWeight: "800", hidden: true, cursor: "pointer" }, "MENU +", navInner.id);
|
|
52
|
+
menuButton.overrides = { mobile: { hidden: false } };
|
|
53
|
+
menuButton.press = { scale: 97 };
|
|
54
|
+
elements.push(menuButton);
|
|
55
|
+
const mobileMenu = node("Container", "Mobile navigation menu", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 0, bg: "#151514", borderW: 1, borderC: border, radius: 14, padT: 8, padR: 8, padB: 8, padL: 8, hidden: true }, undefined, nav.id);
|
|
56
|
+
elements.push(mobileMenu);
|
|
57
|
+
menuButton.interaction = { trigger: "click", action: "toggle-layer", value: mobileMenu.id };
|
|
58
|
+
for (const [label, slug] of [["Work", "work"], ["Studio", "studio"], ["Contact", "contact"]]) {
|
|
59
|
+
const item = node("Button", `Mobile ${label}`, { widthMode: "fill", heightMode: "auto", bg: "transparent", color: ink, borderW: 0, radius: 9, padT: 14, padR: 14, padB: 14, padL: 14, fontSize: 14, fontWeight: "700", textAlign: "left", cursor: "pointer" }, `${label} ↗`, mobileMenu.id);
|
|
60
|
+
item.interaction = { trigger: "click", action: "navigate", value: `/s/${slug}`, target: "_self" };
|
|
61
|
+
item.hover = { bg: "rgba(255,255,255,.06)" };
|
|
62
|
+
elements.push(item);
|
|
63
|
+
}
|
|
64
|
+
const hero = section("Hero", { bg: "#0b0b0a", padT: 86, padR: 40, padB: 72, padL: 40, overflow: "hidden" });
|
|
65
|
+
const heroInner = responsive(container("Hero composition", hero.id, { direction: "row", justify: "between", align: "end", gap: 64, w: 1180, widthMode: "fixed" }), { w: 860, gap: 36 }, { widthMode: "fill", direction: "column", align: "stretch", gap: 44 });
|
|
66
|
+
const heroCopy = container("Hero copy", heroInner.id, { widthMode: "fixed", w: 650, direction: "column", gap: 26 });
|
|
67
|
+
heroCopy.overrides = { tablet: { w: 500 }, mobile: { widthMode: "fill" } };
|
|
68
|
+
elements.push(enter(node("Text", "Hero index", { widthMode: "auto", heightMode: "auto", color: acid, fontSize: 11, fontWeight: "700", letterSpacing: 2.2, textTransform: "uppercase" }, "Independent creative practice — Istanbul / Worldwide", heroCopy.id), 0, "fade"));
|
|
69
|
+
const title = enter(node("Heading", "Hero title", { widthMode: "fill", heightMode: "auto", color: ink, fontSize: 96, fontWeight: "600", lineHeight: .9, letterSpacing: -6.5 }, "WE DESIGN\nTHE UNEXPECTED.", heroCopy.id), 90);
|
|
70
|
+
title.overrides = { tablet: { fontSize: 68, letterSpacing: -4 }, mobile: { fontSize: 52, letterSpacing: -3, lineHeight: .94 } };
|
|
71
|
+
elements.push(title);
|
|
72
|
+
const heroBottom = container("Hero statement", heroCopy.id, { direction: "row", justify: "between", align: "end", gap: 28, padT: 12, borderW: 0 });
|
|
73
|
+
heroBottom.overrides = { mobile: { direction: "column", align: "start" } };
|
|
74
|
+
const intro = enter(node("Text", "Hero intro", { widthMode: "fixed", w: 390, heightMode: "auto", color: muted, fontSize: 16, lineHeight: 1.65 }, "A strategy-led design studio shaping identities and digital experiences for ambitious people building what comes next.", heroBottom.id), 180);
|
|
75
|
+
intro.overrides = { mobile: { widthMode: "fill" } };
|
|
76
|
+
elements.push(intro);
|
|
77
|
+
const scroll = node("Text", "Scroll cue", { widthMode: "auto", heightMode: "auto", color: ink, fontSize: 11, fontWeight: "700", letterSpacing: 1.4, textTransform: "uppercase" }, "Scroll to explore ↓", heroBottom.id);
|
|
78
|
+
scroll.loop = { type: "float", duration: 2600 };
|
|
79
|
+
elements.push(scroll);
|
|
80
|
+
const visual = enter(node("Frame", "Hero artwork", { widthMode: "fixed", w: 390, heightMode: "fixed", h: 540, layout: "absolute", bg: surface, gradient: "radial-gradient(circle at 68% 28%, #d7ff3f 0%, #7f9c16 11%, #27291d 28%, #151514 58%)", radius: 2, overflow: "hidden", borderW: 1, borderC: border, rotate: 2, shadow: "0 40px 100px rgba(0,0,0,.45)" }, undefined, heroInner.id), 160, "zoom");
|
|
81
|
+
visual.overrides = { tablet: { w: 310, h: 460 }, mobile: { widthMode: "fill", w: 320, h: 420, rotate: 0 } };
|
|
82
|
+
elements.push(visual);
|
|
83
|
+
const artLabel = node("Text", "Artwork label", { x: 24, y: 24, w: 190, h: 30, widthMode: "fixed", heightMode: "fixed", color: "#0b0b0a", fontSize: 10, fontWeight: "800", letterSpacing: 1.5, textTransform: "uppercase" }, "Form / Tension / 001", visual.id);
|
|
84
|
+
elements.push(artLabel);
|
|
85
|
+
const orb = node("Frame", "Kinetic orb", { x: 220, y: 350, w: 110, h: 110, widthMode: "fixed", heightMode: "fixed", bg: acid, radius: 999, blur: 1, shadow: "0 0 70px rgba(215,255,63,.42)" }, undefined, visual.id);
|
|
86
|
+
orb.loop = { type: "pulse", duration: 4200 };
|
|
87
|
+
elements.push(orb);
|
|
88
|
+
elements.push(node("Heading", "Artwork number", { x: 24, y: 436, w: 260, h: 82, widthMode: "fixed", heightMode: "fixed", color: ink, fontSize: 64, fontWeight: "500", letterSpacing: -4 }, "24—26", visual.id));
|
|
89
|
+
const ticker = section("Ticker", { bg: acid, padT: 17, padR: 24, padB: 17, padL: 24 });
|
|
90
|
+
elements.push(node("Text", "Ticker line", { widthMode: "fill", heightMode: "auto", color: "#0b0b0a", fontSize: 12, fontWeight: "800", letterSpacing: 2, textAlign: "center", textTransform: "uppercase" }, "Brand systems ✦ Digital direction ✦ Interactive experiences ✦ Art direction ✦ Strategy", ticker.id));
|
|
91
|
+
const manifesto = section("Manifesto", { bg: "#f1f0ea", padT: 140, padR: 40, padB: 140, padL: 40 });
|
|
92
|
+
const manifestoInner = responsive(container("Manifesto inner", manifesto.id, { direction: "column", gap: 64, w: 1180, widthMode: "fixed" }), { w: 860 }, { widthMode: "fill", gap: 40 });
|
|
93
|
+
elements.push(node("Text", "Manifesto eyebrow", { widthMode: "auto", heightMode: "auto", color: "#5d5d58", fontSize: 11, fontWeight: "800", letterSpacing: 2, textTransform: "uppercase" }, "01 / Our point of view", manifestoInner.id));
|
|
94
|
+
const statement = enter(node("Heading", "Manifesto statement", { widthMode: "fill", heightMode: "auto", color: "#11110f", fontSize: 70, fontWeight: "500", lineHeight: 1.03, letterSpacing: -4.4 }, "Safe ideas disappear.\nDistinct ones build culture.", manifestoInner.id), 40);
|
|
95
|
+
statement.overrides = { tablet: { fontSize: 54 }, mobile: { fontSize: 40, letterSpacing: -2.4 } };
|
|
96
|
+
elements.push(statement);
|
|
97
|
+
const manifestoBottom = responsive(container("Manifesto details", manifestoInner.id, { direction: "row", justify: "end", gap: 60 }), {}, { direction: "column", gap: 24 });
|
|
98
|
+
const body = node("Text", "Manifesto body", { widthMode: "fixed", w: 500, heightMode: "auto", color: "#5d5d58", fontSize: 17, lineHeight: 1.75 }, "We partner with founders and cultural teams at inflection points—when the old language no longer fits and a sharper expression can unlock the next chapter.", manifestoBottom.id);
|
|
99
|
+
body.overrides = { mobile: { widthMode: "fill" } };
|
|
100
|
+
elements.push(body);
|
|
101
|
+
elements.push(node("Text", "Manifesto services", { widthMode: "fixed", w: 220, heightMode: "auto", color: "#11110f", fontSize: 13, fontWeight: "700", lineHeight: 2 }, "POSITIONING\nIDENTITY SYSTEMS\nDIGITAL PRODUCTS\nCAMPAIGN WORLDS", manifestoBottom.id));
|
|
102
|
+
const work = section("Selected work", { bg: "#0b0b0a", padT: 128, padR: 40, padB: 128, padL: 40 });
|
|
103
|
+
const workInner = responsive(container("Work inner", work.id, { direction: "column", gap: 42, w: 1180, widthMode: "fixed" }), { w: 860 }, { widthMode: "fill" });
|
|
104
|
+
const workHead = container("Work heading", workInner.id, { direction: "row", justify: "between", align: "end", gap: 20 });
|
|
105
|
+
workHead.overrides = { mobile: { direction: "column", align: "start" } };
|
|
106
|
+
elements.push(node("Heading", "Work title", { widthMode: "auto", heightMode: "auto", color: ink, fontSize: 48, fontWeight: "600", letterSpacing: -2.5 }, "SELECTED WORK", workHead.id));
|
|
107
|
+
elements.push(node("Text", "Work count", { widthMode: "auto", heightMode: "auto", color: muted, fontSize: 12, letterSpacing: 1.2 }, "2024—2026 / 03 PROJECTS", workHead.id));
|
|
108
|
+
const grid = responsive(node("Grid", "Projects grid", { widthMode: "fill", heightMode: "auto", layout: "stack", columns: 2, gap: 18 }, undefined, workInner.id), { columns: 2 }, { columns: 1 });
|
|
109
|
+
elements.push(grid);
|
|
110
|
+
const projects = [
|
|
111
|
+
["AER / Mobility", "Identity + Digital", "linear-gradient(135deg,#29352a,#a9c6a2 55%,#e4ecdf)"],
|
|
112
|
+
["KERN / Objects", "Strategy + Commerce", "linear-gradient(145deg,#4b251c,#e06d45 48%,#f3c7a8)"],
|
|
113
|
+
["OTHER / Culture", "Campaign + Experience", "linear-gradient(145deg,#172d43,#3b83a8 48%,#b8ddea)"],
|
|
114
|
+
];
|
|
115
|
+
projects.forEach(([titleText, meta, gradient], index) => {
|
|
116
|
+
const card = enter(node("Container", `Project ${index + 1}`, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 18, bg: "transparent", borderW: 0, padT: 0, padR: 0, padB: 18, padL: 0 }, undefined, grid.id), index * 90);
|
|
117
|
+
if (index === 2)
|
|
118
|
+
card.base = { ...card.base, columns: 2 };
|
|
119
|
+
card.hover = { shadow: "0 26px 70px rgba(0,0,0,.28)", opacity: 96 };
|
|
120
|
+
elements.push(card);
|
|
121
|
+
const image = node("Frame", "Project image", { widthMode: "fill", heightMode: "fixed", h: index === 0 ? 520 : 360, bg: surface, gradient, overflow: "hidden", radius: 2 }, undefined, card.id);
|
|
122
|
+
image.overrides = { mobile: { h: 320 } };
|
|
123
|
+
elements.push(image);
|
|
124
|
+
const caption = container("Project caption", card.id, { direction: "row", justify: "between", gap: 20 });
|
|
125
|
+
elements.push(node("Heading", "Project name", { widthMode: "auto", heightMode: "auto", color: ink, fontSize: 17, fontWeight: "700", letterSpacing: -.5 }, titleText, caption.id));
|
|
126
|
+
elements.push(node("Text", "Project discipline", { widthMode: "auto", heightMode: "auto", color: muted, fontSize: 12 }, meta, caption.id));
|
|
127
|
+
});
|
|
128
|
+
const cta = section("Closing CTA", { bg: acid, padT: 120, padR: 40, padB: 120, padL: 40 });
|
|
129
|
+
const ctaInner = responsive(container("CTA inner", cta.id, { direction: "column", align: "center", gap: 30, w: 980, widthMode: "fixed", textAlign: "center" }), { w: 760 }, { widthMode: "fill" });
|
|
130
|
+
elements.push(node("Text", "CTA eyebrow", { widthMode: "auto", heightMode: "auto", color: "#30340d", fontSize: 11, fontWeight: "800", letterSpacing: 2, textTransform: "uppercase" }, "Have a meaningful problem?", ctaInner.id));
|
|
131
|
+
const ctaTitle = node("Heading", "CTA title", { widthMode: "fill", heightMode: "auto", color: "#0b0b0a", fontSize: 76, fontWeight: "600", lineHeight: .98, letterSpacing: -4.5, textAlign: "center" }, "LET’S MAKE IT\nIMPOSSIBLE TO IGNORE.", ctaInner.id);
|
|
132
|
+
ctaTitle.overrides = { mobile: { fontSize: 44, letterSpacing: -2.5 } };
|
|
133
|
+
elements.push(ctaTitle);
|
|
134
|
+
const button = node("Button", "CTA button", { widthMode: "auto", heightMode: "auto", bg: "#0b0b0a", color: ink, radius: 999, padT: 15, padR: 24, padB: 15, padL: 24, fontSize: 13, fontWeight: "800", cursor: "pointer" }, "Tell us what you’re building ↗", ctaInner.id);
|
|
135
|
+
button.hover = { scale: 101.8, bg: "#282821", shadow: "0 16px 44px rgba(11,11,10,.2)" };
|
|
136
|
+
button.press = { scale: 97.5 };
|
|
137
|
+
elements.push(button);
|
|
138
|
+
const footer = section("Footer", { bg: "#0b0b0a", padT: 42, padR: 40, padB: 42, padL: 40 });
|
|
139
|
+
const footerInner = responsive(container("Footer inner", footer.id, { direction: "row", justify: "between", align: "end", gap: 32, w: 1180, widthMode: "fixed" }), { w: 860 }, { widthMode: "fill", direction: "column", align: "start" });
|
|
140
|
+
elements.push(node("Heading", "Footer brand", { widthMode: "auto", heightMode: "auto", color: ink, fontSize: 28, fontWeight: "800", letterSpacing: -1.5 }, "NOCTURNE®", footerInner.id));
|
|
141
|
+
elements.push(node("Text", "Footer meta", { widthMode: "auto", heightMode: "auto", color: muted, fontSize: 11, lineHeight: 1.8, textAlign: "right" }, "ISTANBUL / WORLDWIDE\n© 2026 — ALL RIGHTS RESERVED", footerInner.id));
|
|
142
|
+
return {
|
|
143
|
+
elements,
|
|
144
|
+
rootStyle: {
|
|
145
|
+
...DEFAULT_ROOT_STYLE,
|
|
146
|
+
documentMode: "page",
|
|
147
|
+
fullWidth: true,
|
|
148
|
+
maxWidth: 1200,
|
|
149
|
+
canvasHeight: 5200,
|
|
150
|
+
bg: "#0b0b0a",
|
|
151
|
+
layout: "stack",
|
|
152
|
+
direction: "column",
|
|
153
|
+
gap: 0,
|
|
154
|
+
align: "stretch",
|
|
155
|
+
padT: 0, padR: 0, padB: 0, padL: 0,
|
|
156
|
+
fontFamily: '"Manrope Showcase", sans-serif',
|
|
157
|
+
customFonts: [{ id: "showcase-manrope", name: "Manrope Showcase", url: "/api/pagiera/assets/manrope-variable.woff2", weight: 400, style: "normal" }],
|
|
158
|
+
variables: [
|
|
159
|
+
{ id: "nocturne-bg", name: "Nocturne / Background", type: "color", value: "#0b0b0a" },
|
|
160
|
+
{ id: "nocturne-ink", name: "Nocturne / Ink", type: "color", value: ink },
|
|
161
|
+
{ id: "nocturne-acid", name: "Nocturne / Acid", type: "color", value: acid },
|
|
162
|
+
{ id: "nocturne-muted", name: "Nocturne / Muted", type: "color", value: muted },
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function nocturneInnerPage(name, slug, index, title, intro, columns) {
|
|
168
|
+
const source = createNocturneShowcase();
|
|
169
|
+
const roots = source.elements.filter((element) => element.name === "Nocturne navigation" || element.name === "Footer");
|
|
170
|
+
const keep = new Set();
|
|
171
|
+
const visit = (id) => { keep.add(id); source.elements.filter((element) => element.parentId === id).forEach((element) => visit(element.id)); };
|
|
172
|
+
roots.forEach((root) => visit(root.id));
|
|
173
|
+
const nav = roots.find((root) => root.name === "Nocturne navigation");
|
|
174
|
+
const footer = roots.find((root) => root.name === "Footer");
|
|
175
|
+
const navTree = source.elements.filter((element) => keep.has(element.id) && (element.id === nav?.id || (() => { let cursor = element.parentId; while (cursor) {
|
|
176
|
+
if (cursor === nav?.id)
|
|
177
|
+
return true;
|
|
178
|
+
cursor = source.elements.find((item) => item.id === cursor)?.parentId;
|
|
179
|
+
} return false; })()));
|
|
180
|
+
const footerTree = source.elements.filter((element) => keep.has(element.id) && (element.id === footer?.id || (() => { let cursor = element.parentId; while (cursor) {
|
|
181
|
+
if (cursor === footer?.id)
|
|
182
|
+
return true;
|
|
183
|
+
cursor = source.elements.find((item) => item.id === cursor)?.parentId;
|
|
184
|
+
} return false; })()));
|
|
185
|
+
const elements = [...navTree];
|
|
186
|
+
const hero = node("Section", `${name} hero`, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", align: "center", gap: 54, bg: "#0b0b0a", padT: 120, padR: 40, padB: 130, padL: 40 });
|
|
187
|
+
elements.push(hero);
|
|
188
|
+
const inner = responsive(node("Container", `${name} hero inner`, { widthMode: "fixed", w: 1180, heightMode: "auto", layout: "stack", direction: "column", gap: 34, borderW: 0, padT: 0, padR: 0, padB: 0, padL: 0 }, undefined, hero.id), { w: 860 }, { widthMode: "fill" });
|
|
189
|
+
elements.push(inner);
|
|
190
|
+
elements.push(enter(node("Text", `${name} index`, { widthMode: "auto", heightMode: "auto", color: "#d7ff3f", fontSize: 11, fontWeight: "800", letterSpacing: 2, textTransform: "uppercase" }, `${index} / ${name}`, inner.id), 0, "fade"));
|
|
191
|
+
const heading = enter(node("Heading", `${name} title`, { widthMode: "fill", heightMode: "auto", color: "#f1f0ea", fontSize: 92, fontWeight: "600", lineHeight: .92, letterSpacing: -6 }, title, inner.id), 70);
|
|
192
|
+
heading.overrides = { tablet: { fontSize: 66 }, mobile: { fontSize: 48, letterSpacing: -3 } };
|
|
193
|
+
elements.push(heading);
|
|
194
|
+
const introNode = enter(node("Text", `${name} intro`, { widthMode: "fixed", w: 620, heightMode: "auto", color: "#96958f", fontSize: 18, lineHeight: 1.7 }, intro, inner.id), 150);
|
|
195
|
+
introNode.overrides = { mobile: { widthMode: "fill" } };
|
|
196
|
+
elements.push(introNode);
|
|
197
|
+
const content = node("Section", `${name} content`, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", align: "center", bg: "#f1f0ea", padT: 110, padR: 40, padB: 120, padL: 40 });
|
|
198
|
+
elements.push(content);
|
|
199
|
+
const grid = responsive(node("Grid", `${name} grid`, { widthMode: "fixed", w: 1180, heightMode: "auto", layout: "stack", columns: 2, gap: 1, bg: "#b9b8b0" }, undefined, content.id), { w: 860 }, { widthMode: "fill", columns: 1 });
|
|
200
|
+
elements.push(grid);
|
|
201
|
+
columns.forEach(([label, copy], position) => {
|
|
202
|
+
const card = enter(node("Container", `${name} ${label}`, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 26, bg: "#f1f0ea", borderW: 0, padT: 44, padR: 44, padB: 50, padL: 44 }, undefined, grid.id), position * 80);
|
|
203
|
+
elements.push(card);
|
|
204
|
+
elements.push(node("Text", `${label} number`, { widthMode: "auto", heightMode: "auto", color: "#74736d", fontSize: 10, fontWeight: "800", letterSpacing: 1.8 }, `0${position + 1} — ${label.toUpperCase()}`, card.id));
|
|
205
|
+
elements.push(node("Text", `${label} copy`, { widthMode: "fill", heightMode: "auto", color: "#171714", fontSize: 21, lineHeight: 1.5, letterSpacing: -.5 }, copy, card.id));
|
|
206
|
+
});
|
|
207
|
+
elements.push(...footerTree);
|
|
208
|
+
return { name, slug, elements, rootStyle: { ...source.rootStyle, canvasHeight: 3000 } };
|
|
209
|
+
}
|
|
210
|
+
export function createNocturneSiteTemplate() {
|
|
211
|
+
const home = createNocturneShowcase();
|
|
212
|
+
return [
|
|
213
|
+
{ name: "Home", slug: "home", ...home },
|
|
214
|
+
nocturneInnerPage("Work", "work", "02", "SELECTED\nENGAGEMENTS.", "A focused archive of identities, products and campaign worlds created with teams in motion.", [["Aer", "A new identity and booking experience for an electric mobility company built around quiet confidence."], ["Kern", "A tactile commerce system for collectible objects, balancing material detail with digital clarity."], ["Other", "A cultural platform transformed into an evolving editorial identity and participatory campaign."], ["Field", "A data product made human through a precise interface, direct language and a flexible visual system."]]),
|
|
215
|
+
nocturneInnerPage("Studio", "studio", "03", "SMALL TEAM.\nSERIOUS RANGE.", "Nocturne is an independent strategy and design practice for moments when a familiar answer is no longer enough.", [["Approach", "We begin with the tension underneath the brief, then build one clear idea that can carry an entire system."], ["Team", "A senior, hands-on core supported by a trusted network of specialists selected around each challenge."], ["Principles", "Clarity over decoration. Character over trends. Systems that stay useful after the launch moment."], ["Partners", "We work directly with founders, cultural leaders and internal teams who value an honest creative exchange."]]),
|
|
216
|
+
nocturneInnerPage("Contact", "contact", "04", "LET’S START\nWITH THE TRUTH.", "Tell us what is changing, what feels stuck and why this moment matters. We will take it from there.", [["New business", "projects@nocturne.studio\nShare your ambition, timing and the people involved."], ["Elsewhere", "Instagram / LinkedIn / Are.na\nFollow current work, fragments and studio notes."], ["Istanbul", "Karaköy, Istanbul\nWorking locally and collaborating worldwide."], ["Availability", "Selected partnerships for Q4 2026.\nTypical engagements begin with a focused strategy sprint."]]),
|
|
217
|
+
];
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=showcase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../../src/internal/lib/editor/showcase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-templates.d.ts","sourceRoot":"","sources":["../../../../src/internal/lib/editor/site-templates.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAiH1E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,GAAG,gBAAgB,EAAE,CAIzE"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { createElement } from "./tree";
|
|
2
|
+
import { DEFAULT_ROOT_STYLE } from "./types";
|
|
3
|
+
import { createNocturneSiteTemplate } from "./showcase";
|
|
4
|
+
function el(type, name, style, content, parentId) {
|
|
5
|
+
const item = createElement(type, { x: 0, y: 0, z: 0, parentId });
|
|
6
|
+
item.name = name;
|
|
7
|
+
item.base = { ...item.base, ...style };
|
|
8
|
+
if (content !== undefined)
|
|
9
|
+
item.content = content;
|
|
10
|
+
return item;
|
|
11
|
+
}
|
|
12
|
+
function root(bg, ink, accent) {
|
|
13
|
+
return {
|
|
14
|
+
...DEFAULT_ROOT_STYLE,
|
|
15
|
+
fullWidth: true,
|
|
16
|
+
canvasHeight: 3600,
|
|
17
|
+
bg,
|
|
18
|
+
layout: "stack",
|
|
19
|
+
direction: "column",
|
|
20
|
+
align: "stretch",
|
|
21
|
+
gap: 0,
|
|
22
|
+
padT: 0, padR: 0, padB: 0, padL: 0,
|
|
23
|
+
fontFamily: '"Manrope Showcase", sans-serif',
|
|
24
|
+
customFonts: [{ id: "template-manrope", name: "Manrope Showcase", url: "/api/pagiera/assets/manrope-variable.woff2", weight: 400, style: "normal" }],
|
|
25
|
+
variables: [
|
|
26
|
+
{ id: "template-bg", name: "Template / Background", type: "color", value: bg },
|
|
27
|
+
{ id: "template-ink", name: "Template / Ink", type: "color", value: ink },
|
|
28
|
+
{ id: "template-accent", name: "Template / Accent", type: "color", value: accent },
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function section(elements, name, bg, padding = 64) {
|
|
33
|
+
const item = el("Section", name, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", align: "center", bg, padT: padding, padR: 32, padB: padding, padL: 32 });
|
|
34
|
+
elements.push(item);
|
|
35
|
+
return item;
|
|
36
|
+
}
|
|
37
|
+
function container(elements, name, parentId, style = {}) {
|
|
38
|
+
const item = el("Container", name, { widthMode: "fixed", w: 1120, heightMode: "auto", layout: "stack", direction: "column", gap: 24, borderW: 0, padT: 0, padR: 0, padB: 0, padL: 0, ...style }, undefined, parentId);
|
|
39
|
+
item.overrides = { tablet: { w: 820 }, mobile: { widthMode: "fill", direction: style.direction === "row" ? "column" : style.direction } };
|
|
40
|
+
elements.push(item);
|
|
41
|
+
return item;
|
|
42
|
+
}
|
|
43
|
+
function motion(item, delay = 0) {
|
|
44
|
+
item.base = { ...item.base, entrance: "up", entranceDuration: 720, entranceDelay: delay, entranceBezier: "0.16, 1, 0.3, 1" };
|
|
45
|
+
return item;
|
|
46
|
+
}
|
|
47
|
+
function editorialNav(elements) {
|
|
48
|
+
const nav = section(elements, "Editorial navigation", "#f3efe6", 22);
|
|
49
|
+
const inner = container(elements, "Navigation inner", nav.id, { direction: "row", justify: "between", align: "center" });
|
|
50
|
+
elements.push(el("Heading", "Editorial wordmark", { widthMode: "auto", heightMode: "auto", color: "#171714", fontSize: 20, fontWeight: "800", letterSpacing: -1 }, "FIELD NOTES", inner.id));
|
|
51
|
+
const links = el("Container", "Navigation links", { widthMode: "auto", heightMode: "auto", layout: "stack", direction: "row", gap: 24, borderW: 0, padT: 0, padR: 0, padB: 0, padL: 0 }, undefined, inner.id);
|
|
52
|
+
links.overrides = { mobile: { hidden: true } };
|
|
53
|
+
elements.push(links);
|
|
54
|
+
for (const [label, href] of [["Journal", "/blog"], ["About", "/about"]]) {
|
|
55
|
+
const link = el("Button", `${label} link`, { widthMode: "auto", heightMode: "auto", bg: "transparent", color: "#58564f", padT: 4, padR: 0, padB: 4, padL: 0, fontSize: 13, cursor: "pointer" }, label, links.id);
|
|
56
|
+
link.href = href;
|
|
57
|
+
link.hover = { color: "#db4b2d" };
|
|
58
|
+
elements.push(link);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function createEditorialBlogTemplate() {
|
|
62
|
+
const posts = { id: "editorial-posts", name: "Published posts", url: "https://dummyjson.com/posts", path: "posts", method: "GET", params: [{ key: "limit", value: "6" }] };
|
|
63
|
+
const post = { id: "editorial-post", name: "Current post", url: "https://dummyjson.com/posts/{{params.slug}}", path: "", method: "GET", onNotFound: "page-404" };
|
|
64
|
+
const list = [];
|
|
65
|
+
editorialNav(list);
|
|
66
|
+
const hero = section(list, "Journal hero", "#f3efe6", 90);
|
|
67
|
+
const heroIn = container(list, "Journal hero inner", hero.id, { gap: 30 });
|
|
68
|
+
list.push(motion(el("Text", "Issue label", { widthMode: "auto", heightMode: "auto", color: "#db4b2d", fontSize: 11, fontWeight: "800", letterSpacing: 2, textTransform: "uppercase" }, "Independent journal / Vol. 04", heroIn.id)));
|
|
69
|
+
const title = motion(el("Heading", "Journal title", { widthMode: "fill", heightMode: "auto", color: "#171714", fontSize: 96, fontWeight: "500", lineHeight: .9, letterSpacing: -7 }, "IDEAS FOR A\nMORE HUMAN WEB.", heroIn.id), 70);
|
|
70
|
+
title.overrides = { tablet: { fontSize: 68 }, mobile: { fontSize: 48, letterSpacing: -3 } };
|
|
71
|
+
list.push(title);
|
|
72
|
+
list.push(motion(el("Text", "Journal intro", { widthMode: "fixed", w: 570, heightMode: "auto", color: "#656158", fontSize: 17, lineHeight: 1.7 }, "Essays on design, technology and the quiet decisions that shape products people choose to keep.", heroIn.id), 140));
|
|
73
|
+
const feed = section(list, "Latest writing", "#171714", 90);
|
|
74
|
+
const feedIn = container(list, "Feed inner", feed.id, { gap: 38 });
|
|
75
|
+
list.push(el("Heading", "Feed title", { widthMode: "fill", heightMode: "auto", color: "#f3efe6", fontSize: 38, fontWeight: "600" }, "Latest writing", feedIn.id));
|
|
76
|
+
const repeat = el("Repeat", "Posts request grid", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "row", columns: 2, wrap: true, gap: 18 }, undefined, feedIn.id);
|
|
77
|
+
repeat.sourceId = posts.id;
|
|
78
|
+
repeat.overrides = { mobile: { columns: 1 } };
|
|
79
|
+
list.push(repeat);
|
|
80
|
+
const card = motion(el("Container", "Post card", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 20, bg: "#24231f", borderW: 1, borderC: "#393832", radius: 18, padT: 30, padR: 30, padB: 34, padL: 30 }, undefined, repeat.id));
|
|
81
|
+
card.hover = { scale: 101.5, shadow: "0 24px 70px rgba(0,0,0,.28)" };
|
|
82
|
+
list.push(card);
|
|
83
|
+
const number = el("Text", "Post number", { widthMode: "auto", heightMode: "auto", color: "#db4b2d", fontSize: 11, fontWeight: "800" }, "01", card.id);
|
|
84
|
+
number.binding = "id";
|
|
85
|
+
list.push(number);
|
|
86
|
+
const postTitle = el("Heading", "Post title", { widthMode: "fill", heightMode: "auto", color: "#f3efe6", fontSize: 27, fontWeight: "600", lineHeight: 1.15, letterSpacing: -1 }, "Article title", card.id);
|
|
87
|
+
postTitle.binding = "title";
|
|
88
|
+
list.push(postTitle);
|
|
89
|
+
const excerpt = el("Text", "Post excerpt", { widthMode: "fill", heightMode: "auto", color: "#aaa69b", fontSize: 14, lineHeight: 1.65 }, "Article excerpt", card.id);
|
|
90
|
+
excerpt.binding = "body";
|
|
91
|
+
list.push(excerpt);
|
|
92
|
+
const detail = [];
|
|
93
|
+
editorialNav(detail);
|
|
94
|
+
const article = section(detail, "Article", "#f3efe6", 100);
|
|
95
|
+
const articleIn = container(detail, "Article inner", article.id, { w: 820, gap: 34 });
|
|
96
|
+
detail.push(el("Text", "Dynamic route", { widthMode: "auto", heightMode: "auto", color: "#db4b2d", fontSize: 11, fontWeight: "800", letterSpacing: 1.6, textTransform: "uppercase" }, "Journal / Dynamic article", articleIn.id));
|
|
97
|
+
const request = el("Request", "Current post request", { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 34, align: "stretch" }, undefined, articleIn.id);
|
|
98
|
+
request.sourceId = post.id;
|
|
99
|
+
detail.push(request);
|
|
100
|
+
const detailTitle = motion(el("Heading", "Dynamic title", { widthMode: "fill", heightMode: "auto", color: "#171714", fontSize: 68, fontWeight: "500", lineHeight: 1, letterSpacing: -4, textTransform: "capitalize" }, "Article title", request.id));
|
|
101
|
+
detailTitle.binding = "title";
|
|
102
|
+
detail.push(detailTitle);
|
|
103
|
+
const body = el("Text", "Article body", { widthMode: "fill", heightMode: "auto", color: "#4f4c45", fontSize: 20, lineHeight: 1.85 }, "Article body", request.id);
|
|
104
|
+
body.binding = "body";
|
|
105
|
+
detail.push(body);
|
|
106
|
+
const about = [];
|
|
107
|
+
editorialNav(about);
|
|
108
|
+
const aboutHero = section(about, "About Field Notes", "#db4b2d", 120);
|
|
109
|
+
const aboutIn = container(about, "About inner", aboutHero.id, { gap: 36 });
|
|
110
|
+
about.push(motion(el("Heading", "About title", { widthMode: "fill", heightMode: "auto", color: "#171714", fontSize: 82, fontWeight: "500", lineHeight: .95, letterSpacing: -5 }, "WE WRITE TO\nNOTICE BETTER.", aboutIn.id)));
|
|
111
|
+
about.push(el("Text", "About copy", { widthMode: "fixed", w: 620, heightMode: "auto", color: "#2e261f", fontSize: 19, lineHeight: 1.75 }, "Field Notes is an independent publication exploring how thoughtful digital work gets made—and why restraint is often the boldest decision.", aboutIn.id));
|
|
112
|
+
return [
|
|
113
|
+
{ name: "Home", slug: "home", elements: structuredClone(list), rootStyle: root("#f3efe6", "#171714", "#db4b2d"), dataSources: [structuredClone(posts)] },
|
|
114
|
+
{ name: "Journal", slug: "blog", elements: list, rootStyle: root("#f3efe6", "#171714", "#db4b2d"), dataSources: [posts] },
|
|
115
|
+
{ name: "Article", slug: "blog/:slug", elements: detail, rootStyle: root("#f3efe6", "#171714", "#db4b2d"), dataSources: [post] },
|
|
116
|
+
{ name: "About", slug: "about", elements: about, rootStyle: root("#db4b2d", "#171714", "#f3efe6"), dataSources: [] },
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
function createOrbitTemplate() {
|
|
120
|
+
const build = (name, slug, eyebrow, titleText, copy) => {
|
|
121
|
+
const elements = [];
|
|
122
|
+
const nav = section(elements, "Orbit navigation", "#070914", 20);
|
|
123
|
+
const navIn = container(elements, "Orbit navigation inner", nav.id, { direction: "row", justify: "between", align: "center" });
|
|
124
|
+
elements.push(el("Heading", "Orbit logo", { widthMode: "auto", heightMode: "auto", color: "#f5f7ff", fontSize: 19, fontWeight: "800" }, "ORBIT/OS", navIn.id));
|
|
125
|
+
const cta = el("Button", "Navigation action", { widthMode: "auto", heightMode: "auto", bg: "#7357ff", color: "#ffffff", radius: 999, padT: 11, padR: 18, padB: 11, padL: 18, fontSize: 12, fontWeight: "700" }, "Start building", navIn.id);
|
|
126
|
+
cta.hover = { scale: 103, shadow: "0 14px 40px rgba(115,87,255,.35)" };
|
|
127
|
+
elements.push(cta);
|
|
128
|
+
const hero = section(elements, `${name} hero`, "#070914", 110);
|
|
129
|
+
const heroIn = container(elements, "Orbit hero inner", hero.id, { align: "center", gap: 28 });
|
|
130
|
+
elements.push(motion(el("Text", "Orbit eyebrow", { widthMode: "auto", heightMode: "auto", color: "#9e8cff", fontSize: 11, fontWeight: "800", letterSpacing: 2, textTransform: "uppercase" }, eyebrow, heroIn.id)));
|
|
131
|
+
const heading = motion(el("Heading", "Orbit heading", { widthMode: "fill", heightMode: "auto", color: "#f5f7ff", fontSize: 80, fontWeight: "600", lineHeight: .95, letterSpacing: -5, textAlign: "center" }, titleText, heroIn.id), 70);
|
|
132
|
+
heading.overrides = { tablet: { fontSize: 62 }, mobile: { fontSize: 44, letterSpacing: -2.5 } };
|
|
133
|
+
elements.push(heading);
|
|
134
|
+
elements.push(motion(el("Text", "Orbit copy", { widthMode: "fixed", w: 620, heightMode: "auto", color: "#9298b3", fontSize: 17, lineHeight: 1.7, textAlign: "center" }, copy, heroIn.id), 140));
|
|
135
|
+
const visual = motion(el("Frame", "Product interface", { widthMode: "fill", heightMode: "fixed", h: 520, bg: "#101426", gradient: "radial-gradient(circle at 50% 0%,rgba(115,87,255,.42),transparent 46%),linear-gradient(145deg,#11162b,#090b16)", borderW: 1, borderC: "#282e4d", radius: 24, shadow: "0 60px 140px rgba(0,0,0,.48)", overflow: "hidden" }, undefined, heroIn.id), 210);
|
|
136
|
+
visual.overrides = { mobile: { h: 330 } };
|
|
137
|
+
elements.push(visual);
|
|
138
|
+
const metrics = section(elements, "Product metrics", "#0d1020", 80);
|
|
139
|
+
const grid = container(elements, "Metrics grid", metrics.id, { direction: "row", gap: 16 });
|
|
140
|
+
[["32%", "faster launches"], ["4.8×", "team velocity"], ["99.99%", "platform uptime"]].forEach(([value, label], index) => { const card = motion(el("Container", `Metric ${index + 1}`, { widthMode: "fill", heightMode: "auto", layout: "stack", direction: "column", gap: 9, bg: "#14182b", borderW: 1, borderC: "#272c47", radius: 18, padT: 28, padR: 28, padB: 28, padL: 28 }, undefined, grid.id), index * 80); elements.push(card, el("Heading", "Metric value", { widthMode: "fill", heightMode: "auto", color: "#f5f7ff", fontSize: 36, fontWeight: "700" }, value, card.id), el("Text", "Metric label", { widthMode: "fill", heightMode: "auto", color: "#858ca7", fontSize: 13 }, label, card.id)); });
|
|
141
|
+
return { name, slug, elements, rootStyle: root("#070914", "#f5f7ff", "#7357ff"), dataSources: [] };
|
|
142
|
+
};
|
|
143
|
+
return [
|
|
144
|
+
build("Home", "home", "The adaptive product platform", "SHIP THE NEXT\nVERSION OF YOU.", "Orbit gives product teams one composable workspace for planning, building and learning—without the operational drag."),
|
|
145
|
+
build("Product", "product", "One system, every workflow", "FROM SIGNAL\nTO SHIPPED.", "Connect research, decisions, design and delivery in a system that keeps context alive from first insight to final release."),
|
|
146
|
+
build("Pricing", "pricing", "Simple by design", "PRICING THAT\nSCALES CALMLY.", "Start with the essentials, then expand across teams without surprise platform fees or a maze of artificial limits."),
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
export function createSiteTemplate(id) {
|
|
150
|
+
if (id === "nocturne")
|
|
151
|
+
return createNocturneSiteTemplate();
|
|
152
|
+
if (id === "editorial-blog")
|
|
153
|
+
return createEditorialBlogTemplate();
|
|
154
|
+
return createOrbitTemplate();
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=site-templates.js.map
|