Copy-feedback state for ButtonCopy / MenuItemCopy (and any future copy
preset). The <a-button> / <a-menu-item> element performs the clipboard
write and fires a copydone event; this hook holds the transient result and
maps it to the icon + tone the wrapper renders: a check / success on
success, an x / critical on failure, otherwise the caller's own values.
Returns the handleCopied listener the wrapper wires to onCopied.
Kept here (not duplicated per preset) so the timing, glyph choice, and timer
cleanup live in one place. Hooks come through the jsx-runtime indirection, so
a custom non-React runtime supplies its own via configure().
Copy-feedback state for
ButtonCopy/MenuItemCopy(and any future copy preset). The<a-button>/<a-menu-item>element performs the clipboard write and fires acopydoneevent; this hook holds the transient result and maps it to the icon + tone the wrapper renders: acheck/successon success, anx/criticalon failure, otherwise the caller's own values. Returns thehandleCopiedlistener the wrapper wires toonCopied.Kept here (not duplicated per preset) so the timing, glyph choice, and timer cleanup live in one place. Hooks come through the
jsx-runtimeindirection, so a custom non-React runtime supplies its own viaconfigure().