@perspective-dev/viewer 4.3.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 (243) 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/intl/de.css +1 -1
  9. package/dist/css/intl/es.css +1 -1
  10. package/dist/css/intl/fr.css +1 -1
  11. package/dist/css/intl/ja.css +1 -1
  12. package/dist/css/intl/pt.css +1 -1
  13. package/dist/css/intl/zh.css +1 -1
  14. package/dist/css/intl.css +1 -1
  15. package/dist/css/monokai.css +1 -1
  16. package/dist/css/phosphor.css +1 -0
  17. package/dist/css/pro-dark.css +1 -1
  18. package/dist/css/pro.css +1 -1
  19. package/dist/css/solarized-dark.css +1 -1
  20. package/dist/css/solarized.css +1 -1
  21. package/dist/css/themes.css +1 -1
  22. package/dist/css/vaporwave.css +1 -1
  23. package/dist/esm/extensions.d.ts +4 -0
  24. package/dist/esm/perspective-viewer.d.ts +1 -0
  25. package/dist/esm/perspective-viewer.inline.js +2 -2
  26. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  27. package/dist/esm/perspective-viewer.js +2 -2
  28. package/dist/esm/perspective-viewer.js.map +4 -4
  29. package/dist/esm/plugin.d.ts +9 -9
  30. package/dist/esm/ts-rs/NumberForegroundMode.d.ts +1 -1
  31. package/dist/esm/ts-rs/ViewerConfig.d.ts +36 -0
  32. package/dist/wasm/perspective-viewer.d.ts +68 -59
  33. package/dist/wasm/perspective-viewer.js +216 -171
  34. package/dist/wasm/perspective-viewer.wasm +0 -0
  35. package/dist/wasm/perspective-viewer.wasm.d.ts +19 -20
  36. package/package.json +7 -5
  37. package/src/{less/aggregate-selector.less → css/aggregate-selector.css} +23 -20
  38. package/src/css/column-dropdown.css +109 -0
  39. package/src/{less/column-selector.less → css/column-selector.css} +160 -158
  40. package/src/{less/column-settings-panel.less → css/column-settings-panel.css} +70 -59
  41. package/src/{less/column-style.less → css/column-style.css} +52 -66
  42. package/src/{less/column-symbol-attributes.less → css/column-symbol-attributes.css} +15 -14
  43. package/src/{less/config-selector.less → css/config-selector.css} +151 -135
  44. package/src/{less/containers/dropdown-menu.less → css/containers/dropdown-menu.css} +20 -19
  45. package/src/{less/containers/pairs-list.less → css/containers/pairs-list.css} +13 -12
  46. package/src/{themes/variables.less → css/containers/scroll-panel.css} +25 -22
  47. package/src/{less/containers/split-panel.less → css/containers/split-panel.css} +15 -14
  48. package/src/{less/containers/tabs.less → css/containers/tabs.css} +17 -19
  49. package/src/css/dom/checkbox.css +102 -0
  50. package/src/css/dom/scrollbar.css +35 -0
  51. package/src/{less/dom/select.less → css/dom/select.css} +17 -18
  52. package/src/{less/empty-column.less → css/empty-column.css} +19 -18
  53. package/src/{less/expression-editor.less → css/expression-editor.css} +19 -18
  54. package/src/{less/filter-dropdown.less → css/filter-dropdown.css} +12 -11
  55. package/src/{less/filter-item.less → css/filter-item.css} +16 -15
  56. package/src/{less/form/code-editor.less → css/form/code-editor.css} +26 -30
  57. package/src/{less/form/debug.less → css/form/debug.css} +19 -18
  58. package/src/{less/function-dropdown.less → css/function-dropdown.css} +12 -11
  59. package/src/css/plugin-selector.css +261 -0
  60. package/src/{less/render-warning.less → css/render-warning.css} +18 -17
  61. package/src/{less/status-bar.less → css/status-bar.css} +157 -145
  62. package/src/css/type-icon.css +116 -0
  63. package/src/{less/viewer.less → css/viewer.css} +112 -146
  64. package/src/rust/components/column_dropdown.rs +229 -119
  65. package/src/rust/components/column_selector/active_column.rs +81 -62
  66. package/src/rust/components/column_selector/add_expression_button.rs +1 -0
  67. package/src/rust/components/column_selector/aggregate_selector.rs +25 -15
  68. package/src/rust/components/column_selector/config_selector.rs +315 -199
  69. package/src/rust/components/column_selector/empty_column.rs +2 -2
  70. package/src/rust/components/column_selector/expr_edit_button.rs +8 -2
  71. package/src/rust/components/column_selector/filter_column.rs +37 -26
  72. package/src/rust/components/column_selector/inactive_column.rs +41 -29
  73. package/src/rust/components/column_selector/invalid_column.rs +7 -18
  74. package/src/rust/components/column_selector/pivot_column.rs +11 -5
  75. package/src/rust/components/column_selector/sort_column.rs +23 -13
  76. package/src/rust/components/column_selector.rs +163 -84
  77. package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +1 -1
  78. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +3 -2
  79. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs_item.rs +3 -2
  80. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +2 -3
  81. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +7 -1
  82. package/src/rust/components/column_settings_sidebar/style_tab.rs +153 -112
  83. package/src/rust/components/column_settings_sidebar.rs +91 -53
  84. package/src/rust/components/containers/dragdrop_list.rs +2 -1
  85. package/src/rust/components/containers/sidebar_close_button.rs +1 -1
  86. package/src/rust/components/containers/split_panel.rs +1 -0
  87. package/src/rust/components/containers/tab_list.rs +1 -1
  88. package/src/rust/components/copy_dropdown.rs +7 -28
  89. package/src/rust/components/datetime_column_style/custom.rs +2 -2
  90. package/src/rust/components/datetime_column_style/simple.rs +2 -2
  91. package/src/rust/components/datetime_column_style.rs +4 -2
  92. package/src/rust/components/editable_header.rs +7 -4
  93. package/src/rust/components/empty_row.rs +1 -1
  94. package/src/rust/components/export_dropdown.rs +4 -30
  95. package/src/rust/components/expression_editor.rs +19 -10
  96. package/src/rust/components/filter_dropdown.rs +246 -102
  97. package/src/rust/components/font_loader.rs +11 -28
  98. package/src/rust/components/form/code_editor.rs +17 -2
  99. package/src/rust/components/form/color_range_selector.rs +19 -6
  100. package/src/rust/components/form/debug.rs +30 -13
  101. package/src/rust/components/function_dropdown.rs +186 -113
  102. package/src/rust/components/main_panel.rs +71 -89
  103. package/src/rust/components/mod.rs +1 -1
  104. package/src/rust/components/modal.rs +7 -1
  105. package/src/rust/components/number_column_style.rs +30 -7
  106. package/src/rust/components/plugin_selector.rs +34 -102
  107. package/src/rust/components/portal.rs +274 -0
  108. package/src/rust/components/render_warning.rs +72 -123
  109. package/src/rust/components/settings_panel.rs +115 -11
  110. package/src/rust/components/status_bar.rs +222 -98
  111. package/src/rust/components/status_bar_counter.rs +8 -20
  112. package/src/rust/components/status_indicator.rs +64 -114
  113. package/src/rust/components/string_column_style.rs +2 -2
  114. package/src/rust/components/style/style_cache.rs +5 -1
  115. package/src/rust/components/viewer.rs +391 -40
  116. package/src/rust/config/number_column_style.rs +5 -1
  117. package/src/rust/config/viewer_config.rs +2 -2
  118. package/src/rust/custom_elements/copy_dropdown.rs +102 -21
  119. package/src/rust/custom_elements/debug_plugin.rs +4 -4
  120. package/src/rust/custom_elements/export_dropdown.rs +102 -20
  121. package/src/rust/custom_elements/mod.rs +0 -7
  122. package/src/rust/custom_elements/modal.rs +7 -103
  123. package/src/rust/custom_elements/viewer.rs +114 -39
  124. package/src/rust/custom_events.rs +23 -2
  125. package/src/rust/dragdrop.rs +149 -10
  126. package/src/{less/containers/scroll-panel.less → rust/engines.rs} +15 -13
  127. package/src/rust/js/plugin.rs +1 -1
  128. package/src/rust/lib.rs +10 -4
  129. package/src/rust/presentation/props.rs +39 -0
  130. package/src/rust/presentation/sheets.rs +3 -3
  131. package/src/rust/presentation.rs +44 -8
  132. package/src/rust/renderer/limits.rs +32 -3
  133. package/src/{less/dom/scrollbar.less → rust/renderer/props.rs} +18 -19
  134. package/src/rust/renderer.rs +93 -14
  135. package/src/rust/session/column_defaults_update.rs +1 -1
  136. package/src/rust/session/metadata.rs +23 -2
  137. package/src/rust/session/props.rs +178 -0
  138. package/src/rust/session.rs +124 -117
  139. package/src/rust/tasks/column_locator.rs +133 -0
  140. package/src/rust/{model → tasks}/columns_iter_set.rs +14 -23
  141. package/src/rust/{model → tasks}/edit_expression.rs +34 -10
  142. package/src/rust/{model → tasks}/eject.rs +2 -2
  143. package/src/rust/{model → tasks}/get_viewer_config.rs +0 -11
  144. package/src/rust/{model → tasks}/intersection_observer.rs +19 -3
  145. package/src/{less/containers/radio-list.less → rust/tasks/is_invalid_drop.rs} +21 -14
  146. package/src/rust/tasks/mod.rs +52 -0
  147. package/src/rust/{model → tasks}/plugin_column_styles.rs +69 -46
  148. package/src/rust/{model → tasks}/resize_observer.rs +39 -6
  149. package/src/rust/{model → tasks}/restore_and_render.rs +4 -3
  150. package/src/rust/{model → tasks}/send_plugin_config.rs +1 -1
  151. package/src/rust/tasks/structural.rs +53 -0
  152. package/src/rust/utils/mod.rs +4 -0
  153. package/src/rust/utils/modal_position.rs +110 -0
  154. package/src/rust/utils/ptr_eq_rc.rs +74 -0
  155. package/src/rust/utils/pubsub.rs +11 -1
  156. package/src/svg/bg-pattern.png +0 -0
  157. package/src/svg/close-icon.svg +1 -1
  158. package/src/svg/datagrid-select-row-tree.svg +13 -0
  159. package/src/svg/expression.svg +1 -1
  160. package/src/svg/mega-menu-icons-candlestick.svg +1 -1
  161. package/src/svg/mega-menu-icons-datagrid.svg +1 -2
  162. package/src/svg/mega-menu-icons-heatmap.svg +1 -1
  163. package/src/svg/mega-menu-icons-map-scatter.svg +1 -1
  164. package/src/svg/mega-menu-icons-ohlc.svg +1 -1
  165. package/src/svg/mega-menu-icons-sunburst.svg +1 -1
  166. package/src/svg/mega-menu-icons-treemap.svg +1 -1
  167. package/src/svg/mega-menu-icons-x-bar.svg +1 -1
  168. package/src/svg/mega-menu-icons-x-y-line.svg +1 -1
  169. package/src/svg/mega-menu-icons-x-y-scatter.svg +1 -1
  170. package/src/svg/mega-menu-icons-y-area.svg +1 -1
  171. package/src/svg/mega-menu-icons-y-bar.svg +1 -1
  172. package/src/svg/mega-menu-icons-y-line.svg +1 -1
  173. package/src/svg/mega-menu-icons-y-scatter.svg +1 -1
  174. package/src/svg/radio-hover.svg +1 -1
  175. package/src/svg/radio-off.svg +1 -1
  176. package/src/svg/radio-on.svg +1 -1
  177. package/src/themes/botanical.css +157 -0
  178. package/src/themes/defaults.css +157 -0
  179. package/src/themes/dracula.css +233 -0
  180. package/src/themes/gruvbox-dark.css +255 -0
  181. package/src/themes/gruvbox.css +134 -0
  182. package/src/themes/icons.css +107 -0
  183. package/src/themes/intl/de.css +102 -0
  184. package/src/themes/intl/es.css +102 -0
  185. package/src/themes/intl/fr.css +102 -0
  186. package/src/themes/intl/ja.css +102 -0
  187. package/src/themes/intl/pt.css +102 -0
  188. package/src/themes/intl/zh.css +102 -0
  189. package/src/themes/intl.css +102 -0
  190. package/src/themes/monokai.css +233 -0
  191. package/src/themes/phosphor.css +184 -0
  192. package/src/themes/pro-dark.css +158 -0
  193. package/src/themes/{themes.less → pro.css} +17 -21
  194. package/src/themes/solarized-dark.css +135 -0
  195. package/src/themes/solarized.css +95 -0
  196. package/src/themes/themes.css +23 -0
  197. package/src/themes/vaporwave.css +256 -0
  198. package/src/ts/extensions.ts +8 -1
  199. package/src/ts/perspective-viewer.ts +1 -0
  200. package/src/ts/plugin.ts +9 -9
  201. package/src/ts/ts-rs/NumberForegroundMode.ts +1 -1
  202. package/src/ts/ts-rs/ViewerConfig.ts +15 -0
  203. package/dist/css/variables.css +0 -0
  204. package/src/less/column-dropdown.less +0 -95
  205. package/src/less/dom/checkbox.less +0 -100
  206. package/src/less/plugin-selector.less +0 -183
  207. package/src/less/type-icon.less +0 -68
  208. package/src/rust/components/error_message.rs +0 -56
  209. package/src/rust/custom_elements/column_dropdown.rs +0 -123
  210. package/src/rust/custom_elements/filter_dropdown.rs +0 -179
  211. package/src/rust/custom_elements/function_dropdown.rs +0 -115
  212. package/src/rust/model/column_locator.rs +0 -82
  213. package/src/rust/model/is_invalid_drop.rs +0 -36
  214. package/src/rust/model/mod.rs +0 -100
  215. package/src/rust/model/reset_all.rs +0 -38
  216. package/src/rust/model/structural.rs +0 -244
  217. package/src/themes/botanical.less +0 -142
  218. package/src/themes/dracula.less +0 -101
  219. package/src/themes/gruvbox-dark.less +0 -116
  220. package/src/themes/gruvbox.less +0 -152
  221. package/src/themes/icons.less +0 -130
  222. package/src/themes/intl/de.less +0 -102
  223. package/src/themes/intl/es.less +0 -102
  224. package/src/themes/intl/fr.less +0 -102
  225. package/src/themes/intl/ja.less +0 -102
  226. package/src/themes/intl/pt.less +0 -102
  227. package/src/themes/intl/zh.less +0 -102
  228. package/src/themes/intl.less +0 -102
  229. package/src/themes/monokai.less +0 -107
  230. package/src/themes/pro-dark.less +0 -147
  231. package/src/themes/pro.less +0 -186
  232. package/src/themes/solarized-dark.less +0 -78
  233. package/src/themes/solarized.less +0 -102
  234. package/src/themes/vaporwave.less +0 -145
  235. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-d924246f0b4a3dce}/inline0.js +0 -0
  236. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-d924246f0b4a3dce}/inline1.js +0 -0
  237. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-d924246f0b4a3dce}/inline2.js +0 -0
  238. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-d924246f0b4a3dce}/inline3.js +0 -0
  239. /package/dist/wasm/snippets/{perspective-viewer-d729f682ba5c19df → perspective-viewer-d924246f0b4a3dce}/inline4.js +0 -0
  240. /package/src/rust/{model → tasks}/copy_export.rs +0 -0
  241. /package/src/rust/{model → tasks}/export_app.rs +0 -0
  242. /package/src/rust/{model → tasks}/export_method.rs +0 -0
  243. /package/src/rust/{model → tasks}/update_and_render.rs +0 -0
@@ -0,0 +1,135 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */
12
+
13
+ @import "./defaults.css";
14
+
15
+ perspective-viewer,
16
+ perspective-viewer[theme="Solarized Dark"] {
17
+ --psp-theme-name: "Solarized Dark";
18
+ }
19
+
20
+ perspective-viewer[theme="Solarized Dark"] {
21
+ /* perspective-viewer-solarized--colors */
22
+ color: #586e75;
23
+ background-color: #eee8d5;
24
+ --psp--color: #586e75;
25
+ --psp-active--color: #268bd2;
26
+ --psp-error--color: #cb4b16;
27
+ --psp-inactive--color: #93a1a1;
28
+ --psp-inactive--border-color: var(--psp-inactive--color);
29
+ --psp--background-color: #fdf6e3;
30
+ --psp-column-type--float--color: #268bd2;
31
+ --psp-column-type--string--color: #cb4b16;
32
+ --psp-column-type--date--color: #2aa198;
33
+ --psp-column-type--boolean--color: #b58900;
34
+
35
+ /* perspective-viewer-solarized--datagrid */
36
+ --psp-datagrid--pos-cell--color: #268bd2 !important;
37
+ --psp-datagrid--neg-cell--color: #cb4b16 !important;
38
+ --psp-datagrid--hover--border-color: #ccc;
39
+ --psp-datagrid--border-color: #93a1a1;
40
+
41
+ /* perspective-viewer-solarized--d3fc */
42
+ --psp-d3fc--treemap--labels: black;
43
+ --psp-d3fc--treemap--hover-highlight: black;
44
+ --psp-d3fc--axis-ticks--color: #586e75;
45
+ --psp-d3fc--gridline--color: #eee8d5;
46
+ --psp-d3fc--series--color: #268bd2;
47
+ --psp-d3fc--series-1--color: #268bd2;
48
+ --psp-d3fc--series-2--color: #cb4b16;
49
+ --psp-d3fc--series-3--color: #b58900;
50
+ --psp-d3fc--series-4--color: #859900;
51
+ --psp-d3fc--series-5--color: #2aa198;
52
+ --psp-d3fc--series-6--color: #6c71c4;
53
+ --psp-d3fc--series-7--color: #d33682;
54
+ --psp-d3fc--pos-gradient--background: linear-gradient(
55
+ #268bd2 0%,
56
+ #2aa198,
57
+ #859900,
58
+ #b58900,
59
+ #cb4b16,
60
+ #dc322f,
61
+ #d33682 100%
62
+ );
63
+
64
+ /* perspective-viewer-solarized-dark--colors */
65
+ color: #93a1a1;
66
+ background-color: #002b36;
67
+
68
+ --psp-inactive--color: #586e75;
69
+ --psp-inactive--border-color: var(--psp-inactive--color);
70
+ --psp--background-color: #073642;
71
+
72
+ --psp-icon--select-arrow--mask-image: var(
73
+ --psp-icon--select-arrow-light--mask-image
74
+ );
75
+
76
+ --psp-icon--select-arrow-hover--mask-image: var(
77
+ --psp-icon--select-arrow-dark--mask-image
78
+ );
79
+
80
+ /* perspective-viewer-solarized-dark--d3fc */
81
+ --psp-d3fc--treemap--labels: white;
82
+ --psp-d3fc--treemap--hover-highlight: white;
83
+ --psp-d3fc--axis-ticks--color: #93a1a1;
84
+ --psp-d3fc--axis-lines--color: #93a1a1;
85
+ --psp-d3fc--gridline--color: #002b36;
86
+ --psp-d3fc--legend--color: #93a1a1;
87
+
88
+ --psp-d3fc--full-gradient--background: linear-gradient(
89
+ #cb4b16 0%,
90
+ #073642 50%,
91
+ #268bd2 100%
92
+ );
93
+
94
+ --psp-d3fc--neg-gradient--background: linear-gradient(
95
+ #cb4b16 0%,
96
+ #073642 100%
97
+ );
98
+ }
99
+
100
+ perspective-copy-menu[theme="Solarized Dark"],
101
+ perspective-export-menu[theme="Solarized Dark"],
102
+ perspective-dropdown[theme="Solarized Dark"],
103
+ perspective-date-column-style[theme="Solarized Dark"],
104
+ perspective-datetime-column-style[theme="Solarized Dark"],
105
+ perspective-number-column-style[theme="Solarized Dark"],
106
+ perspective-string-column-style[theme="Solarized Dark"] {
107
+ /* perspective-viewer-solarized--colors */
108
+ color: #586e75;
109
+ --psp--color: #586e75;
110
+ --psp-active--color: #268bd2;
111
+ --psp-error--color: #cb4b16;
112
+ --psp-inactive--color: #93a1a1;
113
+ --psp-inactive--border-color: var(--psp-inactive--color);
114
+ --psp--background-color: #fdf6e3;
115
+ --psp-column-type--float--color: #268bd2;
116
+ --psp-column-type--string--color: #cb4b16;
117
+ --psp-column-type--date--color: #2aa198;
118
+ --psp-column-type--boolean--color: #b58900;
119
+
120
+ /* perspective-viewer-solarized-dark--colors */
121
+ color: #93a1a1;
122
+ --psp-inactive--color: #586e75;
123
+ --psp-inactive--border-color: var(--psp-inactive--color);
124
+ --psp--background-color: #073642;
125
+
126
+ --psp-icon--select-arrow--mask-image: var(
127
+ --psp-icon--select-arrow-light--mask-image
128
+ );
129
+
130
+ --psp-icon--select-arrow-hover--mask-image: var(
131
+ --psp-icon--select-arrow-dark--mask-image
132
+ );
133
+
134
+ background-color: #073642;
135
+ }
@@ -0,0 +1,95 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */
12
+
13
+ @import "./defaults.css";
14
+
15
+ perspective-viewer,
16
+ perspective-viewer[theme="Solarized"] {
17
+ --psp-theme-name: "Solarized";
18
+ }
19
+
20
+ perspective-viewer[theme="Solarized"] {
21
+ /* perspective-viewer-solarized--colors */
22
+ color: #586e75;
23
+ background-color: #eee8d5;
24
+ --psp--color: #586e75;
25
+ --psp-active--color: #268bd2;
26
+ --psp-error--color: #cb4b16;
27
+ --psp-inactive--color: #93a1a1;
28
+ --psp-inactive--border-color: var(--psp-inactive--color);
29
+ --psp--background-color: #fdf6e3;
30
+
31
+ /* Column type indicators */
32
+ --psp-column-type--float--color: #268bd2;
33
+ --psp-column-type--string--color: #cb4b16;
34
+ --psp-column-type--date--color: #2aa198;
35
+ --psp-column-type--boolean--color: #b58900;
36
+
37
+ /* perspective-viewer-solarized--datagrid */
38
+ --psp-datagrid--pos-cell--color: #268bd2 !important;
39
+ --psp-datagrid--neg-cell--color: #cb4b16 !important;
40
+ --psp-datagrid--hover--border-color: #ccc;
41
+ --psp-datagrid--border-color: #93a1a1;
42
+
43
+ /* perspective-viewer-solarized--d3fc */
44
+ --psp-d3fc--treemap--labels: black;
45
+ --psp-d3fc--treemap--hover-highlight: black;
46
+
47
+ --psp-d3fc--axis-ticks--color: #586e75;
48
+ --psp-d3fc--gridline--color: #eee8d5;
49
+ --psp-d3fc--series--color: #268bd2;
50
+ --psp-d3fc--series-1--color: #268bd2;
51
+ --psp-d3fc--series-2--color: #cb4b16;
52
+ --psp-d3fc--series-3--color: #b58900;
53
+ --psp-d3fc--series-4--color: #859900;
54
+ --psp-d3fc--series-5--color: #2aa198;
55
+
56
+ --psp-d3fc--series-6--color: #6c71c4;
57
+ --psp-d3fc--series-7--color: #d33682;
58
+
59
+ --psp-d3fc--pos-gradient--background: linear-gradient(
60
+ #268bd2 0%,
61
+ #2aa198,
62
+ #859900,
63
+ #b58900,
64
+ #cb4b16,
65
+ #dc322f,
66
+ #d33682 100%
67
+ );
68
+ }
69
+
70
+ x {
71
+ color: #cb4b16;
72
+ }
73
+
74
+ perspective-copy-menu[theme="Solarized"],
75
+ perspective-export-menu[theme="Solarized"],
76
+ perspective-dropdown[theme="Solarized"],
77
+ perspective-date-column-style[theme="Solarized"],
78
+ perspective-datetime-column-style[theme="Solarized"],
79
+ perspective-number-column-style[theme="Solarized"],
80
+ perspective-string-column-style[theme="Solarized"] {
81
+ /* perspective-viewer-solarized--colors */
82
+ color: #586e75;
83
+ --psp--color: #586e75;
84
+ --psp-active--color: #268bd2;
85
+ --psp-error--color: #cb4b16;
86
+ --psp-inactive--color: #93a1a1;
87
+ --psp-inactive--border-color: var(--psp-inactive--color);
88
+ --psp--background-color: #fdf6e3;
89
+ --psp-column-type--float--color: #268bd2;
90
+ --psp-column-type--string--color: #cb4b16;
91
+ --psp-column-type--date--color: #2aa198;
92
+ --psp-column-type--boolean--color: #b58900;
93
+
94
+ background-color: #fdf6e3;
95
+ }
@@ -0,0 +1,23 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */
12
+
13
+ @import "./pro.css";
14
+ @import "./pro-dark.css";
15
+ @import "./monokai.css";
16
+ @import "./solarized.css";
17
+ @import "./solarized-dark.css";
18
+ @import "./vaporwave.css";
19
+ @import "./gruvbox.css";
20
+ @import "./gruvbox-dark.css";
21
+ @import "./dracula.css";
22
+ @import "./botanical.css";
23
+ @import "./phosphor.css";
@@ -0,0 +1,256 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */
12
+
13
+ @import "./defaults.css";
14
+
15
+ perspective-viewer,
16
+ perspective-viewer[theme="Vaporwave"] {
17
+ --psp-theme-name: "Vaporwave";
18
+ }
19
+
20
+ perspective-viewer[theme="Vaporwave"] {
21
+ /* perspective-viewer-pro-dark--colors (overrides) */
22
+ background-color: #242526;
23
+ color: white;
24
+ --psp--color: white;
25
+ --psp-active--color: #2770a9;
26
+ --psp-error--color: #ff9485;
27
+ --psp-inactive--color: #61656e;
28
+ --psp-inactive--border-color: #4c505b;
29
+ --psp--background-color: #242526;
30
+ --psp-active--background: rgba(39, 113, 170, 0.5);
31
+ --psp-expression--operator--color: #c5c9d0;
32
+ --psp-expression--function--color: #22a0ce;
33
+ --psp-expression--psp-error--color: rgb(255, 136, 136);
34
+ --psp-calendar--filter: invert(1);
35
+ --psp-warning--color: #242526;
36
+ --psp-warning--background: var(--psp--color);
37
+
38
+ --psp-icon--select-arrow--mask-image: var(
39
+ --psp-icon--select-arrow-light--mask-image
40
+ );
41
+
42
+ --psp-icon--select-arrow-hover--mask-image: var(
43
+ --psp-icon--select-arrow-dark--mask-image
44
+ );
45
+
46
+ --psp-code-editor--symbol--color: white;
47
+ --psp-code-editor--literal--color: #7dc3f0;
48
+ --psp-code-editor--operator--color: rgb(23, 166, 123);
49
+ --psp-code-editor--comment--color: rgb(204, 120, 48);
50
+ --psp-code-editor--column--color: #e18ee1;
51
+
52
+ /* perspective-viewer-pro-dark--datagrid */
53
+ --psp-datagrid--pos-cell--color: #7dc3f0;
54
+ --psp-datagrid--neg-cell--color: #ff9485;
55
+
56
+ /* perspective-viewer-pro-dark--d3fc (overrides) */
57
+ --psp-d3fc--legend--color: #c5c9d0;
58
+ --psp-d3fc--treemap--labels: white;
59
+ --psp-d3fc--treemap--hover-highlight: white;
60
+ --psp-d3fc--tooltip--color: white;
61
+ --psp-d3fc--axis-ticks--color: #c5c9d0;
62
+ --psp-d3fc--axis-lines--color: #61656e;
63
+ --psp-d3fc--gridline--color: #3b3f46;
64
+ --psp-d3fc--tooltip--background: rgba(42, 44, 47, 1);
65
+ --psp-d3fc--tooltip--border-color: #242526;
66
+ --psp-d3fc--legend--background: var(--psp--background-color);
67
+ --psp-d3fc--series--color: rgb(71, 120, 194);
68
+ --psp-d3fc--series-1--color: rgb(71, 120, 194);
69
+ --psp-d3fc--series-2--color: rgb(204, 120, 48);
70
+ --psp-d3fc--series-3--color: rgb(158, 84, 192);
71
+ --psp-d3fc--series-4--color: rgb(51, 150, 153);
72
+ --psp-d3fc--series-5--color: rgb(102, 114, 143);
73
+ --psp-d3fc--series-6--color: rgb(211, 103, 189);
74
+ --psp-d3fc--series-7--color: rgb(109, 124, 77);
75
+ --psp-d3fc--series-8--color: rgb(221, 99, 103);
76
+ --psp-d3fc--series-9--color: rgb(120, 104, 206);
77
+ --psp-d3fc--series-10--color: rgb(23, 166, 123);
78
+ --psp-d3fc--full-gradient--background: linear-gradient(
79
+ #dd6367 0%,
80
+ #242526 50%,
81
+ #3289c8 100%
82
+ );
83
+ --psp-d3fc--pos-gradient--background: linear-gradient(
84
+ #242526 0%,
85
+ #3289c8 100%
86
+ );
87
+ --psp-d3fc--neg-gradient--background: linear-gradient(
88
+ #dd6367 0%,
89
+ #242526 100%
90
+ );
91
+
92
+ /* perspective-viewer-pro-dark--openlayers (overrides) */
93
+ --psp-openlayers--tile-url: "http://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";
94
+ --psp-openlayers--attribution--filter: invert(1) hue-rotate(180deg);
95
+ --psp-openlayers--element--background: #212c2f;
96
+ --psp-openlayers--category-1--color: rgb(71, 120, 194);
97
+ --psp-openlayers--category-2--color: rgb(204, 120, 48);
98
+ --psp-openlayers--category-3--color: rgb(158, 84, 192);
99
+ --psp-openlayers--category-4--color: rgb(51, 150, 153);
100
+ --psp-openlayers--category-5--color: rgb(102, 114, 143);
101
+ --psp-openlayers--category-6--color: rgb(211, 103, 189);
102
+ --psp-openlayers--category-7--color: rgb(109, 124, 77);
103
+ --psp-openlayers--category-8--color: rgb(221, 99, 103);
104
+ --psp-openlayers--category-9--color: rgb(120, 104, 206);
105
+ --psp-openlayers--category-10--color: rgb(23, 166, 123);
106
+ --psp-openlayers--gradient--background: linear-gradient(
107
+ #dd6367 0%,
108
+ #242526 50%,
109
+ #3289c8 100%
110
+ );
111
+
112
+ /* perspective-viewer-vaporwave--colors */
113
+ color: #49acff;
114
+ background-color: rgb(7, 8, 29) !important;
115
+ --psp--color: #49acff;
116
+ --psp-inactive--color: rgb(19, 33, 50) !important;
117
+ --psp-inactive--border-color: var(--psp-inactive--color);
118
+ --psp--background-color: rgb(7, 8, 29) !important;
119
+
120
+ /* perspective-viewer-vaporwave--animation */
121
+ --psp-status-icon--updating-keyframes-start--filter: opacity(1);
122
+ --psp-status-icon--updating-keyframes-end--filter: opacity(0);
123
+ --psp-status-icon--updating-keyframes-start--transform: scale(1);
124
+ --psp-status-icon--updating-keyframes-end--transform: scale(0.5);
125
+ --psp-status-icon--keyframes-start--transform: scale(1.25);
126
+ --psp-status-icon--keyframes-end--transform: scale(1);
127
+
128
+ /* perspective-viewer-vaporwave--datagrid */
129
+ --pp-color-1: #092132;
130
+ --pp-color-2: #42b6e6;
131
+ --psp-datagrid--pos-cell--color: #42b6e6 !important;
132
+ --psp-datagrid--hover--border-color: var(--pp-color-1) !important;
133
+
134
+ /* FIXME: broken in shadow DOM */
135
+ regular-table table tbody th:empty {
136
+ background: linear-gradient(
137
+ to right,
138
+ transparent 9px,
139
+ rgb(19, 33, 50) 10px,
140
+ transparent 11px
141
+ );
142
+ background-repeat: no-repeat;
143
+ background-position: 0px -10px;
144
+ }
145
+
146
+ /* perspective-viewer-vaporwave--d3fc */
147
+ --psp-d3fc--axis-ticks--color: #49acff;
148
+ --psp-d3fc--gridline--color: rgb(19, 33, 50);
149
+ --psp-d3fc--series--color: #01cdfe;
150
+ --psp-d3fc--series-1--color: #01cdfe;
151
+ --psp-d3fc--series-2--color: #ff71ce;
152
+ --psp-d3fc--series-3--color: #05ffa1;
153
+ --psp-d3fc--series-4--color: #b967ff;
154
+ --psp-d3fc--series-5--color: #fffb96;
155
+
156
+ --psp-d3fc--series-6--color: hsl(192, 99%, 25%);
157
+ --psp-d3fc--series-7--color: hsl(321, 100%, 36%);
158
+ --psp-d3fc--series-8--color: hsl(192, 99%, 25%);
159
+ --psp-d3fc--series-9--color: hsl(157, 100%, 25%);
160
+ --psp-d3fc--series-10--color: hsl(272, 100%, 35%);
161
+
162
+ --psp-d3fc--neg-gradient--background: linear-gradient(
163
+ #f3d431,
164
+ #efb92d,
165
+ #ed9c25,
166
+ #eb7e20,
167
+ #e75d1e,
168
+ #d14632,
169
+ #b03e38,
170
+ #8c3a36,
171
+ #643633,
172
+ #07081d
173
+ ) !important;
174
+
175
+ --psp-d3fc--pos-gradient--background: linear-gradient(
176
+ #07081d,
177
+ #2e4463,
178
+ #1e588a,
179
+ #086da7,
180
+ #0082b9,
181
+ #039ac7,
182
+ #12b1d4,
183
+ #2bc8e2,
184
+ #3ddff0,
185
+ #61f4fb
186
+ ) !important;
187
+
188
+ --psp-d3fc--full-gradient--background: linear-gradient(
189
+ #f3d431,
190
+ #efb92d,
191
+ #ed9c25,
192
+ #eb7e20,
193
+ #e75d1e,
194
+ #d14632,
195
+ #b03e38,
196
+ #8c3a36,
197
+ #643633,
198
+ #07081d,
199
+ #2e4463,
200
+ #1e588a,
201
+ #086da7,
202
+ #0082b9,
203
+ #039ac7,
204
+ #12b1d4,
205
+ #2bc8e2,
206
+ #3ddff0,
207
+ #61f4fb
208
+ ) !important;
209
+ }
210
+
211
+ perspective-copy-menu[theme="Vaporwave"],
212
+ perspective-export-menu[theme="Vaporwave"],
213
+ perspective-dropdown[theme="Vaporwave"],
214
+ perspective-date-column-style[theme="Vaporwave"],
215
+ perspective-datetime-column-style[theme="Vaporwave"],
216
+ perspective-number-column-style[theme="Vaporwave"],
217
+ perspective-string-column-style[theme="Vaporwave"] {
218
+ /* perspective-viewer-pro-dark--colors (overrides) */
219
+ background-color: #242526;
220
+ color: white;
221
+ --psp--color: white;
222
+ --psp-active--color: #2770a9;
223
+ --psp-error--color: #ff9485;
224
+ --psp-inactive--color: #61656e;
225
+ --psp-inactive--border-color: #4c505b;
226
+ --psp--background-color: #242526;
227
+ --psp-active--background: rgba(39, 113, 170, 0.5);
228
+ --psp-expression--operator--color: #c5c9d0;
229
+ --psp-expression--function--color: #22a0ce;
230
+ --psp-expression--psp-error--color: rgb(255, 136, 136);
231
+ --psp-calendar--filter: invert(1);
232
+ --psp-warning--color: #242526;
233
+ --psp-warning--background: var(--psp--color);
234
+ --psp-icon--select-arrow--mask-image: var(
235
+ --psp-icon--select-arrow-light--mask-image
236
+ );
237
+ --psp-icon--select-arrow-hover--mask-image: var(
238
+ --psp-icon--select-arrow-dark--mask-image
239
+ );
240
+ --psp-code-editor--symbol--color: white;
241
+ --psp-code-editor--literal--color: #7dc3f0;
242
+ --psp-code-editor--operator--color: rgb(23, 166, 123);
243
+ --psp-code-editor--comment--color: rgb(204, 120, 48);
244
+ --psp-code-editor--column--color: #e18ee1;
245
+
246
+ border: 1px solid #4c505b;
247
+
248
+ /* perspective-viewer-vaporwave--colors */
249
+ color: #49acff;
250
+ --psp--color: #49acff;
251
+ --psp-inactive--color: rgb(19, 33, 50) !important;
252
+ --psp-inactive--border-color: var(--psp-inactive--color);
253
+ --psp--background-color: rgb(7, 8, 29) !important;
254
+
255
+ background-color: #07081d;
256
+ }
@@ -26,7 +26,6 @@ export class PerspectiveSelectDetail {
26
26
  column_names?: string[];
27
27
  removeConfigs: ViewConfigUpdate[];
28
28
  insertConfigs: ViewConfigUpdate[];
29
-
30
29
  constructor(
31
30
  selected: boolean,
32
31
  row: Record<string, unknown>,
@@ -49,6 +48,7 @@ export class PerspectiveSelectDetail {
49
48
  return this.insertConfigs.flatMap((x) => x.filter ?? []);
50
49
  }
51
50
  }
51
+
52
52
  import type {
53
53
  ExportDropDownMenuElement,
54
54
  CopyDropDownMenuElement,
@@ -190,6 +190,12 @@ export interface PerspectiveViewerElementExt {
190
190
  options?: { signal: AbortSignal },
191
191
  ): void;
192
192
 
193
+ addEventListener(
194
+ name: "perspective-global-filter",
195
+ cb: (e: CustomEvent<PerspectiveSelectEventDetail>) => void,
196
+ options?: { signal: AbortSignal },
197
+ ): void;
198
+
193
199
  addEventListener(
194
200
  name: "perspective-toggle-settings",
195
201
  cb: (e: CustomEvent) => void,
@@ -228,6 +234,7 @@ export interface PerspectiveViewerElementExt {
228
234
 
229
235
  removeEventListener(name: "perspective-click", cb: any): void;
230
236
  removeEventListener(name: "perspective-select", cb: any): void;
237
+ removeEventListener(name: "perspective-global-filter", cb: any): void;
231
238
  removeEventListener(name: "perspective-toggle-settings", cb: any): void;
232
239
  removeEventListener(
233
240
  name: "perspective-toggle-settings-before",
@@ -37,6 +37,7 @@ export { HTMLPerspectiveViewerPluginElement } from "./plugin";
37
37
  export type * from "./extensions.ts";
38
38
  export { PerspectiveSelectDetail } from "./extensions.ts";
39
39
  export type * from "./ts-rs/ViewerConfigUpdate.d.ts";
40
+ export type * from "./ts-rs/ViewerConfig.d.ts";
40
41
  export type * from "./ts-rs/ColumnConfigValues.d.ts";
41
42
  export type * from "./ts-rs/Filter.d.ts";
42
43
  export type * from "./ts-rs/FilterTerm.d.ts";
package/src/ts/plugin.ts CHANGED
@@ -157,13 +157,13 @@ export interface IPerspectiveViewerPlugin {
157
157
  * Like `update()`, but for when the dimensions of the plugin have changed
158
158
  * and the underlying data has not.
159
159
  */
160
- resize(): Promise<void>;
160
+ resize(view: View): Promise<void>;
161
161
 
162
162
  /**
163
163
  * Notify the plugin that the style environment has changed. Useful for
164
164
  * plugins which read CSS styles via `window.getComputedStyle()`.
165
165
  */
166
- restyle(): Promise<void>;
166
+ restyle(view: View): Promise<void>;
167
167
 
168
168
  /**
169
169
  * Save this plugin's state to a JSON-serializable value. While this value
@@ -176,17 +176,17 @@ export interface IPerspectiveViewerPlugin {
176
176
  * reload. For example, `@perspective-dev/viewer-d3fc` uses
177
177
  * `plugin_config` to remember the user-repositionable legend coordinates.
178
178
  */
179
- save(): Promise<any>;
179
+ save(): any;
180
180
 
181
181
  /**
182
182
  * Restore this plugin to a state previously returned by `save()`.
183
183
  */
184
- restore(config: any): Promise<void>;
184
+ restore(config: any): void;
185
185
 
186
186
  /**
187
187
  * Free any resources acquired by this plugin and prepare to be deleted.
188
188
  */
189
- delete(): Promise<void>;
189
+ delete(): void;
190
190
  }
191
191
 
192
192
  /**
@@ -257,19 +257,19 @@ export class HTMLPerspectiveViewerPluginElement
257
257
  this.innerHTML = "";
258
258
  }
259
259
 
260
- async resize(): Promise<void> {
260
+ async resize(view: View): Promise<void> {
261
261
  // Not Implemented
262
262
  }
263
263
 
264
- async restyle(): Promise<void> {
264
+ async restyle(view: View): Promise<void> {
265
265
  // Not Implemented
266
266
  }
267
267
 
268
- async save(): Promise<any> {
268
+ save(): any {
269
269
  // Not Implemented
270
270
  }
271
271
 
272
- async restore(): Promise<void> {
272
+ restore(): void {
273
273
  // Not Implemented
274
274
  }
275
275
 
@@ -1,3 +1,3 @@
1
1
  // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
2
 
3
- export type NumberForegroundMode = "disabled" | "color" | "bar";
3
+ export type NumberForegroundMode = "disabled" | "color" | "bar" | "label-bar";
@@ -0,0 +1,15 @@
1
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
2
+ import type { Aggregate } from "./Aggregate.js";
3
+ import type { ColumnConfigValues } from "./ColumnConfigValues.js";
4
+ import type { Expressions } from "./Expressions.js";
5
+ import type { Filter } from "./Filter.js";
6
+ import type { FilterReducer } from "./FilterReducer.js";
7
+ import type { GroupRollupMode } from "./GroupRollupMode.js";
8
+ import type { Sort } from "./Sort.js";
9
+ import type { JsonValue } from "./serde_json/JsonValue.js";
10
+
11
+ /**
12
+ * The state of an entire `custom_elements::PerspectiveViewerElement` component
13
+ * and its `Plugin`.
14
+ */
15
+ export type ViewerConfig<V = string> = { version: V, columns_config: { [key in string]?: ColumnConfigValues }, plugin: string, plugin_config: JsonValue, settings: boolean, table: string | null, theme: string | null, title: string | null, group_by: Array<string>, split_by: Array<string>, sort: Array<Sort>, filter: Array<Filter>, group_rollup_mode: GroupRollupMode, filter_op?: FilterReducer, expressions: Expressions, columns: Array<string | null>, aggregates: { [key in string]?: Aggregate }, group_by_depth?: number | null, };
File without changes