@malloydata/render 0.0.24-dev230224184907 → 0.0.24-dev230228224434

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 (58) hide show
  1. package/dist/data_styles.d.ts +27 -27
  2. package/dist/drill.d.ts +1 -1
  3. package/dist/drill.js +12 -12
  4. package/dist/html/bar_chart.d.ts +4 -4
  5. package/dist/html/bar_chart.js +5 -5
  6. package/dist/html/boolean.d.ts +2 -2
  7. package/dist/html/bytes.d.ts +2 -2
  8. package/dist/html/bytes.js +1 -1
  9. package/dist/html/cartesian_chart.d.ts +4 -4
  10. package/dist/html/cartesian_chart.js +30 -30
  11. package/dist/html/chart.d.ts +5 -5
  12. package/dist/html/chart.js +10 -10
  13. package/dist/html/container.d.ts +3 -3
  14. package/dist/html/currency.d.ts +2 -2
  15. package/dist/html/currency.js +4 -4
  16. package/dist/html/dashboard.d.ts +3 -3
  17. package/dist/html/dashboard.js +32 -31
  18. package/dist/html/date.d.ts +2 -2
  19. package/dist/html/date.js +2 -2
  20. package/dist/html/html_view.d.ts +3 -3
  21. package/dist/html/html_view.js +40 -40
  22. package/dist/html/image.d.ts +2 -2
  23. package/dist/html/image.js +2 -2
  24. package/dist/html/index.d.ts +1 -1
  25. package/dist/html/json.d.ts +2 -2
  26. package/dist/html/json.js +2 -2
  27. package/dist/html/line_chart.d.ts +4 -4
  28. package/dist/html/line_chart.js +6 -6
  29. package/dist/html/link.d.ts +2 -2
  30. package/dist/html/link.js +4 -4
  31. package/dist/html/list.d.ts +3 -3
  32. package/dist/html/list.js +7 -7
  33. package/dist/html/list_detail.d.ts +2 -2
  34. package/dist/html/number.d.ts +2 -2
  35. package/dist/html/percent.d.ts +2 -2
  36. package/dist/html/percent.js +1 -1
  37. package/dist/html/point_map.d.ts +4 -4
  38. package/dist/html/point_map.js +69 -69
  39. package/dist/html/scatter_chart.d.ts +4 -4
  40. package/dist/html/scatter_chart.js +6 -6
  41. package/dist/html/segment_map.d.ts +4 -4
  42. package/dist/html/segment_map.js +61 -61
  43. package/dist/html/shape_map.d.ts +4 -4
  44. package/dist/html/shape_map.js +73 -73
  45. package/dist/html/state_codes.js +108 -108
  46. package/dist/html/table.d.ts +3 -3
  47. package/dist/html/table.js +16 -16
  48. package/dist/html/text.d.ts +2 -2
  49. package/dist/html/text.js +1 -1
  50. package/dist/html/unsupported.d.ts +2 -2
  51. package/dist/html/unsupported.js +4 -4
  52. package/dist/html/utils.d.ts +4 -4
  53. package/dist/html/utils.js +51 -51
  54. package/dist/html/vega_spec.d.ts +6 -6
  55. package/dist/html/vega_spec.js +287 -287
  56. package/dist/index.d.ts +2 -2
  57. package/dist/renderer.d.ts +3 -3
  58. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
- import { DataArray, Explore, Field } from "@malloydata/malloy";
2
- import { StyleDefaults } from "../data_styles";
3
- import { RendererOptions, Renderer } from "../renderer";
1
+ import { DataArray, Explore, Field } from '@malloydata/malloy';
2
+ import { StyleDefaults } from '../data_styles';
3
+ import { RendererOptions, Renderer } from '../renderer';
4
4
  export declare class HTMLView {
5
5
  private document;
6
6
  constructor(document: Document);
@@ -54,7 +54,7 @@ class HTMLView {
54
54
  }
55
55
  async render(table, options) {
56
56
  const renderer = makeRenderer(table.field, this.document, options, {
57
- "size": "large"
57
+ size: 'large',
58
58
  });
59
59
  try {
60
60
  // TODO Implement row streaming capability for some renderers: some renderers should be usable
@@ -70,7 +70,7 @@ class HTMLView {
70
70
  return (0, utils_1.createErrorElement)(this.document, error);
71
71
  }
72
72
  else {
73
- return (0, utils_1.createErrorElement)(this.document, "Internal error - Exception not an Error object.");
73
+ return (0, utils_1.createErrorElement)(this.document, 'Internal error - Exception not an Error object.');
74
74
  }
75
75
  }
76
76
  }
@@ -90,25 +90,25 @@ class JSONView {
90
90
  return (0, utils_1.createErrorElement)(this.document, error);
91
91
  }
92
92
  else {
93
- return (0, utils_1.createErrorElement)(this.document, "Internal error - Exception not an Error object.");
93
+ return (0, utils_1.createErrorElement)(this.document, 'Internal error - Exception not an Error object.');
94
94
  }
95
95
  }
96
96
  }
97
97
  }
98
98
  exports.JSONView = JSONView;
99
99
  const suffixMap = {
100
- "_shape_map": "shape_map",
101
- "_point_map": "point_map",
102
- "_bar_chart": "bar_chart",
103
- "_image": "image",
104
- "_json": "json",
105
- "_segment_map": "segment_map",
106
- "_dashboard": "dashboard",
107
- "_line_chart": "line_chart",
108
- "_scatter_chart": "scatter_chart",
109
- "_url": "link",
110
- "_list": "list",
111
- "_list_detail": "list_detail"
100
+ _shape_map: 'shape_map',
101
+ _point_map: 'point_map',
102
+ _bar_chart: 'bar_chart',
103
+ _image: 'image',
104
+ _json: 'json',
105
+ _segment_map: 'segment_map',
106
+ _dashboard: 'dashboard',
107
+ _line_chart: 'line_chart',
108
+ _scatter_chart: 'scatter_chart',
109
+ _url: 'link',
110
+ _list: 'list',
111
+ _list_detail: 'list_detail',
112
112
  };
113
113
  function getRendererOptions(field, dataStyles) {
114
114
  var _a, _b, _c;
@@ -132,10 +132,10 @@ function getRendererOptions(field, dataStyles) {
132
132
  }
133
133
  else {
134
134
  renderer = {
135
- "renderer": suffixMap[suffix],
136
- "data": {
137
- label
138
- }
135
+ renderer: suffixMap[suffix],
136
+ data: {
137
+ label,
138
+ },
139
139
  };
140
140
  }
141
141
  break;
@@ -154,41 +154,41 @@ function isContainer(field) {
154
154
  function makeRenderer(field, document, options, styleDefaults) {
155
155
  const renderDef = getRendererOptions(field, options.dataStyles) || {};
156
156
  options.dataStyles[field.name] = renderDef;
157
- if (renderDef.renderer === "shape_map") {
157
+ if (renderDef.renderer === 'shape_map') {
158
158
  return new shape_map_1.HTMLShapeMapRenderer(document, styleDefaults, options, renderDef);
159
159
  }
160
- else if (renderDef.renderer === "point_map") {
160
+ else if (renderDef.renderer === 'point_map') {
161
161
  return new point_map_1.HTMLPointMapRenderer(document, styleDefaults, options, renderDef);
162
162
  }
163
- else if (renderDef.renderer === "image") {
163
+ else if (renderDef.renderer === 'image') {
164
164
  return new image_1.HTMLImageRenderer(document);
165
165
  }
166
- else if (renderDef.renderer === "segment_map") {
166
+ else if (renderDef.renderer === 'segment_map') {
167
167
  return new segment_map_1.HTMLSegmentMapRenderer(document, styleDefaults, options, renderDef);
168
168
  }
169
- else if (renderDef.renderer === "dashboard") {
169
+ else if (renderDef.renderer === 'dashboard') {
170
170
  return makeContainerRenderer(dashboard_1.HTMLDashboardRenderer, document, isContainer(field), options);
171
171
  }
172
- else if (renderDef.renderer === "json") {
172
+ else if (renderDef.renderer === 'json') {
173
173
  return new json_1.HTMLJSONRenderer(document);
174
174
  }
175
- else if (renderDef.renderer === "line_chart") {
175
+ else if (renderDef.renderer === 'line_chart') {
176
176
  return new line_chart_1.HTMLLineChartRenderer(document, styleDefaults, options, renderDef);
177
177
  }
178
- else if (renderDef.renderer === "scatter_chart") {
178
+ else if (renderDef.renderer === 'scatter_chart') {
179
179
  return new scatter_chart_1.HTMLScatterChartRenderer(document, styleDefaults, options, renderDef);
180
180
  }
181
- else if (renderDef.renderer === "bar_chart") {
181
+ else if (renderDef.renderer === 'bar_chart') {
182
182
  return new bar_chart_1.HTMLBarChartRenderer(document, styleDefaults, options, renderDef);
183
183
  }
184
- else if (renderDef.renderer === "vega") {
184
+ else if (renderDef.renderer === 'vega') {
185
185
  const spec = renderDef.spec;
186
186
  if (spec) {
187
187
  return new vega_spec_1.HTMLVegaSpecRenderer(document, styleDefaults, options, spec);
188
188
  }
189
189
  else if (renderDef.spec_name) {
190
190
  const vegaRenderer = options.dataStyles[renderDef.spec_name];
191
- if (vegaRenderer !== undefined && vegaRenderer.renderer === "vega") {
191
+ if (vegaRenderer !== undefined && vegaRenderer.renderer === 'vega') {
192
192
  if (vegaRenderer.spec) {
193
193
  return new vega_spec_1.HTMLVegaSpecRenderer(document, styleDefaults, options, vegaRenderer.spec);
194
194
  }
@@ -205,44 +205,44 @@ function makeRenderer(field, document, options, styleDefaults) {
205
205
  }
206
206
  }
207
207
  else {
208
- if (renderDef.renderer === "time" ||
208
+ if (renderDef.renderer === 'time' ||
209
209
  (field.hasParentExplore() &&
210
210
  field.isAtomicField() &&
211
211
  (field.type === malloy_1.AtomicFieldType.Date ||
212
212
  field.type === malloy_1.AtomicFieldType.Timestamp))) {
213
213
  return new date_1.HTMLDateRenderer(document);
214
214
  }
215
- else if (renderDef.renderer === "currency") {
215
+ else if (renderDef.renderer === 'currency') {
216
216
  return new currency_1.HTMLCurrencyRenderer(document);
217
217
  }
218
- else if (renderDef.renderer === "percent") {
218
+ else if (renderDef.renderer === 'percent') {
219
219
  return new percent_1.HTMLPercentRenderer(document);
220
220
  }
221
- else if (renderDef.renderer === "number" ||
221
+ else if (renderDef.renderer === 'number' ||
222
222
  (field.hasParentExplore() &&
223
223
  field.isAtomicField() &&
224
224
  field.type === malloy_1.AtomicFieldType.Number)) {
225
225
  return new number_1.HTMLNumberRenderer(document);
226
226
  }
227
- else if (renderDef.renderer === "bytes") {
227
+ else if (renderDef.renderer === 'bytes') {
228
228
  return new bytes_1.HTMLBytesRenderer(document);
229
229
  }
230
- else if (renderDef.renderer === "boolean" ||
230
+ else if (renderDef.renderer === 'boolean' ||
231
231
  (field.hasParentExplore() &&
232
232
  field.isAtomicField() &&
233
233
  field.type === malloy_1.AtomicFieldType.Boolean)) {
234
234
  return new boolean_1.HTMLBooleanRenderer(document);
235
235
  }
236
- else if (renderDef.renderer === "link") {
236
+ else if (renderDef.renderer === 'link') {
237
237
  return new link_1.HTMLLinkRenderer(document);
238
238
  }
239
- else if (renderDef.renderer === "list") {
239
+ else if (renderDef.renderer === 'list') {
240
240
  return makeContainerRenderer(list_1.HTMLListRenderer, document, isContainer(field), options);
241
241
  }
242
- else if (renderDef.renderer === "list_detail") {
242
+ else if (renderDef.renderer === 'list_detail') {
243
243
  return makeContainerRenderer(list_detail_1.HTMLListDetailRenderer, document, isContainer(field), options);
244
244
  }
245
- else if (renderDef.renderer === "table" ||
245
+ else if (renderDef.renderer === 'table' ||
246
246
  !field.hasParentExplore() ||
247
247
  field.isExploreField()) {
248
248
  return makeContainerRenderer(table_1.HTMLTableRenderer, document, isContainer(field), options);
@@ -1,5 +1,5 @@
1
- import { DataColumn } from "@malloydata/malloy";
2
- import { Renderer } from "../renderer";
1
+ import { DataColumn } from '@malloydata/malloy';
2
+ import { Renderer } from '../renderer';
3
3
  export declare class HTMLImageRenderer implements Renderer {
4
4
  private readonly document;
5
5
  constructor(document: Document);
@@ -30,12 +30,12 @@ class HTMLImageRenderer {
30
30
  }
31
31
  async render(data) {
32
32
  if (!data.isString()) {
33
- return (0, utils_1.createErrorElement)(this.document, "Invalid field for Image renderer");
33
+ return (0, utils_1.createErrorElement)(this.document, 'Invalid field for Image renderer');
34
34
  }
35
35
  if (data.isNull()) {
36
36
  return (0, utils_1.createNullElement)(this.document);
37
37
  }
38
- const element = this.document.createElement("img");
38
+ const element = this.document.createElement('img');
39
39
  element.src = data.value;
40
40
  return element;
41
41
  }
@@ -1 +1 @@
1
- export { HTMLView } from "./html_view";
1
+ export { HTMLView } from './html_view';
@@ -1,5 +1,5 @@
1
- import { DataColumn } from "@malloydata/malloy";
2
- import { Renderer } from "../renderer";
1
+ import { DataColumn } from '@malloydata/malloy';
2
+ import { Renderer } from '../renderer';
3
3
  export declare class HTMLJSONRenderer implements Renderer {
4
4
  private readonly document;
5
5
  constructor(document: Document);
package/dist/html/json.js CHANGED
@@ -30,9 +30,9 @@ class HTMLJSONRenderer {
30
30
  }
31
31
  async render(table) {
32
32
  if (!table.isArray() && !table.isRecord()) {
33
- (0, utils_1.createErrorElement)(this.document, "Invalid data for chart renderer.");
33
+ (0, utils_1.createErrorElement)(this.document, 'Invalid data for chart renderer.');
34
34
  }
35
- const element = this.document.createElement("pre");
35
+ const element = this.document.createElement('pre');
36
36
  element.appendChild(this.document.createTextNode(JSON.stringify(table.value, undefined, 2)));
37
37
  return element;
38
38
  }
@@ -1,7 +1,7 @@
1
- import { DataColumn, Field } from "@malloydata/malloy";
2
- import { HTMLCartesianChartRenderer } from "./cartesian_chart";
1
+ import { DataColumn, Field } from '@malloydata/malloy';
2
+ import { HTMLCartesianChartRenderer } from './cartesian_chart';
3
3
  export declare class HTMLLineChartRenderer extends HTMLCartesianChartRenderer {
4
- getMark(): "line";
5
- getDataType(field: Field): "temporal" | "ordinal" | "quantitative" | "nominal";
4
+ getMark(): 'line';
5
+ getDataType(field: Field): 'temporal' | 'ordinal' | 'quantitative' | 'nominal';
6
6
  getDataValue(data: DataColumn): Date | string | number | null;
7
7
  }
@@ -26,21 +26,21 @@ exports.HTMLLineChartRenderer = void 0;
26
26
  const cartesian_chart_1 = require("./cartesian_chart");
27
27
  class HTMLLineChartRenderer extends cartesian_chart_1.HTMLCartesianChartRenderer {
28
28
  getMark() {
29
- return "line";
29
+ return 'line';
30
30
  }
31
31
  getDataType(field) {
32
32
  if (field.isAtomicField()) {
33
33
  if (field.isDate() || field.isTimestamp()) {
34
- return "temporal";
34
+ return 'temporal';
35
35
  }
36
36
  else if (field.isString()) {
37
- return "nominal";
37
+ return 'nominal';
38
38
  }
39
39
  else if (field.isNumber()) {
40
- return "quantitative";
40
+ return 'quantitative';
41
41
  }
42
42
  }
43
- throw new Error("Invalid field type for line chart.");
43
+ throw new Error('Invalid field type for line chart.');
44
44
  }
45
45
  getDataValue(data) {
46
46
  if (data.isNull()) {
@@ -53,7 +53,7 @@ class HTMLLineChartRenderer extends cartesian_chart_1.HTMLCartesianChartRenderer
53
53
  return data.value;
54
54
  }
55
55
  else {
56
- throw new Error("Invalid field type for line chart.");
56
+ throw new Error('Invalid field type for line chart.');
57
57
  }
58
58
  }
59
59
  }
@@ -1,5 +1,5 @@
1
- import { DataColumn } from "@malloydata/malloy";
2
- import { Renderer } from "../renderer";
1
+ import { DataColumn } from '@malloydata/malloy';
2
+ import { Renderer } from '../renderer';
3
3
  export declare class HTMLLinkRenderer implements Renderer {
4
4
  private readonly document;
5
5
  constructor(document: Document);
package/dist/html/link.js CHANGED
@@ -33,12 +33,12 @@ class HTMLLinkRenderer {
33
33
  return (0, utils_1.createNullElement)(this.document);
34
34
  }
35
35
  if (!data.isString()) {
36
- return (0, utils_1.createErrorElement)(this.document, "Invalid type for link renderer.");
36
+ return (0, utils_1.createErrorElement)(this.document, 'Invalid type for link renderer.');
37
37
  }
38
- const element = document.createElement("a");
38
+ const element = document.createElement('a');
39
39
  element.href = data.value;
40
- element.target = "_blank";
41
- element.appendChild(this.document.createTextNode(data.value.replace(/\//g, "/\u200C")));
40
+ element.target = '_blank';
41
+ element.appendChild(this.document.createTextNode(data.value.replace(/\//g, '/\u200C')));
42
42
  return element;
43
43
  }
44
44
  }
@@ -1,6 +1,6 @@
1
- import { DataColumn, Explore, Field } from "@malloydata/malloy";
2
- import { StyleDefaults } from "../data_styles";
3
- import { ContainerRenderer } from "./container";
1
+ import { DataColumn, Explore, Field } from '@malloydata/malloy';
2
+ import { StyleDefaults } from '../data_styles';
3
+ import { ContainerRenderer } from './container';
4
4
  export declare class HTMLListRenderer extends ContainerRenderer {
5
5
  protected childrenStyleDefaults: StyleDefaults;
6
6
  getValueField(struct: Explore): Field;
package/dist/html/list.js CHANGED
@@ -29,7 +29,7 @@ class HTMLListRenderer extends container_1.ContainerRenderer {
29
29
  constructor() {
30
30
  super(...arguments);
31
31
  this.childrenStyleDefaults = {
32
- "size": "small"
32
+ size: 'small',
33
33
  };
34
34
  }
35
35
  getValueField(struct) {
@@ -40,18 +40,18 @@ class HTMLListRenderer extends container_1.ContainerRenderer {
40
40
  }
41
41
  async render(table) {
42
42
  if (!table.isArray()) {
43
- return (0, utils_1.createErrorElement)(this.document, "Invalid data for chart renderer.");
43
+ return (0, utils_1.createErrorElement)(this.document, 'Invalid data for chart renderer.');
44
44
  }
45
45
  if (table.rowCount === 0) {
46
- return this.document.createElement("span");
46
+ return this.document.createElement('span');
47
47
  }
48
48
  const valueField = this.getValueField(table.field);
49
49
  const detailField = this.getDetailField(table.field);
50
- const element = this.document.createElement("span");
50
+ const element = this.document.createElement('span');
51
51
  let isFirst = true;
52
52
  for (const row of table) {
53
53
  if (!isFirst) {
54
- element.appendChild(this.document.createTextNode(", "));
54
+ element.appendChild(this.document.createTextNode(', '));
55
55
  }
56
56
  isFirst = false;
57
57
  const childRenderer = this.childRenderers[valueField.name];
@@ -61,9 +61,9 @@ class HTMLListRenderer extends container_1.ContainerRenderer {
61
61
  const childRenderer = this.childRenderers[detailField.name];
62
62
  await (0, utils_1.yieldTask)();
63
63
  const rendered = await childRenderer.render(row.cell(detailField));
64
- element.appendChild(this.document.createTextNode("("));
64
+ element.appendChild(this.document.createTextNode('('));
65
65
  element.appendChild(rendered);
66
- element.appendChild(this.document.createTextNode(")"));
66
+ element.appendChild(this.document.createTextNode(')'));
67
67
  }
68
68
  }
69
69
  return element;
@@ -1,5 +1,5 @@
1
- import { Explore, Field } from "@malloydata/malloy";
2
- import { HTMLListRenderer } from "./list";
1
+ import { Explore, Field } from '@malloydata/malloy';
2
+ import { HTMLListRenderer } from './list';
3
3
  export declare class HTMLListDetailRenderer extends HTMLListRenderer {
4
4
  getDetailField(explore: Explore): Field | undefined;
5
5
  }
@@ -1,5 +1,5 @@
1
- import { DataColumn } from "@malloydata/malloy";
2
- import { HTMLTextRenderer } from "./text";
1
+ import { DataColumn } from '@malloydata/malloy';
2
+ import { HTMLTextRenderer } from './text';
3
3
  export declare class HTMLNumberRenderer extends HTMLTextRenderer {
4
4
  getNumber(data: DataColumn): number | null;
5
5
  getText(data: DataColumn): string | null;
@@ -1,5 +1,5 @@
1
- import { DataColumn } from "@malloydata/malloy";
2
- import { HTMLNumberRenderer } from "./number";
1
+ import { DataColumn } from '@malloydata/malloy';
2
+ import { HTMLNumberRenderer } from './number';
3
3
  export declare class HTMLPercentRenderer extends HTMLNumberRenderer {
4
4
  getText(data: DataColumn): string | null;
5
5
  }
@@ -29,7 +29,7 @@ class HTMLPercentRenderer extends number_1.HTMLNumberRenderer {
29
29
  const num = this.getNumber(data);
30
30
  return num === null
31
31
  ? num
32
- : (num * 100).toLocaleString("en", { "maximumFractionDigits": 2 }) + "%";
32
+ : (num * 100).toLocaleString('en', { maximumFractionDigits: 2 }) + '%';
33
33
  }
34
34
  }
35
35
  exports.HTMLPercentRenderer = HTMLPercentRenderer;
@@ -1,8 +1,8 @@
1
- import * as lite from "vega-lite";
2
- import { DataArray, DataColumn, Field } from "@malloydata/malloy";
3
- import { HTMLChartRenderer } from "./chart";
1
+ import * as lite from 'vega-lite';
2
+ import { DataArray, DataColumn, Field } from '@malloydata/malloy';
3
+ import { HTMLChartRenderer } from './chart';
4
4
  export declare class HTMLPointMapRenderer extends HTMLChartRenderer {
5
5
  getDataValue(data: DataColumn): string | number;
6
- getDataType(field: Field): "ordinal" | "quantitative" | "nominal";
6
+ getDataType(field: Field): 'ordinal' | 'quantitative' | 'nominal';
7
7
  getVegaLiteSpec(data: DataArray): lite.TopLevelSpec;
8
8
  }
@@ -38,22 +38,22 @@ class HTMLPointMapRenderer extends chart_1.HTMLChartRenderer {
38
38
  else if (data.isTimestamp() || data.isDate()) {
39
39
  return (0, utils_1.timeToString)(data.value, data.field.timeframe || malloy_1.TimestampTimeframe.Second);
40
40
  }
41
- throw new Error("Invalid field type for point map chart.");
41
+ throw new Error('Invalid field type for point map chart.');
42
42
  }
43
43
  getDataType(field) {
44
44
  if (field.isAtomicField()) {
45
45
  if (field.isDate() || field.isTimestamp() || field.isString()) {
46
- return "nominal";
46
+ return 'nominal';
47
47
  }
48
48
  else if (field.isNumber()) {
49
- return "quantitative";
49
+ return 'quantitative';
50
50
  }
51
51
  }
52
- throw new Error("Invalid field type for point map.");
52
+ throw new Error('Invalid field type for point map.');
53
53
  }
54
54
  getVegaLiteSpec(data) {
55
55
  if (data.isNull()) {
56
- throw new Error("Expected struct value not to be null.");
56
+ throw new Error('Expected struct value not to be null.');
57
57
  }
58
58
  const fields = data.field.intrinsicFields;
59
59
  const latField = fields[0];
@@ -66,90 +66,90 @@ class HTMLPointMapRenderer extends chart_1.HTMLChartRenderer {
66
66
  const shapeType = shapeField ? this.getDataType(shapeField) : undefined;
67
67
  const colorDef = colorField !== undefined
68
68
  ? {
69
- "field": colorField.name,
70
- "type": colorType,
71
- "axis": { "title": (0, utils_1.formatTitle)(this.options, colorField.name) },
72
- "scale": (0, utils_1.getColorScale)(colorType, false)
69
+ field: colorField.name,
70
+ type: colorType,
71
+ axis: { title: (0, utils_1.formatTitle)(this.options, colorField.name) },
72
+ scale: (0, utils_1.getColorScale)(colorType, false),
73
73
  }
74
74
  : undefined;
75
75
  const sizeDef = sizeField
76
76
  ? {
77
- "field": sizeField.name,
78
- "type": sizeType,
79
- "axis": { "title": (0, utils_1.formatTitle)(this.options, sizeField.name) }
77
+ field: sizeField.name,
78
+ type: sizeType,
79
+ axis: { title: (0, utils_1.formatTitle)(this.options, sizeField.name) },
80
80
  }
81
- : { "value": 5 };
81
+ : { value: 5 };
82
82
  const shapeDef = shapeField
83
83
  ? {
84
- "field": shapeField.name,
85
- "type": shapeType,
86
- "axis": { "title": (0, utils_1.formatTitle)(this.options, shapeField.name) }
84
+ field: shapeField.name,
85
+ type: shapeType,
86
+ axis: { title: (0, utils_1.formatTitle)(this.options, shapeField.name) },
87
87
  }
88
- : { "value": "circle" };
88
+ : { value: 'circle' };
89
89
  return {
90
90
  ...this.getSize(),
91
- "data": {
92
- "values": this.mapData(data)
91
+ data: {
92
+ values: this.mapData(data),
93
93
  },
94
- "projection": {
95
- "type": "albersUsa"
94
+ projection: {
95
+ type: 'albersUsa',
96
96
  },
97
- "layer": [
97
+ layer: [
98
98
  {
99
- "data": {
100
- "values": states_10m_json_1.default,
101
- "format": {
102
- "type": "topojson",
103
- "feature": "states"
104
- }
99
+ data: {
100
+ values: states_10m_json_1.default,
101
+ format: {
102
+ type: 'topojson',
103
+ feature: 'states',
104
+ },
105
+ },
106
+ mark: {
107
+ type: 'geoshape',
108
+ fill: '#efefef',
109
+ stroke: 'white',
105
110
  },
106
- "mark": {
107
- "type": "geoshape",
108
- "fill": "#efefef",
109
- "stroke": "white"
110
- }
111
111
  },
112
112
  {
113
- "mark": "point",
114
- "encoding": {
115
- "latitude": { "field": latField.name, "type": "quantitative" },
116
- "longitude": { "field": lonField.name, "type": "quantitative" },
117
- "size": sizeDef,
118
- "color": colorDef,
119
- "shape": shapeDef
120
- }
121
- }
113
+ mark: 'point',
114
+ encoding: {
115
+ latitude: { field: latField.name, type: 'quantitative' },
116
+ longitude: { field: lonField.name, type: 'quantitative' },
117
+ size: sizeDef,
118
+ color: colorDef,
119
+ shape: shapeDef,
120
+ },
121
+ },
122
122
  ],
123
- "background": "transparent",
124
- "config": {
125
- "axis": {
126
- "labelFont": "var(--malloy-font-family, Roboto)",
127
- "titleFont": "var(--malloy-font-family, Roboto)",
128
- "titleFontWeight": 500,
129
- "titleColor": "var(--malloy-title-color, #505050)",
130
- "labelColor": "var(--malloy-label-color, #000000)",
131
- "titleFontSize": 12
123
+ background: 'transparent',
124
+ config: {
125
+ axis: {
126
+ labelFont: 'var(--malloy-font-family, Roboto)',
127
+ titleFont: 'var(--malloy-font-family, Roboto)',
128
+ titleFontWeight: 500,
129
+ titleColor: 'var(--malloy-title-color, #505050)',
130
+ labelColor: 'var(--malloy-label-color, #000000)',
131
+ titleFontSize: 12,
132
132
  },
133
- "legend": {
134
- "labelFont": "var(--malloy-font-family, Roboto)",
135
- "titleFont": "var(--malloy-font-family, Roboto)",
136
- "titleFontWeight": 500,
137
- "titleColor": "var(--malloy-title-color, #505050)",
138
- "labelColor": "var(--malloy-label-color, #000000)",
139
- "titleFontSize": 12
133
+ legend: {
134
+ labelFont: 'var(--malloy-font-family, Roboto)',
135
+ titleFont: 'var(--malloy-font-family, Roboto)',
136
+ titleFontWeight: 500,
137
+ titleColor: 'var(--malloy-title-color, #505050)',
138
+ labelColor: 'var(--malloy-label-color, #000000)',
139
+ titleFontSize: 12,
140
140
  },
141
- "header": {
142
- "labelFont": "var(--malloy-font-family, Roboto)",
143
- "titleFont": "var(--malloy-font-family, Roboto)",
144
- "titleFontWeight": 500
141
+ header: {
142
+ labelFont: 'var(--malloy-font-family, Roboto)',
143
+ titleFont: 'var(--malloy-font-family, Roboto)',
144
+ titleFontWeight: 500,
145
145
  },
146
- "mark": { "font": "var(--malloy-Roboto" },
147
- "title": {
148
- "font": "var(--malloy-font-family, Roboto)",
149
- "subtitleFont": "var(--malloy-font-family, Roboto)",
150
- "fontWeight": 500
151
- }
152
- }
146
+ mark: { font: 'var(--malloy-Roboto' },
147
+ title: {
148
+ font: 'var(--malloy-font-family, Roboto)',
149
+ subtitleFont: 'var(--malloy-font-family, Roboto)',
150
+ fontWeight: 500,
151
+ },
152
+ },
153
153
  };
154
154
  }
155
155
  }
@@ -1,7 +1,7 @@
1
- import { DataColumn, Field } from "@malloydata/malloy";
2
- import { HTMLCartesianChartRenderer } from "./cartesian_chart";
1
+ import { DataColumn, Field } from '@malloydata/malloy';
2
+ import { HTMLCartesianChartRenderer } from './cartesian_chart';
3
3
  export declare class HTMLScatterChartRenderer extends HTMLCartesianChartRenderer {
4
- getMark(): "point";
5
- getDataType(field: Field): "temporal" | "ordinal" | "quantitative" | "nominal";
4
+ getMark(): 'point';
5
+ getDataType(field: Field): 'temporal' | 'ordinal' | 'quantitative' | 'nominal';
6
6
  getDataValue(data: DataColumn): Date | string | number | null;
7
7
  }