@perspective-dev/viewer 4.5.2 → 5.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.
- package/dist/cdn/perspective-viewer.js +20 -1
- package/dist/cdn/perspective-viewer.js.map +4 -4
- package/dist/css/botanical.css +1 -1
- package/dist/css/dracula.css +1 -1
- package/dist/css/gruvbox-dark.css +1 -1
- package/dist/css/gruvbox.css +1 -1
- package/dist/css/icons.css +1 -1
- package/dist/css/intl/de.css +1 -1
- package/dist/css/intl/es.css +1 -1
- package/dist/css/intl/fr.css +1 -1
- package/dist/css/intl/ja.css +1 -1
- package/dist/css/intl/pt.css +1 -1
- package/dist/css/intl/zh.css +1 -1
- package/dist/css/intl.css +1 -1
- package/dist/css/monokai.css +1 -1
- package/dist/css/phosphor.css +1 -1
- package/dist/css/pro-dark.css +1 -1
- package/dist/css/pro.css +1 -1
- package/dist/css/solarized-dark.css +1 -1
- package/dist/css/solarized.css +1 -1
- package/dist/css/themes.css +1 -1
- package/dist/css/vaporwave.css +1 -1
- package/dist/esm/extensions.d.ts +22 -3
- package/dist/esm/perspective-viewer.d.ts +9 -0
- package/dist/esm/perspective-viewer.inline.js +20 -1
- package/dist/esm/perspective-viewer.inline.js.map +4 -4
- package/dist/esm/perspective-viewer.js +20 -1
- package/dist/esm/perspective-viewer.js.map +4 -4
- package/dist/esm/plugin.d.ts +71 -5
- package/dist/esm/ts-rs/ClientOptions.d.ts +7 -0
- package/dist/esm/ts-rs/ExportMethod.d.ts +1 -0
- package/dist/esm/ts-rs/ExportOptions.d.ts +9 -0
- package/dist/esm/ts-rs/GetClientOptions.d.ts +8 -0
- package/dist/esm/ts-rs/GetTableOptions.d.ts +8 -0
- package/dist/esm/ts-rs/Layout.d.ts +11 -0
- package/dist/esm/ts-rs/Orientation.d.ts +4 -0
- package/dist/esm/ts-rs/PanelOptions.d.ts +7 -0
- package/dist/esm/ts-rs/PanelViewerConfig.d.ts +41 -0
- package/dist/esm/ts-rs/SplitLayout.d.ts +7 -0
- package/dist/esm/ts-rs/TabLayout.d.ts +10 -0
- package/dist/esm/ts-rs/ViewerConfig.d.ts +8 -2
- package/dist/esm/ts-rs/ViewerConfigUpdate.d.ts +9 -0
- package/dist/esm/ts-rs/WindowAggregate.d.ts +1 -0
- package/dist/esm/ts-rs/WindowSort.d.ts +7 -0
- package/dist/esm/ts-rs/WindowSortDir.d.ts +6 -0
- package/dist/esm/ts-rs/WindowSpec.d.ts +46 -0
- package/dist/esm/ts-rs/Windows.d.ts +10 -0
- package/dist/esm/ts-rs/WorkspaceConfig.d.ts +40 -0
- package/dist/esm/ts-rs/WorkspaceConfigUpdate.d.ts +28 -0
- package/dist/wasm/perspective-viewer.d.ts +299 -78
- package/dist/wasm/perspective-viewer.js +544 -186
- package/dist/wasm/perspective-viewer.wasm +0 -0
- package/dist/wasm/perspective-viewer.wasm.d.ts +34 -26
- package/dist/wasm/snippets/perspective-viewer-8a8c7d5d696b43ae/inline0.js +6 -0
- package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline3.js → perspective-viewer-8a8c7d5d696b43ae/inline4.js} +5 -0
- package/package.json +3 -2
- package/src/css/_context_menu.css +14 -0
- package/src/css/column-selector.css +1 -0
- package/src/css/column-settings-panel.css +68 -3
- package/src/css/column-style.css +4 -3
- package/src/css/config-selector.css +22 -1
- package/src/css/containers/context-menu.css +107 -0
- package/src/css/containers/tabs.css +2 -2
- package/src/css/panel-tab.css +193 -0
- package/src/css/plugin-selector.css +7 -10
- package/src/css/status-bar.css +75 -81
- package/src/css/viewer.css +188 -70
- package/src/rust/components/column_dropdown.rs +40 -30
- package/src/rust/components/column_selector/active_column.rs +28 -45
- package/src/rust/components/column_selector/aggregate_selector.rs +4 -7
- package/src/rust/components/column_selector/column_selector_column_row.rs +73 -0
- package/src/rust/components/column_selector/config_selector.rs +40 -82
- package/src/rust/components/column_selector/expr_edit_button.rs +7 -1
- package/src/rust/components/column_selector/filter_column.rs +5 -15
- package/src/rust/components/column_selector/inactive_column.rs +11 -9
- package/src/rust/components/column_selector/sort_column.rs +3 -6
- package/src/rust/components/column_selector.rs +25 -14
- package/src/rust/components/column_settings_sidebar/style_tab.rs +2 -1
- package/src/rust/components/column_settings_sidebar/window_tab.rs +34 -0
- package/src/rust/components/column_settings_sidebar.rs +163 -16
- package/src/rust/components/containers/dragdrop_list.rs +73 -3
- package/src/rust/components/containers/sidebar.rs +99 -22
- package/src/rust/components/containers/split_panel.rs +181 -62
- package/src/rust/components/context_menu.rs +130 -0
- package/src/rust/components/editable_header.rs +2 -0
- package/src/rust/components/form/debug.rs +3 -0
- package/src/rust/components/global_filter_bar.rs +76 -0
- package/src/rust/components/main_panel/frame_theme.rs +186 -0
- package/src/rust/components/main_panel/msg.rs +62 -0
- package/src/rust/components/main_panel/presize.rs +220 -0
- package/src/rust/components/main_panel/reconcile.rs +224 -0
- package/src/rust/components/main_panel/render.rs +385 -0
- package/src/rust/components/main_panel/update.rs +184 -0
- package/src/rust/components/main_panel.rs +316 -71
- package/src/rust/components/mod.rs +5 -0
- package/src/rust/components/panel_menu.rs +493 -0
- package/src/rust/components/panel_tab.rs +510 -0
- package/src/rust/components/plugin_tab.rs +1 -1
- package/src/rust/components/portal.rs +7 -0
- package/src/rust/components/settings_panel.rs +13 -5
- package/src/rust/components/status_bar.rs +110 -178
- package/src/rust/components/status_indicator.rs +6 -9
- package/src/rust/components/style/mod.rs +5 -0
- package/src/rust/components/style/style_provider.rs +2 -0
- package/src/rust/components/viewer/filters.rs +133 -0
- package/src/rust/components/viewer/msg.rs +182 -0
- package/src/rust/components/viewer/panels.rs +326 -0
- package/src/rust/components/viewer/render.rs +255 -0
- package/src/rust/components/viewer/settings.rs +434 -0
- package/src/rust/components/viewer/snapshots.rs +134 -0
- package/src/rust/components/viewer/wiring.rs +505 -0
- package/src/rust/components/viewer.rs +245 -756
- package/src/rust/components/window_editor.rs +1013 -0
- package/src/rust/config/export_method.rs +1 -1
- package/src/rust/config/mod.rs +4 -0
- package/src/rust/config/options.rs +71 -0
- package/src/rust/config/viewer_config.rs +24 -2
- package/src/rust/config/workspace_config.rs +92 -0
- package/src/rust/custom_elements/copy_dropdown.rs +3 -1
- package/src/rust/custom_elements/debug_plugin.rs +20 -1
- package/src/rust/custom_elements/export_dropdown.rs +3 -1
- package/src/rust/custom_elements/viewer.rs +1015 -286
- package/src/rust/custom_events.rs +212 -61
- package/src/rust/js/mod.rs +2 -0
- package/src/rust/js/plugin.rs +297 -10
- package/src/rust/js/regular_layout.rs +258 -0
- package/src/rust/lib.rs +24 -2
- package/src/rust/presentation/column_locator.rs +16 -1
- package/src/rust/presentation.rs +66 -33
- package/src/rust/queries/columns_iter_set.rs +7 -1
- package/src/rust/queries/get_viewer_config.rs +29 -11
- package/src/rust/queries/plugin_column_styles.rs +2 -2
- package/src/rust/renderer/activate.rs +41 -14
- package/src/rust/renderer/dispatch.rs +463 -0
- package/src/rust/renderer/plugin_config.rs +495 -0
- package/src/rust/renderer/registry.rs +18 -6
- package/src/rust/renderer/render_timer.rs +29 -10
- package/src/rust/renderer.rs +384 -838
- package/src/rust/session/column_defaults_update.rs +26 -8
- package/src/rust/session/drag_drop_update.rs +18 -0
- package/src/rust/session/metadata.rs +66 -9
- package/src/rust/session/replace_expression_update.rs +1 -0
- package/src/rust/session/view_subscription.rs +30 -15
- package/src/rust/session.rs +755 -264
- package/src/rust/tasks/apply_global_filters.rs +89 -0
- package/src/rust/tasks/auto_pause.rs +171 -0
- package/src/rust/tasks/copy_export.rs +29 -19
- package/src/rust/tasks/create_panel.rs +243 -0
- package/src/rust/tasks/dismiss_render_warning.rs +3 -1
- package/src/rust/tasks/edit_expression.rs +4 -4
- package/src/rust/tasks/edit_window.rs +155 -0
- package/src/rust/tasks/eject.rs +64 -23
- package/src/rust/tasks/mod.rs +30 -4
- package/src/rust/tasks/pipeline.rs +411 -0
- package/src/rust/tasks/presize_panels.rs +324 -0
- package/src/rust/tasks/reset_all.rs +22 -12
- package/src/rust/tasks/resize_observer.rs +124 -87
- package/src/rust/tasks/restore_and_render.rs +80 -86
- package/src/rust/tasks/restore_panel.rs +145 -0
- package/src/rust/tasks/send_column_config.rs +5 -2
- package/src/rust/tasks/send_plugin_config.rs +5 -2
- package/src/rust/tasks/set_edit_mode.rs +59 -0
- package/src/rust/tasks/sync_update_panels.rs +152 -0
- package/src/rust/tasks/table_lifecycle.rs +158 -0
- package/src/rust/tasks/update_theme.rs +56 -12
- package/src/rust/utils/browser/dragdrop.rs +12 -0
- package/src/rust/utils/browser/tests/debounce.rs +49 -0
- package/src/rust/utils/completion.rs +56 -0
- package/src/rust/utils/custom_element.rs +5 -0
- package/src/rust/utils/debounce.rs +189 -17
- package/src/rust/utils/mod.rs +6 -0
- package/src/rust/utils/pending_effects.rs +62 -0
- package/src/rust/utils/spawn.rs +33 -0
- package/src/rust/utils/weak_scope.rs +0 -10
- package/src/rust/workspace.rs +846 -0
- package/src/svg/active-indicator.svg +3 -0
- package/src/svg/pin-icon.svg +5 -0
- package/src/themes/botanical.css +5 -2
- package/src/themes/defaults.css +54 -2
- package/src/themes/dracula.css +6 -3
- package/src/themes/gruvbox-dark.css +5 -2
- package/src/themes/gruvbox.css +5 -2
- package/src/themes/icons.css +5 -2
- package/src/themes/intl/de.css +7 -0
- package/src/themes/intl/es.css +7 -0
- package/src/themes/intl/fr.css +7 -0
- package/src/themes/intl/ja.css +7 -0
- package/src/themes/intl/pt.css +7 -0
- package/src/themes/intl/zh.css +7 -0
- package/src/themes/intl.css +10 -1
- package/src/themes/monokai.css +5 -2
- package/src/themes/phosphor.css +5 -2
- package/src/themes/pro-dark.css +5 -2
- package/src/themes/pro.css +2 -1
- package/src/themes/solarized-dark.css +5 -2
- package/src/themes/solarized.css +5 -2
- package/src/themes/vaporwave.css +5 -2
- package/src/ts/bootstrap.ts +8 -7
- package/src/ts/extensions.ts +30 -2
- package/src/ts/perspective-viewer.ts +10 -0
- package/src/ts/plugin.ts +72 -5
- package/src/ts/ts-rs/ClientOptions.ts +7 -0
- package/src/ts/ts-rs/ExportMethod.ts +3 -0
- package/src/ts/ts-rs/ExportOptions.ts +8 -0
- package/src/ts/ts-rs/GetClientOptions.ts +7 -0
- package/src/ts/ts-rs/GetTableOptions.ts +7 -0
- package/src/ts/ts-rs/Layout.ts +9 -0
- package/src/ts/ts-rs/Orientation.ts +6 -0
- package/src/ts/ts-rs/PanelOptions.ts +7 -0
- package/src/ts/ts-rs/PanelViewerConfig.ts +16 -0
- package/src/ts/ts-rs/SplitLayout.ts +5 -0
- package/src/ts/ts-rs/TabLayout.ts +11 -0
- package/src/ts/ts-rs/ViewerConfig.ts +7 -2
- package/src/ts/ts-rs/ViewerConfigUpdate.ts +9 -0
- package/src/ts/ts-rs/WindowAggregate.ts +3 -0
- package/src/ts/ts-rs/WindowSort.ts +9 -0
- package/src/ts/ts-rs/WindowSortDir.ts +8 -0
- package/src/ts/ts-rs/WindowSpec.ts +46 -0
- package/src/ts/ts-rs/Windows.ts +10 -0
- package/src/ts/ts-rs/WorkspaceConfig.ts +36 -0
- package/src/ts/ts-rs/WorkspaceConfigUpdate.ts +24 -0
- package/src/rust/tasks/intersection_observer.rs +0 -98
- package/src/rust/tasks/update_and_render.rs +0 -110
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline0.js → perspective-viewer-8a8c7d5d696b43ae/inline1.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline1.js → perspective-viewer-8a8c7d5d696b43ae/inline2.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline2.js → perspective-viewer-8a8c7d5d696b43ae/inline3.js} +0 -0
- /package/dist/wasm/snippets/{perspective-viewer-93064d0d79855d97/inline4.js → perspective-viewer-8a8c7d5d696b43ae/inline5.js} +0 -0
|
Binary file
|
|
@@ -24,43 +24,49 @@ export const perspectivedebugpluginelement_new: (a: number) => number;
|
|
|
24
24
|
export const perspectivedebugpluginelement_restore: (a: number, b: number, c: number) => void;
|
|
25
25
|
export const perspectivedebugpluginelement_save: (a: number, b: number) => void;
|
|
26
26
|
export const perspectivedebugpluginelement_select_mode: (a: number, b: number) => void;
|
|
27
|
+
export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
|
|
27
28
|
export const perspectiveviewerelement___get_model: (a: number) => number;
|
|
29
|
+
export const perspectiveviewerelement_addPanel: (a: number, b: number) => number;
|
|
28
30
|
export const perspectiveviewerelement_connectedCallback: (a: number, b: number) => void;
|
|
29
31
|
export const perspectiveviewerelement_copy: (a: number, b: number) => number;
|
|
30
32
|
export const perspectiveviewerelement_delete: (a: number) => number;
|
|
31
33
|
export const perspectiveviewerelement_download: (a: number, b: number) => number;
|
|
32
|
-
export const perspectiveviewerelement_eject: (a: number) => number;
|
|
34
|
+
export const perspectiveviewerelement_eject: (a: number, b: number) => number;
|
|
33
35
|
export const perspectiveviewerelement_export: (a: number, b: number) => number;
|
|
34
36
|
export const perspectiveviewerelement_flush: (a: number) => number;
|
|
37
|
+
export const perspectiveviewerelement_getActivePanel: (a: number) => number;
|
|
35
38
|
export const perspectiveviewerelement_getAllPlugins: (a: number) => number;
|
|
36
39
|
export const perspectiveviewerelement_getClient: (a: number, b: number) => number;
|
|
37
|
-
export const perspectiveviewerelement_getEditPort: (a: number, b: number) => void;
|
|
40
|
+
export const perspectiveviewerelement_getEditPort: (a: number, b: number, c: number) => void;
|
|
41
|
+
export const perspectiveviewerelement_getPanelNames: (a: number) => number;
|
|
38
42
|
export const perspectiveviewerelement_getPlugin: (a: number, b: number, c: number, d: number) => void;
|
|
39
|
-
export const perspectiveviewerelement_getRenderStats: (a: number, b: number) => void;
|
|
40
|
-
export const perspectiveviewerelement_getSelection: (a: number) =>
|
|
43
|
+
export const perspectiveviewerelement_getRenderStats: (a: number, b: number, c: number) => void;
|
|
44
|
+
export const perspectiveviewerelement_getSelection: (a: number, b: number, c: number) => void;
|
|
41
45
|
export const perspectiveviewerelement_getTable: (a: number, b: number) => number;
|
|
42
|
-
export const perspectiveviewerelement_getView: (a: number) => number;
|
|
43
|
-
export const perspectiveviewerelement_getViewConfig: (a: number) => number;
|
|
46
|
+
export const perspectiveviewerelement_getView: (a: number, b: number) => number;
|
|
47
|
+
export const perspectiveviewerelement_getViewConfig: (a: number, b: number) => number;
|
|
44
48
|
export const perspectiveviewerelement_load: (a: number, b: number, c: number) => void;
|
|
45
49
|
export const perspectiveviewerelement_new: (a: number) => number;
|
|
46
|
-
export const
|
|
47
|
-
export const perspectiveviewerelement_reset: (a: number, b: number) => number;
|
|
50
|
+
export const perspectiveviewerelement_removePanel: (a: number, b: number, c: number) => number;
|
|
51
|
+
export const perspectiveviewerelement_reset: (a: number, b: number, c: number) => number;
|
|
48
52
|
export const perspectiveviewerelement_resetError: (a: number) => number;
|
|
49
53
|
export const perspectiveviewerelement_resetThemes: (a: number, b: number, c: number) => number;
|
|
50
54
|
export const perspectiveviewerelement_resize: (a: number, b: number) => number;
|
|
51
|
-
export const perspectiveviewerelement_restore: (a: number, b: number) => number;
|
|
55
|
+
export const perspectiveviewerelement_restore: (a: number, b: number, c: number) => number;
|
|
56
|
+
export const perspectiveviewerelement_restoreWorkspace: (a: number, b: number) => number;
|
|
52
57
|
export const perspectiveviewerelement_restyleElement: (a: number) => number;
|
|
53
|
-
export const perspectiveviewerelement_save: (a: number) => number;
|
|
58
|
+
export const perspectiveviewerelement_save: (a: number, b: number) => number;
|
|
59
|
+
export const perspectiveviewerelement_saveWorkspace: (a: number) => number;
|
|
60
|
+
export const perspectiveviewerelement_setActivePanel: (a: number, b: number, c: number) => number;
|
|
54
61
|
export const perspectiveviewerelement_setAutoPause: (a: number, b: number) => number;
|
|
55
62
|
export const perspectiveviewerelement_setAutoSize: (a: number, b: number) => void;
|
|
56
|
-
export const perspectiveviewerelement_setSelection: (a: number, b: number, c: number) => void;
|
|
63
|
+
export const perspectiveviewerelement_setSelection: (a: number, b: number, c: number, d: number) => void;
|
|
57
64
|
export const perspectiveviewerelement_setThrottle: (a: number, b: number, c: number) => void;
|
|
58
|
-
export const perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number) => number;
|
|
65
|
+
export const perspectiveviewerelement_toggleColumnSettings: (a: number, b: number, c: number, d: number) => number;
|
|
59
66
|
export const perspectiveviewerelement_toggleConfig: (a: number, b: number) => number;
|
|
60
67
|
export const registerPlugin: (a: number, b: number) => void;
|
|
61
68
|
export const perspectivedebugpluginelement_delete: (a: number) => number;
|
|
62
69
|
export const perspectivedebugpluginelement_resize: (a: number) => number;
|
|
63
|
-
export const perspectivedebugpluginelement_update: (a: number, b: number) => number;
|
|
64
70
|
export const perspectivedebugpluginelement_min_config_columns: (a: number) => number;
|
|
65
71
|
export const perspectivedebugpluginelement_restyle: (a: number) => void;
|
|
66
72
|
export const exportdropdownmenuelement_new: (a: number) => number;
|
|
@@ -157,19 +163,21 @@ export const virtualdataslice_setIntegerCol: (a: number, b: number, c: number, d
|
|
|
157
163
|
export const virtualdataslice_setStringCol: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
158
164
|
export const virtualserver_handleRequest: (a: number, b: number, c: number) => number;
|
|
159
165
|
export const virtualserver_new: (a: number, b: number) => void;
|
|
160
|
-
export const
|
|
161
|
-
export const
|
|
162
|
-
export const
|
|
163
|
-
export const
|
|
164
|
-
export const
|
|
165
|
-
export const
|
|
166
|
-
export const
|
|
167
|
-
export const
|
|
168
|
-
export const
|
|
169
|
-
export const
|
|
170
|
-
export const
|
|
171
|
-
export const
|
|
172
|
-
export const
|
|
166
|
+
export const __wasm_bindgen_func_elem_3667: (a: number, b: number) => void;
|
|
167
|
+
export const __wasm_bindgen_func_elem_16364: (a: number, b: number) => void;
|
|
168
|
+
export const __wasm_bindgen_func_elem_19409: (a: number, b: number) => void;
|
|
169
|
+
export const __wasm_bindgen_func_elem_20067: (a: number, b: number) => void;
|
|
170
|
+
export const __wasm_bindgen_func_elem_20096: (a: number, b: number) => void;
|
|
171
|
+
export const __wasm_bindgen_func_elem_27549: (a: number, b: number, c: number, d: number) => void;
|
|
172
|
+
export const __wasm_bindgen_func_elem_6430: (a: number, b: number, c: number) => void;
|
|
173
|
+
export const __wasm_bindgen_func_elem_6431: (a: number, b: number, c: number) => void;
|
|
174
|
+
export const __wasm_bindgen_func_elem_6432: (a: number, b: number, c: number) => void;
|
|
175
|
+
export const __wasm_bindgen_func_elem_6428: (a: number, b: number, c: number) => void;
|
|
176
|
+
export const __wasm_bindgen_func_elem_19529: (a: number, b: number, c: number) => void;
|
|
177
|
+
export const __wasm_bindgen_func_elem_20072: (a: number, b: number, c: number) => void;
|
|
178
|
+
export const __wasm_bindgen_func_elem_20113: (a: number, b: number, c: number) => void;
|
|
179
|
+
export const __wasm_bindgen_func_elem_17084: (a: number, b: number) => number;
|
|
180
|
+
export const __wasm_bindgen_func_elem_20071: (a: number, b: number) => void;
|
|
173
181
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
174
182
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
175
183
|
export const __wbindgen_export3: (a: number) => void;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
export function bootstrap(psp, name, clsname, statics) {
|
|
3
|
+
if (customElements.get(name)) {
|
|
4
|
+
console.warn(`Custom element "${name}" is already registered; skipping duplicate registration (Perspective was loaded more than once on this page).`);
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
|
|
3
8
|
const cls = psp[clsname];
|
|
4
9
|
const proto = cls.prototype;
|
|
5
10
|
class x extends HTMLElement {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@perspective-dev/viewer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "The `<perspective-viewer>` Custom Element, frontend for Perspective",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"perspective",
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@perspective-dev/client": "",
|
|
58
|
-
"pro_self_extracting_wasm": "0.0.9"
|
|
58
|
+
"pro_self_extracting_wasm": "0.0.9",
|
|
59
|
+
"regular-layout": "=0.6.1"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
62
|
"@perspective-dev/esbuild-plugin": "",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
2
|
+
* ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
|
3
|
+
* ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
|
4
|
+
* ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
|
5
|
+
* ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
|
6
|
+
* ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
|
7
|
+
* ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
|
8
|
+
* ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
|
9
|
+
* ┃ This file is part of the Perspective library, distributed under the terms ┃
|
|
10
|
+
* ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
|
11
|
+
* ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
@import "containers/context-menu.css";
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
#column_settings_sidebar {
|
|
16
16
|
overflow: hidden;
|
|
17
17
|
text-overflow: ellipsis;
|
|
18
|
-
z-index:
|
|
18
|
+
z-index: 7;
|
|
19
19
|
|
|
20
20
|
#attributes-button-panel {
|
|
21
21
|
flex: 0 0 auto;
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
.item_title {
|
|
42
42
|
flex: 0 0 auto;
|
|
43
43
|
font-size: var(--label--font-size, 0.75em);
|
|
44
|
+
margin-top: 9px;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
input {
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
|
|
71
72
|
.sidebar_header_contents {
|
|
72
73
|
display: flex;
|
|
73
|
-
margin: 8px;
|
|
74
|
+
margin: 7px 8px;
|
|
74
75
|
align-items: center;
|
|
75
76
|
border-radius: 3px;
|
|
76
77
|
outline-width: 1px;
|
|
@@ -117,6 +118,18 @@
|
|
|
117
118
|
content: var(--psp-label--color--content, "Color");
|
|
118
119
|
}
|
|
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
|
+
|
|
120
133
|
label#format-label:before {
|
|
121
134
|
content: var(--psp-label--format--content, "Format");
|
|
122
135
|
}
|
|
@@ -296,6 +309,58 @@
|
|
|
296
309
|
}
|
|
297
310
|
|
|
298
311
|
div.tab-title#Attributes:before {
|
|
299
|
-
content: var(--psp-label--attributes-tab--content, "
|
|
312
|
+
content: var(--psp-label--attributes-tab--content, "Expression");
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
div.tab-title#Window:before {
|
|
316
|
+
content: var(--psp-label--window-tab--content, "Window");
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
#window-tab {
|
|
321
|
+
display: flex;
|
|
322
|
+
flex-direction: column;
|
|
323
|
+
flex: 1;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
#window-editor-container .window-editor-error {
|
|
327
|
+
color: var(--error--color, #ff5942);
|
|
328
|
+
font-size: 11px;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
:host {
|
|
332
|
+
#column_settings_sidebar {
|
|
333
|
+
.sidebar_header {
|
|
334
|
+
padding-right: 24px;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
#window-order-by .column-selector-column-border {
|
|
339
|
+
padding-right: 8px;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.sidebar_pin_button {
|
|
343
|
+
position: absolute;
|
|
344
|
+
right: 6px;
|
|
345
|
+
width: 14px;
|
|
346
|
+
height: 14px;
|
|
347
|
+
z-index: 8;
|
|
348
|
+
cursor: pointer;
|
|
349
|
+
background-color: var(--psp--color);
|
|
350
|
+
opacity: 0.5;
|
|
351
|
+
background-repeat: no-repeat;
|
|
352
|
+
-webkit-mask-size: cover;
|
|
353
|
+
mask-size: cover;
|
|
354
|
+
-webkit-mask-image: var(--psp-icon--pin--mask-image);
|
|
355
|
+
mask-image: var(--psp-icon--pin--mask-image);
|
|
356
|
+
transform: rotate(45deg);
|
|
357
|
+
&:hover {
|
|
358
|
+
opacity: 1;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
&.is-pinned {
|
|
362
|
+
transform: none;
|
|
363
|
+
opacity: 1;
|
|
364
|
+
}
|
|
300
365
|
}
|
|
301
366
|
}
|
package/src/css/column-style.css
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
:host {
|
|
15
15
|
#column-style-container,
|
|
16
|
-
#plugin-config-container
|
|
16
|
+
#plugin-config-container,
|
|
17
|
+
#window-editor-container {
|
|
17
18
|
outline: none;
|
|
18
19
|
user-select: none;
|
|
19
20
|
|
|
@@ -81,8 +82,8 @@
|
|
|
81
82
|
label {
|
|
82
83
|
display: block;
|
|
83
84
|
font-size: var(--label--font-size, 0.75em);
|
|
84
|
-
margin: 4px 0 2px 0;
|
|
85
85
|
width: 100%;
|
|
86
|
+
margin: 4px 0 2px 0;
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
span.reset-default-style-disabled {
|
|
@@ -160,7 +161,7 @@
|
|
|
160
161
|
|
|
161
162
|
.column-style-label {
|
|
162
163
|
display: flex;
|
|
163
|
-
padding:
|
|
164
|
+
padding: 0px;
|
|
164
165
|
}
|
|
165
166
|
|
|
166
167
|
.indent {
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
#top_panel
|
|
63
|
+
#top_panel,
|
|
64
|
+
#window-editor-slots {
|
|
64
65
|
display: flex;
|
|
65
66
|
flex-direction: column;
|
|
66
67
|
justify-content: stretch;
|
|
@@ -176,6 +177,7 @@
|
|
|
176
177
|
flex: 1 1 auto;
|
|
177
178
|
align-self: stretch;
|
|
178
179
|
position: relative;
|
|
180
|
+
min-height: 24px;
|
|
179
181
|
&:before {
|
|
180
182
|
content: " ";
|
|
181
183
|
position: absolute;
|
|
@@ -215,6 +217,21 @@
|
|
|
215
217
|
content: var(--psp-label--filter--content, "Where");
|
|
216
218
|
}
|
|
217
219
|
|
|
220
|
+
#window-source label.pivot-selector-label:before {
|
|
221
|
+
content: var(--psp-label--window-source--content, "Column");
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
#window-order-by label.pivot-selector-label:before {
|
|
225
|
+
content: var(--psp-label--window-order-by--content, "Order By");
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
#window-partition-by label.pivot-selector-label:before {
|
|
229
|
+
content: var(
|
|
230
|
+
--psp-label--window-partition-by--content,
|
|
231
|
+
"Partition By"
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
|
|
218
235
|
.rrow {
|
|
219
236
|
display: flex;
|
|
220
237
|
min-height: 24px;
|
|
@@ -341,6 +358,10 @@
|
|
|
341
358
|
}
|
|
342
359
|
}
|
|
343
360
|
|
|
361
|
+
#window-editor-slots .pivot-column {
|
|
362
|
+
min-height: 24px;
|
|
363
|
+
}
|
|
364
|
+
|
|
344
365
|
.sort-icon {
|
|
345
366
|
display: inline-flex;
|
|
346
367
|
margin-left: auto;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
2
|
+
* ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
|
3
|
+
* ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
|
4
|
+
* ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
|
5
|
+
* ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
|
6
|
+
* ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
|
7
|
+
* ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
|
8
|
+
* ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
|
9
|
+
* ┃ This file is part of the Perspective library, distributed under the terms ┃
|
|
10
|
+
* ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
|
11
|
+
* ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* Panel context menu (right-click a panel). The `<perspective-context-menu>`
|
|
15
|
+
* host is body-mounted by `PortalModal` (which owns position/z-index inline)
|
|
16
|
+
* and themed by the document theme rules' modal selector groups — chrome like
|
|
17
|
+
* `background-color`/`color`/`border` lands on the HOST from `defaults.css` /
|
|
18
|
+
* each theme's `perspective-context-menu[theme="X"]` group, exactly like the
|
|
19
|
+
* Copy/Export menus. Only the interior layout + item states live here. */
|
|
20
|
+
|
|
21
|
+
:host {
|
|
22
|
+
outline: none;
|
|
23
|
+
user-select: none;
|
|
24
|
+
font-size: 12px;
|
|
25
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.context-menu {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
min-width: 120px;
|
|
32
|
+
padding: 4px 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.context-menu-item {
|
|
36
|
+
position: relative;
|
|
37
|
+
padding: 4px 12px;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
|
|
41
|
+
/* The dropdown-menu surface's inverted hover, from the same theme keys
|
|
42
|
+
* (`--psp--color`/`--psp--background-color` land on the host via the
|
|
43
|
+
* modal selector groups) — the Copy/Export pickers this menu spawns use
|
|
44
|
+
* exactly this idiom. */
|
|
45
|
+
&:hover {
|
|
46
|
+
background-color: var(--psp--color);
|
|
47
|
+
color: var(--psp--background-color);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&.disabled {
|
|
51
|
+
opacity: 0.4;
|
|
52
|
+
cursor: default;
|
|
53
|
+
|
|
54
|
+
&:hover {
|
|
55
|
+
background-color: transparent;
|
|
56
|
+
color: inherit;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&.has-submenu {
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
|
|
64
|
+
&::after {
|
|
65
|
+
content: "▸";
|
|
66
|
+
margin-left: auto;
|
|
67
|
+
padding-left: 12px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:hover > .context-menu-submenu {
|
|
71
|
+
display: flex;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Hover flyout. Positioned OUTSIDE the host's box, so the host-level theme
|
|
77
|
+
* chrome (see the :host comment above) doesn't paint it — rebuild the same
|
|
78
|
+
* chrome from the modal selector groups' vars. Edge-adjacent (`left: 100%`,
|
|
79
|
+
* no gap) so the pointer never leaves the hover chain crossing into it;
|
|
80
|
+
* `top: -5px` aligns its first row with the parent row (4px menu padding +
|
|
81
|
+
* 1px border). */
|
|
82
|
+
.context-menu-submenu {
|
|
83
|
+
display: none;
|
|
84
|
+
position: absolute;
|
|
85
|
+
left: 100%;
|
|
86
|
+
top: -5px;
|
|
87
|
+
max-height: 50vh;
|
|
88
|
+
overflow-y: auto;
|
|
89
|
+
background-color: var(--psp--background-color, white);
|
|
90
|
+
|
|
91
|
+
/* The flyout is a CHILD of its (necessarily hovered, so inverted) parent
|
|
92
|
+
* item — un-hovered rows must not inherit the parent's inverted
|
|
93
|
+
* foreground. */
|
|
94
|
+
color: var(--psp--color);
|
|
95
|
+
border: 1px solid var(--psp-inactive--color);
|
|
96
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Non-interactive group label (e.g. client names in the "New" sub-menu). */
|
|
100
|
+
.context-menu-header {
|
|
101
|
+
padding: 4px 12px 2px;
|
|
102
|
+
cursor: default;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
font-size: 9px;
|
|
105
|
+
text-transform: uppercase;
|
|
106
|
+
color: var(--psp-inactive--color, #ababab);
|
|
107
|
+
}
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
display: flex;
|
|
29
29
|
flex-direction: column;
|
|
30
30
|
.tab-section:last-child {
|
|
31
|
-
padding:
|
|
31
|
+
padding: 13px 0px 12px 8px;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.tab-section {
|
|
35
|
-
padding:
|
|
35
|
+
padding: 6px 0 0 8px;
|
|
36
36
|
flex: 0 0 auto;
|
|
37
37
|
overflow: hidden;
|
|
38
38
|
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
2
|
+
* ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
|
3
|
+
* ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
|
4
|
+
* ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
|
5
|
+
* ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
|
6
|
+
* ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
|
7
|
+
* ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
|
8
|
+
* ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
|
9
|
+
* ┃ This file is part of the Perspective library, distributed under the terms ┃
|
|
10
|
+
* ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
|
11
|
+
* ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
:host([part~="tab"]) {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
height: 100%;
|
|
19
|
+
min-width: 0;
|
|
20
|
+
padding: 0 7px 0 13px;
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
font-size: 11px;
|
|
23
|
+
white-space: nowrap;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
color: var(--psp--color, inherit);
|
|
26
|
+
background: var(--psp-inactive--border-color, #ffffff) !important;
|
|
27
|
+
box-shadow:
|
|
28
|
+
2.25px -2.25px 0 2.25px var(--psp-inactive--border-color),
|
|
29
|
+
-2.25px -2.25px 0 2.25px var(--psp-inactive--border-color);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([part~="tab"].visible) {
|
|
33
|
+
z-index: 6;
|
|
34
|
+
background: var(--psp--background-color, #ffffff) !important;
|
|
35
|
+
/* box-shadow:
|
|
36
|
+
2.25px -2.25px 0 2.25px var(--psp--background-color),
|
|
37
|
+
-2.25px -2.25px 0 2.25px var(--psp--background-color),
|
|
38
|
+
2.75px -2.75px 0 2.75px var(--psp-inactive--color),
|
|
39
|
+
0 12.5px 0 -11.5px var(--psp-inactive--border-color); */
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.psp-tab-grip {
|
|
43
|
+
flex: 0 0 auto;
|
|
44
|
+
width: 5px;
|
|
45
|
+
height: 12px;
|
|
46
|
+
margin-right: 10px;
|
|
47
|
+
pointer-events: none;
|
|
48
|
+
background-color: var(--psp-inactive--color);
|
|
49
|
+
-webkit-mask-image: var(--psp-icon--column-drag-handle--mask-image);
|
|
50
|
+
mask-image: var(--psp-icon--column-drag-handle--mask-image);
|
|
51
|
+
-webkit-mask-size: contain;
|
|
52
|
+
mask-size: contain;
|
|
53
|
+
-webkit-mask-repeat: no-repeat;
|
|
54
|
+
mask-repeat: no-repeat;
|
|
55
|
+
-webkit-mask-position: center;
|
|
56
|
+
mask-position: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.psp-tab-caret {
|
|
60
|
+
flex: 0 0 auto;
|
|
61
|
+
display: none;
|
|
62
|
+
margin-right: 12px;
|
|
63
|
+
pointer-events: none;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.psp-tab-caret {
|
|
67
|
+
/* content: " "; */
|
|
68
|
+
display: block;
|
|
69
|
+
|
|
70
|
+
width: 12px;
|
|
71
|
+
height: 12px;
|
|
72
|
+
pointer-events: none;
|
|
73
|
+
background-color: var(--psp--color);
|
|
74
|
+
/* -webkit-mask-image: var(--psp-icon--active-indicator--mask-image);
|
|
75
|
+
mask-image: var(--psp-icon--active-indicator--mask-image); */
|
|
76
|
+
-webkit-mask-image: var(--psp-icon--column-drag-handle--mask-image);
|
|
77
|
+
mask-image: var(--psp-icon--column-drag-handle--mask-image);
|
|
78
|
+
|
|
79
|
+
-webkit-mask-size: contain;
|
|
80
|
+
mask-size: contain;
|
|
81
|
+
-webkit-mask-repeat: no-repeat;
|
|
82
|
+
mask-repeat: no-repeat;
|
|
83
|
+
-webkit-mask-position: center;
|
|
84
|
+
mask-position: center;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host([part~="tab"].active) .psp-tab-caret {
|
|
88
|
+
display: block;
|
|
89
|
+
-webkit-mask-image: var(--psp-icon--active-indicator--mask-image);
|
|
90
|
+
mask-image: var(--psp-icon--active-indicator--mask-image);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* A lone tab (its viewer has a single plugin child) has no stack to open —
|
|
94
|
+
* no caret. Must follow the `.active` rule (equal specificity) to win when
|
|
95
|
+
* the lone tab is also active. */
|
|
96
|
+
:host([part~="tab"].single) .psp-tab-caret {
|
|
97
|
+
display: none;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.psp-tab-title {
|
|
101
|
+
height: 11px;
|
|
102
|
+
line-height: 12px;
|
|
103
|
+
flex: 1 1 auto;
|
|
104
|
+
pointer-events: none;
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
text-overflow: ellipsis;
|
|
107
|
+
white-space: nowrap;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.psp-tab-title.placeholder {
|
|
111
|
+
color: var(--psp-inactive--color);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.psp-tab-title.input-sizer {
|
|
115
|
+
flex: 1 1 auto;
|
|
116
|
+
pointer-events: auto;
|
|
117
|
+
display: inline-block;
|
|
118
|
+
position: relative;
|
|
119
|
+
min-width: 24px;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.input-sizer::after {
|
|
123
|
+
content: attr(data-value) " ";
|
|
124
|
+
visibility: hidden;
|
|
125
|
+
white-space: nowrap;
|
|
126
|
+
padding-right: 2px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.input-sizer input {
|
|
130
|
+
position: absolute;
|
|
131
|
+
inset: 0;
|
|
132
|
+
width: 100%;
|
|
133
|
+
padding: 0;
|
|
134
|
+
border: none;
|
|
135
|
+
background: transparent;
|
|
136
|
+
color: inherit;
|
|
137
|
+
font: inherit;
|
|
138
|
+
text-overflow: ellipsis;
|
|
139
|
+
outline: none;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.psp-tab-master {
|
|
143
|
+
margin-right: 6px;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.psp-tab-master:before {
|
|
147
|
+
content: var(--psp-broadcast--content, "[BROADCAST]");
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.psp-tab-close,
|
|
151
|
+
.psp-tab-settings {
|
|
152
|
+
flex: 0 0 auto;
|
|
153
|
+
display: flex;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: center;
|
|
156
|
+
margin-left: 4px;
|
|
157
|
+
padding: 0;
|
|
158
|
+
border: none;
|
|
159
|
+
background: none;
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
color: inherit;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.psp-tab-close:hover::before,
|
|
165
|
+
.psp-tab-settings:hover::before {
|
|
166
|
+
background-color: var(--psp--color);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.psp-tab-close::before,
|
|
170
|
+
.psp-tab-settings::before {
|
|
171
|
+
content: "";
|
|
172
|
+
|
|
173
|
+
/* TODO don't hard-code dimensions */
|
|
174
|
+
width: 20px;
|
|
175
|
+
height: 20px;
|
|
176
|
+
background-color: var(--psp-inactive--color);
|
|
177
|
+
-webkit-mask-size: contain;
|
|
178
|
+
mask-size: contain;
|
|
179
|
+
-webkit-mask-repeat: no-repeat;
|
|
180
|
+
mask-repeat: no-repeat;
|
|
181
|
+
-webkit-mask-position: center;
|
|
182
|
+
mask-position: center;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.psp-tab-close::before {
|
|
186
|
+
-webkit-mask-image: var(--psp-icon--close--mask-image);
|
|
187
|
+
mask-image: var(--psp-icon--close--mask-image);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.psp-tab-settings::before {
|
|
191
|
+
-webkit-mask-image: var(--psp-icon--drawer-tab-inverted--mask-image);
|
|
192
|
+
mask-image: var(--psp-icon--drawer-tab-inverted--mask-image);
|
|
193
|
+
}
|