@perspective-dev/viewer 4.4.1 → 4.5.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 (225) hide show
  1. package/dist/cdn/perspective-viewer.js +1 -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 -1
  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/bootstrap.d.ts +2 -1
  24. package/dist/esm/column-format.d.ts +51 -0
  25. package/dist/esm/extensions.d.ts +2 -0
  26. package/dist/esm/perspective-viewer.d.ts +3 -1
  27. package/dist/esm/perspective-viewer.inline.js +1 -2
  28. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  29. package/dist/esm/perspective-viewer.js +1 -2
  30. package/dist/esm/perspective-viewer.js.map +4 -4
  31. package/dist/esm/perspective-viewer.worker.d.ts +2 -0
  32. package/dist/esm/plugin.d.ts +16 -72
  33. package/dist/esm/ts-rs/ColumnSelectMode.d.ts +1 -0
  34. package/dist/esm/ts-rs/PluginStaticConfig.d.ts +77 -0
  35. package/dist/esm/ts-rs/ViewerConfig.d.ts +6 -3
  36. package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +7 -4
  37. package/dist/wasm/perspective-viewer.d.ts +77 -18
  38. package/dist/wasm/perspective-viewer.js +293 -144
  39. package/dist/wasm/perspective-viewer.wasm +0 -0
  40. package/dist/wasm/perspective-viewer.wasm.d.ts +20 -15
  41. package/package.json +24 -2
  42. package/src/css/column-selector.css +3 -2
  43. package/src/css/column-settings-panel.css +35 -6
  44. package/src/css/column-style.css +27 -2
  45. package/src/css/containers/scroll-panel.css +2 -1
  46. package/src/css/containers/tabs.css +8 -52
  47. package/src/css/dom/checkbox.css +0 -4
  48. package/src/css/form/code-editor.css +1 -0
  49. package/src/css/form/debug.css +3 -10
  50. package/src/css/plugin-selector.css +33 -0
  51. package/src/css/plugin-settings-panel.css +99 -0
  52. package/src/css/viewer.css +65 -3
  53. package/src/rust/components/column_dropdown.rs +3 -1
  54. package/src/rust/components/column_selector/active_column.rs +13 -19
  55. package/src/rust/components/column_selector/config_selector.rs +20 -20
  56. package/src/rust/components/column_selector/filter_column.rs +14 -14
  57. package/src/rust/components/column_selector/inactive_column.rs +9 -15
  58. package/src/rust/components/column_selector/pivot_column.rs +7 -7
  59. package/src/rust/components/column_selector/sort_column.rs +7 -7
  60. package/src/rust/components/column_selector.rs +55 -37
  61. package/src/rust/components/column_settings_sidebar/style_tab/agg_depth_selector.rs +15 -7
  62. package/src/rust/components/column_settings_sidebar/style_tab/primitive_field.rs +394 -0
  63. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +15 -6
  64. package/src/rust/components/column_settings_sidebar/style_tab.rs +267 -136
  65. package/src/rust/components/column_settings_sidebar.rs +43 -49
  66. package/src/rust/components/containers/dragdrop_list.rs +5 -5
  67. package/src/rust/components/containers/mod.rs +0 -1
  68. package/src/rust/components/containers/scroll_panel.rs +21 -7
  69. package/src/rust/components/containers/sidebar.rs +8 -6
  70. package/src/rust/components/containers/split_panel.rs +3 -3
  71. package/src/rust/components/containers/tab_list.rs +3 -9
  72. package/src/rust/components/copy_dropdown.rs +2 -3
  73. package/src/rust/components/datetime_column_style.rs +19 -81
  74. package/src/rust/components/editable_header.rs +2 -3
  75. package/src/rust/components/export_dropdown.rs +2 -3
  76. package/src/rust/components/expression_editor.rs +29 -17
  77. package/src/rust/components/filter_dropdown.rs +2 -1
  78. package/src/rust/components/form/color_range_selector.rs +14 -7
  79. package/src/rust/components/form/debug.rs +47 -37
  80. package/src/rust/components/main_panel.rs +24 -65
  81. package/src/rust/components/mod.rs +2 -1
  82. package/src/rust/components/number_series_style.rs +161 -0
  83. package/src/rust/components/plugin_tab.rs +221 -0
  84. package/src/rust/components/settings_panel.rs +181 -59
  85. package/src/rust/components/status_bar.rs +140 -173
  86. package/src/rust/components/status_indicator.rs +15 -22
  87. package/src/rust/components/string_column_style.rs +20 -82
  88. package/src/rust/components/style_controls/number_string_format.rs +14 -30
  89. package/src/rust/components/viewer.rs +92 -131
  90. package/src/rust/config/column_config_schema.rs +195 -0
  91. package/src/rust/config/columns_config.rs +4 -97
  92. package/src/rust/config/datetime_column_style.rs +0 -5
  93. package/src/rust/config/mod.rs +8 -2
  94. package/src/rust/config/number_series_style.rs +79 -0
  95. package/src/rust/config/plugin_static_config.rs +144 -0
  96. package/src/rust/config/string_column_style.rs +0 -5
  97. package/src/rust/config/viewer_config.rs +5 -6
  98. package/src/rust/custom_elements/copy_dropdown.rs +30 -18
  99. package/src/rust/custom_elements/debug_plugin.rs +1 -3
  100. package/src/rust/custom_elements/export_dropdown.rs +26 -18
  101. package/src/rust/custom_elements/viewer.rs +62 -73
  102. package/src/rust/custom_events.rs +181 -224
  103. package/src/rust/js/plugin.rs +45 -117
  104. package/src/rust/lib.rs +34 -5
  105. package/src/rust/presentation/drag_helpers.rs +206 -0
  106. package/src/rust/presentation/props.rs +8 -0
  107. package/src/rust/presentation.rs +256 -41
  108. package/src/rust/{tasks → queries}/column_locator.rs +17 -73
  109. package/src/rust/queries/column_values.rs +59 -0
  110. package/src/rust/{tasks → queries}/columns_iter_set.rs +11 -18
  111. package/src/rust/queries/exports.rs +96 -0
  112. package/src/rust/queries/fetch_column_stats.rs +94 -0
  113. package/src/rust/queries/get_viewer_config.rs +54 -0
  114. package/src/rust/queries/mod.rs +44 -0
  115. package/src/rust/queries/plugin_column_styles.rs +101 -0
  116. package/src/rust/{engines.rs → queries/validate_expression.rs} +26 -15
  117. package/src/rust/renderer/activate.rs +1 -0
  118. package/src/rust/renderer/limits.rs +9 -4
  119. package/src/rust/renderer/plugin_store.rs +12 -0
  120. package/src/rust/renderer/props.rs +28 -3
  121. package/src/rust/renderer/registry.rs +40 -15
  122. package/src/rust/renderer.rs +640 -51
  123. package/src/rust/session/column_defaults_update.rs +20 -28
  124. package/src/rust/session/drag_drop_update.rs +10 -10
  125. package/src/rust/session/metadata.rs +31 -16
  126. package/src/rust/session/props.rs +15 -6
  127. package/src/rust/session/view_subscription.rs +10 -0
  128. package/src/rust/session.rs +109 -147
  129. package/src/rust/tasks/copy_export.rs +178 -158
  130. package/src/rust/tasks/{structural.rs → dismiss_render_warning.rs} +20 -40
  131. package/src/rust/tasks/edit_expression.rs +68 -88
  132. package/src/rust/tasks/eject.rs +25 -22
  133. package/src/rust/tasks/intersection_observer.rs +8 -21
  134. package/src/rust/tasks/mod.rs +19 -21
  135. package/src/rust/tasks/reset_all.rs +78 -0
  136. package/src/rust/tasks/resize_observer.rs +11 -33
  137. package/src/rust/tasks/restore_and_render.rs +117 -90
  138. package/src/rust/tasks/{get_viewer_config.rs → send_column_config.rs} +38 -35
  139. package/src/rust/tasks/send_plugin_config.rs +32 -33
  140. package/src/rust/tasks/update_and_render.rs +66 -47
  141. package/src/rust/{components/containers/trap_door_panel.rs → tasks/update_theme.rs} +34 -33
  142. package/src/rust/tasks/validate_expression.rs +61 -0
  143. package/src/rust/utils/browser/selection.rs +4 -4
  144. package/src/rust/utils/mod.rs +0 -63
  145. package/src/svg/mega-menu-icons-density.svg +23 -0
  146. package/src/svg/mega-menu-icons-map-density.svg +24 -0
  147. package/src/svg/mega-menu-icons-map-line.svg +19 -0
  148. package/src/themes/botanical.css +27 -53
  149. package/src/themes/defaults.css +24 -36
  150. package/src/themes/dracula.css +36 -54
  151. package/src/themes/gruvbox-dark.css +39 -59
  152. package/src/themes/gruvbox.css +16 -28
  153. package/src/themes/icons.css +3 -0
  154. package/src/themes/intl/de.css +42 -6
  155. package/src/themes/intl/es.css +42 -6
  156. package/src/themes/intl/fr.css +42 -6
  157. package/src/themes/intl/ja.css +42 -6
  158. package/src/themes/intl/pt.css +42 -6
  159. package/src/themes/intl/zh.css +42 -6
  160. package/src/themes/intl.css +37 -4
  161. package/src/themes/monokai.css +45 -61
  162. package/src/themes/phosphor.css +20 -29
  163. package/src/themes/pro-dark.css +25 -34
  164. package/src/themes/solarized-dark.css +21 -36
  165. package/src/themes/solarized.css +13 -23
  166. package/src/themes/vaporwave.css +40 -74
  167. package/src/ts/bootstrap.ts +14 -3
  168. package/src/ts/column-format.ts +162 -0
  169. package/src/ts/extensions.ts +4 -0
  170. package/src/ts/perspective-viewer.ts +9 -1
  171. package/src/{rust/components/column_settings_sidebar/style_tab/stub.rs → ts/perspective-viewer.worker.ts} +2 -22
  172. package/src/ts/plugin.ts +25 -101
  173. package/src/ts/ts-rs/{FormatUnit.ts → ColumnSelectMode.ts} +1 -1
  174. package/src/ts/ts-rs/PluginStaticConfig.ts +78 -0
  175. package/src/ts/ts-rs/ViewerConfig.ts +1 -2
  176. package/src/ts/ts-rs/ViewerConfigUpdate.ts +2 -3
  177. package/dist/esm/ts-rs/ColumnConfigValues.d.ts +0 -31
  178. package/dist/esm/ts-rs/CustomDatetimeFormat.d.ts +0 -1
  179. package/dist/esm/ts-rs/CustomDatetimeStyleConfig.d.ts +0 -15
  180. package/dist/esm/ts-rs/CustomNumberFormatConfig.d.ts +0 -18
  181. package/dist/esm/ts-rs/DatetimeColorMode.d.ts +0 -1
  182. package/dist/esm/ts-rs/DatetimeFormatType.d.ts +0 -6
  183. package/dist/esm/ts-rs/FormatMode.d.ts +0 -1
  184. package/dist/esm/ts-rs/FormatUnit.d.ts +0 -1
  185. package/dist/esm/ts-rs/NumberBackgroundMode.d.ts +0 -1
  186. package/dist/esm/ts-rs/NumberForegroundMode.d.ts +0 -1
  187. package/dist/esm/ts-rs/PluginConfig.d.ts +0 -2
  188. package/dist/esm/ts-rs/RoundingMode.d.ts +0 -1
  189. package/dist/esm/ts-rs/RoundingPriority.d.ts +0 -1
  190. package/dist/esm/ts-rs/SignDisplay.d.ts +0 -1
  191. package/dist/esm/ts-rs/SimpleDatetimeFormat.d.ts +0 -1
  192. package/dist/esm/ts-rs/SimpleDatetimeStyleConfig.d.ts +0 -6
  193. package/dist/esm/ts-rs/StringColorMode.d.ts +0 -1
  194. package/dist/esm/ts-rs/TrailingZeroDisplay.d.ts +0 -1
  195. package/dist/esm/ts-rs/UseGrouping.d.ts +0 -1
  196. package/src/rust/components/number_column_style.rs +0 -491
  197. package/src/rust/config/number_column_style.rs +0 -136
  198. package/src/rust/dragdrop.rs +0 -481
  199. package/src/rust/tasks/plugin_column_styles.rs +0 -98
  200. package/src/ts/ts-rs/ColumnConfigValues.ts +0 -14
  201. package/src/ts/ts-rs/CustomDatetimeFormat.ts +0 -3
  202. package/src/ts/ts-rs/CustomDatetimeStyleConfig.ts +0 -5
  203. package/src/ts/ts-rs/CustomNumberFormatConfig.ts +0 -8
  204. package/src/ts/ts-rs/DatetimeColorMode.ts +0 -3
  205. package/src/ts/ts-rs/DatetimeFormatType.ts +0 -8
  206. package/src/ts/ts-rs/FormatMode.ts +0 -3
  207. package/src/ts/ts-rs/NumberBackgroundMode.ts +0 -3
  208. package/src/ts/ts-rs/NumberForegroundMode.ts +0 -3
  209. package/src/ts/ts-rs/PluginConfig.ts +0 -4
  210. package/src/ts/ts-rs/RoundingMode.ts +0 -3
  211. package/src/ts/ts-rs/RoundingPriority.ts +0 -3
  212. package/src/ts/ts-rs/SignDisplay.ts +0 -3
  213. package/src/ts/ts-rs/SimpleDatetimeFormat.ts +0 -3
  214. package/src/ts/ts-rs/SimpleDatetimeStyleConfig.ts +0 -4
  215. package/src/ts/ts-rs/StringColorMode.ts +0 -3
  216. package/src/ts/ts-rs/TrailingZeroDisplay.ts +0 -3
  217. package/src/ts/ts-rs/UseGrouping.ts +0 -3
  218. /package/dist/wasm/snippets/{perspective-viewer-d924246f0b4a3dce → perspective-viewer-39ab7da3ca157861}/inline0.js +0 -0
  219. /package/dist/wasm/snippets/{perspective-viewer-d924246f0b4a3dce → perspective-viewer-39ab7da3ca157861}/inline1.js +0 -0
  220. /package/dist/wasm/snippets/{perspective-viewer-d924246f0b4a3dce → perspective-viewer-39ab7da3ca157861}/inline2.js +0 -0
  221. /package/dist/wasm/snippets/{perspective-viewer-d924246f0b4a3dce → perspective-viewer-39ab7da3ca157861}/inline3.js +0 -0
  222. /package/dist/wasm/snippets/{perspective-viewer-d924246f0b4a3dce → perspective-viewer-39ab7da3ca157861}/inline4.js +0 -0
  223. /package/src/rust/{tasks → config}/export_method.rs +0 -0
  224. /package/src/rust/{tasks → queries}/export_app.rs +0 -0
  225. /package/src/rust/{tasks → queries}/is_invalid_drop.rs +0 -0
Binary file
@@ -12,7 +12,9 @@ export const copydropdownmenuelement_open: (a: number, b: number) => void;
12
12
  export const exportdropdownmenuelement___set_model: (a: number, b: number) => void;
13
13
  export const exportdropdownmenuelement_hide: (a: number, b: number) => void;
14
14
  export const exportdropdownmenuelement_open: (a: number, b: number) => void;
15
- export const init: () => void;
15
+ export const get_wasm_module: (a: number) => void;
16
+ export const get_worker_url: (a: number) => void;
17
+ export const init: (a: number, b: number) => void;
16
18
  export const perspectivedebugpluginelement_clear: (a: number) => number;
17
19
  export const perspectivedebugpluginelement_config_column_names: (a: number) => number;
18
20
  export const perspectivedebugpluginelement_connectedCallback: (a: number) => void;
@@ -58,9 +60,9 @@ export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => nu
58
60
  export const registerPlugin: (a: number, b: number) => void;
59
61
  export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
60
62
  export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
63
+ export const perspectivedebugpluginelement_restyle: (a: number) => void;
61
64
  export const perspectivedebugpluginelement_delete: (a: number) => number;
62
65
  export const perspectivedebugpluginelement_resize: (a: number) => number;
63
- export const perspectivedebugpluginelement_restyle: (a: number) => number;
64
66
  export const exportdropdownmenuelement_new: (a: number) => number;
65
67
  export const __wbg_exportdropdownmenuelement_free: (a: number, b: number) => void;
66
68
  export const exportdropdownmenuelement_connected_callback: (a: number) => void;
@@ -72,6 +74,7 @@ export const __wbg_view_free: (a: number, b: number) => void;
72
74
  export const __wbg_virtualdataslice_free: (a: number, b: number) => void;
73
75
  export const __wbg_virtualserver_free: (a: number, b: number) => void;
74
76
  export const client___getClassname: (a: number, b: number) => void;
77
+ export const client___unsafe_open_view: (a: number, b: number, c: number) => number;
75
78
  export const client_get_hosted_table_names: (a: number) => number;
76
79
  export const client_handle_error: (a: number, b: number, c: number, d: number) => number;
77
80
  export const client_handle_response: (a: number, b: number) => number;
@@ -119,6 +122,7 @@ export const table_update: (a: number, b: number, c: number) => number;
119
122
  export const table_validate_expressions: (a: number, b: number) => number;
120
123
  export const table_view: (a: number, b: number) => number;
121
124
  export const view___get_model: (a: number) => number;
125
+ export const view___unsafe_get_name: (a: number, b: number) => void;
122
126
  export const view_collapse: (a: number, b: number) => number;
123
127
  export const view_column_paths: (a: number, b: number) => number;
124
128
  export const view_delete: (a: number) => number;
@@ -142,6 +146,7 @@ export const view_to_csv: (a: number, b: number) => number;
142
146
  export const view_to_json: (a: number, b: number) => number;
143
147
  export const view_to_json_string: (a: number, b: number) => number;
144
148
  export const view_to_ndjson: (a: number, b: number) => number;
149
+ export const view_with_typed_arrays: (a: number, b: number, c: number) => number;
145
150
  export const virtualdataslice_fromArrowIpc: (a: number, b: number, c: number) => void;
146
151
  export const virtualdataslice_new: (a: number) => number;
147
152
  export const virtualdataslice_setBooleanCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
@@ -152,19 +157,19 @@ export const virtualdataslice_setIntegerCol: (a: number, b: number, c: number, d
152
157
  export const virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
153
158
  export const virtualserver_handleRequest: (a: number, b: number, c: number) => number;
154
159
  export const virtualserver_new: (a: number, b: number) => void;
155
- export const __wasm_bindgen_func_elem_13446: (a: number, b: number) => void;
156
- export const __wasm_bindgen_func_elem_3157: (a: number, b: number) => void;
157
- export const __wasm_bindgen_func_elem_16508: (a: number, b: number) => void;
158
- export const __wasm_bindgen_func_elem_17165: (a: number, b: number) => void;
159
- export const __wasm_bindgen_func_elem_17190: (a: number, b: number) => void;
160
- export const __wasm_bindgen_func_elem_24303: (a: number, b: number, c: number, d: number) => void;
161
- export const __wasm_bindgen_func_elem_5198: (a: number, b: number, c: number) => void;
162
- export const __wasm_bindgen_func_elem_5199: (a: number, b: number, c: number) => void;
163
- export const __wasm_bindgen_func_elem_5196: (a: number, b: number, c: number) => void;
164
- export const __wasm_bindgen_func_elem_16627: (a: number, b: number, c: number) => void;
165
- export const __wasm_bindgen_func_elem_17207: (a: number, b: number, c: number) => void;
166
- export const __wasm_bindgen_func_elem_14349: (a: number, b: number) => number;
167
- export const __wasm_bindgen_func_elem_17168: (a: number, b: number) => void;
160
+ export const __wasm_bindgen_func_elem_3134: (a: number, b: number) => void;
161
+ export const __wasm_bindgen_func_elem_13509: (a: number, b: number) => void;
162
+ export const __wasm_bindgen_func_elem_16653: (a: number, b: number) => void;
163
+ export const __wasm_bindgen_func_elem_17311: (a: number, b: number) => void;
164
+ export const __wasm_bindgen_func_elem_17336: (a: number, b: number) => void;
165
+ export const __wasm_bindgen_func_elem_24562: (a: number, b: number, c: number, d: number) => void;
166
+ export const __wasm_bindgen_func_elem_5265: (a: number, b: number, c: number) => void;
167
+ export const __wasm_bindgen_func_elem_5266: (a: number, b: number, c: number) => void;
168
+ export const __wasm_bindgen_func_elem_5263: (a: number, b: number, c: number) => void;
169
+ export const __wasm_bindgen_func_elem_16772: (a: number, b: number, c: number) => void;
170
+ export const __wasm_bindgen_func_elem_17353: (a: number, b: number, c: number) => void;
171
+ export const __wasm_bindgen_func_elem_14430: (a: number, b: number) => number;
172
+ export const __wasm_bindgen_func_elem_17314: (a: number, b: number) => void;
168
173
  export const __wbindgen_export: (a: number, b: number) => number;
169
174
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
170
175
  export const __wbindgen_export3: (a: number) => void;
package/package.json CHANGED
@@ -1,20 +1,42 @@
1
1
  {
2
2
  "name": "@perspective-dev/viewer",
3
- "version": "4.4.1",
4
- "description": "The `<perspective-viewer>` Custom Element, frontend for Perspective.js",
3
+ "version": "4.5.0",
4
+ "description": "The `<perspective-viewer>` Custom Element, frontend for Perspective",
5
+ "keywords": [
6
+ "perspective",
7
+ "data",
8
+ "analytics",
9
+ "visualization",
10
+ "datagrid",
11
+ "charts",
12
+ "web-component",
13
+ "wasm",
14
+ "arrow"
15
+ ],
16
+ "homepage": "https://perspective.finos.org",
5
17
  "repository": {
6
18
  "type": "git",
7
19
  "url": "https://github.com/perspective-dev/perspective"
8
20
  },
9
21
  "type": "module",
10
22
  "license": "Apache-2.0",
23
+ "sideEffects": true,
11
24
  "unpkg": "dist/cdn/perspective-viewer.js",
12
25
  "jsdelivr": "dist/cdn/perspective-viewer.js",
13
26
  "exports": {
14
27
  ".": {
15
28
  "types": "./dist/esm/perspective-viewer.d.ts",
29
+ "import": "./dist/esm/perspective-viewer.js",
16
30
  "default": "./dist/esm/perspective-viewer.js"
17
31
  },
32
+ "./inline": {
33
+ "types": "./dist/esm/perspective-viewer.d.ts",
34
+ "import": "./dist/esm/perspective-viewer.inline.js",
35
+ "default": "./dist/esm/perspective-viewer.inline.js"
36
+ },
37
+ "./themes": "./dist/css/themes.css",
38
+ "./themes/*.css": "./dist/css/*.css",
39
+ "./themes/intl/*.css": "./dist/css/intl/*.css",
18
40
  "./dist/*": "./dist/*",
19
41
  "./src/*": "./src/*",
20
42
  "./test/*": "./test/*",
@@ -334,14 +334,14 @@
334
334
  padding: var(--column_type--padding, 0px 0px 0px 0px);
335
335
  position: absolute;
336
336
  height: 28px;
337
- top: -28px;
337
+ top: -30px;
338
338
  display: inline-flex;
339
339
  align-items: flex-end;
340
340
  content: var(--psp-label--all-columns--content, "All Columns");
341
341
  }
342
342
 
343
343
  #sub-columns .scroll-panel-container {
344
- margin-top: 28px;
344
+ margin-top: 30px;
345
345
  margin-bottom: 4px;
346
346
  }
347
347
 
@@ -364,6 +364,7 @@
364
364
  #active-columns {
365
365
  display: flex;
366
366
  padding-bottom: 8px;
367
+ padding-top: 6px;
367
368
  }
368
369
 
369
370
  #active-columns,
@@ -131,12 +131,37 @@
131
131
  content: var(--psp-label--time-style--content, "Time Style");
132
132
  }
133
133
 
134
- label#foreground-label:before {
135
- content: var(--psp-label--foreground--content, "Foreground");
134
+ label#number_fg_mode-label:before {
135
+ content: var(--psp-label--number-fg-mode--content, "Foreground");
136
136
  }
137
137
 
138
- label#background-label:before {
139
- content: var(--psp-label--background--content, "Background");
138
+ label#pos_fg_color-label:before {
139
+ content: var(--psp-label--number-fg-mode--content, "Foreground");
140
+ }
141
+
142
+ label#number_bg_mode-label:before {
143
+ content: var(--psp-label--number-fg-mode--content, "Background");
144
+ }
145
+
146
+ label#pos_bg_color-label:before {
147
+ content: var(--psp-label--pos-bg-color--content, "Background");
148
+ }
149
+
150
+ label#datetime_color_mode-label:before {
151
+ content: var(--psp-label--datetime-color-mode--content, "Color");
152
+ }
153
+
154
+ label#string_color_mode-label:before {
155
+ content: var(--psp-label--string-color-mode--content, "Color");
156
+ }
157
+
158
+ label#chart-type-label:before,
159
+ label#chart_type-label:before {
160
+ content: var(--psp-label--chart-type--content, "Chart Type");
161
+ }
162
+
163
+ label#stack-label:before {
164
+ content: var(--psp-label--stack--content, "Stack");
140
165
  }
141
166
 
142
167
  label#series-label:before {
@@ -181,8 +206,12 @@
181
206
  content: var(--psp-label--aggregate-depth--content, "Aggregate Depth");
182
207
  }
183
208
 
184
- label#max-value-label:before {
185
- content: var(--psp-label--max-value--content, "Max Value");
209
+ label#fg_gradient-label:before {
210
+ content: var(--psp-label--fg-gradient--content, "Max Value");
211
+ }
212
+
213
+ label#bg_gradient-label:before {
214
+ content: var(--psp-label--bg-gradient--content, "Max Value");
186
215
  }
187
216
 
188
217
  label#rounding-priority-label:before {
@@ -12,10 +12,31 @@
12
12
  */
13
13
 
14
14
  :host {
15
- #column-style-container {
15
+ #column-style-container,
16
+ #plugin-config-container {
16
17
  outline: none;
17
18
  user-select: none;
18
19
 
20
+ .bool-field-desc {
21
+ font-size: 10px;
22
+ flex: 1 1 auto;
23
+ height: 22px;
24
+ display: flex;
25
+ align-items: center;
26
+ padding-left: 4px;
27
+ margin: 0px;
28
+ }
29
+
30
+ .bool-field-container {
31
+ display: flex;
32
+ border: 1px solid var(--psp-inactive--color);
33
+ border-radius: 3px;
34
+ align-items: center;
35
+ padding: 0 6px;
36
+ width: 100%;
37
+ cursor: pointer;
38
+ }
39
+
19
40
  &.no-style {
20
41
  font-style: italic;
21
42
  background-color: var(--psp-placeholder--background);
@@ -57,7 +78,9 @@
57
78
  }
58
79
 
59
80
  span.reset-default-style-disabled {
81
+ flex: 0 0 14px;
60
82
  margin-left: 4px;
83
+ margin-right: 4px;
61
84
  width: 14px;
62
85
  height: 14px;
63
86
  border: 1px solid var(--psp-inactive--border-color);
@@ -65,10 +88,11 @@
65
88
  }
66
89
 
67
90
  span.reset-default-style {
91
+ flex: 0 0 22px;
68
92
  cursor: pointer;
69
93
  width: 22px;
70
94
  height: 22px;
71
- margin-right: -4px;
95
+ /* margin-right: -4px; */
72
96
  display: inline-block;
73
97
  background-repeat: no-repeat;
74
98
  background-color: var(--psp--color);
@@ -215,6 +239,7 @@
215
239
  height: 24px;
216
240
  text-align: center;
217
241
  z-index: 1;
242
+ pointer-events: none;
218
243
  }
219
244
  }
220
245
 
@@ -18,7 +18,8 @@
18
18
 
19
19
  .scroll-panel-auto-width {
20
20
  height: 1px;
21
- margin-top: -1px;
21
+ /* margin-left: 6px; */
22
+ /* margin-top: -1px; */
22
23
  }
23
24
 
24
25
  .scroll-panel-content {
@@ -12,71 +12,27 @@
12
12
  */
13
13
 
14
14
  :host {
15
- .tab-gutter {
16
- border-color: var(--psp-inactive--color, #6e6e6e);
17
- display: flex;
18
-
19
- .tab.tab-padding {
20
- flex: 1;
21
- cursor: unset;
22
- .tab-title {
23
- border-right: none;
24
- }
25
- .tab-border {
26
- border-right: none;
27
- }
28
- }
29
-
30
- .tab {
31
- /* TODO: This needs to be a variable color. Which one? */
32
- background: rgba(0, 0, 0, 0.125);
33
- border-right: 1px solid var(--psp-inactive--color, #6e6e6e);
34
- user-select: none;
35
- cursor: pointer;
36
-
37
- .tab-title {
38
- font-size: 10px;
39
- padding: 10px;
40
- border-bottom: 1px solid var(--psp-inactive--color, #6e6e6e);
41
- }
42
- .tab-border {
43
- height: 2px;
44
- width: 100%;
45
- background-color: var(--psp-inactive--color, #6e6e6e);
46
- margin-top: 1px;
47
- }
48
-
49
- &.selected {
50
- background: unset;
51
- border-bottom: 1px transparent;
52
-
53
- .tab-title {
54
- border-bottom: 1px transparent;
55
- border-right: none;
56
- }
57
- .tab-border {
58
- background-color: transparent;
59
- border-right: none;
60
- }
61
- }
62
- }
63
- }
64
-
65
15
  #format-tab {
66
16
  overflow: scroll;
67
17
  }
68
18
 
19
+ #plugin-tab {
20
+ overflow-x: hidden;
21
+ overflow-y: scroll;
22
+ padding: 12px 0 0 0;
23
+ }
24
+
69
25
  .tab-content {
70
26
  flex: 1 1 auto;
71
27
  overflow: hidden;
72
28
  display: flex;
73
29
  flex-direction: column;
74
30
  .tab-section:last-child {
75
- padding: 12px 8px 12px 8px;
31
+ padding: 12px 0px 12px 8px;
76
32
  }
77
33
 
78
34
  .tab-section {
79
- padding: 12px 8px 0px 8px;
35
+ padding: 12px 0px 0px 8px;
80
36
  flex: 0 0 auto;
81
37
  overflow: hidden;
82
38
  }
@@ -86,10 +86,6 @@
86
86
  opacity: 0.2s;
87
87
  }
88
88
 
89
- &:hover {
90
- background-color: transparent;
91
- }
92
-
93
89
  &:hover {
94
90
  -webkit-mask-image: var(--psp-icon--checkbox-hover--mask-image);
95
91
  mask-image: var(--psp-icon--checkbox-hover--mask-image);
@@ -106,6 +106,7 @@
106
106
 
107
107
  #textarea_editable {
108
108
  position: absolute;
109
+ overscroll-behavior: none;
109
110
  width: 100%;
110
111
  height: 100%;
111
112
  font-family: var(--psp-interface-monospace--font-family, monospace);
@@ -21,14 +21,6 @@
21
21
  display: flex;
22
22
  }
23
23
 
24
- .tab-padding {
25
- border-right: none;
26
- }
27
-
28
- .tab-title {
29
- height: 36px;
30
- }
31
-
32
24
  #debug-panel {
33
25
  display: flex;
34
26
  min-width: 150px;
@@ -42,7 +34,7 @@
42
34
  display: flex;
43
35
  flex: 0 0 auto;
44
36
  gap: 0.333333em;
45
- padding: 0px 8px 12px 8px;
37
+ padding: 12px 8px 0px 0px;
46
38
  align-items: center;
47
39
  button {
48
40
  appearance: none;
@@ -76,13 +68,14 @@
76
68
  flex-direction: column;
77
69
  flex: 0 1 auto;
78
70
  overflow: hidden;
79
- padding: 12px 8px 12px 8px;
71
+ padding: 8px 8px 8px 0;
80
72
  }
81
73
 
82
74
  #editor {
83
75
  background-color: var(--psp--background-color);
84
76
  border: 1px solid var(--psp-inactive--color);
85
77
  border-radius: 2px;
78
+ font-size: 0.8em;
86
79
  /* height: 100%; */
87
80
  }
88
81
  }
@@ -131,6 +131,17 @@
131
131
  }
132
132
  }
133
133
 
134
+ .plugin-select-item[data-plugin="Density"] > .icon {
135
+ -webkit-mask-image: var(
136
+ --psp-plugin-selector--density--content
137
+ );
138
+ mask-image: var(--psp-plugin-selector--density--content);
139
+ &:before {
140
+ content: var(--psp-plugin-selector--density--content);
141
+ visibility: hidden;
142
+ }
143
+ }
144
+
134
145
  .plugin-select-item[data-plugin="Map Scatter"] > .icon {
135
146
  -webkit-mask-image: var(
136
147
  --psp-plugin-selector--map-scatter--content
@@ -142,6 +153,28 @@
142
153
  }
143
154
  }
144
155
 
156
+ .plugin-select-item[data-plugin="Map Line"] > .icon {
157
+ -webkit-mask-image: var(
158
+ --psp-plugin-selector--map-line--content
159
+ );
160
+ mask-image: var(--psp-plugin-selector--map-line--content);
161
+ &:before {
162
+ content: var(--psp-plugin-selector--map-line--content);
163
+ visibility: hidden;
164
+ }
165
+ }
166
+
167
+ .plugin-select-item[data-plugin="Map Density"] > .icon {
168
+ -webkit-mask-image: var(
169
+ --psp-plugin-selector--map-density--content
170
+ );
171
+ mask-image: var(--psp-plugin-selector--map-density--content);
172
+ &:before {
173
+ content: var(--psp-plugin-selector--map-density--content);
174
+ visibility: hidden;
175
+ }
176
+ }
177
+
145
178
  .plugin-select-item[data-plugin="OHLC"] > .icon {
146
179
  -webkit-mask-image: var(--psp-plugin-selector--ohlc--content);
147
180
  mask-image: var(--psp-plugin-selector--ohlc--content);
@@ -0,0 +1,99 @@
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
+
14
+ :host {
15
+ label#edit_mode-label:before {
16
+ content: var(--psp-label--edit-mode--content);
17
+ }
18
+
19
+ label#scroll_lock-label:before {
20
+ content: var(--psp-label--scroll-lock--content);
21
+ }
22
+
23
+ label#chart_type-label:before {
24
+ content: var(--psp-label--chart-type--content);
25
+ }
26
+
27
+ /* viewer-charts plugin_config controls */
28
+ label#auto_alt_y_axis-label:before {
29
+ content: var(--psp-label--auto-alt-y-axis--content);
30
+ }
31
+
32
+ label#facet_mode-label:before {
33
+ content: var(--psp-label--facet-mode--content);
34
+ }
35
+
36
+ label#facet_zoom_mode-label:before {
37
+ content: var(--psp-label--facet-zoom-mode--content);
38
+ }
39
+
40
+ label#series_zoom_mode-label:before {
41
+ content: var(--psp-label--series-zoom-mode--content);
42
+ }
43
+
44
+ label#line_width_px-label:before {
45
+ content: var(--psp-label--line-width-px--content);
46
+ }
47
+
48
+ label#point_size_px-label:before {
49
+ content: var(--psp-label--point-size-px--content);
50
+ }
51
+
52
+ label#band_inner_frac-label:before {
53
+ content: var(--psp-label--band-inner-frac--content);
54
+ }
55
+
56
+ label#bar_inner_pad-label:before {
57
+ content: var(--psp-label--bar-inner-pad--content);
58
+ }
59
+
60
+ label#wick_width_px-label:before {
61
+ content: var(--psp-label--wick-width-px--content);
62
+ }
63
+
64
+ label#ohlc_line_width_px-label:before {
65
+ content: var(--psp-label--ohlc-line-width-px--content);
66
+ }
67
+
68
+ label#include_zero-label:before {
69
+ content: var(--psp-label--include-zero--content);
70
+ }
71
+
72
+ label#domain_mode-label:before {
73
+ content: var(--psp-label--domain-mode--content);
74
+ }
75
+
76
+ label#gradient_color_mode-label:before {
77
+ content: var(--psp-label--gradient-color-mode--content);
78
+ }
79
+
80
+ label#gradient_radius_px-label:before {
81
+ content: var(--psp-label--gradient-radius-px--content);
82
+ }
83
+
84
+ label#gradient_intensity-label:before {
85
+ content: var(--psp-label--gradient-intensity--content);
86
+ }
87
+
88
+ label#gradient_heat_max-label:before {
89
+ content: var(--psp-label--gradient-heat-max--content);
90
+ }
91
+
92
+ label#map_tile_provider-label:before {
93
+ content: var(--psp-label--map-tile-provider--content);
94
+ }
95
+
96
+ label#map_tile_alpha-label:before {
97
+ content: var(--psp-label--map-tile-alpha--content);
98
+ }
99
+ }
@@ -380,15 +380,57 @@
380
380
  }
381
381
  }
382
382
 
383
+ .settings_tab_bar_scroll_offset {
384
+ margin-left: -8px;
385
+ }
386
+
387
+ #settings_tab_bar {
388
+ display: flex;
389
+ &:after {
390
+ content: " ";
391
+ border-bottom: 1px solid var(--psp-inactive--color);
392
+ background-color: #00000020;
393
+ flex: 1 0 auto;
394
+ }
395
+
396
+ .settings_tab {
397
+ border-right: 1px solid var(--psp-inactive--color);
398
+ cursor: pointer;
399
+ padding: 6px 8px;
400
+ font-size: var(--label--font-size, 0.75em);
401
+ flex: 0 1 100px;
402
+ background-color: #00000020;
403
+ border-bottom: 1px solid var(--psp-inactive--color);
404
+ color: var(--psp-inactive--color);
405
+ margin-left: -1px;
406
+ border-left: 1px solid var(--psp-inactive--color);
407
+
408
+ &:hover {
409
+ color: inherit;
410
+ }
411
+ }
412
+
413
+ .selected_tab {
414
+ color: inherit;
415
+ background-color: transparent;
416
+ border-bottom: 1px solid transparent;
417
+ box-shadow: 0px 9px 0px -8px var(--psp-inactive--color);
418
+ height: calc(100% - 1px);
419
+ }
420
+ }
421
+
383
422
  .split-panel.orient-reverse
384
423
  > .split-panel-child:not(:last-child):not(.is-width-override) {
385
424
  max-width: 300px;
386
425
  }
387
426
 
388
427
  .sidebar_header {
389
- min-height: var(
390
- --psp-plugin-selector--height,
391
- var(--psp-status-bar--height, 48px)
428
+ min-height: calc(
429
+ var(
430
+ --psp-plugin-selector--height,
431
+ var(--psp-status-bar--height, 48px)
432
+ ) +
433
+ 1px
392
434
  );
393
435
  overflow: hidden;
394
436
  display: flex;
@@ -413,4 +455,24 @@
413
455
  flex-shrink: 0;
414
456
  flex-grow: 0;
415
457
  }
458
+
459
+ #query_tabbar_tab:before {
460
+ content: var(--psp-label--query-tab--content);
461
+ }
462
+
463
+ #plugin_tabbar_tab:before {
464
+ content: var(--psp-label--plugin-tab--content);
465
+ }
466
+
467
+ #debug_tabbar_tab:before {
468
+ content: var(--psp-label--debug-tab--content);
469
+ }
470
+
471
+ label#stack-label:before {
472
+ content: var(--psp-label--stack--content, "Stack");
473
+ }
474
+
475
+ label#alt_axis-label:before {
476
+ content: var(--psp-label--alt-axis--content, "Alt Axis");
477
+ }
416
478
  }
@@ -91,7 +91,9 @@ impl ColumnDropDownElement {
91
91
  let width = target.get_bounding_client_rect().width();
92
92
  ApiFuture::spawn(async move {
93
93
  if !exclude.contains(&input) {
94
- let is_expr = session.validate_expr(&input).await?.is_none();
94
+ let is_expr = crate::queries::validate_expr(&session, &input)
95
+ .await?
96
+ .is_none();
95
97
  if is_expr {
96
98
  values.push(InPlaceColumn::Expression(Expression::new(
97
99
  None,