/// import { type Cell, Default, handler, recipe, UI } from "commontools"; interface TodoListState { items: Default; } const addItem = handler< { detail: { message: string } }, { items: Cell } >( (event, { items }) => { const value = event.detail.message?.trim(); if (value) { const currentItems = items.get(); items.set([...currentItems, value]); } }, ); export default recipe("Todo List with Default", (state) => { return { [UI]: (

My Todos

    {/* Note: key is not needed for Common Tools but linters require it */} {state.items.map((item, index) =>
  • {item}
  • )}
), items: state.items, }; });