diff --git a/examples/blocks/src/superstore/index.html b/examples/blocks/src/superstore/index.html
index 32b1127c8b..28c0bcbe37 100644
--- a/examples/blocks/src/superstore/index.html
+++ b/examples/blocks/src/superstore/index.html
@@ -6,17 +6,12 @@
diff --git a/packages/perspective-viewer-datagrid/src/less/row-hover.less b/packages/perspective-viewer-datagrid/src/less/row-hover.less
index 616130f6a3..8d60e95475 100644
--- a/packages/perspective-viewer-datagrid/src/less/row-hover.less
+++ b/packages/perspective-viewer-datagrid/src/less/row-hover.less
@@ -20,15 +20,12 @@ regular-table {
tr:hover:after {
border-color: var(--rt-hover--border-color, #c5c9d080) !important;
background-color: transparent;
- box-shadow: 0px 1px 0px var(--rt-hover--border-color, #c5c9d080),
- 0px 3px 0px rgba(0, 0, 0, 0.05), 0px 5px 0px rgba(0, 0, 0, 0.01);
+ box-shadow: 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
&.psp-menu-open {
box-shadow: inset -2px 0px 0px var(--icon--color),
inset 2px 0px 0px var(--icon--color),
- 0px 1px 0px var(--rt-hover--border-color, #c5c9d080),
- 0px 3px 0px rgba(0, 0, 0, 0.05),
- 0px 5px 0px rgba(0, 0, 0, 0.01);
+ 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
}
}
@@ -37,8 +34,7 @@ regular-table {
box-shadow: inset -2px 0px 0px var(--icon--color),
inset 2px 0px 0px var(--icon--color),
inset 0px -2px 0px var(--icon--color),
- 0px 1px 0px var(--rt-hover--border-color, #c5c9d080),
- 0px 3px 0px rgba(0, 0, 0, 0.05), 0px 5px 0px rgba(0, 0, 0, 0.01);
+ 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
}
tr:hover
diff --git a/packages/perspective-workspace/build.js b/packages/perspective-workspace/build.js
index ad7d4375a5..f39bce6223 100644
--- a/packages/perspective-workspace/build.js
+++ b/packages/perspective-workspace/build.js
@@ -143,6 +143,8 @@ async function build_all() {
pro_dark.compile().get("output.css")
);
+ await Promise.all(BUILD.map(build)).catch(() => process.exit(1));
+
try {
await $`npx tsc --project ./tsconfig.json`.stdio(
"inherit",
@@ -152,8 +154,6 @@ async function build_all() {
} catch (e) {
process.exit(1);
}
-
- await Promise.all(BUILD.map(build)).catch(() => process.exit(1));
}
build_all();
diff --git a/packages/perspective-workspace/src/less/menu.less b/packages/perspective-workspace/src/less/menu.less
index f184081323..7c5660e298 100644
--- a/packages/perspective-workspace/src/less/menu.less
+++ b/packages/perspective-workspace/src/less/menu.less
@@ -12,6 +12,10 @@
@import "@lumino/widgets/style/menu.css";
+:host {
+ position: absolute;
+}
+
.lm-Menu {
font-size: 12px;
padding: 8px;
diff --git a/packages/perspective-workspace/src/less/viewer.less b/packages/perspective-workspace/src/less/viewer.less
index 7aa9897dac..ae4fdf8113 100644
--- a/packages/perspective-workspace/src/less/viewer.less
+++ b/packages/perspective-workspace/src/less/viewer.less
@@ -64,7 +64,7 @@
}
}
-perspective-viewer {
+::slotted(perspective-viewer) {
flex: 1;
position: relative;
display: block;
@@ -76,10 +76,11 @@ perspective-viewer {
overflow: visible !important;
}
-.lm-mod-override-cursor {
+:host-context(.lm-mod-override-cursor) {
cursor: grabbing !important;
}
-.lm-mod-override-cursor perspective-viewer > * {
- pointer-events: none;
+:host-context(.lm-mod-override-cursor) ::slotted(perspective-viewer),
+.context-menu ::slotted(perspective-viewer) {
+ --override-content-pointer-events: none;
}
diff --git a/packages/perspective-workspace/src/less/workspace.less b/packages/perspective-workspace/src/less/workspace.less
index 6cf4f4d217..7b8c283ce9 100644
--- a/packages/perspective-workspace/src/less/workspace.less
+++ b/packages/perspective-workspace/src/less/workspace.less
@@ -21,6 +21,8 @@
@import "@lumino/widgets/style/tabbar.css";
@import "@lumino/widgets/style/tabpanel.css";
+@import "./injected.less";
+
:host {
@import "./tabbar.less";
@import "./dockpanel.less";
@@ -28,8 +30,8 @@
background-color: hsl(210deg 18% 90%);
- width: 100%;
- height: 100%;
+ // width: 100%;
+ // height: 100%;
.workspace {
width: 100%;
diff --git a/packages/perspective-workspace/src/themes/pro-dark.less b/packages/perspective-workspace/src/themes/pro-dark.less
index ce2b459b64..bf03489331 100644
--- a/packages/perspective-workspace/src/themes/pro-dark.less
+++ b/packages/perspective-workspace/src/themes/pro-dark.less
@@ -22,7 +22,7 @@ perspective-indicator[theme="Pro Dark"] {
--theme-name: "Pro Dark";
}
-.lm-Menu {
+perspective-workspace-menu {
@include perspective-viewer-pro-dark--colors;
}
@@ -62,7 +62,7 @@ perspective-viewer[theme="Pro Dark"].workspace-master-widget {
--plugin--background: @grey800;
}
-.lm-Menu {
+perspective-workspace-menu {
font-family: "ui-monospace", "SFMono-Regular", "SF Mono", "Menlo",
"Consolas", "Liberation Mono", monospace;
font-weight: 300;
diff --git a/packages/perspective-workspace/src/themes/pro.less b/packages/perspective-workspace/src/themes/pro.less
index 6c8296ac47..cf8d3b0882 100644
--- a/packages/perspective-workspace/src/themes/pro.less
+++ b/packages/perspective-workspace/src/themes/pro.less
@@ -24,7 +24,7 @@ perspective-workspace {
background-color: #dadada;
}
-.lm-Menu {
+perspective-workspace-menu {
@include perspective-viewer-pro--colors;
background-color: #ffffff;
}
@@ -84,7 +84,7 @@ perspective-viewer[theme="Pro Light"].workspace-master-widget {
--workspace-tabbar-tab--border-width: 1px 1px 0px 1px;
}
-.lm-Menu {
+perspective-workspace-menu {
font-family: "ui-monospace", "SFMono-Regular", "SF Mono", "Menlo",
"Consolas", "Liberation Mono", monospace;
font-weight: 300;
diff --git a/packages/perspective-workspace/src/ts/perspective-workspace.ts b/packages/perspective-workspace/src/ts/perspective-workspace.ts
index 6753e69407..0254226b4b 100644
--- a/packages/perspective-workspace/src/ts/perspective-workspace.ts
+++ b/packages/perspective-workspace/src/ts/perspective-workspace.ts
@@ -27,7 +27,6 @@ import {
import { bindTemplate, CustomElementProto } from "./utils/custom_elements";
import style from "../../build/css/workspace.css";
import template from "../html/workspace.html";
-import injectedStyles from "../../build/css/injected.css";
/**
* A Custom Element for coordinating a set of `` light DOM
@@ -52,13 +51,10 @@ import injectedStyles from "../../build/css/injected.css";
* name="View One"
* table="superstore">
*
- *
*
*
- *
*
* ```
*
@@ -295,11 +291,6 @@ export class HTMLPerspectiveWorkspaceElement extends HTMLElement {
}
}
-const _injectStyle = document.createElement("style");
-_injectStyle.toggleAttribute("injected", true);
-_injectStyle.innerHTML = injectedStyles;
-document.head.appendChild(_injectStyle);
-
bindTemplate(
template,
style
diff --git a/packages/perspective-workspace/src/ts/utils/custom_elements.ts b/packages/perspective-workspace/src/ts/utils/custom_elements.ts
index 13b631daa3..a3264fb0c7 100644
--- a/packages/perspective-workspace/src/ts/utils/custom_elements.ts
+++ b/packages/perspective-workspace/src/ts/utils/custom_elements.ts
@@ -51,14 +51,9 @@ export function registerElement(
`` + template.innerHTML;
}
- template.innerHTML =
- `` + template.innerHTML;
-
const _perspective_element = class extends proto {
- _initialized: boolean;
- _initializing: boolean;
+ private _initialized: boolean;
+ private _initializing: boolean;
constructor() {
super();
diff --git a/packages/perspective-workspace/src/ts/workspace/commands.ts b/packages/perspective-workspace/src/ts/workspace/commands.ts
index 09cc6ea761..afef923352 100644
--- a/packages/perspective-workspace/src/ts/workspace/commands.ts
+++ b/packages/perspective-workspace/src/ts/workspace/commands.ts
@@ -20,6 +20,7 @@ import type {
} from "@finos/perspective-viewer";
import type { PerspectiveWorkspace } from "./workspace";
+import { WorkspaceMenu } from "./menu";
export const createCommands = (
workspace: PerspectiveWorkspace,
@@ -43,7 +44,10 @@ export const createCommands = (
workspace.get_context_menu()?.init_overlay?.();
menu.addEventListener("blur", () => {
const context_menu = workspace.get_context_menu()!;
- const signal = context_menu.aboutToClose as Signal