@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.
Files changed (57) hide show
  1. package/README.md +65 -0
  2. package/dist/chunks/create-store-CglsI7tw.js +90 -0
  3. package/dist/chunks/create-store-CglsI7tw.js.map +1 -0
  4. package/dist/chunks/load-6zEgvJ6I.js +60 -0
  5. package/dist/chunks/load-6zEgvJ6I.js.map +1 -0
  6. package/dist/chunks/page-bundles-C4VW3dsK.js +87 -0
  7. package/dist/chunks/page-bundles-C4VW3dsK.js.map +1 -0
  8. package/dist/chunks/projection-Dsy9ruj8.js +592 -0
  9. package/dist/chunks/projection-Dsy9ruj8.js.map +1 -0
  10. package/dist/core.js +740 -0
  11. package/dist/core.js.map +1 -0
  12. package/dist/react.js +357 -0
  13. package/dist/react.js.map +1 -0
  14. package/dist/runtime.js +91 -0
  15. package/dist/runtime.js.map +1 -0
  16. package/dist/styles.css +51 -0
  17. package/dist/testing.js +944 -0
  18. package/dist/testing.js.map +1 -0
  19. package/dist/types/core/bundles/load.d.ts +49 -0
  20. package/dist/types/core/bundles/page-bundles.d.ts +17 -0
  21. package/dist/types/core/bundles/refs.d.ts +41 -0
  22. package/dist/types/core/bundles/resolve.d.ts +25 -0
  23. package/dist/types/core/cell-props.d.ts +39 -0
  24. package/dist/types/core/cells.d.ts +39 -0
  25. package/dist/types/core/data-context.d.ts +38 -0
  26. package/dist/types/core/graph.d.ts +95 -0
  27. package/dist/types/core/index.d.ts +19 -0
  28. package/dist/types/core/layout.d.ts +12 -0
  29. package/dist/types/core/load-page.d.ts +72 -0
  30. package/dist/types/core/references.d.ts +43 -0
  31. package/dist/types/core/store/create-store.d.ts +26 -0
  32. package/dist/types/core/store/persistence.d.ts +9 -0
  33. package/dist/types/core/store/projection.d.ts +15 -0
  34. package/dist/types/core/store/scope-keys.d.ts +10 -0
  35. package/dist/types/core/store/types.d.ts +37 -0
  36. package/dist/types/core/structure.d.ts +72 -0
  37. package/dist/types/core/types.d.ts +30 -0
  38. package/dist/types/core/validate.d.ts +14 -0
  39. package/dist/types/react/cell-states.d.ts +25 -0
  40. package/dist/types/react/cell-view.d.ts +31 -0
  41. package/dist/types/react/index.d.ts +6 -0
  42. package/dist/types/react/page-renderer.d.ts +30 -0
  43. package/dist/types/react/structure-view.d.ts +30 -0
  44. package/dist/types/react/use-cell-store.d.ts +13 -0
  45. package/dist/types/react/use-container-size.d.ts +11 -0
  46. package/dist/types/runtime/boot.d.ts +7 -0
  47. package/dist/types/runtime/index.d.ts +4 -0
  48. package/dist/types/runtime/install.d.ts +21 -0
  49. package/dist/types/runtime/shims.d.ts +11 -0
  50. package/dist/types/runtime/store-export.d.ts +18 -0
  51. package/dist/types/testing/base-props.d.ts +3 -0
  52. package/dist/types/testing/components.d.ts +51 -0
  53. package/dist/types/testing/golden.d.ts +51 -0
  54. package/dist/types/testing/ids.d.ts +14 -0
  55. package/dist/types/testing/index.d.ts +5 -0
  56. package/dist/types/testing/sources.d.ts +25 -0
  57. package/package.json +51 -0
@@ -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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"}
@@ -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"}
@@ -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; }