diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json index 1ee4fbd258..75e4602c1e 100644 --- a/build/vega-lite-schema.json +++ b/build/vega-lite-schema.json @@ -4430,7 +4430,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4452,7 +4452,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4462,7 +4462,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4472,7 +4472,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4486,7 +4486,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] } @@ -4502,7 +4502,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4553,7 +4553,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4573,7 +4573,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4583,7 +4583,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -4597,7 +4597,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8338,7 +8338,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8348,7 +8348,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8378,7 +8378,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8388,7 +8388,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8461,7 +8461,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8479,7 +8479,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] } @@ -8527,7 +8527,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, @@ -8545,7 +8545,7 @@ "type": "boolean" }, { - "$ref": "#/definitions/MarkConfig" + "$ref": "#/definitions/AnyMarkConfig" } ] }, diff --git a/src/compositemark/common.ts b/src/compositemark/common.ts index 93dacda360..b806c259bb 100644 --- a/src/compositemark/common.ts +++ b/src/compositemark/common.ts @@ -16,13 +16,14 @@ import { import {Encoding, fieldDefs} from '../encoding'; import {ExprRef} from '../expr'; import * as log from '../log'; -import {ColorMixins, GenericMarkDef, isMarkDef, Mark, MarkConfig, MarkDef} from '../mark'; +import {ColorMixins, GenericMarkDef, isMarkDef, Mark, AnyMarkConfig, MarkDef} from '../mark'; import {GenericUnitSpec, NormalizedUnitSpec} from '../spec'; import {getFirstDefined, hash, unique} from '../util'; import {isSignalRef} from '../vega.schema'; import {toStringFieldDef} from './../channeldef'; -export type PartsMixins

= Partial>>; +// Parts mixins can be any mark type. We could make a more specific type for each part. +export type PartsMixins

= Partial>>; export type GenericCompositeMarkDef = GenericMarkDef & ColorMixins & { @@ -207,13 +208,13 @@ export function partLayerMixins

>( { ...partBaseSpec, mark: { - ...(compositeMarkConfig[part] as MarkConfig), + ...(compositeMarkConfig[part] as AnyMarkConfig), ...(clip ? {clip} : {}), ...(color ? {color} : {}), ...(opacity ? {opacity} : {}), ...(isMarkDef(partBaseSpec.mark) ? partBaseSpec.mark : {type: partBaseSpec.mark}), style: `${mark}-${String(part)}`, - ...(isBoolean(markDef[part]) ? {} : (markDef[part] as MarkConfig)) + ...(isBoolean(markDef[part]) ? {} : (markDef[part] as AnyMarkConfig)) } } ];