table fixes
This commit is contained in:
@@ -147,6 +147,10 @@
|
|||||||
--wiki-fab-btn-border: rgba(216, 194, 138, 0.24);
|
--wiki-fab-btn-border: rgba(216, 194, 138, 0.24);
|
||||||
--wiki-fab-danger-bg: rgba(142, 52, 56, 0.16);
|
--wiki-fab-danger-bg: rgba(142, 52, 56, 0.16);
|
||||||
|
|
||||||
|
--wiki-editor-table-handle-layer: 4;
|
||||||
|
--wiki-editor-floating-toolbar-layer: 20;
|
||||||
|
--wiki-editor-toolbar-layer: 30;
|
||||||
|
|
||||||
--wiki-article-drawer-layer: 1010;
|
--wiki-article-drawer-layer: 1010;
|
||||||
--wiki-article-drawer-backdrop-layer: 1005;
|
--wiki-article-drawer-backdrop-layer: 1005;
|
||||||
}
|
}
|
||||||
@@ -928,6 +932,22 @@
|
|||||||
padding: 1rem !important;
|
padding: 1rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.westgate-wiki-compose .wiki-editor__content .column-resize-handle,
|
||||||
|
.westgate-wiki-compose .wiki-editor-table-resize-handle {
|
||||||
|
z-index: var(--wiki-editor-table-handle-layer, 4) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.westgate-wiki-compose .wiki-editor__toolbar-mount,
|
||||||
|
.westgate-wiki-compose .wiki-editor-table-sticky-row {
|
||||||
|
z-index: var(--wiki-editor-toolbar-layer, 30) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.westgate-wiki-compose .wiki-editor-context-tools,
|
||||||
|
.westgate-wiki-compose .wiki-editor-image-tools,
|
||||||
|
.westgate-wiki-compose .wiki-editor-table-cell-popover {
|
||||||
|
z-index: var(--wiki-editor-floating-toolbar-layer, 20) !important;
|
||||||
|
}
|
||||||
|
|
||||||
.westgate-wiki-compose .form-label {
|
.westgate-wiki-compose .form-label {
|
||||||
color: var(--wg-text-soft);
|
color: var(--wg-text-soft);
|
||||||
font-family: var(--wg-font-ui);
|
font-family: var(--wg-font-ui);
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
const assert = require("assert");
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const stylesheet = fs.readFileSync(
|
||||||
|
path.join(__dirname, "..", "scss", "westgate", "_wiki-prose.scss"),
|
||||||
|
"utf8"
|
||||||
|
);
|
||||||
|
|
||||||
|
function readNumericCustomProperty(name) {
|
||||||
|
const pattern = new RegExp(`${name}:\\s*(\\d+)\\s*;`);
|
||||||
|
const match = stylesheet.match(pattern);
|
||||||
|
assert(match, `Expected ${name} to be defined as a numeric custom property`);
|
||||||
|
return Number(match[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ruleHasDeclaration(selector, declaration) {
|
||||||
|
const rulePattern = /([^{}]+)\{([^{}]*)\}/g;
|
||||||
|
let match;
|
||||||
|
while ((match = rulePattern.exec(stylesheet)) !== null) {
|
||||||
|
const selectors = match[1].split(",").map(value => value.trim());
|
||||||
|
const body = match[2];
|
||||||
|
if (selectors.includes(selector) && body.includes(declaration)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const tableHandleLayer = readNumericCustomProperty("--wiki-editor-table-handle-layer");
|
||||||
|
const toolbarLayer = readNumericCustomProperty("--wiki-editor-toolbar-layer");
|
||||||
|
const floatingToolbarLayer = readNumericCustomProperty("--wiki-editor-floating-toolbar-layer");
|
||||||
|
|
||||||
|
assert(
|
||||||
|
tableHandleLayer < floatingToolbarLayer,
|
||||||
|
"TipTap table resize handles must stack below content pop-out toolbars"
|
||||||
|
);
|
||||||
|
assert(
|
||||||
|
floatingToolbarLayer < toolbarLayer,
|
||||||
|
"Content pop-out toolbars must stack below the persistent main/table toolbar layer"
|
||||||
|
);
|
||||||
|
|
||||||
|
[
|
||||||
|
".westgate-wiki-compose .wiki-editor__content .column-resize-handle",
|
||||||
|
".westgate-wiki-compose .wiki-editor-table-resize-handle",
|
||||||
|
].forEach(selector => {
|
||||||
|
assert(
|
||||||
|
ruleHasDeclaration(selector, "z-index: var(--wiki-editor-table-handle-layer, 4)"),
|
||||||
|
`${selector} should use the table handle stack layer`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
[
|
||||||
|
".westgate-wiki-compose .wiki-editor__toolbar-mount",
|
||||||
|
".westgate-wiki-compose .wiki-editor-table-sticky-row",
|
||||||
|
].forEach(selector => {
|
||||||
|
assert(
|
||||||
|
ruleHasDeclaration(selector, "z-index: var(--wiki-editor-toolbar-layer, 30)"),
|
||||||
|
`${selector} should use the toolbar stack layer`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
[
|
||||||
|
".westgate-wiki-compose .wiki-editor-context-tools",
|
||||||
|
".westgate-wiki-compose .wiki-editor-image-tools",
|
||||||
|
".westgate-wiki-compose .wiki-editor-table-cell-popover",
|
||||||
|
].forEach(selector => {
|
||||||
|
assert(
|
||||||
|
ruleHasDeclaration(selector, "z-index: var(--wiki-editor-floating-toolbar-layer, 20)"),
|
||||||
|
`${selector} should use the floating toolbar stack layer`
|
||||||
|
);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user