diff --git a/examples/compiled/bar_count_minimap.vg.json b/examples/compiled/bar_count_minimap.vg.json index da5f50f1c4..16d2d2d53d 100644 --- a/examples/compiled/bar_count_minimap.vg.json +++ b/examples/compiled/bar_count_minimap.vg.json @@ -371,7 +371,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/brush_table.vg.json b/examples/compiled/brush_table.vg.json index 43feeb43ee..8e96526664 100644 --- a/examples/compiled/brush_table.vg.json +++ b/examples/compiled/brush_table.vg.json @@ -397,7 +397,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/dynamic_color_legend.vg.json b/examples/compiled/dynamic_color_legend.vg.json index 4193e2fd7e..8b111e98c8 100644 --- a/examples/compiled/dynamic_color_legend.vg.json +++ b/examples/compiled/dynamic_color_legend.vg.json @@ -337,7 +337,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_1d_geo_brush.vg.json b/examples/compiled/interactive_1d_geo_brush.vg.json index 305a000a68..1ea53884db 100644 --- a/examples/compiled/interactive_1d_geo_brush.vg.json +++ b/examples/compiled/interactive_1d_geo_brush.vg.json @@ -306,7 +306,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_airport_crossfilter.vg.json b/examples/compiled/interactive_airport_crossfilter.vg.json index ec0ea33fd0..399f6af39e 100644 --- a/examples/compiled/interactive_airport_crossfilter.vg.json +++ b/examples/compiled/interactive_airport_crossfilter.vg.json @@ -519,7 +519,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_area_brush.vg.json b/examples/compiled/interactive_area_brush.vg.json index a6200b8a34..cb22cfc9cc 100644 --- a/examples/compiled/interactive_area_brush.vg.json +++ b/examples/compiled/interactive_area_brush.vg.json @@ -318,7 +318,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_bin_extent.vg.json b/examples/compiled/interactive_bin_extent.vg.json index 99a55e1a2e..2e577c871c 100644 --- a/examples/compiled/interactive_bin_extent.vg.json +++ b/examples/compiled/interactive_bin_extent.vg.json @@ -358,7 +358,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_bin_extent_bottom.vg.json b/examples/compiled/interactive_bin_extent_bottom.vg.json index d4c500689f..12f6ec754c 100644 --- a/examples/compiled/interactive_bin_extent_bottom.vg.json +++ b/examples/compiled/interactive_bin_extent_bottom.vg.json @@ -440,7 +440,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_brush.vg.json b/examples/compiled/interactive_brush.vg.json index 45decf1ac6..92e0c2623e 100644 --- a/examples/compiled/interactive_brush.vg.json +++ b/examples/compiled/interactive_brush.vg.json @@ -345,7 +345,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_crossfilter.vg.json b/examples/compiled/interactive_crossfilter.vg.json index 32ea6aecfd..8fb1c99ae6 100644 --- a/examples/compiled/interactive_crossfilter.vg.json +++ b/examples/compiled/interactive_crossfilter.vg.json @@ -395,7 +395,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -701,7 +704,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1007,7 +1013,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_dashboard_europe_pop.vg.json b/examples/compiled/interactive_dashboard_europe_pop.vg.json index 5816e34a46..5207bf1ccc 100644 --- a/examples/compiled/interactive_dashboard_europe_pop.vg.json +++ b/examples/compiled/interactive_dashboard_europe_pop.vg.json @@ -635,7 +635,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -959,7 +962,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1360,7 +1366,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_layered_crossfilter.vg.json b/examples/compiled/interactive_layered_crossfilter.vg.json index 5e60173eee..7edf8e975b 100644 --- a/examples/compiled/interactive_layered_crossfilter.vg.json +++ b/examples/compiled/interactive_layered_crossfilter.vg.json @@ -484,7 +484,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -845,7 +848,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1206,7 +1212,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_overview_detail.vg.json b/examples/compiled/interactive_overview_detail.vg.json index 1a09c1638c..aa229c58e0 100644 --- a/examples/compiled/interactive_overview_detail.vg.json +++ b/examples/compiled/interactive_overview_detail.vg.json @@ -403,7 +403,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_paintbrush_interval.vg.json b/examples/compiled/interactive_paintbrush_interval.vg.json index ca92f23c6d..647060779f 100644 --- a/examples/compiled/interactive_paintbrush_interval.vg.json +++ b/examples/compiled/interactive_paintbrush_interval.vg.json @@ -332,7 +332,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_seattle_weather.vg.json b/examples/compiled/interactive_seattle_weather.vg.json index 985b686756..00c5d078f8 100644 --- a/examples/compiled/interactive_seattle_weather.vg.json +++ b/examples/compiled/interactive_seattle_weather.vg.json @@ -332,7 +332,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/interactive_splom.vg.json b/examples/compiled/interactive_splom.vg.json index 8f688c7d15..adaf981d51 100644 --- a/examples/compiled/interactive_splom.vg.json +++ b/examples/compiled/interactive_splom.vg.json @@ -565,7 +565,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1073,7 +1076,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1493,7 +1499,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2002,7 +2011,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -2424,7 +2436,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2929,7 +2944,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -3353,7 +3371,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -3862,7 +3883,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -4374,7 +4398,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, diff --git a/examples/compiled/isotype_grid.vg.json b/examples/compiled/isotype_grid.vg.json index d234ae61f2..6bcb4d6c7d 100644 --- a/examples/compiled/isotype_grid.vg.json +++ b/examples/compiled/isotype_grid.vg.json @@ -427,7 +427,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_brush_timeunit.vg.json b/examples/compiled/selection_brush_timeunit.vg.json index e0300cf272..9be393bf80 100644 --- a/examples/compiled/selection_brush_timeunit.vg.json +++ b/examples/compiled/selection_brush_timeunit.vg.json @@ -324,7 +324,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_clear_brush.vg.json b/examples/compiled/selection_clear_brush.vg.json index 5d9945b9b0..46be5c26dc 100644 --- a/examples/compiled/selection_clear_brush.vg.json +++ b/examples/compiled/selection_clear_brush.vg.json @@ -344,7 +344,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_composition_and.vg.json b/examples/compiled/selection_composition_and.vg.json index d7736f2efa..ed2b4334e8 100644 --- a/examples/compiled/selection_composition_and.vg.json +++ b/examples/compiled/selection_composition_and.vg.json @@ -596,7 +596,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -641,7 +644,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_composition_or.vg.json b/examples/compiled/selection_composition_or.vg.json index 78ada163fa..86b967ca1b 100644 --- a/examples/compiled/selection_composition_or.vg.json +++ b/examples/compiled/selection_composition_or.vg.json @@ -596,7 +596,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -641,7 +644,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_concat.vg.json b/examples/compiled/selection_concat.vg.json index b27c82ddda..5cf2a29f53 100644 --- a/examples/compiled/selection_concat.vg.json +++ b/examples/compiled/selection_concat.vg.json @@ -357,7 +357,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_filter.vg.json b/examples/compiled/selection_filter.vg.json index 66fca00b44..505a39faf7 100644 --- a/examples/compiled/selection_filter.vg.json +++ b/examples/compiled/selection_filter.vg.json @@ -354,7 +354,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_filter_composition.vg.json b/examples/compiled/selection_filter_composition.vg.json index 23a7655f3f..26922b2d98 100644 --- a/examples/compiled/selection_filter_composition.vg.json +++ b/examples/compiled/selection_filter_composition.vg.json @@ -354,7 +354,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_filter_false.vg.json b/examples/compiled/selection_filter_false.vg.json index 1afab12e88..0511ef0c40 100644 --- a/examples/compiled/selection_filter_false.vg.json +++ b/examples/compiled/selection_filter_false.vg.json @@ -354,7 +354,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_filter_true.vg.json b/examples/compiled/selection_filter_true.vg.json index 66fca00b44..505a39faf7 100644 --- a/examples/compiled/selection_filter_true.vg.json +++ b/examples/compiled/selection_filter_true.vg.json @@ -354,7 +354,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_interval_mark_style.vg.json b/examples/compiled/selection_interval_mark_style.vg.json index f49328edbc..0a2dc34025 100644 --- a/examples/compiled/selection_interval_mark_style.vg.json +++ b/examples/compiled/selection_interval_mark_style.vg.json @@ -589,7 +589,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -634,7 +637,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_layer_bar_month.vg.json b/examples/compiled/selection_layer_bar_month.vg.json index bf4b4c590d..557cc28d0a 100644 --- a/examples/compiled/selection_layer_bar_month.vg.json +++ b/examples/compiled/selection_layer_bar_month.vg.json @@ -327,7 +327,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_multi_condition.vg.json b/examples/compiled/selection_multi_condition.vg.json index 809a795d4e..641e46c6e7 100644 --- a/examples/compiled/selection_multi_condition.vg.json +++ b/examples/compiled/selection_multi_condition.vg.json @@ -399,7 +399,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_project_binned_interval.vg.json b/examples/compiled/selection_project_binned_interval.vg.json index 145fcf8212..72735d4648 100644 --- a/examples/compiled/selection_project_binned_interval.vg.json +++ b/examples/compiled/selection_project_binned_interval.vg.json @@ -360,7 +360,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_project_interval.vg.json b/examples/compiled/selection_project_interval.vg.json index 617dbefacc..c15ad980ed 100644 --- a/examples/compiled/selection_project_interval.vg.json +++ b/examples/compiled/selection_project_interval.vg.json @@ -319,7 +319,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_project_interval_x.vg.json b/examples/compiled/selection_project_interval_x.vg.json index 158d58798c..103c8a902d 100644 --- a/examples/compiled/selection_project_interval_x.vg.json +++ b/examples/compiled/selection_project_interval_x.vg.json @@ -262,7 +262,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_project_interval_x_y.vg.json b/examples/compiled/selection_project_interval_x_y.vg.json index 617dbefacc..c15ad980ed 100644 --- a/examples/compiled/selection_project_interval_x_y.vg.json +++ b/examples/compiled/selection_project_interval_x_y.vg.json @@ -319,7 +319,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_project_interval_y.vg.json b/examples/compiled/selection_project_interval_y.vg.json index e9edd1f855..cbb7ea7b21 100644 --- a/examples/compiled/selection_project_interval_y.vg.json +++ b/examples/compiled/selection_project_interval_y.vg.json @@ -262,7 +262,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_resolution_global.vg.json b/examples/compiled/selection_resolution_global.vg.json index b7fe8358d3..42b5206125 100644 --- a/examples/compiled/selection_resolution_global.vg.json +++ b/examples/compiled/selection_resolution_global.vg.json @@ -406,7 +406,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -818,7 +821,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1165,7 +1171,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1576,7 +1585,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -1925,7 +1937,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -2334,7 +2349,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -2685,7 +2703,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -3096,7 +3117,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { @@ -3510,7 +3534,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_resolution_intersect.vg.json b/examples/compiled/selection_resolution_intersect.vg.json index b626c86515..2ff4c477e6 100644 --- a/examples/compiled/selection_resolution_intersect.vg.json +++ b/examples/compiled/selection_resolution_intersect.vg.json @@ -382,7 +382,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -746,7 +749,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1045,7 +1051,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -1408,7 +1417,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1709,7 +1721,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2070,7 +2085,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -2373,7 +2391,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2736,7 +2757,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -3102,7 +3126,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, diff --git a/examples/compiled/selection_resolution_union.vg.json b/examples/compiled/selection_resolution_union.vg.json index 02b5f23bc7..98b8832080 100644 --- a/examples/compiled/selection_resolution_union.vg.json +++ b/examples/compiled/selection_resolution_union.vg.json @@ -382,7 +382,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -746,7 +749,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1045,7 +1051,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -1408,7 +1417,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -1709,7 +1721,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2070,7 +2085,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -2373,7 +2391,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, @@ -2736,7 +2757,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, @@ -3102,7 +3126,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"signal": "brush_y[0]"}, diff --git a/examples/compiled/selection_translate_brush_drag.vg.json b/examples/compiled/selection_translate_brush_drag.vg.json index 7ac727c13e..637060f7ac 100644 --- a/examples/compiled/selection_translate_brush_drag.vg.json +++ b/examples/compiled/selection_translate_brush_drag.vg.json @@ -331,7 +331,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_translate_brush_shift-drag.vg.json b/examples/compiled/selection_translate_brush_shift-drag.vg.json index d70260814f..8bc714a15a 100644 --- a/examples/compiled/selection_translate_brush_shift-drag.vg.json +++ b/examples/compiled/selection_translate_brush_shift-drag.vg.json @@ -333,7 +333,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_type_interval.vg.json b/examples/compiled/selection_type_interval.vg.json index 617dbefacc..c15ad980ed 100644 --- a/examples/compiled/selection_type_interval.vg.json +++ b/examples/compiled/selection_type_interval.vg.json @@ -319,7 +319,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_type_interval_invert.vg.json b/examples/compiled/selection_type_interval_invert.vg.json index 04ca6d0f8d..93286d2692 100644 --- a/examples/compiled/selection_type_interval_invert.vg.json +++ b/examples/compiled/selection_type_interval_invert.vg.json @@ -318,7 +318,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_zoom_brush_shift-wheel.vg.json b/examples/compiled/selection_zoom_brush_shift-wheel.vg.json index 5d496bfd45..53776d4553 100644 --- a/examples/compiled/selection_zoom_brush_shift-wheel.vg.json +++ b/examples/compiled/selection_zoom_brush_shift-wheel.vg.json @@ -333,7 +333,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/selection_zoom_brush_wheel.vg.json b/examples/compiled/selection_zoom_brush_wheel.vg.json index 7ac727c13e..637060f7ac 100644 --- a/examples/compiled/selection_zoom_brush_wheel.vg.json +++ b/examples/compiled/selection_zoom_brush_wheel.vg.json @@ -331,7 +331,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": [ { diff --git a/examples/compiled/trellis_selections.vg.json b/examples/compiled/trellis_selections.vg.json index e8f493be87..07bbe60e26 100644 --- a/examples/compiled/trellis_selections.vg.json +++ b/examples/compiled/trellis_selections.vg.json @@ -534,7 +534,10 @@ "type": "rect", "clip": true, "encode": { - "enter": {"fill": {"value": "transparent"}}, + "enter": { + "cursor": {"value": "move"}, + "fill": {"value": "transparent"} + }, "update": { "x": {"signal": "brush_x[0]"}, "y": {"value": 0}, diff --git a/src/compile/selection/interval.ts b/src/compile/selection/interval.ts index cda65f2b39..12456bfa31 100644 --- a/src/compile/selection/interval.ts +++ b/src/compile/selection/interval.ts @@ -248,6 +248,9 @@ const interval: SelectionCompiler<'interval'> = { return def; }, {}); + // Set cursor to move unless the brush cannot be translated + const vgCursor = cursor ?? (selCmpt.translate ? 'move' : null); + return [ { name: `${name + BRUSH}_bg`, @@ -268,7 +271,7 @@ const interval: SelectionCompiler<'interval'> = { clip: true, encode: { enter: { - ...(cursor ? {cursor: {value: cursor}} : {}), + ...(vgCursor ? {cursor: {value: vgCursor}} : {}), fill: {value: 'transparent'} }, update: {...update, ...vgStroke} diff --git a/test/compile/selection/interval.test.ts b/test/compile/selection/interval.test.ts index 17a0988f9b..3c415a2c6f 100644 --- a/test/compile/selection/interval.test.ts +++ b/test/compile/selection/interval.test.ts @@ -794,7 +794,7 @@ describe('Interval Selections', () => { type: 'rect', clip: true, encode: { - enter: {fill: {value: 'transparent'}}, + enter: {cursor: {value: 'move'}, fill: {value: 'transparent'}}, update: { x: [ { @@ -836,6 +836,47 @@ describe('Interval Selections', () => { } ]); }); + + const brushSelCmpts = parseUnitSelection(model, [ + { + name: 'crosshair', + select: {type: 'interval', clear: false, translate: true, zoom: false, mark: {cursor: 'crosshair'}} + }, + { + name: 'disabled', + select: {type: 'interval', clear: false, translate: false, zoom: false} + } + ]); + + it('should not override manual cursor assignment', () => { + const nameModel = parseUnitModel({ + mark: 'circle', + encoding: { + x: {field: 'x', type: 'quantitative'}, + y: {field: 'y', type: 'quantitative'} + } + }); + nameModel.parseScale(); + + expect(interval.marks(nameModel, brushSelCmpts['crosshair'], [])[1].encode.enter.cursor).toEqual({ + value: 'crosshair' + }); + }); + + it('should not change brush cursor when translate is set to "false"', () => { + const nameModel = parseUnitModel({ + mark: 'circle', + encoding: { + x: {field: 'x', type: 'quantitative'}, + y: {field: 'y', type: 'quantitative'} + } + }); + nameModel.parseScale(); + + expect(interval.marks(model, brushSelCmpts['disabled'], [])[1].encode.enter).toEqual({ + fill: {value: 'transparent'} + }); + }); }); describe('Geo intervals', () => { diff --git a/test/compile/selection/layers.test.ts b/test/compile/selection/layers.test.ts index f3c0e87f6c..050b085935 100644 --- a/test/compile/selection/layers.test.ts +++ b/test/compile/selection/layers.test.ts @@ -276,6 +276,7 @@ describe('Layered Selections', () => { clip: true, encode: { enter: { + cursor: {value: 'move'}, fill: {value: 'transparent'} }, update: {