From d00d4a107b7598806c1852cd2654cb678d2b5b2b Mon Sep 17 00:00:00 2001 From: nickofthyme Date: Sun, 23 Jun 2024 15:29:52 -0700 Subject: [PATCH 1/9] fix: outside rect annotation when used without groupId --- package.json | 2 +- .../xy_chart/annotations/rect/dimensions.ts | 145 ++++++++++++++---- .../xy_chart/state/utils/common.ts | 1 + .../chart_types/xy_chart/state/utils/spec.ts | 2 +- .../annotations/rects/6_zero_domain.story.tsx | 9 +- .../rects/7_with_group_id.story.tsx | 6 +- .../annotations/rects/8_outside.story.tsx | 74 +++++---- .../small_multiples/3_grid_lines.story.tsx | 1 + 8 files changed, 175 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 6f31a76268..312c69f2ac 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "lint:fix:it": "yarn lint:it --fix", "prettier:check": "prettier --check \"**/*.{json,html,css,scss}\"", "prettier:fix": "prettier --w \"**/*.{json,html,css,scss}\"", - "playground": "cd playground && RNG_SEED='elastic-charts' webpack serve", + "playground": "export NODE_OPTIONS=--openssl-legacy-provider; cd playground && RNG_SEED='elastic-charts' webpack serve", "pq": "pretty-quick", "semantic-release": "semantic-release --debug", "start": "yarn storybook", diff --git a/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts b/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts index c21f2a2822..aeda66f194 100644 --- a/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts +++ b/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts @@ -8,14 +8,17 @@ import { AnnotationRectProps } from './types'; import { getPanelSize, SmallMultipleScales } from '../../../../common/panel_utils'; +import { Rect } from '../../../../geoms/types'; import { ScaleBand, ScaleContinuous } from '../../../../scales'; import { isBandScale, isContinuousScale } from '../../../../scales/types'; import { isDefined, isNil, Position, Rotation } from '../../../../utils/common'; +import { Size } from '../../../../utils/dimensions'; import { AxisId, GroupId } from '../../../../utils/ids'; +import { Logger } from '../../../../utils/logger'; import { Point } from '../../../../utils/point'; import { AxisStyle } from '../../../../utils/themes/theme'; import { PrimitiveValue } from '../../../partition_chart/layout/utils/group_by_rollup'; -import { isHorizontalRotation, isVerticalRotation } from '../../state/utils/common'; +import { isHorizontalRotation } from '../../state/utils/common'; import { getAxesSpecForSpecId } from '../../state/utils/spec'; import { AxisSpec, RectAnnotationDatum, RectAnnotationSpec } from '../../utils/specs'; import { Bounds } from '../types'; @@ -40,7 +43,7 @@ export function computeRectAnnotationDimensions( isHistogram: boolean = false, ): AnnotationRectProps[] | null { const { dataValues, groupId, outside, id: annotationSpecId } = annotationSpec; - const { xAxis, yAxis } = getAxesSpecForSpecId(axesSpecs, groupId); + const { xAxis, yAxis } = getAxesSpecForSpecId(axesSpecs, groupId, chartRotation); const yScale = yScales.get(groupId); const rectsProps: Omit[] = []; const panelSize = getPanelSize(smallMultiplesScales); @@ -72,25 +75,19 @@ export function computeRectAnnotationDimensions( return; } + const hasYValues = isDefined(initialY0) || isDefined(initialY1); + const outsideDim = annotationSpec.outsideDimension ?? getOutsideDimension(getAxisStyle(xAxis?.id ?? yAxis?.id)); + if (!yScale) { - if (!isDefined(initialY0) && !isDefined(initialY1)) { - const isLeftSide = - (chartRotation === 0 && xAxis?.position === Position.Bottom) || - (chartRotation === 180 && xAxis?.position === Position.Top) || - (chartRotation === -90 && yAxis?.position === Position.Right) || - (chartRotation === 90 && yAxis?.position === Position.Left); - const orthoDimension = isHorizontalRotation(chartRotation) ? panelSize.height : panelSize.width; - const outsideDim = annotationSpec.outsideDimension ?? getOutsideDimension(getAxisStyle(xAxis?.id ?? yAxis?.id)); - const rectDimensions = { + if (!hasYValues) { + // only x values present, just fill full height of chart space + const rectDimensions: Rect = { ...xAndWidth, ...(outside - ? { - y: isLeftSide ? orthoDimension : -outsideDim, - height: outsideDim, - } + ? getXOutsideAnnotationDimensions(panelSize, chartRotation, xAxis?.position ?? 'bottom', outsideDim) : { y: 0, - height: orthoDimension, + height: isHorizontalRotation(chartRotation) ? panelSize.height : panelSize.width, }), }; rectsProps.push({ @@ -99,10 +96,36 @@ export function computeRectAnnotationDimensions( datum, }); } - return; + return; // cannot scale y values without a scale + } + + const hasXValues = isDefined(initialX0) || isDefined(initialX1); + + if (outside) { + if (hasXValues && hasYValues) { + Logger.warn( + `The RectAnnotation (${annotationSpecId}) was defined as outside but has both x and y values defined.`, + ); + return; + } + + if (hasXValues) { + const rectDimensions: Rect = { + ...xAndWidth, + ...getXOutsideAnnotationDimensions(panelSize, chartRotation, xAxis?.position ?? 'bottom', outsideDim), + }; + + rectsProps.push({ + specId: annotationSpecId, + rect: rectDimensions, + datum, + }); + return; + } } const [y0, y1] = limitValueToDomainRange(yScale, initialY0, initialY1); + // something is wrong with the data types, don't draw this annotation if (!Number.isFinite(y0) || !Number.isFinite(y1)) return; @@ -111,29 +134,19 @@ export function computeRectAnnotationDimensions( if (Number.isNaN(scaledY1) || Number.isNaN(scaledY0)) return; height = Math.abs(scaledY0 - scaledY1); - // if the annotation height is 0 override it with the height from chart dimension and if the values in the domain are the same + + // if the annotation height is 0, override it with the height from chart dimension and if the values in the domain are the same if (height === 0 && yScale.domain.length === 2 && yScale.domain[0] === yScale.domain[1]) { // eslint-disable-next-line prefer-destructuring height = panelSize.height; scaledY1 = 0; } - const orthoDimension = isVerticalRotation(chartRotation) ? panelSize.height : panelSize.width; - const isLeftSide = - (chartRotation === 0 && yAxis?.position === Position.Left) || - (chartRotation === 180 && yAxis?.position === Position.Right) || - (chartRotation === -90 && xAxis?.position === Position.Bottom) || - (chartRotation === 90 && xAxis?.position === Position.Top); - const outsideDim = annotationSpec.outsideDimension ?? getOutsideDimension(getAxisStyle(xAxis?.id ?? yAxis?.id)); - const rectDimensions = { - ...(!isDefined(initialX0) && !isDefined(initialX1) && outside - ? { - x: isLeftSide ? -outsideDim : orthoDimension, - width: outsideDim, - } - : xAndWidth), + const rectDimensions: Rect = { + ...xAndWidth, y: scaledY1, height, + ...(outside && getYOutsideAnnotationDimensions(panelSize, chartRotation, yAxis?.position ?? 'left', outsideDim)), }; rectsProps.push({ @@ -244,7 +257,7 @@ function maxOf(base: number, value: number | string | null | undefined): number } function getOutsideDimension({ tickLine: { visible, size } }: AxisStyle): number { - return visible ? size : 0; + return visible ? size : 1; } /** @@ -259,3 +272,69 @@ export function getAnnotationRectPropsId( ) { return [specId, verticalValue, horizontalValue, ...Object.values(datum.coordinates), datum.details, index].join('__'); } + +function getXOutsideAnnotationDimensions( + panelSize: Size, + rotation: Rotation, + axisPosition: Position, + thickness: number, +): Pick { + const { height, width } = panelSize; + + switch (axisPosition) { + case Position.Top: + return { + y: rotation === 180 ? height : rotation === 90 ? width : -thickness, + height: thickness, + }; + case Position.Bottom: + return { + y: rotation === 0 ? height : rotation === 90 ? width : -thickness, + height: thickness, + }; + case Position.Left: + return { + y: rotation === -90 ? -thickness : width, + height: thickness, + }; + case Position.Right: + default: + return { + y: rotation === -90 ? width : -thickness, + height: thickness, + }; + } +} + +function getYOutsideAnnotationDimensions( + panelSize: Size, + rotation: Rotation, + axisPosition: Position, + thickness: number, +): Pick { + const { height, width } = panelSize; + + switch (axisPosition) { + case Position.Left: + return { + x: rotation === 180 ? width : rotation === 90 ? height : -thickness, + width: thickness, + }; + case Position.Right: + return { + x: rotation === 0 ? width : rotation === 90 ? height : -thickness, + width: thickness, + }; + case Position.Top: + return { + x: rotation === -90 ? height : -thickness, + width: thickness, + }; + case Position.Bottom: + default: + return { + x: rotation === -90 ? -thickness : height, + width: thickness, + }; + } +} diff --git a/packages/charts/src/chart_types/xy_chart/state/utils/common.ts b/packages/charts/src/chart_types/xy_chart/state/utils/common.ts index c7bba3a114..66e39261ea 100644 --- a/packages/charts/src/chart_types/xy_chart/state/utils/common.ts +++ b/packages/charts/src/chart_types/xy_chart/state/utils/common.ts @@ -26,6 +26,7 @@ export function isHorizontalRotation(chartRotation: Rotation) { export function isVerticalRotation(chartRotation: Rotation) { return chartRotation === -90 || chartRotation === 90; } + /** * Check if a specs map contains only line or area specs * @param specs Map diff --git a/packages/charts/src/chart_types/xy_chart/state/utils/spec.ts b/packages/charts/src/chart_types/xy_chart/state/utils/spec.ts index 6995b45404..eddba3bd8b 100644 --- a/packages/charts/src/chart_types/xy_chart/state/utils/spec.ts +++ b/packages/charts/src/chart_types/xy_chart/state/utils/spec.ts @@ -18,7 +18,7 @@ export function getSpecsById(specs: T[], id: string): T | undefi } /** @internal */ -export function getAxesSpecForSpecId(axesSpecs: AxisSpec[], groupId: GroupId, chartRotation: Rotation = 0) { +export function getAxesSpecForSpecId(axesSpecs: AxisSpec[], groupId: GroupId, chartRotation: Rotation) { return axesSpecs.reduce<{ xAxis?: AxisSpec; yAxis?: AxisSpec }>((result, spec) => { if (spec.groupId === groupId && isXDomain(spec.position, chartRotation)) result.xAxis = spec; else if (spec.groupId === groupId && !isXDomain(spec.position, chartRotation)) result.yAxis = spec; diff --git a/storybook/stories/annotations/rects/6_zero_domain.story.tsx b/storybook/stories/annotations/rects/6_zero_domain.story.tsx index be88179ce5..303462f027 100644 --- a/storybook/stories/annotations/rects/6_zero_domain.story.tsx +++ b/storybook/stories/annotations/rects/6_zero_domain.story.tsx @@ -35,10 +35,17 @@ export const Example: ChartsStory = (_, { title, description }) => { const xAxisKnobs = getKnobs(); // only show the fit enable or disable if relevant const fit = xAxisKnobs.minY === xAxisKnobs.maxY ? boolean('fit to the domain', false) : undefined; + const outside = boolean('render outside', false); return ( - + { const enabled = boolean('enable annotation', true); @@ -35,6 +36,7 @@ const getKnobs = () => { x1, y0: yDefined ? number('y0', 0) : undefined, y1: yDefined ? number('y1', 3) : undefined, + outside: boolean('outside', false), }; }; export const Example: ChartsStory = (_, { title, description }) => { @@ -48,9 +50,11 @@ export const Example: ChartsStory = (_, { title, description }) => { id="x axis" dataValues={[{ coordinates: xAxisKnobs }]} style={{ fill: 'red' }} + outside={xAxisKnobs.outside} + outsideDimension={5} /> )} - + diff --git a/storybook/stories/annotations/rects/8_outside.story.tsx b/storybook/stories/annotations/rects/8_outside.story.tsx index 6feb8fc497..46ce61e537 100644 --- a/storybook/stories/annotations/rects/8_outside.story.tsx +++ b/storybook/stories/annotations/rects/8_outside.story.tsx @@ -21,6 +21,7 @@ const vGroups = { }; export const Example: ChartsStory = (_, { title, description }) => { + const useGroupIds = boolean('use groupIds', false, 'Annotations'); const debug = boolean('debug', false); const rotation = customKnobs.enum.rotation(); const tickSize = number('Tick size', 10, { min: 0, max: 20, step: 1 }); @@ -51,35 +52,52 @@ export const Example: ChartsStory = (_, { title, description }) => { baseTheme={useBaseTheme()} /> - - {!isVert && ( - + {useGroupIds && ( + <> + + {!isVert && ( + + )} + + {isVert && ( + + )} + )} - - {isVert && ( - + + {!useGroupIds && ( + <> + + + )} { outsideDimension={outsideDimension} /> { { /> Date: Sun, 23 Jun 2024 15:45:25 -0700 Subject: [PATCH 2/9] chore: render inside if both directions are provided --- .../chart_types/xy_chart/annotations/rect/dimensions.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts b/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts index aeda66f194..7a9560534d 100644 --- a/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts +++ b/packages/charts/src/chart_types/xy_chart/annotations/rect/dimensions.ts @@ -106,10 +106,7 @@ export function computeRectAnnotationDimensions( Logger.warn( `The RectAnnotation (${annotationSpecId}) was defined as outside but has both x and y values defined.`, ); - return; - } - - if (hasXValues) { + } else if (hasXValues) { const rectDimensions: Rect = { ...xAndWidth, ...getXOutsideAnnotationDimensions(panelSize, chartRotation, xAxis?.position ?? 'bottom', outsideDim), @@ -146,7 +143,9 @@ export function computeRectAnnotationDimensions( ...xAndWidth, y: scaledY1, height, - ...(outside && getYOutsideAnnotationDimensions(panelSize, chartRotation, yAxis?.position ?? 'left', outsideDim)), + ...(outside && + !(hasXValues && hasYValues) && + getYOutsideAnnotationDimensions(panelSize, chartRotation, yAxis?.position ?? 'left', outsideDim)), }; rectsProps.push({ From c9c9740fb6e7ce96d86f81ae17fc2e7bcf060343 Mon Sep 17 00:00:00 2001 From: nickofthyme Date: Sun, 23 Jun 2024 16:22:57 -0700 Subject: [PATCH 3/9] chore: update story defaults --- e2e/tests/annotations_stories.test.ts | 6 ++++++ storybook/stories/annotations/rects/8_outside.story.tsx | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/e2e/tests/annotations_stories.test.ts b/e2e/tests/annotations_stories.test.ts index 78739614af..72bea7577d 100644 --- a/e2e/tests/annotations_stories.test.ts +++ b/e2e/tests/annotations_stories.test.ts @@ -195,5 +195,11 @@ test.describe('Annotations stories', () => { 'http://localhost:9001/?path=/story/annotations-rects--outside&knob-debug=&knob-chartRotation=0&knob-Tick size=10&knob-Hide all axes=true&knob-Domain axis_Annotations=x&knob-Render outside chart_Annotations=true&knob-Outside dimension_Annotations=5&knob-Red groupId_Annotations=primary&knob-Blue groupId_Annotations=secondary', ); }); + + test('should render outside annotations with no groupIds', async ({ page }) => { + await common.expectChartAtUrlToMatchScreenshot(page)( + 'http://localhost:9001/?path=/story/annotations-rects--outside&globals=toggles.showHeader:true;toggles.showChartTitle:false;toggles.showChartDescription:false;toggles.showChartBoundary:false;theme:light&knob-disable isolated point styles=true&knob-isolatedPoint.stroke - series level=orange&knob-isolatedPoint.stroke - theme level=green&knob-point.stroke - series level=blue&knob-point.stroke - theme level=red&knob-series type=line&knob-stroke - pointStyleAccessor=black&knob-use series iso overrides=true&knob-use series overrides=true&knob-use groupIds_Annotations=&knob-debug=&knob-chartRotation=0&knob-Tick size=10&knob-Hide all axes=&knob-Domain axis_Annotations=x&knob-Render outside chart_Annotations=true&knob-Outside dimension_Annotations=5&knob-Red groupId_Annotations=primary&knob-Blue groupId_Annotations=secondary', + ); + }); }); }); diff --git a/storybook/stories/annotations/rects/8_outside.story.tsx b/storybook/stories/annotations/rects/8_outside.story.tsx index 46ce61e537..5ffd92d9da 100644 --- a/storybook/stories/annotations/rects/8_outside.story.tsx +++ b/storybook/stories/annotations/rects/8_outside.story.tsx @@ -21,7 +21,7 @@ const vGroups = { }; export const Example: ChartsStory = (_, { title, description }) => { - const useGroupIds = boolean('use groupIds', false, 'Annotations'); + const useGroupIds = boolean('use groupIds', true, 'Annotations'); const debug = boolean('debug', false); const rotation = customKnobs.enum.rotation(); const tickSize = number('Tick size', 10, { min: 0, max: 20, step: 1 }); From d8b80ee0d4f088a6f82b1985c27b1451470efeff Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Sun, 23 Jun 2024 18:32:45 -0700 Subject: [PATCH 4/9] fix: eslint errors --- storybook/stories/annotations/rects/8_outside.story.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storybook/stories/annotations/rects/8_outside.story.tsx b/storybook/stories/annotations/rects/8_outside.story.tsx index 5ffd92d9da..d8a4ffabc8 100644 --- a/storybook/stories/annotations/rects/8_outside.story.tsx +++ b/storybook/stories/annotations/rects/8_outside.story.tsx @@ -9,7 +9,7 @@ import { boolean, number, select } from '@storybook/addon-knobs'; import React from 'react'; -import { Axis, Chart, LineSeries, Position, RectAnnotation, ScaleType, Settings } from '@elastic/charts'; +import { Axis, Chart, LineSeries, Position, ScaleType, Settings } from '@elastic/charts'; import { ChartsStory } from '../../../types'; import { useBaseTheme } from '../../../use_base_theme'; From 3bf8f06981dad2e751ef0bb94e6c2276c381d823 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Sun, 23 Jun 2024 18:33:38 -0700 Subject: [PATCH 5/9] fix: type errors --- storybook/stories/annotations/rects/8_outside.story.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storybook/stories/annotations/rects/8_outside.story.tsx b/storybook/stories/annotations/rects/8_outside.story.tsx index d8a4ffabc8..9470a7c47f 100644 --- a/storybook/stories/annotations/rects/8_outside.story.tsx +++ b/storybook/stories/annotations/rects/8_outside.story.tsx @@ -9,7 +9,7 @@ import { boolean, number, select } from '@storybook/addon-knobs'; import React from 'react'; -import { Axis, Chart, LineSeries, Position, ScaleType, Settings } from '@elastic/charts'; +import { Axis, Chart, LineSeries, Position, ScaleType, RectAnnotation, Settings } from '@elastic/charts'; import { ChartsStory } from '../../../types'; import { useBaseTheme } from '../../../use_base_theme'; From 2584aa891d0102af266a2637652a0135cb488bb0 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Sun, 23 Jun 2024 18:34:00 -0700 Subject: [PATCH 6/9] fix: eslint errors --- storybook/stories/small_multiples/3_grid_lines.story.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/storybook/stories/small_multiples/3_grid_lines.story.tsx b/storybook/stories/small_multiples/3_grid_lines.story.tsx index 75d299d992..5c8b5f8ca4 100644 --- a/storybook/stories/small_multiples/3_grid_lines.story.tsx +++ b/storybook/stories/small_multiples/3_grid_lines.story.tsx @@ -25,7 +25,6 @@ import { timeFormatter, AxisSpec, XYBrushEvent, - RectAnnotation, } from '@elastic/charts'; import { isVerticalAxis } from '@elastic/charts/src/chart_types/xy_chart/utils/axis_type_utils'; import { SeededDataGenerator } from '@elastic/charts/src/mocks/utils'; From f2e14c19c9354a0b06c8e5c3c407e016577967eb Mon Sep 17 00:00:00 2001 From: "elastic-datavis[bot]" <98618603+elastic-datavis[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 01:51:11 +0000 Subject: [PATCH 7/9] test(vrt): update screenshots [skip ci] --- ...notations-with-no-group-ids-chrome-linux.png | Bin 0 -> 24647 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/outside-annotations/should-render-outside-annotations-with-no-group-ids-chrome-linux.png diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/outside-annotations/should-render-outside-annotations-with-no-group-ids-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/outside-annotations/should-render-outside-annotations-with-no-group-ids-chrome-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..3044f2226fff6c8330451b03d1f17bce73ac0a7d GIT binary patch literal 24647 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 literal 0 HcmV?d00001 From 15397b6f2ce7572578dc6bdba716348b9b73fb12 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Sun, 23 Jun 2024 21:56:02 -0700 Subject: [PATCH 8/9] chore: update e2e test options --- e2e/tests/annotations_stories.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/tests/annotations_stories.test.ts b/e2e/tests/annotations_stories.test.ts index 72bea7577d..7b2edc5a58 100644 --- a/e2e/tests/annotations_stories.test.ts +++ b/e2e/tests/annotations_stories.test.ts @@ -198,7 +198,7 @@ test.describe('Annotations stories', () => { test('should render outside annotations with no groupIds', async ({ page }) => { await common.expectChartAtUrlToMatchScreenshot(page)( - 'http://localhost:9001/?path=/story/annotations-rects--outside&globals=toggles.showHeader:true;toggles.showChartTitle:false;toggles.showChartDescription:false;toggles.showChartBoundary:false;theme:light&knob-disable isolated point styles=true&knob-isolatedPoint.stroke - series level=orange&knob-isolatedPoint.stroke - theme level=green&knob-point.stroke - series level=blue&knob-point.stroke - theme level=red&knob-series type=line&knob-stroke - pointStyleAccessor=black&knob-use series iso overrides=true&knob-use series overrides=true&knob-use groupIds_Annotations=&knob-debug=&knob-chartRotation=0&knob-Tick size=10&knob-Hide all axes=&knob-Domain axis_Annotations=x&knob-Render outside chart_Annotations=true&knob-Outside dimension_Annotations=5&knob-Red groupId_Annotations=primary&knob-Blue groupId_Annotations=secondary', + 'http://localhost:9001/?path=/story/annotations-rects--outside&globals=toggles.showHeader:true;toggles.showChartTitle:false;toggles.showChartDescription:false;toggles.showChartBoundary:false;theme:light&knob-disable isolated point styles=true&knob-isolatedPoint.stroke - series level=orange&knob-isolatedPoint.stroke - theme level=green&knob-point.stroke - series level=blue&knob-point.stroke - theme level=red&knob-series type=line&knob-stroke - pointStyleAccessor=black&knob-use series iso overrides=true&knob-use series overrides=true&knob-use groupIds_Annotations=false&knob-debug=&knob-chartRotation=0&knob-Tick size=10&knob-Hide all axes=&knob-Domain axis_Annotations=x&knob-Render outside chart_Annotations=true&knob-Outside dimension_Annotations=5&knob-Red groupId_Annotations=primary&knob-Blue groupId_Annotations=secondary', ); }); }); From c54900310ee9933ace4481a42ae703f6f18bd615 Mon Sep 17 00:00:00 2001 From: "elastic-datavis[bot]" <98618603+elastic-datavis[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:15:43 +0000 Subject: [PATCH 9/9] test(vrt): update screenshots [skip ci] --- ...tations-with-no-group-ids-chrome-linux.png | Bin 24647 -> 21640 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/outside-annotations/should-render-outside-annotations-with-no-group-ids-chrome-linux.png b/e2e/screenshots/annotations_stories.test.ts-snapshots/annotations-stories/outside-annotations/should-render-outside-annotations-with-no-group-ids-chrome-linux.png index 3044f2226fff6c8330451b03d1f17bce73ac0a7d..7da2b7c10df8d21777338dd61ef2c86587204435 100644 GIT binary patch literal 21640 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 literal 24647 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