vue3-math-editor 0.2.0 → 0.2.1

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/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .math-field[data-v-12da93b7]{font-size:var(--me-line-font-size,1.05rem);cursor:text;border-radius:6px;outline:none;align-items:center;min-height:2.6rem;padding:.45rem .7rem;display:flex;position:relative;overflow-x:auto}.math-field.focused[data-v-12da93b7]{box-shadow:0 0 0 2px #2563eb59}.math-content[data-v-12da93b7]{z-index:1;min-width:0;position:relative}.selection[data-v-12da93b7]{z-index:0;pointer-events:none;background:#94a3b84d;border-radius:3px;position:absolute}.row-tint[data-v-12da93b7]{z-index:0;pointer-events:none;background:#2563eb12;border-radius:3px;position:absolute;box-shadow:inset 0 0 0 1px #2563eb2e}.math-field.focused .selection[data-v-12da93b7]{background:#2563eb33}.mark[data-v-12da93b7]{z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 L1.5 0.5 L3 2.5 L4.5 0.5 L6 2.5' fill='none' stroke='%23dc2626' stroke-width='1'/%3E%3C/svg%3E") 0 100%/6px 3px repeat-x,#dc262614;border-radius:2px;position:absolute}.mark-units[data-v-12da93b7]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 L1.5 0.5 L3 2.5 L4.5 0.5 L6 2.5' fill='none' stroke='%23d97706' stroke-width='1'/%3E%3C/svg%3E") 0 100%/6px 3px repeat-x,#d977061a}.math-field[data-v-12da93b7] .me-units{color:#60a5fa}.math-field[data-v-12da93b7] .me-ph.me-units-ph{color:#60a5fa;border:1px dashed #60a5fa;border-radius:3px;padding:0 .15em}.math-field.focused[data-v-12da93b7] .me-units-ph.me-ph-active{color:#3b82f6;background:#60a5fa1f}.math-field[data-v-12da93b7] .me-units-flag{width:0;height:0;display:inline-block;position:relative}.math-field[data-v-12da93b7] .me-units-flag:after{content:"";border-top:.22em solid #60a5fa;border-left:.22em solid #0000;position:absolute;bottom:.52em;right:-.05em}.mark-tip[data-v-12da93b7]{z-index:10;color:#f8fafc;white-space:normal;pointer-events:none;background:#1e293b;border-radius:.35rem;width:max-content;max-width:24rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.3;position:fixed}.caret[data-v-12da93b7]{z-index:2;pointer-events:none;background:#2563eb;width:2px;margin-left:-1px;animation:1.1s step-end infinite math-field-blink-12da93b7;position:absolute}.math-field[data-v-12da93b7] .katex-display{text-align:left;margin:0}.math-field[data-v-12da93b7] .katex-display>.katex{text-align:left}.math-field[data-v-12da93b7] .me-ph{color:#94a3b8}.math-field.focused[data-v-12da93b7] .me-ph-active{color:#2563eb;background:#2563eb1f;border-radius:2px}@keyframes math-field-blink-12da93b7{50%{opacity:0}}.editor-grid[data-v-5c897b39],.gallery[data-v-5c897b39]{--me-accent:var(--math-editor-accent,#2563eb);--me-surface:var(--p-content-background,#fff);--me-subtle:var(--p-content-hover-background,#f1f5f9);--me-border:var(--p-content-border-color,#e2e8f0);--me-border-strong:var(--p-form-field-border-color,#cbd5e1);--me-text:var(--p-text-color,#0f172a);--me-muted:var(--p-text-muted-color,#64748b);--me-warn:#d97706;--me-caution:#ea580c;--me-danger:#dc2626;outline:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"editor outputs";align-items:start;gap:1rem;max-width:1240px;margin:0 auto;display:grid}.editor-grid.has-side[data-v-5c897b39]{grid-template-rows:auto 1fr;grid-template-areas:"editor side""outputs side"}.editor-grid.no-outputs[data-v-5c897b39]{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor"}.editor-grid.no-outputs.has-side[data-v-5c897b39]{grid-template:"editor side"/minmax(0,1.35fr) minmax(0,1fr)}.editor-panel[data-v-5c897b39]{border:1px solid var(--me-border);background:var(--me-surface);min-width:0;color:var(--me-text);border-radius:.75rem;grid-area:editor;padding:0 1rem .85rem}.output-card[data-v-5c897b39]{grid-area:outputs;min-width:0}.side-column[data-v-5c897b39]{grid-area:side;align-self:start;min-width:0;position:sticky;top:1rem}.toolbar[data-v-5c897b39]{top:var(--me-toolbar-top,0);z-index:2;border-bottom:1px solid var(--me-border);background:var(--me-surface);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0 0 .6rem;padding:.5rem 0;display:flex;position:sticky}.toolbar-group[data-v-5c897b39]{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.toolbar-lines[data-v-5c897b39] .p-button{width:2rem;height:2rem;padding:0}.tool-button[data-v-5c897b39]{border:1px solid var(--me-border-strong);background:var(--me-surface);min-width:2rem;height:2rem;color:var(--me-text);cursor:pointer;border-radius:.45rem;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;transition:border-color .12s,background .12s,box-shadow .12s;display:inline-flex}.tool-button[data-v-5c897b39]:disabled{opacity:.45;cursor:default}.tool-chevron[data-v-5c897b39]{color:var(--me-muted);margin-left:.2rem;font-size:.55rem}.tool-button[data-v-5c897b39]:hover:not(:disabled){border-color:var(--me-accent);background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface))}.tool-button[data-v-5c897b39]:active{box-shadow:inset 0 1px 3px #0f172a26}.gallery[data-v-5c897b39]{flex-direction:column;gap:.5rem;max-width:22rem;display:flex}.gallery-label[data-v-5c897b39]{color:var(--me-muted);margin-bottom:.25rem;font-size:.72rem}.gallery-items[data-v-5c897b39]{flex-wrap:wrap;gap:.25rem;display:flex}.gallery .tool-button[data-v-5c897b39]{min-width:2.4rem;font-size:.8rem}.equations-stack[data-v-5c897b39]{flex-direction:column;gap:.6rem;display:flex}.equation-row[data-v-5c897b39]{border:1px solid var(--me-border);background:var(--me-surface);color:var(--me-text);border-radius:.65rem;align-items:stretch;gap:.5rem;transition:border-color .12s,box-shadow .12s;display:flex}.equation-row.active[data-v-5c897b39]{border-color:var(--me-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--me-accent) 12%, transparent)}.equation-row.has-error[data-v-5c897b39]{border-color:var(--me-danger)}.equation-row.has-units-issue[data-v-5c897b39]{border-color:var(--me-warn)}.equation-row.active.has-error[data-v-5c897b39]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-danger) 14%, transparent)}.equation-row.active.has-units-issue[data-v-5c897b39]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-warn) 16%, transparent)}.equation-label[data-v-5c897b39]{color:var(--me-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--me-border);align-items:center;padding:0 .4rem 0 .65rem;font-size:.75rem;display:flex}.equation-field[data-v-5c897b39]{flex:1;min-width:0}.equation-field.focused[data-v-5c897b39]{box-shadow:none}.status-bar[data-v-5c897b39]{white-space:nowrap;border-radius:.45rem;align-items:center;gap:.5rem;height:1.75rem;margin-top:.5rem;padding:0 .6rem;font-size:.8rem;display:flex;overflow:hidden}.status-text[data-v-5c897b39]{text-overflow:ellipsis;min-width:0;overflow:hidden}.status-more[data-v-5c897b39]{opacity:.75;flex:none}.status-error[data-v-5c897b39],.status-units[data-v-5c897b39]{cursor:pointer}.status-error[data-v-5c897b39]{background:color-mix(in srgb, var(--me-danger) 12%, var(--me-surface));color:color-mix(in srgb, var(--me-danger) 55%, var(--me-text))}.status-units[data-v-5c897b39]{background:color-mix(in srgb, var(--me-caution) 14%, var(--me-surface));color:color-mix(in srgb, var(--me-caution) 55%, var(--me-text))}.status-info[data-v-5c897b39]{background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface));color:color-mix(in srgb, var(--me-accent) 45%, var(--me-text))}.status-command[data-v-5c897b39]{padding:0}.command-chip[data-v-5c897b39]{color:#e2e8f0;background:#0f172a;border-radius:.45rem;align-items:center;height:100%;padding:0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9rem;display:inline-flex}.command-slash[data-v-5c897b39]{color:#7dd3fc}.command-caret[data-v-5c897b39]{background:#e2e8f0;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite chip-blink-5c897b39}@keyframes chip-blink-5c897b39{50%{opacity:0}}.focus-meta[data-v-5c897b39]{color:var(--me-muted);margin:.75rem 0 0;font-size:.8rem}.output-actions[data-v-5c897b39]{justify-content:flex-end;margin-bottom:.25rem;display:flex}.tab-tag[data-v-5c897b39]{margin-left:.4rem;padding:.05rem .35rem;font-size:.7rem}.key-help[data-v-5c897b39]{margin-top:.75rem}.key-help summary[data-v-5c897b39]{cursor:pointer;width:fit-content;color:var(--me-muted);font-size:.85rem}.key-hint[data-v-5c897b39]{color:var(--me-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.key-hint kbd[data-v-5c897b39]{border:1px solid var(--me-border-strong);background:var(--me-subtle);border-bottom-width:2px;border-radius:.3rem;margin:0 .08rem;padding:0 .3rem;font-family:inherit;font-size:.72rem;display:inline-block}.key-hint code[data-v-5c897b39]{background:var(--me-subtle);border-radius:.25rem;padding:.05rem .3rem}.output-card pre[data-v-5c897b39]{color:#e2e8f0;background:#0f172a;border-radius:.55rem;max-height:28rem;margin:0;padding:.85rem;font-size:.83rem;line-height:1.35;overflow:auto}@media (width<=900px){.editor-grid[data-v-5c897b39],.editor-grid.has-side[data-v-5c897b39],.editor-grid.no-outputs.has-side[data-v-5c897b39]{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""side""outputs"}.side-column[data-v-5c897b39]{position:static}}.units-form[data-v-effe158e]{background:#f8fbff;border:1px solid #bfdbfe;border-radius:.5rem;margin-top:.5rem;padding:.6rem}.form-name[data-v-effe158e]{color:#334155;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.form-name input[data-v-effe158e]{flex:1}input[data-v-effe158e],select[data-v-effe158e]{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.3rem;min-width:0;padding:.2rem .35rem;font-size:.85rem}input[data-v-effe158e]:focus,select[data-v-effe158e]:focus{outline-offset:0;border-color:#60a5fa;outline:2px solid #93c5fd}.form-parts[data-v-effe158e]{border-collapse:collapse;width:100%;margin-top:.5rem}.form-parts th[data-v-effe158e]{color:#64748b;text-align:left;padding:0 .25rem .15rem 0;font-size:.72rem;font-weight:600}.form-parts td[data-v-effe158e]{padding:.1rem .25rem .1rem 0}.form-parts td input[data-v-effe158e],.form-parts td select[data-v-effe158e]{width:100%}.form-parts .number[data-v-effe158e]{width:4.5rem}.form-problems[data-v-effe158e]{color:#b91c1c;margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem}.form-actions[data-v-effe158e]{align-items:center;gap:.25rem;margin-top:.4rem;display:flex}.spacer[data-v-effe158e]{flex:1}.visually-hidden[data-v-effe158e]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.units-title[data-v-ada663af]{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.units-section+.units-section[data-v-ada663af]{margin-top:1.25rem}.section-head[data-v-ada663af]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.section-head h3[data-v-ada663af]{color:#0f172a;margin:0;font-size:.95rem;font-weight:600}.section-actions[data-v-ada663af]{align-items:center;gap:.25rem;display:flex}.hint[data-v-ada663af]{color:#64748b;margin:.4rem 0 0;font-size:.875rem}.files[data-v-ada663af]{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.files>li[data-v-ada663af]{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem .6rem}.file-head[data-v-ada663af]{align-items:center;gap:.5rem;display:flex}.file-name[data-v-ada663af]{color:#0f172a;overflow-wrap:anywhere;font-weight:600}.file-count[data-v-ada663af]{color:#64748b;flex:1;font-size:.8rem}.units-names[data-v-ada663af]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.units-names code[data-v-ada663af]{color:#334155;background:#f1f5f9;border-radius:.25rem;padding:.05rem .35rem;font-size:.78rem}.problems[data-v-ada663af]{color:#92400e;margin:.4rem 0 .1rem;padding-left:1.1rem;font-size:.82rem}.new-units[data-v-ada663af]{gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.new-units-row[data-v-ada663af]{align-items:center;gap:.4rem;display:flex}.new-units-name[data-v-ada663af]{color:#1d4ed8;background:#eff6ff;border-radius:.25rem;padding:.05rem .35rem;font-size:.85rem}.new-units-definition[data-v-ada663af]{color:#334155;overflow-wrap:anywhere;flex:1;font-size:.85rem}.missing-count[data-v-ada663af]{color:#b45309;font-size:.82rem}.variables[data-v-ada663af]{border-collapse:collapse;width:100%;margin-top:.5rem}.variables th[data-v-ada663af],.variables td[data-v-ada663af]{text-align:left;vertical-align:middle;padding:.2rem .5rem .2rem 0}.variables th[data-v-ada663af]{width:1%;padding-right:1rem}.variables td[data-v-ada663af]:nth-child(2){width:16rem}.variable-name[data-v-ada663af]{white-space:nowrap;color:#0f172a;font-family:KaTeX_Math,Times New Roman,serif;font-size:1.05rem;font-style:italic;font-weight:400}.units-input[data-v-ada663af]{width:100%;min-width:8rem;max-width:16rem;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.25rem .45rem;font-size:.9rem}.units-input[data-v-ada663af]:focus{outline-offset:0;border-color:#60a5fa;outline:2px solid #93c5fd}.state-missing .units-input[data-v-ada663af],.state-unknown .units-input[data-v-ada663af]{background:#fffbeb;border-color:#f59e0b}.variable-state[data-v-ada663af]{white-space:nowrap;color:#b45309;font-size:.8rem}.unused .variable-name[data-v-ada663af],.unused .variable-state[data-v-ada663af]{color:#94a3b8}
1
+ .math-field[data-v-5f9cc824]{font-size:var(--me-line-font-size,1.05rem);cursor:text;border-radius:6px;outline:none;align-items:center;min-height:2.6rem;padding:.45rem .7rem;display:flex;position:relative;overflow-x:auto}.math-field.focused[data-v-5f9cc824]{box-shadow:0 0 0 2px #2563eb59}.math-content[data-v-5f9cc824]{z-index:1;min-width:0;position:relative}.selection[data-v-5f9cc824]{z-index:0;pointer-events:none;background:#94a3b84d;border-radius:3px;position:absolute}.row-tint[data-v-5f9cc824]{z-index:0;pointer-events:none;background:#2563eb12;border-radius:3px;position:absolute;box-shadow:inset 0 0 0 1px #2563eb2e}.math-field.focused .selection[data-v-5f9cc824]{background:#2563eb33}.mark[data-v-5f9cc824]{z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 L1.5 0.5 L3 2.5 L4.5 0.5 L6 2.5' fill='none' stroke='%23dc2626' stroke-width='1'/%3E%3C/svg%3E") 0 100%/6px 3px repeat-x,#dc262614;border-radius:2px;position:absolute}.mark-units[data-v-5f9cc824]{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3'%3E%3Cpath d='M0 2.5 L1.5 0.5 L3 2.5 L4.5 0.5 L6 2.5' fill='none' stroke='%23d97706' stroke-width='1'/%3E%3C/svg%3E") 0 100%/6px 3px repeat-x,#d977061a}.math-field[data-v-5f9cc824] .me-units{color:#60a5fa}.math-field[data-v-5f9cc824] .me-ph.me-units-ph{color:#60a5fa;border:1px dashed #60a5fa;border-radius:3px;padding:0 .15em}.math-field.focused[data-v-5f9cc824] .me-units-ph.me-ph-active{color:#3b82f6;background:#60a5fa1f}.math-field[data-v-5f9cc824] .me-units-flag{width:0;height:0;display:inline-block;position:relative}.math-field[data-v-5f9cc824] .me-units-flag:after{content:"";border-top:.22em solid #60a5fa;border-left:.22em solid #0000;position:absolute;bottom:.52em;right:-.05em}.mark-tip[data-v-5f9cc824]{z-index:10;color:#f8fafc;white-space:normal;pointer-events:none;background:#1e293b;border-radius:.35rem;width:max-content;max-width:24rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.3;position:fixed}.caret[data-v-5f9cc824]{z-index:2;pointer-events:none;background:#2563eb;width:2px;margin-left:-1px;animation:1.1s step-end infinite math-field-blink-5f9cc824;position:absolute}.math-field[data-v-5f9cc824] .katex-display{text-align:left;margin:0}.math-field[data-v-5f9cc824] .katex-display>.katex{text-align:left}.math-field[data-v-5f9cc824] .me-ph{color:#94a3b8}.math-field.focused[data-v-5f9cc824] .me-ph-active{color:#2563eb;background:#2563eb1f;border-radius:2px}@keyframes math-field-blink-5f9cc824{50%{opacity:0}}.editor-grid[data-v-9ad8f63a],.gallery[data-v-9ad8f63a]{--me-accent:var(--math-editor-accent,#2563eb);--me-surface:var(--p-content-background,#fff);--me-subtle:var(--p-content-hover-background,#f1f5f9);--me-border:var(--p-content-border-color,#e2e8f0);--me-border-strong:var(--p-form-field-border-color,#cbd5e1);--me-text:var(--p-text-color,#0f172a);--me-muted:var(--p-text-muted-color,#64748b);--me-warn:#d97706;--me-caution:#ea580c;--me-danger:#dc2626;outline:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"editor outputs";align-items:start;gap:1rem;max-width:1240px;margin:0 auto;display:grid}.editor-grid.has-side[data-v-9ad8f63a]{grid-template-rows:auto 1fr;grid-template-areas:"editor side""outputs side"}.editor-grid.no-outputs[data-v-9ad8f63a]{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor"}.editor-grid.no-outputs.has-side[data-v-9ad8f63a]{grid-template:"editor side"/minmax(0,1.35fr) minmax(0,1fr)}.editor-panel[data-v-9ad8f63a]{border:1px solid var(--me-border);background:var(--me-surface);min-width:0;color:var(--me-text);border-radius:.75rem;grid-area:editor;padding:0 1rem .85rem}.output-card[data-v-9ad8f63a]{grid-area:outputs;min-width:0}.side-column[data-v-9ad8f63a]{grid-area:side;align-self:start;min-width:0;position:sticky;top:1rem}.toolbar[data-v-9ad8f63a]{top:var(--me-toolbar-top,0);z-index:2;border-bottom:1px solid var(--me-border);background:var(--me-surface);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0 0 .6rem;padding:.5rem 0;display:flex;position:sticky}.toolbar-group[data-v-9ad8f63a]{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.toolbar-lines[data-v-9ad8f63a] .p-button{width:2rem;height:2rem;padding:0}.tool-button[data-v-9ad8f63a]{border:1px solid var(--me-border-strong);background:var(--me-surface);min-width:2rem;height:2rem;color:var(--me-text);cursor:pointer;border-radius:.45rem;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;transition:border-color .12s,background .12s,box-shadow .12s;display:inline-flex}.tool-button[data-v-9ad8f63a]:disabled{opacity:.45;cursor:default}.tool-chevron[data-v-9ad8f63a]{color:var(--me-muted);margin-left:.2rem;font-size:.55rem}.tool-button[data-v-9ad8f63a]:hover:not(:disabled){border-color:var(--me-accent);background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface))}.tool-button[data-v-9ad8f63a]:active{box-shadow:inset 0 1px 3px #0f172a26}.gallery[data-v-9ad8f63a]{flex-direction:column;gap:.5rem;max-width:22rem;display:flex}.gallery-label[data-v-9ad8f63a]{color:var(--me-muted);margin-bottom:.25rem;font-size:.72rem}.gallery-items[data-v-9ad8f63a]{flex-wrap:wrap;gap:.25rem;display:flex}.gallery .tool-button[data-v-9ad8f63a]{min-width:2.4rem;font-size:.8rem}.equations-stack[data-v-9ad8f63a]{flex-direction:column;gap:.6rem;display:flex}.equation-row[data-v-9ad8f63a]{border:1px solid var(--me-border);background:var(--me-surface);color:var(--me-text);border-radius:.65rem;align-items:stretch;gap:.5rem;transition:border-color .12s,box-shadow .12s;display:flex}.equation-row.active[data-v-9ad8f63a]{border-color:var(--me-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--me-accent) 12%, transparent)}.equation-row.has-error[data-v-9ad8f63a]{border-color:var(--me-danger)}.equation-row.has-units-issue[data-v-9ad8f63a]{border-color:var(--me-warn)}.equation-row.active.has-error[data-v-9ad8f63a]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-danger) 14%, transparent)}.equation-row.active.has-units-issue[data-v-9ad8f63a]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-warn) 16%, transparent)}.equation-label[data-v-9ad8f63a]{color:var(--me-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--me-border);align-items:center;padding:0 .4rem 0 .65rem;font-size:.75rem;display:flex}.equation-field[data-v-9ad8f63a]{flex:1;min-width:0}.equation-field.focused[data-v-9ad8f63a]{box-shadow:none}.status-bar[data-v-9ad8f63a]{white-space:nowrap;border-radius:.45rem;align-items:center;gap:.5rem;height:1.75rem;margin-top:.5rem;padding:0 .6rem;font-size:.8rem;display:flex;overflow:hidden}.status-text[data-v-9ad8f63a]{text-overflow:ellipsis;min-width:0;overflow:hidden}.status-more[data-v-9ad8f63a]{opacity:.75;flex:none}.status-error[data-v-9ad8f63a],.status-units[data-v-9ad8f63a]{cursor:pointer}.status-error[data-v-9ad8f63a]{background:color-mix(in srgb, var(--me-danger) 12%, var(--me-surface));color:color-mix(in srgb, var(--me-danger) 55%, var(--me-text))}.status-units[data-v-9ad8f63a]{background:color-mix(in srgb, var(--me-caution) 14%, var(--me-surface));color:color-mix(in srgb, var(--me-caution) 55%, var(--me-text))}.status-info[data-v-9ad8f63a]{background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface));color:color-mix(in srgb, var(--me-accent) 45%, var(--me-text))}.status-command[data-v-9ad8f63a]{padding:0}.command-chip[data-v-9ad8f63a]{color:#e2e8f0;background:#0f172a;border-radius:.45rem;align-items:center;height:100%;padding:0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9rem;display:inline-flex}.command-slash[data-v-9ad8f63a]{color:#7dd3fc}.command-caret[data-v-9ad8f63a]{background:#e2e8f0;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite chip-blink-9ad8f63a}@keyframes chip-blink-9ad8f63a{50%{opacity:0}}.focus-meta[data-v-9ad8f63a]{color:var(--me-muted);margin:.75rem 0 0;font-size:.8rem}.output-actions[data-v-9ad8f63a]{justify-content:flex-end;margin-bottom:.25rem;display:flex}.tab-tag[data-v-9ad8f63a]{margin-left:.4rem;padding:.05rem .35rem;font-size:.7rem}.key-help[data-v-9ad8f63a]{margin-top:.75rem}.key-help summary[data-v-9ad8f63a]{cursor:pointer;width:fit-content;color:var(--me-muted);font-size:.85rem}.key-hint[data-v-9ad8f63a]{color:var(--me-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.key-hint kbd[data-v-9ad8f63a]{border:1px solid var(--me-border-strong);background:var(--me-subtle);border-bottom-width:2px;border-radius:.3rem;margin:0 .08rem;padding:0 .3rem;font-family:inherit;font-size:.72rem;display:inline-block}.key-hint code[data-v-9ad8f63a]{background:var(--me-subtle);border-radius:.25rem;padding:.05rem .3rem}.output-card pre[data-v-9ad8f63a]{color:#e2e8f0;background:#0f172a;border-radius:.55rem;max-height:28rem;margin:0;padding:.85rem;font-size:.83rem;line-height:1.35;overflow:auto}@media (width<=900px){.editor-grid[data-v-9ad8f63a],.editor-grid.has-side[data-v-9ad8f63a],.editor-grid.no-outputs.has-side[data-v-9ad8f63a]{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""side""outputs"}.side-column[data-v-9ad8f63a]{position:static}}.units-form[data-v-effe158e]{background:#f8fbff;border:1px solid #bfdbfe;border-radius:.5rem;margin-top:.5rem;padding:.6rem}.form-name[data-v-effe158e]{color:#334155;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.form-name input[data-v-effe158e]{flex:1}input[data-v-effe158e],select[data-v-effe158e]{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.3rem;min-width:0;padding:.2rem .35rem;font-size:.85rem}input[data-v-effe158e]:focus,select[data-v-effe158e]:focus{outline-offset:0;border-color:#60a5fa;outline:2px solid #93c5fd}.form-parts[data-v-effe158e]{border-collapse:collapse;width:100%;margin-top:.5rem}.form-parts th[data-v-effe158e]{color:#64748b;text-align:left;padding:0 .25rem .15rem 0;font-size:.72rem;font-weight:600}.form-parts td[data-v-effe158e]{padding:.1rem .25rem .1rem 0}.form-parts td input[data-v-effe158e],.form-parts td select[data-v-effe158e]{width:100%}.form-parts .number[data-v-effe158e]{width:4.5rem}.form-problems[data-v-effe158e]{color:#b91c1c;margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem}.form-actions[data-v-effe158e]{align-items:center;gap:.25rem;margin-top:.4rem;display:flex}.spacer[data-v-effe158e]{flex:1}.visually-hidden[data-v-effe158e]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.units-title[data-v-ada663af]{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.units-section+.units-section[data-v-ada663af]{margin-top:1.25rem}.section-head[data-v-ada663af]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.section-head h3[data-v-ada663af]{color:#0f172a;margin:0;font-size:.95rem;font-weight:600}.section-actions[data-v-ada663af]{align-items:center;gap:.25rem;display:flex}.hint[data-v-ada663af]{color:#64748b;margin:.4rem 0 0;font-size:.875rem}.files[data-v-ada663af]{gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.files>li[data-v-ada663af]{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem .6rem}.file-head[data-v-ada663af]{align-items:center;gap:.5rem;display:flex}.file-name[data-v-ada663af]{color:#0f172a;overflow-wrap:anywhere;font-weight:600}.file-count[data-v-ada663af]{color:#64748b;flex:1;font-size:.8rem}.units-names[data-v-ada663af]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.units-names code[data-v-ada663af]{color:#334155;background:#f1f5f9;border-radius:.25rem;padding:.05rem .35rem;font-size:.78rem}.problems[data-v-ada663af]{color:#92400e;margin:.4rem 0 .1rem;padding-left:1.1rem;font-size:.82rem}.new-units[data-v-ada663af]{gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.new-units-row[data-v-ada663af]{align-items:center;gap:.4rem;display:flex}.new-units-name[data-v-ada663af]{color:#1d4ed8;background:#eff6ff;border-radius:.25rem;padding:.05rem .35rem;font-size:.85rem}.new-units-definition[data-v-ada663af]{color:#334155;overflow-wrap:anywhere;flex:1;font-size:.85rem}.missing-count[data-v-ada663af]{color:#b45309;font-size:.82rem}.variables[data-v-ada663af]{border-collapse:collapse;width:100%;margin-top:.5rem}.variables th[data-v-ada663af],.variables td[data-v-ada663af]{text-align:left;vertical-align:middle;padding:.2rem .5rem .2rem 0}.variables th[data-v-ada663af]{width:1%;padding-right:1rem}.variables td[data-v-ada663af]:nth-child(2){width:16rem}.variable-name[data-v-ada663af]{white-space:nowrap;color:#0f172a;font-family:KaTeX_Math,Times New Roman,serif;font-size:1.05rem;font-style:italic;font-weight:400}.units-input[data-v-ada663af]{width:100%;min-width:8rem;max-width:16rem;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;padding:.25rem .45rem;font-size:.9rem}.units-input[data-v-ada663af]:focus{outline-offset:0;border-color:#60a5fa;outline:2px solid #93c5fd}.state-missing .units-input[data-v-ada663af],.state-unknown .units-input[data-v-ada663af]{background:#fffbeb;border-color:#f59e0b}.variable-state[data-v-ada663af]{white-space:nowrap;color:#b45309;font-size:.8rem}.unused .variable-name[data-v-ada663af],.unused .variable-state[data-v-ada663af]{color:#94a3b8}
2
2
  /*$vite$:1*/
@@ -5,6 +5,7 @@ type __VLS_Props = {
5
5
  issues?: readonly UnitsIssue[];
6
6
  variableUnits?: VariableUnits;
7
7
  greekNames?: boolean;
8
+ typesetNames?: boolean;
8
9
  outputs?: boolean;
9
10
  history?: boolean;
10
11
  validate?: 'input' | 'commit';
@@ -33,6 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
33
34
  history: boolean;
34
35
  cellml: boolean;
35
36
  greekNames: boolean;
37
+ typesetNames: boolean;
36
38
  issues: readonly UnitsIssue[];
37
39
  variableUnits: VariableUnits;
38
40
  outputs: boolean;
@@ -17,6 +17,7 @@ type __VLS_Props = {
17
17
  readonly?: boolean;
18
18
  marks?: readonly Mark[];
19
19
  greekNames?: boolean;
20
+ typesetNames?: boolean;
20
21
  };
21
22
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
22
23
  focus: () => void | undefined;
@@ -34,6 +35,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
34
35
  readonly: boolean;
35
36
  marks: readonly Mark[];
36
37
  greekNames: boolean;
38
+ typesetNames: boolean;
37
39
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
40
  declare const _default: typeof __VLS_export;
39
41
  export default _default;
@@ -0,0 +1,2 @@
1
+ import { type ComputedRef } from 'vue';
2
+ export declare function contentStable<T>(source: () => T): ComputedRef<T>;
@@ -4,6 +4,7 @@ export declare function serializeAtoms(atoms: Row): string;
4
4
  export declare function deserializeAtoms(text: string | null | undefined): Row | null;
5
5
  export interface LatexOptions {
6
6
  greekNames?: boolean;
7
+ typesetNames?: boolean;
7
8
  }
8
9
  export declare function rowToLatexSource(row: Row, options?: LatexOptions): string;
9
10
  export declare function latexToRow(text: string): Row;
@@ -18,7 +18,8 @@ export declare function numberRuns(row: Row): NumberRun[];
18
18
  export declare const unitsName: (atom: UnitsAtom) => string;
19
19
  export declare const DEFAULT_OTHERWISE = "0.0";
20
20
  export declare function inheritedOtherwiseUnits(atom: PiecewiseAtom): string | null;
21
- export declare function nameOccurrences(root: Row, name: string): string[][];
21
+ export declare function nameOccurrences(root: Row, name: string): readonly string[][];
22
+ export declare function nameOccurrenceMap(root: Row): ReadonlyMap<string, readonly string[][]>;
22
23
  export interface NumberOccurrence {
23
24
  value: number;
24
25
  atomIds: string[];
@@ -0,0 +1,11 @@
1
+ export type Range = readonly [start: number, end: number];
2
+ export interface NamePart {
3
+ role: 'sub' | 'sup';
4
+ separator: Range;
5
+ text: Range;
6
+ }
7
+ export interface NameScripts {
8
+ base: Range;
9
+ parts: NamePart[];
10
+ }
11
+ export declare function nameScripts(values: readonly string[]): NameScripts | null;
@@ -1,5 +1,5 @@
1
1
  import type { Cursor } from './cursor';
2
- import { type Row } from './layout';
2
+ import { type Row, type RowPath } from './layout';
3
3
  export interface NameOptions {
4
4
  greekNames?: boolean;
5
5
  cursorAway?: boolean;
@@ -11,5 +11,6 @@ interface EditorLike {
11
11
  }
12
12
  export declare function greekWord(word: string): string | null;
13
13
  export declare function nameAtoms(name: string, options?: NameOptions): Row;
14
+ export declare function cursorInName(cursor: Cursor | null | undefined, path: RowPath, start: number, end: number): boolean;
14
15
  export declare function settleNames<S extends EditorLike>(state: S, options?: NameOptions): S;
15
16
  export {};
@@ -1,8 +1,11 @@
1
1
  import type { Row, RowPath } from '../editor/layout';
2
+ import type { Cursor } from '../editor/cursor';
2
3
  export interface LayoutLatexOptions {
3
4
  activeRow?: RowPath | null;
4
5
  shownUnits?: ReadonlySet<string>;
5
6
  greekNames?: boolean;
7
+ typesetNames?: boolean;
8
+ cursors?: ReadonlyArray<Cursor | null | undefined>;
6
9
  }
7
10
  export declare function encodeRowPath(path: RowPath): string;
8
11
  export declare function decodeRowPath(encoded: string | null | undefined): RowPath | null;