OptionaldarkMerged dark-mode token inputs.
OptionallightMerged light-mode token inputs (base/parent ⊕ own) — a child provider merges on top of these.
OptionalmodeThe mode a float should stamp, when this provider (or an ancestor provider) pins one.
OptionalscopePer-instance scope class (no leading dot) — present ONLY when the provider is isolated (i.e. it emits
@scoped rules). A float carries it so those scoped rules apply on the portal root; undefined for a
global provider (nothing to carry — global rules reach the float anyway).
What a TokenThemeProvider publishes to descendants — the handle, not resolved values (resolution stays in CSS). A portaled float is a React descendant but NOT a DOM descendant, so the cascade can't reach it; a float layer reads this to re-attach the theme (stamp
scopeClass+modeon its portal root).light/darkare the already-MERGED inputs so a nested provider can merge further.