@peripheries/renderer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/dist/chunks/create-store-CglsI7tw.js +90 -0
- package/dist/chunks/create-store-CglsI7tw.js.map +1 -0
- package/dist/chunks/load-6zEgvJ6I.js +60 -0
- package/dist/chunks/load-6zEgvJ6I.js.map +1 -0
- package/dist/chunks/page-bundles-C4VW3dsK.js +87 -0
- package/dist/chunks/page-bundles-C4VW3dsK.js.map +1 -0
- package/dist/chunks/projection-Dsy9ruj8.js +592 -0
- package/dist/chunks/projection-Dsy9ruj8.js.map +1 -0
- package/dist/core.js +740 -0
- package/dist/core.js.map +1 -0
- package/dist/react.js +357 -0
- package/dist/react.js.map +1 -0
- package/dist/runtime.js +91 -0
- package/dist/runtime.js.map +1 -0
- package/dist/styles.css +51 -0
- package/dist/testing.js +944 -0
- package/dist/testing.js.map +1 -0
- package/dist/types/core/bundles/load.d.ts +49 -0
- package/dist/types/core/bundles/page-bundles.d.ts +17 -0
- package/dist/types/core/bundles/refs.d.ts +41 -0
- package/dist/types/core/bundles/resolve.d.ts +25 -0
- package/dist/types/core/cell-props.d.ts +39 -0
- package/dist/types/core/cells.d.ts +39 -0
- package/dist/types/core/data-context.d.ts +38 -0
- package/dist/types/core/graph.d.ts +95 -0
- package/dist/types/core/index.d.ts +19 -0
- package/dist/types/core/layout.d.ts +12 -0
- package/dist/types/core/load-page.d.ts +72 -0
- package/dist/types/core/references.d.ts +43 -0
- package/dist/types/core/store/create-store.d.ts +26 -0
- package/dist/types/core/store/persistence.d.ts +9 -0
- package/dist/types/core/store/projection.d.ts +15 -0
- package/dist/types/core/store/scope-keys.d.ts +10 -0
- package/dist/types/core/store/types.d.ts +37 -0
- package/dist/types/core/structure.d.ts +72 -0
- package/dist/types/core/types.d.ts +30 -0
- package/dist/types/core/validate.d.ts +14 -0
- package/dist/types/react/cell-states.d.ts +25 -0
- package/dist/types/react/cell-view.d.ts +31 -0
- package/dist/types/react/index.d.ts +6 -0
- package/dist/types/react/page-renderer.d.ts +30 -0
- package/dist/types/react/structure-view.d.ts +30 -0
- package/dist/types/react/use-cell-store.d.ts +13 -0
- package/dist/types/react/use-container-size.d.ts +11 -0
- package/dist/types/runtime/boot.d.ts +7 -0
- package/dist/types/runtime/index.d.ts +4 -0
- package/dist/types/runtime/install.d.ts +21 -0
- package/dist/types/runtime/shims.d.ts +11 -0
- package/dist/types/runtime/store-export.d.ts +18 -0
- package/dist/types/testing/base-props.d.ts +3 -0
- package/dist/types/testing/components.d.ts +51 -0
- package/dist/types/testing/golden.d.ts +51 -0
- package/dist/types/testing/ids.d.ts +14 -0
- package/dist/types/testing/index.d.ts +5 -0
- package/dist/types/testing/sources.d.ts +25 -0
- package/package.json +51 -0
package/dist/core.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","names":[],"sources":["../src/core/graph.ts","../src/core/data-context.ts","../src/core/validate.ts","../src/core/load-page.ts","../src/core/store/persistence.ts"],"mappings":"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"}
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { A as sortByOrder, C as isSectionNode, D as numberingFor, E as normalizeStructure, F as resolveReferences, M as usesStructureLayout, N as cellResolutionContext, O as referencesFor, P as passesConditions, S as deriveSectionReferences, T as nodePrintStyle, U as rootCells, _ as projectCellData, a as projectSelections, b as deriveElementReferences, d as nearestThemeProvider, f as resolveComponent, g as assembleCellProps, h as pageContainerStyle, i as projectLive, j as structureIssues, k as sectionAnchor, m as cellPlacementStyle, n as attachViewStateSetters, o as projectViewState, p as cellAttributes, s as shallowEqualBundle, t as attachSelectionSetters, v as PAGE_DOCUMENT, w as mergeSectionReferences, x as deriveSectionNumbering } from "./chunks/projection-Dsy9ruj8.js";
|
|
2
|
+
import { Component, Fragment, Suspense, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useSelector } from "@tanstack/react-store";
|
|
5
|
+
//#region packages/renderer/src/react/cell-states.tsx
|
|
6
|
+
function CellPlaceholder({ state }) {
|
|
7
|
+
return jsx("div", {
|
|
8
|
+
className: "cell-placeholder",
|
|
9
|
+
"data-cell-state": state,
|
|
10
|
+
"aria-busy": state === "loading"
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function CellNotice({ state, children }) {
|
|
14
|
+
return jsx("div", {
|
|
15
|
+
className: "cell-notice",
|
|
16
|
+
"data-cell-state": state,
|
|
17
|
+
role: "note",
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
var CellErrorBoundary = class extends Component {
|
|
22
|
+
state = { error: null };
|
|
23
|
+
static getDerivedStateFromError(error) {
|
|
24
|
+
return { error };
|
|
25
|
+
}
|
|
26
|
+
componentDidCatch(error) {
|
|
27
|
+
console.error(`[render] cell "${this.props.cellId}" failed:`, error);
|
|
28
|
+
}
|
|
29
|
+
render() {
|
|
30
|
+
return this.state.error ? jsx(CellNotice, {
|
|
31
|
+
state: "error",
|
|
32
|
+
children: "This part of the page failed to load."
|
|
33
|
+
}) : this.props.children;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region packages/renderer/src/react/use-cell-store.ts
|
|
38
|
+
function useCellStore(cell, scope, api) {
|
|
39
|
+
const selections = useSelector(api.store, (s) => projectSelections(cell.selections, s, scope), { compare: shallowEqualBundle });
|
|
40
|
+
const viewState = useSelector(api.store, (s) => projectViewState(cell.viewState, s, scope), { compare: shallowEqualBundle });
|
|
41
|
+
const live = useSelector(api.store, (s) => projectLive(cell.live, s), { compare: shallowEqualBundle });
|
|
42
|
+
return useMemo(() => ({
|
|
43
|
+
selections: selections && cell.selections ? attachSelectionSetters(selections, cell.selections, api, scope) : void 0,
|
|
44
|
+
viewState: viewState && cell.viewState ? attachViewStateSetters(viewState, cell.viewState, api, scope) : void 0,
|
|
45
|
+
live
|
|
46
|
+
}), [
|
|
47
|
+
selections,
|
|
48
|
+
viewState,
|
|
49
|
+
live,
|
|
50
|
+
cell.selections,
|
|
51
|
+
cell.viewState,
|
|
52
|
+
api,
|
|
53
|
+
scope.pageId,
|
|
54
|
+
scope.projectId
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region packages/renderer/src/react/use-container-size.ts
|
|
59
|
+
function useContainerSize(ref, enabled) {
|
|
60
|
+
const [size, setSize] = useState();
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const el = ref.current;
|
|
63
|
+
if (!enabled || !el || typeof ResizeObserver === "undefined") return;
|
|
64
|
+
let frame = 0;
|
|
65
|
+
const observer = new ResizeObserver(([entry]) => {
|
|
66
|
+
cancelAnimationFrame(frame);
|
|
67
|
+
frame = requestAnimationFrame(() => {
|
|
68
|
+
const next = {
|
|
69
|
+
width: Math.round(entry.contentRect.width),
|
|
70
|
+
height: Math.round(entry.contentRect.height)
|
|
71
|
+
};
|
|
72
|
+
setSize((prev) => prev && prev.width === next.width && prev.height === next.height ? prev : next);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
observer.observe(el);
|
|
76
|
+
return () => {
|
|
77
|
+
cancelAnimationFrame(frame);
|
|
78
|
+
observer.disconnect();
|
|
79
|
+
};
|
|
80
|
+
}, [ref, enabled]);
|
|
81
|
+
return size;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region packages/renderer/src/react/cell-view.tsx
|
|
85
|
+
function useSoftNavigation(navigate) {
|
|
86
|
+
return useCallback((e) => {
|
|
87
|
+
if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return;
|
|
88
|
+
const a = e.target.closest?.("a[href]");
|
|
89
|
+
if (!a || a.target === "_blank" || a.hasAttribute("download")) return;
|
|
90
|
+
const url = new URL(a.href, window.location.href);
|
|
91
|
+
if (url.origin !== window.location.origin) return;
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
navigate(url.pathname + url.search + url.hash);
|
|
94
|
+
}, [navigate]);
|
|
95
|
+
}
|
|
96
|
+
function CellView({ cell, env, nested = false, injectedProps }) {
|
|
97
|
+
const frame = useRef(null);
|
|
98
|
+
const store = useCellStore(cell, env.scope, env.store);
|
|
99
|
+
const navigate = env.navigate;
|
|
100
|
+
const onClick = useSoftNavigation(navigate);
|
|
101
|
+
const resolved = useMemo(() => {
|
|
102
|
+
if (!env.bundles || !cell.component) return null;
|
|
103
|
+
return resolveComponent(cell.component, {
|
|
104
|
+
cellBundle: cell.bundle_ref ? env.bundleFor(cell) : null,
|
|
105
|
+
scope: env.bundles,
|
|
106
|
+
core: env.core
|
|
107
|
+
});
|
|
108
|
+
}, [cell, env]);
|
|
109
|
+
const contract = resolved && env.bundles ? env.bundles.find((b) => b.label === resolved.source)?.contracts[cell.component] : void 0;
|
|
110
|
+
const size = useContainerSize(frame, Boolean(contract?.size));
|
|
111
|
+
const own = env.cellData?.[cell.id];
|
|
112
|
+
const ctx = useMemo(() => cellResolutionContext(cell, env.page, {
|
|
113
|
+
...own,
|
|
114
|
+
pageDeclared: env.declared
|
|
115
|
+
}, env.baseProps), [
|
|
116
|
+
cell,
|
|
117
|
+
env.page,
|
|
118
|
+
env.baseProps,
|
|
119
|
+
own,
|
|
120
|
+
env.declared
|
|
121
|
+
]);
|
|
122
|
+
if (!passesConditions(cell.conditions, ctx)) return null;
|
|
123
|
+
let body;
|
|
124
|
+
if (!cell.component) body = jsx(CellPlaceholder, { state: "pending" });
|
|
125
|
+
else if (!env.bundles) body = jsx(CellPlaceholder, { state: "loading" });
|
|
126
|
+
else if (!resolved) body = jsxs(CellNotice, {
|
|
127
|
+
state: "not-found",
|
|
128
|
+
children: [cell.component, " isn't available here."]
|
|
129
|
+
});
|
|
130
|
+
else {
|
|
131
|
+
const children = cell.children?.length ? cell.children.map((id) => {
|
|
132
|
+
const child = env.cellsById.get(id);
|
|
133
|
+
return child ? jsx(CellView, {
|
|
134
|
+
cell: child,
|
|
135
|
+
env,
|
|
136
|
+
nested: true,
|
|
137
|
+
injectedProps
|
|
138
|
+
}, id) : null;
|
|
139
|
+
}) : null;
|
|
140
|
+
const props = assembleCellProps({
|
|
141
|
+
resolvedProps: {
|
|
142
|
+
...resolveReferences(cell.props ?? {}, ctx),
|
|
143
|
+
...injectedProps
|
|
144
|
+
},
|
|
145
|
+
children,
|
|
146
|
+
baseProps: env.baseProps,
|
|
147
|
+
cellData: projectCellData(cell, ctx.data),
|
|
148
|
+
actions: void 0,
|
|
149
|
+
...store,
|
|
150
|
+
size,
|
|
151
|
+
navigate,
|
|
152
|
+
context: {
|
|
153
|
+
...env.context,
|
|
154
|
+
nodeId: cell.graph_node_id ?? cell.metadata?.graph_node_id
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
const { Component } = resolved;
|
|
158
|
+
body = jsx(CellErrorBoundary, {
|
|
159
|
+
cellId: cell.id,
|
|
160
|
+
children: jsx(Suspense, {
|
|
161
|
+
fallback: jsx(CellPlaceholder, { state: "loading" }),
|
|
162
|
+
children: jsx(Component, { ...props })
|
|
163
|
+
})
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return jsx("div", {
|
|
167
|
+
ref: frame,
|
|
168
|
+
...cellAttributes(cell),
|
|
169
|
+
className: ["cell", cell.layout?.className].filter(Boolean).join(" "),
|
|
170
|
+
style: nested ? { minWidth: 0 } : cellPlacementStyle(cell.layout),
|
|
171
|
+
onClick,
|
|
172
|
+
children: body
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region packages/renderer/src/react/structure-view.tsx
|
|
177
|
+
function useStructureFacts(structure, cells, env, documents) {
|
|
178
|
+
return useMemo(() => {
|
|
179
|
+
const numbering = deriveSectionNumbering(structure);
|
|
180
|
+
const blocksByCellId = {};
|
|
181
|
+
for (const cell of cells) {
|
|
182
|
+
const blocks = cell.props?.blocks;
|
|
183
|
+
if (blocks !== void 0) blocksByCellId[cell.id] = resolveReferences(blocks, env.page);
|
|
184
|
+
}
|
|
185
|
+
const clauses = deriveElementReferences(structure, blocksByCellId, documents);
|
|
186
|
+
return {
|
|
187
|
+
numbering,
|
|
188
|
+
references: mergeSectionReferences(deriveSectionReferences(numbering, documents), clauses)
|
|
189
|
+
};
|
|
190
|
+
}, [
|
|
191
|
+
structure,
|
|
192
|
+
cells,
|
|
193
|
+
env.page,
|
|
194
|
+
documents
|
|
195
|
+
]);
|
|
196
|
+
}
|
|
197
|
+
function StructureView({ nodes, env, facts, level = 0, documentId = PAGE_DOCUMENT }) {
|
|
198
|
+
const sorted = useMemo(() => sortByOrder(normalizeStructure(nodes)), [nodes]);
|
|
199
|
+
return jsx(Fragment$1, { children: sorted.map((node, index) => {
|
|
200
|
+
const section = isSectionNode(node);
|
|
201
|
+
const cell = node.cellId ? env.cellsById.get(node.cellId) : void 0;
|
|
202
|
+
if (!cell && !section) return null;
|
|
203
|
+
const children = node.children ?? [];
|
|
204
|
+
const nodeDocument = node.documentId ?? documentId;
|
|
205
|
+
const maps = numberingFor(facts.numbering, nodeDocument);
|
|
206
|
+
const injected = {
|
|
207
|
+
sectionNumbers: maps.numbers,
|
|
208
|
+
sectionLevels: maps.levels,
|
|
209
|
+
sectionAuthoredLevels: maps.authoredLevels,
|
|
210
|
+
sectionTitles: maps.titles,
|
|
211
|
+
sectionAnchors: maps.anchors,
|
|
212
|
+
sectionReferences: referencesFor(facts.references, nodeDocument)
|
|
213
|
+
};
|
|
214
|
+
const print = nodePrintStyle(node);
|
|
215
|
+
let body = null;
|
|
216
|
+
if (cell) {
|
|
217
|
+
const childIds = children.map((c) => c.cellId).filter((id) => typeof id === "string");
|
|
218
|
+
const forRender = childIds.length ? {
|
|
219
|
+
...cell,
|
|
220
|
+
children: childIds
|
|
221
|
+
} : cell;
|
|
222
|
+
body = print ? jsx("div", {
|
|
223
|
+
"data-structure-print": "",
|
|
224
|
+
style: print,
|
|
225
|
+
children: jsx(CellView, {
|
|
226
|
+
cell: forRender,
|
|
227
|
+
env,
|
|
228
|
+
injectedProps: injected,
|
|
229
|
+
nested: true
|
|
230
|
+
})
|
|
231
|
+
}) : jsx(CellView, {
|
|
232
|
+
cell: forRender,
|
|
233
|
+
env,
|
|
234
|
+
injectedProps: injected,
|
|
235
|
+
nested: true
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
const nested = !cell && children.length ? jsx(StructureView, {
|
|
239
|
+
nodes: children,
|
|
240
|
+
env,
|
|
241
|
+
facts,
|
|
242
|
+
level: level + 1,
|
|
243
|
+
documentId: nodeDocument
|
|
244
|
+
}) : null;
|
|
245
|
+
if (!section) return jsx(Fragment, { children: body }, node.cellId ?? index);
|
|
246
|
+
const anchor = sectionAnchor(node);
|
|
247
|
+
const ownsAnchor = !cell && !children.some((c) => c.cellId && !c.sectionId);
|
|
248
|
+
const headingLevel = Math.min(6, Math.max(1, node.level ?? level + 1));
|
|
249
|
+
const Heading = `h${headingLevel}`;
|
|
250
|
+
const ordinal = maps.numbers[node.sectionId];
|
|
251
|
+
return jsxs("section", {
|
|
252
|
+
id: ownsAnchor ? anchor : void 0,
|
|
253
|
+
"aria-labelledby": ownsAnchor && node.title ? `${anchor}-heading` : void 0,
|
|
254
|
+
"data-section": "",
|
|
255
|
+
"data-section-level": headingLevel,
|
|
256
|
+
"data-section-kind": node.kind,
|
|
257
|
+
"data-derived-ordinal": ordinal ? ordinal.join(".") : void 0,
|
|
258
|
+
"data-oa-section": "",
|
|
259
|
+
"data-oa-section-level": headingLevel,
|
|
260
|
+
"data-oa-section-kind": node.kind,
|
|
261
|
+
"data-oa-derived-ordinal": ordinal ? ordinal.join(".") : void 0,
|
|
262
|
+
className: "structure-section",
|
|
263
|
+
style: print,
|
|
264
|
+
children: [
|
|
265
|
+
node.title && jsx(Heading, {
|
|
266
|
+
id: ownsAnchor ? `${anchor}-heading` : void 0,
|
|
267
|
+
children: node.title
|
|
268
|
+
}),
|
|
269
|
+
body,
|
|
270
|
+
nested
|
|
271
|
+
]
|
|
272
|
+
}, `${node.sectionId ?? ""}\u0000${node.cellId ?? index}`);
|
|
273
|
+
}) });
|
|
274
|
+
}
|
|
275
|
+
//#endregion
|
|
276
|
+
//#region packages/renderer/src/react/page-renderer.tsx
|
|
277
|
+
var warn = (d) => console.warn(`[render] ${d.code}${d.cellId ? ` (cell ${d.cellId})` : ""}: ${d.message}`);
|
|
278
|
+
function PageRenderer({ runtime, bundles, params, baseProps, context, environment }) {
|
|
279
|
+
const { page, cells } = runtime;
|
|
280
|
+
const declared = useMemo(() => new Set(runtime.declared), [runtime.declared]);
|
|
281
|
+
const { core, navigate, store, onDiagnostic = warn } = environment;
|
|
282
|
+
useEffect(() => {
|
|
283
|
+
for (const d of runtime.diagnostics) onDiagnostic(d);
|
|
284
|
+
}, [runtime.diagnostics, onDiagnostic]);
|
|
285
|
+
const env = useMemo(() => {
|
|
286
|
+
return {
|
|
287
|
+
cellsById: new Map(cells.map((c) => [c.id, c])),
|
|
288
|
+
page: {
|
|
289
|
+
data: runtime.data,
|
|
290
|
+
params
|
|
291
|
+
},
|
|
292
|
+
baseProps,
|
|
293
|
+
bundles: bundles.scope,
|
|
294
|
+
bundleFor: bundles.forCell,
|
|
295
|
+
core,
|
|
296
|
+
navigate,
|
|
297
|
+
store,
|
|
298
|
+
cellData: runtime.cellData,
|
|
299
|
+
declared,
|
|
300
|
+
scope: {
|
|
301
|
+
pageId: page.id,
|
|
302
|
+
projectId: page.project_id
|
|
303
|
+
},
|
|
304
|
+
context: {
|
|
305
|
+
...context,
|
|
306
|
+
pageId: page.id,
|
|
307
|
+
projectId: page.project_id,
|
|
308
|
+
processId: page.process_id
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
}, [
|
|
312
|
+
cells,
|
|
313
|
+
runtime,
|
|
314
|
+
params,
|
|
315
|
+
baseProps,
|
|
316
|
+
context,
|
|
317
|
+
bundles,
|
|
318
|
+
core,
|
|
319
|
+
navigate,
|
|
320
|
+
store,
|
|
321
|
+
page,
|
|
322
|
+
declared
|
|
323
|
+
]);
|
|
324
|
+
const structured = usesStructureLayout(page.layout);
|
|
325
|
+
const structure = useMemo(() => structured ? page.layout?.structure ?? [] : [], [structured, page.layout]);
|
|
326
|
+
const documents = page.layout?.documents;
|
|
327
|
+
const facts = useStructureFacts(structure, cells, env, documents);
|
|
328
|
+
const issues = useMemo(() => structured ? structureIssues(structure, cells) : [], [
|
|
329
|
+
structured,
|
|
330
|
+
structure,
|
|
331
|
+
cells
|
|
332
|
+
]);
|
|
333
|
+
const Theme = (env.bundles ? nearestThemeProvider(env.bundles) : void 0) ?? Fragment;
|
|
334
|
+
const container = jsx("div", {
|
|
335
|
+
className: "page-cells",
|
|
336
|
+
"data-page-container": "",
|
|
337
|
+
"data-oa-page-grid": "",
|
|
338
|
+
"data-page-id": page.id,
|
|
339
|
+
style: pageContainerStyle(page.layout),
|
|
340
|
+
children: issues.length ? jsxs(CellNotice, {
|
|
341
|
+
state: "error",
|
|
342
|
+
children: ["This page's layout can't be shown: ", issues.join("; ")]
|
|
343
|
+
}) : structured ? jsx(StructureView, {
|
|
344
|
+
nodes: structure,
|
|
345
|
+
env,
|
|
346
|
+
facts
|
|
347
|
+
}) : rootCells(cells).map((cell) => jsx(CellView, {
|
|
348
|
+
cell,
|
|
349
|
+
env
|
|
350
|
+
}, cell.id))
|
|
351
|
+
});
|
|
352
|
+
return Theme === Fragment ? container : jsx(Theme, { children: container });
|
|
353
|
+
}
|
|
354
|
+
//#endregion
|
|
355
|
+
export { CellErrorBoundary, CellNotice, CellPlaceholder, CellView, PageRenderer, StructureView, useCellStore, useContainerSize, useStructureFacts };
|
|
356
|
+
|
|
357
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","names":["_Fragment"],"sources":["../src/react/cell-states.tsx","../src/react/use-cell-store.ts","../src/react/use-container-size.ts","../src/react/cell-view.tsx","../src/react/structure-view.tsx","../src/react/page-renderer.tsx"],"mappings":"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"}
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { o as runtimeReady } from "./chunks/load-6zEgvJ6I.js";
|
|
2
|
+
import { t as createStackStore } from "./chunks/create-store-CglsI7tw.js";
|
|
3
|
+
import { LEGACY_RUNTIME_GLOBAL, PINNED_RUNTIMES, READY_GLOBAL, RESOLVE_GLOBAL, RUNTIME_GLOBAL, SPECIFIER_ALIASES, buildImportMap } from "@peripheries/runtime";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import * as JsxRuntime from "react/jsx-runtime";
|
|
6
|
+
import { useSelector } from "@tanstack/react-store";
|
|
7
|
+
import * as ReactDOM from "react-dom";
|
|
8
|
+
import * as ReactDOMClient from "react-dom/client";
|
|
9
|
+
import * as JsxDevRuntime from "react/jsx-dev-runtime";
|
|
10
|
+
import * as zustand from "zustand";
|
|
11
|
+
//#region packages/renderer/src/runtime/boot.ts
|
|
12
|
+
var RUNTIME_BOOT_SCRIPT = `(function(g){if(g.${READY_GLOBAL})return;g.${READY_GLOBAL}=new Promise(function(r){g.${RESOLVE_GLOBAL}=r;});})(globalThis);`;
|
|
13
|
+
var IMPORT_MAP_JSON = JSON.stringify({ imports: buildImportMap().imports });
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region packages/renderer/src/runtime/store-export.ts
|
|
16
|
+
var singleton = null;
|
|
17
|
+
function getStackStore() {
|
|
18
|
+
return singleton ??= createStackStore();
|
|
19
|
+
}
|
|
20
|
+
function useStackStore(selector) {
|
|
21
|
+
const api = getStackStore();
|
|
22
|
+
return useSelector(api.store, () => selector(api.getState()));
|
|
23
|
+
}
|
|
24
|
+
var selectors = {
|
|
25
|
+
selection: (scope, channel) => (s) => s.selections[scope]?.[channel],
|
|
26
|
+
viewState: (scope, key) => (s) => s.viewState[scope]?.[key],
|
|
27
|
+
live: (channel) => (s) => s.live[channel]
|
|
28
|
+
};
|
|
29
|
+
function buildStoreRuntime() {
|
|
30
|
+
return {
|
|
31
|
+
useStore: useStackStore,
|
|
32
|
+
useOAStore: useStackStore,
|
|
33
|
+
getStore: getStackStore,
|
|
34
|
+
selectors
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region packages/renderer/src/runtime/install.ts
|
|
39
|
+
function buildRuntime() {
|
|
40
|
+
const runtime = {
|
|
41
|
+
react: React,
|
|
42
|
+
"react/jsx-runtime": JsxRuntime,
|
|
43
|
+
"react/jsx-dev-runtime": JsxDevRuntime,
|
|
44
|
+
"react-dom": ReactDOM,
|
|
45
|
+
"react-dom/client": ReactDOMClient,
|
|
46
|
+
zustand,
|
|
47
|
+
"@stack/store": buildStoreRuntime()
|
|
48
|
+
};
|
|
49
|
+
for (const [alias, target] of Object.entries(SPECIFIER_ALIASES)) runtime[alias] = runtime[target];
|
|
50
|
+
return runtime;
|
|
51
|
+
}
|
|
52
|
+
function installRuntime(g = globalThis) {
|
|
53
|
+
const runtime = g[RUNTIME_GLOBAL] ?? buildRuntime();
|
|
54
|
+
g[RUNTIME_GLOBAL] = runtime;
|
|
55
|
+
g[LEGACY_RUNTIME_GLOBAL] ??= runtime;
|
|
56
|
+
if (typeof g.require !== "function") g.require = (specifier) => {
|
|
57
|
+
if (specifier in runtime) return runtime[specifier];
|
|
58
|
+
throw new Error(`[runtime] No host module for require("${specifier}"). Add it to PINNED_RUNTIMES or bundle it.`);
|
|
59
|
+
};
|
|
60
|
+
if (!g[READY_GLOBAL]) g[READY_GLOBAL] = Promise.resolve();
|
|
61
|
+
g[RESOLVE_GLOBAL]?.();
|
|
62
|
+
return runtime;
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region packages/renderer/src/runtime/shims.ts
|
|
66
|
+
function shimFileName(specifier) {
|
|
67
|
+
const base = PINNED_RUNTIMES[specifier].url.split("/").pop();
|
|
68
|
+
if (!base?.endsWith(".js")) throw new Error(`[runtime] ${specifier}: url is not a .js file`);
|
|
69
|
+
return base;
|
|
70
|
+
}
|
|
71
|
+
var IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
72
|
+
function renderShim(specifier, names, hasDefault) {
|
|
73
|
+
const key = JSON.stringify(specifier);
|
|
74
|
+
const lines = [
|
|
75
|
+
"// Generated by scripts/build-shims.ts. Do not edit.",
|
|
76
|
+
`// Forwards ${key} to globalThis.${RUNTIME_GLOBAL}[${key}].`,
|
|
77
|
+
`await globalThis.${READY_GLOBAL};`,
|
|
78
|
+
`const R = globalThis.${RUNTIME_GLOBAL}?.[${key}];`,
|
|
79
|
+
`if (!R) throw new Error('[runtime] ${RUNTIME_GLOBAL}[${key}] is not installed; the host has not booted.');`
|
|
80
|
+
];
|
|
81
|
+
if (hasDefault) lines.push("export default R.default ?? R;");
|
|
82
|
+
for (const name of [...new Set(names)].sort()) {
|
|
83
|
+
if (name === "default" || !IDENTIFIER.test(name)) continue;
|
|
84
|
+
lines.push(`export const ${name} = R.${name};`);
|
|
85
|
+
}
|
|
86
|
+
return lines.join("\n") + "\n";
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
89
|
+
export { IMPORT_MAP_JSON, RUNTIME_BOOT_SCRIPT, buildRuntime, getStackStore, installRuntime, renderShim, runtimeReady, selectors, shimFileName, useStackStore };
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","names":[],"sources":["../src/runtime/boot.ts","../src/runtime/store-export.ts","../src/runtime/install.ts","../src/runtime/shims.ts"],"mappings":";;;;;;;;;;;AAMA,IAAa,sBACX,qBAAqB,aAAa,YAC7B,aAAa,6BAA6B,eAAe;AAGhE,IAAa,kBAAkB,KAAK,UAAU,EAAE,SAAS,eAAe,CAAC,CAAC,QAAQ,CAAC;;;ACAnF,IAAI,YAAkC;AAEtC,SAAgB,gBAA+B;CAC7C,OAAQ,cAAc,iBAAiB;AACzC;AAGA,SAAgB,cAAiB,UAA4C;CAC3E,MAAM,MAAM,cAAc;CAC1B,OAAO,YAAY,IAAI,aAAa,SAAS,IAAI,SAAS,CAAC,CAAC;AAC9D;AAEA,IAAa,YAAY;CACvB,YAAY,OAAgB,aAAqB,MAAuB,EAAE,WAAW,MAAM,GAAG;CAC9F,YAAY,OAAgB,SAAiB,MAAuB,EAAE,UAAU,MAAM,GAAG;CACzF,OACgB,aACb,MACC,EAAE,KAAK;AACb;AAUA,SAAgB,oBAAkC;CAChD,OAAO;EAAE,UAAU;EAAe,YAAY;EAAe,UAAU;EAAe;CAAU;AAClG;;;ACtBA,SAAgB,eAA6B;CAC3C,MAAM,UAAwB;EAC5B,OAAO;EACP,qBAAqB;EACrB,yBAAyB;EACzB,aAAa;EACb,oBAAoB;EACpB;EACA,gBAAgB,kBAAkB;CACpC;CACA,KAAK,MAAM,CAAC,OAAO,WAAW,OAAO,QAAQ,iBAAiB,GAAG,QAAQ,SAAS,QAAQ;CAC1F,OAAO;AACT;AAWA,SAAgB,eAAe,IAAoB,YAA4C;CAC7F,MAAM,UAAU,EAAE,mBAAmB,aAAa;CAClD,EAAE,kBAAkB;CACpB,EAAE,2BAA2B;CAE7B,IAAI,OAAO,EAAE,YAAY,YACvB,EAAE,WAAW,cAAsB;EACjC,IAAI,aAAa,SAAS,OAAO,QAAQ;EACzC,MAAM,IAAI,MAAM,yCAAyC,UAAU,4CAA4C;CACjH;CAGF,IAAI,CAAC,EAAE,eAAe,EAAE,gBAAgB,QAAQ,QAAQ;CACxD,EAAE,eAAe,GAAG;CACpB,OAAO;AACT;;;ACvDA,SAAgB,aAAa,WAAqC;CAChE,MAAM,OAAO,gBAAgB,UAAU,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI;CAC3D,IAAI,CAAC,MAAM,SAAS,KAAK,GAAG,MAAM,IAAI,MAAM,aAAa,UAAU,wBAAwB;CAC3F,OAAO;AACT;AAEA,IAAM,aAAa;AASnB,SAAgB,WAAW,WAA6B,OAAiB,YAA6B;CACpG,MAAM,MAAM,KAAK,UAAU,SAAS;CACpC,MAAM,QAAQ;EACZ;EACA,eAAe,IAAI,iBAAiB,eAAe,GAAG,IAAI;EAC1D,oBAAoB,aAAa;EACjC,wBAAwB,eAAe,KAAK,IAAI;EAChD,sCAAsC,eAAe,GAAG,IAAI;CAC9D;CACA,IAAI,YAAY,MAAM,KAAK,gCAAgC;CAC3D,KAAK,MAAM,QAAQ,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;EAC7C,IAAI,SAAS,aAAa,CAAC,WAAW,KAAK,IAAI,GAAG;EAClD,MAAM,KAAK,gBAAgB,KAAK,OAAO,KAAK,EAAE;CAChD;CACA,OAAO,MAAM,KAAK,IAAI,IAAI;AAC5B"}
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* @peripheries/renderer/styles.css: what the renderer's markup needs (design/renderer.md §2).
|
|
2
|
+
Import it once per app, before bundles' own stylesheets. */
|
|
3
|
+
|
|
4
|
+
/* ── Page cells (design/core.md §3–4) ─────────────────────────────────────
|
|
5
|
+
The page and every cell are size containers, so layout responds to the
|
|
6
|
+
space a component actually has, not the viewport. `oa-page` / `oa-cell`
|
|
7
|
+
are the old names bundles' stylesheets still query. */
|
|
8
|
+
:root {
|
|
9
|
+
--cell-placeholder-bg: #f1f1f1;
|
|
10
|
+
--cell-notice-bg: #fff4d6;
|
|
11
|
+
--cell-notice-fg: #6b4e00;
|
|
12
|
+
}
|
|
13
|
+
[data-page-container] { container: page oa-page / inline-size; }
|
|
14
|
+
.cell { container: cell oa-cell / inline-size; min-width: 0; }
|
|
15
|
+
.cell-placeholder { min-height: 6rem; border-radius: 0.5rem; background: var(--cell-placeholder-bg); }
|
|
16
|
+
.cell-placeholder[aria-busy='true'] { animation: cell-pulse 1.5s ease-in-out infinite; }
|
|
17
|
+
@keyframes cell-pulse { 50% { opacity: 0.55; } }
|
|
18
|
+
@media (prefers-reduced-motion: reduce) { .cell-placeholder[aria-busy='true'] { animation: none; } }
|
|
19
|
+
.cell-notice { padding: 0.75rem 1rem; border-radius: 0.5rem; background: var(--cell-notice-bg); color: var(--cell-notice-fg); }
|
|
20
|
+
|
|
21
|
+
/* Responsive buckets: each fires at or below its width (narrow 480, compact 720, wide 1024). */
|
|
22
|
+
[data-show-when] { display: none; }
|
|
23
|
+
@container page (max-width: 1024px) {
|
|
24
|
+
[data-hide-when='wide'] { display: none; }
|
|
25
|
+
[data-show-when='wide'] { display: revert; }
|
|
26
|
+
[data-stack-when='wide'] { grid-column: 1 / -1 !important; } /* over the inline span */
|
|
27
|
+
[data-truncate-when='wide'] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
28
|
+
}
|
|
29
|
+
@container page (max-width: 720px) {
|
|
30
|
+
[data-hide-when='compact'] { display: none; }
|
|
31
|
+
[data-show-when='compact'] { display: revert; }
|
|
32
|
+
[data-stack-when='compact'] { grid-column: 1 / -1 !important; } /* over the inline span */
|
|
33
|
+
[data-truncate-when='compact'] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
34
|
+
}
|
|
35
|
+
@container page (max-width: 480px) {
|
|
36
|
+
[data-hide-when='narrow'] { display: none; }
|
|
37
|
+
[data-show-when='narrow'] { display: revert; }
|
|
38
|
+
[data-stack-when='narrow'] { grid-column: 1 / -1 !important; } /* over the inline span */
|
|
39
|
+
[data-truncate-when='narrow'] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@media (prefers-color-scheme: dark) {
|
|
43
|
+
:root:not([data-theme='light']) {
|
|
44
|
+
--cell-placeholder-bg: #262626;
|
|
45
|
+
--cell-notice-bg: #3a300f;
|
|
46
|
+
--cell-notice-fg: #f5dc9a;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Document structure: sections span a grid page; inside, content stacks. */
|
|
51
|
+
.structure-section { grid-column: 1 / -1; display: flex; flex-direction: column; gap: inherit; }
|