fix: Math/Mermaid slash menu labels and overflow issues

This commit is contained in:
Your Name committed 2026-10-09 23:25:00 +02:00
1 parent b94693ddce
commit 3143fcce62
2 files changed
+33 -1

No files matched your search

+28
View File
@@ -340,6 +340,23 @@ pre.c{margin:0;padding:6px 18px 16px;font:calc(var(--fs) * .84)/1.7 var(--f-mono
.kghost .kmore,.kghost .kh-btn{display:none} .kghost .kmore,.kghost .kh-btn{display:none}
body.board-dragging,body.board-dragging *{cursor:grabbing!important;user-select:none!important} body.board-dragging,body.board-dragging *{cursor:grabbing!important;user-select:none!important}
.pop.kmenu{width:220px;transform-origin:top left;z-index:75} .pop.kmenu{width:220px;transform-origin:top left;z-index:75}
/* new page / templates */
.panel.tpl-panel{width:min(700px,100%);max-height:calc(100vh - 12vh - 32px);display:flex;flex-direction:column}
.tpl-lead{margin:0;padding:12px 18px 0;color:var(--ink-3);font-size:13px}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:10px;padding:12px 18px 18px;overflow:auto}
.tpl-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:132px;padding:14px;border-radius:10px;text-align:left;background:var(--island-2);box-shadow:0 0 0 1px var(--line);transition:box-shadow .15s,background .15s,transform .2s var(--spring)}
.tpl-card:hover{background:var(--hover);box-shadow:0 0 0 1px var(--line-2)}
.tpl-card:focus-visible{outline:none;background:var(--blush-soft);box-shadow:0 0 0 1.5px var(--blush-line);transform:translateY(-1px)}
.tpl-card:active{transform:scale(.98)}
.tpl-ico{width:32px;height:32px;margin-bottom:2px;display:grid;place-items:center;border-radius:8px;background:var(--hover);color:var(--blush)}
.tpl-ico .i{width:17px;height:17px}
.tpl-ico .i.emo{font-size:18px}
.tpl-card.blank .tpl-ico{background:var(--blush-soft)}
.tpl-name{font-weight:600;font-size:14px;color:var(--ink)}
.tpl-prev{color:var(--ink-3);font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.tpl-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px 10px 18px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12px;line-height:1.5}
.tpl-foot code{font:11.5px var(--f-mono);color:var(--ink-2)}
.tpl-foot .btn{height:30px;padding:0 12px;flex:none}
/* right-click menu for text */ /* right-click menu for text */
.pop.tmenu{width:248px;transform-origin:top left;z-index:78;-webkit-app-region:no-drag} .pop.tmenu{width:248px;transform-origin:top left;z-index:78;-webkit-app-region:no-drag}
.tmenu .mi{height:32px} .tmenu .mi{height:32px}
@@ -758,3 +775,14 @@ body.page-dragging,body.page-dragging *{cursor:grabbing!important;user-select:no
.prop .chip-x { opacity: 0; pointer-events: none; } .prop .chip-x { opacity: 0; pointer-events: none; }
.prop:hover .chip-x { opacity: 0.6; pointer-events: auto; } .prop:hover .chip-x { opacity: 0.6; pointer-events: auto; }
.prop:hover .chip-x:hover { opacity: 1; } .prop:hover .chip-x:hover { opacity: 1; }
.si b {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.si small {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
+5 -1
View File
@@ -401,7 +401,11 @@ export function createEditor(host, { blocks: initial, animate = true, onChange =
const label = k.label.toLowerCase(); const label = k.label.toLowerCase();
if (!ql || label.startsWith(ql)) return 0; if (!ql || label.startsWith(ql)) return 0;
if (label.split(/\s+/).some((w) => w.startsWith(ql))) return 1; if (label.split(/\s+/).some((w) => w.startsWith(ql))) return 1;
return (label + ' ' + k.k).toLowerCase().includes(ql) ? 2 : -1;
const keywords = (label + ' ' + k.k).toLowerCase().split(/\s+/);
if (keywords.some((w) => w.includes(ql))) return 2;
return -1;
}; };
const items = KINDS.map((k, i) => ({ k, i, s: score(k) })).filter((x) => x.s >= 0).sort((a, z) => a.s - z.s || a.i - z.i).map((x) => x.k); const items = KINDS.map((k, i) => ({ k, i, s: score(k) })).filter((x) => x.s >= 0).sort((a, z) => a.s - z.s || a.i - z.i).map((x) => x.k);
if (!items.length) return closeSlash(); if (!items.length) return closeSlash();