Emits whenever a style rule or element is updated or removed.
Delivered asynchronously via asyncScheduler — subscribers always receive
events on the next tick, never synchronously. Switch on event.type to
handle specific event kinds:
UI_STYLE_RULE_UPDATED — a style rule was added or mergedUI_STYLE_RULES_REMOVED — style rules were removedUI_ELEMENT_UPDATED — an element's props were updatedUI_ELEMENTS_REMOVED — one or more elements were removedSnapshot of all registered style rules (both class-based and id-based).
Gets an element by id, or undefined if it doesn't exist.
Requested element's id
Removes all style rules for which predicate returns true.
Iterates the rule registry and deletes every matching entry, then emits
UI_STYLE_RULES_REMOVED. Default styles registered at construction time
can also be removed this way.
Computes the merged style for an element using the following cascade priority (later steps override earlier ones):
element.classes array order; later class winselement.styleAny combination of id, classes, and style on the element is accepted.
Returns the class name string for a named default element style.
Adds or updates an element's props in the registry.
undefined are deleted from the stored props.undefined after the merge, the element is removed
and UI_ELEMENTS_REMOVED is emitted instead.UI_ELEMENT_UPDATED is emitted.
Snapshot of all currently tracked UI elements.
An element is tracked as long as it has at least one non-undefined prop. It is automatically removed (and
UI_ELEMENTS_REMOVEDemitted) once all its props are cleared.