///
import { Cell, Default, handler, NAME, recipe, UI } from "commontools";
interface Item {
text: Default;
}
interface InputSchema {
title: Default;
items: Default- ;
}
type InputEventType = {
detail: {
message: string;
};
};
interface ListState {
items: Cell
- ;
}
const addItem = handler(
(event: InputEventType, state: ListState) => {
state.items.push({ text: event.detail.message });
},
);
export default recipe(({ title, items }) => {
return {
[NAME]: title,
[UI]: (
{title}
Super Simple Array
{
// deno-lint-ignore jsx-key
items.map((item) => - {item.text}
)
}
),
title,
items,
addItem: addItem({ items }),
};
});