vue3-math-editor 0.2.6 → 0.3.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 +1 -1
- package/dist/types/components/EquationWorkbench.vue.d.ts +2 -2
- package/dist/types/components/MathField.vue.d.ts +4 -1
- package/dist/types/components/PasteReviewDialog.vue.d.ts +16 -0
- package/dist/types/editor/clipboard.d.ts +1 -0
- package/dist/types/editor/commands.d.ts +1 -0
- package/dist/types/editor/exports.d.ts +1 -1
- package/dist/types/editor/identifiers.d.ts +1 -0
- package/dist/types/editor/markup.d.ts +6 -0
- package/dist/types/editor/mathTree.d.ts +48 -0
- package/dist/types/editor/nameScripts.d.ts +29 -0
- package/dist/types/editor/names.d.ts +1 -0
- package/dist/types/editor/ommlReader.d.ts +9 -0
- package/dist/types/editor/pasteFormats.d.ts +23 -0
- package/dist/types/editor/presentationImport.d.ts +40 -0
- package/dist/types/editor/presentationMathmlReader.d.ts +3 -0
- package/dist/types/editor/unicodeMath.d.ts +14 -0
- package/dist/types/renderers/presentationMathml.d.ts +3 -0
- package/dist/types/units/UnitsPanel.vue.d.ts +1 -1
- package/dist/vue3-math-editor.js +4315 -1778
- package/package.json +3 -1
package/dist/style.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.math-field[data-v-afb31880]{--mf-accent:var(--me-accent,#2563eb);--mf-units:var(--me-units,#60a5fa);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-afb31880]{box-shadow:0 0 0 2px color-mix(in srgb, var(--mf-accent) 35%, transparent)}.math-content[data-v-afb31880]{z-index:1;min-width:0;position:relative}.selection[data-v-afb31880]{z-index:0;pointer-events:none;background:#94a3b84d;border-radius:3px;position:absolute}.row-tint[data-v-afb31880]{z-index:0;background:color-mix(in srgb, var(--mf-accent) 7%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mf-accent) 18%, transparent);pointer-events:none;border-radius:3px;position:absolute}.math-field.focused .selection[data-v-afb31880]{background:color-mix(in srgb, var(--mf-accent) 20%, transparent)}.mark[data-v-afb31880]{--mark-color:var(--me-danger,#dc2626);z-index:0;pointer-events:none;background:color-mix(in srgb, var(--mark-color) 8%, transparent);border-radius:2px;position:absolute}.mark[data-v-afb31880]:after{--wave: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='black' stroke-width='1'/%3E%3C/svg%3E");content:"";background:var(--mark-color);-webkit-mask:var(--wave) repeat-x left bottom / 6px 3px;-webkit-mask:var(--wave) repeat-x left bottom / 6px 3px;mask:var(--wave) repeat-x left bottom / 6px 3px;position:absolute;inset:0}.mark-units[data-v-afb31880]{--mark-color:var(--me-warn,#d97706);background:color-mix(in srgb, var(--mark-color) 10%, transparent)}.math-field[data-v-afb31880] .me-units{color:var(--mf-units)}.math-field[data-v-afb31880] .me-ph.me-units-ph{border:1px dashed var(--mf-units);color:var(--mf-units);border-radius:3px;padding:0 .15em}.math-field.focused[data-v-afb31880] .me-units-ph.me-ph-active{color:color-mix(in srgb, var(--mf-units) 75%, var(--mf-accent));background:color-mix(in srgb, var(--mf-units) 12%, transparent)}.math-field[data-v-afb31880] .me-units-flag{width:0;height:0;display:inline-block;position:relative}.math-field[data-v-afb31880] .me-units-flag:after{content:"";border-top:.22em solid var(--mf-units);border-left:.22em solid #0000;position:absolute;bottom:.52em;right:-.05em}.fixed-origin[data-v-afb31880]{visibility:hidden;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.mark-tip[data-v-afb31880]{z-index:10;background:var(--me-tip-bg,#1e293b);width:max-content;max-width:24rem;color:var(--me-tip-text,#f8fafc);white-space:normal;pointer-events:none;border-radius:.35rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.3;position:fixed}.caret[data-v-afb31880]{z-index:2;background:var(--mf-accent);pointer-events:none;width:2px;margin-left:-1px;animation:1.1s step-end infinite math-field-blink-afb31880;position:absolute}.math-field[data-v-afb31880] .katex-display{text-align:left;margin:0}.math-field[data-v-afb31880] .katex-display>.katex{text-align:left}.math-field[data-v-afb31880] .me-ph{color:color-mix(in srgb, var(--me-muted,#64748b) 70%, transparent)}.math-field.focused[data-v-afb31880] .me-ph-active{color:var(--mf-accent);background:color-mix(in srgb, var(--mf-accent) 12%, transparent);border-radius:2px}@keyframes math-field-blink-afb31880{50%{opacity:0}}.me-workbench[data-v-1c2a07cd]{container-type:inline-size}.editor-grid[data-v-1c2a07cd],.gallery[data-v-1c2a07cd],.command-list[data-v-1c2a07cd]{--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:var(--math-editor-warn,#d97706);--me-caution:var(--math-editor-warn,#ea580c);--me-danger:var(--math-editor-danger,#dc2626);--me-units:var(--math-editor-units,#60a5fa);--me-tip-bg:#1e293b;--me-tip-text:#f8fafc;--me-code-bg:#0f172a;--me-code-text:#e2e8f0}.editor-grid[data-v-1c2a07cd]{outline:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"editor outputs";align-items:start;gap:1rem;display:grid}.editor-grid.has-side[data-v-1c2a07cd]{grid-template-rows:auto 1fr;grid-template-areas:"editor side""outputs side"}.editor-grid.no-outputs[data-v-1c2a07cd]{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor"}.editor-grid.no-outputs.has-side[data-v-1c2a07cd]{grid-template:"editor side"/minmax(0,1.35fr) minmax(0,1fr)}.editor-panel[data-v-1c2a07cd]{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-1c2a07cd]{grid-area:outputs;min-width:0}.side-column[data-v-1c2a07cd]{top:var(--me-side-top,calc(var(--me-toolbar-top,0px) + 1rem));grid-area:side;align-self:start;min-width:0;position:sticky}.toolbar[data-v-1c2a07cd]{top:var(--me-toolbar-top,0);z-index:2;border-top:1px solid #0000;border-bottom:1px solid var(--me-border);background:var(--me-surface);background-clip:padding-box;border-radius:calc(.75rem - 1px) calc(.75rem - 1px) 0 0;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:-1px -1rem .6rem;padding:.5rem 1rem;display:flex;position:sticky}.toolbar.stuck[data-v-1c2a07cd]{border-top-color:var(--me-border);border-radius:0}.toolbar-group[data-v-1c2a07cd]{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.toolbar-tools[data-v-1c2a07cd]{flex-wrap:nowrap;flex:1 1 0;min-width:4.5rem;position:relative}.tool-button.overflowed[data-v-1c2a07cd]{visibility:hidden;pointer-events:none;position:absolute}.toolbar-lines[data-v-1c2a07cd] .p-button{width:2rem;height:2rem;padding:0}.redo-button[data-v-1c2a07cd] .p-button-icon{transform:scaleX(-1)}.tool-button[data-v-1c2a07cd]{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-1c2a07cd]:disabled{opacity:.45;cursor:default}.tool-chevron[data-v-1c2a07cd]{color:var(--me-muted);margin-left:.2rem;font-size:.55rem}.tool-button[data-v-1c2a07cd]:hover:not(:disabled){border-color:var(--me-accent);background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface))}.tool-button[data-v-1c2a07cd]:active{box-shadow:inset 0 1px 3px #0f172a26}.gallery[data-v-1c2a07cd]{flex-direction:column;gap:.5rem;max-width:22rem;display:flex}.gallery-label[data-v-1c2a07cd]{color:var(--me-muted);margin-bottom:.25rem;font-size:.72rem}.gallery-items[data-v-1c2a07cd]{flex-wrap:wrap;gap:.25rem;display:flex}.gallery .tool-button[data-v-1c2a07cd]{min-width:2.4rem;font-size:.8rem}.equations-stack[data-v-1c2a07cd]{flex-direction:column;gap:.6rem;display:flex}.equation-row[data-v-1c2a07cd]{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;position:relative}.equation-row.active[data-v-1c2a07cd]{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-1c2a07cd]{border-color:var(--me-danger)}.equation-row.has-units-issue[data-v-1c2a07cd]{border-color:var(--me-warn)}.equation-row.active.has-error[data-v-1c2a07cd]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-danger) 14%, transparent)}.equation-row.active.has-units-issue[data-v-1c2a07cd]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-warn) 16%, transparent)}.equation-label[data-v-1c2a07cd]{min-width:2.1rem;color:var(--me-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--me-border);-webkit-user-select:none;user-select:none;border-radius:calc(.65rem - 1px) 0 0 calc(.65rem - 1px);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:0 .35rem;font-size:.75rem;display:flex}.equation-label[draggable=true][data-v-1c2a07cd]{cursor:grab}.equation-label[draggable=true][data-v-1c2a07cd]:hover{background:var(--me-subtle)}.line-problem[data-v-1c2a07cd]{color:var(--me-danger);font-size:.7rem}.line-problem.pi-exclamation-triangle[data-v-1c2a07cd]{color:var(--me-warn)}.equation-row.line-selected[data-v-1c2a07cd]{background:color-mix(in srgb, var(--me-accent) 6%, var(--me-surface))}.equation-row.line-selected .equation-label[data-v-1c2a07cd]{background:color-mix(in srgb, var(--me-accent) 16%, var(--me-surface));color:var(--me-accent)}.equation-row.dragging[data-v-1c2a07cd]{opacity:.5}.equation-row.drop-before[data-v-1c2a07cd]:before,.equation-row.drop-after[data-v-1c2a07cd]:after{content:"";background:var(--me-accent);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:0;right:0}.equation-row.drop-before[data-v-1c2a07cd]:before{top:calc(-.3rem - 2px)}.equation-row.drop-after[data-v-1c2a07cd]:after{bottom:calc(-.3rem - 2px)}.equation-field[data-v-1c2a07cd]{flex:1;min-width:0}.equation-field.focused[data-v-1c2a07cd]{box-shadow:none}.status-bar[data-v-1c2a07cd]{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-1c2a07cd]{text-overflow:ellipsis;min-width:0;overflow:hidden}.status-more[data-v-1c2a07cd]{opacity:.75;flex:none}.status-error[data-v-1c2a07cd],.status-units[data-v-1c2a07cd]{cursor:pointer}.status-error[data-v-1c2a07cd]{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-1c2a07cd]{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-1c2a07cd]{background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface));color:color-mix(in srgb, var(--me-accent) 45%, var(--me-text))}.command-list[data-v-1c2a07cd]{z-index:1300;border:1px solid var(--me-border);background:var(--me-surface);width:max-content;min-width:17.5rem;max-width:20rem;color:var(--me-text);border-radius:.55rem;flex-direction:column;gap:.35rem;padding:.4rem;font-size:.8rem;display:flex;position:fixed;box-shadow:0 6px 24px #0f172a24}.command-list .command-chip[data-v-1c2a07cd]{align-self:flex-start}.command-options[data-v-1c2a07cd]{grid-template-columns:minmax(2.4rem,max-content) max-content minmax(0,1fr);column-gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.command-option[data-v-1c2a07cd]{grid-column:1/-1;grid-template-columns:subgrid;cursor:pointer;border-radius:.35rem;align-items:center;min-height:1.9rem;padding:.1rem .4rem;display:grid}.command-option[data-v-1c2a07cd]:hover{background:var(--me-subtle)}.command-option.highlighted[data-v-1c2a07cd]{background:color-mix(in srgb, var(--me-accent) 12%, var(--me-surface))}.command-preview[data-v-1c2a07cd]{text-align:center;font-size:.85rem}.command-name[data-v-1c2a07cd]{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.command-title[data-v-1c2a07cd]{color:var(--me-muted);justify-self:end;font-size:.72rem}.command-hint[data-v-1c2a07cd]{border-top:1px solid var(--me-border);color:var(--me-muted);white-space:nowrap;margin:0;padding:.3rem .4rem 0;font-size:.7rem}.command-hint kbd[data-v-1c2a07cd]{border:1px solid var(--me-border-strong);background:var(--me-subtle);border-radius:.25rem;padding:0 .25rem;font-family:inherit;font-size:.65rem}.command-chip[data-v-1c2a07cd]{background:var(--me-code-bg);height:1.6rem;color:var(--me-code-text);border-radius:.45rem;align-items:center;padding:0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9rem;display:inline-flex}.command-slash[data-v-1c2a07cd]{color:var(--me-units)}.command-caret[data-v-1c2a07cd]{background:var(--me-code-text);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite chip-blink-1c2a07cd}@keyframes chip-blink-1c2a07cd{50%{opacity:0}}.focus-meta[data-v-1c2a07cd]{color:var(--me-muted);margin:.75rem 0 0;font-size:.8rem}.output-actions[data-v-1c2a07cd]{justify-content:flex-end;margin-bottom:.25rem;display:flex}.tab-tag[data-v-1c2a07cd]{margin-left:.4rem;padding:.05rem .35rem;font-size:.7rem}.key-help[data-v-1c2a07cd]{margin-top:.75rem}.key-help summary[data-v-1c2a07cd]{cursor:pointer;width:fit-content;color:var(--me-muted);font-size:.85rem}.key-hint[data-v-1c2a07cd]{color:var(--me-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.key-hint kbd[data-v-1c2a07cd]{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-1c2a07cd]{background:var(--me-subtle);border-radius:.25rem;padding:.05rem .3rem}.output-card pre[data-v-1c2a07cd]{background:var(--me-code-bg);max-height:28rem;color:var(--me-code-text);border-radius:.55rem;margin:0;padding:.85rem;font-size:.83rem;line-height:1.35;overflow:auto}@container (width<=900px){.editor-grid[data-v-1c2a07cd],.editor-grid.has-side[data-v-1c2a07cd],.editor-grid.no-outputs.has-side[data-v-1c2a07cd]{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""side""outputs"}.side-column[data-v-1c2a07cd]{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-31067b59]{--mf-accent:var(--me-accent,#2563eb);--mf-units:var(--me-units,#60a5fa);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-31067b59]{box-shadow:0 0 0 2px color-mix(in srgb, var(--mf-accent) 35%, transparent)}.math-content[data-v-31067b59]{z-index:1;min-width:0;position:relative}.selection[data-v-31067b59]{z-index:0;pointer-events:none;background:#94a3b84d;border-radius:3px;position:absolute}.row-tint[data-v-31067b59]{z-index:0;background:color-mix(in srgb, var(--mf-accent) 7%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mf-accent) 18%, transparent);pointer-events:none;border-radius:3px;position:absolute}.math-field.focused .selection[data-v-31067b59]{background:color-mix(in srgb, var(--mf-accent) 20%, transparent)}.mark[data-v-31067b59]{--mark-color:var(--me-danger,#dc2626);z-index:0;pointer-events:none;background:color-mix(in srgb, var(--mark-color) 8%, transparent);border-radius:2px;position:absolute}.mark[data-v-31067b59]:after{--wave: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='black' stroke-width='1'/%3E%3C/svg%3E");content:"";background:var(--mark-color);-webkit-mask:var(--wave) repeat-x left bottom / 6px 3px;-webkit-mask:var(--wave) repeat-x left bottom / 6px 3px;mask:var(--wave) repeat-x left bottom / 6px 3px;position:absolute;inset:0}.mark-units[data-v-31067b59]{--mark-color:var(--me-warn,#d97706);background:color-mix(in srgb, var(--mark-color) 10%, transparent)}.math-field[data-v-31067b59] .me-units{color:var(--mf-units)}.math-field[data-v-31067b59] .me-ph.me-units-ph{border:1px dashed var(--mf-units);color:var(--mf-units);border-radius:3px;padding:0 .15em}.math-field.focused[data-v-31067b59] .me-units-ph.me-ph-active{color:color-mix(in srgb, var(--mf-units) 75%, var(--mf-accent));background:color-mix(in srgb, var(--mf-units) 12%, transparent)}.math-field[data-v-31067b59] .me-units-flag{width:0;height:0;display:inline-block;position:relative}.math-field[data-v-31067b59] .me-units-flag:after{content:"";border-top:.22em solid var(--mf-units);border-left:.22em solid #0000;position:absolute;bottom:.52em;right:-.05em}.fixed-origin[data-v-31067b59]{visibility:hidden;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.mark-tip[data-v-31067b59]{z-index:10;background:var(--me-tip-bg,#1e293b);width:max-content;max-width:24rem;color:var(--me-tip-text,#f8fafc);white-space:normal;pointer-events:none;border-radius:.35rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.3;position:fixed}.caret[data-v-31067b59]{z-index:2;background:var(--mf-accent);pointer-events:none;width:2px;margin-left:-1px;animation:1.1s step-end infinite math-field-blink-31067b59;position:absolute}.math-field[data-v-31067b59] .katex-display{text-align:left;margin:0}.math-field[data-v-31067b59] .katex-display>.katex{text-align:left}.math-field[data-v-31067b59] .me-ph{color:color-mix(in srgb, var(--me-muted,#64748b) 70%, transparent)}.math-field.focused[data-v-31067b59] .me-ph-active{color:var(--mf-accent);background:color-mix(in srgb, var(--mf-accent) 12%, transparent);border-radius:2px}@keyframes math-field-blink-31067b59{50%{opacity:0}}.review[data-v-637632ac]{--me-accent:var(--math-editor-accent,#2563eb);--me-subtle:var(--p-content-hover-background,#f1f5f9);--me-border:var(--p-content-border-color,#e2e8f0);--me-text:var(--p-text-color,#0f172a);--me-muted:var(--p-text-muted-color,#64748b);--me-warn:var(--math-editor-warn,#d97706);color:var(--me-text);gap:1rem;display:grid}.review-preview[data-v-637632ac]{border:1px solid var(--me-border);background:var(--me-subtle);border-radius:6px;gap:.25rem;max-height:14rem;padding:.5rem .75rem;display:grid;overflow:auto}.preview-line[data-v-637632ac]{align-items:center;gap:.75rem;min-width:0;display:flex}.preview-number[data-v-637632ac]{color:var(--me-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.preview-math[data-v-637632ac]{min-width:0;overflow-x:auto}.preview-math[data-v-637632ac] .katex-display{text-align:left;margin:.25rem 0}.preview-math[data-v-637632ac] .me-review-omitted{background:color-mix(in srgb, var(--me-warn) 18%, transparent);outline:1px dashed var(--me-warn);border-radius:3px}.preview-math[data-v-637632ac] .me-review-pointed{background:color-mix(in srgb, var(--me-accent) 18%, transparent);outline:1px solid color-mix(in srgb, var(--me-accent) 60%, transparent);border-radius:3px}.review-section[data-v-637632ac]{gap:.5rem;display:grid}.review-heading[data-v-637632ac]{margin:0;font-size:.9rem;font-weight:600}.assumption[data-v-637632ac]{border:1px solid var(--me-border);border-radius:6px;gap:.35rem;margin:0;padding:.5rem .75rem;display:grid}.assumption-question[data-v-637632ac]{flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:0 .25rem;font-weight:500;display:flex}.assumption-line[data-v-637632ac]{color:var(--me-muted);font-size:.8rem;font-weight:400}.assumption-option[data-v-637632ac]{align-items:center;gap:.5rem;display:flex}.assumption-option label[data-v-637632ac]{cursor:pointer}.assumption-all[data-v-637632ac]{color:var(--me-muted);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.review-omissions .review-heading[data-v-637632ac]{color:color-mix(in srgb, var(--me-warn) 75%, var(--me-text))}.review-list[data-v-637632ac]{gap:.35rem;margin:0;padding-left:1.25rem;font-size:.875rem;display:grid}.review-notes[data-v-637632ac]{color:var(--me-muted)}.me-workbench[data-v-9a88212c]{container-type:inline-size}.editor-grid[data-v-9a88212c],.gallery[data-v-9a88212c],.command-list[data-v-9a88212c]{--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:var(--math-editor-warn,#d97706);--me-caution:var(--math-editor-warn,#ea580c);--me-danger:var(--math-editor-danger,#dc2626);--me-units:var(--math-editor-units,#60a5fa);--me-tip-bg:#1e293b;--me-tip-text:#f8fafc;--me-code-bg:#0f172a;--me-code-text:#e2e8f0}.editor-grid[data-v-9a88212c]{outline:none;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"editor outputs";align-items:start;gap:1rem;display:grid}.editor-grid.has-side[data-v-9a88212c]{grid-template-rows:auto 1fr;grid-template-areas:"editor side""outputs side"}.editor-grid.no-outputs[data-v-9a88212c]{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor"}.editor-grid.no-outputs.has-side[data-v-9a88212c]{grid-template:"editor side"/minmax(0,1.35fr) minmax(0,1fr)}.editor-panel[data-v-9a88212c]{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-9a88212c]{grid-area:outputs;min-width:0}.side-column[data-v-9a88212c]{top:var(--me-side-top,calc(var(--me-toolbar-top,0px) + 1rem));grid-area:side;align-self:start;min-width:0;position:sticky}.toolbar[data-v-9a88212c]{top:var(--me-toolbar-top,0);z-index:2;border-top:1px solid #0000;border-bottom:1px solid var(--me-border);background:var(--me-surface);background-clip:padding-box;border-radius:calc(.75rem - 1px) calc(.75rem - 1px) 0 0;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:-1px -1rem .6rem;padding:.5rem 1rem;display:flex;position:sticky}.toolbar.stuck[data-v-9a88212c]{border-top-color:var(--me-border);border-radius:0}.toolbar-group[data-v-9a88212c]{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.toolbar-tools[data-v-9a88212c]{flex-wrap:nowrap;flex:1 1 0;min-width:4.5rem;position:relative}.tool-button.overflowed[data-v-9a88212c]{visibility:hidden;pointer-events:none;position:absolute}.toolbar-lines[data-v-9a88212c] .p-button{width:2rem;height:2rem;padding:0}.redo-button[data-v-9a88212c] .p-button-icon{transform:scaleX(-1)}.tool-button[data-v-9a88212c]{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-9a88212c]:disabled{opacity:.45;cursor:default}.tool-chevron[data-v-9a88212c]{color:var(--me-muted);margin-left:.2rem;font-size:.55rem}.tool-button[data-v-9a88212c]:hover:not(:disabled){border-color:var(--me-accent);background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface))}.tool-button[data-v-9a88212c]:active{box-shadow:inset 0 1px 3px #0f172a26}.gallery[data-v-9a88212c]{flex-direction:column;gap:.5rem;max-width:22rem;display:flex}.gallery-label[data-v-9a88212c]{color:var(--me-muted);margin-bottom:.25rem;font-size:.72rem}.gallery-items[data-v-9a88212c]{flex-wrap:wrap;gap:.25rem;display:flex}.gallery .tool-button[data-v-9a88212c]{min-width:2.4rem;font-size:.8rem}.equations-stack[data-v-9a88212c]{flex-direction:column;gap:.6rem;display:flex}.equation-row[data-v-9a88212c]{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;position:relative}.equation-row.active[data-v-9a88212c]{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-9a88212c]{border-color:var(--me-danger)}.equation-row.has-units-issue[data-v-9a88212c]{border-color:var(--me-warn)}.equation-row.active.has-error[data-v-9a88212c]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-danger) 14%, transparent)}.equation-row.active.has-units-issue[data-v-9a88212c]{box-shadow:0 0 0 3px color-mix(in srgb, var(--me-warn) 16%, transparent)}.equation-label[data-v-9a88212c]{min-width:2.1rem;color:var(--me-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--me-border);-webkit-user-select:none;user-select:none;border-radius:calc(.65rem - 1px) 0 0 calc(.65rem - 1px);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:0 .35rem;font-size:.75rem;display:flex}.equation-label[draggable=true][data-v-9a88212c]{cursor:grab}.equation-label[draggable=true][data-v-9a88212c]:hover{background:var(--me-subtle)}.line-problem[data-v-9a88212c]{color:var(--me-danger);font-size:.7rem}.line-problem.pi-exclamation-triangle[data-v-9a88212c]{color:var(--me-warn)}.equation-row.line-selected[data-v-9a88212c]{background:color-mix(in srgb, var(--me-accent) 6%, var(--me-surface))}.equation-row.line-selected .equation-label[data-v-9a88212c]{background:color-mix(in srgb, var(--me-accent) 16%, var(--me-surface));color:var(--me-accent)}.equation-row.dragging[data-v-9a88212c]{opacity:.5}.equation-row.drop-before[data-v-9a88212c]:before,.equation-row.drop-after[data-v-9a88212c]:after{content:"";background:var(--me-accent);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:0;right:0}.equation-row.drop-before[data-v-9a88212c]:before{top:calc(-.3rem - 2px)}.equation-row.drop-after[data-v-9a88212c]:after{bottom:calc(-.3rem - 2px)}.equation-field[data-v-9a88212c]{flex:1;min-width:0}.equation-field.focused[data-v-9a88212c]{box-shadow:none}.status-bar[data-v-9a88212c]{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-9a88212c]{text-overflow:ellipsis;min-width:0;overflow:hidden}.status-more[data-v-9a88212c]{opacity:.75;flex:none}.status-error[data-v-9a88212c],.status-units[data-v-9a88212c]{cursor:pointer}.status-error[data-v-9a88212c]{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-9a88212c]{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-9a88212c]{background:color-mix(in srgb, var(--me-accent) 8%, var(--me-surface));color:color-mix(in srgb, var(--me-accent) 45%, var(--me-text))}.command-list[data-v-9a88212c]{border:1px solid var(--me-border);background:var(--me-surface);width:max-content;min-width:17.5rem;max-width:20rem;color:var(--me-text);border-radius:.55rem;flex-direction:column;gap:.35rem;padding:.4rem;font-size:.8rem;display:flex;position:fixed;box-shadow:0 6px 24px #0f172a24}.command-list .command-chip[data-v-9a88212c]{align-self:flex-start}.command-options[data-v-9a88212c]{grid-template-columns:minmax(2.4rem,max-content) max-content minmax(0,1fr);column-gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.command-option[data-v-9a88212c]{grid-column:1/-1;grid-template-columns:subgrid;cursor:pointer;border-radius:.35rem;align-items:center;min-height:1.9rem;padding:.1rem .4rem;display:grid}.command-option[data-v-9a88212c]:hover{background:var(--me-subtle)}.command-option.highlighted[data-v-9a88212c]{background:color-mix(in srgb, var(--me-accent) 12%, var(--me-surface))}.command-preview[data-v-9a88212c]{text-align:center;font-size:.85rem}.command-name[data-v-9a88212c]{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.command-title[data-v-9a88212c]{color:var(--me-muted);justify-self:end;font-size:.72rem}.command-hint[data-v-9a88212c]{border-top:1px solid var(--me-border);color:var(--me-muted);white-space:nowrap;margin:0;padding:.3rem .4rem 0;font-size:.7rem}.command-hint kbd[data-v-9a88212c]{border:1px solid var(--me-border-strong);background:var(--me-subtle);border-radius:.25rem;padding:0 .25rem;font-family:inherit;font-size:.65rem}.command-chip[data-v-9a88212c]{background:var(--me-code-bg);height:1.6rem;color:var(--me-code-text);border-radius:.45rem;align-items:center;padding:0 .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9rem;display:inline-flex}.command-slash[data-v-9a88212c]{color:var(--me-units)}.command-caret[data-v-9a88212c]{background:var(--me-code-text);width:2px;height:1em;margin-left:2px;animation:1s step-end infinite chip-blink-9a88212c}@keyframes chip-blink-9a88212c{50%{opacity:0}}.focus-meta[data-v-9a88212c]{color:var(--me-muted);margin:.75rem 0 0;font-size:.8rem}.output-actions[data-v-9a88212c]{justify-content:flex-end;margin-bottom:.25rem;display:flex}.tab-tag[data-v-9a88212c]{margin-left:.4rem;padding:.05rem .35rem;font-size:.7rem}.key-help[data-v-9a88212c]{margin-top:.75rem}.key-help summary[data-v-9a88212c]{cursor:pointer;width:fit-content;color:var(--me-muted);font-size:.85rem}.key-hint[data-v-9a88212c]{color:var(--me-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.5}.key-hint kbd[data-v-9a88212c]{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-9a88212c]{background:var(--me-subtle);border-radius:.25rem;padding:.05rem .3rem}.output-card pre[data-v-9a88212c]{background:var(--me-code-bg);max-height:28rem;color:var(--me-code-text);border-radius:.55rem;margin:0;padding:.85rem;font-size:.83rem;line-height:1.35;overflow:auto}@container (width<=900px){.editor-grid[data-v-9a88212c],.editor-grid.has-side[data-v-9a88212c],.editor-grid.no-outputs.has-side[data-v-9a88212c]{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""side""outputs"}.side-column[data-v-9a88212c]{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*/
|
|
@@ -16,9 +16,9 @@ type __VLS_Props = {
|
|
|
16
16
|
};
|
|
17
17
|
declare function focusActive(): void;
|
|
18
18
|
declare function setMathML(xml: string): MathMLImport;
|
|
19
|
-
declare var
|
|
19
|
+
declare var __VLS_79: {};
|
|
20
20
|
type __VLS_Slots = {} & {
|
|
21
|
-
side?: (props: typeof
|
|
21
|
+
side?: (props: typeof __VLS_79) => any;
|
|
22
22
|
};
|
|
23
23
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
24
24
|
setMathML: typeof setMathML;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type EditorState } from '../editor/commands';
|
|
2
2
|
import { type Cursor } from '../editor/cursor';
|
|
3
3
|
import { type EditInfo } from '../editor/history';
|
|
4
|
-
import {
|
|
4
|
+
import type { MathMLImport } from '../editor/mathmlImport';
|
|
5
|
+
import type { PresentationPaste } from '../editor/presentationImport';
|
|
5
6
|
import { type Row } from '../editor/layout';
|
|
6
7
|
import { type Mark } from '../editor/marks';
|
|
7
8
|
export interface NavigationState {
|
|
@@ -27,10 +28,12 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
|
27
28
|
navigate: (state: NavigationState) => any;
|
|
28
29
|
import: (result: MathMLImport) => any;
|
|
29
30
|
edit: (state: EditorState, info: EditInfo) => any;
|
|
31
|
+
"paste-presentation": (paste: PresentationPaste) => any;
|
|
30
32
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
31
33
|
onNavigate?: ((state: NavigationState) => any) | undefined;
|
|
32
34
|
onImport?: ((result: MathMLImport) => any) | undefined;
|
|
33
35
|
onEdit?: ((state: EditorState, info: EditInfo) => any) | undefined;
|
|
36
|
+
"onPaste-presentation"?: ((paste: PresentationPaste) => any) | undefined;
|
|
34
37
|
}>, {
|
|
35
38
|
anchor: Cursor | null;
|
|
36
39
|
active: boolean;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type PresentationPaste, type PresentationReading } from '../editor/presentationImport';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
paste: PresentationPaste;
|
|
4
|
+
greekNames?: boolean;
|
|
5
|
+
typesetNames?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
closed: (reading: PresentationReading | null) => any;
|
|
9
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
+
onClosed?: ((reading: PresentationReading | null) => any) | undefined;
|
|
11
|
+
}>, {
|
|
12
|
+
greekNames: boolean;
|
|
13
|
+
typesetNames: boolean;
|
|
14
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
@@ -7,4 +7,5 @@ export interface LatexOptions {
|
|
|
7
7
|
typesetNames?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare function rowToLatexSource(row: Row, options?: LatexOptions): string;
|
|
10
|
+
export declare function commasAsUnderscores(atoms: Row, count: number): Row;
|
|
10
11
|
export declare function latexToRow(text: string): Row;
|
|
@@ -34,6 +34,7 @@ export declare const insertSquareRoot: Command;
|
|
|
34
34
|
export declare const insertNthRoot: Command;
|
|
35
35
|
export declare const insertAbs: Command;
|
|
36
36
|
export declare const insertDerivative: Command;
|
|
37
|
+
export declare function decorateName(keyword: string): Command;
|
|
37
38
|
export declare function namedCommand(name: string): Command;
|
|
38
39
|
export interface CommandSuggestion {
|
|
39
40
|
name: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type LatexOptions } from './clipboard';
|
|
2
2
|
import type { Row } from './layout';
|
|
3
3
|
import { type ContentMathMLOptions } from '../renderers/mathml';
|
|
4
|
-
export type ExportFormat = 'latex' | 'mathjson' | 'mathml';
|
|
4
|
+
export type ExportFormat = 'latex' | 'mathjson' | 'mathml' | 'word';
|
|
5
5
|
export declare const EXPORT_FORMATS: ReadonlyArray<{
|
|
6
6
|
format: ExportFormat;
|
|
7
7
|
label: string;
|
|
@@ -14,6 +14,7 @@ export interface NameRun {
|
|
|
14
14
|
functionName: string | null;
|
|
15
15
|
}
|
|
16
16
|
export declare function nameRuns(row: Row): NameRun[];
|
|
17
|
+
export declare function isOneName(atoms: Row): boolean;
|
|
17
18
|
export declare function numberRuns(row: Row): NumberRun[];
|
|
18
19
|
export declare const unitsName: (atom: UnitsAtom) => string;
|
|
19
20
|
export declare const DEFAULT_OTHERWISE = "0.0";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const nameOf: (el: Element) => string;
|
|
2
|
+
export declare const childElements: (el: Element) => Element[];
|
|
3
|
+
export declare const child: (el: Element, name: string) => Element | undefined;
|
|
4
|
+
export declare function attributeOf(el: Element, name: string): string | null;
|
|
5
|
+
export declare function decodeNamedEntities(text: string): string;
|
|
6
|
+
export declare function parseXml(text: string): Document | null;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type TextStyle = 'italic' | 'upright';
|
|
2
|
+
export type MathNode = {
|
|
3
|
+
kind: 'text';
|
|
4
|
+
text: string;
|
|
5
|
+
style: TextStyle;
|
|
6
|
+
token?: 'mi' | 'mn' | 'mo' | 'mtext';
|
|
7
|
+
explicit?: true;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'fraction';
|
|
10
|
+
num: MathNode[];
|
|
11
|
+
den: MathNode[];
|
|
12
|
+
bar: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'scripts';
|
|
15
|
+
base: MathNode[];
|
|
16
|
+
sub: MathNode[] | null;
|
|
17
|
+
sup: MathNode[] | null;
|
|
18
|
+
} | {
|
|
19
|
+
kind: 'radical';
|
|
20
|
+
body: MathNode[];
|
|
21
|
+
index: MathNode[] | null;
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'fenced';
|
|
24
|
+
open: string;
|
|
25
|
+
close: string;
|
|
26
|
+
separator: string;
|
|
27
|
+
items: MathNode[][];
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'function';
|
|
30
|
+
name: MathNode[];
|
|
31
|
+
argument: MathNode[];
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'accent';
|
|
34
|
+
base: MathNode[];
|
|
35
|
+
mark: string;
|
|
36
|
+
position: 'over' | 'under';
|
|
37
|
+
what: string;
|
|
38
|
+
} | {
|
|
39
|
+
kind: 'table';
|
|
40
|
+
rows: MathNode[][][];
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'unsupported';
|
|
43
|
+
what: string;
|
|
44
|
+
written: string;
|
|
45
|
+
};
|
|
46
|
+
export declare const text: (value: string, style?: TextStyle) => MathNode;
|
|
47
|
+
export declare function linearText(nodes: readonly MathNode[]): string;
|
|
48
|
+
export declare function treeLatex(nodes: readonly MathNode[]): string;
|
|
@@ -4,8 +4,37 @@ export interface NamePart {
|
|
|
4
4
|
separator: Range;
|
|
5
5
|
text: Range;
|
|
6
6
|
}
|
|
7
|
+
export type NameAccent = 'bar' | 'hat' | 'tilde' | 'check';
|
|
8
|
+
export interface NameDecoration {
|
|
9
|
+
separator: Range;
|
|
10
|
+
text: Range;
|
|
11
|
+
}
|
|
7
12
|
export interface NameScripts {
|
|
8
13
|
base: Range;
|
|
14
|
+
accent?: NameDecoration & {
|
|
15
|
+
kind: NameAccent;
|
|
16
|
+
};
|
|
17
|
+
charge?: NameDecoration & {
|
|
18
|
+
count: number;
|
|
19
|
+
sign: '+' | '-';
|
|
20
|
+
};
|
|
21
|
+
conc?: NameDecoration;
|
|
9
22
|
parts: NamePart[];
|
|
10
23
|
}
|
|
24
|
+
export declare const NAME_ACCENTS: Readonly<Record<NameAccent, {
|
|
25
|
+
latex: string;
|
|
26
|
+
wide: string;
|
|
27
|
+
copyWide: string;
|
|
28
|
+
mathml: string;
|
|
29
|
+
marks: readonly string[];
|
|
30
|
+
}>>;
|
|
31
|
+
export declare const LATEX_ACCENTS: Readonly<Record<string, NameAccent>>;
|
|
32
|
+
export declare function accentForMark(mark: string): NameAccent | null;
|
|
33
|
+
export declare function keywordSlot(word: string): 0 | 1 | 2 | null;
|
|
34
|
+
export declare const isNameKeyword: (word: string) => boolean;
|
|
35
|
+
export declare function chargeWord(count: number, sign: '+' | '-'): string;
|
|
36
|
+
export declare function chargeFromText(text: string): {
|
|
37
|
+
count: number;
|
|
38
|
+
sign: '+' | '-';
|
|
39
|
+
} | null;
|
|
11
40
|
export declare function nameScripts(values: readonly string[]): NameScripts | null;
|
|
@@ -11,6 +11,7 @@ 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 withNameKeyword(atoms: Row, keyword: string): Row | null;
|
|
14
15
|
export declare function cursorInName(cursor: Cursor | null | undefined, path: RowPath, start: number, end: number): boolean;
|
|
15
16
|
export declare function settleNames<S extends EditorLike>(state: S, options?: NameOptions): S;
|
|
16
17
|
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type MathNode } from './mathTree';
|
|
2
|
+
export declare const OMML_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/math";
|
|
3
|
+
export interface WordEquations {
|
|
4
|
+
equations: MathNode[][];
|
|
5
|
+
textLeftOut: boolean;
|
|
6
|
+
problems: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function hasWordMath(html: string): boolean;
|
|
9
|
+
export declare function wordEquationsFromHtml(html: string): WordEquations | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Row } from './layout';
|
|
2
|
+
import { type MathMLImport } from './mathmlImport';
|
|
3
|
+
import type { PresentationPaste } from './presentationImport';
|
|
4
|
+
export type PastedContent = {
|
|
5
|
+
kind: 'atoms';
|
|
6
|
+
atoms: Row;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'content-mathml';
|
|
9
|
+
result: MathMLImport;
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'presentation';
|
|
12
|
+
paste: PresentationPaste;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'unreadable';
|
|
15
|
+
message: string;
|
|
16
|
+
};
|
|
17
|
+
export interface ClipboardText {
|
|
18
|
+
own?: string;
|
|
19
|
+
html?: string;
|
|
20
|
+
text?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const LINEAR_FORMAT_MESSAGE = "This looks like a Word equation as text, which can\u2019t be read. In Word, open Equation Options and turn on \u201CCopy MathML to the clipboard as plain text\u201D, then copy the equation again.";
|
|
23
|
+
export declare function readPastedData({ own, html, text }: ClipboardText): PastedContent;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type Row } from './layout';
|
|
2
|
+
import { type MathNode } from './mathTree';
|
|
3
|
+
import type { MathMLImport } from './mathmlImport';
|
|
4
|
+
export interface PresentationPaste {
|
|
5
|
+
source: 'word' | 'mathml';
|
|
6
|
+
equations: MathNode[][];
|
|
7
|
+
textLeftOut: boolean;
|
|
8
|
+
problems: string[];
|
|
9
|
+
}
|
|
10
|
+
export type PasteChoices = ReadonlyMap<string, string>;
|
|
11
|
+
export type AssumptionKind = 'derivative' | 'exponential' | 'name-superscript' | 'e-notation' | 'digit-superscript';
|
|
12
|
+
export interface PasteOption {
|
|
13
|
+
id: string;
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PasteAssumption {
|
|
17
|
+
id: string;
|
|
18
|
+
line: number;
|
|
19
|
+
kind: AssumptionKind;
|
|
20
|
+
question: string;
|
|
21
|
+
latex: string;
|
|
22
|
+
written: string;
|
|
23
|
+
options: readonly PasteOption[];
|
|
24
|
+
chosen: string;
|
|
25
|
+
atomIds: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface PasteOmission {
|
|
28
|
+
line: number;
|
|
29
|
+
what: string;
|
|
30
|
+
written: string;
|
|
31
|
+
message: string;
|
|
32
|
+
atomIds: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface PresentationReading extends MathMLImport {
|
|
35
|
+
assumptions: PasteAssumption[];
|
|
36
|
+
omissions: PasteOmission[];
|
|
37
|
+
notes: string[];
|
|
38
|
+
}
|
|
39
|
+
export declare function readPresentation(paste: PresentationPaste, choices?: PasteChoices): PresentationReading;
|
|
40
|
+
export declare function atomsText(atoms: Row): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const greekName: (character: string) => string | undefined;
|
|
2
|
+
export declare const greekCharacter: (name: string) => string | undefined;
|
|
3
|
+
export declare const operatorSymbol: (character: string) => string | undefined;
|
|
4
|
+
export declare const constantSymbol: (character: string) => string | undefined;
|
|
5
|
+
export declare const FUNCTION_APPLICATION = "\u2061";
|
|
6
|
+
export declare const DIFFERENTIAL_D = "\u2146";
|
|
7
|
+
export declare const PARTIAL = "\u2202";
|
|
8
|
+
export declare const isSpace: (character: string) => boolean;
|
|
9
|
+
export declare function plainCharacter(character: string): {
|
|
10
|
+
character: string;
|
|
11
|
+
italic: boolean | null;
|
|
12
|
+
};
|
|
13
|
+
export declare const superscriptDigit: (character: string) => string | undefined;
|
|
14
|
+
export declare const isPrime: (character: string) => boolean;
|
|
@@ -38,8 +38,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
38
38
|
"onUpdate:newUnits"?: ((value: UnitsDefinition[]) => any) | undefined;
|
|
39
39
|
}>, {
|
|
40
40
|
checking: boolean;
|
|
41
|
-
issues: readonly UnitsIssue[];
|
|
42
41
|
problems: readonly UnitsLibraryProblem[];
|
|
42
|
+
issues: readonly UnitsIssue[];
|
|
43
43
|
files: readonly {
|
|
44
44
|
name: string;
|
|
45
45
|
units: readonly string[];
|