// Generated by tools/write-iframe-wrapper.ts. // Edit the contract or guest source and regenerate this wrapper. import { type Default, NAME, pattern, type PerUser, UI, type VNode, Writable, } from "commonfabric"; import { DEFAULT_INPUT, DEFAULT_OUTPUT, DEFAULT_STATE, type IframeInputData, type IframeOutputData, type IframeStateData, } from "./contract.ts"; export interface IframeFirebreakCommonsInput { input?: Default; output?: PerUser>>; } export interface IframeFirebreakCommonsOutput { [NAME]: string; [UI]: VNode; state: IframeStateData; output: IframeOutputData; } interface IframeContextInput { input: IframeInputData; state: Writable>; output: Writable>; } interface IframeContextOutput extends IframeContextInput {} const IframeContext = pattern( (context) => context, ); const GUEST_HTML = '\n\n \n \n \n Firebreak Commons\n \n \n \n
\n
\n
\n

Cooperative wildfire table

\n

Loading Firebreak Commons

\n

Connecting crews…

\n
\n

\n Synchronizing commons\n

\n
\n\n
\n
Turn—
\n Active fire—\n Evacuated—\n
Lost—
\n Outcome—\n
\n\n
\n \n\n
\n
\n

Commons response map

\n
\n \n \n
\n
\n
\n
\n Accessible tile controls\n
\n
\n
\n
\n
\n \n \n\n'; export default pattern< IframeFirebreakCommonsInput, IframeFirebreakCommonsOutput >(({ input, output, }) => { const state = new Writable(DEFAULT_STATE); const iframeInput = input ?? DEFAULT_INPUT; const context = IframeContext({ input: iframeInput, state, output, }); return { [NAME]: "Firebreak Commons", [UI]: (
), state, output, }; });