This is happening because md-sidenav has a transform CSS property on it. Whenever a transform is applied to an element, it creates a new grid coordinate system, which all child elements will think is the outer edge of the viewport.
Because the tooltip positioning is assumes its translate based on pixels away from viewport, the tooltip will be mis-positioned (sometimes even off the screen).
During initTooltip, the tooltip should always be added to the document.body instead of the chartContainer if provided. The d3 selectAll should just look for the tooltip ID instead of all .nv-tooltip.
This is happening because md-sidenav has a transform CSS property on it. Whenever a transform is applied to an element, it creates a new grid coordinate system, which all child elements will think is the outer edge of the viewport.
Because the tooltip positioning is assumes its translate based on pixels away from viewport, the tooltip will be mis-positioned (sometimes even off the screen).
During initTooltip, the tooltip should always be added to the document.body instead of the chartContainer if provided. The d3 selectAll should just look for the tooltip ID instead of all .nv-tooltip.