@perspective-dev/viewer 4.4.0 → 4.4.1

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 (55) hide show
  1. package/dist/cdn/perspective-viewer.js +2 -2
  2. package/dist/cdn/perspective-viewer.js.map +4 -4
  3. package/dist/css/botanical.css +1 -1
  4. package/dist/css/dracula.css +1 -1
  5. package/dist/css/gruvbox-dark.css +1 -1
  6. package/dist/css/gruvbox.css +1 -1
  7. package/dist/css/icons.css +1 -1
  8. package/dist/css/monokai.css +1 -1
  9. package/dist/css/phosphor.css +1 -0
  10. package/dist/css/pro-dark.css +1 -1
  11. package/dist/css/pro.css +1 -1
  12. package/dist/css/solarized-dark.css +1 -1
  13. package/dist/css/solarized.css +1 -1
  14. package/dist/css/themes.css +1 -1
  15. package/dist/css/vaporwave.css +1 -1
  16. package/dist/esm/extensions.d.ts +4 -0
  17. package/dist/esm/perspective-viewer.d.ts +1 -0
  18. package/dist/esm/perspective-viewer.inline.js +2 -2
  19. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  20. package/dist/esm/perspective-viewer.js +2 -2
  21. package/dist/esm/perspective-viewer.js.map +4 -4
  22. package/dist/esm/plugin.d.ts +9 -9
  23. package/dist/esm/ts-rs/NumberForegroundMode.d.ts +1 -1
  24. package/dist/esm/ts-rs/ViewerConfig.d.ts +36 -0
  25. package/dist/wasm/perspective-viewer.d.ts +24 -19
  26. package/dist/wasm/perspective-viewer.js +106 -86
  27. package/dist/wasm/perspective-viewer.wasm +0 -0
  28. package/dist/wasm/perspective-viewer.wasm.d.ts +15 -15
  29. package/package.json +1 -1
  30. package/src/css/column-settings-panel.css +1 -0
  31. package/src/css/status-bar.css +1 -1
  32. package/src/rust/components/number_column_style.rs +8 -0
  33. package/src/rust/components/viewer.rs +0 -1
  34. package/src/rust/config/number_column_style.rs +5 -1
  35. package/src/rust/config/viewer_config.rs +2 -2
  36. package/src/rust/custom_elements/debug_plugin.rs +4 -4
  37. package/src/rust/custom_elements/viewer.rs +15 -4
  38. package/src/rust/lib.rs +5 -0
  39. package/src/rust/renderer.rs +10 -5
  40. package/src/rust/tasks/restore_and_render.rs +4 -3
  41. package/src/svg/datagrid-select-row-tree.svg +13 -0
  42. package/src/themes/defaults.css +18 -0
  43. package/src/themes/icons.css +1 -18
  44. package/src/themes/phosphor.css +184 -0
  45. package/src/themes/themes.css +1 -0
  46. package/src/ts/extensions.ts +8 -1
  47. package/src/ts/perspective-viewer.ts +1 -0
  48. package/src/ts/plugin.ts +9 -9
  49. package/src/ts/ts-rs/NumberForegroundMode.ts +1 -1
  50. package/src/ts/ts-rs/ViewerConfig.ts +15 -0
  51. /package/dist/wasm/snippets/{perspective-viewer-68fef752754ffbc6 → perspective-viewer-d924246f0b4a3dce}/inline0.js +0 -0
  52. /package/dist/wasm/snippets/{perspective-viewer-68fef752754ffbc6 → perspective-viewer-d924246f0b4a3dce}/inline1.js +0 -0
  53. /package/dist/wasm/snippets/{perspective-viewer-68fef752754ffbc6 → perspective-viewer-d924246f0b4a3dce}/inline2.js +0 -0
  54. /package/dist/wasm/snippets/{perspective-viewer-68fef752754ffbc6 → perspective-viewer-d924246f0b4a3dce}/inline3.js +0 -0
  55. /package/dist/wasm/snippets/{perspective-viewer-68fef752754ffbc6 → perspective-viewer-d924246f0b4a3dce}/inline4.js +0 -0
@@ -132,12 +132,12 @@ export interface IPerspectiveViewerPlugin {
132
132
  * Like `update()`, but for when the dimensions of the plugin have changed
133
133
  * and the underlying data has not.
134
134
  */
135
- resize(): Promise<void>;
135
+ resize(view: View): Promise<void>;
136
136
  /**
137
137
  * Notify the plugin that the style environment has changed. Useful for
138
138
  * plugins which read CSS styles via `window.getComputedStyle()`.
139
139
  */
140
- restyle(): Promise<void>;
140
+ restyle(view: View): Promise<void>;
141
141
  /**
142
142
  * Save this plugin's state to a JSON-serializable value. While this value
143
143
  * can be anything, it should work reciprocally with `restore()` to return
@@ -149,15 +149,15 @@ export interface IPerspectiveViewerPlugin {
149
149
  * reload. For example, `@perspective-dev/viewer-d3fc` uses
150
150
  * `plugin_config` to remember the user-repositionable legend coordinates.
151
151
  */
152
- save(): Promise<any>;
152
+ save(): any;
153
153
  /**
154
154
  * Restore this plugin to a state previously returned by `save()`.
155
155
  */
156
- restore(config: any): Promise<void>;
156
+ restore(config: any): void;
157
157
  /**
158
158
  * Free any resources acquired by this plugin and prepare to be deleted.
159
159
  */
160
- delete(): Promise<void>;
160
+ delete(): void;
161
161
  }
162
162
  /**
163
163
  * The `<perspective-viewer-plugin>` element, the default perspective plugin
@@ -187,9 +187,9 @@ export declare class HTMLPerspectiveViewerPluginElement extends HTMLElement impl
187
187
  update(view: View): Promise<void>;
188
188
  draw(view: View): Promise<void>;
189
189
  clear(): Promise<void>;
190
- resize(): Promise<void>;
191
- restyle(): Promise<void>;
192
- save(): Promise<any>;
193
- restore(): Promise<void>;
190
+ resize(view: View): Promise<void>;
191
+ restyle(view: View): Promise<void>;
192
+ save(): any;
193
+ restore(): void;
194
194
  delete(): Promise<void>;
195
195
  }
@@ -1 +1 @@
1
- export type NumberForegroundMode = "disabled" | "color" | "bar";
1
+ export type NumberForegroundMode = "disabled" | "color" | "bar" | "label-bar";
@@ -0,0 +1,36 @@
1
+ import type { Aggregate } from "./Aggregate.js";
2
+ import type { ColumnConfigValues } from "./ColumnConfigValues.js";
3
+ import type { Expressions } from "./Expressions.js";
4
+ import type { Filter } from "./Filter.js";
5
+ import type { FilterReducer } from "./FilterReducer.js";
6
+ import type { GroupRollupMode } from "./GroupRollupMode.js";
7
+ import type { Sort } from "./Sort.js";
8
+ import type { JsonValue } from "./serde_json/JsonValue.js";
9
+ /**
10
+ * The state of an entire `custom_elements::PerspectiveViewerElement` component
11
+ * and its `Plugin`.
12
+ */
13
+ export type ViewerConfig<V = string> = {
14
+ version: V;
15
+ columns_config: {
16
+ [key in string]?: ColumnConfigValues;
17
+ };
18
+ plugin: string;
19
+ plugin_config: JsonValue;
20
+ settings: boolean;
21
+ table: string | null;
22
+ theme: string | null;
23
+ title: string | null;
24
+ group_by: Array<string>;
25
+ split_by: Array<string>;
26
+ sort: Array<Sort>;
27
+ filter: Array<Filter>;
28
+ group_rollup_mode: GroupRollupMode;
29
+ filter_op?: FilterReducer;
30
+ expressions: Expressions;
31
+ columns: Array<string | null>;
32
+ aggregates: {
33
+ [key in string]?: Aggregate;
34
+ };
35
+ group_by_depth?: number | null;
36
+ };
@@ -14,6 +14,11 @@ import type {
14
14
  SystemInfo,
15
15
  } from "@perspective-dev/client";
16
16
 
17
+ export type * from "../../src/ts/ts-rs/ViewerConfig.d.ts";
18
+ export type * from "../../src/ts/ts-rs/ViewerConfigUpdate.d.ts";
19
+ import type {ViewerConfig} from "../../src/ts/ts-rs/ViewerConfig.d.ts";
20
+ import type {ViewerConfigUpdate} from "../../src/ts/ts-rs/ViewerConfigUpdate.d.ts";
21
+
17
22
 
18
23
 
19
24
  /**
@@ -339,9 +344,9 @@ export class PerspectiveDebugPluginElement {
339
344
  draw(view: View): Promise<any>;
340
345
  constructor(elem: HTMLElement);
341
346
  resize(): Promise<any>;
342
- restore(): Promise<any>;
347
+ restore(_config?: any | null): void;
343
348
  restyle(): Promise<any>;
344
- save(): Promise<any>;
349
+ save(): any;
345
350
  update(view: View): Promise<any>;
346
351
  readonly config_column_names: any;
347
352
  readonly min_config_columns: any;
@@ -773,7 +778,7 @@ export class PerspectiveViewerElement {
773
778
  * await viewer.restore({group_by: ["State"]});
774
779
  * ```
775
780
  */
776
- restore(update: any): Promise<any>;
781
+ restore(update: ViewerConfigUpdate): Promise<any>;
777
782
  /**
778
783
  * Restyle all plugins from current document.
779
784
  *
@@ -814,7 +819,7 @@ export class PerspectiveViewerElement {
814
819
  * });
815
820
  * ```
816
821
  */
817
- save(): Promise<any>;
822
+ save(): Promise<ViewerConfig>;
818
823
  /**
819
824
  * Sets the auto-pause behavior of this component.
820
825
  *
@@ -1375,6 +1380,8 @@ export interface InitOutput {
1375
1380
  readonly perspectivedebugpluginelement_draw: (a: number, b: number) => number;
1376
1381
  readonly perspectivedebugpluginelement_name: (a: number, b: number) => void;
1377
1382
  readonly perspectivedebugpluginelement_new: (a: number) => number;
1383
+ readonly perspectivedebugpluginelement_restore: (a: number, b: number, c: number) => void;
1384
+ readonly perspectivedebugpluginelement_save: (a: number, b: number) => void;
1378
1385
  readonly perspectivedebugpluginelement_select_mode: (a: number, b: number) => void;
1379
1386
  readonly perspectiveviewerelement___get_model: (a: number) => number;
1380
1387
  readonly perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
@@ -1412,10 +1419,8 @@ export interface InitOutput {
1412
1419
  readonly registerPlugin: (a: number, b: number) => void;
1413
1420
  readonly perspectivedebugpluginelement_update: (a: number, b: number) => number;
1414
1421
  readonly perspectivedebugpluginelement_min_config_columns: (a: number) => number;
1415
- readonly perspectivedebugpluginelement_save: (a: number) => number;
1416
1422
  readonly perspectivedebugpluginelement_delete: (a: number) => number;
1417
1423
  readonly perspectivedebugpluginelement_resize: (a: number) => number;
1418
- readonly perspectivedebugpluginelement_restore: (a: number) => number;
1419
1424
  readonly perspectivedebugpluginelement_restyle: (a: number) => number;
1420
1425
  readonly exportdropdownmenuelement_new: (a: number) => number;
1421
1426
  readonly __wbg_exportdropdownmenuelement_free: (a: number, b: number) => void;
@@ -1508,19 +1513,19 @@ export interface InitOutput {
1508
1513
  readonly virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
1509
1514
  readonly virtualserver_handleRequest: (a: number, b: number, c: number) => number;
1510
1515
  readonly virtualserver_new: (a: number, b: number) => void;
1511
- readonly __wasm_bindgen_func_elem_13435: (a: number, b: number) => void;
1512
- readonly __wasm_bindgen_func_elem_3153: (a: number, b: number) => void;
1513
- readonly __wasm_bindgen_func_elem_16498: (a: number, b: number) => void;
1514
- readonly __wasm_bindgen_func_elem_17146: (a: number, b: number) => void;
1515
- readonly __wasm_bindgen_func_elem_17170: (a: number, b: number) => void;
1516
- readonly __wasm_bindgen_func_elem_24265: (a: number, b: number, c: number, d: number) => void;
1517
- readonly __wasm_bindgen_func_elem_5194: (a: number, b: number, c: number) => void;
1518
- readonly __wasm_bindgen_func_elem_5195: (a: number, b: number, c: number) => void;
1519
- readonly __wasm_bindgen_func_elem_5192: (a: number, b: number, c: number) => void;
1520
- readonly __wasm_bindgen_func_elem_16617: (a: number, b: number, c: number) => void;
1521
- readonly __wasm_bindgen_func_elem_17187: (a: number, b: number, c: number) => void;
1522
- readonly __wasm_bindgen_func_elem_14338: (a: number, b: number) => number;
1523
- readonly __wasm_bindgen_func_elem_17149: (a: number, b: number) => void;
1516
+ readonly __wasm_bindgen_func_elem_13446: (a: number, b: number) => void;
1517
+ readonly __wasm_bindgen_func_elem_3157: (a: number, b: number) => void;
1518
+ readonly __wasm_bindgen_func_elem_16508: (a: number, b: number) => void;
1519
+ readonly __wasm_bindgen_func_elem_17165: (a: number, b: number) => void;
1520
+ readonly __wasm_bindgen_func_elem_17190: (a: number, b: number) => void;
1521
+ readonly __wasm_bindgen_func_elem_24303: (a: number, b: number, c: number, d: number) => void;
1522
+ readonly __wasm_bindgen_func_elem_5198: (a: number, b: number, c: number) => void;
1523
+ readonly __wasm_bindgen_func_elem_5199: (a: number, b: number, c: number) => void;
1524
+ readonly __wasm_bindgen_func_elem_5196: (a: number, b: number, c: number) => void;
1525
+ readonly __wasm_bindgen_func_elem_16627: (a: number, b: number, c: number) => void;
1526
+ readonly __wasm_bindgen_func_elem_17207: (a: number, b: number, c: number) => void;
1527
+ readonly __wasm_bindgen_func_elem_14349: (a: number, b: number) => number;
1528
+ readonly __wasm_bindgen_func_elem_17168: (a: number, b: number) => void;
1524
1529
  readonly __wbindgen_export: (a: number, b: number) => number;
1525
1530
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
1526
1531
  readonly __wbindgen_export3: (a: number) => void;