@fluentui/react-charts 9.3.21 → 9.74.3-experimental.esm.20260709-49ee7a20cf.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -2
- package/package.json +15 -17
- package/dist/index.d.ts +0 -5724
- package/lib/AnnotationOnlyChart.js +0 -1
- package/lib/AnnotationOnlyChart.js.map +0 -1
- package/lib/AreaChart.js +0 -1
- package/lib/AreaChart.js.map +0 -1
- package/lib/CartesianChart.js +0 -1
- package/lib/CartesianChart.js.map +0 -1
- package/lib/ChartTable.js +0 -1
- package/lib/ChartTable.js.map +0 -1
- package/lib/DeclarativeChart.js +0 -1
- package/lib/DeclarativeChart.js.map +0 -1
- package/lib/DonutChart.js +0 -1
- package/lib/DonutChart.js.map +0 -1
- package/lib/FunnelChart.js +0 -1
- package/lib/FunnelChart.js.map +0 -1
- package/lib/GanttChart.js +0 -1
- package/lib/GanttChart.js.map +0 -1
- package/lib/GaugeChart.js +0 -1
- package/lib/GaugeChart.js.map +0 -1
- package/lib/GroupedVerticalBarChart.js +0 -1
- package/lib/GroupedVerticalBarChart.js.map +0 -1
- package/lib/HeatMapChart.js +0 -1
- package/lib/HeatMapChart.js.map +0 -1
- package/lib/HorizontalBarChart.js +0 -1
- package/lib/HorizontalBarChart.js.map +0 -1
- package/lib/HorizontalBarChartWithAxis.js +0 -1
- package/lib/HorizontalBarChartWithAxis.js.map +0 -1
- package/lib/Legends.js +0 -1
- package/lib/Legends.js.map +0 -1
- package/lib/LineChart.js +0 -1
- package/lib/LineChart.js.map +0 -1
- package/lib/PolarChart.js +0 -1
- package/lib/PolarChart.js.map +0 -1
- package/lib/Popover.js +0 -1
- package/lib/Popover.js.map +0 -1
- package/lib/ResponsiveContainer.js +0 -1
- package/lib/ResponsiveContainer.js.map +0 -1
- package/lib/SankeyChart.js +0 -1
- package/lib/SankeyChart.js.map +0 -1
- package/lib/ScatterChart.js +0 -1
- package/lib/ScatterChart.js.map +0 -1
- package/lib/Sparkline.js +0 -1
- package/lib/Sparkline.js.map +0 -1
- package/lib/VegaDeclarativeChart.js +0 -1
- package/lib/VegaDeclarativeChart.js.map +0 -1
- package/lib/VerticalBarChart.js +0 -1
- package/lib/VerticalBarChart.js.map +0 -1
- package/lib/VerticalStackedBarChart.js +0 -1
- package/lib/VerticalStackedBarChart.js.map +0 -1
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +0 -196
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +0 -1
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js +0 -3
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js.map +0 -1
- package/lib/components/AnnotationOnlyChart/index.js +0 -2
- package/lib/components/AnnotationOnlyChart/index.js.map +0 -1
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +0 -33
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +0 -1
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +0 -24
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js.map +0 -1
- package/lib/components/AreaChart/AreaChart.js +0 -932
- package/lib/components/AreaChart/AreaChart.js.map +0 -1
- package/lib/components/AreaChart/AreaChart.types.js +0 -4
- package/lib/components/AreaChart/AreaChart.types.js.map +0 -1
- package/lib/components/AreaChart/index.js +0 -3
- package/lib/components/AreaChart/index.js.map +0 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.js +0 -63
- package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +0 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +0 -33
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +0 -1
- package/lib/components/ChartTable/ChartTable.js +0 -160
- package/lib/components/ChartTable/ChartTable.js.map +0 -1
- package/lib/components/ChartTable/ChartTable.types.js +0 -4
- package/lib/components/ChartTable/ChartTable.types.js.map +0 -1
- package/lib/components/ChartTable/index.js +0 -3
- package/lib/components/ChartTable/index.js.map +0 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.js +0 -136
- package/lib/components/ChartTable/useChartTableStyles.styles.js.map +0 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +0 -68
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +0 -1
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +0 -659
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +0 -1
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js +0 -1
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +0 -1
- package/lib/components/CommonComponents/Annotations/index.js +0 -2
- package/lib/components/CommonComponents/Annotations/index.js.map +0 -1
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +0 -223
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +0 -1
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +0 -139
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +0 -1
- package/lib/components/CommonComponents/CartesianChart.js +0 -665
- package/lib/components/CommonComponents/CartesianChart.js.map +0 -1
- package/lib/components/CommonComponents/CartesianChart.types.js +0 -2
- package/lib/components/CommonComponents/CartesianChart.types.js.map +0 -1
- package/lib/components/CommonComponents/ChartPopover.js +0 -197
- package/lib/components/CommonComponents/ChartPopover.js.map +0 -1
- package/lib/components/CommonComponents/ChartPopover.types.js +0 -1
- package/lib/components/CommonComponents/ChartPopover.types.js.map +0 -1
- package/lib/components/CommonComponents/index.js +0 -6
- package/lib/components/CommonComponents/index.js.map +0 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +0 -189
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +0 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +0 -131
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +0 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +0 -171
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +0 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +0 -127
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +0 -1
- package/lib/components/DeclarativeChart/DeclarativeChart.js +0 -397
- package/lib/components/DeclarativeChart/DeclarativeChart.js.map +0 -1
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +0 -163
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +0 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +0 -3490
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +0 -1
- package/lib/components/DeclarativeChart/index.js +0 -1
- package/lib/components/DeclarativeChart/index.js.map +0 -1
- package/lib/components/DonutChart/Arc/Arc.js +0 -118
- package/lib/components/DonutChart/Arc/Arc.js.map +0 -1
- package/lib/components/DonutChart/Arc/Arc.types.js +0 -1
- package/lib/components/DonutChart/Arc/Arc.types.js.map +0 -1
- package/lib/components/DonutChart/Arc/index.js +0 -2
- package/lib/components/DonutChart/Arc/index.js.map +0 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js +0 -80
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +0 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +0 -49
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +0 -1
- package/lib/components/DonutChart/DonutChart.js +0 -349
- package/lib/components/DonutChart/DonutChart.js.map +0 -1
- package/lib/components/DonutChart/DonutChart.types.js +0 -4
- package/lib/components/DonutChart/DonutChart.types.js.map +0 -1
- package/lib/components/DonutChart/Pie/Pie.js +0 -72
- package/lib/components/DonutChart/Pie/Pie.js.map +0 -1
- package/lib/components/DonutChart/Pie/Pie.types.js +0 -1
- package/lib/components/DonutChart/Pie/Pie.types.js.map +0 -1
- package/lib/components/DonutChart/Pie/index.js +0 -2
- package/lib/components/DonutChart/Pie/index.js.map +0 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js +0 -41
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +0 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +0 -30
- package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +0 -1
- package/lib/components/DonutChart/index.js +0 -3
- package/lib/components/DonutChart/index.js.map +0 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.js +0 -98
- package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +0 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +0 -62
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +0 -1
- package/lib/components/FunnelChart/FunnelChart.js +0 -401
- package/lib/components/FunnelChart/FunnelChart.js.map +0 -1
- package/lib/components/FunnelChart/FunnelChart.types.js +0 -4
- package/lib/components/FunnelChart/FunnelChart.types.js.map +0 -1
- package/lib/components/FunnelChart/funnelGeometry.js +0 -219
- package/lib/components/FunnelChart/funnelGeometry.js.map +0 -1
- package/lib/components/FunnelChart/index.js +0 -2
- package/lib/components/FunnelChart/index.js.map +0 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +0 -83
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +0 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +0 -65
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +0 -1
- package/lib/components/GanttChart/GanttChart.js +0 -535
- package/lib/components/GanttChart/GanttChart.js.map +0 -1
- package/lib/components/GanttChart/GanttChart.types.js +0 -4
- package/lib/components/GanttChart/GanttChart.types.js.map +0 -1
- package/lib/components/GanttChart/index.js +0 -2
- package/lib/components/GanttChart/index.js.map +0 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.js +0 -27
- package/lib/components/GanttChart/useGanttChartStyles.styles.js.map +0 -1
- package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js +0 -26
- package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js.map +0 -1
- package/lib/components/GaugeChart/GaugeChart.js +0 -568
- package/lib/components/GaugeChart/GaugeChart.js.map +0 -1
- package/lib/components/GaugeChart/GaugeChart.types.js +0 -4
- package/lib/components/GaugeChart/GaugeChart.types.js.map +0 -1
- package/lib/components/GaugeChart/index.js +0 -3
- package/lib/components/GaugeChart/index.js.map +0 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +0 -197
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +0 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +0 -149
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +0 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +0 -813
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +0 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +0 -4
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +0 -1
- package/lib/components/GroupedVerticalBarChart/index.js +0 -3
- package/lib/components/GroupedVerticalBarChart/index.js.map +0 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +0 -77
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +0 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +0 -40
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +0 -1
- package/lib/components/HeatMapChart/HeatMapChart.js +0 -677
- package/lib/components/HeatMapChart/HeatMapChart.js.map +0 -1
- package/lib/components/HeatMapChart/HeatMapChart.types.js +0 -4
- package/lib/components/HeatMapChart/HeatMapChart.types.js.map +0 -1
- package/lib/components/HeatMapChart/index.js +0 -3
- package/lib/components/HeatMapChart/index.js.map +0 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +0 -48
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +0 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +0 -42
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +0 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js +0 -411
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +0 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js +0 -7
- package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +0 -1
- package/lib/components/HorizontalBarChart/index.js +0 -3
- package/lib/components/HorizontalBarChart/index.js.map +0 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +0 -175
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +0 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +0 -125
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +0 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +0 -720
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +0 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +0 -4
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +0 -1
- package/lib/components/HorizontalBarChartWithAxis/index.js +0 -3
- package/lib/components/HorizontalBarChartWithAxis/index.js.map +0 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +0 -62
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +0 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +0 -54
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +0 -1
- package/lib/components/Legends/Legends.js +0 -323
- package/lib/components/Legends/Legends.js.map +0 -1
- package/lib/components/Legends/Legends.types.js +0 -3
- package/lib/components/Legends/Legends.types.js.map +0 -1
- package/lib/components/Legends/OverflowMenu.js +0 -33
- package/lib/components/Legends/OverflowMenu.js.map +0 -1
- package/lib/components/Legends/index.js +0 -3
- package/lib/components/Legends/index.js.map +0 -1
- package/lib/components/Legends/shape.js +0 -36
- package/lib/components/Legends/shape.js.map +0 -1
- package/lib/components/Legends/useLegendsStyles.styles.js +0 -262
- package/lib/components/Legends/useLegendsStyles.styles.js.map +0 -1
- package/lib/components/Legends/useLegendsStyles.styles.raw.js +0 -142
- package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +0 -1
- package/lib/components/LineChart/LineChart.js +0 -1332
- package/lib/components/LineChart/LineChart.js.map +0 -1
- package/lib/components/LineChart/LineChart.types.js +0 -3
- package/lib/components/LineChart/LineChart.types.js.map +0 -1
- package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +0 -118
- package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +0 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js +0 -59
- package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +0 -1
- package/lib/components/LineChart/eventAnnotation/Textbox.js +0 -42
- package/lib/components/LineChart/eventAnnotation/Textbox.js.map +0 -1
- package/lib/components/LineChart/index.js +0 -4
- package/lib/components/LineChart/index.js.map +0 -1
- package/lib/components/LineChart/useLineChartStyles.styles.js +0 -93
- package/lib/components/LineChart/useLineChartStyles.styles.js.map +0 -1
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js +0 -50
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +0 -1
- package/lib/components/PolarChart/PolarChart.js +0 -577
- package/lib/components/PolarChart/PolarChart.js.map +0 -1
- package/lib/components/PolarChart/PolarChart.types.js +0 -4
- package/lib/components/PolarChart/PolarChart.types.js.map +0 -1
- package/lib/components/PolarChart/PolarChart.utils.js +0 -174
- package/lib/components/PolarChart/PolarChart.utils.js.map +0 -1
- package/lib/components/PolarChart/index.js +0 -2
- package/lib/components/PolarChart/index.js.map +0 -1
- package/lib/components/PolarChart/usePolarChartStyles.styles.js +0 -72
- package/lib/components/PolarChart/usePolarChartStyles.styles.js.map +0 -1
- package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js +0 -61
- package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js.map +0 -1
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js +0 -99
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +0 -1
- package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js +0 -4
- package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +0 -1
- package/lib/components/ResponsiveContainer/index.js +0 -3
- package/lib/components/ResponsiveContainer/index.js.map +0 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +0 -30
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +0 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +0 -29
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +0 -1
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js +0 -20
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +0 -1
- package/lib/components/SankeyChart/SankeyChart.js +0 -1026
- package/lib/components/SankeyChart/SankeyChart.js.map +0 -1
- package/lib/components/SankeyChart/SankeyChart.types.js +0 -3
- package/lib/components/SankeyChart/SankeyChart.types.js.map +0 -1
- package/lib/components/SankeyChart/index.js +0 -3
- package/lib/components/SankeyChart/index.js.map +0 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +0 -123
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +0 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +0 -79
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +0 -1
- package/lib/components/ScatterChart/ScatterChart.js +0 -544
- package/lib/components/ScatterChart/ScatterChart.js.map +0 -1
- package/lib/components/ScatterChart/ScatterChart.types.js +0 -4
- package/lib/components/ScatterChart/ScatterChart.types.js.map +0 -1
- package/lib/components/ScatterChart/index.js +0 -3
- package/lib/components/ScatterChart/index.js.map +0 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js +0 -84
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +0 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +0 -41
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +0 -1
- package/lib/components/Sparkline/Sparkline.js +0 -123
- package/lib/components/Sparkline/Sparkline.js.map +0 -1
- package/lib/components/Sparkline/Sparkline.types.js +0 -4
- package/lib/components/Sparkline/Sparkline.types.js.map +0 -1
- package/lib/components/Sparkline/index.js +0 -3
- package/lib/components/Sparkline/index.js.map +0 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.js +0 -40
- package/lib/components/Sparkline/useSparklineStyles.styles.js.map +0 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +0 -31
- package/lib/components/Sparkline/useSparklineStyles.styles.raw.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js +0 -405
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js +0 -20
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js +0 -415
- package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaLiteExpressionEvaluator.js +0 -537
- package/lib/components/VegaDeclarativeChart/VegaLiteExpressionEvaluator.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js +0 -3279
- package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/VegaLiteTypes.js +0 -28
- package/lib/components/VegaDeclarativeChart/VegaLiteTypes.js.map +0 -1
- package/lib/components/VegaDeclarativeChart/index.js +0 -1
- package/lib/components/VegaDeclarativeChart/index.js.map +0 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js +0 -930
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.types.js +0 -4
- package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +0 -1
- package/lib/components/VerticalBarChart/index.js +0 -3
- package/lib/components/VerticalBarChart/index.js.map +0 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +0 -86
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +0 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +0 -48
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +0 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +0 -1077
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +0 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +0 -4
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +0 -1
- package/lib/components/VerticalStackedBarChart/index.js +0 -3
- package/lib/components/VerticalStackedBarChart/index.js.map +0 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +0 -74
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +0 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +0 -38
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +0 -1
- package/lib/index.js +0 -26
- package/lib/index.js.map +0 -1
- package/lib/types/ChartAnnotation.js +0 -1
- package/lib/types/ChartAnnotation.js.map +0 -1
- package/lib/types/DataPoint.js +0 -3
- package/lib/types/DataPoint.js.map +0 -1
- package/lib/types/EventAnnotation.js +0 -1
- package/lib/types/EventAnnotation.js.map +0 -1
- package/lib/types/LegendDataItem.js +0 -1
- package/lib/types/LegendDataItem.js.map +0 -1
- package/lib/types/index.js +0 -3
- package/lib/types/index.js.map +0 -1
- package/lib/utilities/ChartTitle.js +0 -45
- package/lib/utilities/ChartTitle.js.map +0 -1
- package/lib/utilities/Common.styles.js +0 -117
- package/lib/utilities/Common.styles.js.map +0 -1
- package/lib/utilities/Common.styles.raw.js +0 -115
- package/lib/utilities/Common.styles.raw.js.map +0 -1
- package/lib/utilities/FocusableTooltipText.js +0 -65
- package/lib/utilities/FocusableTooltipText.js.map +0 -1
- package/lib/utilities/KeyCodes.js +0 -11
- package/lib/utilities/KeyCodes.js.map +0 -1
- package/lib/utilities/SVGTooltipText.js +0 -179
- package/lib/utilities/SVGTooltipText.js.map +0 -1
- package/lib/utilities/async-utils.js +0 -380
- package/lib/utilities/async-utils.js.map +0 -1
- package/lib/utilities/colors.js +0 -281
- package/lib/utilities/colors.js.map +0 -1
- package/lib/utilities/getWindow.js +0 -25
- package/lib/utilities/getWindow.js.map +0 -1
- package/lib/utilities/hooks.js +0 -34
- package/lib/utilities/hooks.js.map +0 -1
- package/lib/utilities/image-export-utils.js +0 -405
- package/lib/utilities/image-export-utils.js.map +0 -1
- package/lib/utilities/index.js +0 -5
- package/lib/utilities/index.js.map +0 -1
- package/lib/utilities/overflow-utils.js +0 -27
- package/lib/utilities/overflow-utils.js.map +0 -1
- package/lib/utilities/scatterpolar-utils.js +0 -52
- package/lib/utilities/scatterpolar-utils.js.map +0 -1
- package/lib/utilities/string.js +0 -32
- package/lib/utilities/string.js.map +0 -1
- package/lib/utilities/test-data.js +0 -565
- package/lib/utilities/test-data.js.map +0 -1
- package/lib/utilities/utilities.js +0 -1990
- package/lib/utilities/utilities.js.map +0 -1
- package/lib/utilities/vbc-utils.js +0 -51
- package/lib/utilities/vbc-utils.js.map +0 -1
- package/lib-commonjs/AnnotationOnlyChart.js +0 -6
- package/lib-commonjs/AnnotationOnlyChart.js.map +0 -1
- package/lib-commonjs/AreaChart.js +0 -6
- package/lib-commonjs/AreaChart.js.map +0 -1
- package/lib-commonjs/CartesianChart.js +0 -6
- package/lib-commonjs/CartesianChart.js.map +0 -1
- package/lib-commonjs/ChartTable.js +0 -6
- package/lib-commonjs/ChartTable.js.map +0 -1
- package/lib-commonjs/DeclarativeChart.js +0 -6
- package/lib-commonjs/DeclarativeChart.js.map +0 -1
- package/lib-commonjs/DonutChart.js +0 -6
- package/lib-commonjs/DonutChart.js.map +0 -1
- package/lib-commonjs/FunnelChart.js +0 -6
- package/lib-commonjs/FunnelChart.js.map +0 -1
- package/lib-commonjs/GanttChart.js +0 -6
- package/lib-commonjs/GanttChart.js.map +0 -1
- package/lib-commonjs/GaugeChart.js +0 -6
- package/lib-commonjs/GaugeChart.js.map +0 -1
- package/lib-commonjs/GroupedVerticalBarChart.js +0 -6
- package/lib-commonjs/GroupedVerticalBarChart.js.map +0 -1
- package/lib-commonjs/HeatMapChart.js +0 -6
- package/lib-commonjs/HeatMapChart.js.map +0 -1
- package/lib-commonjs/HorizontalBarChart.js +0 -6
- package/lib-commonjs/HorizontalBarChart.js.map +0 -1
- package/lib-commonjs/HorizontalBarChartWithAxis.js +0 -6
- package/lib-commonjs/HorizontalBarChartWithAxis.js.map +0 -1
- package/lib-commonjs/Legends.js +0 -6
- package/lib-commonjs/Legends.js.map +0 -1
- package/lib-commonjs/LineChart.js +0 -6
- package/lib-commonjs/LineChart.js.map +0 -1
- package/lib-commonjs/PolarChart.js +0 -6
- package/lib-commonjs/PolarChart.js.map +0 -1
- package/lib-commonjs/Popover.js +0 -6
- package/lib-commonjs/Popover.js.map +0 -1
- package/lib-commonjs/ResponsiveContainer.js +0 -6
- package/lib-commonjs/ResponsiveContainer.js.map +0 -1
- package/lib-commonjs/SankeyChart.js +0 -6
- package/lib-commonjs/SankeyChart.js.map +0 -1
- package/lib-commonjs/ScatterChart.js +0 -6
- package/lib-commonjs/ScatterChart.js.map +0 -1
- package/lib-commonjs/Sparkline.js +0 -6
- package/lib-commonjs/Sparkline.js.map +0 -1
- package/lib-commonjs/VegaDeclarativeChart.js +0 -6
- package/lib-commonjs/VegaDeclarativeChart.js.map +0 -1
- package/lib-commonjs/VerticalBarChart.js +0 -6
- package/lib-commonjs/VerticalBarChart.js.map +0 -1
- package/lib-commonjs/VerticalStackedBarChart.js +0 -6
- package/lib-commonjs/VerticalStackedBarChart.js.map +0 -1
- package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js +0 -207
- package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +0 -1
- package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js +0 -6
- package/lib-commonjs/components/AnnotationOnlyChart/AnnotationOnlyChart.types.js.map +0 -1
- package/lib-commonjs/components/AnnotationOnlyChart/index.js +0 -7
- package/lib-commonjs/components/AnnotationOnlyChart/index.js.map +0 -1
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +0 -57
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +0 -34
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/AreaChart/AreaChart.js +0 -938
- package/lib-commonjs/components/AreaChart/AreaChart.js.map +0 -1
- package/lib-commonjs/components/AreaChart/AreaChart.types.js +0 -7
- package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +0 -1
- package/lib-commonjs/components/AreaChart/index.js +0 -8
- package/lib-commonjs/components/AreaChart/index.js.map +0 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +0 -96
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +0 -49
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/ChartTable/ChartTable.js +0 -171
- package/lib-commonjs/components/ChartTable/ChartTable.js.map +0 -1
- package/lib-commonjs/components/ChartTable/ChartTable.types.js +0 -7
- package/lib-commonjs/components/ChartTable/ChartTable.types.js.map +0 -1
- package/lib-commonjs/components/ChartTable/index.js +0 -8
- package/lib-commonjs/components/ChartTable/index.js.map +0 -1
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js +0 -200
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js +0 -82
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js +0 -670
- package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js +0 -4
- package/lib-commonjs/components/CommonComponents/Annotations/ChartAnnotationLayer.types.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/index.js +0 -7
- package/lib-commonjs/components/CommonComponents/Annotations/index.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +0 -325
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +0 -174
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js +0 -673
- package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js +0 -5
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/ChartPopover.js +0 -207
- package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/ChartPopover.types.js +0 -4
- package/lib-commonjs/components/CommonComponents/ChartPopover.types.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/index.js +0 -11
- package/lib-commonjs/components/CommonComponents/index.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +0 -268
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +0 -144
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +0 -238
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js +0 -141
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +0 -400
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +0 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +0 -195
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +0 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +0 -3577
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +0 -1
- package/lib-commonjs/components/DeclarativeChart/index.js +0 -6
- package/lib-commonjs/components/DeclarativeChart/index.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js +0 -125
- package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.types.js +0 -4
- package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/index.js +0 -7
- package/lib-commonjs/components/DonutChart/Arc/index.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +0 -110
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +0 -63
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/DonutChart/DonutChart.js +0 -356
- package/lib-commonjs/components/DonutChart/DonutChart.js.map +0 -1
- package/lib-commonjs/components/DonutChart/DonutChart.types.js +0 -7
- package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js +0 -79
- package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.types.js +0 -4
- package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/index.js +0 -7
- package/lib-commonjs/components/DonutChart/Pie/index.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +0 -55
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js +0 -44
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/DonutChart/index.js +0 -8
- package/lib-commonjs/components/DonutChart/index.js.map +0 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +0 -145
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +0 -76
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/FunnelChart.js +0 -412
- package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/FunnelChart.types.js +0 -7
- package/lib-commonjs/components/FunnelChart/FunnelChart.types.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/funnelGeometry.js +0 -246
- package/lib-commonjs/components/FunnelChart/funnelGeometry.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/index.js +0 -7
- package/lib-commonjs/components/FunnelChart/index.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js +0 -118
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js +0 -79
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/GanttChart/GanttChart.js +0 -546
- package/lib-commonjs/components/GanttChart/GanttChart.js.map +0 -1
- package/lib-commonjs/components/GanttChart/GanttChart.types.js +0 -7
- package/lib-commonjs/components/GanttChart/GanttChart.types.js.map +0 -1
- package/lib-commonjs/components/GanttChart/index.js +0 -7
- package/lib-commonjs/components/GanttChart/index.js.map +0 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js +0 -42
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js +0 -42
- package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.js +0 -597
- package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +0 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.types.js +0 -7
- package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +0 -1
- package/lib-commonjs/components/GaugeChart/index.js +0 -8
- package/lib-commonjs/components/GaugeChart/index.js.map +0 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +0 -281
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js +0 -167
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +0 -818
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +0 -7
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js +0 -8
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +0 -116
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +0 -56
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +0 -688
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js +0 -7
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/index.js +0 -8
- package/lib-commonjs/components/HeatMapChart/index.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +0 -71
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +0 -60
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +0 -417
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js +0 -17
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/index.js +0 -8
- package/lib-commonjs/components/HorizontalBarChart/index.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +0 -264
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +0 -139
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +0 -726
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +0 -7
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +0 -8
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +0 -86
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +0 -70
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/Legends/Legends.js +0 -333
- package/lib-commonjs/components/Legends/Legends.js.map +0 -1
- package/lib-commonjs/components/Legends/Legends.types.js +0 -6
- package/lib-commonjs/components/Legends/Legends.types.js.map +0 -1
- package/lib-commonjs/components/Legends/OverflowMenu.js +0 -44
- package/lib-commonjs/components/Legends/OverflowMenu.js.map +0 -1
- package/lib-commonjs/components/Legends/index.js +0 -8
- package/lib-commonjs/components/Legends/index.js.map +0 -1
- package/lib-commonjs/components/Legends/shape.js +0 -47
- package/lib-commonjs/components/Legends/shape.js.map +0 -1
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +0 -456
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +0 -1
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js +0 -178
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/LineChart/LineChart.js +0 -1337
- package/lib-commonjs/components/LineChart/LineChart.js.map +0 -1
- package/lib-commonjs/components/LineChart/LineChart.types.js +0 -6
- package/lib-commonjs/components/LineChart/LineChart.types.js.map +0 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +0 -129
- package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +0 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +0 -70
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +0 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +0 -53
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +0 -1
- package/lib-commonjs/components/LineChart/index.js +0 -9
- package/lib-commonjs/components/LineChart/index.js.map +0 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +0 -132
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +0 -63
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/PolarChart/PolarChart.js +0 -587
- package/lib-commonjs/components/PolarChart/PolarChart.js.map +0 -1
- package/lib-commonjs/components/PolarChart/PolarChart.types.js +0 -7
- package/lib-commonjs/components/PolarChart/PolarChart.types.js.map +0 -1
- package/lib-commonjs/components/PolarChart/PolarChart.utils.js +0 -204
- package/lib-commonjs/components/PolarChart/PolarChart.utils.js.map +0 -1
- package/lib-commonjs/components/PolarChart/index.js +0 -7
- package/lib-commonjs/components/PolarChart/index.js.map +0 -1
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js +0 -107
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.raw.js +0 -75
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +0 -107
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js +0 -7
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/index.js +0 -8
- package/lib-commonjs/components/ResponsiveContainer/index.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +0 -50
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +0 -47
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js +0 -28
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.js +0 -1042
- package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.types.js +0 -6
- package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/index.js +0 -8
- package/lib-commonjs/components/SankeyChart/index.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +0 -202
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +0 -97
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js +0 -550
- package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +0 -7
- package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/index.js +0 -8
- package/lib-commonjs/components/ScatterChart/index.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +0 -120
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +0 -55
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/Sparkline/Sparkline.js +0 -129
- package/lib-commonjs/components/Sparkline/Sparkline.js.map +0 -1
- package/lib-commonjs/components/Sparkline/Sparkline.types.js +0 -7
- package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +0 -1
- package/lib-commonjs/components/Sparkline/index.js +0 -8
- package/lib-commonjs/components/Sparkline/index.js.map +0 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +0 -57
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +0 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js +0 -45
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaDeclarativeChart.js +0 -274
- package/lib-commonjs/components/VegaDeclarativeChart/VegaDeclarativeChart.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js +0 -35
- package/lib-commonjs/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteColorAdapter.js +0 -412
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteColorAdapter.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteExpressionEvaluator.js +0 -533
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteExpressionEvaluator.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js +0 -3214
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteTypes.js +0 -31
- package/lib-commonjs/components/VegaDeclarativeChart/VegaLiteTypes.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/index.js +0 -6
- package/lib-commonjs/components/VegaDeclarativeChart/index.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +0 -932
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js +0 -7
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/index.js +0 -8
- package/lib-commonjs/components/VerticalBarChart/index.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +0 -128
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +0 -64
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +0 -1088
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +0 -7
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/index.js +0 -8
- package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +0 -116
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +0 -56
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/index.js +0 -31
- package/lib-commonjs/index.js.map +0 -1
- package/lib-commonjs/types/ChartAnnotation.js +0 -4
- package/lib-commonjs/types/ChartAnnotation.js.map +0 -1
- package/lib-commonjs/types/DataPoint.js +0 -6
- package/lib-commonjs/types/DataPoint.js.map +0 -1
- package/lib-commonjs/types/EventAnnotation.js +0 -4
- package/lib-commonjs/types/EventAnnotation.js.map +0 -1
- package/lib-commonjs/types/LegendDataItem.js +0 -4
- package/lib-commonjs/types/LegendDataItem.js.map +0 -1
- package/lib-commonjs/types/index.js +0 -8
- package/lib-commonjs/types/index.js.map +0 -1
- package/lib-commonjs/utilities/ChartTitle.js +0 -53
- package/lib-commonjs/utilities/ChartTitle.js.map +0 -1
- package/lib-commonjs/utilities/Common.styles.js +0 -138
- package/lib-commonjs/utilities/Common.styles.js.map +0 -1
- package/lib-commonjs/utilities/Common.styles.raw.js +0 -138
- package/lib-commonjs/utilities/Common.styles.raw.js.map +0 -1
- package/lib-commonjs/utilities/FocusableTooltipText.js +0 -75
- package/lib-commonjs/utilities/FocusableTooltipText.js.map +0 -1
- package/lib-commonjs/utilities/KeyCodes.js +0 -21
- package/lib-commonjs/utilities/KeyCodes.js.map +0 -1
- package/lib-commonjs/utilities/SVGTooltipText.js +0 -189
- package/lib-commonjs/utilities/SVGTooltipText.js.map +0 -1
- package/lib-commonjs/utilities/async-utils.js +0 -382
- package/lib-commonjs/utilities/async-utils.js.map +0 -1
- package/lib-commonjs/utilities/colors.js +0 -311
- package/lib-commonjs/utilities/colors.js.map +0 -1
- package/lib-commonjs/utilities/getWindow.js +0 -28
- package/lib-commonjs/utilities/getWindow.js.map +0 -1
- package/lib-commonjs/utilities/hooks.js +0 -45
- package/lib-commonjs/utilities/hooks.js.map +0 -1
- package/lib-commonjs/utilities/image-export-utils.js +0 -423
- package/lib-commonjs/utilities/image-export-utils.js.map +0 -1
- package/lib-commonjs/utilities/index.js +0 -10
- package/lib-commonjs/utilities/index.js.map +0 -1
- package/lib-commonjs/utilities/overflow-utils.js +0 -36
- package/lib-commonjs/utilities/overflow-utils.js.map +0 -1
- package/lib-commonjs/utilities/scatterpolar-utils.js +0 -67
- package/lib-commonjs/utilities/scatterpolar-utils.js.map +0 -1
- package/lib-commonjs/utilities/string.js +0 -29
- package/lib-commonjs/utilities/string.js.map +0 -1
- package/lib-commonjs/utilities/test-data.js +0 -628
- package/lib-commonjs/utilities/test-data.js.map +0 -1
- package/lib-commonjs/utilities/utilities.js +0 -2016
- package/lib-commonjs/utilities/utilities.js.map +0 -1
- package/lib-commonjs/utilities/vbc-utils.js +0 -72
- package/lib-commonjs/utilities/vbc-utils.js.map +0 -1
|
@@ -1,537 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Safe expression evaluator for Vega-Lite expressions.
|
|
3
|
-
*
|
|
4
|
-
* Recursive-descent parser that only supports the safe subset of the
|
|
5
|
-
* Vega-Lite expression language:
|
|
6
|
-
* - Property access: datum.field, datum['field'] (own properties only)
|
|
7
|
-
* - Arithmetic: +, -, *, /, %
|
|
8
|
-
* - Comparison: ==, ===, !=, !==, <, >, <=, >=
|
|
9
|
-
* - Logical: &&, ||, !
|
|
10
|
-
* - Ternary: condition ? trueVal : falseVal
|
|
11
|
-
* - Literals: numbers, strings, booleans, null
|
|
12
|
-
* - Safe built-in functions: isValid, isDate, isNumber, isNaN, isFinite,
|
|
13
|
-
* abs, ceil, floor, round, sqrt, log, exp, pow, min, max, length,
|
|
14
|
-
* toNumber, toString, toBoolean
|
|
15
|
-
* - Constants: PI, E, SQRT2, LN2, LN10, NaN, Infinity
|
|
16
|
-
*
|
|
17
|
-
* Everything else (assignment, arbitrary function calls, global access) is rejected.
|
|
18
|
-
*
|
|
19
|
-
* @see https://vega.github.io/vega/docs/expressions/
|
|
20
|
-
*/ // ---------------------------------------------------------------------------
|
|
21
|
-
// Token types
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
24
|
-
// ---------------------------------------------------------------------------
|
|
25
|
-
// Own-property check — only allow access to properties that exist directly
|
|
26
|
-
// on the object (not inherited from the prototype chain). This is an allowlist
|
|
27
|
-
// approach: constructor, __proto__, toString, valueOf, etc. are all inherited
|
|
28
|
-
// and thus blocked automatically without maintaining a blocklist.
|
|
29
|
-
// ---------------------------------------------------------------------------
|
|
30
|
-
const hasOwn = (obj, prop)=>obj !== null && obj !== undefined && typeof obj === 'object' && Object.prototype.hasOwnProperty.call(obj, prop);
|
|
31
|
-
// ---------------------------------------------------------------------------
|
|
32
|
-
// Whitelisted built-in functions (mirrors the Vega expression function set)
|
|
33
|
-
// ---------------------------------------------------------------------------
|
|
34
|
-
const SAFE_FUNCTIONS = {
|
|
35
|
-
isValid: (x)=>x !== null && x !== undefined && (typeof x !== 'number' || !isNaN(x)),
|
|
36
|
-
isDate: (x)=>x instanceof Date,
|
|
37
|
-
isNumber: (x)=>typeof x === 'number' && !isNaN(x),
|
|
38
|
-
isString: (x)=>typeof x === 'string',
|
|
39
|
-
isBoolean: (x)=>typeof x === 'boolean',
|
|
40
|
-
isArray: (x)=>Array.isArray(x),
|
|
41
|
-
isNaN: (x)=>isNaN(x),
|
|
42
|
-
isFinite: (x)=>Number.isFinite(x),
|
|
43
|
-
abs: (x)=>Math.abs(x),
|
|
44
|
-
ceil: (x)=>Math.ceil(x),
|
|
45
|
-
floor: (x)=>Math.floor(x),
|
|
46
|
-
round: (x)=>Math.round(x),
|
|
47
|
-
sqrt: (x)=>Math.sqrt(x),
|
|
48
|
-
log: (x)=>Math.log(x),
|
|
49
|
-
exp: (x)=>Math.exp(x),
|
|
50
|
-
pow: (x, y)=>x ** y,
|
|
51
|
-
min: (...args)=>Math.min(...args),
|
|
52
|
-
max: (...args)=>Math.max(...args),
|
|
53
|
-
length: (x)=>typeof x === 'string' || Array.isArray(x) ? x.length : 0,
|
|
54
|
-
toNumber: (x)=>Number(x),
|
|
55
|
-
toString: (x)=>String(x),
|
|
56
|
-
toBoolean: (x)=>Boolean(x)
|
|
57
|
-
};
|
|
58
|
-
// ---------------------------------------------------------------------------
|
|
59
|
-
// Whitelisted constants
|
|
60
|
-
// ---------------------------------------------------------------------------
|
|
61
|
-
const SAFE_CONSTANTS = {
|
|
62
|
-
PI: Math.PI,
|
|
63
|
-
E: Math.E,
|
|
64
|
-
SQRT2: Math.SQRT2,
|
|
65
|
-
LN2: Math.LN2,
|
|
66
|
-
LN10: Math.LN10,
|
|
67
|
-
NaN,
|
|
68
|
-
Infinity
|
|
69
|
-
};
|
|
70
|
-
// Set of all allowed top-level identifiers
|
|
71
|
-
const ALLOWED_IDENTIFIERS = new Set([
|
|
72
|
-
'datum',
|
|
73
|
-
...Object.keys(SAFE_FUNCTIONS),
|
|
74
|
-
...Object.keys(SAFE_CONSTANTS)
|
|
75
|
-
]);
|
|
76
|
-
// ---------------------------------------------------------------------------
|
|
77
|
-
// Tokenizer
|
|
78
|
-
// ---------------------------------------------------------------------------
|
|
79
|
-
function tokenize(expr) {
|
|
80
|
-
const tokens = [];
|
|
81
|
-
let i = 0;
|
|
82
|
-
while(i < expr.length){
|
|
83
|
-
// Skip whitespace
|
|
84
|
-
if (/\s/.test(expr[i])) {
|
|
85
|
-
i++;
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
// Numbers (including decimal and scientific notation)
|
|
89
|
-
if (/[0-9]/.test(expr[i]) || expr[i] === '.' && i + 1 < expr.length && /[0-9]/.test(expr[i + 1])) {
|
|
90
|
-
const start = i;
|
|
91
|
-
while(i < expr.length && /[0-9.]/.test(expr[i])){
|
|
92
|
-
i++;
|
|
93
|
-
}
|
|
94
|
-
if (i < expr.length && (expr[i] === 'e' || expr[i] === 'E')) {
|
|
95
|
-
i++;
|
|
96
|
-
if (i < expr.length && (expr[i] === '+' || expr[i] === '-')) {
|
|
97
|
-
i++;
|
|
98
|
-
}
|
|
99
|
-
while(i < expr.length && /[0-9]/.test(expr[i])){
|
|
100
|
-
i++;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
tokens.push({
|
|
104
|
-
type: 'number',
|
|
105
|
-
value: parseFloat(expr.slice(start, i)),
|
|
106
|
-
start
|
|
107
|
-
});
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
// Strings (single or double quoted)
|
|
111
|
-
if (expr[i] === '"' || expr[i] === "'") {
|
|
112
|
-
const quote = expr[i];
|
|
113
|
-
const start = i;
|
|
114
|
-
i++;
|
|
115
|
-
let str = '';
|
|
116
|
-
while(i < expr.length && expr[i] !== quote){
|
|
117
|
-
if (expr[i] === '\\') {
|
|
118
|
-
i++;
|
|
119
|
-
if (i < expr.length) {
|
|
120
|
-
switch(expr[i]){
|
|
121
|
-
case 'n':
|
|
122
|
-
str += '\n';
|
|
123
|
-
break;
|
|
124
|
-
case 't':
|
|
125
|
-
str += '\t';
|
|
126
|
-
break;
|
|
127
|
-
case '\\':
|
|
128
|
-
str += '\\';
|
|
129
|
-
break;
|
|
130
|
-
case "'":
|
|
131
|
-
str += "'";
|
|
132
|
-
break;
|
|
133
|
-
case '"':
|
|
134
|
-
str += '"';
|
|
135
|
-
break;
|
|
136
|
-
default:
|
|
137
|
-
str += expr[i];
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
} else {
|
|
141
|
-
str += expr[i];
|
|
142
|
-
}
|
|
143
|
-
i++;
|
|
144
|
-
}
|
|
145
|
-
if (i < expr.length) {
|
|
146
|
-
i++; // Skip closing quote
|
|
147
|
-
}
|
|
148
|
-
tokens.push({
|
|
149
|
-
type: 'string',
|
|
150
|
-
value: str,
|
|
151
|
-
start
|
|
152
|
-
});
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
// Identifiers and keywords
|
|
156
|
-
if (/[a-zA-Z_$]/.test(expr[i])) {
|
|
157
|
-
const start = i;
|
|
158
|
-
while(i < expr.length && /[a-zA-Z0-9_$]/.test(expr[i])){
|
|
159
|
-
i++;
|
|
160
|
-
}
|
|
161
|
-
const word = expr.slice(start, i);
|
|
162
|
-
switch(word){
|
|
163
|
-
case 'true':
|
|
164
|
-
tokens.push({
|
|
165
|
-
type: 'boolean',
|
|
166
|
-
value: true,
|
|
167
|
-
start
|
|
168
|
-
});
|
|
169
|
-
break;
|
|
170
|
-
case 'false':
|
|
171
|
-
tokens.push({
|
|
172
|
-
type: 'boolean',
|
|
173
|
-
value: false,
|
|
174
|
-
start
|
|
175
|
-
});
|
|
176
|
-
break;
|
|
177
|
-
case 'null':
|
|
178
|
-
tokens.push({
|
|
179
|
-
type: 'null',
|
|
180
|
-
value: null,
|
|
181
|
-
start
|
|
182
|
-
});
|
|
183
|
-
break;
|
|
184
|
-
case 'undefined':
|
|
185
|
-
tokens.push({
|
|
186
|
-
type: 'null',
|
|
187
|
-
value: undefined,
|
|
188
|
-
start
|
|
189
|
-
});
|
|
190
|
-
break;
|
|
191
|
-
default:
|
|
192
|
-
tokens.push({
|
|
193
|
-
type: 'ident',
|
|
194
|
-
value: word,
|
|
195
|
-
start
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
continue;
|
|
199
|
-
}
|
|
200
|
-
// Multi-character operators
|
|
201
|
-
const start = i;
|
|
202
|
-
const three = expr.slice(i, i + 3);
|
|
203
|
-
const two = expr.slice(i, i + 2);
|
|
204
|
-
if (three === '===' || three === '!==') {
|
|
205
|
-
tokens.push({
|
|
206
|
-
type: three,
|
|
207
|
-
value: three,
|
|
208
|
-
start
|
|
209
|
-
});
|
|
210
|
-
i += 3;
|
|
211
|
-
continue;
|
|
212
|
-
}
|
|
213
|
-
if (two === '==' || two === '!=' || two === '<=' || two === '>=' || two === '&&' || two === '||') {
|
|
214
|
-
tokens.push({
|
|
215
|
-
type: two,
|
|
216
|
-
value: two,
|
|
217
|
-
start
|
|
218
|
-
});
|
|
219
|
-
i += 2;
|
|
220
|
-
continue;
|
|
221
|
-
}
|
|
222
|
-
// Single-character operators and punctuation
|
|
223
|
-
const ch = expr[i];
|
|
224
|
-
if ('+-*/%<>!.()[],?:'.includes(ch)) {
|
|
225
|
-
tokens.push({
|
|
226
|
-
type: ch,
|
|
227
|
-
value: ch,
|
|
228
|
-
start
|
|
229
|
-
});
|
|
230
|
-
i++;
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
233
|
-
// Any other character is rejected
|
|
234
|
-
throw new Error(`Safe expression evaluator: unexpected character '${ch}' at position ${i}`);
|
|
235
|
-
}
|
|
236
|
-
tokens.push({
|
|
237
|
-
type: 'eof',
|
|
238
|
-
value: null,
|
|
239
|
-
start: i
|
|
240
|
-
});
|
|
241
|
-
return tokens;
|
|
242
|
-
}
|
|
243
|
-
// ---------------------------------------------------------------------------
|
|
244
|
-
// Recursive-descent parser & evaluator
|
|
245
|
-
//
|
|
246
|
-
// Grammar (precedence low→high):
|
|
247
|
-
// expr → ternary
|
|
248
|
-
// ternary → logicalOr ('?' expr ':' expr)?
|
|
249
|
-
// logicalOr → logicalAnd ('||' logicalAnd)*
|
|
250
|
-
// logicalAnd → equality ('&&' equality)*
|
|
251
|
-
// equality → comparison (('=='|'==='|'!='|'!==') comparison)*
|
|
252
|
-
// comparison → additive (('<'|'>'|'<='|'>=') additive)*
|
|
253
|
-
// additive → multiplicative (('+'|'-') multiplicative)*
|
|
254
|
-
// multiplicative → unary (('*'|'/'|'%') unary)*
|
|
255
|
-
// unary → ('!'|'-'|'+') unary | postfix
|
|
256
|
-
// postfix → primary ('.' ident | '[' expr ']' | '(' args ')')*
|
|
257
|
-
// primary → number | string | boolean | null | ident | '(' expr ')'
|
|
258
|
-
// ---------------------------------------------------------------------------
|
|
259
|
-
class ExpressionParser {
|
|
260
|
-
parse() {
|
|
261
|
-
const result = this._parseExpression();
|
|
262
|
-
if (this._peek().type !== 'eof') {
|
|
263
|
-
throw new Error(`Safe expression evaluator: unexpected token '${this._peek().type}' at position ${this._peek().start}`);
|
|
264
|
-
}
|
|
265
|
-
return result;
|
|
266
|
-
}
|
|
267
|
-
_peek() {
|
|
268
|
-
return this.tokens[this.pos];
|
|
269
|
-
}
|
|
270
|
-
_advance() {
|
|
271
|
-
const token = this.tokens[this.pos];
|
|
272
|
-
this.pos++;
|
|
273
|
-
return token;
|
|
274
|
-
}
|
|
275
|
-
_expect(type) {
|
|
276
|
-
const token = this._peek();
|
|
277
|
-
if (token.type !== type) {
|
|
278
|
-
throw new Error(`Safe expression evaluator: expected '${type}' but got '${token.type}' at position ${token.start}`);
|
|
279
|
-
}
|
|
280
|
-
return this._advance();
|
|
281
|
-
}
|
|
282
|
-
_parseExpression() {
|
|
283
|
-
return this._parseTernary();
|
|
284
|
-
}
|
|
285
|
-
_parseTernary() {
|
|
286
|
-
const condition = this._parseOr();
|
|
287
|
-
if (this._peek().type === '?') {
|
|
288
|
-
this._advance();
|
|
289
|
-
const trueVal = this._parseExpression();
|
|
290
|
-
this._expect(':');
|
|
291
|
-
const falseVal = this._parseExpression();
|
|
292
|
-
return condition ? trueVal : falseVal;
|
|
293
|
-
}
|
|
294
|
-
return condition;
|
|
295
|
-
}
|
|
296
|
-
_parseOr() {
|
|
297
|
-
let left = this._parseAnd();
|
|
298
|
-
while(this._peek().type === '||'){
|
|
299
|
-
this._advance();
|
|
300
|
-
const right = this._parseAnd();
|
|
301
|
-
left = left || right;
|
|
302
|
-
}
|
|
303
|
-
return left;
|
|
304
|
-
}
|
|
305
|
-
_parseAnd() {
|
|
306
|
-
let left = this._parseEquality();
|
|
307
|
-
while(this._peek().type === '&&'){
|
|
308
|
-
this._advance();
|
|
309
|
-
const right = this._parseEquality();
|
|
310
|
-
left = left && right;
|
|
311
|
-
}
|
|
312
|
-
return left;
|
|
313
|
-
}
|
|
314
|
-
_parseEquality() {
|
|
315
|
-
let left = this._parseComparison();
|
|
316
|
-
while([
|
|
317
|
-
'==',
|
|
318
|
-
'===',
|
|
319
|
-
'!=',
|
|
320
|
-
'!=='
|
|
321
|
-
].includes(this._peek().type)){
|
|
322
|
-
const op = this._advance().type;
|
|
323
|
-
const right = this._parseComparison();
|
|
324
|
-
switch(op){
|
|
325
|
-
case '==':
|
|
326
|
-
// eslint-disable-next-line eqeqeq
|
|
327
|
-
left = left == right;
|
|
328
|
-
break;
|
|
329
|
-
case '===':
|
|
330
|
-
left = left === right;
|
|
331
|
-
break;
|
|
332
|
-
case '!=':
|
|
333
|
-
// eslint-disable-next-line eqeqeq
|
|
334
|
-
left = left != right;
|
|
335
|
-
break;
|
|
336
|
-
case '!==':
|
|
337
|
-
left = left !== right;
|
|
338
|
-
break;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
return left;
|
|
342
|
-
}
|
|
343
|
-
_parseComparison() {
|
|
344
|
-
let left = this._parseAdditive();
|
|
345
|
-
while([
|
|
346
|
-
'<',
|
|
347
|
-
'>',
|
|
348
|
-
'<=',
|
|
349
|
-
'>='
|
|
350
|
-
].includes(this._peek().type)){
|
|
351
|
-
const op = this._advance().type;
|
|
352
|
-
const right = this._parseAdditive();
|
|
353
|
-
switch(op){
|
|
354
|
-
case '<':
|
|
355
|
-
left = left < right;
|
|
356
|
-
break;
|
|
357
|
-
case '>':
|
|
358
|
-
left = left > right;
|
|
359
|
-
break;
|
|
360
|
-
case '<=':
|
|
361
|
-
left = left <= right;
|
|
362
|
-
break;
|
|
363
|
-
case '>=':
|
|
364
|
-
left = left >= right;
|
|
365
|
-
break;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
return left;
|
|
369
|
-
}
|
|
370
|
-
_parseAdditive() {
|
|
371
|
-
let left = this._parseMultiplicative();
|
|
372
|
-
while([
|
|
373
|
-
'+',
|
|
374
|
-
'-'
|
|
375
|
-
].includes(this._peek().type)){
|
|
376
|
-
const op = this._advance().type;
|
|
377
|
-
const right = this._parseMultiplicative();
|
|
378
|
-
if (op === '+') {
|
|
379
|
-
left = typeof left === 'string' || typeof right === 'string' ? String(left) + String(right) : left + right;
|
|
380
|
-
} else {
|
|
381
|
-
left = left - right;
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
return left;
|
|
385
|
-
}
|
|
386
|
-
_parseMultiplicative() {
|
|
387
|
-
let left = this._parseUnary();
|
|
388
|
-
while([
|
|
389
|
-
'*',
|
|
390
|
-
'/',
|
|
391
|
-
'%'
|
|
392
|
-
].includes(this._peek().type)){
|
|
393
|
-
const op = this._advance().type;
|
|
394
|
-
const right = this._parseUnary();
|
|
395
|
-
switch(op){
|
|
396
|
-
case '*':
|
|
397
|
-
left = left * right;
|
|
398
|
-
break;
|
|
399
|
-
case '/':
|
|
400
|
-
left = left / right;
|
|
401
|
-
break;
|
|
402
|
-
case '%':
|
|
403
|
-
left = left % right;
|
|
404
|
-
break;
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
return left;
|
|
408
|
-
}
|
|
409
|
-
_parseUnary() {
|
|
410
|
-
if (this._peek().type === '!') {
|
|
411
|
-
this._advance();
|
|
412
|
-
return !this._parseUnary();
|
|
413
|
-
}
|
|
414
|
-
if (this._peek().type === '-') {
|
|
415
|
-
this._advance();
|
|
416
|
-
return -this._parseUnary();
|
|
417
|
-
}
|
|
418
|
-
if (this._peek().type === '+') {
|
|
419
|
-
this._advance();
|
|
420
|
-
return +this._parseUnary();
|
|
421
|
-
}
|
|
422
|
-
return this._parsePostfix();
|
|
423
|
-
}
|
|
424
|
-
_parsePostfix() {
|
|
425
|
-
let value = this._parsePrimary();
|
|
426
|
-
while(true){
|
|
427
|
-
if (this._peek().type === '.') {
|
|
428
|
-
// Property access: obj.prop — only own properties allowed
|
|
429
|
-
this._advance();
|
|
430
|
-
const prop = this._expect('ident');
|
|
431
|
-
const propName = prop.value;
|
|
432
|
-
if (hasOwn(value, propName)) {
|
|
433
|
-
value = value[propName];
|
|
434
|
-
} else {
|
|
435
|
-
value = undefined;
|
|
436
|
-
}
|
|
437
|
-
} else if (this._peek().type === '[') {
|
|
438
|
-
// Bracket access: obj['prop'] or obj[expr] — only own properties allowed
|
|
439
|
-
this._advance();
|
|
440
|
-
const index = this._parseExpression();
|
|
441
|
-
this._expect(']');
|
|
442
|
-
const key = String(index);
|
|
443
|
-
if (hasOwn(value, key)) {
|
|
444
|
-
value = value[key];
|
|
445
|
-
} else {
|
|
446
|
-
value = undefined;
|
|
447
|
-
}
|
|
448
|
-
} else if (this._peek().type === '(') {
|
|
449
|
-
// Function call — only safe built-in functions are callable
|
|
450
|
-
if (typeof value !== 'function') {
|
|
451
|
-
throw new Error('Safe expression evaluator: function calls are only allowed for built-in functions');
|
|
452
|
-
}
|
|
453
|
-
this._advance();
|
|
454
|
-
const args = [];
|
|
455
|
-
if (this._peek().type !== ')') {
|
|
456
|
-
args.push(this._parseExpression());
|
|
457
|
-
while(this._peek().type === ','){
|
|
458
|
-
this._advance();
|
|
459
|
-
args.push(this._parseExpression());
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
this._expect(')');
|
|
463
|
-
value = value(...args);
|
|
464
|
-
} else {
|
|
465
|
-
break;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
return value;
|
|
469
|
-
}
|
|
470
|
-
_parsePrimary() {
|
|
471
|
-
const token = this._peek();
|
|
472
|
-
switch(token.type){
|
|
473
|
-
case 'number':
|
|
474
|
-
case 'string':
|
|
475
|
-
case 'boolean':
|
|
476
|
-
case 'null':
|
|
477
|
-
this._advance();
|
|
478
|
-
return token.value;
|
|
479
|
-
case 'ident':
|
|
480
|
-
{
|
|
481
|
-
const name = token.value;
|
|
482
|
-
if (!ALLOWED_IDENTIFIERS.has(name)) {
|
|
483
|
-
throw new Error(`Safe expression evaluator: unknown identifier '${name}'`);
|
|
484
|
-
}
|
|
485
|
-
this._advance();
|
|
486
|
-
if (name === 'datum') {
|
|
487
|
-
return this.context.datum;
|
|
488
|
-
}
|
|
489
|
-
if (name in SAFE_FUNCTIONS) {
|
|
490
|
-
return SAFE_FUNCTIONS[name];
|
|
491
|
-
}
|
|
492
|
-
if (name in SAFE_CONSTANTS) {
|
|
493
|
-
return SAFE_CONSTANTS[name];
|
|
494
|
-
}
|
|
495
|
-
return undefined;
|
|
496
|
-
}
|
|
497
|
-
case '(':
|
|
498
|
-
{
|
|
499
|
-
this._advance();
|
|
500
|
-
const result = this._parseExpression();
|
|
501
|
-
this._expect(')');
|
|
502
|
-
return result;
|
|
503
|
-
}
|
|
504
|
-
default:
|
|
505
|
-
throw new Error(`Safe expression evaluator: unexpected token '${token.type}' at position ${token.start}`);
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
constructor(tokens, context){
|
|
509
|
-
_define_property(this, "tokens", void 0);
|
|
510
|
-
_define_property(this, "pos", void 0);
|
|
511
|
-
_define_property(this, "context", void 0);
|
|
512
|
-
this.tokens = tokens;
|
|
513
|
-
this.pos = 0;
|
|
514
|
-
this.context = context;
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
// ---------------------------------------------------------------------------
|
|
518
|
-
// Public API
|
|
519
|
-
// ---------------------------------------------------------------------------
|
|
520
|
-
/**
|
|
521
|
-
* Safely evaluates a Vega-Lite expression string against a datum object.
|
|
522
|
-
*
|
|
523
|
-
* Only allows property access, arithmetic, comparison, logical operators,
|
|
524
|
-
* ternary expressions, literals, and a whitelist of built-in functions.
|
|
525
|
-
* Rejects assignment, arbitrary function calls, and global object access.
|
|
526
|
-
*
|
|
527
|
-
* @param expr - The Vega-Lite expression string to evaluate
|
|
528
|
-
* @param datum - The data row object (accessible as `datum` in the expression)
|
|
529
|
-
* @returns The result of evaluating the expression
|
|
530
|
-
* @throws Error if the expression contains disallowed constructs
|
|
531
|
-
*/ export function safeEvaluateExpression(expr, datum) {
|
|
532
|
-
const tokens = tokenize(expr);
|
|
533
|
-
const parser = new ExpressionParser(tokens, {
|
|
534
|
-
datum
|
|
535
|
-
});
|
|
536
|
-
return parser.parse();
|
|
537
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/VegaDeclarativeChart/VegaLiteExpressionEvaluator.ts"],"sourcesContent":["/**\n * Safe expression evaluator for Vega-Lite expressions.\n *\n * Recursive-descent parser that only supports the safe subset of the\n * Vega-Lite expression language:\n * - Property access: datum.field, datum['field'] (own properties only)\n * - Arithmetic: +, -, *, /, %\n * - Comparison: ==, ===, !=, !==, <, >, <=, >=\n * - Logical: &&, ||, !\n * - Ternary: condition ? trueVal : falseVal\n * - Literals: numbers, strings, booleans, null\n * - Safe built-in functions: isValid, isDate, isNumber, isNaN, isFinite,\n * abs, ceil, floor, round, sqrt, log, exp, pow, min, max, length,\n * toNumber, toString, toBoolean\n * - Constants: PI, E, SQRT2, LN2, LN10, NaN, Infinity\n *\n * Everything else (assignment, arbitrary function calls, global access) is rejected.\n *\n * @see https://vega.github.io/vega/docs/expressions/\n */\n\n// ---------------------------------------------------------------------------\n// Token types\n// ---------------------------------------------------------------------------\ninterface Token {\n type: string;\n value: unknown;\n start: number;\n}\n\n// ---------------------------------------------------------------------------\n// Own-property check — only allow access to properties that exist directly\n// on the object (not inherited from the prototype chain). This is an allowlist\n// approach: constructor, __proto__, toString, valueOf, etc. are all inherited\n// and thus blocked automatically without maintaining a blocklist.\n// ---------------------------------------------------------------------------\nconst hasOwn = (obj: unknown, prop: string): boolean =>\n obj !== null && obj !== undefined && typeof obj === 'object' && Object.prototype.hasOwnProperty.call(obj, prop);\n\n// ---------------------------------------------------------------------------\n// Whitelisted built-in functions (mirrors the Vega expression function set)\n// ---------------------------------------------------------------------------\nconst SAFE_FUNCTIONS: Record<string, (...args: unknown[]) => unknown> = {\n isValid: (x: unknown) => x !== null && x !== undefined && (typeof x !== 'number' || !isNaN(x as number)),\n isDate: (x: unknown) => x instanceof Date,\n isNumber: (x: unknown) => typeof x === 'number' && !isNaN(x as number),\n isString: (x: unknown) => typeof x === 'string',\n isBoolean: (x: unknown) => typeof x === 'boolean',\n isArray: (x: unknown) => Array.isArray(x),\n isNaN: (x: unknown) => isNaN(x as number),\n isFinite: (x: unknown) => Number.isFinite(x),\n abs: (x: unknown) => Math.abs(x as number),\n ceil: (x: unknown) => Math.ceil(x as number),\n floor: (x: unknown) => Math.floor(x as number),\n round: (x: unknown) => Math.round(x as number),\n sqrt: (x: unknown) => Math.sqrt(x as number),\n log: (x: unknown) => Math.log(x as number),\n exp: (x: unknown) => Math.exp(x as number),\n pow: (x: unknown, y: unknown) => (x as number) ** (y as number),\n min: (...args: unknown[]) => Math.min(...(args as number[])),\n max: (...args: unknown[]) => Math.max(...(args as number[])),\n length: (x: unknown) => (typeof x === 'string' || Array.isArray(x) ? (x as string | unknown[]).length : 0),\n toNumber: (x: unknown) => Number(x),\n toString: (x: unknown) => String(x),\n toBoolean: (x: unknown) => Boolean(x),\n};\n\n// ---------------------------------------------------------------------------\n// Whitelisted constants\n// ---------------------------------------------------------------------------\nconst SAFE_CONSTANTS: Record<string, unknown> = {\n PI: Math.PI,\n E: Math.E,\n SQRT2: Math.SQRT2,\n LN2: Math.LN2,\n LN10: Math.LN10,\n NaN,\n Infinity,\n};\n\n// Set of all allowed top-level identifiers\nconst ALLOWED_IDENTIFIERS = new Set(['datum', ...Object.keys(SAFE_FUNCTIONS), ...Object.keys(SAFE_CONSTANTS)]);\n\n// ---------------------------------------------------------------------------\n// Tokenizer\n// ---------------------------------------------------------------------------\nfunction tokenize(expr: string): Token[] {\n const tokens: Token[] = [];\n let i = 0;\n\n while (i < expr.length) {\n // Skip whitespace\n if (/\\s/.test(expr[i])) {\n i++;\n continue;\n }\n\n // Numbers (including decimal and scientific notation)\n if (/[0-9]/.test(expr[i]) || (expr[i] === '.' && i + 1 < expr.length && /[0-9]/.test(expr[i + 1]))) {\n const start = i;\n while (i < expr.length && /[0-9.]/.test(expr[i])) {\n i++;\n }\n if (i < expr.length && (expr[i] === 'e' || expr[i] === 'E')) {\n i++;\n if (i < expr.length && (expr[i] === '+' || expr[i] === '-')) {\n i++;\n }\n while (i < expr.length && /[0-9]/.test(expr[i])) {\n i++;\n }\n }\n tokens.push({ type: 'number', value: parseFloat(expr.slice(start, i)), start });\n continue;\n }\n\n // Strings (single or double quoted)\n if (expr[i] === '\"' || expr[i] === \"'\") {\n const quote = expr[i];\n const start = i;\n i++;\n let str = '';\n while (i < expr.length && expr[i] !== quote) {\n if (expr[i] === '\\\\') {\n i++;\n if (i < expr.length) {\n switch (expr[i]) {\n case 'n':\n str += '\\n';\n break;\n case 't':\n str += '\\t';\n break;\n case '\\\\':\n str += '\\\\';\n break;\n case \"'\":\n str += \"'\";\n break;\n case '\"':\n str += '\"';\n break;\n default:\n str += expr[i];\n }\n }\n } else {\n str += expr[i];\n }\n i++;\n }\n if (i < expr.length) {\n i++; // Skip closing quote\n }\n tokens.push({ type: 'string', value: str, start });\n continue;\n }\n\n // Identifiers and keywords\n if (/[a-zA-Z_$]/.test(expr[i])) {\n const start = i;\n while (i < expr.length && /[a-zA-Z0-9_$]/.test(expr[i])) {\n i++;\n }\n const word = expr.slice(start, i);\n switch (word) {\n case 'true':\n tokens.push({ type: 'boolean', value: true, start });\n break;\n case 'false':\n tokens.push({ type: 'boolean', value: false, start });\n break;\n case 'null':\n tokens.push({ type: 'null', value: null, start });\n break;\n case 'undefined':\n tokens.push({ type: 'null', value: undefined, start });\n break;\n default:\n tokens.push({ type: 'ident', value: word, start });\n }\n continue;\n }\n\n // Multi-character operators\n const start = i;\n const three = expr.slice(i, i + 3);\n const two = expr.slice(i, i + 2);\n\n if (three === '===' || three === '!==') {\n tokens.push({ type: three, value: three, start });\n i += 3;\n continue;\n }\n if (two === '==' || two === '!=' || two === '<=' || two === '>=' || two === '&&' || two === '||') {\n tokens.push({ type: two, value: two, start });\n i += 2;\n continue;\n }\n\n // Single-character operators and punctuation\n const ch = expr[i];\n if ('+-*/%<>!.()[],?:'.includes(ch)) {\n tokens.push({ type: ch, value: ch, start });\n i++;\n continue;\n }\n\n // Any other character is rejected\n throw new Error(`Safe expression evaluator: unexpected character '${ch}' at position ${i}`);\n }\n\n tokens.push({ type: 'eof', value: null, start: i });\n return tokens;\n}\n\n// ---------------------------------------------------------------------------\n// Recursive-descent parser & evaluator\n//\n// Grammar (precedence low→high):\n// expr → ternary\n// ternary → logicalOr ('?' expr ':' expr)?\n// logicalOr → logicalAnd ('||' logicalAnd)*\n// logicalAnd → equality ('&&' equality)*\n// equality → comparison (('=='|'==='|'!='|'!==') comparison)*\n// comparison → additive (('<'|'>'|'<='|'>=') additive)*\n// additive → multiplicative (('+'|'-') multiplicative)*\n// multiplicative → unary (('*'|'/'|'%') unary)*\n// unary → ('!'|'-'|'+') unary | postfix\n// postfix → primary ('.' ident | '[' expr ']' | '(' args ')')*\n// primary → number | string | boolean | null | ident | '(' expr ')'\n// ---------------------------------------------------------------------------\nclass ExpressionParser {\n private tokens: Token[];\n private pos: number;\n private context: Record<string, unknown>;\n\n constructor(tokens: Token[], context: Record<string, unknown>) {\n this.tokens = tokens;\n this.pos = 0;\n this.context = context;\n }\n\n public parse(): unknown {\n const result = this._parseExpression();\n if (this._peek().type !== 'eof') {\n throw new Error(\n `Safe expression evaluator: unexpected token '${this._peek().type}' at position ${this._peek().start}`,\n );\n }\n return result;\n }\n\n private _peek(): Token {\n return this.tokens[this.pos];\n }\n\n private _advance(): Token {\n const token = this.tokens[this.pos];\n this.pos++;\n return token;\n }\n\n private _expect(type: string): Token {\n const token = this._peek();\n if (token.type !== type) {\n throw new Error(\n `Safe expression evaluator: expected '${type}' but got '${token.type}' at position ${token.start}`,\n );\n }\n return this._advance();\n }\n\n private _parseExpression(): unknown {\n return this._parseTernary();\n }\n\n private _parseTernary(): unknown {\n const condition = this._parseOr();\n if (this._peek().type === '?') {\n this._advance();\n const trueVal = this._parseExpression();\n this._expect(':');\n const falseVal = this._parseExpression();\n return condition ? trueVal : falseVal;\n }\n return condition;\n }\n\n private _parseOr(): unknown {\n let left = this._parseAnd();\n while (this._peek().type === '||') {\n this._advance();\n const right = this._parseAnd();\n left = left || right;\n }\n return left;\n }\n\n private _parseAnd(): unknown {\n let left = this._parseEquality();\n while (this._peek().type === '&&') {\n this._advance();\n const right = this._parseEquality();\n left = left && right;\n }\n return left;\n }\n\n private _parseEquality(): unknown {\n let left = this._parseComparison();\n while (['==', '===', '!=', '!=='].includes(this._peek().type)) {\n const op = this._advance().type;\n const right = this._parseComparison();\n switch (op) {\n case '==':\n // eslint-disable-next-line eqeqeq\n left = left == right;\n break;\n case '===':\n left = left === right;\n break;\n case '!=':\n // eslint-disable-next-line eqeqeq\n left = left != right;\n break;\n case '!==':\n left = left !== right;\n break;\n }\n }\n return left;\n }\n\n private _parseComparison(): unknown {\n let left = this._parseAdditive();\n while (['<', '>', '<=', '>='].includes(this._peek().type)) {\n const op = this._advance().type;\n const right = this._parseAdditive();\n switch (op) {\n case '<':\n left = (left as number) < (right as number);\n break;\n case '>':\n left = (left as number) > (right as number);\n break;\n case '<=':\n left = (left as number) <= (right as number);\n break;\n case '>=':\n left = (left as number) >= (right as number);\n break;\n }\n }\n return left;\n }\n\n private _parseAdditive(): unknown {\n let left = this._parseMultiplicative();\n while (['+', '-'].includes(this._peek().type)) {\n const op = this._advance().type;\n const right = this._parseMultiplicative();\n if (op === '+') {\n left =\n typeof left === 'string' || typeof right === 'string'\n ? String(left) + String(right)\n : (left as number) + (right as number);\n } else {\n left = (left as number) - (right as number);\n }\n }\n return left;\n }\n\n private _parseMultiplicative(): unknown {\n let left = this._parseUnary();\n while (['*', '/', '%'].includes(this._peek().type)) {\n const op = this._advance().type;\n const right = this._parseUnary();\n switch (op) {\n case '*':\n left = (left as number) * (right as number);\n break;\n case '/':\n left = (left as number) / (right as number);\n break;\n case '%':\n left = (left as number) % (right as number);\n break;\n }\n }\n return left;\n }\n\n private _parseUnary(): unknown {\n if (this._peek().type === '!') {\n this._advance();\n return !this._parseUnary();\n }\n if (this._peek().type === '-') {\n this._advance();\n return -(this._parseUnary() as number);\n }\n if (this._peek().type === '+') {\n this._advance();\n return +(this._parseUnary() as number);\n }\n return this._parsePostfix();\n }\n\n private _parsePostfix(): unknown {\n let value = this._parsePrimary();\n\n while (true) {\n if (this._peek().type === '.') {\n // Property access: obj.prop — only own properties allowed\n this._advance();\n const prop = this._expect('ident');\n const propName = prop.value as string;\n\n if (hasOwn(value, propName)) {\n value = (value as Record<string, unknown>)[propName];\n } else {\n value = undefined;\n }\n } else if (this._peek().type === '[') {\n // Bracket access: obj['prop'] or obj[expr] — only own properties allowed\n this._advance();\n const index = this._parseExpression();\n this._expect(']');\n\n const key = String(index);\n if (hasOwn(value, key)) {\n value = (value as Record<string, unknown>)[key];\n } else {\n value = undefined;\n }\n } else if (this._peek().type === '(') {\n // Function call — only safe built-in functions are callable\n if (typeof value !== 'function') {\n throw new Error('Safe expression evaluator: function calls are only allowed for built-in functions');\n }\n this._advance();\n const args: unknown[] = [];\n if (this._peek().type !== ')') {\n args.push(this._parseExpression());\n while (this._peek().type === ',') {\n this._advance();\n args.push(this._parseExpression());\n }\n }\n this._expect(')');\n value = (value as (...a: unknown[]) => unknown)(...args);\n } else {\n break;\n }\n }\n\n return value;\n }\n\n private _parsePrimary(): unknown {\n const token = this._peek();\n\n switch (token.type) {\n case 'number':\n case 'string':\n case 'boolean':\n case 'null':\n this._advance();\n return token.value;\n\n case 'ident': {\n const name = token.value as string;\n if (!ALLOWED_IDENTIFIERS.has(name)) {\n throw new Error(`Safe expression evaluator: unknown identifier '${name}'`);\n }\n this._advance();\n if (name === 'datum') {\n return this.context.datum;\n }\n if (name in SAFE_FUNCTIONS) {\n return SAFE_FUNCTIONS[name];\n }\n if (name in SAFE_CONSTANTS) {\n return SAFE_CONSTANTS[name];\n }\n return undefined;\n }\n\n case '(': {\n this._advance();\n const result = this._parseExpression();\n this._expect(')');\n return result;\n }\n\n default:\n throw new Error(`Safe expression evaluator: unexpected token '${token.type}' at position ${token.start}`);\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Public API\n// ---------------------------------------------------------------------------\n\n/**\n * Safely evaluates a Vega-Lite expression string against a datum object.\n *\n * Only allows property access, arithmetic, comparison, logical operators,\n * ternary expressions, literals, and a whitelist of built-in functions.\n * Rejects assignment, arbitrary function calls, and global object access.\n *\n * @param expr - The Vega-Lite expression string to evaluate\n * @param datum - The data row object (accessible as `datum` in the expression)\n * @returns The result of evaluating the expression\n * @throws Error if the expression contains disallowed constructs\n */\nexport function safeEvaluateExpression(expr: string, datum: Record<string, unknown>): unknown {\n const tokens = tokenize(expr);\n const parser = new ExpressionParser(tokens, { datum });\n return parser.parse();\n}\n"],"names":["hasOwn","obj","prop","undefined","Object","prototype","hasOwnProperty","call","SAFE_FUNCTIONS","isValid","x","isNaN","isDate","Date","isNumber","isString","isBoolean","isArray","Array","isFinite","Number","abs","Math","ceil","floor","round","sqrt","log","exp","pow","y","min","args","max","length","toNumber","toString","String","toBoolean","Boolean","SAFE_CONSTANTS","PI","E","SQRT2","LN2","LN10","NaN","Infinity","ALLOWED_IDENTIFIERS","Set","keys","tokenize","expr","tokens","i","test","start","push","type","value","parseFloat","slice","quote","str","word","three","two","ch","includes","Error","ExpressionParser","parse","result","_parseExpression","_peek","pos","_advance","token","_expect","_parseTernary","condition","_parseOr","trueVal","falseVal","left","_parseAnd","right","_parseEquality","_parseComparison","op","_parseAdditive","_parseMultiplicative","_parseUnary","_parsePostfix","_parsePrimary","propName","index","key","name","has","context","datum","constructor","safeEvaluateExpression","parser"],"mappings":"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"}
|