From 3c26e82ecc8117988c16e484464652bfeaf95f0c Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Wed, 22 Oct 2025 09:52:48 +0300 Subject: [PATCH 01/11] wip: debug --- dev/chart-dashboard.html | 32 ++++++++++++++++++++++++++++++++ dev/highcharts.html | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 dev/chart-dashboard.html create mode 100644 dev/highcharts.html diff --git a/dev/chart-dashboard.html b/dev/chart-dashboard.html new file mode 100644 index 0000000000..de00a94b9e --- /dev/null +++ b/dev/chart-dashboard.html @@ -0,0 +1,32 @@ + + + + + + + Dashboard + + + + + + + + + + + + + + + + + + + + diff --git a/dev/highcharts.html b/dev/highcharts.html new file mode 100644 index 0000000000..5aef1489b8 --- /dev/null +++ b/dev/highcharts.html @@ -0,0 +1,34 @@ + + + + + + + Dashboard + + + + + + +
+
+
+ + + + + + +
+
+
+
+ + From 65ebb87f427600173919e858d8135f5b8d8eab00 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Wed, 22 Oct 2025 11:28:56 +0300 Subject: [PATCH 02/11] wip --- dev/highcharts.html | 2 +- packages/charts/src/styles/vaadin-chart-base-styles.js | 8 ++++++++ packages/charts/src/vaadin-chart-mixin.js | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dev/highcharts.html b/dev/highcharts.html index 5aef1489b8..2b7e642ff7 100644 --- a/dev/highcharts.html +++ b/dev/highcharts.html @@ -14,7 +14,7 @@
-
+
const { height, width } = contentRect; const { chartHeight, chartWidth } = this.configuration; + this.$.wrapper.style.minHeight = ''; + this.$.wrapper.style.minWidth = ''; + + if (this.$.wrapper.offsetHeight === 0 || this.$.wrapper.offsetWidth === 0) { + this.$.wrapper.style.minHeight = `${chartHeight}px`; + this.$.wrapper.style.minWidth = `${chartWidth}px`; + } + if (height !== chartHeight || width !== chartWidth) { this.__reflow(); } @@ -839,6 +847,7 @@ export const ChartMixin = (superClass) => if (!this.configuration) { return; } + this.configuration.reflow(); } From 08ea91133a03d5bbbf7c603b784cebb186d20576 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Wed, 22 Oct 2025 11:48:24 +0300 Subject: [PATCH 03/11] fixes and test fixes --- packages/charts/src/vaadin-chart-mixin.js | 7 ++++--- packages/charts/test/reattach.test.js | 7 ++++--- packages/charts/test/styling.test.js | 3 ++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/charts/src/vaadin-chart-mixin.js b/packages/charts/src/vaadin-chart-mixin.js index b287fd94db..7b5a0ad419 100644 --- a/packages/charts/src/vaadin-chart-mixin.js +++ b/packages/charts/src/vaadin-chart-mixin.js @@ -830,10 +830,11 @@ export const ChartMixin = (superClass) => const { chartHeight, chartWidth } = this.configuration; this.$.wrapper.style.minHeight = ''; - this.$.wrapper.style.minWidth = ''; - - if (this.$.wrapper.offsetHeight === 0 || this.$.wrapper.offsetWidth === 0) { + if (this.$.wrapper.offsetHeight === 0) { this.$.wrapper.style.minHeight = `${chartHeight}px`; + } + this.$.wrapper.style.minWidth = ''; + if (this.$.wrapper.offsetWidth === 0) { this.$.wrapper.style.minWidth = `${chartWidth}px`; } diff --git a/packages/charts/test/reattach.test.js b/packages/charts/test/reattach.test.js index 54640251a1..f96451ac0d 100644 --- a/packages/charts/test/reattach.test.js +++ b/packages/charts/test/reattach.test.js @@ -1,5 +1,5 @@ import { expect } from '@vaadin/chai-plugins'; -import { fixtureSync, nextFrame, oneEvent } from '@vaadin/testing-helpers'; +import { fixtureSync, nextFrame, nextResize, oneEvent } from '@vaadin/testing-helpers'; import sinon from 'sinon'; import './chart-not-animated-styles.js'; import '../src/vaadin-chart.js'; @@ -262,18 +262,19 @@ describe('reattach', () => { it('should restore default height when moving from different container with defined height', async () => { await oneEvent(chart, 'chart-load'); + await nextResize(chart); const initialHeight = getComputedStyle(chart).height; inner.style.height = '700px'; inner.appendChild(chart); - await nextFrame(); + await nextResize(chart); expect(getComputedStyle(chart).height).to.be.equal(inner.style.height); // Move back to first parent wrapper.appendChild(chart); - await nextFrame(); + await nextResize(chart); expect(getComputedStyle(chart).height).to.be.equal(initialHeight); }); diff --git a/packages/charts/test/styling.test.js b/packages/charts/test/styling.test.js index 7795a40bc9..1f1414d9d8 100644 --- a/packages/charts/test/styling.test.js +++ b/packages/charts/test/styling.test.js @@ -1,5 +1,5 @@ import { expect } from '@vaadin/chai-plugins'; -import { fixtureSync, oneEvent } from '@vaadin/testing-helpers'; +import { fixtureSync, nextResize, oneEvent } from '@vaadin/testing-helpers'; import './theme-styles.js'; import '../src/vaadin-chart.js'; @@ -14,6 +14,7 @@ describe('vaadin-chart styling', () => { `); await oneEvent(chart, 'chart-load'); + await nextResize(chart); chartContainer = chart.$.chart; }); From aabf22a38eb1e4061a208bca9fabbfc06e48aa5c Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Wed, 22 Oct 2025 11:58:38 +0300 Subject: [PATCH 04/11] Align threshold with highcharts --- packages/charts/src/vaadin-chart-mixin.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/charts/src/vaadin-chart-mixin.js b/packages/charts/src/vaadin-chart-mixin.js index 7b5a0ad419..08c187d273 100644 --- a/packages/charts/src/vaadin-chart-mixin.js +++ b/packages/charts/src/vaadin-chart-mixin.js @@ -830,11 +830,12 @@ export const ChartMixin = (superClass) => const { chartHeight, chartWidth } = this.configuration; this.$.wrapper.style.minHeight = ''; - if (this.$.wrapper.offsetHeight === 0) { + // Use 1px as the threshold to align with Highcharts + if (this.$.wrapper.offsetHeight < 2) { this.$.wrapper.style.minHeight = `${chartHeight}px`; } this.$.wrapper.style.minWidth = ''; - if (this.$.wrapper.offsetWidth === 0) { + if (this.$.wrapper.offsetWidth < 2) { this.$.wrapper.style.minWidth = `${chartWidth}px`; } @@ -848,7 +849,6 @@ export const ChartMixin = (superClass) => if (!this.configuration) { return; } - this.configuration.reflow(); } From bdcc361816f287308126248bf5d1ba522fba0c1c Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Wed, 22 Oct 2025 14:47:48 +0300 Subject: [PATCH 05/11] Remove no longer needed code --- packages/charts/src/vaadin-chart-mixin.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/charts/src/vaadin-chart-mixin.js b/packages/charts/src/vaadin-chart-mixin.js index 08c187d273..0e28944645 100644 --- a/packages/charts/src/vaadin-chart-mixin.js +++ b/packages/charts/src/vaadin-chart-mixin.js @@ -795,10 +795,6 @@ export const ChartMixin = (superClass) => // Detect if the chart had already been initialized. This might happen in // environments where the chart is lazily attached (e.g Grid). if (this.configuration) { - const { height } = this.$.wrapper.style; - this.$.wrapper.style.height = ''; - this.configuration.setSize(null, null, false); - this.$.wrapper.style.height = height; return; } From f12dcd0dd3e0517212ec39ff0131863149df6603 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 11:08:11 +0300 Subject: [PATCH 06/11] Add tests --- packages/charts/test/chart-element.test.js | 79 +++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/packages/charts/test/chart-element.test.js b/packages/charts/test/chart-element.test.js index bb45cd2f09..ccf7ab7c6b 100644 --- a/packages/charts/test/chart-element.test.js +++ b/packages/charts/test/chart-element.test.js @@ -1,5 +1,5 @@ import { expect } from '@vaadin/chai-plugins'; -import { aTimeout, fixtureSync, nextFrame, nextRender, oneEvent } from '@vaadin/testing-helpers'; +import { aTimeout, fixtureSync, nextFrame, nextRender, nextResize, oneEvent } from '@vaadin/testing-helpers'; import sinon from 'sinon'; import './chart-not-animated-styles.js'; import '../src/vaadin-chart.js'; @@ -344,6 +344,35 @@ describe('vaadin-chart', () => { expect(rect.width).to.be.equal(300); expect(chart.configuration.chartWidth).to.be.equal(300); }); + + it('should use intrinsic width when otherwise would collapse to zero', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + expect(chart.offsetHeight).to.be.equal(300); + expect(chart.offsetWidth).to.be.greaterThan(0); + expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); + }); + + it('should decrease from intrinsic width to fixed width', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + chart.style.width = '100px'; + await nextResize(chart); + + expect(chart.offsetHeight).to.be.equal(300); + expect(chart.offsetWidth).to.be.equal(100); + expect(chart.configuration.chartWidth).to.be.equal(chart.offsetWidth); + }); }); describe('height', () => { @@ -367,6 +396,54 @@ describe('vaadin-chart', () => { expect(rect.height).to.be.equal(300); expect(chart.configuration.chartHeight).to.be.equal(300); }); + + it('should not expand chart beyond container height', async () => { + const chartMinHeight = 300; + const siblingHeight = 5; + + // See https://github.com/vaadin/web-components/issues/10316 + chart = fixtureSync(` +
+
+ +
+
+
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + expect(chart.offsetHeight).to.be.equal(chartMinHeight + siblingHeight); + expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); + }); + + it('should use intrinsic height when otherwise would collapse to zero', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + expect(chart.offsetWidth).to.be.equal(300); + expect(chart.offsetHeight).to.be.greaterThan(0); + expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); + }); + + it('should decrease from intrinsic height to fixed height', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + chart.style.height = '100px'; + await nextResize(chart); + + expect(chart.offsetWidth).to.be.equal(300); + expect(chart.offsetHeight).to.be.equal(100); + expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); + }); }); describe('resize', () => { From 8de521ce37ba5d081ed1688d002c81800ba85bd5 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 11:10:37 +0300 Subject: [PATCH 07/11] Cleanup --- packages/charts/src/vaadin-chart-mixin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/charts/src/vaadin-chart-mixin.js b/packages/charts/src/vaadin-chart-mixin.js index 0e28944645..219b270dcb 100644 --- a/packages/charts/src/vaadin-chart-mixin.js +++ b/packages/charts/src/vaadin-chart-mixin.js @@ -827,11 +827,11 @@ export const ChartMixin = (superClass) => this.$.wrapper.style.minHeight = ''; // Use 1px as the threshold to align with Highcharts - if (this.$.wrapper.offsetHeight < 2) { + if (this.$.wrapper.offsetHeight <= 1) { this.$.wrapper.style.minHeight = `${chartHeight}px`; } this.$.wrapper.style.minWidth = ''; - if (this.$.wrapper.offsetWidth < 2) { + if (this.$.wrapper.offsetWidth <= 1) { this.$.wrapper.style.minWidth = `${chartWidth}px`; } From 073404d5ada3867d2af8b6162fb8b2b3b879be2d Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 11:12:55 +0300 Subject: [PATCH 08/11] Tests --- packages/charts/test/chart-element.test.js | 34 ++++++++++++++++++---- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/packages/charts/test/chart-element.test.js b/packages/charts/test/chart-element.test.js index ccf7ab7c6b..e25bcd3e03 100644 --- a/packages/charts/test/chart-element.test.js +++ b/packages/charts/test/chart-element.test.js @@ -345,7 +345,7 @@ describe('vaadin-chart', () => { expect(chart.configuration.chartWidth).to.be.equal(300); }); - it('should use intrinsic width when otherwise would collapse to zero', async () => { + it('should use intrinsic width when container provides no width', async () => { chart = fixtureSync(`
@@ -358,7 +358,7 @@ describe('vaadin-chart', () => { expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); }); - it('should decrease from intrinsic width to fixed width', async () => { + it('should resize from intrinsic width to explicit width', async () => { chart = fixtureSync(`
@@ -373,6 +373,18 @@ describe('vaadin-chart', () => { expect(chart.offsetWidth).to.be.equal(100); expect(chart.configuration.chartWidth).to.be.equal(chart.offsetWidth); }); + + it('should collapse to zero width when container width is zero', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + expect(chart.offsetHeight).to.be.equal(300); + expect(chart.offsetWidth).to.be.equal(0); + }); }); describe('height', () => { @@ -397,7 +409,7 @@ describe('vaadin-chart', () => { expect(chart.configuration.chartHeight).to.be.equal(300); }); - it('should not expand chart beyond container height', async () => { + it('should not cause container height expansion in flex layout', async () => { const chartMinHeight = 300; const siblingHeight = 5; @@ -416,7 +428,7 @@ describe('vaadin-chart', () => { expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); }); - it('should use intrinsic height when otherwise would collapse to zero', async () => { + it('should use intrinsic height when container provides no height', async () => { chart = fixtureSync(`
@@ -429,7 +441,7 @@ describe('vaadin-chart', () => { expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); }); - it('should decrease from intrinsic height to fixed height', async () => { + it('should resize from intrinsic height to explicit height', async () => { chart = fixtureSync(`
@@ -444,6 +456,18 @@ describe('vaadin-chart', () => { expect(chart.offsetHeight).to.be.equal(100); expect(chart.configuration.chartHeight).to.be.equal(chart.offsetHeight); }); + + it('should collapse to zero height when container height is zero', async () => { + chart = fixtureSync(` +
+ +
`).querySelector('vaadin-chart'); + + await nextResize(chart); + + expect(chart.offsetWidth).to.be.equal(300); + expect(chart.offsetHeight).to.be.equal(0); + }); }); describe('resize', () => { From 7e59bf1155d1d323261b192ccb5e60de175f8e01 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 11:50:00 +0300 Subject: [PATCH 09/11] Dev pages for sizing and zindex testing --- dev/highcharts-parent-sizing.html | 162 +++++++++++++++++++ dev/highcharts-zindex.html | 259 ++++++++++++++++++++++++++++++ 2 files changed, 421 insertions(+) create mode 100644 dev/highcharts-parent-sizing.html create mode 100644 dev/highcharts-zindex.html diff --git a/dev/highcharts-parent-sizing.html b/dev/highcharts-parent-sizing.html new file mode 100644 index 0000000000..872aa41ea7 --- /dev/null +++ b/dev/highcharts-parent-sizing.html @@ -0,0 +1,162 @@ + + + + + + + Chart Parent Sizing Test + + + + + + + + +

Chart Parent Sizing Test Cases

+

Testing whether charts with absolute positioning affect parent container sizing

+ +
+

Test 1: Chart in auto-sized container (should the container expand to fit chart?)

+
+ + + +
+
+
+ +
+

Test 2: Chart with siblings (does chart contribute to parent height?)

+
+
Sibling above chart
+ + + +
Sibling below chart
+
+
+
+ +
+

Test 3: Multiple charts stacked vertically (do they stack properly?)

+
+ + + + + + +
+
+
+ +
+

Test 4: Chart in flex container (flex item contribution)

+
+
Flex item 1
+ + + +
Flex item 3
+
+
+
+ +
+

Test 5: Chart in grid layout (grid item contribution)

+
+
Grid item 1
+ + + +
+
+
+ + + + diff --git a/dev/highcharts-zindex.html b/dev/highcharts-zindex.html new file mode 100644 index 0000000000..b4b680487f --- /dev/null +++ b/dev/highcharts-zindex.html @@ -0,0 +1,259 @@ + + + + + + + Chart Z-Index Test + + + + + + + + +

Chart Z-Index Test Cases

+

Testing z-index behavior with absolute positioned chart elements

+ +
+

Test 1: Chart with overlapping absolutely positioned sibling (top-left)

+
+ Expected: Orange overlay should appear ABOVE the chart (overlay has z-index: auto, chart uses absolute positioning internally) +
+
+ + + +
+ Overlay (no z-index)
+ Should be visible above chart +
+
+
+ +
+

Test 2: Chart with z-indexed overlay (bottom-right)

+
+ Expected: Blue overlay with z-index: 10 should appear above chart +
+
+ + + +
+ Overlay (z-index: 10)
+ Should be visible above chart +
+
+
+ +
+

Test 3: Chart behind overlay (negative chart z-index)

+
+ Expected: Chart with negative z-index should appear BELOW the overlay +
+
+ + + +
+ Overlay (z-index: auto)
+ Chart has z-index: -1
+ Overlay should be visible +
+
+
+ +
+

Test 4: Chart with CSS tooltip on hover

+
+ Expected: Hover tooltips should appear above chart. Try hovering near the chart edges. +
+
+ + + + +
+
+ +
+

Test 5: Chart with modal dialog

+
+ Expected: Modal should appear above chart when opened + +
+
+ + + +
+
+ + + +
+

Test 6: Stacking context test - multiple charts with overlays

+
+ Expected: Each chart should respect the stacking order of its overlays +
+
+
+ + + +
+ Overlay 1 +
+
+
+ + + +
+ Overlay 2 +
+
+
+
+ + + + From 798ee6007bb7ee3c3f7b9de5f42fbecbb21ab535 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 11:59:44 +0300 Subject: [PATCH 10/11] Use inline styles for wrapper and chart --- packages/charts/src/styles/vaadin-chart-base-styles.js | 8 -------- packages/charts/src/vaadin-chart.js | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/charts/src/styles/vaadin-chart-base-styles.js b/packages/charts/src/styles/vaadin-chart-base-styles.js index 17b7e13350..1282258f1a 100644 --- a/packages/charts/src/styles/vaadin-chart-base-styles.js +++ b/packages/charts/src/styles/vaadin-chart-base-styles.js @@ -1399,12 +1399,4 @@ export const chartStyles = css` :host([dir='rtl']) :where([styled-mode]) .highcharts-menu { box-shadow: -3px 3px 10px #888; } - - #wrapper { - position: relative; - } - - #chart { - position: absolute; - } `; diff --git a/packages/charts/src/vaadin-chart.js b/packages/charts/src/vaadin-chart.js index 9850238e72..484d731c44 100644 --- a/packages/charts/src/vaadin-chart.js +++ b/packages/charts/src/vaadin-chart.js @@ -178,8 +178,8 @@ class Chart extends ChartMixin(ThemableMixin(ElementMixin(PolylitMixin(LumoInjec /** @protected */ render() { return html` -
-
+
+
`; From 286180357428d494860b91b51bd06fdeee853263 Mon Sep 17 00:00:00 2001 From: Tomi Virkki Date: Thu, 23 Oct 2025 12:00:37 +0300 Subject: [PATCH 11/11] Remove temporary dev pages --- dev/chart-dashboard.html | 32 ---- dev/highcharts-parent-sizing.html | 162 ------------------- dev/highcharts-zindex.html | 259 ------------------------------ dev/highcharts.html | 34 ---- 4 files changed, 487 deletions(-) delete mode 100644 dev/chart-dashboard.html delete mode 100644 dev/highcharts-parent-sizing.html delete mode 100644 dev/highcharts-zindex.html delete mode 100644 dev/highcharts.html diff --git a/dev/chart-dashboard.html b/dev/chart-dashboard.html deleted file mode 100644 index de00a94b9e..0000000000 --- a/dev/chart-dashboard.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - Dashboard - - - - - - - - - - - - - - - - - - - - diff --git a/dev/highcharts-parent-sizing.html b/dev/highcharts-parent-sizing.html deleted file mode 100644 index 872aa41ea7..0000000000 --- a/dev/highcharts-parent-sizing.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - Chart Parent Sizing Test - - - - - - - - -

Chart Parent Sizing Test Cases

-

Testing whether charts with absolute positioning affect parent container sizing

- -
-

Test 1: Chart in auto-sized container (should the container expand to fit chart?)

-
- - - -
-
-
- -
-

Test 2: Chart with siblings (does chart contribute to parent height?)

-
-
Sibling above chart
- - - -
Sibling below chart
-
-
-
- -
-

Test 3: Multiple charts stacked vertically (do they stack properly?)

-
- - - - - - -
-
-
- -
-

Test 4: Chart in flex container (flex item contribution)

-
-
Flex item 1
- - - -
Flex item 3
-
-
-
- -
-

Test 5: Chart in grid layout (grid item contribution)

-
-
Grid item 1
- - - -
-
-
- - - - diff --git a/dev/highcharts-zindex.html b/dev/highcharts-zindex.html deleted file mode 100644 index b4b680487f..0000000000 --- a/dev/highcharts-zindex.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - Chart Z-Index Test - - - - - - - - -

Chart Z-Index Test Cases

-

Testing z-index behavior with absolute positioned chart elements

- -
-

Test 1: Chart with overlapping absolutely positioned sibling (top-left)

-
- Expected: Orange overlay should appear ABOVE the chart (overlay has z-index: auto, chart uses absolute positioning internally) -
-
- - - -
- Overlay (no z-index)
- Should be visible above chart -
-
-
- -
-

Test 2: Chart with z-indexed overlay (bottom-right)

-
- Expected: Blue overlay with z-index: 10 should appear above chart -
-
- - - -
- Overlay (z-index: 10)
- Should be visible above chart -
-
-
- -
-

Test 3: Chart behind overlay (negative chart z-index)

-
- Expected: Chart with negative z-index should appear BELOW the overlay -
-
- - - -
- Overlay (z-index: auto)
- Chart has z-index: -1
- Overlay should be visible -
-
-
- -
-

Test 4: Chart with CSS tooltip on hover

-
- Expected: Hover tooltips should appear above chart. Try hovering near the chart edges. -
-
- - - - -
-
- -
-

Test 5: Chart with modal dialog

-
- Expected: Modal should appear above chart when opened - -
-
- - - -
-
- - - -
-

Test 6: Stacking context test - multiple charts with overlays

-
- Expected: Each chart should respect the stacking order of its overlays -
-
-
- - - -
- Overlay 1 -
-
-
- - - -
- Overlay 2 -
-
-
-
- - - - diff --git a/dev/highcharts.html b/dev/highcharts.html deleted file mode 100644 index 2b7e642ff7..0000000000 --- a/dev/highcharts.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - Dashboard - - - - - - -
-
-
- - - - - - -
-
-
-
- -