From 35f54eb4d04f2fb4cbe5ad5a241546e3441806af Mon Sep 17 00:00:00 2001 From: aose-yuu Date: Sun, 17 May 2026 14:11:53 +0900 Subject: [PATCH] docs: clarify event-driven action examples --- README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d0ccfc4..7469157 100644 --- a/README.md +++ b/README.md @@ -79,16 +79,30 @@ const DialogMolecule = molecule((props) => { const isOpen = toSignal(props, "open"); const isDisabled = computed(() => props.disabled ?? false); - const requestOpenChange = async (next: boolean) => { + const emitOpenChange = async (next: boolean) => { if (isDisabled.value || isOpen.value === next) { return; } await send("update:open", next); }; + const open = () => { + return emitOpenChange(true); + }; + + const close = () => { + return emitOpenChange(false); + }; + + const toggle = () => { + return emitOpenChange(!isOpen.value); + }; + return { on, - requestOpenChange, + open, + close, + toggle, }; }); @@ -104,7 +118,9 @@ const DialogControllerMolecule = molecule(() => { return { isOpen: readonly(isOpen), - requestOpenChange: dialog.requestOpenChange, + open: dialog.open, + close: dialog.close, + toggle: dialog.toggle, }; }); @@ -113,7 +129,7 @@ export function DialogButton() { const isOpen = useSignal(dialog.isOpen); return ( - );