@perspective-dev/viewer 5.3.0 → 5.4.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 (265) hide show
  1. package/dist/cdn/perspective-viewer.js +8 -8
  2. package/dist/cdn/perspective-viewer.js.map +3 -3
  3. package/dist/css/blueprint.css +1 -0
  4. package/dist/css/botanical.css +1 -1
  5. package/dist/css/dracula.css +1 -1
  6. package/dist/css/eggplant.css +1 -0
  7. package/dist/css/gruvbox-dark.css +1 -1
  8. package/dist/css/gruvbox.css +1 -1
  9. package/dist/css/icons.css +1 -1
  10. package/dist/css/intl/ar.css +1 -0
  11. package/dist/css/intl/de.css +1 -1
  12. package/dist/css/intl/es.css +1 -1
  13. package/dist/css/intl/fr.css +1 -1
  14. package/dist/css/intl/ja.css +1 -1
  15. package/dist/css/intl/pt.css +1 -1
  16. package/dist/css/intl/zh.css +1 -1
  17. package/dist/css/intl.css +1 -1
  18. package/dist/css/ledger.css +1 -0
  19. package/dist/css/monokai.css +1 -1
  20. package/dist/css/nord.css +1 -0
  21. package/dist/css/phosphor.css +1 -1
  22. package/dist/css/pro-dark.css +1 -1
  23. package/dist/css/pro.css +1 -1
  24. package/dist/css/solarized-dark.css +1 -1
  25. package/dist/css/solarized.css +1 -1
  26. package/dist/css/themes.css +1 -1
  27. package/dist/css/vaporwave.css +1 -1
  28. package/dist/css/velvet.css +1 -0
  29. package/dist/docs/perspective-docs.json +1 -1
  30. package/dist/esm/column-format.d.ts +16 -3
  31. package/dist/esm/extensions.d.ts +0 -5
  32. package/dist/esm/perspective-viewer.inline.js +7 -7
  33. package/dist/esm/perspective-viewer.inline.js.map +3 -3
  34. package/dist/esm/perspective-viewer.js +8 -8
  35. package/dist/esm/perspective-viewer.js.map +3 -3
  36. package/dist/esm/ts-rs/ViewOnUpdateResp.d.ts +1 -1
  37. package/dist/wasm/perspective-viewer.d.ts +62 -73
  38. package/dist/wasm/perspective-viewer.js +230 -238
  39. package/dist/wasm/perspective-viewer.wasm +0 -0
  40. package/dist/wasm/perspective-viewer.wasm.d.ts +18 -28
  41. package/package.json +7 -7
  42. package/src/css/_context_menu.css +1 -1
  43. package/src/css/_dropdown_menu.css +1 -1
  44. package/src/css/_viewer_bundle.css +7 -8
  45. package/src/css/column-dropdown.css +0 -3
  46. package/src/css/column-selector.css +8 -5
  47. package/src/css/column-settings-panel.css +0 -206
  48. package/src/css/column-style.css +95 -0
  49. package/src/css/config-selector.css +18 -10
  50. package/src/css/filter-dropdown.css +5 -5
  51. package/src/css/form/debug.css +28 -4
  52. package/src/css/function-dropdown.css +5 -5
  53. package/src/css/panel-tab.css +23 -0
  54. package/src/css/plugin-selector.css +6 -5
  55. package/src/css/render-warning.css +1 -1
  56. package/src/css/status-bar.css +52 -21
  57. package/src/css/type-icon.css +1 -3
  58. package/src/css/{containers → ui/containers}/context-menu.css +22 -16
  59. package/src/css/ui/containers/dropdown-menu-items.css +66 -0
  60. package/src/css/{containers → ui/containers}/dropdown-menu.css +8 -53
  61. package/src/css/{containers → ui/containers}/tabs.css +13 -3
  62. package/src/css/{dom → ui/dom}/select.css +19 -8
  63. package/src/css/viewer.css +32 -31
  64. package/src/rust/agent/tools.rs +5 -2
  65. package/src/rust/components/chat_panel.rs +1 -1
  66. package/src/rust/components/{form/code_editor.rs → code_editor.rs} +4 -2
  67. package/src/rust/components/column_dropdown.rs +2 -2
  68. package/src/rust/components/column_selector/active_column.rs +15 -9
  69. package/src/rust/components/column_selector/aggregate_selector.rs +1 -1
  70. package/src/rust/components/column_selector/config_selector.rs +2 -2
  71. package/src/rust/components/column_selector/filter_column.rs +8 -5
  72. package/src/rust/components/column_selector/inactive_column.rs +4 -2
  73. package/src/rust/components/column_selector/pivot_column.rs +4 -3
  74. package/src/rust/components/column_selector/sort_column.rs +7 -4
  75. package/src/rust/components/column_selector.rs +3 -3
  76. package/src/rust/components/column_settings_sidebar/style_tab/agg_depth_selector.rs +1 -1
  77. package/src/rust/components/column_settings_sidebar/style_tab/primitive_field.rs +15 -17
  78. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +1 -1
  79. package/src/rust/components/column_settings_sidebar/style_tab.rs +296 -238
  80. package/src/rust/components/column_settings_sidebar.rs +3 -4
  81. package/src/rust/components/copy_dropdown.rs +1 -1
  82. package/src/rust/components/datetime_column_style/custom.rs +1 -3
  83. package/src/rust/components/datetime_column_style/simple.rs +16 -6
  84. package/src/rust/components/datetime_column_style.rs +51 -12
  85. package/src/rust/components/{form/debug.rs → debug_panel.rs} +5 -5
  86. package/src/rust/components/{containers/dragdrop_list.rs → dragdrop_list.rs} +2 -10
  87. package/src/rust/components/export_dropdown.rs +1 -1
  88. package/src/rust/components/expression_editor.rs +1 -1
  89. package/src/rust/components/filter_dropdown.rs +2 -2
  90. package/src/rust/components/function_dropdown.rs +2 -2
  91. package/src/rust/components/main_panel/frame_theme.rs +3 -59
  92. package/src/rust/components/main_panel/reconcile.rs +9 -4
  93. package/src/rust/components/main_panel/render.rs +62 -11
  94. package/src/rust/components/main_panel/update.rs +39 -10
  95. package/src/rust/components/main_panel.rs +26 -2
  96. package/src/rust/components/mod.rs +5 -7
  97. package/src/rust/components/new_panel_menu.rs +97 -0
  98. package/src/rust/components/number_series_style.rs +2 -3
  99. package/src/rust/components/panel_menu.rs +61 -87
  100. package/src/rust/components/panel_tab.rs +100 -43
  101. package/src/rust/components/plugin_tab.rs +125 -87
  102. package/src/rust/components/render_warning.rs +2 -2
  103. package/src/rust/components/{status_bar_counter.rs → rows_counter.rs} +10 -10
  104. package/src/rust/components/settings_panel.rs +3 -2
  105. package/src/rust/components/status_bar.rs +113 -20
  106. package/src/rust/components/status_indicator.rs +5 -14
  107. package/src/rust/components/string_column_style.rs +1 -2
  108. package/src/rust/components/{style/mod.rs → style.rs} +32 -15
  109. package/src/rust/components/style_controls/number_string_format/digits_section.rs +25 -15
  110. package/src/rust/components/style_controls/number_string_format/misc_section.rs +7 -3
  111. package/src/rust/components/style_controls/number_string_format/style_section.rs +2 -1
  112. package/src/rust/components/style_controls/number_string_format/types.rs +24 -0
  113. package/src/rust/components/style_controls/number_string_format.rs +37 -14
  114. package/src/rust/components/viewer/msg.rs +43 -30
  115. package/src/rust/components/viewer/panels.rs +50 -19
  116. package/src/rust/components/viewer/render.rs +15 -13
  117. package/src/rust/components/viewer/settings.rs +137 -68
  118. package/src/rust/components/viewer/snapshots.rs +5 -10
  119. package/src/rust/components/viewer/wiring.rs +1 -21
  120. package/src/rust/components/viewer.rs +15 -10
  121. package/src/rust/components/window_editor.rs +8 -9
  122. package/src/rust/config/column_config_schema.rs +358 -52
  123. package/src/rust/config/datetime_column_style.rs +4 -21
  124. package/src/rust/config/mod.rs +0 -2
  125. package/src/rust/config/number_string_format.rs +211 -18
  126. package/src/rust/config/workspace_config.rs +2 -1
  127. package/src/rust/custom_elements/debug_plugin.rs +1 -10
  128. package/src/rust/custom_elements/mod.rs +0 -3
  129. package/src/rust/custom_elements/viewer.rs +0 -18
  130. package/src/rust/js/plugin.rs +0 -86
  131. package/src/rust/lib.rs +12 -15
  132. package/src/rust/presentation/column_locator.rs +3 -7
  133. package/src/rust/presentation.rs +85 -38
  134. package/src/rust/queries/hosted_tables.rs +38 -0
  135. package/src/rust/queries/mod.rs +2 -0
  136. package/src/rust/queries/palette_set.rs +1 -1
  137. package/src/rust/queries/plugin_column_styles.rs +2 -2
  138. package/src/rust/renderer/activate.rs +1 -3
  139. package/src/rust/renderer/dispatch.rs +117 -30
  140. package/src/rust/renderer/limits.rs +24 -5
  141. package/src/rust/renderer/plugin_config.rs +56 -8
  142. package/src/rust/renderer/props.rs +2 -1
  143. package/src/rust/renderer.rs +14 -27
  144. package/src/rust/session/props.rs +4 -3
  145. package/src/rust/session/view_subscription.rs +19 -6
  146. package/src/rust/session.rs +38 -70
  147. package/src/rust/tasks/create_panel.rs +1 -1
  148. package/src/rust/tasks/dismiss_render_warning.rs +1 -1
  149. package/src/rust/tasks/eject.rs +1 -0
  150. package/src/rust/tasks/pipeline.rs +0 -60
  151. package/src/rust/tasks/presize_panels.rs +24 -1
  152. package/src/rust/tasks/restore_and_render.rs +0 -17
  153. package/src/rust/tasks/send_column_config.rs +1 -1
  154. package/src/rust/tasks/send_plugin_config.rs +1 -1
  155. package/src/rust/tasks/set_edit_mode.rs +1 -1
  156. package/src/rust/ui/containers/control_group.rs +113 -0
  157. package/src/rust/{components → ui}/containers/dropdown_menu.rs +5 -2
  158. package/src/rust/{components → ui}/containers/mod.rs +1 -4
  159. package/src/rust/{components → ui}/containers/scroll_panel.rs +0 -22
  160. package/src/rust/{components → ui}/containers/scroll_panel_item.rs +0 -13
  161. package/src/rust/{components → ui}/containers/select.rs +8 -8
  162. package/src/rust/{components → ui}/containers/sidebar.rs +5 -32
  163. package/src/rust/{components → ui}/containers/split_panel.rs +8 -80
  164. package/src/rust/{components → ui}/containers/tab_list.rs +15 -9
  165. package/src/rust/{components → ui}/context_menu.rs +8 -13
  166. package/src/rust/{presentation/drag_helpers.rs → ui/dragdrop.rs} +26 -31
  167. package/src/rust/{components → ui}/font_loader.rs +0 -26
  168. package/src/rust/{components → ui}/form/color_selector.rs +4 -2
  169. package/src/rust/ui/form/intl_label.rs +81 -0
  170. package/src/rust/{components → ui}/form/mirrored_textarea.rs +0 -53
  171. package/src/rust/{components → ui}/form/mod.rs +1 -10
  172. package/src/rust/{components → ui}/form/multi_stop_gradient_selector.rs +4 -5
  173. package/src/rust/{components → ui}/form/named_value_picker.rs +1 -6
  174. package/src/rust/{components → ui}/form/number_field.rs +1 -1
  175. package/src/rust/{components → ui}/form/number_range_field.rs +1 -1
  176. package/src/rust/{components → ui}/form/optional_field.rs +3 -1
  177. package/src/rust/{components → ui}/form/palette_selector.rs +4 -5
  178. package/src/rust/{components → ui}/form/select_enum_field.rs +2 -2
  179. package/src/rust/{components → ui}/form/select_value_field.rs +2 -2
  180. package/src/rust/ui/mod.rs +56 -0
  181. package/src/rust/ui/modal.rs +61 -0
  182. package/src/rust/{components → ui}/portal.rs +174 -79
  183. package/src/rust/{components/style/style_provider.rs → ui/style.rs} +4 -34
  184. package/src/rust/utils/completion.rs +0 -6
  185. package/src/rust/{config/css_scale.rs → utils/css.rs} +38 -35
  186. package/src/rust/utils/mod.rs +2 -0
  187. package/src/rust/workspace.rs +35 -0
  188. package/src/svg/boolean-type.svg +3 -2
  189. package/src/svg/checkbox-checked-icon.svg +4 -7
  190. package/src/svg/checkbox-hover.svg +3 -3
  191. package/src/svg/checkbox-off.svg +2 -3
  192. package/src/svg/checkbox-on.svg +3 -3
  193. package/src/svg/checkbox-unchecked-icon.svg +3 -3
  194. package/src/svg/datagrid-select-column.svg +8 -15
  195. package/src/svg/datagrid-select-region.svg +8 -15
  196. package/src/svg/datagrid-select-row-tree.svg +7 -12
  197. package/src/svg/datagrid-select-row.svg +8 -13
  198. package/src/svg/date-type.svg +4 -23
  199. package/src/svg/drawer-tab-hover.svg +4 -6
  200. package/src/svg/drawer-tab-invert-hover.svg +5 -5
  201. package/src/svg/drawer-tab-invert.svg +3 -5
  202. package/src/svg/drawer-tab.svg +5 -5
  203. package/src/svg/mega-menu-icons-candlestick.svg +5 -37
  204. package/src/svg/mega-menu-icons-ohlc.svg +4 -39
  205. package/src/svg/mega-menu-icons-sunburst.svg +4 -38
  206. package/src/svg/mega-menu-icons-treemap.svg +3 -43
  207. package/src/svg/mega-menu-icons-y-scatter.svg +12 -72
  208. package/src/svg/new-panel-icon.svg +4 -0
  209. package/src/svg/number-type.svg +3 -3
  210. package/src/svg/radio-hover.svg +3 -3
  211. package/src/svg/radio-off.svg +3 -3
  212. package/src/svg/radio-on.svg +3 -3
  213. package/src/svg/status_ok.svg +3 -26
  214. package/src/svg/string-type.svg +4 -8
  215. package/src/svg/theme-icon.svg +5 -5
  216. package/src/themes/blueprint.css +133 -0
  217. package/src/themes/botanical.css +3 -52
  218. package/src/themes/defaults.css +3 -144
  219. package/src/themes/dracula.css +1 -71
  220. package/src/themes/eggplant.css +131 -0
  221. package/src/themes/gruvbox-dark.css +2 -79
  222. package/src/themes/gruvbox.css +2 -40
  223. package/src/themes/icons.css +2 -10
  224. package/src/themes/intl/ar.css +185 -0
  225. package/src/themes/intl/de.css +65 -33
  226. package/src/themes/intl/es.css +60 -28
  227. package/src/themes/intl/fr.css +60 -28
  228. package/src/themes/intl/ja.css +62 -30
  229. package/src/themes/intl/pt.css +58 -26
  230. package/src/themes/intl/zh.css +68 -36
  231. package/src/themes/intl.css +42 -7
  232. package/src/themes/ledger.css +137 -0
  233. package/src/themes/monokai.css +1 -64
  234. package/src/themes/nord.css +131 -0
  235. package/src/themes/phosphor.css +1 -61
  236. package/src/themes/pro-dark.css +1 -52
  237. package/src/themes/pro.css +98 -0
  238. package/src/themes/solarized-dark.css +1 -46
  239. package/src/themes/solarized.css +1 -24
  240. package/src/themes/themes.css +10 -5
  241. package/src/themes/vaporwave.css +1 -57
  242. package/src/themes/velvet.css +132 -0
  243. package/src/ts/column-format.ts +52 -2
  244. package/src/ts/extensions.ts +0 -13
  245. package/src/ts/ts-rs/ViewOnUpdateResp.ts +1 -1
  246. package/src/css/plugin-settings-panel.css +0 -99
  247. package/src/rust/components/modal.rs +0 -177
  248. package/src/rust/custom_elements/copy_dropdown.rs +0 -219
  249. package/src/rust/custom_elements/export_dropdown.rs +0 -216
  250. package/src/rust/custom_elements/modal.rs +0 -299
  251. package/src/svg/dropdown-selector-light.svg +0 -3
  252. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline0.js +0 -0
  253. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline1.js +0 -0
  254. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline2.js +0 -0
  255. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline3.js +0 -0
  256. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline4.js +0 -0
  257. /package/dist/wasm/snippets/{perspective-viewer-39c3c3b28e3cbd48 → perspective-viewer-adc6f3f79141112b}/inline5.js +0 -0
  258. /package/src/css/{containers → ui/containers}/scroll-panel.css +0 -0
  259. /package/src/css/{containers → ui/containers}/split-panel.css +0 -0
  260. /package/src/css/{dom → ui/dom}/checkbox.css +0 -0
  261. /package/src/css/{dom → ui/dom}/scrollbar.css +0 -0
  262. /package/src/css/{form → ui/form}/mirrored-textarea.css +0 -0
  263. /package/src/rust/components/{form → code_editor}/highlight.rs +0 -0
  264. /package/src/rust/{components → ui}/containers/sidebar_close_button.rs +0 -0
  265. /package/src/rust/{components → ui}/form/number_input.rs +0 -0
Binary file
@@ -1,17 +1,8 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_copydropdownmenuelement_free: (a: number, b: number) => void;
5
4
  export const __wbg_perspectivedebugpluginelement_free: (a: number, b: number) => void;
6
5
  export const __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
7
- export const copydropdownmenuelement___set_model: (a: number, b: number) => void;
8
- export const copydropdownmenuelement_connected_callback: (a: number) => void;
9
- export const copydropdownmenuelement_hide: (a: number, b: number) => void;
10
- export const copydropdownmenuelement_new: (a: number) => number;
11
- export const copydropdownmenuelement_open: (a: number, b: number) => void;
12
- export const exportdropdownmenuelement___set_model: (a: number, b: number) => void;
13
- export const exportdropdownmenuelement_hide: (a: number, b: number) => void;
14
- export const exportdropdownmenuelement_open: (a: number, b: number) => void;
15
6
  export const get_wasm_module: (a: number) => void;
16
7
  export const get_worker_url: (a: number) => void;
17
8
  export const init: (a: number, b: number) => void;
@@ -73,9 +64,6 @@ export const perspectivedebugpluginelement_delete: (a: number) => number;
73
64
  export const perspectivedebugpluginelement_resize: (a: number) => number;
74
65
  export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
75
66
  export const perspectivedebugpluginelement_restyle: (a: number) => void;
76
- export const exportdropdownmenuelement_new: (a: number) => number;
77
- export const __wbg_exportdropdownmenuelement_free: (a: number, b: number) => void;
78
- export const exportdropdownmenuelement_connected_callback: (a: number) => void;
79
67
  export const __wbg_client_free: (a: number, b: number) => void;
80
68
  export const __wbg_genericsqlvirtualservermodel_free: (a: number, b: number) => void;
81
69
  export const __wbg_proxysession_free: (a: number, b: number) => void;
@@ -144,8 +132,10 @@ export const view_get_min_max: (a: number, b: number, c: number) => number;
144
132
  export const view_num_columns: (a: number) => number;
145
133
  export const view_num_rows: (a: number) => number;
146
134
  export const view_on_delete: (a: number, b: number) => number;
135
+ export const view_on_remove: (a: number, b: number) => number;
147
136
  export const view_on_update: (a: number, b: number, c: number) => number;
148
137
  export const view_remove_delete: (a: number, b: number) => number;
138
+ export const view_remove_remove: (a: number, b: number) => number;
149
139
  export const view_remove_update: (a: number, b: number) => number;
150
140
  export const view_schema: (a: number) => number;
151
141
  export const view_set_depth: (a: number, b: number) => number;
@@ -167,22 +157,22 @@ export const virtualdataslice_setIntegerCol: (a: number, b: number, c: number, d
167
157
  export const virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
168
158
  export const virtualserver_handleRequest: (a: number, b: number, c: number) => number;
169
159
  export const virtualserver_new: (a: number, b: number) => void;
170
- export const __wasm_bindgen_func_elem_17916: (a: number, b: number) => void;
171
- export const __wasm_bindgen_func_elem_18625: (a: number, b: number) => void;
172
- export const __wasm_bindgen_func_elem_19491: (a: number, b: number) => void;
173
- export const __wasm_bindgen_func_elem_4310: (a: number, b: number) => void;
174
- export const __wasm_bindgen_func_elem_24164: (a: number, b: number) => void;
175
- export const __wasm_bindgen_func_elem_32290: (a: number, b: number, c: number, d: number) => void;
176
- export const __wasm_bindgen_func_elem_18035: (a: number, b: number, c: number) => void;
177
- export const __wasm_bindgen_func_elem_18630: (a: number, b: number, c: number) => void;
178
- export const __wasm_bindgen_func_elem_7520: (a: number, b: number, c: number) => void;
179
- export const __wasm_bindgen_func_elem_7521: (a: number, b: number, c: number) => void;
180
- export const __wasm_bindgen_func_elem_7522: (a: number, b: number, c: number) => void;
181
- export const __wasm_bindgen_func_elem_7518: (a: number, b: number, c: number) => void;
182
- export const __wasm_bindgen_func_elem_24181: (a: number, b: number, c: number) => void;
183
- export const __wasm_bindgen_func_elem_20501: (a: number, b: number) => number;
184
- export const __wasm_bindgen_func_elem_18629: (a: number, b: number) => void;
185
- export const __wasm_bindgen_func_elem_20502: (a: number, b: number) => void;
160
+ export const __wasm_bindgen_func_elem_18575: (a: number, b: number) => void;
161
+ export const __wasm_bindgen_func_elem_19286: (a: number, b: number) => void;
162
+ export const __wasm_bindgen_func_elem_20199: (a: number, b: number) => void;
163
+ export const __wasm_bindgen_func_elem_4417: (a: number, b: number) => void;
164
+ export const __wasm_bindgen_func_elem_24952: (a: number, b: number) => void;
165
+ export const __wasm_bindgen_func_elem_33110: (a: number, b: number, c: number, d: number) => void;
166
+ export const __wasm_bindgen_func_elem_18694: (a: number, b: number, c: number) => void;
167
+ export const __wasm_bindgen_func_elem_19291: (a: number, b: number, c: number) => void;
168
+ export const __wasm_bindgen_func_elem_7737: (a: number, b: number, c: number) => void;
169
+ export const __wasm_bindgen_func_elem_7738: (a: number, b: number, c: number) => void;
170
+ export const __wasm_bindgen_func_elem_7739: (a: number, b: number, c: number) => void;
171
+ export const __wasm_bindgen_func_elem_7735: (a: number, b: number, c: number) => void;
172
+ export const __wasm_bindgen_func_elem_24969: (a: number, b: number, c: number) => void;
173
+ export const __wasm_bindgen_func_elem_21238: (a: number, b: number) => number;
174
+ export const __wasm_bindgen_func_elem_19290: (a: number, b: number) => void;
175
+ export const __wasm_bindgen_func_elem_21239: (a: number, b: number) => void;
186
176
  export const __wbindgen_export: (a: number, b: number) => number;
187
177
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
188
178
  export const __wbindgen_export3: (a: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perspective-dev/viewer",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "description": "The `<perspective-viewer>` Custom Element, frontend for Perspective",
5
5
  "keywords": [
6
6
  "perspective",
@@ -54,14 +54,11 @@
54
54
  "access": "public"
55
55
  },
56
56
  "dependencies": {
57
- "@perspective-dev/client": "",
58
57
  "pro_self_extracting_wasm": "0.0.9",
59
- "regular-layout": "=0.6.1"
58
+ "regular-layout": "=0.6.1",
59
+ "@perspective-dev/client": "^5.4.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@perspective-dev/esbuild-plugin": "",
63
- "@perspective-dev/test": "",
64
- "@perspective-dev/metadata": "",
65
62
  "lightningcss": "^1.29.0",
66
63
  "@playwright/test": "=1.58.0",
67
64
  "@playwright/experimental-ct-react": "=1.58.0",
@@ -72,7 +69,10 @@
72
69
  "ts-json-schema-generator": "^2.4.0",
73
70
  "typedoc": "^0.28.7",
74
71
  "typescript": ">=5 <6",
75
- "zx": ">=8 <9"
72
+ "zx": ">=8 <9",
73
+ "@perspective-dev/esbuild-plugin": "^5.4.0",
74
+ "@perspective-dev/metadata": "^5.4.0",
75
+ "@perspective-dev/test": "^5.4.0"
76
76
  },
77
77
  "scripts": {
78
78
  "build": "node ./build.mjs",
@@ -11,4 +11,4 @@
11
11
  * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
  */
13
13
 
14
- @import "containers/context-menu.css";
14
+ @import "ui/containers/context-menu.css";
@@ -11,4 +11,4 @@
11
11
  * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
  */
13
13
 
14
- @import "containers/dropdown-menu.css";
14
+ @import "ui/containers/dropdown-menu.css";
@@ -11,14 +11,14 @@
11
11
  * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
  */
13
13
 
14
- @import "dom/checkbox.css";
15
- @import "dom/scrollbar.css";
16
- @import "dom/select.css";
14
+ @import "ui/dom/checkbox.css";
15
+ @import "ui/dom/scrollbar.css";
16
+ @import "ui/dom/select.css";
17
17
 
18
- @import "containers/split-panel.css";
19
- @import "containers/scroll-panel.css";
18
+ @import "ui/containers/split-panel.css";
19
+ @import "ui/containers/scroll-panel.css";
20
20
  @import "containers/pairs-list.css";
21
- @import "containers/tabs.css";
21
+ @import "ui/containers/tabs.css";
22
22
 
23
23
  @import "type-icon.css";
24
24
  @import "aggregate-selector.css";
@@ -31,11 +31,10 @@
31
31
  @import "column-settings-panel.css";
32
32
  @import "expression-editor.css";
33
33
  @import "plugin-selector.css";
34
- @import "plugin-settings-panel.css";
35
34
  @import "render-warning.css";
36
35
  @import "status-bar.css";
37
36
 
38
- @import "form/mirrored-textarea.css";
37
+ @import "ui/form/mirrored-textarea.css";
39
38
  @import "form/code-editor.css";
40
39
  @import "form/debug.css";
41
40
 
@@ -13,11 +13,8 @@
13
13
 
14
14
  :host {
15
15
  box-sizing: border-box;
16
- position: fixed;
17
- z-index: 10000;
18
16
  outline: none;
19
17
  font-size: 0.75em;
20
- border: inherit;
21
18
  /* box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%); */
22
19
  user-select: none;
23
20
  background-color: var(--psp--color, #fff) !important;
@@ -13,7 +13,10 @@
13
13
 
14
14
  :host {
15
15
  #add-expression-button:before {
16
- content: var(--psp-label--add-expression-button--content, "New Column");
16
+ content: var(
17
+ --psp-label--add-expression-button--content,
18
+ var(--psp-missing)
19
+ );
17
20
  text-transform: uppercase;
18
21
  font-size: 0.8333333em;
19
22
  }
@@ -90,7 +93,7 @@
90
93
  display: inline-flex;
91
94
  -webkit-mask-size: cover;
92
95
  mask-size: cover;
93
- margin-left: 9px;
96
+ margin-left: 6px;
94
97
  -webkit-mask-image: var(--psp-icon--add-expression--mask-image);
95
98
  mask-image: var(--psp-icon--add-expression--mask-image);
96
99
  &:before {
@@ -103,7 +106,7 @@
103
106
  /* Text label of the button e.g. "New Column" */
104
107
  & > span {
105
108
  align-self: center;
106
- margin-left: 7.5px;
109
+ margin-left: 7px;
107
110
  text-overflow: ellipsis;
108
111
  white-space: nowrap;
109
112
  pointer-events: none;
@@ -202,7 +205,7 @@
202
205
  font-family: var(--psp-button--font-family, inherit);
203
206
  cursor: pointer;
204
207
  padding: 2px 4px 0 4px;
205
- margin-right: 4px;
208
+ margin-right: 1px;
206
209
  margin-left: auto;
207
210
  border-radius: 3px;
208
211
  &:hover,
@@ -346,7 +349,7 @@
346
349
  top: -30px;
347
350
  display: inline-flex;
348
351
  align-items: flex-end;
349
- content: var(--psp-label--all-columns--content, "All Columns");
352
+ content: var(--psp-label--all-columns--content, var(--psp-missing));
350
353
  }
351
354
 
352
355
  #sub-columns .scroll-panel-container {
@@ -113,212 +113,6 @@
113
113
  }
114
114
  }
115
115
  }
116
-
117
- label#color-label:before {
118
- content: var(--psp-label--color--content, "Color");
119
- }
120
-
121
- label#window-frame-label:before {
122
- content: var(--psp-label--window-frame--content, "Frame");
123
- }
124
-
125
- label#window-offset-label:before {
126
- content: var(--psp-label--window-offset--content, "Offset");
127
- }
128
-
129
- label#window-alpha-label:before {
130
- content: var(--psp-label--window-alpha--content, "Alpha");
131
- }
132
-
133
- label#format-label:before {
134
- content: var(--psp-label--format--content, "Format");
135
- }
136
-
137
- label#timezone-label:before {
138
- content: var(--psp-label--timezone--content, "Timezone");
139
- }
140
-
141
- label#date-style-label:before {
142
- content: var(--psp-label--date-style--content, "Date Style");
143
- }
144
-
145
- label#time-style-label:before {
146
- content: var(--psp-label--time-style--content, "Time Style");
147
- }
148
-
149
- label#number_fg_mode-label:before {
150
- content: var(--psp-label--number-fg-mode--content, "Foreground");
151
- }
152
-
153
- label#fg_colors-label:before {
154
- content: var(--psp-label--number-fg-mode--content, "Foreground");
155
- }
156
-
157
- label#number_bg_mode-label:before {
158
- content: var(--psp-label--number-bg-mode--content, "Background");
159
- }
160
-
161
- label#bg_colors-label:before {
162
- content: var(--psp-label--pos-bg-color--content, "Background");
163
- }
164
-
165
- label#datetime_color_mode-label:before {
166
- content: var(--psp-label--datetime-color-mode--content, "Color");
167
- }
168
-
169
- label#string_color_mode-label:before {
170
- content: var(--psp-label--string-color-mode--content, "Color");
171
- }
172
-
173
- label#chart-type-label:before,
174
- label#chart_type-label:before {
175
- content: var(--psp-label--chart-type--content, "Chart Type");
176
- }
177
-
178
- label#stack-label:before {
179
- content: var(--psp-label--stack--content, "Stack");
180
- }
181
-
182
- label#interpolate-label:before {
183
- content: var(--psp-label--interpolate--content, "Interpolate null");
184
- }
185
-
186
- label#series-label:before {
187
- content: var(--psp-label--series--content, "Series");
188
- }
189
-
190
- label#palette-label:before {
191
- content: var(--psp-label--palette--content, "Palette");
192
- }
193
-
194
- label#gradient-label:before {
195
- content: var(--psp-label--gradient--content, "Gradient");
196
- }
197
-
198
- label#style-label:before {
199
- content: var(--psp-label--style--content, "Style");
200
- }
201
-
202
- label#minimum-integer-digits-label:before {
203
- content: var(
204
- --psp-label--minimum-integer-digits--content,
205
- "Minimum Integer Digits"
206
- );
207
- }
208
-
209
- label#rounding-increment-label:before {
210
- content: var(
211
- --psp-label--rounding-increment--content,
212
- "Rounding Increment"
213
- );
214
- }
215
-
216
- label#notation-label:before {
217
- content: var(--psp-label--notation--content, "Notation");
218
- }
219
-
220
- label#use-grouping-label:before {
221
- content: var(--psp-label--use-grouping--content, "Use Grouping");
222
- }
223
-
224
- label#sign-display-label:before {
225
- content: var(--psp-label--sign-display--content, "Sign Display");
226
- }
227
-
228
- label#aggregate-depth-label:before {
229
- content: var(--psp-label--aggregate-depth--content, "Aggregate Depth");
230
- }
231
-
232
- label#fg_gradient-label:before {
233
- content: var(--psp-label--fg-gradient--content, "Max Value");
234
- }
235
-
236
- label#bg_gradient-label:before {
237
- content: var(--psp-label--bg-gradient--content, "Max Value");
238
- }
239
-
240
- label#rounding-priority-label:before {
241
- content: var(
242
- --psp-label--rounding-priority--content,
243
- "Rounding Priority"
244
- );
245
- }
246
-
247
- label#rounding-mode-label:before {
248
- content: var(--psp-label--rounding-mode--content, "Rounding Mode");
249
- }
250
-
251
- label#trailing-zero-display-label:before {
252
- content: var(
253
- --psp-label--trailing-zero-display--content,
254
- "Trailing Zero Display"
255
- );
256
- }
257
-
258
- label#significant-digits-label:before {
259
- content: var(
260
- --psp-label--significant-digits--content,
261
- "Significant Digits"
262
- );
263
- }
264
-
265
- label#fractional-digits-label:before {
266
- content: var(
267
- --psp-label--fractional-digits--content,
268
- "Fractional Digits"
269
- );
270
- }
271
-
272
- label#year-label:before {
273
- content: var(--psp-label--year--content, "Year");
274
- }
275
-
276
- label#month-label:before {
277
- content: var(--psp-label--month--content, "Month");
278
- }
279
-
280
- label#day-label:before {
281
- content: var(--psp-label--day--content, "Day");
282
- }
283
-
284
- label#weekday-label:before {
285
- content: var(--psp-label--weekday--content, "Weekday");
286
- }
287
-
288
- label#hour-label:before {
289
- content: var(--psp-label--hour--content, "Hour");
290
- }
291
-
292
- label#minute-label:before {
293
- content: var(--psp-label--minute--content, "Minute");
294
- }
295
-
296
- label#second-label:before {
297
- content: var(--psp-label--second--content, "Second");
298
- }
299
-
300
- label#fractional-seconds-label:before {
301
- content: var(
302
- --psp-label--fractional-seconds--content,
303
- "Fractional Seconds"
304
- );
305
- }
306
-
307
- label#hours-label:before {
308
- content: var(--psp-label--hours--content, "12/24 Hours");
309
- }
310
-
311
- div.tab-title#Style:before {
312
- content: var(--psp-label--style-tab--content, "Style");
313
- }
314
-
315
- div.tab-title#Attributes:before {
316
- content: var(--psp-label--attributes-tab--content, "Expression");
317
- }
318
-
319
- div.tab-title#Window:before {
320
- content: var(--psp-label--window-tab--content, "Window");
321
- }
322
116
  }
323
117
 
324
118
  #window-tab {
@@ -12,11 +12,18 @@
12
12
  */
13
13
 
14
14
  :host {
15
+ label.intl-label:before,
16
+ div.tab-title:before {
17
+ content: var(--psp-label--content);
18
+ }
19
+
15
20
  #column-style-container,
16
21
  #plugin-config-container,
17
22
  #window-editor-container {
18
23
  outline: none;
19
24
  user-select: none;
25
+ margin-right: -6px;
26
+ padding-right: 6px;
20
27
 
21
28
  .bool-field-desc {
22
29
  font-size: 10px;
@@ -26,6 +33,14 @@
26
33
  align-items: center;
27
34
  padding-left: 4px;
28
35
  margin: 0px;
36
+
37
+ &.enabled:before {
38
+ content: var(--psp-label--enabled--content, "Enabled");
39
+ }
40
+
41
+ &.disabled:before {
42
+ content: var(--psp-label--disabled--content, "Disabled");
43
+ }
29
44
  }
30
45
 
31
46
  .is-default-value .bool-field-container {
@@ -216,6 +231,86 @@
216
231
  padding: 0px 0;
217
232
  }
218
233
 
234
+ details.control-group {
235
+ margin: 0 -8px 0 -8px;
236
+ padding: 0 8px 0 8px;
237
+
238
+ &:not([open]):hover {
239
+ color: var(--psp--background-color);
240
+ background-color: var(--psp--color);
241
+ border-color: var(--psp--color) !important;
242
+ }
243
+
244
+ &[open] summary:hover {
245
+ color: var(--psp--color);
246
+ }
247
+
248
+ &:not(:first-child) {
249
+ border-top: 1px solid var(--psp-inactive--color);
250
+ }
251
+
252
+ &:last-of-type {
253
+ border-bottom: 1px solid var(--psp-inactive--color);
254
+ }
255
+
256
+ &:first-child {
257
+ margin-top: -12px;
258
+ }
259
+
260
+ > summary {
261
+ display: flex;
262
+ align-items: center;
263
+ cursor: pointer;
264
+ list-style: none;
265
+ margin: 0;
266
+ padding-right: 6px;
267
+ outline: none;
268
+
269
+ &::-webkit-details-marker {
270
+ display: none;
271
+ }
272
+
273
+ > span.control-group-chevron {
274
+ flex: 0 0 8px;
275
+ height: 4px;
276
+ background-color: currentColor;
277
+ mask-image: var(--psp-icon--select-arrow--mask-image);
278
+ -webkit-mask-image: var(
279
+ --psp-icon--select-arrow--mask-image
280
+ );
281
+ -webkit-mask-repeat: no-repeat;
282
+ mask-repeat: no-repeat;
283
+ mask-size: cover;
284
+ -webkit-mask-position: center;
285
+ mask-position: center;
286
+ transform: rotate(-90deg);
287
+ margin-right: 2px;
288
+ }
289
+
290
+ label {
291
+ padding-top: 8px;
292
+ padding-bottom: 8px;
293
+ pointer-events: none;
294
+ flex: 1 1 auto;
295
+ width: auto;
296
+ margin: 0 0 0 6px;
297
+ }
298
+ }
299
+
300
+ &[open] > summary label {
301
+ padding-bottom: 8px;
302
+ }
303
+
304
+ &[open] > summary {
305
+ color: var(--psp-inactive--color);
306
+ margin-bottom: 2px;
307
+ }
308
+
309
+ &[open] > summary > span.control-group-chevron {
310
+ transform: none;
311
+ }
312
+ }
313
+
219
314
  .color-gradient-container {
220
315
  display: flex;
221
316
  align-items: center;
@@ -108,7 +108,7 @@
108
108
  display: flex;
109
109
  align-items: center;
110
110
  position: relative;
111
- padding-right: 8px;
111
+ padding-right: 3px;
112
112
 
113
113
  .column_name {
114
114
  display: block;
@@ -216,23 +216,25 @@
216
216
  #group_by label.pivot-selector-label:before {
217
217
  content: var(
218
218
  --psp-label--pivot--content,
219
- var(--psp-label--group-by--content, "Group By")
219
+ var(--psp-label--group-by--content, var(--psp-missing))
220
220
  );
221
221
  }
222
222
 
223
223
  #group_by label.pivot-selector-label:after {
224
- content: "(" var(--psp-label--group-by--content, "Group By") ")";
224
+ content: "(" var(--psp-label--group-by--content, var(--psp-missing))
225
+ ")";
225
226
  }
226
227
 
227
228
  #split_by label.pivot-selector-label:before {
228
229
  content: var(
229
230
  --psp-label--pivot--content,
230
- var(--psp-label--split-by--content, "Split By")
231
+ var(--psp-label--split-by--content, var(--psp-missing))
231
232
  );
232
233
  }
233
234
 
234
235
  #split_by label.pivot-selector-label:after {
235
- content: "(" var(--psp-label--split-by--content, "Split By") ")";
236
+ content: "(" var(--psp-label--split-by--content, var(--psp-missing))
237
+ ")";
236
238
  }
237
239
 
238
240
  #group_by label.pivot-selector-label:after,
@@ -244,25 +246,31 @@
244
246
  }
245
247
 
246
248
  #sort label.pivot-selector-label:before {
247
- content: var(--psp-label--sort--content, "Order By");
249
+ content: var(--psp-label--sort--content, var(--psp-missing));
248
250
  }
249
251
 
250
252
  #filter label.pivot-selector-label:before {
251
- content: var(--psp-label--filter--content, "Where");
253
+ content: var(--psp-label--filter--content, var(--psp-missing));
252
254
  }
253
255
 
254
256
  #window-source label.pivot-selector-label:before {
255
- content: var(--psp-label--window-source--content, "Column");
257
+ content: var(
258
+ --psp-label--window-source--content,
259
+ var(--psp-missing)
260
+ );
256
261
  }
257
262
 
258
263
  #window-order-by label.pivot-selector-label:before {
259
- content: var(--psp-label--window-order-by--content, "Order By");
264
+ content: var(
265
+ --psp-label--window-order-by--content,
266
+ var(--psp-missing)
267
+ );
260
268
  }
261
269
 
262
270
  #window-partition-by label.pivot-selector-label:before {
263
271
  content: var(
264
272
  --psp-label--window-partition-by--content,
265
- "Partition By"
273
+ var(--psp-missing)
266
274
  );
267
275
  }
268
276
 
@@ -12,14 +12,14 @@
12
12
  */
13
13
 
14
14
  :host {
15
- position: fixed;
16
- z-index: 10000;
15
+ background-color: var(--psp--background-color, #ffffff);
16
+ color: var(--psp--color, #161616);
17
+ border: 1px solid var(--psp-inactive--color, #ababab);
18
+ border-radius: 0 0 2px 2px;
17
19
  outline: none;
18
20
  font-size: 0.75em;
19
- border: inherit;
20
- box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
21
+ box-shadow: var(--psp-dropdown--box-shadow);
21
22
  user-select: none;
22
- background-color: white;
23
23
  padding: 6px;
24
24
  max-width: 300px;
25
25
  overflow: hidden;