Welcome to the JavaScript feedback portal. We’re happy you’re here! If you have feedback on how to improve the JavaScript, we’d love to hear it!>
Thanks for joining our community and helping improve Syncfusion products!
I forked your example of HeatMap with "Fixed" palette on StackBlitz and the only change I made was to pass the element selector into the HeatMap constructor instead of calling appendTo after construction and it results in an error (whereas it didn't error in the original which called appendTo). The error is "Cannot read properties of undefined (reading 'visible')" and is in renderListLegendMode.
See my modified example here.
The issue seems to arise because when the element is passed into the HeatMap constructor it calls the base Component constructor (as that's the "super") which in turn calls render before the private property "rendering" has been initialised. So in renderListLegendMode the following if clause...

... evaluates to false because rendering is "undefined" at this point even though renderListLegendMode is being triggered by a render of the component. So because the if clause is false that doesn't add the required items to legendRange (when it needs to) and so later in renderListLegendMode you get the error.
When not passing the element into the constructor but instead calling appendTo then rendering has been initialised by the time of render so it's not an issue.