{componentConfig.<x>}).
Components
The root <velt-cursor> just spawns one pointer per remote user and isn’t wireframable; only the per-user pointer is.
Config props
Presence
Live Cursors
CSS: stateful classes
(Override with!important, R9b.)
Wireframes: slot trees + tokens
Presence
.UserActive renders only for online, .UserInactive only for away (neither for offline).
Key tokens ({componentConfig.<x>}): filteredPresenceUsers (list hidden when length === 0), user (hidden if user.isAnonymous), maxUsers; per-item presenceUser (.name/.email/.onlineStatus/.color), index (renders when index < maxUsers); remaining-count renders when filteredPresenceUsers.length > maxUsers.
Live Cursors
cursorUser (.name/.color/.photoUrl/.comment/.position), selfCursorPointer, showDefault/showAvatar/showAudio/showVideo (derived from stream + avatarMode), variant.
Headless hooks
Limitations
Presence
Anonymous local users never see presence;maxUsers both caps avatars and gates the overflow badge; a custom template needs explicit shadowDom="true" to use shadow DOM.
Live Cursors
- There is no live-cursor pin/image prop. (
pin-cursor-imageis aVeltCommentsprop for the comment-placement cursor, not live cursors.) To change the live cursor glyph, use the<slot name="cursor">or the.Arrowwireframe. - The root
<velt-cursor>isn’t wireframable: only the per-user pointer is. - Your own cursor is hidden in normal use (
selfCursorPointershows only in huddle-on-cursor mode). - Requires an identified (non-anonymous) user.

