svelteplot 0.10.3 → 0.11.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.
Files changed (222) hide show
  1. package/dist/Mark.svelte +42 -25
  2. package/dist/Mark.svelte.d.ts +111 -32
  3. package/dist/Plot.svelte +21 -15
  4. package/dist/core/Facet.svelte +1 -1
  5. package/dist/core/FacetAxes.svelte +13 -8
  6. package/dist/core/FacetGrid.svelte +4 -4
  7. package/dist/core/Plot.svelte +41 -35
  8. package/dist/helpers/autoScales.d.ts +3 -3
  9. package/dist/helpers/autoScales.js +28 -18
  10. package/dist/helpers/autoTicks.js +2 -0
  11. package/dist/helpers/callWithProps.d.ts +1 -2
  12. package/dist/helpers/facets.js +0 -1
  13. package/dist/helpers/index.js +1 -1
  14. package/dist/helpers/mergeDeep.d.ts +1 -3
  15. package/dist/helpers/mergeDeep.js +15 -16
  16. package/dist/helpers/projection.d.ts +4 -3
  17. package/dist/helpers/projection.js +17 -5
  18. package/dist/helpers/reduce.d.ts +4 -4
  19. package/dist/helpers/reduce.js +6 -4
  20. package/dist/helpers/regressionLoess.js +2 -1
  21. package/dist/helpers/resolve.d.ts +6 -3
  22. package/dist/helpers/resolve.js +25 -16
  23. package/dist/helpers/scales.d.ts +10 -10
  24. package/dist/helpers/scales.js +43 -13
  25. package/dist/helpers/time.d.ts +10 -3
  26. package/dist/helpers/time.js +2 -1
  27. package/dist/hooks/index.d.ts +2 -0
  28. package/dist/hooks/index.js +2 -0
  29. package/dist/hooks/plotDefaults.d.ts +3 -1
  30. package/dist/hooks/plotDefaults.js +33 -1
  31. package/dist/hooks/usePlot.svelte.d.ts +10 -25
  32. package/dist/hooks/usePlot.svelte.js +8 -7
  33. package/dist/index.d.ts +1 -2
  34. package/dist/index.js +1 -3
  35. package/dist/marks/Area.svelte +24 -13
  36. package/dist/marks/Area.svelte.d.ts +118 -34
  37. package/dist/marks/AreaX.svelte +42 -8
  38. package/dist/marks/AreaX.svelte.d.ts +154 -71
  39. package/dist/marks/AreaY.svelte +42 -8
  40. package/dist/marks/AreaY.svelte.d.ts +154 -71
  41. package/dist/marks/Arrow.svelte +42 -23
  42. package/dist/marks/Arrow.svelte.d.ts +114 -35
  43. package/dist/marks/AxisX.svelte +43 -28
  44. package/dist/marks/AxisX.svelte.d.ts +125 -40
  45. package/dist/marks/AxisY.svelte +43 -26
  46. package/dist/marks/AxisY.svelte.d.ts +127 -40
  47. package/dist/marks/BarX.svelte +12 -10
  48. package/dist/marks/BarX.svelte.d.ts +104 -32
  49. package/dist/marks/BarY.svelte +11 -10
  50. package/dist/marks/BarY.svelte.d.ts +106 -34
  51. package/dist/marks/BollingerX.svelte +4 -7
  52. package/dist/marks/BollingerX.svelte.d.ts +105 -30
  53. package/dist/marks/BollingerY.svelte +3 -0
  54. package/dist/marks/BollingerY.svelte.d.ts +105 -30
  55. package/dist/marks/BoxX.svelte +3 -3
  56. package/dist/marks/BoxY.svelte +12 -9
  57. package/dist/marks/BoxY.svelte.d.ts +128 -53
  58. package/dist/marks/Brush.svelte +26 -21
  59. package/dist/marks/Brush.svelte.d.ts +119 -60
  60. package/dist/marks/Cell.svelte +13 -9
  61. package/dist/marks/Cell.svelte.d.ts +105 -30
  62. package/dist/marks/CellX.svelte +2 -1
  63. package/dist/marks/CellX.svelte.d.ts +105 -32
  64. package/dist/marks/CellY.svelte +2 -1
  65. package/dist/marks/CellY.svelte.d.ts +105 -32
  66. package/dist/marks/ColorLegend.svelte +24 -13
  67. package/dist/marks/ColorLegend.svelte.d.ts +1 -0
  68. package/dist/marks/CustomMark.svelte +16 -10
  69. package/dist/marks/CustomMark.svelte.d.ts +112 -31
  70. package/dist/marks/CustomMarkHTML.svelte +8 -2
  71. package/dist/marks/CustomMarkHTML.svelte.d.ts +8 -2
  72. package/dist/marks/DifferenceY.svelte +31 -20
  73. package/dist/marks/DifferenceY.svelte.d.ts +134 -55
  74. package/dist/marks/Dot.svelte +21 -11
  75. package/dist/marks/Dot.svelte.d.ts +117 -38
  76. package/dist/marks/DotX.svelte +2 -0
  77. package/dist/marks/DotX.svelte.d.ts +136 -62
  78. package/dist/marks/DotY.svelte +1 -0
  79. package/dist/marks/DotY.svelte.d.ts +135 -62
  80. package/dist/marks/Frame.svelte +47 -9
  81. package/dist/marks/Frame.svelte.d.ts +124 -41
  82. package/dist/marks/Geo.svelte +21 -12
  83. package/dist/marks/Geo.svelte.d.ts +105 -30
  84. package/dist/marks/Graticule.svelte +3 -0
  85. package/dist/marks/Graticule.svelte.d.ts +3 -0
  86. package/dist/marks/GridX.svelte +31 -16
  87. package/dist/marks/GridX.svelte.d.ts +108 -32
  88. package/dist/marks/GridY.svelte +30 -15
  89. package/dist/marks/GridY.svelte.d.ts +108 -32
  90. package/dist/marks/HTMLTooltip.svelte +14 -7
  91. package/dist/marks/HTMLTooltip.svelte.d.ts +7 -0
  92. package/dist/marks/Image.svelte +50 -25
  93. package/dist/marks/Image.svelte.d.ts +117 -35
  94. package/dist/marks/Line.svelte +67 -44
  95. package/dist/marks/Line.svelte.d.ts +119 -30
  96. package/dist/marks/LineX.svelte +2 -1
  97. package/dist/marks/LineX.svelte.d.ts +142 -69
  98. package/dist/marks/LineY.svelte +2 -1
  99. package/dist/marks/LineY.svelte.d.ts +142 -69
  100. package/dist/marks/Link.svelte +70 -46
  101. package/dist/marks/Link.svelte.d.ts +126 -41
  102. package/dist/marks/Pointer.svelte +24 -15
  103. package/dist/marks/Pointer.svelte.d.ts +7 -0
  104. package/dist/marks/Rect.svelte +13 -5
  105. package/dist/marks/Rect.svelte.d.ts +116 -35
  106. package/dist/marks/RectX.svelte +6 -3
  107. package/dist/marks/RectX.svelte.d.ts +158 -12
  108. package/dist/marks/RectY.svelte +6 -3
  109. package/dist/marks/RectY.svelte.d.ts +158 -12
  110. package/dist/marks/RegressionX.svelte +13 -6
  111. package/dist/marks/RegressionX.svelte.d.ts +8 -3
  112. package/dist/marks/RegressionY.svelte +13 -6
  113. package/dist/marks/RegressionY.svelte.d.ts +8 -3
  114. package/dist/marks/RuleX.svelte +18 -11
  115. package/dist/marks/RuleX.svelte.d.ts +112 -32
  116. package/dist/marks/RuleY.svelte +19 -12
  117. package/dist/marks/RuleY.svelte.d.ts +114 -34
  118. package/dist/marks/Spike.svelte +11 -5
  119. package/dist/marks/Spike.svelte.d.ts +146 -68
  120. package/dist/marks/Text.svelte +24 -7
  121. package/dist/marks/Text.svelte.d.ts +253 -75
  122. package/dist/marks/TickX.svelte +56 -48
  123. package/dist/marks/TickX.svelte.d.ts +114 -40
  124. package/dist/marks/TickY.svelte +59 -51
  125. package/dist/marks/TickY.svelte.d.ts +117 -43
  126. package/dist/marks/Trail.svelte +25 -13
  127. package/dist/marks/Trail.svelte.d.ts +116 -33
  128. package/dist/marks/Vector.svelte +20 -11
  129. package/dist/marks/Vector.svelte.d.ts +116 -35
  130. package/dist/marks/WaffleX.svelte +18 -16
  131. package/dist/marks/WaffleX.svelte.d.ts +131 -57
  132. package/dist/marks/WaffleY.svelte +16 -15
  133. package/dist/marks/WaffleY.svelte.d.ts +129 -56
  134. package/dist/marks/helpers/Anchor.svelte +17 -2
  135. package/dist/marks/helpers/Anchor.svelte.d.ts +16 -1
  136. package/dist/marks/helpers/AreaCanvas.svelte +8 -8
  137. package/dist/marks/helpers/BaseAxisX.svelte +38 -41
  138. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +11 -17
  139. package/dist/marks/helpers/BaseAxisY.svelte +35 -35
  140. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +12 -15
  141. package/dist/marks/helpers/Box.svelte +35 -28
  142. package/dist/marks/helpers/Box.svelte.d.ts +122 -50
  143. package/dist/marks/helpers/DotCanvas.svelte +11 -9
  144. package/dist/marks/helpers/GeoCanvas.svelte +7 -6
  145. package/dist/marks/helpers/LineCanvas.svelte +7 -7
  146. package/dist/marks/helpers/LinearGradientX.svelte +2 -2
  147. package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
  148. package/dist/marks/helpers/LinearGradientY.svelte +2 -2
  149. package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
  150. package/dist/marks/helpers/Marker.svelte +2 -2
  151. package/dist/marks/helpers/MarkerPath.svelte +15 -12
  152. package/dist/marks/helpers/MarkerPath.svelte.d.ts +105 -32
  153. package/dist/marks/helpers/MultilineText.svelte +24 -17
  154. package/dist/marks/helpers/MultilineText.svelte.d.ts +1 -1
  155. package/dist/marks/helpers/RectCanvas.svelte +31 -26
  156. package/dist/marks/helpers/RectPath.svelte +2 -2
  157. package/dist/marks/helpers/Regression.svelte +176 -86
  158. package/dist/marks/helpers/Regression.svelte.d.ts +20 -8
  159. package/dist/marks/helpers/RuleCanvas.svelte +9 -6
  160. package/dist/marks/helpers/TextCanvas.svelte +13 -9
  161. package/dist/marks/helpers/TextCanvas.svelte.d.ts +6 -6
  162. package/dist/marks/helpers/TickCanvas.svelte +6 -5
  163. package/dist/marks/helpers/TrailCanvas.svelte +16 -18
  164. package/dist/marks/helpers/TrailCanvas.svelte.d.ts +3 -5
  165. package/dist/marks/helpers/canvas.js +16 -9
  166. package/dist/marks/helpers/events.d.ts +2 -2
  167. package/dist/marks/helpers/events.js +14 -7
  168. package/dist/marks/helpers/waffle.d.ts +3 -3
  169. package/dist/marks/helpers/waffle.js +6 -4
  170. package/dist/regression/polynomial.d.ts +1 -1
  171. package/dist/regression/polynomial.js +5 -5
  172. package/dist/regression/utils/determination.d.ts +1 -1
  173. package/dist/regression/utils/determination.js +1 -1
  174. package/dist/regression/utils/geometry.d.ts +1 -1
  175. package/dist/regression/utils/interpose.d.ts +1 -1
  176. package/dist/regression/utils/interpose.js +1 -1
  177. package/dist/regression/utils/points.d.ts +1 -1
  178. package/dist/transforms/bin.d.ts +3 -3
  179. package/dist/transforms/bin.js +29 -20
  180. package/dist/transforms/bollinger.d.ts +8 -0
  181. package/dist/transforms/bollinger.js +9 -1
  182. package/dist/transforms/centroid.d.ts +4 -0
  183. package/dist/transforms/centroid.js +4 -0
  184. package/dist/transforms/density.d.ts +4 -4
  185. package/dist/transforms/density.js +20 -13
  186. package/dist/transforms/dodge.d.ts +12 -1
  187. package/dist/transforms/dodge.js +15 -6
  188. package/dist/transforms/group.d.ts +141 -4
  189. package/dist/transforms/group.js +4 -1
  190. package/dist/transforms/interval.d.ts +204 -60
  191. package/dist/transforms/jitter.d.ts +421 -4
  192. package/dist/transforms/jitter.js +10 -1
  193. package/dist/transforms/map.d.ts +412 -4
  194. package/dist/transforms/map.js +3 -3
  195. package/dist/transforms/normalize.d.ts +276 -5
  196. package/dist/transforms/normalize.js +5 -3
  197. package/dist/transforms/recordize.d.ts +17 -5
  198. package/dist/transforms/recordize.js +13 -9
  199. package/dist/transforms/rename.d.ts +11 -4
  200. package/dist/transforms/rename.js +7 -2
  201. package/dist/transforms/select.d.ts +722 -210
  202. package/dist/transforms/select.js +13 -1
  203. package/dist/transforms/shift.d.ts +8 -0
  204. package/dist/transforms/shift.js +20 -6
  205. package/dist/transforms/sort.d.ts +13 -258
  206. package/dist/transforms/sort.js +13 -10
  207. package/dist/transforms/stack.d.ts +58 -9
  208. package/dist/transforms/stack.js +27 -11
  209. package/dist/transforms/window.d.ts +221 -66
  210. package/dist/transforms/window.js +8 -2
  211. package/dist/types/axes.d.ts +43 -0
  212. package/dist/types/axes.js +1 -0
  213. package/dist/types/channel.d.ts +30 -2
  214. package/dist/types/data.d.ts +14 -1
  215. package/dist/types/facet.d.ts +5 -0
  216. package/dist/types/index.d.ts +33 -8
  217. package/dist/types/index.js +11 -7
  218. package/dist/types/mark.d.ts +124 -35
  219. package/dist/types/plot.d.ts +118 -16
  220. package/dist/types/scale.d.ts +125 -8
  221. package/package.json +178 -175
  222. package/dist/helpers/autoTicks.d.ts +0 -12
@@ -1,6 +1,10 @@
1
1
  import { groupFacetsAndZ } from '../helpers/group.js';
2
2
  import { resolveChannel } from '../helpers/resolve.js';
3
3
  // let o: SelectOptions = { x: 'min'};
4
+ /**
5
+ * selects one datum per group based on the given criteria; use "first"/"last"
6
+ * for positional selection, or `{channel: "min"/"max"}` for value-based selection
7
+ */
4
8
  export function select({ data, ...channels }, options) {
5
9
  const newData = [];
6
10
  groupFacetsAndZ(data, channels, (items) => {
@@ -22,7 +26,11 @@ export function select({ data, ...channels }, options) {
22
26
  ...item,
23
27
  __sortby: resolveChannel(sortOptions[0][0], item, channels)
24
28
  }))
25
- .sort((a, b) => (a.__sortby > b.__sortby ? 1 : a.__sortby < b.__sortby ? -1 : 0))
29
+ .sort((a, b) => a.__sortby > b.__sortby
30
+ ? 1
31
+ : a.__sortby < b.__sortby
32
+ ? -1
33
+ : 0)
26
34
  .at(sortOptions[0][1] === 'min' ? 0 : -1);
27
35
  newData.push(selected);
28
36
  }
@@ -41,15 +49,19 @@ export function selectFirst(args) {
41
49
  export function selectLast(args) {
42
50
  return select(args, 'last');
43
51
  }
52
+ /** keeps only the datum with the smallest x value per group */
44
53
  export function selectMinX(args) {
45
54
  return select(args, { x: 'min' });
46
55
  }
56
+ /** keeps only the datum with the largest x value per group */
47
57
  export function selectMaxX(args) {
48
58
  return select(args, { x: 'max' });
49
59
  }
60
+ /** keeps only the datum with the smallest y value per group */
50
61
  export function selectMinY(args) {
51
62
  return select(args, { y: 'min' });
52
63
  }
64
+ /** keeps only the datum with the largest y value per group */
53
65
  export function selectMaxY(args) {
54
66
  return select(args, { y: 'max' });
55
67
  }
@@ -2,12 +2,20 @@ import type { DataRecord, TransformArg } from '../types/index.js';
2
2
  type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
3
3
  [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
4
4
  }[Keys];
5
+ /** per-channel shift amounts for x channels; values can be numbers or time interval strings (e.g. "1 month") */
5
6
  type ShiftXOptions = {
6
7
  [key in 'x' | 'x1' | 'x2']: string | number;
7
8
  };
9
+ /**
10
+ * shifts the x channel values by a fixed amount or time interval
11
+ */
8
12
  export declare function shiftX({ data, ...channels }: TransformArg<DataRecord>, shiftBy: string | number | RequireAtLeastOne<ShiftXOptions>): TransformArg<DataRecord>;
13
+ /** per-channel shift amounts for y channels; values can be numbers or time interval strings (e.g. "1 month") */
9
14
  type ShiftYOptions = {
10
15
  [key in 'y' | 'y1' | 'y2']: string | number;
11
16
  };
17
+ /**
18
+ * shifts the y channel values by a fixed amount or time interval
19
+ */
12
20
  export declare function shiftY({ data, ...channels }: TransformArg<DataRecord>, shiftBy: string | number | RequireAtLeastOne<ShiftYOptions>): TransformArg<DataRecord>;
13
21
  export {};
@@ -1,21 +1,32 @@
1
1
  import { resolveChannel } from '../helpers/resolve.js';
2
2
  import { maybeTimeInterval } from '../helpers/time.js';
3
+ /**
4
+ * shifts the x channel values by a fixed amount or time interval
5
+ */
3
6
  export function shiftX({ data, ...channels }, shiftBy) {
4
7
  if (typeof shiftBy === 'number' || typeof shiftBy === 'string') {
5
8
  shiftBy = { x: shiftBy };
6
9
  }
7
10
  if (shiftBy) {
8
- if (shiftBy)
9
- return shiftChannels('x', shiftBy, { data, ...channels });
11
+ return shiftChannels('x', shiftBy, {
12
+ data,
13
+ ...channels
14
+ });
10
15
  }
11
16
  return { data, ...channels };
12
17
  }
18
+ /**
19
+ * shifts the y channel values by a fixed amount or time interval
20
+ */
13
21
  export function shiftY({ data, ...channels }, shiftBy) {
14
22
  if (typeof shiftBy === 'number' || typeof shiftBy === 'string') {
15
23
  shiftBy = { y: shiftBy };
16
24
  }
17
25
  if (shiftBy)
18
- return shiftChannels('y', shiftBy, { data, ...channels });
26
+ return shiftChannels('y', shiftBy, {
27
+ data,
28
+ ...channels
29
+ });
19
30
  return { data, ...channels };
20
31
  }
21
32
  function shiftChannels(shiftDim, shiftBy, { data, ...channels }) {
@@ -29,11 +40,14 @@ function shiftChannels(shiftDim, shiftBy, { data, ...channels }) {
29
40
  resolveChannel(shiftFrom, d, channels) + shift;
30
41
  }
31
42
  else if (typeof shift === 'string') {
32
- const [, sign, value, unit] = shift.match(/^([+-])?(\d+)? ?([a-z]+)$/);
33
- const step = (sign === '-' ? -1 : 1) * (value || 1);
43
+ const match = shift.match(/^([+-])?(\d+)? ?([a-z]+)$/);
44
+ if (!match)
45
+ throw new Error(`Invalid shift format: '${shift}'`);
46
+ const [, sign, value, unit] = match;
47
+ const step = (sign === '-' ? -1 : 1) * (Number(value) || 1);
34
48
  const interval = maybeTimeInterval(unit);
35
49
  if (!interval)
36
- throw new Error(`Invalid shift interval: ${shift}`);
50
+ throw new Error(`Invalid shift interval: '${shift}'`);
37
51
  newRow[`__shift_${channel}`] = interval.offset(resolveChannel(shiftFrom, d, channels), step);
38
52
  }
39
53
  }
@@ -1,268 +1,23 @@
1
- import type { DataRow, TransformArg } from '../types/index.js';
2
1
  export declare const SORT_KEY: unique symbol;
3
2
  export declare const IS_SORTED: unique symbol;
4
- export declare function sort<T>({ data, ...channels }: TransformArg<T>, options?: {
5
- reverse?: boolean;
6
- }): {
7
- [IS_SORTED]: string | number | true | symbol | object;
8
- sort: null;
9
- filter?: import("../types/index.js").ConstantAccessor<boolean, T>;
10
- facet?: "auto" | "include" | "exclude" | undefined;
11
- fx?: import("../types/channel.js").ChannelAccessor<T>;
12
- fy?: import("../types/channel.js").ChannelAccessor<T>;
13
- dx?: import("../types/index.js").ConstantAccessor<number, T>;
14
- dy?: import("../types/index.js").ConstantAccessor<number, T>;
15
- dodgeX?: import("./dodge.js").DodgeXOptions | undefined;
16
- dodgeY?: import("./dodge.js").DodgeYOptions | undefined;
17
- fill?: import("../types/channel.js").ChannelAccessor<T>;
18
- fillOpacity?: import("../types/index.js").ConstantAccessor<number, T>;
19
- stroke?: import("../types/channel.js").ChannelAccessor<T>;
20
- strokeWidth?: import("../types/index.js").ConstantAccessor<number, T>;
21
- strokeOpacity?: import("../types/index.js").ConstantAccessor<number, T>;
22
- strokeLinejoin?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, T>;
23
- strokeLinecap?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, T>;
24
- strokeMiterlimit?: import("../types/index.js").ConstantAccessor<number, T>;
25
- opacity?: import("../types/channel.js").ChannelAccessor<T>;
26
- strokeDasharray?: import("../types/index.js").ConstantAccessor<string, T>;
27
- strokeDashoffset?: import("../types/index.js").ConstantAccessor<number, T>;
28
- mixBlendMode?: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, T>;
29
- clipPath?: string | undefined;
30
- mask?: string | undefined;
31
- imageFilter?: import("../types/index.js").ConstantAccessor<string, T>;
32
- shapeRendering?: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, T>;
33
- paintOrder?: import("../types/index.js").ConstantAccessor<string, T>;
34
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
35
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
36
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
37
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
38
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
39
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
40
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
41
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
42
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
43
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
44
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
45
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
46
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
47
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
48
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
49
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
50
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
51
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
52
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
53
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
54
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
55
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
56
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
57
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
58
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
59
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
60
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
61
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
62
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
63
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
64
- class?: string | undefined;
65
- style?: string | undefined;
66
- cursor?: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, T>;
67
- data: T[] | Omit<T & {
68
- [SORT_KEY]: string | number | Date;
69
- }, typeof SORT_KEY>[];
70
- } | {
71
- filter?: import("../types/index.js").ConstantAccessor<boolean, T>;
72
- facet?: "auto" | "include" | "exclude" | undefined;
73
- fx?: import("../types/channel.js").ChannelAccessor<T>;
74
- fy?: import("../types/channel.js").ChannelAccessor<T>;
75
- dx?: import("../types/index.js").ConstantAccessor<number, T>;
76
- dy?: import("../types/index.js").ConstantAccessor<number, T>;
77
- dodgeX?: import("./dodge.js").DodgeXOptions | undefined;
78
- dodgeY?: import("./dodge.js").DodgeYOptions | undefined;
79
- fill?: import("../types/channel.js").ChannelAccessor<T>;
80
- fillOpacity?: import("../types/index.js").ConstantAccessor<number, T>;
81
- sort?: ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | {
82
- channel: string;
83
- order?: "ascending" | "descending";
84
- } | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, T>;
85
- stroke?: import("../types/channel.js").ChannelAccessor<T>;
86
- strokeWidth?: import("../types/index.js").ConstantAccessor<number, T>;
87
- strokeOpacity?: import("../types/index.js").ConstantAccessor<number, T>;
88
- strokeLinejoin?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, T>;
89
- strokeLinecap?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, T>;
90
- strokeMiterlimit?: import("../types/index.js").ConstantAccessor<number, T>;
91
- opacity?: import("../types/channel.js").ChannelAccessor<T>;
92
- strokeDasharray?: import("../types/index.js").ConstantAccessor<string, T>;
93
- strokeDashoffset?: import("../types/index.js").ConstantAccessor<number, T>;
94
- mixBlendMode?: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, T>;
95
- clipPath?: string | undefined;
96
- mask?: string | undefined;
97
- imageFilter?: import("../types/index.js").ConstantAccessor<string, T>;
98
- shapeRendering?: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, T>;
99
- paintOrder?: import("../types/index.js").ConstantAccessor<string, T>;
100
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
101
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
102
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
103
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
104
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
105
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
106
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
107
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
108
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
109
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
110
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
111
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
112
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
113
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
114
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
115
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
116
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
117
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
118
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
119
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
120
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
121
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
122
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
123
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
124
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
125
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
126
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
127
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
128
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
129
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
130
- class?: string | undefined;
131
- style?: string | undefined;
132
- cursor?: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, T>;
3
+ type TransformLike<T = Record<string | symbol, any>> = {
133
4
  data: T[];
134
- };
5
+ } & Record<string | symbol, any>;
6
+ /**
7
+ * sorts the data according to the sort channel option; supports channel
8
+ * accessors, comparator functions, and `{channel, order}` objects
9
+ */
10
+ export declare function sort<T, C extends TransformLike<T> = TransformLike<T>>({ data, ...channels }: C, options?: {
11
+ reverse?: boolean;
12
+ }): C;
135
13
  /**
136
14
  * shuffles the data row order
137
15
  */
138
- export declare function shuffle({ data, ...channels }: TransformArg<DataRow[]>, options?: {
16
+ export declare function shuffle({ data, ...channels }: TransformLike, options?: {
139
17
  seed?: number;
140
- }): {
141
- sort: null;
142
- [IS_SORTED]: boolean;
143
- filter?: import("../types/index.js").ConstantAccessor<boolean, DataRow[]>;
144
- facet?: "auto" | "include" | "exclude" | undefined;
145
- fx?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
146
- fy?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
147
- dx?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
148
- dy?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
149
- dodgeX?: import("./dodge.js").DodgeXOptions | undefined;
150
- dodgeY?: import("./dodge.js").DodgeYOptions | undefined;
151
- fill?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
152
- fillOpacity?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
153
- stroke?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
154
- strokeWidth?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
155
- strokeOpacity?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
156
- strokeLinejoin?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, DataRow[]>;
157
- strokeLinecap?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, DataRow[]>;
158
- strokeMiterlimit?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
159
- opacity?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
160
- strokeDasharray?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
161
- strokeDashoffset?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
162
- mixBlendMode?: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, DataRow[]>;
163
- clipPath?: string | undefined;
164
- mask?: string | undefined;
165
- imageFilter?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
166
- shapeRendering?: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, DataRow[]>;
167
- paintOrder?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
168
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
169
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
170
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
171
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
172
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
173
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
174
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
175
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
176
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
177
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
178
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
179
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
180
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
181
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
182
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
183
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
184
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
185
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
186
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
187
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
188
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
189
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
190
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
191
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
192
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
193
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
194
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
195
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
196
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
197
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
198
- class?: string | undefined;
199
- style?: string | undefined;
200
- cursor?: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, DataRow[]>;
201
- data: DataRow[][];
202
- };
18
+ }): TransformLike;
203
19
  /**
204
20
  * reverses the data row order
205
21
  */
206
- export declare function reverse({ data, ...channels }: TransformArg<DataRow[]>): {
207
- sort: null;
208
- [IS_SORTED]: boolean;
209
- filter?: import("../types/index.js").ConstantAccessor<boolean, DataRow[]>;
210
- facet?: "auto" | "include" | "exclude" | undefined;
211
- fx?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
212
- fy?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
213
- dx?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
214
- dy?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
215
- dodgeX?: import("./dodge.js").DodgeXOptions | undefined;
216
- dodgeY?: import("./dodge.js").DodgeYOptions | undefined;
217
- fill?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
218
- fillOpacity?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
219
- stroke?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
220
- strokeWidth?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
221
- strokeOpacity?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
222
- strokeLinejoin?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, DataRow[]>;
223
- strokeLinecap?: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, DataRow[]>;
224
- strokeMiterlimit?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
225
- opacity?: import("../types/channel.js").ChannelAccessor<DataRow[]>;
226
- strokeDasharray?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
227
- strokeDashoffset?: import("../types/index.js").ConstantAccessor<number, DataRow[]>;
228
- mixBlendMode?: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, DataRow[]>;
229
- clipPath?: string | undefined;
230
- mask?: string | undefined;
231
- imageFilter?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
232
- shapeRendering?: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, DataRow[]>;
233
- paintOrder?: import("../types/index.js").ConstantAccessor<string, DataRow[]>;
234
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
235
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
236
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
237
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
238
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
239
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
240
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
241
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
242
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
243
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
244
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
245
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
246
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
247
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
248
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
249
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
250
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
251
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
252
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
253
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
254
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
255
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
256
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
257
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
258
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
259
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
260
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
261
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
262
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
263
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement> | undefined;
264
- class?: string | undefined;
265
- style?: string | undefined;
266
- cursor?: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, DataRow[]>;
267
- data: DataRow[][];
268
- };
22
+ export declare function reverse({ data, ...channels }: TransformLike): TransformLike;
23
+ export {};
@@ -4,9 +4,11 @@ import { shuffler } from 'd3-array';
4
4
  import { randomLcg } from 'd3-random';
5
5
  export const SORT_KEY = Symbol('sortKey');
6
6
  export const IS_SORTED = Symbol('isSorted');
7
+ /**
8
+ * sorts the data according to the sort channel option; supports channel
9
+ * accessors, comparator functions, and `{channel, order}` objects
10
+ */
7
11
  export function sort({ data, ...channels }, options = {}) {
8
- if (!Array.isArray(data))
9
- return { data, ...channels };
10
12
  if (channels.sort) {
11
13
  const { sort } = channels;
12
14
  if (isDataRecord(sort) &&
@@ -23,15 +25,16 @@ export function sort({ data, ...channels }, options = {}) {
23
25
  data: isComparator
24
26
  ? data.toSorted(channels.sort)
25
27
  : data
26
- .map((d) => ({
27
- ...d,
28
- [SORT_KEY]: resolveChannel('sort', d, { ...channels, sort })
28
+ .map((datum) => ({
29
+ datum,
30
+ [SORT_KEY]: resolveChannel('sort', datum, { ...channels, sort })
29
31
  }))
30
- .map((d) => ({
31
- ...d,
32
- [SORT_KEY]: typeof d[SORT_KEY] === 'number' && !Number.isFinite(d[SORT_KEY])
32
+ .map((entry) => ({
33
+ ...entry,
34
+ [SORT_KEY]: typeof entry[SORT_KEY] === 'number' &&
35
+ !Number.isFinite(entry[SORT_KEY])
33
36
  ? Number.POSITIVE_INFINITY
34
- : d[SORT_KEY]
37
+ : entry[SORT_KEY]
35
38
  }))
36
39
  .toSorted((a, b) => (typeof a[SORT_KEY] === 'string' && typeof b[SORT_KEY] === 'string'
37
40
  ? a[SORT_KEY].localeCompare(b[SORT_KEY])
@@ -44,7 +47,7 @@ export function sort({ data, ...channels }, options = {}) {
44
47
  (isDataRecord(sort) && sort?.order === 'descending')
45
48
  ? -1
46
49
  : 1))
47
- .map(({ [SORT_KEY]: a, ...rest }) => rest),
50
+ .map((entry) => entry.datum),
48
51
  ...channels,
49
52
  [IS_SORTED]: sort,
50
53
  // set the sort channel to null to disable the implicit alphabetical
@@ -1,17 +1,46 @@
1
- import type { ChannelAccessor, TransformArg } from '../types/index.js';
1
+ import type { ChannelAccessor, TransformArg, Channels } from '../types/index.js';
2
+ /** the order in which series are stacked */
2
3
  export type StackOrder = 'none' | 'appearance' | 'inside-out' | 'sum';
4
+ /** the offset method used to position stacked values */
3
5
  export type StackOffset = 'none' | 'wiggle' | 'center' | 'normalize' | 'diverging';
6
+ /** options for the stack transform, or false to disable stacking */
4
7
  export type StackOptions = {
8
+ /** the offset method, or null for the default (zero baseline) */
5
9
  offset: null | StackOffset;
10
+ /** the stack order, or null for the default (input order) */
6
11
  order: null | StackOrder;
12
+ /** if true, reverse the stack order */
7
13
  reverse: boolean;
8
14
  } | false;
15
+ /**
16
+ * stacks data along the y dimension, producing y1 and y2 channels
17
+ */
9
18
  export declare function stackY<T>({ data, ...channels }: TransformArg<T>, opts?: Partial<StackOptions>): TransformArg<T>;
19
+ /**
20
+ * stacks data along the x dimension, producing x1 and x2 channels
21
+ */
10
22
  export declare function stackX<T>({ data, ...channels }: TransformArg<T>, opts?: Partial<StackOptions>): TransformArg<T>;
11
- export declare function stackMosaicX<T>(args: any, opts: any): {
12
- fx: ChannelAccessor<unknown>;
13
- fy: ChannelAccessor<unknown>;
14
- data: unknown[];
23
+ declare function stackMosaic<T>({ data, x, y, value, fx, fy, ...rest }: {
24
+ data: T[];
25
+ x: ChannelAccessor<T>;
26
+ y: ChannelAccessor<T>;
27
+ value: ChannelAccessor<T>;
28
+ fx?: ChannelAccessor<T>;
29
+ fy?: ChannelAccessor<T>;
30
+ } & Channels<T>, { outer, inner }: {
31
+ outer: 'x' | 'y';
32
+ inner: 'x' | 'y';
33
+ }, { x: xOpt, y: yOpt }?: {
34
+ x?: {
35
+ percent?: boolean;
36
+ };
37
+ y?: {
38
+ percent?: boolean;
39
+ };
40
+ }): {
41
+ fx: ChannelAccessor<T>;
42
+ fy: ChannelAccessor<T>;
43
+ data: T[];
15
44
  x: symbol;
16
45
  x1: symbol;
17
46
  x2: symbol;
@@ -19,10 +48,14 @@ export declare function stackMosaicX<T>(args: any, opts: any): {
19
48
  y1: symbol;
20
49
  y2: symbol;
21
50
  };
22
- export declare function stackMosaicY<T>(args: any, opts: any): {
23
- fx: ChannelAccessor<unknown>;
24
- fy: ChannelAccessor<unknown>;
25
- data: unknown[];
51
+ /**
52
+ * creates a mosaic layout with the outer (width) dimension along x and
53
+ * the inner (height) dimension along y
54
+ */
55
+ export declare function stackMosaicX<T>(args: Parameters<typeof stackMosaic<T>>[0], opts?: Parameters<typeof stackMosaic<T>>[2]): {
56
+ fx: ChannelAccessor<T>;
57
+ fy: ChannelAccessor<T>;
58
+ data: T[];
26
59
  x: symbol;
27
60
  x1: symbol;
28
61
  x2: symbol;
@@ -30,3 +63,19 @@ export declare function stackMosaicY<T>(args: any, opts: any): {
30
63
  y1: symbol;
31
64
  y2: symbol;
32
65
  };
66
+ /**
67
+ * creates a mosaic layout with the outer (height) dimension along y and
68
+ * the inner (width) dimension along x
69
+ */
70
+ export declare function stackMosaicY<T>(args: Parameters<typeof stackMosaic<T>>[0], opts?: Parameters<typeof stackMosaic<T>>[2]): {
71
+ fx: ChannelAccessor<T>;
72
+ fy: ChannelAccessor<T>;
73
+ data: T[];
74
+ x: symbol;
75
+ x1: symbol;
76
+ x2: symbol;
77
+ y: symbol;
78
+ y1: symbol;
79
+ y2: symbol;
80
+ };
81
+ export {};