@perspective-dev/viewer 5.3.1 → 5.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 (291) hide show
  1. package/dist/cdn/perspective-viewer.js +6 -6
  2. package/dist/cdn/perspective-viewer.js.map +2 -2
  3. package/dist/css/blueprint.css +1 -1
  4. package/dist/css/botanical.css +1 -1
  5. package/dist/css/dracula.css +1 -1
  6. package/dist/css/eggplant.css +1 -1
  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 -1
  19. package/dist/css/monokai.css +1 -1
  20. package/dist/css/nord.css +1 -1
  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 -1
  29. package/dist/docs/perspective-docs.json +1 -1
  30. package/dist/esm/extensions.d.ts +0 -5
  31. package/dist/esm/perspective-viewer.d.ts +2 -0
  32. package/dist/esm/perspective-viewer.inline.js +8 -8
  33. package/dist/esm/perspective-viewer.inline.js.map +2 -2
  34. package/dist/esm/perspective-viewer.js +5 -5
  35. package/dist/esm/perspective-viewer.js.map +2 -2
  36. package/dist/esm/plugin.d.ts +9 -0
  37. package/dist/esm/ts-rs/AddPanelOptions.d.ts +9 -0
  38. package/dist/esm/ts-rs/GetViewMode.d.ts +4 -0
  39. package/dist/esm/ts-rs/GetViewOptions.d.ts +8 -0
  40. package/dist/esm/ts-rs/RestoreOptions.d.ts +6 -0
  41. package/dist/esm/ts-rs/RestoreWorkspaceOptions.d.ts +9 -0
  42. package/dist/esm/ts-rs/ViewOnUpdateResp.d.ts +1 -1
  43. package/dist/esm/ts-rs/WorkspaceConfigUpdate.d.ts +30 -22
  44. package/dist/wasm/perspective-viewer.d.ts +137 -104
  45. package/dist/wasm/perspective-viewer.js +337 -269
  46. package/dist/wasm/perspective-viewer.wasm +0 -0
  47. package/dist/wasm/perspective-viewer.wasm.d.ts +20 -30
  48. package/package.json +7 -7
  49. package/src/css/_context_menu.css +1 -1
  50. package/src/css/_dropdown_menu.css +1 -1
  51. package/src/css/_viewer_bundle.css +7 -8
  52. package/src/css/column-dropdown.css +0 -3
  53. package/src/css/column-selector.css +18 -7
  54. package/src/css/column-settings-panel.css +0 -225
  55. package/src/css/column-style.css +175 -0
  56. package/src/css/config-selector.css +19 -11
  57. package/src/css/filter-dropdown.css +5 -5
  58. package/src/css/form/debug.css +37 -4
  59. package/src/css/function-dropdown.css +5 -5
  60. package/src/css/panel-tab.css +23 -0
  61. package/src/css/plugin-selector.css +5 -5
  62. package/src/css/render-warning.css +1 -1
  63. package/src/css/status-bar.css +63 -21
  64. package/src/css/type-icon.css +1 -3
  65. package/src/css/{containers → ui/containers}/context-menu.css +22 -16
  66. package/src/css/ui/containers/dropdown-menu-items.css +66 -0
  67. package/src/css/{containers → ui/containers}/dropdown-menu.css +8 -53
  68. package/src/css/{containers → ui/containers}/tabs.css +2 -1
  69. package/src/css/viewer.css +32 -26
  70. package/src/rust/agent/tools.rs +80 -7
  71. package/src/rust/components/chat_panel.rs +1 -1
  72. package/src/rust/components/{form/code_editor.rs → code_editor.rs} +4 -2
  73. package/src/rust/components/column_dropdown.rs +2 -2
  74. package/src/rust/components/column_selector/active_column.rs +24 -9
  75. package/src/rust/components/column_selector/aggregate_selector.rs +1 -1
  76. package/src/rust/components/column_selector/config_selector.rs +2 -2
  77. package/src/rust/components/column_selector/filter_column.rs +8 -5
  78. package/src/rust/components/column_selector/inactive_column.rs +4 -2
  79. package/src/rust/components/column_selector/pivot_column.rs +4 -3
  80. package/src/rust/components/column_selector/sort_column.rs +7 -4
  81. package/src/rust/components/column_selector.rs +14 -3
  82. package/src/rust/components/column_settings_sidebar/style_tab/agg_depth_selector.rs +1 -1
  83. package/src/rust/components/column_settings_sidebar/style_tab/alignment_field.rs +90 -0
  84. package/src/rust/components/column_settings_sidebar/style_tab/font_field.rs +267 -0
  85. package/src/rust/components/column_settings_sidebar/style_tab/primitive_field.rs +16 -18
  86. package/src/rust/components/column_settings_sidebar/style_tab/symbol/symbol_selector.rs +1 -1
  87. package/src/rust/components/column_settings_sidebar/style_tab.rs +70 -12
  88. package/src/rust/components/column_settings_sidebar.rs +3 -4
  89. package/src/rust/components/copy_dropdown.rs +1 -1
  90. package/src/rust/components/datetime_column_style/custom.rs +1 -3
  91. package/src/rust/components/datetime_column_style/simple.rs +1 -2
  92. package/src/rust/components/datetime_column_style.rs +1 -2
  93. package/src/rust/components/{form/debug.rs → debug_panel.rs} +112 -55
  94. package/src/rust/components/{containers/dragdrop_list.rs → dragdrop_list.rs} +2 -10
  95. package/src/rust/components/export_dropdown.rs +1 -1
  96. package/src/rust/components/expression_editor.rs +1 -1
  97. package/src/rust/components/filter_dropdown.rs +2 -2
  98. package/src/rust/components/function_dropdown.rs +2 -2
  99. package/src/rust/components/main_panel/frame_theme.rs +3 -59
  100. package/src/rust/components/main_panel/msg.rs +4 -0
  101. package/src/rust/components/main_panel/reconcile.rs +9 -4
  102. package/src/rust/components/main_panel/render.rs +62 -11
  103. package/src/rust/components/main_panel/update.rs +39 -10
  104. package/src/rust/components/main_panel.rs +40 -2
  105. package/src/rust/components/mod.rs +5 -8
  106. package/src/rust/components/new_panel_menu.rs +97 -0
  107. package/src/rust/components/number_series_style.rs +2 -3
  108. package/src/rust/components/panel_menu.rs +61 -87
  109. package/src/rust/components/panel_tab.rs +100 -43
  110. package/src/rust/components/plugin_tab.rs +58 -4
  111. package/src/rust/components/render_warning.rs +2 -2
  112. package/src/rust/components/{status_bar_counter.rs → rows_counter.rs} +10 -10
  113. package/src/rust/components/settings_panel.rs +8 -2
  114. package/src/rust/components/status_bar.rs +113 -19
  115. package/src/rust/components/status_indicator.rs +9 -14
  116. package/src/rust/components/{style/mod.rs → style.rs} +32 -15
  117. package/src/rust/components/style_controls/number_string_format/digits_section.rs +3 -5
  118. package/src/rust/components/style_controls/number_string_format/misc_section.rs +1 -1
  119. package/src/rust/components/style_controls/number_string_format/style_section.rs +1 -1
  120. package/src/rust/components/viewer/msg.rs +43 -30
  121. package/src/rust/components/viewer/panels.rs +53 -19
  122. package/src/rust/components/viewer/render.rs +16 -13
  123. package/src/rust/components/viewer/settings.rs +137 -68
  124. package/src/rust/components/viewer/snapshots.rs +5 -10
  125. package/src/rust/components/viewer/wiring.rs +11 -22
  126. package/src/rust/components/viewer.rs +15 -10
  127. package/src/rust/components/window_editor.rs +8 -9
  128. package/src/rust/config/column_config_schema.rs +312 -33
  129. package/src/rust/config/datetime_column_style.rs +0 -11
  130. package/src/rust/config/mod.rs +0 -4
  131. package/src/rust/config/options.rs +50 -0
  132. package/src/rust/config/workspace_config.rs +70 -24
  133. package/src/rust/custom_elements/debug_plugin.rs +1 -10
  134. package/src/rust/custom_elements/mod.rs +0 -3
  135. package/src/rust/custom_elements/viewer.rs +194 -115
  136. package/src/rust/js/plugin.rs +3 -87
  137. package/src/rust/lib.rs +19 -18
  138. package/src/rust/presentation/column_locator.rs +3 -7
  139. package/src/rust/presentation.rs +68 -38
  140. package/src/rust/queries/hosted_tables.rs +38 -0
  141. package/src/rust/queries/mod.rs +2 -0
  142. package/src/rust/queries/palette_set.rs +1 -1
  143. package/src/rust/queries/plugin_column_styles.rs +6 -5
  144. package/src/rust/renderer/activate.rs +1 -3
  145. package/src/rust/renderer/dispatch.rs +83 -22
  146. package/src/rust/renderer/limits.rs +24 -5
  147. package/src/rust/renderer/plugin_config.rs +201 -41
  148. package/src/rust/renderer/plugin_store.rs +2 -1
  149. package/src/rust/renderer/props.rs +7 -1
  150. package/src/rust/renderer.rs +23 -27
  151. package/src/rust/session/props.rs +8 -3
  152. package/src/rust/session/view_subscription.rs +19 -6
  153. package/src/rust/session.rs +189 -150
  154. package/src/rust/tasks/create_panel.rs +5 -2
  155. package/src/rust/tasks/dismiss_render_warning.rs +1 -1
  156. package/src/rust/tasks/eject.rs +1 -0
  157. package/src/rust/tasks/pipeline.rs +18 -67
  158. package/src/rust/tasks/presize_panels.rs +24 -1
  159. package/src/rust/tasks/restore_and_render.rs +0 -17
  160. package/src/rust/tasks/restore_panel.rs +129 -30
  161. package/src/rust/tasks/send_column_config.rs +4 -1
  162. package/src/rust/tasks/send_plugin_config.rs +1 -1
  163. package/src/rust/tasks/set_edit_mode.rs +1 -1
  164. package/src/rust/tasks/sync_update_panels.rs +147 -67
  165. package/src/rust/tasks/table_lifecycle.rs +7 -1
  166. package/src/rust/{components → ui}/containers/control_group.rs +25 -3
  167. package/src/rust/{components → ui}/containers/dropdown_menu.rs +5 -2
  168. package/src/rust/{components → ui}/containers/mod.rs +0 -4
  169. package/src/rust/{components → ui}/containers/scroll_panel.rs +0 -22
  170. package/src/rust/{components → ui}/containers/scroll_panel_item.rs +0 -13
  171. package/src/rust/{components → ui}/containers/select.rs +0 -6
  172. package/src/rust/{components → ui}/containers/sidebar.rs +5 -32
  173. package/src/rust/{components → ui}/containers/split_panel.rs +8 -80
  174. package/src/rust/{components → ui}/containers/tab_list.rs +15 -9
  175. package/src/rust/{components → ui}/context_menu.rs +8 -13
  176. package/src/rust/{presentation/drag_helpers.rs → ui/dragdrop.rs} +26 -31
  177. package/src/rust/{components → ui}/font_loader.rs +0 -26
  178. package/src/rust/{components → ui}/form/color_selector.rs +4 -2
  179. package/src/rust/{config/datetime_column_style/color_mode.rs → ui/form/intl_label.rs} +42 -42
  180. package/src/rust/{components → ui}/form/mirrored_textarea.rs +0 -53
  181. package/src/rust/{components → ui}/form/mod.rs +1 -10
  182. package/src/rust/{components → ui}/form/multi_stop_gradient_selector.rs +4 -5
  183. package/src/rust/{components → ui}/form/named_value_picker.rs +1 -6
  184. package/src/rust/{components → ui}/form/number_field.rs +1 -1
  185. package/src/rust/{components → ui}/form/number_range_field.rs +1 -1
  186. package/src/rust/{components → ui}/form/optional_field.rs +3 -1
  187. package/src/rust/{components → ui}/form/palette_selector.rs +4 -5
  188. package/src/rust/{components → ui}/form/select_enum_field.rs +2 -2
  189. package/src/rust/{components → ui}/form/select_value_field.rs +2 -2
  190. package/src/rust/ui/mod.rs +56 -0
  191. package/src/rust/ui/modal.rs +61 -0
  192. package/src/rust/{components → ui}/portal.rs +175 -79
  193. package/src/rust/{components/style/style_provider.rs → ui/style.rs} +4 -34
  194. package/src/rust/utils/completion.rs +0 -6
  195. package/src/rust/{config/css_scale.rs → utils/css.rs} +38 -35
  196. package/src/rust/utils/css_vars.rs +13 -0
  197. package/src/rust/utils/local_fonts.rs +395 -0
  198. package/src/rust/utils/mod.rs +4 -0
  199. package/src/rust/workspace.rs +47 -0
  200. package/src/svg/boolean-type.svg +3 -2
  201. package/src/svg/checkbox-checked-icon.svg +4 -7
  202. package/src/svg/checkbox-hover.svg +3 -3
  203. package/src/svg/checkbox-off.svg +2 -3
  204. package/src/svg/checkbox-on.svg +3 -3
  205. package/src/svg/checkbox-unchecked-icon.svg +3 -3
  206. package/src/svg/datagrid-select-column.svg +8 -15
  207. package/src/svg/datagrid-select-region.svg +8 -15
  208. package/src/svg/datagrid-select-row-tree.svg +7 -12
  209. package/src/svg/datagrid-select-row.svg +8 -13
  210. package/src/svg/date-type.svg +4 -23
  211. package/src/svg/drawer-tab-hover.svg +4 -6
  212. package/src/svg/drawer-tab-invert-hover.svg +5 -5
  213. package/src/svg/drawer-tab-invert.svg +3 -5
  214. package/src/svg/drawer-tab.svg +5 -5
  215. package/src/svg/mega-menu-icons-candlestick.svg +5 -37
  216. package/src/svg/mega-menu-icons-ohlc.svg +4 -39
  217. package/src/svg/mega-menu-icons-sunburst.svg +4 -38
  218. package/src/svg/mega-menu-icons-treemap.svg +3 -43
  219. package/src/svg/mega-menu-icons-y-scatter.svg +12 -72
  220. package/src/svg/new-panel-icon.svg +4 -0
  221. package/src/svg/number-type.svg +3 -3
  222. package/src/svg/radio-hover.svg +3 -3
  223. package/src/svg/radio-off.svg +3 -3
  224. package/src/svg/radio-on.svg +3 -3
  225. package/src/svg/status_ok.svg +3 -26
  226. package/src/svg/status_pending.svg +3 -0
  227. package/src/svg/string-type.svg +4 -8
  228. package/src/svg/theme-icon.svg +5 -5
  229. package/src/themes/blueprint.css +0 -57
  230. package/src/themes/botanical.css +0 -36
  231. package/src/themes/defaults.css +1 -24
  232. package/src/themes/dracula.css +0 -58
  233. package/src/themes/eggplant.css +0 -58
  234. package/src/themes/gruvbox-dark.css +0 -65
  235. package/src/themes/gruvbox.css +1 -39
  236. package/src/themes/icons.css +2 -8
  237. package/src/themes/intl/ar.css +198 -0
  238. package/src/themes/intl/de.css +63 -40
  239. package/src/themes/intl/es.css +58 -35
  240. package/src/themes/intl/fr.css +57 -34
  241. package/src/themes/intl/ja.css +59 -36
  242. package/src/themes/intl/pt.css +54 -31
  243. package/src/themes/intl/zh.css +65 -42
  244. package/src/themes/intl.css +34 -8
  245. package/src/themes/ledger.css +1 -59
  246. package/src/themes/monokai.css +0 -51
  247. package/src/themes/nord.css +0 -55
  248. package/src/themes/phosphor.css +0 -48
  249. package/src/themes/pro-dark.css +0 -37
  250. package/src/themes/pro.css +3 -23
  251. package/src/themes/solarized-dark.css +0 -31
  252. package/src/themes/solarized.css +1 -24
  253. package/src/themes/vaporwave.css +0 -44
  254. package/src/themes/velvet.css +0 -60
  255. package/src/ts/extensions.ts +0 -13
  256. package/src/ts/perspective-viewer.ts +2 -0
  257. package/src/ts/plugin.ts +9 -0
  258. package/src/ts/ts-rs/AddPanelOptions.ts +10 -0
  259. package/src/ts/ts-rs/{DatetimeColorMode.ts → GetViewMode.ts} +4 -1
  260. package/src/ts/ts-rs/GetViewOptions.ts +7 -0
  261. package/src/ts/ts-rs/RestoreOptions.ts +7 -1
  262. package/src/ts/ts-rs/RestoreWorkspaceOptions.ts +10 -0
  263. package/src/ts/ts-rs/ViewOnUpdateResp.ts +1 -1
  264. package/src/ts/ts-rs/WorkspaceConfigUpdate.ts +31 -20
  265. package/dist/esm/ts-rs/DatetimeColorMode.d.ts +0 -1
  266. package/dist/esm/ts-rs/FormatMode.d.ts +0 -1
  267. package/dist/esm/ts-rs/StringColorMode.d.ts +0 -1
  268. package/src/css/plugin-settings-panel.css +0 -171
  269. package/src/rust/components/modal.rs +0 -177
  270. package/src/rust/components/string_column_style.rs +0 -121
  271. package/src/rust/config/string_column_style.rs +0 -135
  272. package/src/rust/custom_elements/copy_dropdown.rs +0 -219
  273. package/src/rust/custom_elements/export_dropdown.rs +0 -216
  274. package/src/rust/custom_elements/modal.rs +0 -299
  275. package/src/ts/ts-rs/FormatMode.ts +0 -3
  276. package/src/ts/ts-rs/StringColorMode.ts +0 -3
  277. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline0.js +0 -0
  278. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline1.js +0 -0
  279. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline2.js +0 -0
  280. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline3.js +0 -0
  281. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline4.js +0 -0
  282. /package/dist/wasm/snippets/{perspective-viewer-87bd21b215d0631a → perspective-viewer-ea71a3990cad35d7}/inline5.js +0 -0
  283. /package/src/css/{containers → ui/containers}/scroll-panel.css +0 -0
  284. /package/src/css/{containers → ui/containers}/split-panel.css +0 -0
  285. /package/src/css/{dom → ui/dom}/checkbox.css +0 -0
  286. /package/src/css/{dom → ui/dom}/scrollbar.css +0 -0
  287. /package/src/css/{dom → ui/dom}/select.css +0 -0
  288. /package/src/css/{form → ui/form}/mirrored-textarea.css +0 -0
  289. /package/src/rust/components/{form → code_editor}/highlight.rs +0 -0
  290. /package/src/rust/{components → ui}/containers/sidebar_close_button.rs +0 -0
  291. /package/src/rust/{components → ui}/form/number_input.rs +0 -0
@@ -12,6 +12,11 @@
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 {
@@ -28,6 +33,14 @@
28
33
  align-items: center;
29
34
  padding-left: 4px;
30
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
+ }
31
44
  }
32
45
 
33
46
  .is-default-value .bool-field-container {
@@ -48,6 +61,68 @@
48
61
  }
49
62
  }
50
63
 
64
+ .alignment-grid {
65
+ display: grid;
66
+ flex: 0 1 100%;
67
+ grid-template-columns: repeat(3, 1fr);
68
+ gap: 0px;
69
+ padding: 1px;
70
+ border: 1px solid var(--psp-inactive--color);
71
+ border-radius: 5px;
72
+ }
73
+
74
+ .alignment-cell {
75
+ display: grid;
76
+ place-items: center;
77
+ width: 100%;
78
+ height: 16px;
79
+ padding: 0;
80
+ border: 1px solid transparent;
81
+ border-radius: 4px;
82
+ background: none;
83
+ cursor: pointer;
84
+
85
+ &::before {
86
+ content: "";
87
+ width: 100%;
88
+ height: 100%;
89
+ border-radius: 3px;
90
+ background: #00000020;
91
+ }
92
+
93
+ &[aria-checked="true"]::before {
94
+ background: var(--psp-inactive--color);
95
+ }
96
+
97
+ &:hover:not(:disabled) {
98
+ border-color: var(--psp--color);
99
+ }
100
+
101
+ &:disabled {
102
+ cursor: default;
103
+
104
+ &::before {
105
+ opacity: 0.25;
106
+ }
107
+ }
108
+
109
+ &[data-align^="top"] {
110
+ align-items: start;
111
+ }
112
+
113
+ &[data-align^="bottom"] {
114
+ align-items: end;
115
+ }
116
+
117
+ &[data-align$="left"] {
118
+ justify-items: start;
119
+ }
120
+
121
+ &[data-align$="right"] {
122
+ justify-items: end;
123
+ }
124
+ }
125
+
51
126
  &.no-style {
52
127
  font-style: italic;
53
128
  background-color: var(--psp-placeholder--background);
@@ -198,6 +273,7 @@
198
273
 
199
274
  div.section {
200
275
  display: flex;
276
+ justify-content: space-between;
201
277
  align-items: center;
202
278
  flex: 1 1 100%;
203
279
  }
@@ -524,6 +600,105 @@
524
600
  }
525
601
  }
526
602
 
603
+ .font-style-toggle {
604
+ flex: 0 0 24px;
605
+ height: 24px;
606
+ margin-left: 4px;
607
+ display: inline-flex;
608
+ align-items: center;
609
+ justify-content: center;
610
+ border: 1px solid var(--psp-inactive--color, #666);
611
+ border-radius: 2px;
612
+ cursor: pointer;
613
+ user-select: none;
614
+ font-size: 12px;
615
+ color: var(--psp-inactive--color, #666);
616
+
617
+ &.bold:before {
618
+ content: "B";
619
+ font-weight: bold;
620
+ }
621
+
622
+ &.italic:before {
623
+ content: "I";
624
+ font-style: italic;
625
+ font-family: serif;
626
+ }
627
+
628
+ &:hover {
629
+ color: var(--psp--color, inherit);
630
+ border-color: var(--psp--color, inherit);
631
+ }
632
+
633
+ &[aria-pressed="true"] {
634
+ color: var(--psp--background-color);
635
+ background-color: var(--psp--color);
636
+ border-color: var(--psp--color);
637
+ }
638
+ }
639
+
640
+ .font-group {
641
+ display: flex;
642
+ flex: 1 1 100%;
643
+ flex-wrap: wrap;
644
+ contain: inline-size;
645
+ & > input {
646
+ flex: 1 1 auto;
647
+ }
648
+
649
+ .font-group-family {
650
+ flex: 1 1 100%;
651
+ margin-bottom: 3px;
652
+ }
653
+ }
654
+
655
+ .local-fonts-controls {
656
+ display: flex;
657
+ justify-content: flex-end;
658
+ align-items: center;
659
+ flex: 1 1 100%;
660
+ height: 0;
661
+ margin-top: 10px;
662
+ margin-bottom: -10px;
663
+ margin-right: 24px;
664
+ position: relative;
665
+ z-index: 1;
666
+ font-size: var(--label--font-size, 0.75em);
667
+ color: var(--psp-inactive--color);
668
+
669
+ .local-fonts-request {
670
+ cursor: pointer;
671
+ user-select: none;
672
+ line-height: 15px;
673
+
674
+ &:before {
675
+ font-family: var(--psp-button--font-family, inherit);
676
+ color: var(--psp-inactive--color, #666);
677
+ content: var(
678
+ --psp-label--request-local-fonts--content,
679
+ "Local Fonts"
680
+ );
681
+ }
682
+
683
+ &:hover:before {
684
+ color: var(--psp--color, inherit);
685
+ }
686
+
687
+ &.blocked {
688
+ cursor: help;
689
+
690
+ &:before,
691
+ &:hover:before {
692
+ color: var(--psp-inactive--color, #666);
693
+ content: var(
694
+ --psp-label--local-fonts-blocked--content,
695
+ "No Access"
696
+ );
697
+ }
698
+ }
699
+ }
700
+ }
701
+
527
702
  input[type="color"] {
528
703
  width: 100%;
529
704
  height: 24px;
@@ -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
 
@@ -400,7 +408,7 @@
400
408
  .sort-icon {
401
409
  display: inline-flex;
402
410
  margin-left: auto;
403
- /* margin-right: 8px; */
411
+ margin-right: 3px;
404
412
  cursor: pointer;
405
413
  font-family: var(--psp-button--font-family, inherit);
406
414
  background-repeat: no-repeat;
@@ -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;
@@ -12,10 +12,6 @@
12
12
  */
13
13
 
14
14
  :host {
15
- div.tab-title#Debug:before {
16
- content: var(--psp-label--debug-tab--content, "Debug JSON");
17
- }
18
-
19
15
  #debug-panel-overflow {
20
16
  overflow: hidden;
21
17
  display: flex;
@@ -56,6 +52,34 @@
56
52
  color: var(--psp--background-color);
57
53
  }
58
54
 
55
+ &#debug-panel-apply:before {
56
+ content: var(
57
+ --psp-label--apply-button--content,
58
+ var(--psp-missing)
59
+ );
60
+ }
61
+
62
+ &#debug-panel-reset:before {
63
+ content: var(
64
+ --psp-label--reset-button--content,
65
+ var(--psp-missing)
66
+ );
67
+ }
68
+
69
+ &#debug-panel-copy:before {
70
+ content: var(
71
+ --psp-label--copy-button--content,
72
+ var(--psp-missing)
73
+ );
74
+ }
75
+
76
+ &#debug-panel-paste:before {
77
+ content: var(
78
+ --psp-label--paste-button--content,
79
+ var(--psp-missing)
80
+ );
81
+ }
82
+
59
83
  &[disabled] {
60
84
  cursor: not-allowed;
61
85
  opacity: 0.2;
@@ -69,6 +93,15 @@
69
93
  flex: 0 1 auto;
70
94
  overflow: hidden;
71
95
  padding: 8px 8px 8px 0;
96
+
97
+ #debug-panel-error {
98
+ flex: 0 0 auto;
99
+ padding-top: 6px;
100
+ font-size: 10px;
101
+ color: var(--psp-error--color);
102
+ white-space: pre-wrap;
103
+ overflow-wrap: anywhere;
104
+ }
72
105
  }
73
106
 
74
107
  #editor {
@@ -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
  display: flex;
25
25
  flex-direction: column;
@@ -90,6 +90,10 @@
90
90
  mask-image: var(--psp-icon--active-indicator--mask-image);
91
91
  }
92
92
 
93
+ :host([part~="tab"].closing) {
94
+ pointer-events: none;
95
+ }
96
+
93
97
  /* A lone tab (its viewer has a single plugin child) has no stack to open —
94
98
  * no caret. Must follow the `.active` rule (equal specificity) to win when
95
99
  * the lone tab is also active. */
@@ -139,6 +143,25 @@
139
143
  outline: none;
140
144
  }
141
145
 
146
+ span#rows {
147
+ display: flex;
148
+ align-items: baseline;
149
+ gap: 6px;
150
+ margin-left: 12px;
151
+ margin-right: 6px;
152
+ pointer-events: none;
153
+ white-space: nowrap;
154
+ overflow: hidden;
155
+ text-overflow: ellipsis;
156
+ flex: 0 100000000 auto;
157
+ }
158
+
159
+ span#rows span.x,
160
+ span#rows span.total {
161
+ text-overflow: ellipsis;
162
+ color: var(--psp-inactive--color);
163
+ }
164
+
142
165
  .psp-tab-master {
143
166
  margin-right: 6px;
144
167
  }
@@ -34,11 +34,12 @@
34
34
  margin: 0 0px 0 -9px;
35
35
 
36
36
  #plugin_selector_border {
37
- height: 2px;
38
- min-height: 2px;
37
+ height: 3px;
38
+ min-height: 3px;
39
39
  width: 100%;
40
- background-color: var(--psp-inactive--color, #6e6e6e);
41
- margin-top: 2px;
40
+ margin-top: 1px;
41
+ background-color: #00000020;
42
+ border-bottom: 1px solid var(--psp-inactive--color, #6e6e6e);
42
43
  }
43
44
 
44
45
  .plugin-selector-options {
@@ -85,7 +86,6 @@
85
86
  );
86
87
  display: flex;
87
88
  align-items: center;
88
- border-bottom: 1px solid transparent;
89
89
  box-shadow: 0px 1px var(--psp-inactive--color, #6e6e6e);
90
90
  cursor: pointer;
91
91
  }
@@ -46,7 +46,7 @@
46
46
  }
47
47
 
48
48
  .plugin_information__icon:before {
49
- content: var(--psp-icon-overflow-hint--content);
49
+ content: var(--psp-icon-overflow-hint--content, var(--psp-missing));
50
50
  height: 20px;
51
51
  font-family: var(
52
52
  --overflow_hint--font-family,
@@ -46,10 +46,9 @@
46
46
  box-shadow: 0 1px 0 0px var(--psp-inactive--color);
47
47
  z-index: 6;
48
48
  display: var(--psp-status-bar--display, flex);
49
- gap: 4px;
50
49
  align-items: center;
51
50
  background: var(--psp--background-color);
52
- padding: var(--psp-status-bar--padding, 0 31px 0 4px);
51
+ padding: var(--psp-status-bar--padding, 0 26px 0 4px);
53
52
  position: relative;
54
53
  height: var(--psp-status-bar--height, 38px);
55
54
  min-height: var(--psp-status-bar--height, 38px);
@@ -69,21 +68,28 @@
69
68
  flex: 1 1000 auto;
70
69
  }
71
70
 
72
- span#rows {
73
- display: flex;
74
- align-items: flex-end;
75
- gap: 6px;
76
- flex: 0 1000 auto;
77
- overflow: hidden;
78
- margin: 0px 0px;
79
- pointer-events: none;
80
- span {
81
- margin: 0 !important;
71
+ #panel-bar {
72
+ flex: 0 0 auto;
73
+ height: 100%;
74
+ }
75
+
76
+ span#new_panel {
77
+ & > .icon {
78
+ -webkit-mask-image: var(--psp-icon--new-panel--mask-image);
79
+ mask-image: var(--psp-icon--new-panel--mask-image);
80
+ display: inline-flex;
81
+ &:before {
82
+ line-height: 0;
83
+ content: var(--psp-icon--new-panel--mask-image);
84
+ visibility: hidden;
85
+ }
82
86
  }
83
87
 
84
- span.x,
85
- span.total {
86
- color: var(--psp-inactive--color);
88
+ span:not(.icon):before {
89
+ content: var(
90
+ --psp-label--new-panel-button--content,
91
+ var(--psp-missing)
92
+ );
87
93
  }
88
94
  }
89
95
 
@@ -204,6 +210,17 @@
204
210
  background-color: transparent;
205
211
  }
206
212
 
213
+ span#status.pending {
214
+ background-color: var(--psp-inactive--color);
215
+ mask-image: var(--psp-icon--status-pending--mask-image);
216
+ -webkit-mask-image: var(--psp-icon--status-pending--mask-image);
217
+ &:before {
218
+ visibility: hidden;
219
+ content: var(--psp-icon--status-pending--mask-image);
220
+ line-height: 0;
221
+ }
222
+ }
223
+
207
224
  span#status.connected,
208
225
  span#status.updating {
209
226
  mask-image: var(--psp-icon--status-ok--mask-image);
@@ -371,7 +388,10 @@
371
388
  }
372
389
 
373
390
  span:not(.icon):before {
374
- content: var(--psp-label--export-button--content, "Export");
391
+ content: var(
392
+ --psp-label--export-button--content,
393
+ var(--psp-missing)
394
+ );
375
395
  }
376
396
  }
377
397
 
@@ -400,7 +420,10 @@
400
420
  }
401
421
  }
402
422
  span:not(.icon):before {
403
- content: var(--psp-label--reset-button--content);
423
+ content: var(
424
+ --psp-label--reset-button--content,
425
+ var(--psp-missing)
426
+ );
404
427
  }
405
428
  }
406
429
 
@@ -418,7 +441,10 @@
418
441
  }
419
442
 
420
443
  span:not(.icon):before {
421
- content: var(--psp-label--copy-button--content);
444
+ content: var(
445
+ --psp-label--copy-button--content,
446
+ var(--psp-missing)
447
+ );
422
448
  }
423
449
  }
424
450
 
@@ -440,8 +466,12 @@
440
466
  height: 100%;
441
467
  }
442
468
 
469
+ .select-arrow {
470
+ margin: 0;
471
+ }
472
+
443
473
  & > .icon {
444
- margin: 0 6px 0 4px;
474
+ margin: 0 2px 0 2px;
445
475
  height: auto;
446
476
  -webkit-mask-image: var(--psp-icon--theme--mask-image);
447
477
  mask-image: var(--psp-icon--theme--mask-image);
@@ -452,6 +482,10 @@
452
482
  visibility: hidden;
453
483
  }
454
484
  }
485
+
486
+ & > .dropdown-width-container {
487
+ padding-left: 5px;
488
+ }
455
489
  }
456
490
 
457
491
  #theme_icon.modified:hover + #theme > .icon {
@@ -488,6 +522,10 @@
488
522
  }
489
523
  }
490
524
 
525
+ .modal-target .button > span.icon-label {
526
+ display: none !important;
527
+ }
528
+
491
529
  .hover-target {
492
530
  margin: 0;
493
531
  display: inline-flex;
@@ -495,11 +533,15 @@
495
533
  align-items: center;
496
534
 
497
535
  &:focus-within,
498
- &:hover,
499
- &.modal-target {
536
+ &:hover:not(.modal-target) {
500
537
  box-shadow:
501
538
  -4px 0 0 var(--psp--color),
502
539
  4px 0 0 var(--psp--color);
540
+ }
541
+
542
+ &:focus-within,
543
+ &:hover,
544
+ &.modal-target {
503
545
  background-color: var(--psp--color);
504
546
  }
505
547
 
@@ -13,9 +13,7 @@
13
13
 
14
14
  :host #selected-columns .type-icon,
15
15
  :host #sub-columns .type-icon {
16
- /* position: absolute; */
17
- /* left: 15px; */
18
- margin-left: 4px;
16
+ margin-left: 1px;
19
17
  }
20
18
 
21
19
  :host .icon {