svelteplot 0.4.5 → 0.4.6-pr-211.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.
@@ -6,7 +6,7 @@ type SchemeGetter = (n: number) => readonly string[];
6
6
  export declare function isOrdinalScheme(scheme: ColorScheme): boolean;
7
7
  export declare function ordinalScheme(scheme: string): SchemeGetter | undefined;
8
8
  export declare function ordinalRange(scheme: string, length: number): readonly string[] | undefined;
9
- export declare function maybeBooleanRange(domain: boolean[], scheme?: string): unknown[] | undefined;
9
+ export declare function maybeBooleanRange(domain: boolean[], scheme?: string): any[] | undefined;
10
10
  export declare function isQuantitativeScheme(scheme: string): boolean;
11
11
  export declare function quantitativeScheme(scheme: string): typeof interpolateBrBG | undefined;
12
12
  export declare function isDivergingScheme(scheme: string): boolean;
@@ -3,8 +3,8 @@ import type { Snippet } from 'svelte';
3
3
  /**
4
4
  * Returns first argument that is not null or undefined
5
5
  */
6
- export declare function coalesce(...args: (RawValue | undefined | null)[]): RawValue | null;
7
- export declare function testFilter<T>(datum: T, options: Channels<T>): true | T | null;
6
+ export declare function coalesce(...args: (RawValue | undefined | null)[]): any;
7
+ export declare function testFilter<T>(datum: T, options: Channels<T>): any;
8
8
  export declare function randomId(): string;
9
9
  export declare function isSnippet(value: unknown): value is Snippet;
10
10
  export declare function isValid(value: RawValue | undefined): value is number | Date | string;
@@ -15,7 +15,7 @@ export declare function createScale<T extends ScaleOptions>(name: ScaleName, sca
15
15
  autoTitle?: undefined;
16
16
  } | {
17
17
  type: ScaleType;
18
- domain: RawValue[] | [undefined, undefined];
18
+ domain: any;
19
19
  range: any;
20
20
  fn: any;
21
21
  skip: Map<ScaledChannelName, Set<symbol>>;
@@ -28,7 +28,7 @@ export declare function createScale<T extends ScaleOptions>(name: ScaleName, sca
28
28
  * Infer a scale type based on the scale name, the data values mapped to it and
29
29
  * the mark types that are bound to the scale
30
30
  */
31
- export declare function inferScaleType(name: ScaleName, dataValues: RawValue[], markTypes: Set<MarkType>): ScaleType;
31
+ export declare function inferScaleType(name: ScaleName, dataValues: RawValue[], markTypes: Set<MarkType>, scaleOptions?: Partial<ScaleOptions>): ScaleType;
32
32
  /**
33
33
  * Mark channels can explicitly or implicitly be exempt from being
34
34
  * mapped to a scale, so everywhere where values are being mapped to
@@ -1,5 +1,5 @@
1
1
  import { extent, ascending } from 'd3-array';
2
- import { isColorOrNull, isDateOrNull, isNumberOrNull, isNumberOrNullOrNaN, isStringOrNull } from './typeChecks.js';
2
+ import { isColorOrNull, isDate, isDateOrNull, isNumberOrNull, isNumberOrNullOrNaN, isStringOrNull } from './typeChecks.js';
3
3
  import { CHANNEL_SCALE, VALID_SCALE_TYPES } from '../constants.js';
4
4
  import { isSymbolOrNull } from './typeChecks.js';
5
5
  import { resolveProp, toChannelOption } from './resolve.js';
@@ -146,7 +146,7 @@ export function createScale(name, scaleOptions, marks, plotOptions, plotWidth, p
146
146
  // construct domain from data values
147
147
  const valueArr = [...dataValues.values(), ...(scaleOptions.domain || [])].filter((d) => d != null);
148
148
  const type = scaleOptions.type === 'auto'
149
- ? inferScaleType(name, valueArr, markTypes)
149
+ ? inferScaleType(name, valueArr, markTypes, scaleOptions)
150
150
  : scaleOptions.type;
151
151
  if (VALID_SCALE_TYPES[name] && !VALID_SCALE_TYPES[name].has(type)) {
152
152
  throw new Error(`Invalid scale type ${type} for scale
@@ -217,11 +217,15 @@ function domainFromInterval(domain, interval, name) {
217
217
  const out = interval_.range(lo, interval_.offset(hi));
218
218
  return name === 'y' ? out.toReversed() : out;
219
219
  }
220
+ const markTypesWithBandDefault = {
221
+ x: new Set(['barY', 'cell', 'tickY']),
222
+ y: new Set(['barX', 'cell', 'tickX'])
223
+ };
220
224
  /**
221
225
  * Infer a scale type based on the scale name, the data values mapped to it and
222
226
  * the mark types that are bound to the scale
223
227
  */
224
- export function inferScaleType(name, dataValues, markTypes) {
228
+ export function inferScaleType(name, dataValues, markTypes, scaleOptions = {}) {
225
229
  if (name === 'color') {
226
230
  if (!dataValues.length)
227
231
  return 'ordinal';
@@ -235,15 +239,22 @@ export function inferScaleType(name, dataValues, markTypes) {
235
239
  }
236
240
  if (name === 'symbol')
237
241
  return 'ordinal';
238
- // for positional scales, try to pick a scale that's required by the mark types
239
242
  if (name === 'x' || name === 'y') {
240
- if (name === 'y' &&
241
- (markTypes.has('barX') || markTypes.has('tickX') || markTypes.has('cell')))
242
- return 'band';
243
- if (name === 'x' &&
244
- (markTypes.has('barY') || markTypes.has('tickY') || markTypes.has('cell')))
245
- return 'band';
243
+ // if for a positional scale we may infer the scale type from the scale options
244
+ if (scaleOptions.nice || scaleOptions.zero)
245
+ return 'linear';
246
+ if (scaleOptions.domain && scaleOptions.domain.length === 2) {
247
+ if (scaleOptions.domain.every(Number.isFinite))
248
+ return 'linear';
249
+ if (scaleOptions.domain.every(isDate))
250
+ return 'time';
251
+ }
246
252
  }
253
+ // for positional scales, try to pick a scale that's required by the mark types
254
+ if (name === 'y' && Array.from(markTypes).some((d) => markTypesWithBandDefault.y.has(d)))
255
+ return 'band';
256
+ if (name === 'x' && Array.from(markTypes).some((d) => markTypesWithBandDefault.x.has(d)))
257
+ return 'band';
247
258
  if (!dataValues.length)
248
259
  return 'linear';
249
260
  if (dataValues.length === 1)
@@ -1,10 +1,10 @@
1
1
  import type { RawValue } from '../types/index.js';
2
- export declare function isBooleanOrNull(v: RawValue): v is boolean;
2
+ export declare function isBooleanOrNull(v: RawValue): boolean;
3
3
  export declare function isDate(v: RawValue): v is Date;
4
- export declare function isDateOrNull(v: RawValue | null | undefined): v is Date | null | undefined;
4
+ export declare function isDateOrNull(v: RawValue | null | undefined): boolean;
5
5
  export declare function isNumberOrNull(v: RawValue | null | undefined): boolean;
6
6
  export declare function isNumberOrNullOrNaN(v: RawValue | null | undefined): boolean;
7
- export declare function isStringOrNull(v: RawValue | null | undefined): v is string | null | undefined;
7
+ export declare function isStringOrNull(v: RawValue | null | undefined): boolean;
8
8
  export declare function isSymbolOrNull(v: RawValue | null | undefined): boolean;
9
- export declare function isColorOrNull(v: RawValue | null | undefined): boolean;
9
+ export declare function isColorOrNull(v: RawValue | null | undefined): any;
10
10
  export declare function isOpacityOrNull(v: RawValue): boolean;
@@ -1,3 +1,4 @@
1
+ import { renameChannels } from '../transforms/rename.js';
1
2
  import type { ChannelAccessor, DataRow } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
@@ -72,7 +73,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
72
73
  sort?: import("../types/index.js").ConstantAccessor<import("../types/data").RawValue> | {
73
74
  channel: "stroke" | "fill";
74
75
  };
75
- stack?: Partial<import("../transforms/stack.js").StackOptions>;
76
+ stack?: Partial<renameChannels>;
76
77
  canvas?: boolean;
77
78
  }, "y1" | "y2"> & {
78
79
  x?: ChannelAccessor<Datum>;
@@ -1,3 +1,4 @@
1
+ import { renameChannels } from '../transforms/rename.js';
1
2
  import type { ChannelAccessor, DataRow } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
@@ -72,7 +73,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
72
73
  sort?: import("../types/index.js").ConstantAccessor<import("../types/data").RawValue> | {
73
74
  channel: "stroke" | "fill";
74
75
  };
75
- stack?: Partial<import("../transforms/stack.js").StackOptions>;
76
+ stack?: Partial<renameChannels>;
76
77
  canvas?: boolean;
77
78
  }, "x1" | "x2"> & {
78
79
  x?: ChannelAccessor<Datum>;
@@ -51,7 +51,7 @@
51
51
  /** approximate number of pixels between generated ticks */
52
52
  tickSpacing?: number;
53
53
  /** text anchor for axis labels */
54
- textAnchor?: ConstantAccessor<CSS.Property.TextAnchor, Datum>;
54
+ textAnchor?: ConstantAccessor<CSS.Property.TextAnchor | 'auto', Datum>;
55
55
  }
56
56
 
57
57
  let markProps: AxisXMarkProps = $props();
@@ -61,7 +61,7 @@
61
61
  tickPadding: 3,
62
62
  tickFontSize: 11,
63
63
  titleFontSize: 11,
64
- textAnchor: 'middle',
64
+ textAnchor: 'auto',
65
65
  opacity: 0.8,
66
66
  anchor: 'bottom',
67
67
  ...getContext<PlotDefaults>('svelteplot/_defaults').axis,
@@ -61,7 +61,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
61
61
  class?: string;
62
62
  style?: string;
63
63
  cursor: ConstantAccessor<CSS.Property.Cursor, Datum>;
64
- }>, "fillOpacity" | "href" | "target" | "paintOrder" | "title"> & {
64
+ }>, "fillOpacity" | "href" | "target" | "title" | "paintOrder"> & {
65
65
  data?: Datum[] | undefined;
66
66
  automatic?: boolean;
67
67
  title?: string | false | null;
@@ -84,7 +84,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
84
84
  /** approximate number of pixels between generated ticks */
85
85
  tickSpacing?: number;
86
86
  /** text anchor for axis labels */
87
- textAnchor?: ConstantAccessor<CSS.Property.TextAnchor, Datum>;
87
+ textAnchor?: ConstantAccessor<"auto" | CSS.Property.TextAnchor, Datum>;
88
88
  };
89
89
  events(): {};
90
90
  slots(): {};
@@ -61,7 +61,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
61
61
  class?: string;
62
62
  style?: string;
63
63
  cursor: ConstantAccessor<CSS.Property.Cursor, Datum>;
64
- }>, "fillOpacity" | "href" | "target" | "paintOrder" | "title"> & {
64
+ }>, "fillOpacity" | "href" | "target" | "title" | "paintOrder"> & {
65
65
  data?: Datum[] | undefined;
66
66
  automatic?: boolean;
67
67
  title?: string | false | null;
@@ -14,7 +14,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
14
14
  sort: {
15
15
  channel: string;
16
16
  order?: "ascending" | "descending";
17
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
17
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Datum>;
18
18
  stroke: ChannelAccessor<Datum>;
19
19
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
20
20
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
@@ -1,78 +1,6 @@
1
- import type { ChannelAccessor, DataRecord } from '../types/index.js';
1
+ import type { DataRecord } from '../types/index.js';
2
2
  declare class __sveltets_Render<Datum extends DataRecord> {
3
- props(): Partial<{
4
- filter?: import("../types/index.js").ConstantAccessor<boolean, Datum>;
5
- facet?: "auto" | "include" | "exclude";
6
- fx: ChannelAccessor<Datum>;
7
- fy: ChannelAccessor<Datum>;
8
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- fill: ChannelAccessor<Datum>;
11
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- sort: {
13
- channel: string;
14
- order?: "ascending" | "descending";
15
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
16
- stroke: ChannelAccessor<Datum>;
17
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
18
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
20
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
21
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- opacity: ChannelAccessor<Datum>;
23
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
24
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
26
- clipPath: string;
27
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
28
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
29
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
30
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
31
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- class?: string;
61
- style?: string;
62
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
- }> & {
64
- data: Datum[];
65
- x?: ChannelAccessor<Datum>;
66
- y?: ChannelAccessor<Datum>;
67
- /**
68
- * the window size (the window transform's k option), an integer; defaults to 20
69
- */
70
- n?: number;
71
- /**
72
- * the band radius, a number representing a multiple of standard deviations; defaults to 2
73
- */
74
- k?: number;
75
- };
3
+ props(): any;
76
4
  events(): {};
77
5
  slots(): {};
78
6
  bindings(): "";
@@ -1,78 +1,6 @@
1
- import type { ChannelAccessor, DataRecord } from '../types/index.js';
1
+ import type { DataRecord } from '../types/index.js';
2
2
  declare class __sveltets_Render<Datum extends DataRecord> {
3
- props(): Partial<{
4
- filter?: import("../types/index.js").ConstantAccessor<boolean, Datum>;
5
- facet?: "auto" | "include" | "exclude";
6
- fx: ChannelAccessor<Datum>;
7
- fy: ChannelAccessor<Datum>;
8
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- fill: ChannelAccessor<Datum>;
11
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- sort: {
13
- channel: string;
14
- order?: "ascending" | "descending";
15
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
16
- stroke: ChannelAccessor<Datum>;
17
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
18
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
20
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
21
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- opacity: ChannelAccessor<Datum>;
23
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
24
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
26
- clipPath: string;
27
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
28
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
29
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
30
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
31
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- class?: string;
61
- style?: string;
62
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
- }> & {
64
- data: Datum[];
65
- x?: ChannelAccessor<Datum>;
66
- y?: ChannelAccessor<Datum>;
67
- /**
68
- * the window size (the window transform's k option), an integer; defaults to 20
69
- */
70
- n?: number;
71
- /**
72
- * the band radius, a number representing a multiple of standard deviations; defaults to 2
73
- */
74
- k?: number;
75
- };
3
+ props(): any;
76
4
  events(): {};
77
5
  slots(): {};
78
6
  bindings(): "";
@@ -1,85 +1,6 @@
1
- import type { DataRecord, ChannelAccessor, ScaledDataRecord, UsedScales } from '../types/index.js';
2
- import type { Snippet } from 'svelte';
1
+ import type { DataRecord } from '../types/index.js';
3
2
  declare class __sveltets_Render<Datum extends DataRecord> {
4
- props(): Partial<{
5
- filter?: import("../types/index.js").ConstantAccessor<boolean, Datum>;
6
- facet?: "auto" | "include" | "exclude";
7
- fx: ChannelAccessor<Datum>;
8
- fy: ChannelAccessor<Datum>;
9
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- fill: ChannelAccessor<Datum>;
12
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
13
- sort: {
14
- channel: string;
15
- order?: "ascending" | "descending";
16
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
17
- stroke: ChannelAccessor<Datum>;
18
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
20
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
23
- opacity: ChannelAccessor<Datum>;
24
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
25
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
26
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
- clipPath: string;
28
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
29
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- class?: string;
62
- style?: string;
63
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
64
- }> & {
65
- data?: Datum[] | undefined;
66
- x?: ChannelAccessor<Datum>;
67
- x1?: ChannelAccessor<Datum>;
68
- x2?: ChannelAccessor<Datum>;
69
- y?: ChannelAccessor<Datum>;
70
- y1?: ChannelAccessor<Datum>;
71
- y2?: ChannelAccessor<Datum>;
72
- r?: ChannelAccessor<Datum>;
73
- mark?: Snippet<[{
74
- record: ScaledDataRecord<Datum>;
75
- index: number;
76
- usedScales: UsedScales;
77
- }]> | undefined;
78
- marks?: Snippet<[{
79
- records: ScaledDataRecord<Datum>[];
80
- usedScales: UsedScales;
81
- }]> | undefined;
82
- };
3
+ props(): any;
83
4
  events(): {};
84
5
  slots(): {};
85
6
  bindings(): "";
@@ -1,83 +1,23 @@
1
1
  import type { ChannelAccessor, CurveName, DataRecord } from '../types/index.js';
2
2
  import type { CurveFactory } from 'd3-shape';
3
3
  declare class __sveltets_Render<Datum extends DataRecord> {
4
- props(): Omit<Partial<{
5
- filter?: import("../types/index.js").ConstantAccessor<boolean, Datum>;
6
- facet?: "auto" | "include" | "exclude";
7
- fx: ChannelAccessor<Datum>;
8
- fy: ChannelAccessor<Datum>;
9
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- fill: ChannelAccessor<Datum>;
12
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
13
- sort: {
14
- channel: string;
15
- order?: "ascending" | "descending";
16
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
17
- stroke: ChannelAccessor<Datum>;
18
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
20
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
23
- opacity: ChannelAccessor<Datum>;
24
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
25
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
26
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
- clipPath: string;
28
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
29
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- class?: string;
62
- style?: string;
63
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
64
- }>, "fill" | "fillOpacity"> & {
4
+ props(): Omit<BaseMarkProps<Datum_1>, "fill" | "fillOpacity"> & {
65
5
  data: Datum[];
66
- x1: ChannelAccessor<Datum>;
6
+ x1: ChannelAccessor<Datum_1>;
67
7
  /**
68
8
  * the horizontal position of the metric; bound to the x scale
69
9
  */
70
- x2: ChannelAccessor<Datum>;
71
- x: ChannelAccessor<Datum>;
10
+ x2: ChannelAccessor<Datum_1>;
11
+ x: ChannelAccessor<Datum_1>;
72
12
  /**
73
13
  * the vertical position of the comparison; bound to the y scale
74
14
  */
75
- y1: ChannelAccessor<Datum>;
15
+ y1: ChannelAccessor<Datum_1>;
76
16
  /**
77
17
  * the vertical position of the metric; bound to the y scale
78
18
  */
79
- y2: ChannelAccessor<Datum>;
80
- y: ChannelAccessor<Datum>;
19
+ y2: ChannelAccessor<Datum_1>;
20
+ y: ChannelAccessor<Datum_1>;
81
21
  fillOpacity?: number;
82
22
  /**
83
23
  * the stroke color of the "positive" area; defaults to 'blue'
@@ -14,7 +14,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
14
14
  sort: {
15
15
  channel: string;
16
16
  order?: "ascending" | "descending";
17
- } | ((a: RawValue, b: RawValue) => number) | ConstantAccessor<RawValue, Datum>;
17
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
18
18
  stroke: ChannelAccessor<Datum>;
19
19
  strokeWidth: ConstantAccessor<number, Datum>;
20
20
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -72,7 +72,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
72
72
  outlineStrokeOpacity?: number;
73
73
  curve?: CurveName | CurveFactory | "auto";
74
74
  tension?: number;
75
- sort?: ConstantAccessor<RawValue, Datum> | {
75
+ sort?: ConstantAccessor<RawValue, Datum_1> | {
76
76
  channel: "stroke" | "fill";
77
77
  };
78
78
  text?: ConstantAccessor<string, Datum>;
@@ -1,3 +1,4 @@
1
+ import { recordizeX } from '../index.js';
1
2
  import type { DataRow } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<import("../types").MarkerOptions & Partial<{
@@ -70,7 +71,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
70
71
  outlineStrokeOpacity?: number;
71
72
  curve?: import("../types").CurveName | import("d3-shape").CurveFactory | "auto";
72
73
  tension?: number;
73
- sort?: import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>> | {
74
+ sort?: import("../types").ConstantAccessor<recordizeX, Datum_1> | {
74
75
  channel: "stroke" | "fill";
75
76
  };
76
77
  text?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
@@ -1,3 +1,4 @@
1
+ import { recordizeY } from '../index.js';
1
2
  import type { DataRow } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<import("../types").MarkerOptions & Partial<{
@@ -70,7 +71,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
70
71
  outlineStrokeOpacity?: number;
71
72
  curve?: import("../types").CurveName | import("d3-shape").CurveFactory | "auto";
72
73
  tension?: number;
73
- sort?: import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>> | {
74
+ sort?: import("../types").ConstantAccessor<recordizeY, Datum_1> | {
74
75
  channel: "stroke" | "fill";
75
76
  };
76
77
  text?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
@@ -35,6 +35,7 @@
35
35
  dx: ConstantAccessor<number>;
36
36
  dy: ConstantAccessor<number>;
37
37
  filter: ChannelAccessor;
38
+ textAnchor: ConstantAccessor<'start' | 'middle' | 'end'> | 'auto';
38
39
  };
39
40
  text: boolean;
40
41
  plot: PlotState;
@@ -187,6 +188,15 @@
187
188
  {
188
189
  fontVariant: isQuantitative ? 'tabular-nums' : 'normal',
189
190
  ...options,
191
+ textAnchor:
192
+ options.textAnchor === 'auto'
193
+ ? // automatically adjust text anchor based on rotation
194
+ tickRotate < 0
195
+ ? 'end'
196
+ : tickRotate > 0
197
+ ? 'start'
198
+ : 'middle'
199
+ : options.textAnchor,
190
200
  fontSize: tickFontSize_,
191
201
  stroke: null
192
202
  },