Creates a new SmoothTraceSvgXY instance for a given layer.
The MAIDR layer containing smooth trace data with SVG coordinates
Protected ReadonlyobserversProtected ReadonlyidProtected ReadonlytypeProtected ReadonlytitleProtected ReadonlyxProtected ReadonlyyProtected ReadonlyfillProtected ReadonlynavigationProtected ReadonlylayerProtected ReadonlysupportsAbstract property that subclasses must implement to indicate extrema support
Protected ReadonlyrotorProtected ReadonlymovableProtected ReadonlypointsProtected ReadonlylineProtected ReadonlyhighlightProtectedhighlightProtected ReadonlyminProtected ReadonlymaxProtectedoutProtectedhighlightProtectedhasProtectedvaluesProtectedbrailleProtectedtextProtecteddimensionGet the state for this smooth trace. Overrides the parent state to set plotType to 'smooth' for proper identification in instruction text and layer announcements.
The trace state with plotType set to 'smooth'
ProtectedaudioProtectedgetGets safe row and column indices to prevent accessing undefined values
Object with safe row and column indices
Registers an observer to receive state updates.
The observer to add
Removes an observer from receiving state updates.
The observer to remove
Notifies all registered observers with the current state.
Notifies observers that an out-of-bounds condition occurred.
Resets the trace to initial entry state
ProtectedfinalizeCommon post-navigation cleanup that should be called by subclasses after they update their internal state
Checks if this plot supports extrema navigation.
True if extrema navigation is supported
Base implementation for getting current X value Subclasses can override if they have different data structures
Gets the unique identifier for this trace.
The trace ID
Moves to the nearest point at the specified coordinates (used for hover functionality).
The x-coordinate
The y-coordinate
Checks if the specified coordinates are within bounds of the element.
The x-coordinate
The y-coordinate
Object containing the SVG element and its position
The SVG element to check bounds against
The row position of the element
The column position of the element
True if the point is in bounds, false otherwise
Cleans up trace resources including values and highlighted SVG elements.
ProtectedmapGet extrema targets for the current line plot Returns min and max values within the current group
Array of extrema targets for navigation
Navigate to a specific extrema target
The extrema target to navigate to
ProtectedupdateUpdate the visual position of the current point This method should be called when navigation changes
Move the line plot to the position that matches the given X value
The X value to move to
true if the position was found and set, false otherwise
Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick
Utility function to compare point values for rotor functionality
boolean value
ProtectedmapMaps data points to SVG circle elements using svg_x and svg_y coordinates from the data.
Optionalselectors: string[]Optional array of CSS selectors for line elements
Array of SVG element arrays for each line, or null if selectors are invalid or all mappings failed
Represents a smooth trace with SVG coordinates for rendering data points using svg_x and svg_y values.