@perspective-dev/viewer 4.0.1 → 4.1.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 (183) 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/dracula.css +1 -1
  4. package/dist/css/gruvbox-dark.css +1 -1
  5. package/dist/css/gruvbox.css +1 -1
  6. package/dist/css/icons.css +1 -1
  7. package/dist/css/monokai.css +1 -1
  8. package/dist/css/pro-dark.css +1 -1
  9. package/dist/css/pro.css +1 -1
  10. package/dist/css/solarized-dark.css +1 -1
  11. package/dist/css/solarized.css +1 -1
  12. package/dist/css/themes.css +1 -1
  13. package/dist/css/vaporwave.css +1 -1
  14. package/dist/esm/extensions.d.ts +23 -2
  15. package/dist/esm/perspective-viewer.d.ts +2 -7
  16. package/dist/esm/perspective-viewer.inline.js +2 -2
  17. package/dist/esm/perspective-viewer.inline.js.map +4 -4
  18. package/dist/esm/perspective-viewer.js +2 -2
  19. package/dist/esm/perspective-viewer.js.map +4 -4
  20. package/dist/esm/plugin.d.ts +1 -1
  21. package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +1 -0
  22. package/dist/wasm/perspective-viewer.d.ts +218 -46
  23. package/dist/wasm/perspective-viewer.js +1250 -761
  24. package/dist/wasm/perspective-viewer.wasm +0 -0
  25. package/dist/wasm/perspective-viewer.wasm.d.ts +38 -19
  26. package/package.json +1 -1
  27. package/src/less/containers/scroll-panel.less +0 -1
  28. package/src/less/plugin-selector.less +15 -5
  29. package/src/less/status-bar.less +75 -27
  30. package/src/less/viewer.less +140 -58
  31. package/src/rust/components/column_dropdown.rs +21 -21
  32. package/src/rust/components/column_selector/active_column.rs +131 -120
  33. package/src/rust/components/column_selector/add_expression_button.rs +5 -0
  34. package/src/rust/components/column_selector/aggregate_selector.rs +8 -4
  35. package/src/rust/components/column_selector/config_selector.rs +170 -161
  36. package/src/rust/components/column_selector/empty_column.rs +16 -11
  37. package/src/rust/components/column_selector/{expression_toolbar.rs → expr_edit_button.rs} +7 -0
  38. package/src/rust/components/column_selector/filter_column.rs +195 -194
  39. package/src/rust/components/column_selector/inactive_column.rs +82 -67
  40. package/src/rust/components/column_selector/pivot_column.rs +16 -11
  41. package/src/rust/components/column_selector/sort_column.rs +9 -7
  42. package/src/rust/components/column_selector.rs +42 -37
  43. package/src/rust/components/column_settings_sidebar/save_settings.rs +3 -1
  44. package/src/rust/components/column_settings_sidebar/style_tab/agg_depth_selector.rs +58 -0
  45. package/src/rust/components/column_settings_sidebar/style_tab/symbol/row_selector.rs +6 -6
  46. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs.rs +2 -94
  47. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_pairs_item.rs +111 -0
  48. package/src/rust/components/column_settings_sidebar/style_tab/symbol.rs +3 -3
  49. package/src/rust/components/column_settings_sidebar/style_tab.rs +23 -83
  50. package/src/rust/components/{column_settings_sidebar/sidebar.rs → column_settings_sidebar.rs} +198 -171
  51. package/src/rust/components/containers/dragdrop_list.rs +20 -20
  52. package/src/rust/components/containers/dropdown_menu.rs +4 -6
  53. package/src/rust/components/containers/mod.rs +1 -4
  54. package/src/rust/components/containers/scroll_panel.rs +80 -80
  55. package/src/rust/components/containers/scroll_panel_item.rs +36 -36
  56. package/src/rust/components/containers/select.rs +46 -44
  57. package/src/rust/components/containers/sidebar.rs +3 -19
  58. package/src/rust/components/{column_settings_sidebar/style_tab/symbol/symbol_config.rs → containers/sidebar_close_button.rs} +15 -9
  59. package/src/rust/components/containers/split_panel.rs +212 -200
  60. package/src/rust/components/containers/tab_list.rs +11 -11
  61. package/src/rust/components/copy_dropdown.rs +22 -25
  62. package/src/rust/components/datetime_column_style/custom.rs +19 -19
  63. package/src/rust/components/datetime_column_style/simple.rs +13 -14
  64. package/src/rust/components/datetime_column_style.rs +75 -76
  65. package/src/rust/components/editable_header.rs +18 -14
  66. package/src/rust/components/empty_row.rs +5 -5
  67. package/src/rust/components/export_dropdown.rs +42 -42
  68. package/src/rust/components/expression_editor.rs +25 -19
  69. package/src/rust/components/filter_dropdown.rs +22 -22
  70. package/src/rust/components/font_loader.rs +11 -9
  71. package/src/rust/components/form/code_editor.rs +106 -105
  72. package/src/rust/components/form/color_range_selector.rs +14 -12
  73. package/src/rust/components/form/color_selector.rs +3 -1
  74. package/src/rust/components/form/debug.rs +95 -94
  75. package/src/rust/components/form/highlight.rs +5 -3
  76. package/src/rust/components/form/mod.rs +3 -2
  77. package/src/rust/components/form/optional_field.rs +2 -2
  78. package/src/rust/components/form/{select_field.rs → select_enum_field.rs} +1 -46
  79. package/src/rust/components/form/select_value_field.rs +64 -0
  80. package/src/rust/components/function_dropdown.rs +21 -21
  81. package/src/rust/components/main_panel.rs +219 -0
  82. package/src/rust/components/mod.rs +6 -6
  83. package/src/rust/components/modal.rs +42 -42
  84. package/src/rust/components/number_column_style.rs +34 -88
  85. package/src/rust/components/plugin_selector.rs +22 -25
  86. package/src/rust/components/render_warning.rs +9 -6
  87. package/src/rust/components/settings_panel.rs +82 -0
  88. package/src/rust/components/status_bar.rs +250 -146
  89. package/src/rust/components/status_bar_counter.rs +26 -119
  90. package/src/rust/components/status_indicator.rs +95 -79
  91. package/src/rust/components/string_column_style.rs +45 -45
  92. package/src/rust/components/style/style_provider.rs +1 -15
  93. package/src/rust/components/style_controls/number_string_format/digits_section.rs +1 -1
  94. package/src/rust/components/style_controls/number_string_format/misc_section.rs +1 -1
  95. package/src/rust/components/style_controls/number_string_format/style_section.rs +1 -1
  96. package/src/rust/components/style_controls/number_string_format.rs +45 -46
  97. package/src/rust/components/type_icon.rs +14 -11
  98. package/src/rust/components/viewer.rs +241 -384
  99. package/src/rust/config/columns_config.rs +2 -2
  100. package/src/rust/config/datetime_column_style.rs +1 -6
  101. package/src/rust/config/mod.rs +1 -0
  102. package/src/rust/config/number_column_style.rs +0 -6
  103. package/src/rust/config/number_string_format.rs +27 -4
  104. package/src/rust/config/viewer_config.rs +27 -167
  105. package/src/rust/custom_elements/copy_dropdown.rs +14 -6
  106. package/src/rust/custom_elements/export_dropdown.rs +15 -7
  107. package/src/rust/custom_elements/filter_dropdown.rs +4 -4
  108. package/src/rust/custom_elements/mod.rs +3 -0
  109. package/src/rust/custom_elements/viewer.rs +353 -161
  110. package/src/rust/custom_events.rs +55 -32
  111. package/src/rust/dragdrop.rs +4 -24
  112. package/src/rust/exprtk/cursor.rs +10 -1
  113. package/src/rust/exprtk/mod.rs +2 -0
  114. package/src/rust/exprtk/tokenize.rs +20 -3
  115. package/src/rust/js/clipboard.rs +2 -2
  116. package/src/rust/js/mimetype.rs +2 -7
  117. package/src/rust/js/mod.rs +0 -1
  118. package/src/rust/js/plugin.rs +7 -0
  119. package/src/rust/lib.rs +18 -5
  120. package/src/rust/model/column_locator.rs +82 -0
  121. package/src/rust/model/columns_iter_set.rs +1 -0
  122. package/src/rust/model/copy_export.rs +50 -14
  123. package/src/rust/model/edit_expression.rs +2 -5
  124. package/src/rust/model/eject.rs +41 -0
  125. package/src/rust/model/get_viewer_config.rs +4 -28
  126. package/src/rust/model/intersection_observer.rs +20 -8
  127. package/src/rust/model/mod.rs +11 -4
  128. package/src/rust/model/plugin_column_styles.rs +0 -31
  129. package/src/rust/model/reset_all.rs +38 -0
  130. package/src/rust/model/resize_observer.rs +34 -7
  131. package/src/rust/model/restore_and_render.rs +12 -7
  132. package/src/rust/{utils/scope.rs → model/send_plugin_config.rs} +32 -35
  133. package/src/rust/model/structural.rs +194 -23
  134. package/src/rust/model/update_and_render.rs +14 -4
  135. package/src/rust/{model/create_col.rs → presentation/column_locator.rs} +73 -42
  136. package/src/rust/{utils/wasm_abi.rs → presentation/sheets.rs} +54 -40
  137. package/src/rust/presentation.rs +60 -119
  138. package/src/rust/renderer/activate.rs +20 -5
  139. package/src/rust/renderer/limits.rs +0 -149
  140. package/src/rust/renderer/render_timer.rs +1 -1
  141. package/src/rust/renderer.rs +34 -18
  142. package/src/rust/root.rs +50 -0
  143. package/src/rust/session/column_defaults_update.rs +4 -4
  144. package/src/rust/session/drag_drop_update.rs +1 -1
  145. package/src/rust/session/metadata.rs +3 -17
  146. package/src/rust/session/replace_expression_update.rs +1 -2
  147. package/src/rust/session.rs +162 -82
  148. package/src/rust/utils/browser/blob.rs +16 -2
  149. package/src/rust/utils/browser/download.rs +1 -0
  150. package/src/rust/{components/column_settings_sidebar/mod.rs → utils/browser/dragdrop.rs} +14 -5
  151. package/src/rust/utils/browser/mod.rs +8 -4
  152. package/src/rust/utils/browser/selection.rs +5 -0
  153. package/src/rust/utils/custom_element.rs +28 -13
  154. package/src/rust/utils/datetime.rs +5 -0
  155. package/src/rust/utils/debounce.rs +7 -1
  156. package/src/rust/utils/hooks/use_async_callback.rs +7 -17
  157. package/src/rust/utils/mod.rs +28 -40
  158. package/src/rust/utils/number_format.rs +6 -5
  159. package/src/rust/utils/pubsub.rs +15 -10
  160. package/src/rust/utils/weak_scope.rs +11 -1
  161. package/src/svg/bookmark-icon.svg +4 -0
  162. package/src/svg/drag-handle copy.svg +10 -0
  163. package/src/svg/drawer-tab-hover.svg +5 -7
  164. package/src/svg/drawer-tab-invert-hover.svg +4 -8
  165. package/src/svg/drawer-tab-invert.svg +4 -7
  166. package/src/svg/drawer-tab.svg +4 -6
  167. package/src/svg/status_ok.svg +24 -24
  168. package/src/ts/extensions.ts +51 -3
  169. package/src/ts/perspective-viewer.ts +2 -14
  170. package/src/ts/plugin.ts +1 -1
  171. package/src/ts/ts-rs/ViewerConfigUpdate.ts +1 -1
  172. package/src/rust/components/column_settings_sidebar/style_tab/column_style.rs +0 -177
  173. package/src/rust/components/containers/tests/mod.rs +0 -11
  174. package/src/rust/components/containers/tests/split_panel.rs +0 -91
  175. package/src/rust/js/testing.rs +0 -149
  176. package/src/rust/utils/tee.rs +0 -88
  177. /package/dist/wasm/snippets/{perspective-viewer-9a89352df1552d2b → perspective-viewer-0d326a25c1022412}/inline0.js +0 -0
  178. /package/dist/wasm/snippets/{perspective-viewer-9a89352df1552d2b → perspective-viewer-0d326a25c1022412}/inline1.js +0 -0
  179. /package/dist/wasm/snippets/{perspective-viewer-9a89352df1552d2b → perspective-viewer-0d326a25c1022412}/inline2.js +0 -0
  180. /package/dist/wasm/snippets/{perspective-viewer-9a89352df1552d2b → perspective-viewer-0d326a25c1022412}/inline3.js +0 -0
  181. /package/dist/wasm/snippets/{perspective-viewer-9a89352df1552d2b → perspective-viewer-0d326a25c1022412}/inline4.js +0 -0
  182. /package/src/rust/components/{style_controls.rs → style_controls/mod.rs} +0 -0
  183. /package/src/rust/{components/containers → config}/kvpair.rs +0 -0
Binary file
@@ -6,7 +6,7 @@ export const __wbg_copydropdownmenuelement_free: (a: number, b: number) => void;
6
6
  export const copydropdownmenuelement_new: (a: number) => number;
7
7
  export const copydropdownmenuelement_open: (a: number, b: number) => void;
8
8
  export const copydropdownmenuelement_hide: (a: number, b: number) => void;
9
- export const copydropdownmenuelement_set_model: (a: number, b: number) => void;
9
+ export const copydropdownmenuelement___set_model: (a: number, b: number) => void;
10
10
  export const copydropdownmenuelement_connected_callback: (a: number) => void;
11
11
  export const __wbg_perspectivedebugpluginelement_free: (a: number, b: number) => void;
12
12
  export const perspectivedebugpluginelement_new: (a: number) => number;
@@ -18,23 +18,26 @@ export const perspectivedebugpluginelement_clear: (a: number) => number;
18
18
  export const perspectivedebugpluginelement_connectedCallback: (a: number) => void;
19
19
  export const exportdropdownmenuelement_open: (a: number, b: number) => void;
20
20
  export const exportdropdownmenuelement_hide: (a: number, b: number) => void;
21
- export const exportdropdownmenuelement_set_model: (a: number, b: number) => void;
21
+ export const exportdropdownmenuelement___set_model: (a: number, b: number) => void;
22
22
  export const __wbg_filterdropdownelement_free: (a: number, b: number) => void;
23
23
  export const __wbg_functiondropdownelement_free: (a: number, b: number) => void;
24
24
  export const __wbg_perspectiveviewerelement_free: (a: number, b: number) => void;
25
25
  export const perspectiveviewerelement_new: (a: number) => number;
26
- export const perspectiveviewerelement_connectedCallback: (a: number) => void;
27
- export const perspectiveviewerelement_load: (a: number, b: number) => number;
26
+ export const perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
27
+ export const perspectiveviewerelement_load: (a: number, b: number, c: number) => void;
28
28
  export const perspectiveviewerelement_delete: (a: number) => number;
29
29
  export const perspectiveviewerelement_eject: (a: number) => number;
30
30
  export const perspectiveviewerelement_getView: (a: number) => number;
31
+ export const perspectiveviewerelement_getViewConfig: (a: number) => number;
31
32
  export const perspectiveviewerelement_getTable: (a: number, b: number) => number;
33
+ export const perspectiveviewerelement_getClient: (a: number, b: number) => number;
32
34
  export const perspectiveviewerelement_getRenderStats: (a: number, b: number) => void;
33
35
  export const perspectiveviewerelement_flush: (a: number) => number;
34
36
  export const perspectiveviewerelement_restore: (a: number, b: number) => number;
35
37
  export const perspectiveviewerelement_resetError: (a: number) => number;
36
- export const perspectiveviewerelement_save: (a: number, b: number, c: number) => number;
38
+ export const perspectiveviewerelement_save: (a: number) => number;
37
39
  export const perspectiveviewerelement_download: (a: number, b: number) => number;
40
+ export const perspectiveviewerelement_export: (a: number, b: number) => number;
38
41
  export const perspectiveviewerelement_copy: (a: number, b: number) => number;
39
42
  export const perspectiveviewerelement_reset: (a: number, b: number) => number;
40
43
  export const perspectiveviewerelement_resize: (a: number, b: number) => number;
@@ -49,7 +52,7 @@ export const perspectiveviewerelement_setThrottle: (a: number, b: number, c: num
49
52
  export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
50
53
  export const perspectiveviewerelement_getAllPlugins: (a: number) => number;
51
54
  export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
52
- export const perspectiveviewerelement_get_model: (a: number) => number;
55
+ export const perspectiveviewerelement___get_model: (a: number) => number;
53
56
  export const perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number) => number;
54
57
  export const perspectiveviewerelement_openColumnSettings: (a: number, b: number, c: number, d: number) => number;
55
58
  export const registerPlugin: (a: number, b: number) => void;
@@ -125,18 +128,34 @@ export const view_remove_delete: (a: number, b: number) => number;
125
128
  export const view_collapse: (a: number, b: number) => number;
126
129
  export const view_expand: (a: number, b: number) => number;
127
130
  export const view_set_depth: (a: number, b: number) => number;
131
+ export const __wbg_jsvirtualdataslice_free: (a: number, b: number) => void;
132
+ export const jsvirtualdataslice_new: () => number;
133
+ export const jsvirtualdataslice_setCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
134
+ export const jsvirtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
135
+ export const jsvirtualdataslice_setIntegerCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
136
+ export const jsvirtualdataslice_setFloatCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
137
+ export const jsvirtualdataslice_setBooleanCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
138
+ export const jsvirtualdataslice_setDatetimeCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
139
+ export const __wbg_jsvirtualserver_free: (a: number, b: number) => void;
140
+ export const jsvirtualserver_new: (a: number, b: number) => void;
141
+ export const jsvirtualserver_handleRequest: (a: number, b: number, c: number) => number;
128
142
  export const proxysession_new: (a: number, b: number) => number;
129
- export const __wbindgen_export_0: (a: number, b: number) => number;
130
- export const __wbindgen_export_1: (a: number, b: number, c: number, d: number) => number;
131
- export const __wbindgen_export_2: (a: number) => void;
132
- export const __wbindgen_export_3: (a: number, b: number, c: number) => void;
133
- export const __wbindgen_export_4: WebAssembly.Table;
143
+ export const __wasm_bindgen_func_elem_5617: (a: number, b: number, c: number) => void;
144
+ export const __wasm_bindgen_func_elem_457: (a: number, b: number) => void;
145
+ export const __wasm_bindgen_func_elem_18124: (a: number, b: number) => void;
146
+ export const __wasm_bindgen_func_elem_18117: (a: number, b: number) => void;
147
+ export const __wasm_bindgen_func_elem_17201: (a: number, b: number, c: number) => void;
148
+ export const __wasm_bindgen_func_elem_17129: (a: number, b: number) => void;
149
+ export const __wasm_bindgen_func_elem_5616: (a: number, b: number, c: number) => void;
150
+ export const __wasm_bindgen_func_elem_452: (a: number, b: number) => void;
151
+ export const __wasm_bindgen_func_elem_18145: (a: number, b: number, c: number) => void;
152
+ export const __wasm_bindgen_func_elem_18130: (a: number, b: number) => void;
153
+ export const __wasm_bindgen_func_elem_5618: (a: number, b: number, c: number) => void;
154
+ export const __wasm_bindgen_func_elem_13043: (a: number, b: number) => number;
155
+ export const __wasm_bindgen_func_elem_12575: (a: number, b: number) => void;
156
+ export const __wasm_bindgen_func_elem_19812: (a: number, b: number, c: number, d: number) => void;
157
+ export const __wbindgen_export: (a: number, b: number) => number;
158
+ export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
159
+ export const __wbindgen_export3: (a: number) => void;
160
+ export const __wbindgen_export4: (a: number, b: number, c: number) => void;
134
161
  export const __wbindgen_add_to_stack_pointer: (a: number) => number;
135
- export const __wbindgen_export_5: (a: number, b: number, c: number) => void;
136
- export const __wbindgen_export_6: (a: number, b: number, c: number) => void;
137
- export const __wbindgen_export_7: (a: number, b: number, c: number) => void;
138
- export const __wbindgen_export_8: (a: number, b: number) => number;
139
- export const __wbindgen_export_9: (a: number, b: number, c: number) => void;
140
- export const __wbindgen_export_10: (a: number, b: number) => void;
141
- export const __wbindgen_export_11: (a: number, b: number, c: number) => void;
142
- export const __wbindgen_export_12: (a: number, b: number, c: number, d: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perspective-dev/viewer",
3
- "version": "4.0.1",
3
+ "version": "4.1.0",
4
4
  "description": "The `<perspective-viewer>` Custom Element, frontend for Perspective.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,6 @@
12
12
 
13
13
  :host {
14
14
  .scroll-panel-container {
15
- will-change: transform;
16
15
  width: 100%;
17
16
  }
18
17
 
@@ -19,7 +19,10 @@
19
19
  }
20
20
 
21
21
  #plugin_selector_container {
22
- min-height: 48px;
22
+ min-height: var(
23
+ --plugin-selector--height,
24
+ var(--status-bar--height, 48px)
25
+ );
23
26
  display: flex;
24
27
  white-space: nowrap;
25
28
  flex-direction: column;
@@ -36,7 +39,7 @@
36
39
  min-height: 2px;
37
40
  width: 100%;
38
41
  background-color: var(--inactive--color, #6e6e6e);
39
- margin-top: 1px;
42
+ margin-top: 2px;
40
43
  }
41
44
 
42
45
  .plugin-selector-options {
@@ -76,11 +79,18 @@
76
79
  .plugin-select-item {
77
80
  // width: 48px;
78
81
  padding-left: 9px;
79
- height: 48px;
80
- min-height: 48px;
82
+ height: var(
83
+ --plugin-selector--height,
84
+ var(--status-bar--height, 48px)
85
+ );
86
+ min-height: var(
87
+ --plugin-selector--height,
88
+ var(--status-bar--height, 48px)
89
+ );
81
90
  display: flex;
82
91
  align-items: center;
83
- border-bottom: 1px solid var(--inactive--color, #6e6e6e);
92
+ border-bottom: 1px solid transparent;
93
+ box-shadow: 0px 1px var(--inactive--color, #6e6e6e);
84
94
  cursor: pointer;
85
95
  }
86
96
 
@@ -10,49 +10,61 @@
10
10
  // ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
11
  // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
12
 
13
- :host {
14
- #status_bar.titled {
15
- padding-right: 108px;
16
-
17
- #menu-bar {
18
- opacity: 0.2;
19
- }
13
+ :host(:hover) {
14
+ #status_bar.settings-closed.floating {
15
+ opacity: 1;
16
+ transition: none;
20
17
  }
18
+ }
21
19
 
20
+ :host {
22
21
  // When settings open ...
23
22
  #main_column #status_bar,
24
23
  #main_column #status_bar.titled {
25
- padding-left: 0px;
26
- padding-right: 36px;
24
+ // padding-right: 10px;
27
25
 
28
26
  input::placeholder {
29
27
  color: var(--inactive--color);
30
28
  }
29
+ }
31
30
 
32
- #menu-bar {
33
- opacity: 1;
34
- }
31
+ #status_bar.settings-closed {
32
+ padding-right: 10px;
35
33
  }
36
34
 
37
35
  #status_bar.updating {
38
36
  box-shadow: none;
39
37
  }
40
38
 
39
+ #status_bar.settings-closed.floating {
40
+ transition: opacity 0.2s;
41
+ opacity: 0;
42
+ position: absolute;
43
+ padding: 0px;
44
+ height: auto;
45
+ min-height: auto;
46
+ max-height: none;
47
+ gap: 6px;
48
+ top: calc((var(--status-bar--height, 48px) - 20px) / 2);
49
+ right: calc(min(48px, (var(--status-bar--height, 48px) - 20px) / 2));
50
+ }
51
+
41
52
  #status_bar {
42
53
  box-shadow: 0 13px 0 -12px var(--inactive--border-color);
43
54
  z-index: 1;
44
- display: flex;
55
+ display: var(--status-bar--display, flex);
56
+ gap: 6px;
45
57
  align-items: center;
46
58
  background: var(--plugin--background);
47
- padding: 0;
48
- position: absolute;
49
- top: 0;
50
- left: 0;
51
- right: 0;
59
+ padding: var(--status-bar--padding, 0 31px 0 8px);
60
+ position: relative;
52
61
  height: var(--status-bar--height, 48px);
62
+ min-height: var(--status-bar--height, 48px);
63
+ max-height: var(--status-bar--height, 48px);
53
64
  border-radius: var(--status-bar--border-radius);
54
65
  #status-bar-placeholder {
55
66
  margin: 0px;
67
+ margin-right: -5px;
56
68
  pointer-events: none;
57
69
  }
58
70
 
@@ -69,9 +81,9 @@
69
81
  display: inline-block;
70
82
  align-items: center;
71
83
  position: relative;
72
- margin-top: 1px;
73
84
  min-width: 65px;
74
85
  overflow: hidden;
86
+ padding-top: 0.5px;
75
87
 
76
88
  &:after,
77
89
  input,
@@ -119,6 +131,11 @@
119
131
  .section {
120
132
  display: flex;
121
133
  align-items: center;
134
+ pointer-events: none;
135
+ }
136
+
137
+ .section > * {
138
+ pointer-events: all;
122
139
  }
123
140
 
124
141
  #spacer {
@@ -126,14 +143,19 @@
126
143
  }
127
144
 
128
145
  span#rows {
146
+ display: flex;
147
+ align-items: flex-end;
148
+ gap: 6px;
129
149
  flex: 0 1000 auto;
130
150
  overflow: hidden;
131
- margin: 0px 14px;
151
+ margin: 0px 10px;
152
+ pointer-events: none;
132
153
  span {
133
154
  margin: 0 !important;
134
155
  }
135
156
 
136
- span {
157
+ span.x,
158
+ span.total {
137
159
  color: var(--inactive--color);
138
160
  }
139
161
  }
@@ -187,10 +209,12 @@
187
209
  background-repeat: no-repeat;
188
210
  background-color: var(--icon--color);
189
211
  content: "";
190
- -webkit-mask-size: cover;
191
- mask-size: cover;
212
+ mask-size: contain;
213
+ mask-repeat: no-repeat;
214
+ mask-position: center;
192
215
  pointer-events: none;
193
216
  image-rendering: pixelated;
217
+ margin: 0 5px;
194
218
  }
195
219
 
196
220
  // span#status_updating
@@ -251,11 +275,35 @@
251
275
 
252
276
  div#status_reconnect {
253
277
  z-index: 2;
254
- display: flex;
278
+ display: var(--status-indicator--display, flex);
255
279
  align-items: center;
256
- border-radius: var(--status-bar--border-radius);
257
- height: var(--status-bar--height, 48px);
280
+ border-radius: 3px;
281
+ margin: 0;
282
+ height: auto; //var(--status-bar--height, 48px);
283
+ border: 1px solid var(--status-ok-icon--border-color, transparent);
284
+ cursor: var(--status-ok-icon--cursor);
285
+ pointer-events: var(--status-indicator--pointer-events, none);
286
+ &:hover {
287
+ background-color: var(
288
+ --status-ok-icon--hover--background-color,
289
+ transparent
290
+ );
291
+ border-color: var(
292
+ --status-ok-icon--hover--border-color,
293
+ transparent
294
+ );
295
+ span#status {
296
+ background-color: var(
297
+ --status-ok-icon--hover--color,
298
+ var(--icon--color)
299
+ );
300
+ }
301
+ // color: var(--status-ok-icon--hover--background-color);
302
+ }
303
+
258
304
  &.errored {
305
+ pointer-events: all;
306
+ display: flex;
259
307
  cursor: pointer;
260
308
  }
261
309
 
@@ -269,9 +317,9 @@
269
317
  align-items: center;
270
318
  justify-content: center;
271
319
  height: 20px;
320
+ height: 20px;
272
321
  border-radius: 10px;
273
322
  color: var(--plugin--background);
274
- height: 20px;
275
323
  // pointer-events: all;
276
324
  // mask-image: url(../svg/status_error.svg);
277
325
  // -webkit-mask-image: url(../svg/status_error.svg);
@@ -22,24 +22,43 @@
22
22
  :host .sidebar_close_button {
23
23
  position: absolute;
24
24
  top: 0;
25
- padding-top: 15px;
26
- padding-bottom: 15px;
25
+ padding-top: calc(
26
+ (
27
+ var(
28
+ --plugin-selector--height,
29
+ var(--status-bar--height, 48px)
30
+ ) -
31
+ 20px
32
+ ) /
33
+ 2
34
+ );
35
+ padding-bottom: calc(
36
+ (
37
+ var(
38
+ --plugin-selector--height,
39
+ var(--status-bar--height, 48px)
40
+ ) -
41
+ 20px
42
+ ) /
43
+ 2
44
+ );
27
45
  z-index: 10000;
28
- height: 48px;
46
+ height: var(--plugin-selector--height, var(--status-bar--height, 48px));
47
+
29
48
  &:hover {
30
49
  cursor: pointer;
31
50
  }
32
51
 
33
52
  .sidebar_close_button_inner {
34
53
  border-radius: 5px 0 0 5px;
35
- height: 18px;
54
+ height: 20px;
36
55
  background-color: var(--plugin--background);
37
56
  }
38
57
 
39
58
  .sidebar_close_button_inner:before {
40
59
  display: inline-block;
41
- height: 18px;
42
- width: 26px;
60
+ height: 20px;
61
+ width: 20px;
43
62
  content: "";
44
63
  mask-size: cover;
45
64
  -webkit-mask-size: cover;
@@ -57,7 +76,7 @@
57
76
 
58
77
  :host #settings_close_button,
59
78
  :host #column_settings_close_button {
60
- left: -26px;
79
+ left: -21px;
61
80
  }
62
81
 
63
82
  :host #debug_close_button.sidebar_close_button .sidebar_close_button_inner {
@@ -81,6 +100,7 @@
81
100
  :host #debug_open_button.sidebar_close_button {
82
101
  right: 0px;
83
102
  cursor: pointer;
103
+
84
104
  .sidebar_close_button_inner {
85
105
  background-color: transparent;
86
106
  }
@@ -107,8 +127,8 @@
107
127
  opacity: 1 !important;
108
128
  }
109
129
 
110
- #settings_button,
111
- #settings_button.titled {
130
+ #component_container #settings_button,
131
+ #component_container #settings_button.titled {
112
132
  opacity: 1;
113
133
  }
114
134
  }
@@ -125,6 +145,16 @@
125
145
  line-height: 1.25;
126
146
  }
127
147
 
148
+ #component_container {
149
+ position: absolute;
150
+ top: 0;
151
+ bottom: 0;
152
+ left: 0;
153
+ right: 0;
154
+ display: flex;
155
+ flex-direction: column;
156
+ }
157
+
128
158
  #app_panel {
129
159
  position: absolute;
130
160
  bottom: 0px;
@@ -140,9 +170,16 @@
140
170
  }
141
171
 
142
172
  #modal_panel {
143
- flex: 1 1 auto;
144
- margin: var(--modal-panel--margin);
173
+ position: absolute;
174
+ top: 0;
175
+ left: 0;
176
+ right: 0;
177
+ bottom: 0;
145
178
  overflow: hidden;
179
+ pointer-events: none;
180
+ & > * {
181
+ pointer-events: all;
182
+ }
146
183
  }
147
184
 
148
185
  #modal_panel > .split-panel-divider {
@@ -151,16 +188,20 @@
151
188
  }
152
189
 
153
190
  #status_bar {
154
- // position: absolute;
155
- // bottom: 0;
156
- // left: 0;
157
- // right: 0;
158
191
  height: var(--status-bar--height, 48px);
159
192
  }
160
193
 
194
+ #main_column_container {
195
+ position: relative;
196
+ display: flex;
197
+ flex: 1 1 auto;
198
+ overflow: hidden;
199
+ }
200
+
161
201
  #main_column {
162
202
  display: flex;
163
203
  flex: 1 1 auto;
204
+ overflow: hidden;
164
205
  flex-direction: column;
165
206
  position: relative;
166
207
  margin: var(--main-column--margin);
@@ -170,27 +211,12 @@
170
211
  }
171
212
 
172
213
  #main_panel_container {
173
- position: absolute;
174
- top: var(--status-bar--height, 48px);
175
- bottom: 0;
176
- left: 0;
177
- right: 0;
214
+ position: relative;
215
+ height: 100%;
178
216
  box-shadow: var(--plugin--box-shadow, none);
179
217
  background: var(--plugin--background, none);
180
218
  overflow: hidden;
181
219
  border: var(--plugin--border, none);
182
-
183
- &.settings-closed.titled {
184
- top: var(--status-bar--height, 48px);
185
- }
186
-
187
- &.settings-closed {
188
- position: absolute;
189
- top: 0;
190
- bottom: 0;
191
- left: 0;
192
- right: 0;
193
- }
194
220
  }
195
221
 
196
222
  #settings_panel {
@@ -262,30 +288,29 @@
262
288
  border-right-width: 0px;
263
289
  }
264
290
 
265
- #settings_button {
291
+ #component_container > #settings_button {
266
292
  opacity: 0;
267
- }
268
-
269
- #settings_button.titled {
270
- opacity: 0.2;
271
- }
272
-
273
- #settings_button {
274
293
  position: absolute;
275
294
  top: 0;
276
295
  right: 0;
277
- margin: var(--settings-button--margin, 14px 0 0 0);
296
+ margin: var(--settings-button--margin, 10px 36px 0 0);
278
297
  padding: 0;
298
+ }
299
+
300
+ // #settings_button.titled {
301
+ // opacity: 0.2;
302
+ // }
303
+
304
+ #close_button {
279
305
  background-color: var(--plugin--background);
280
- margin-right: 14px;
281
- padding: 2px 12px;
306
+ padding: 0px;
282
307
  overflow: hidden;
283
- display: flex;
308
+ display: var(--close-button--display, none);
284
309
  align-items: center;
285
310
  justify-content: center;
286
311
  z-index: 10000;
287
312
  border: 1px solid var(--inactive--color);
288
- border-radius: 2px;
313
+ border-radius: 5px;
289
314
  font-size: 10px;
290
315
  font-weight: normal;
291
316
 
@@ -295,34 +320,88 @@
295
320
  cursor: pointer;
296
321
  }
297
322
 
323
+ &:hover:before {
324
+ background-color: var(--plugin--background);
325
+ }
326
+
298
327
  &:before {
299
- font-feature-settings: "liga";
300
- content: var(--config-button-icon--content, "Configure");
328
+ // font-feature-settings: "liga";
329
+ // content: var(--config-button-icon--content, "Configure");
330
+ display: inline-block;
331
+ height: 20px;
332
+ width: 20px;
333
+ content: "";
334
+ mask-size: cover;
335
+ -webkit-mask-size: cover; //40px 35px;
336
+ background-repeat: no-repeat;
337
+ background-color: var(--icon--color);
338
+ mask-image: var(--close-icon--mask-image);
339
+ -webkit-mask-image: var(--close-icon--mask-image);
301
340
  }
302
341
  }
303
342
 
304
- #main_column #settings_button {
305
- border: none;
306
- opacity: 1;
307
- background-color: transparent;
308
- margin-right: 0px;
343
+ #settings_button {
344
+ background-color: var(--plugin--background);
309
345
  padding: 0;
310
- border-radius: 0px;
346
+ overflow: hidden;
347
+ display: flex;
348
+ align-items: center;
349
+ justify-content: center;
350
+ z-index: 10000;
351
+ border: 1px solid var(--inactive--color);
352
+ border-radius: 5px;
353
+ font-size: 10px;
354
+ font-weight: normal;
355
+ z-index: 3;
356
+
357
+ &:hover {
358
+ color: var(--plugin--background, inherit);
359
+ background-color: var(--icon--color);
360
+ cursor: pointer;
361
+ }
362
+
363
+ &:hover:before {
364
+ background-color: var(--plugin--background);
365
+ }
311
366
 
312
367
  &:before {
368
+ // font-feature-settings: "liga";
369
+ // content: var(--config-button-icon--content, "Configure");
313
370
  display: inline-block;
314
- height: 18px;
315
- width: 26px;
371
+ height: 20px;
372
+ width: 20px;
316
373
  content: "";
317
374
  mask-size: cover;
318
375
  -webkit-mask-size: cover; //40px 35px;
319
376
  background-repeat: no-repeat;
320
377
  background-color: var(--icon--color);
321
- mask-image: var(--drawer-tab-icon--mask-image);
322
- -webkit-mask-image: var(--drawer-tab-icon--mask-image);
378
+ mask-image: var(--drawer-tab-inverted-icon--mask-image);
379
+ -webkit-mask-image: var(--drawer-tab-inverted-icon--mask-image);
323
380
  }
324
381
  }
325
382
 
383
+ // #settings_button.floating {
384
+ // border: none;
385
+ // opacity: 1;
386
+ // background-color: transparent;
387
+ // margin-right: 0px;
388
+ // padding: 0;
389
+ // border-radius: 0px;
390
+
391
+ // &:before {
392
+ // display: inline-block;
393
+ // height: 18px;
394
+ // width: 26px;
395
+ // content: "";
396
+ // mask-size: cover;
397
+ // -webkit-mask-size: cover; //40px 35px;
398
+ // background-repeat: no-repeat;
399
+ // background-color: var(--icon--color);
400
+ // mask-image: var(--drawer-tab-icon--mask-image);
401
+ // -webkit-mask-image: var(--drawer-tab-icon--mask-image);
402
+ // }
403
+ // }
404
+
326
405
  .split-panel.orient-reverse
327
406
  > .split-panel-child:not(:last-child):not(.is-width-override) {
328
407
  max-width: 300px;
@@ -330,7 +409,10 @@
330
409
 
331
410
  #expr_panel_header,
332
411
  .sidebar_header {
333
- min-height: 48px;
412
+ min-height: var(
413
+ --plugin-selector--height,
414
+ var(--status-bar--height, 48px)
415
+ );
334
416
  overflow: hidden;
335
417
  display: flex;
336
418
  flex-direction: column;