Creates a new Subplot instance from MAIDR subplot data
The MAIDR subplot data containing layers
Protected ReadonlyobserversProtected ReadonlymovableReadonlytracesReadonlytraceProtecteddimensionProtectedvaluesProtectedoutProtectedgetGets 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.
Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick
ProtectedcompareUtility function to compare point values for rotor functionality
boolean value
Gets the number of traces in the subplot
The size (number of traces)
Override moveOnce to avoid "initial entry" no-op behavior for layer navigation.
For violin subplots, the MovableGrid is only used to step between layers (traces), not between data points. We don't want the first MOVE_UP/DOWN to be eaten by handleInitialEntry; instead, the first PageUp/PageDown should actually switch layers.
For non-violin plots, we delegate directly to the base implementation to preserve existing behavior.
Moves the element to the specified (x, y) point.
This base implementation is intentionally left empty. Subclasses should override this method to provide specific logic for moving to a point, such as updating highlight values or managing selection boxes.
The x-coordinate to move to.
The y-coordinate to move to.
Gets the subplot state with figure position context
The row position in the figure
The column position in the figure
The subplot state
Interface for plot traces that support keyboard navigation and movement.