@lofcz/pptist 2.0.20 → 2.0.21
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/embed/agentic-manifest.json +7 -5
- package/dist/embed/chunks/mathlive.min-Bl0OCKCJ.js +39046 -0
- package/dist/embed/chunks/texmath-Ca6UVlA5.js +215 -0
- package/dist/embed/fonts/KaTeX_AMS-400-normal-34494743.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Caligraphic-400-normal-9f8077e0.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Caligraphic-700-normal-5bfa49ca.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Fraktur-400-normal-a5764c6e.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Fraktur-700-normal-f98f8927.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Main-400-italic-c9b2b5ff.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Main-400-normal-c884086c.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Main-700-italic-a4a4905b.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Main-700-normal-31050a1b.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Math-400-italic-db4883d0.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Math-700-italic-8fcb9d2d.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_SansSerif-400-italic-3d5fa3cb.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_SansSerif-400-normal-e45d5f4f.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_SansSerif-700-normal-886e6179.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Script-400-normal-63b80959.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Size1-400-normal-57fa5999.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Size2-400-normal-ee187136.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Size3-400-normal-19a7caad.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Size4-400-normal-9bed17fb.woff2 +0 -0
- package/dist/embed/fonts/KaTeX_Typewriter-400-normal-7a08883f.woff2 +0 -0
- package/dist/embed/pptist-embed.css +1 -1
- package/dist/embed/pptist-embed.js +79048 -78627
- package/dist/types/embed/mount.d.ts +2 -0
- package/dist/types/i18n/i18n-types.d.ts +28 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/utils/emitter.d.ts +21 -1
- package/dist/types/utils/katex-stub.d.ts +15 -0
- package/dist/types/utils/markdown.d.ts +1 -1
- package/dist/types/utils/math.d.ts +57 -0
- package/dist/types/utils/prosemirror/schema/index.d.ts +1 -0
- package/dist/types/utils/prosemirror/schema/nodes.d.ts +1 -0
- package/dist/types/utils/textFit.d.ts +73 -0
- package/dist/types/views/Editor/InlineMathEditorDialog.vue.d.ts +3 -0
- package/dist/types/views/components/element/TableElement/utils.d.ts +10 -0
- package/dist/types/views/components/element/hooks/useTextFit.d.ts +18 -0
- package/package.json +2 -2
- package/dist/embed/chunks/katex-CYXlUYaK.js +0 -21817
- package/dist/embed/chunks/texmath-By1nWhxV.js +0 -22173
- /package/dist/embed/fonts/{AlibabaPuHuiTi.woff2 → AlibabaPuHuiTi-6313a86b.woff2} +0 -0
- /package/dist/embed/fonts/{DeYiHei.woff2 → DeYiHei-b28e2636.woff2} +0 -0
- /package/dist/embed/fonts/{Inter.woff2 → Inter-4074cf0a.woff2} +0 -0
- /package/dist/embed/fonts/{JetBrainsMono.woff2 → JetBrainsMono-a4e25a97.woff2} +0 -0
- /package/dist/embed/fonts/{LXGWNeoXiHei.woff2 → LXGWNeoXiHei-60b0871c.woff2} +0 -0
- /package/dist/embed/fonts/{LXGWNeoZhiSong.woff2 → LXGWNeoZhiSong-9aaae14d.woff2} +0 -0
- /package/dist/embed/fonts/{LXGWWenKai.woff2 → LXGWWenKai-f26bb608.woff2} +0 -0
- /package/dist/embed/fonts/{Lato.woff2 → Lato-90c2b482.woff2} +0 -0
- /package/dist/embed/fonts/{Literata.woff2 → Literata-31359124.woff2} +0 -0
- /package/dist/embed/fonts/{Merriweather.woff2 → Merriweather-40d48271.woff2} +0 -0
- /package/dist/embed/fonts/{MiSans.woff2 → MiSans-1b1362c0.woff2} +0 -0
- /package/dist/embed/fonts/{Montserrat.woff2 → Montserrat-3f6c7436.woff2} +0 -0
- /package/dist/embed/fonts/{OpenSans.woff2 → OpenSans-1f8c4a74.woff2} +0 -0
- /package/dist/embed/fonts/{Roboto.woff2 → Roboto-8df37b32.woff2} +0 -0
- /package/dist/embed/fonts/{SourceHanSans.woff2 → SourceHanSans-639ce484.woff2} +0 -0
- /package/dist/embed/fonts/{SourceHanSerif.woff2 → SourceHanSerif-076e69d8.woff2} +0 -0
- /package/dist/embed/fonts/{SourceSansPro.woff2 → SourceSansPro-2e5c488e.woff2} +0 -0
- /package/dist/embed/fonts/{SourceSerif4.woff2 → SourceSerif4-e250b371.woff2} +0 -0
- /package/dist/embed/fonts/{WenDingPLKaiTi.woff2 → WenDingPLKaiTi-8c595bad.woff2} +0 -0
- /package/dist/embed/fonts/{WenDingPLSongTi.woff2 → WenDingPLSongTi-99ca3c11.woff2} +0 -0
- /package/dist/embed/fonts/{ZhuQueFangSong.woff2 → ZhuQueFangSong-f53fc6b0.woff2} +0 -0
|
@@ -551,6 +551,20 @@ export type NamespaceComponentsTranslation = {
|
|
|
551
551
|
*/
|
|
552
552
|
formulaEmpty: string;
|
|
553
553
|
};
|
|
554
|
+
inlineMathEditor: {
|
|
555
|
+
/**
|
|
556
|
+
* Edit formula
|
|
557
|
+
*/
|
|
558
|
+
title: string;
|
|
559
|
+
/**
|
|
560
|
+
* Enter a formula
|
|
561
|
+
*/
|
|
562
|
+
inputPlaceholder: string;
|
|
563
|
+
/**
|
|
564
|
+
* Formula cannot be empty
|
|
565
|
+
*/
|
|
566
|
+
empty: string;
|
|
567
|
+
};
|
|
554
568
|
};
|
|
555
569
|
export type NamespaceConfigsTranslation = {
|
|
556
570
|
shapes: {
|
|
@@ -5144,6 +5158,20 @@ export type TranslationFunctions = {
|
|
|
5144
5158
|
*/
|
|
5145
5159
|
formulaEmpty: () => LocalizedString;
|
|
5146
5160
|
};
|
|
5161
|
+
inlineMathEditor: {
|
|
5162
|
+
/**
|
|
5163
|
+
* Edit formula
|
|
5164
|
+
*/
|
|
5165
|
+
title: () => LocalizedString;
|
|
5166
|
+
/**
|
|
5167
|
+
* Enter a formula
|
|
5168
|
+
*/
|
|
5169
|
+
inputPlaceholder: () => LocalizedString;
|
|
5170
|
+
/**
|
|
5171
|
+
* Formula cannot be empty
|
|
5172
|
+
*/
|
|
5173
|
+
empty: () => LocalizedString;
|
|
5174
|
+
};
|
|
5147
5175
|
};
|
|
5148
5176
|
configs: {
|
|
5149
5177
|
shapes: {
|
package/dist/types/main.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ export declare const enum EmitterEvents {
|
|
|
4
4
|
TABLE_COMMAND = "TABLE_COMMAND",
|
|
5
5
|
SYNC_RICH_TEXT_ATTRS_TO_STORE = "SYNC_RICH_TEXT_ATTRS_TO_STORE",
|
|
6
6
|
OPEN_CHART_DATA_EDITOR = "OPEN_CHART_DATA_EDITOR",
|
|
7
|
-
OPEN_LATEX_EDITOR = "OPEN_LATEX_EDITOR"
|
|
7
|
+
OPEN_LATEX_EDITOR = "OPEN_LATEX_EDITOR",
|
|
8
|
+
OPEN_INLINE_MATH_EDITOR = "OPEN_INLINE_MATH_EDITOR",
|
|
9
|
+
APPLY_INLINE_MATH = "APPLY_INLINE_MATH"
|
|
8
10
|
}
|
|
9
11
|
export interface RichTextAction {
|
|
10
12
|
command: string;
|
|
@@ -19,12 +21,30 @@ export interface TableCommand {
|
|
|
19
21
|
command: 'insert-row' | 'insert-col' | 'delete-row' | 'delete-col';
|
|
20
22
|
position?: 'before' | 'after';
|
|
21
23
|
}
|
|
24
|
+
/** Request to open the inline-math (MathLive) editor for a math node in a text element. */
|
|
25
|
+
export interface OpenInlineMathPayload {
|
|
26
|
+
elementId: string;
|
|
27
|
+
/** Document position immediately before the math node (for `setNodeMarkup`). */
|
|
28
|
+
pos: number;
|
|
29
|
+
latex: string;
|
|
30
|
+
display: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** Result of editing an inline-math node, applied back to its text element. */
|
|
33
|
+
export interface ApplyInlineMathPayload {
|
|
34
|
+
elementId: string;
|
|
35
|
+
pos: number;
|
|
36
|
+
latex: string;
|
|
37
|
+
html: string;
|
|
38
|
+
display: boolean;
|
|
39
|
+
}
|
|
22
40
|
type Events = {
|
|
23
41
|
[EmitterEvents.RICH_TEXT_COMMAND]: RichTextCommand;
|
|
24
42
|
[EmitterEvents.TABLE_COMMAND]: TableCommand;
|
|
25
43
|
[EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE]: void;
|
|
26
44
|
[EmitterEvents.OPEN_CHART_DATA_EDITOR]: void;
|
|
27
45
|
[EmitterEvents.OPEN_LATEX_EDITOR]: void;
|
|
46
|
+
[EmitterEvents.OPEN_INLINE_MATH_EDITOR]: OpenInlineMathPayload;
|
|
47
|
+
[EmitterEvents.APPLY_INLINE_MATH]: ApplyInlineMathPayload;
|
|
28
48
|
};
|
|
29
49
|
declare const emitter: Emitter<Events>;
|
|
30
50
|
export default emitter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stub that replaces the real `katex` package at build time.
|
|
3
|
+
*
|
|
4
|
+
* `markdown-it-texmath` contains a static `require('katex')` fallback that the
|
|
5
|
+
* bundler must resolve even though PPTist always passes a MathLive `engine`
|
|
6
|
+
* adapter (see `utils/math.ts`), so that branch is never executed. Aliasing
|
|
7
|
+
* `katex` to this stub (in `vite.config.ts` / `vite.config.embed.ts`) lets us
|
|
8
|
+
* drop the real ~280KB KaTeX dependency while keeping the require resolvable.
|
|
9
|
+
*/
|
|
10
|
+
declare function renderToString(): string;
|
|
11
|
+
export { renderToString };
|
|
12
|
+
declare const _default: {
|
|
13
|
+
renderToString: typeof renderToString;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
@@ -25,7 +25,7 @@ export declare function tokenizeMath(source: string): ContentSegment[];
|
|
|
25
25
|
export declare function splitLinesPreservingMath(value: string): string[];
|
|
26
26
|
export declare function markdownToHtml(markdown: string): Promise<string>;
|
|
27
27
|
/**
|
|
28
|
-
* Preload the math-capable markdown parser (lazy
|
|
28
|
+
* Preload the math-capable markdown parser (lazy MathLive + texmath) so
|
|
29
29
|
* `renderInlineMarkdown` can render `$…$` math synchronously afterwards. No-op
|
|
30
30
|
* once loaded; call before rendering content that may contain math.
|
|
31
31
|
*/
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared MathLive typesetting helpers.
|
|
3
|
+
*
|
|
4
|
+
* LaTeX is the single source of truth for in-text math. It is carried on a
|
|
5
|
+
* canonical wrapper element:
|
|
6
|
+
*
|
|
7
|
+
* <span class="pptist-math" data-latex="\frac{1}{2}" data-display="false">…markup…</span>
|
|
8
|
+
*
|
|
9
|
+
* The inner markup is MathLive's `convertLatexToMarkup` output, preserved in the
|
|
10
|
+
* stored HTML so the static render paths (`v-html`) and ProseMirror round-trips
|
|
11
|
+
* never need to re-typeset existing content. MathLive itself is lazy-loaded the
|
|
12
|
+
* first time math actually appears (or the editor opens), so decks without math
|
|
13
|
+
* never pull it into the bundle. Static styling comes from `mathlive/static.css`
|
|
14
|
+
* + `mathlive/fonts.css`, imported once at app/embed bootstrap.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MATH_CLASS = "pptist-math";
|
|
17
|
+
type ConvertLatexToMarkup = (latex: string, options?: {
|
|
18
|
+
defaultMode?: 'inline-math' | 'math' | 'text';
|
|
19
|
+
}) => string;
|
|
20
|
+
interface MathliveModule {
|
|
21
|
+
convertLatexToMarkup: ConvertLatexToMarkup;
|
|
22
|
+
MathfieldElement: {
|
|
23
|
+
fontsDirectory: string | null;
|
|
24
|
+
soundsDirectory: string | null;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reactive flag flipped to `true` once MathLive has loaded. Reading it inside a
|
|
29
|
+
* render (e.g. table `formatText`) registers a dependency so the math re-renders
|
|
30
|
+
* the moment the engine becomes available.
|
|
31
|
+
*/
|
|
32
|
+
export declare const mathReady: import("vue").Ref<boolean, boolean>;
|
|
33
|
+
/** Lazily import MathLive and configure it for a bundled (offline) font setup. */
|
|
34
|
+
export declare function ensureMathliveReady(): Promise<MathliveModule>;
|
|
35
|
+
/** Escape a string for safe inclusion in a double-quoted HTML attribute. */
|
|
36
|
+
export declare function escapeLatexAttr(latex: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Render `latex` to the canonical `span.pptist-math` wrapper HTML string. Must
|
|
39
|
+
* only be called once {@link ensureMathliveReady} has resolved (the markdown
|
|
40
|
+
* pipeline and editor await it; tables fall back to literal source until ready).
|
|
41
|
+
*/
|
|
42
|
+
export declare function renderMathToHtml(latex: string, display?: boolean): string;
|
|
43
|
+
/**
|
|
44
|
+
* Build a real `span.pptist-math` DOM node for the given latex/markup. Used by
|
|
45
|
+
* the ProseMirror schema `toDOM` so the editor DOM (and the innerHTML persisted
|
|
46
|
+
* on edit) is the same canonical wrapper the parser reads back.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildMathElement(latex: string, html: string, display?: boolean): HTMLSpanElement;
|
|
49
|
+
/** Engine adapter that lets `markdown-it-texmath` typeset via MathLive. */
|
|
50
|
+
export declare const texmathEngine: {
|
|
51
|
+
renderToString(latex: string, options?: {
|
|
52
|
+
displayMode?: boolean;
|
|
53
|
+
}): string;
|
|
54
|
+
};
|
|
55
|
+
/** True when an HTML string already contains rendered/wrapped math. */
|
|
56
|
+
export declare function htmlContainsMath(html: string): boolean;
|
|
57
|
+
export {};
|
|
@@ -3,6 +3,7 @@ export declare const schemaNodes: {
|
|
|
3
3
|
paragraph: import("prosemirror-model").NodeSpec;
|
|
4
4
|
blockquote: import("prosemirror-model").NodeSpec;
|
|
5
5
|
text: import("prosemirror-model").NodeSpec;
|
|
6
|
+
math: import("prosemirror-model").NodeSpec;
|
|
6
7
|
ordered_list: import("prosemirror-model").NodeSpec;
|
|
7
8
|
bullet_list: import("prosemirror-model").NodeSpec;
|
|
8
9
|
list_item: import("prosemirror-model").NodeSpec;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** ProseMirror's default text size (assets/styles/prosemirror.scss). */
|
|
2
|
+
export declare const DEFAULT_TEXT_FONT_SIZE = 16;
|
|
3
|
+
/** Horizontal space a list marker + indent steals from a bullet's text column. */
|
|
4
|
+
export declare const BULLET_INDENT = 28;
|
|
5
|
+
/** A single measurable text block (one paragraph or one list item). */
|
|
6
|
+
export interface TextFitBlock {
|
|
7
|
+
/** Plain text of the block (markers stripped). */
|
|
8
|
+
text: string;
|
|
9
|
+
/** Font size in px the block renders at (its largest run, to stay safe). */
|
|
10
|
+
size: number;
|
|
11
|
+
bold?: boolean;
|
|
12
|
+
italic?: boolean;
|
|
13
|
+
fontFamily: string;
|
|
14
|
+
/** When true, a list marker indent is subtracted from the text column. */
|
|
15
|
+
listItem?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface MeasureBlocksOptions {
|
|
18
|
+
/** Box content width in px (insets already removed). */
|
|
19
|
+
innerWidth: number;
|
|
20
|
+
/** Line height multiplier (e.g. 1.5). */
|
|
21
|
+
lineHeight: number;
|
|
22
|
+
/** Vertical gap added between consecutive blocks, in px. */
|
|
23
|
+
blockSpace?: number;
|
|
24
|
+
/** Indent subtracted from the text column for list items, in px. */
|
|
25
|
+
bulletIndent?: number;
|
|
26
|
+
letterSpacing?: number;
|
|
27
|
+
/** Multiply every size + gap by this factor before measuring (default 1). */
|
|
28
|
+
scale?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Total wrapped height (px) of `blocks` laid out in a column of `innerWidth`.
|
|
32
|
+
* Each block is measured independently with its own font, then summed with the
|
|
33
|
+
* inter-block gap. Returns 0 for an empty input.
|
|
34
|
+
*/
|
|
35
|
+
export declare function measureTextBlocksHeight(blocks: TextFitBlock[], options: MeasureBlocksOptions): number;
|
|
36
|
+
export interface FitScaleOptions {
|
|
37
|
+
innerWidth: number;
|
|
38
|
+
innerHeight: number;
|
|
39
|
+
lineHeight: number;
|
|
40
|
+
blockSpace?: number;
|
|
41
|
+
bulletIndent?: number;
|
|
42
|
+
letterSpacing?: number;
|
|
43
|
+
/** Smallest scale to fall back to before clipping takes over (default 0.2). */
|
|
44
|
+
minScale?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Largest uniform scale in `[minScale, 1]` at which `blocks` fit `innerHeight`.
|
|
48
|
+
*
|
|
49
|
+
* The renderer applies the result as `transform: scale(s)`, which scales the
|
|
50
|
+
* already-wrapped block geometrically — so the on-screen height is exactly
|
|
51
|
+
* `naturalHeight * s`. That makes the fit a single measurement (no search):
|
|
52
|
+
* `s = innerHeight / naturalHeight`, clamped. Returns 1 when content already
|
|
53
|
+
* fits (or when measurement isn't possible).
|
|
54
|
+
*/
|
|
55
|
+
export declare function fitScaleForBlocks(blocks: TextFitBlock[], options: FitScaleOptions): number;
|
|
56
|
+
export type TextFitAlign = 'left' | 'center' | 'right';
|
|
57
|
+
export interface ExtractedContent {
|
|
58
|
+
blocks: TextFitBlock[];
|
|
59
|
+
/** Dominant horizontal alignment (first non-empty block), for the scale origin. */
|
|
60
|
+
align: TextFitAlign;
|
|
61
|
+
}
|
|
62
|
+
export interface ExtractOptions {
|
|
63
|
+
defaultFontFamily: string;
|
|
64
|
+
defaultSize?: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Parse a PPTist rich-text HTML string into measurable blocks. Each list item
|
|
68
|
+
* and top-level paragraph/quote becomes one block; a block's representative font
|
|
69
|
+
* size is the largest inline size in it (so measurement never under-estimates).
|
|
70
|
+
* Returns no blocks when there's no DOM parser or no text. List items are tagged
|
|
71
|
+
* so the marker indent is accounted for.
|
|
72
|
+
*/
|
|
73
|
+
export declare function extractFitBlocksFromHtml(html: string, options: ExtractOptions): ExtractedContent;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -8,4 +8,14 @@ export declare const getCellStyle: (outline: PPTElementOutline, style?: TableCel
|
|
|
8
8
|
* Compute table cell text layout styles from optional cell style.
|
|
9
9
|
*/
|
|
10
10
|
export declare const getTextStyle: (cellMinHeight: number, style?: TableCellStyle) => CSSProperties;
|
|
11
|
+
/**
|
|
12
|
+
* Render a table cell's stored source for display. Plain text keeps the legacy
|
|
13
|
+
* newline/space escaping; cells whose source contains math (`$…$`, `$$…$$`,
|
|
14
|
+
* `\(…\)`, …) get each formula typeset with MathLive into the canonical
|
|
15
|
+
* `span.pptist-math` wrapper while the surrounding text stays escaped.
|
|
16
|
+
*
|
|
17
|
+
* Reads the reactive {@link mathReady} flag so the cell re-renders the moment
|
|
18
|
+
* MathLive finishes loading (kicked off lazily here on first math encounter);
|
|
19
|
+
* until then math segments fall back to their literal LaTeX source.
|
|
20
|
+
*/
|
|
11
21
|
export declare const formatText: (text: string) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type CSSProperties, type Ref } from 'vue';
|
|
2
|
+
import type { PPTTextElement } from '../../../../types/slides';
|
|
3
|
+
/**
|
|
4
|
+
* Auto-fit a fixed-size text box so its content never overflows.
|
|
5
|
+
*
|
|
6
|
+
* Only fixed-height (`fixedHeight`) text boxes are constrained — they have a
|
|
7
|
+
* locked region instead of growing to fit. We measure the rendered content with
|
|
8
|
+
* pretext (the same engine the agentic layout builder uses) and return a uniform
|
|
9
|
+
* scale (<= 1) plus a transform-origin that respects the box's horizontal
|
|
10
|
+
* alignment and `vAlign`. The renderer applies these to the text node as a CSS
|
|
11
|
+
* transform, shrinking the type down from its authored size only as far as
|
|
12
|
+
* needed. Vertical (top-to-bottom) text is left unscaled.
|
|
13
|
+
*/
|
|
14
|
+
declare const _default: (elementInfo: Ref<PPTTextElement>) => {
|
|
15
|
+
fitScale: Ref<number, number>;
|
|
16
|
+
fitStyle: import("vue").ComputedRef<CSSProperties>;
|
|
17
|
+
};
|
|
18
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lofcz/pptist",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.21",
|
|
4
4
|
"description": "PPTist presentation editor embed bundle with a typed agentic bridge.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/embed/pptist-embed.js",
|
|
@@ -75,10 +75,10 @@
|
|
|
75
75
|
"hfmath": "^0.0.2",
|
|
76
76
|
"html-to-image": "^1.11.13",
|
|
77
77
|
"jsonrepair": "^3.13.2",
|
|
78
|
-
"katex": "^0.17.0",
|
|
79
78
|
"lodash": "^4.17.21",
|
|
80
79
|
"markdown-it": "^14.2.0",
|
|
81
80
|
"markdown-it-texmath": "^1.0.0",
|
|
81
|
+
"mathlive": "^0.110.0",
|
|
82
82
|
"mitt": "^3.0.1",
|
|
83
83
|
"nanoid": "^5.0.7",
|
|
84
84
|
"number-precision": "^1.6.0",
|