Bottom-right toast stack — subscribes to the global utils/toast
queue and renders up to MAX_VISIBLE newest entries. When the
queue is empty, returns null (no wrapper, no chrome) so the host
doesn't intercept clicks on whatever sits underneath.
Pure UI: every state-changing call (success / error / dismiss /
clear) goes through the imperative toast API exported from
utils/toast. Nothing in the React tree owns the queue.
Bottom-right toast stack — subscribes to the global
utils/toastqueue and renders up toMAX_VISIBLEnewest entries. When the queue is empty, returnsnull(no wrapper, no chrome) so the host doesn't intercept clicks on whatever sits underneath.Pure UI: every state-changing call (success / error / dismiss / clear) goes through the imperative
toastAPI exported fromutils/toast. Nothing in the React tree owns the queue.