@lofcz/pptist 2.0.8 → 2.0.10
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 +206 -36
- package/dist/embed/pptist-embed.css +1 -1
- package/dist/embed/pptist-embed.js +20751 -20499
- package/dist/types/configs/font.d.ts +6 -4
- package/dist/types/embed/agentic/layouts.d.ts +72 -0
- package/dist/types/embed/agentic/styles.d.ts +111 -0
- package/dist/types/embed/agentic/templates.d.ts +32 -0
- package/dist/types/embed/agentic/types.d.ts +43 -0
- package/dist/types/i18n/i18n-types.d.ts +2 -2
- package/dist/types/store/slides.d.ts +3 -0
- package/dist/types/types/slides.d.ts +7 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
label: import("typesafe-i18n").LocalizedString;
|
|
1
|
+
export interface FontOption {
|
|
2
|
+
label: string;
|
|
4
3
|
value: string;
|
|
5
|
-
}
|
|
4
|
+
}
|
|
5
|
+
export declare const EASTERN_EXTRAS_FONT_VALUES: string[];
|
|
6
|
+
export declare function getFonts(): FontOption[];
|
|
7
|
+
export declare function useFonts(): import("vue").ComputedRef<FontOption[]>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compositional slide layouts for the agentic bridge.
|
|
3
|
+
*
|
|
4
|
+
* A "layout" is a named, pre-composed slide recipe (title, bullets, two-column,
|
|
5
|
+
* image+text, big stat, quote, chart, comparison, …). The agent picks a layout
|
|
6
|
+
* by id and fills a few content *slots*; the builder here lays out themed,
|
|
7
|
+
* contrast-safe elements using the active style preset's role tokens and a
|
|
8
|
+
* fixed margin grid. This is the preferred way to add slides — it removes the
|
|
9
|
+
* need to hand-place boxes or hand-pick colors/sizes, and it never emits raw
|
|
10
|
+
* authoring HTML the agent has to reason about.
|
|
11
|
+
*
|
|
12
|
+
* Builders are deterministic and pure (no async, no store access): given a
|
|
13
|
+
* viewport, a style preset, and slots, they return a `Partial<Slide>` that the
|
|
14
|
+
* bridge normalizes and inserts. Text content is rendered to the small, safe
|
|
15
|
+
* HTML subset PPTist stores (`<p>/<ul>/<li>/<span style>` with inline size and
|
|
16
|
+
* color), with light inline markdown (`**bold**`, `_italic_`, `` `code` ``).
|
|
17
|
+
*/
|
|
18
|
+
import type { PPTChartElement, PPTImageElement, PPTShapeElement, PPTTableElement, PPTTextElement, Slide } from '../../types/slides';
|
|
19
|
+
import type { PptistStylePreset } from './styles';
|
|
20
|
+
/**
|
|
21
|
+
* Un-normalized element inputs the builder emits. Typed as a discriminated
|
|
22
|
+
* union of per-type partials so the engine's required fields are still checked,
|
|
23
|
+
* while letting the bridge's `normalizeElement` fill ids/defaults on insert.
|
|
24
|
+
*/
|
|
25
|
+
export type PptistLayoutElementInput = (Partial<PPTTextElement> & {
|
|
26
|
+
type: 'text';
|
|
27
|
+
}) | (Partial<PPTShapeElement> & {
|
|
28
|
+
type: 'shape';
|
|
29
|
+
}) | (Partial<PPTImageElement> & {
|
|
30
|
+
type: 'image';
|
|
31
|
+
}) | (Partial<PPTChartElement> & {
|
|
32
|
+
type: 'chart';
|
|
33
|
+
}) | (Partial<PPTTableElement> & {
|
|
34
|
+
type: 'table';
|
|
35
|
+
});
|
|
36
|
+
export type PptistLayoutBackgroundMode = 'auto' | 'feature' | 'plain';
|
|
37
|
+
export interface PptistLayoutSlotDef {
|
|
38
|
+
name: string;
|
|
39
|
+
/** Coarse shape of the value the agent should pass for this slot. */
|
|
40
|
+
type: 'text' | 'bullets' | 'image' | 'chart' | 'stats' | 'rows';
|
|
41
|
+
required: boolean;
|
|
42
|
+
description: string;
|
|
43
|
+
}
|
|
44
|
+
export interface PptistLayout {
|
|
45
|
+
id: string;
|
|
46
|
+
label: string;
|
|
47
|
+
/** One-line catalog description of the composition (what it looks like). */
|
|
48
|
+
summary: string;
|
|
49
|
+
/** When to reach for it. */
|
|
50
|
+
bestFor: string;
|
|
51
|
+
/** Whether it defaults to a feature (dark) background. */
|
|
52
|
+
feature: boolean;
|
|
53
|
+
slots: PptistLayoutSlotDef[];
|
|
54
|
+
}
|
|
55
|
+
type Slots = Record<string, unknown>;
|
|
56
|
+
export declare const PPTX_LAYOUTS: PptistLayout[];
|
|
57
|
+
export declare function listLayouts(): PptistLayout[];
|
|
58
|
+
export interface PptistLayoutBuildResult {
|
|
59
|
+
slide: Partial<Slide>;
|
|
60
|
+
warnings: string[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Build a themed slide from a layout id + content slots. Pure and deterministic:
|
|
64
|
+
* returns a `Partial<Slide>` (background + un-normalized elements) plus any
|
|
65
|
+
* non-fatal warnings (e.g. a missing optional image). Throws on missing
|
|
66
|
+
* required slots or an unknown layout.
|
|
67
|
+
*/
|
|
68
|
+
export declare function buildLayoutSlide(layoutId: string, slots: Slots, preset: PptistStylePreset, viewport: {
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
}, backgroundMode?: PptistLayoutBackgroundMode): PptistLayoutBuildResult;
|
|
72
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Style presets for the agentic bridge.
|
|
3
|
+
*
|
|
4
|
+
* A "style" is a small, curated bundle of design tokens — a color palette with
|
|
5
|
+
* named *roles* (background / title / body / accent / …), a heading+body font
|
|
6
|
+
* pairing, and a typographic size scale. Presets are hand-tuned so every
|
|
7
|
+
* role-pair clears WCAG AA contrast, which lets the agent build good-looking,
|
|
8
|
+
* legible slides without hand-picking colors or font sizes.
|
|
9
|
+
*
|
|
10
|
+
* The agent flow is:
|
|
11
|
+
* 1. `styles.catalog` → see the available presets.
|
|
12
|
+
* 2. `deck.applyStyle` → pick ONE; it sets the deck theme + records `styleId`.
|
|
13
|
+
* 3. `slides.createFromLayout` → layouts read the active preset's role tokens
|
|
14
|
+
* to place themed, contrast-safe elements.
|
|
15
|
+
*
|
|
16
|
+
* Only the preset *id* is persisted on the deck theme (`theme.styleId`); the
|
|
17
|
+
* rich token data lives here in code, so it always renders deterministically
|
|
18
|
+
* and survives document serialization without bloating the saved deck.
|
|
19
|
+
*/
|
|
20
|
+
import type { SlideTheme } from '../../types/slides';
|
|
21
|
+
/** Named color roles. Every role pairs with a readable foreground/background. */
|
|
22
|
+
export interface PptistStylePalette {
|
|
23
|
+
/** Default slide background (content slides). */
|
|
24
|
+
background: string;
|
|
25
|
+
/** Subtle panel/card fill that sits on `background`. */
|
|
26
|
+
surface: string;
|
|
27
|
+
/** Heading/title text on `background`/`surface`. */
|
|
28
|
+
title: string;
|
|
29
|
+
/** Body/paragraph text on `background`/`surface`. */
|
|
30
|
+
body: string;
|
|
31
|
+
/** De-emphasized text (captions, labels) on `background`/`surface`. */
|
|
32
|
+
muted: string;
|
|
33
|
+
/** Hairline rules, dividers, and thin borders. */
|
|
34
|
+
rule: string;
|
|
35
|
+
/** Primary accent (bars, highlights, key numbers). */
|
|
36
|
+
accent: string;
|
|
37
|
+
/** Secondary accent for variety (second series, alt highlight). */
|
|
38
|
+
accent2: string;
|
|
39
|
+
/** Tinted accent wash for soft panels/bands. */
|
|
40
|
+
accentSoft: string;
|
|
41
|
+
/** Readable foreground when placed on `accent`. */
|
|
42
|
+
onAccent: string;
|
|
43
|
+
/** Feature background for title/section/closing slides (usually dark). */
|
|
44
|
+
featureBackground: string;
|
|
45
|
+
/** Title text on `featureBackground`. */
|
|
46
|
+
featureTitle: string;
|
|
47
|
+
/** Body/subtitle text on `featureBackground`. */
|
|
48
|
+
featureBody: string;
|
|
49
|
+
/** Accent that pops on `featureBackground`. */
|
|
50
|
+
featureAccent: string;
|
|
51
|
+
}
|
|
52
|
+
/** Typographic size scale in px (canvas units), largest → smallest. */
|
|
53
|
+
export interface PptistStyleScale {
|
|
54
|
+
/** Hero/cover title. */
|
|
55
|
+
display: number;
|
|
56
|
+
/** Standard slide title. */
|
|
57
|
+
title: number;
|
|
58
|
+
/** Section header / column heading. */
|
|
59
|
+
sectionHeader: number;
|
|
60
|
+
/** Body copy and bullets. */
|
|
61
|
+
body: number;
|
|
62
|
+
/** Eyebrow labels, kickers, tags. */
|
|
63
|
+
label: number;
|
|
64
|
+
/** Captions, footnotes, source lines. */
|
|
65
|
+
caption: number;
|
|
66
|
+
}
|
|
67
|
+
export interface PptistStyleFonts {
|
|
68
|
+
/** Heading/display font family. */
|
|
69
|
+
heading: string;
|
|
70
|
+
/** Body/paragraph font family. */
|
|
71
|
+
body: string;
|
|
72
|
+
}
|
|
73
|
+
export interface PptistStylePreset {
|
|
74
|
+
id: string;
|
|
75
|
+
/** Human label shown in the catalog. */
|
|
76
|
+
label: string;
|
|
77
|
+
/** One-line description of the look & best use. */
|
|
78
|
+
description: string;
|
|
79
|
+
fonts: PptistStyleFonts;
|
|
80
|
+
palette: PptistStylePalette;
|
|
81
|
+
scale: PptistStyleScale;
|
|
82
|
+
/** Ordered chart series colors derived from the palette. */
|
|
83
|
+
chartColors: string[];
|
|
84
|
+
}
|
|
85
|
+
/** Compact catalog entry (what `styles.catalog` returns to the agent). */
|
|
86
|
+
export interface PptistStyleSummary {
|
|
87
|
+
id: string;
|
|
88
|
+
label: string;
|
|
89
|
+
description: string;
|
|
90
|
+
fonts: PptistStyleFonts;
|
|
91
|
+
/** A few representative colors so the agent can picture the look. */
|
|
92
|
+
preview: {
|
|
93
|
+
background: string;
|
|
94
|
+
title: string;
|
|
95
|
+
body: string;
|
|
96
|
+
accent: string;
|
|
97
|
+
featureBackground: string;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export declare const DEFAULT_STYLE_ID = "academic";
|
|
101
|
+
export declare const PPTX_STYLE_PRESETS: PptistStylePreset[];
|
|
102
|
+
export declare function getStylePreset(id?: string | null): PptistStylePreset | undefined;
|
|
103
|
+
/** Resolve a usable preset, falling back to the default when id is missing/unknown. */
|
|
104
|
+
export declare function resolveStylePreset(id?: string | null): PptistStylePreset;
|
|
105
|
+
export declare function listStylePresets(): PptistStyleSummary[];
|
|
106
|
+
/**
|
|
107
|
+
* Build the deck-theme patch for a preset. Sets the inheritable defaults that
|
|
108
|
+
* manually-created elements pick up (`fontColor`, `fontName`, `backgroundColor`,
|
|
109
|
+
* `themeColors`) and records `styleId` so layouts can resolve the full preset.
|
|
110
|
+
*/
|
|
111
|
+
export declare function styleThemePatch(preset: PptistStylePreset): Partial<SlideTheme>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type BuiltInTemplateId, type TemplatePayload } from '../../configs/templates';
|
|
2
|
+
import type { Slide, SlideTheme, SlideType } from '../../types/slides';
|
|
3
|
+
export interface PptistTemplateSummary {
|
|
4
|
+
/** Built-in id, e.g. `template_1` (Crimson landscape). */
|
|
5
|
+
id: BuiltInTemplateId | string;
|
|
6
|
+
name: string;
|
|
7
|
+
cover: string;
|
|
8
|
+
origin?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PptistTemplateSlideEntry {
|
|
11
|
+
/** Stable slug within this template, e.g. `cover_1`, `content_2`. */
|
|
12
|
+
slug: string;
|
|
13
|
+
type: SlideType;
|
|
14
|
+
description: string;
|
|
15
|
+
elementCount: number;
|
|
16
|
+
}
|
|
17
|
+
export type PptistTemplateSlidesCatalog = Record<SlideType, PptistTemplateSlideEntry[]>;
|
|
18
|
+
export interface PptistTemplateSlidesCatalogResult {
|
|
19
|
+
templateId: string;
|
|
20
|
+
templateName: string;
|
|
21
|
+
slideCount: number;
|
|
22
|
+
byType: PptistTemplateSlidesCatalog;
|
|
23
|
+
}
|
|
24
|
+
export declare function listTemplateCatalog(): PptistTemplateSummary[];
|
|
25
|
+
export declare function loadTemplatePayload(templateId: string): Promise<TemplatePayload>;
|
|
26
|
+
export declare function buildTemplateSlidesCatalog(templateId: string): Promise<PptistTemplateSlidesCatalogResult>;
|
|
27
|
+
export declare function resolveTemplateSlide(payload: TemplatePayload, slug: string): {
|
|
28
|
+
slide: Slide;
|
|
29
|
+
type: SlideType;
|
|
30
|
+
};
|
|
31
|
+
export declare function assertBuiltInTemplateId(templateId: string): asserts templateId is BuiltInTemplateId;
|
|
32
|
+
export declare function templateThemePatch(payload: TemplatePayload): Partial<SlideTheme> | undefined;
|
|
@@ -2,8 +2,10 @@ import type { Locales } from '../../i18n/locale';
|
|
|
2
2
|
import type { ShapeCategoryKey, ShapePoolItem } from '../../configs/shapes';
|
|
3
3
|
import type { Broken2LineDirection, ChartData, ChartOptions, ChartType, Gradient, LinePoint, LineStyleType, Note, NoteReply, PPTAnimation, PPTAudioElement, PPTChartElement, PPTElement, PPTElementLink, PPTElementOutline, PPTElementShadow, PPTImageElement, PPTLatexElement, PPTLineElement, PPTShapeElement, PPTTableElement, PPTTextElement, PPTVideoElement, ShapeText, Slide, SlideBackground, SlideTemplate, SlideTheme, TableCell, TableCellStyle, TextAlign, TurningMode } from '../../types/slides';
|
|
4
4
|
import type { PptistDocument } from '../types';
|
|
5
|
+
import type { PptistTemplateSlidesCatalogResult, PptistTemplateSummary } from './templates';
|
|
5
6
|
import type { PptistAgenticDocs, PptistCommandDescription, PptistDesignGuide, PptistDomainSummary } from './manifestDocs';
|
|
6
7
|
export type { PptistAgenticDocs, PptistCommandDescription, PptistCommandDoc, PptistDesignGuide, PptistDesignSystem, PptistDocParam, PptistDomainDoc, PptistDomainSummary, } from './manifestDocs';
|
|
8
|
+
export type { PptistTemplateSummary, PptistTemplateSlideEntry, PptistTemplateSlidesCatalog, PptistTemplateSlidesCatalogResult, } from './templates';
|
|
7
9
|
export type PptistKnownCommandType = keyof PptistCommandPayloadMap;
|
|
8
10
|
export type PptistCommandType = PptistKnownCommandType | (string & {});
|
|
9
11
|
export interface PptistDeckViewport {
|
|
@@ -420,6 +422,32 @@ export interface PptistElementFlipInput {
|
|
|
420
422
|
flipH?: boolean;
|
|
421
423
|
flipV?: boolean;
|
|
422
424
|
}
|
|
425
|
+
export interface PptistApplyTemplateResult {
|
|
426
|
+
templateId: string;
|
|
427
|
+
theme: SlideTheme;
|
|
428
|
+
}
|
|
429
|
+
export interface PptistInsertFromTemplateInput {
|
|
430
|
+
/** Built-in template id from `templates.catalog` (e.g. `template_1` = Crimson landscape). */
|
|
431
|
+
templateId: string;
|
|
432
|
+
/** Slide slug from `templates.slidesCatalog` (e.g. `cover_1`, `content_2`). */
|
|
433
|
+
slug: string;
|
|
434
|
+
index?: number;
|
|
435
|
+
select?: boolean;
|
|
436
|
+
/** Apply the template theme when the deck is still empty (default true). */
|
|
437
|
+
applyTemplateTheme?: boolean;
|
|
438
|
+
}
|
|
439
|
+
export interface PptistInsertFromTemplateResult {
|
|
440
|
+
slideId: string;
|
|
441
|
+
templateId: string;
|
|
442
|
+
slug: string;
|
|
443
|
+
elementIds: string[];
|
|
444
|
+
}
|
|
445
|
+
export interface PptistAgentTemplatesApi {
|
|
446
|
+
/** List built-in presentation templates (styles) shown in the template picker. */
|
|
447
|
+
catalog(): PptistTemplateSummary[];
|
|
448
|
+
/** List insertable slides for a template, grouped by type (cover, contents, …). */
|
|
449
|
+
slidesCatalog(templateId: string, meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistTemplateSlidesCatalogResult>>;
|
|
450
|
+
}
|
|
423
451
|
export interface PptistAgentDeckApi {
|
|
424
452
|
get(): PptistDeckDocument;
|
|
425
453
|
set(document: PptistDeckInput, meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistDeckDocument>>;
|
|
@@ -429,6 +457,7 @@ export interface PptistAgentDeckApi {
|
|
|
429
457
|
}>>;
|
|
430
458
|
getTheme(): SlideTheme;
|
|
431
459
|
setTheme(theme: PptistSlideThemePatch, meta?: PptistCommandMeta): Promise<PptistCommandResult<SlideTheme>>;
|
|
460
|
+
applyTemplate(templateId: string, meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistApplyTemplateResult>>;
|
|
432
461
|
applyTheme(theme: PptistSlideThemePatch, options?: PptistApplyThemeOptions, meta?: PptistCommandMeta): Promise<PptistCommandResult<SlideTheme>>;
|
|
433
462
|
extractTheme(options?: PptistThemeExtractionOptions): SlideTheme;
|
|
434
463
|
setViewport(viewport: {
|
|
@@ -443,6 +472,7 @@ export interface PptistAgentSlidesApi {
|
|
|
443
472
|
current(): Slide | null;
|
|
444
473
|
read(slideIdOrIndex?: PptistSlideReference, meta?: PptistCommandMeta): Promise<PptistCommandResult<Slide | null>>;
|
|
445
474
|
create(input?: PptistCreateSlideInput, meta?: PptistCommandMeta): Promise<PptistCommandResult<Slide>>;
|
|
475
|
+
insertFromTemplate(input: PptistInsertFromTemplateInput, meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistInsertFromTemplateResult>>;
|
|
446
476
|
insert(input: PptistInsertSlidesInput, meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistInsertSlidesResult>>;
|
|
447
477
|
update(slideId: string, patch: Partial<Slide>, meta?: PptistCommandMeta): Promise<PptistCommandResult<Slide>>;
|
|
448
478
|
delete(slideId: string | string[], meta?: PptistCommandMeta): Promise<PptistCommandResult<PptistDeleteSlidesResult>>;
|
|
@@ -982,6 +1012,7 @@ export interface PptistAgentApi {
|
|
|
982
1012
|
guides(guideId?: string): PptistDesignGuide[] | PptistDesignGuide | null;
|
|
983
1013
|
deck: PptistAgentDeckApi;
|
|
984
1014
|
slides: PptistAgentSlidesApi;
|
|
1015
|
+
templates: PptistAgentTemplatesApi;
|
|
985
1016
|
elements: PptistAgentElementsApi;
|
|
986
1017
|
text: PptistAgentTextApi;
|
|
987
1018
|
shapes: PptistAgentShapesApi;
|
|
@@ -1019,6 +1050,9 @@ export interface PptistCommandPayloadMap {
|
|
|
1019
1050
|
theme: PptistSlideThemePatch | Partial<SlideTheme>;
|
|
1020
1051
|
options?: PptistApplyThemeOptions;
|
|
1021
1052
|
};
|
|
1053
|
+
'deck.applyTemplate': {
|
|
1054
|
+
templateId: string;
|
|
1055
|
+
};
|
|
1022
1056
|
'deck.extractTheme': {
|
|
1023
1057
|
options?: PptistThemeExtractionOptions;
|
|
1024
1058
|
} | undefined;
|
|
@@ -1029,6 +1063,10 @@ export interface PptistCommandPayloadMap {
|
|
|
1029
1063
|
'deck.setTemplates': {
|
|
1030
1064
|
templates: SlideTemplate[];
|
|
1031
1065
|
};
|
|
1066
|
+
'templates.catalog': undefined;
|
|
1067
|
+
'templates.slidesCatalog': {
|
|
1068
|
+
templateId: string;
|
|
1069
|
+
};
|
|
1032
1070
|
'import.json': PptistDocumentImportPayload;
|
|
1033
1071
|
'import.pptist': PptistDocumentImportPayload;
|
|
1034
1072
|
'import.pptxSafe': PptistDocumentImportPayload;
|
|
@@ -1043,6 +1081,7 @@ export interface PptistCommandPayloadMap {
|
|
|
1043
1081
|
slideIdOrIndex?: PptistSlideReference;
|
|
1044
1082
|
} | undefined;
|
|
1045
1083
|
'slides.create': PptistCreateSlideInput | undefined;
|
|
1084
|
+
'slides.insertFromTemplate': PptistInsertFromTemplateInput;
|
|
1046
1085
|
'slides.insert': PptistInsertSlidesInput;
|
|
1047
1086
|
'slides.update': {
|
|
1048
1087
|
slideId: string;
|
|
@@ -1643,9 +1682,12 @@ export interface PptistCommandResultDataMap {
|
|
|
1643
1682
|
'deck.getTheme': SlideTheme;
|
|
1644
1683
|
'deck.setTheme': SlideTheme;
|
|
1645
1684
|
'deck.applyTheme': SlideTheme;
|
|
1685
|
+
'deck.applyTemplate': PptistApplyTemplateResult;
|
|
1646
1686
|
'deck.extractTheme': SlideTheme;
|
|
1647
1687
|
'deck.setViewport': PptistBridgeState;
|
|
1648
1688
|
'deck.setTemplates': SlideTemplate[];
|
|
1689
|
+
'templates.catalog': PptistTemplateSummary[];
|
|
1690
|
+
'templates.slidesCatalog': PptistTemplateSlidesCatalogResult;
|
|
1649
1691
|
'import.json': PptistDeckDocument;
|
|
1650
1692
|
'import.pptist': PptistDeckDocument;
|
|
1651
1693
|
'import.pptxSafe': PptistDeckDocument;
|
|
@@ -1655,6 +1697,7 @@ export interface PptistCommandResultDataMap {
|
|
|
1655
1697
|
'slides.current': Slide | null;
|
|
1656
1698
|
'slides.read': Slide | null;
|
|
1657
1699
|
'slides.create': Slide;
|
|
1700
|
+
'slides.insertFromTemplate': PptistInsertFromTemplateResult;
|
|
1658
1701
|
'slides.insert': PptistInsertSlidesResult;
|
|
1659
1702
|
'slides.update': Slide;
|
|
1660
1703
|
'slides.delete': PptistDeleteSlidesResult;
|
|
@@ -2976,7 +2976,7 @@ export type NamespaceEditorTranslation = {
|
|
|
2976
2976
|
*/
|
|
2977
2977
|
exportFiles: string;
|
|
2978
2978
|
/**
|
|
2979
|
-
*
|
|
2979
|
+
* New presentation
|
|
2980
2980
|
*/
|
|
2981
2981
|
resetSlides: string;
|
|
2982
2982
|
/**
|
|
@@ -7518,7 +7518,7 @@ export type TranslationFunctions = {
|
|
|
7518
7518
|
*/
|
|
7519
7519
|
exportFiles: () => LocalizedString;
|
|
7520
7520
|
/**
|
|
7521
|
-
*
|
|
7521
|
+
* New presentation
|
|
7522
7522
|
*/
|
|
7523
7523
|
resetSlides: () => LocalizedString;
|
|
7524
7524
|
/**
|
|
@@ -41,6 +41,7 @@ export declare const useSlidesStore: import("pinia").StoreDefinition<"slides", S
|
|
|
41
41
|
blur: number;
|
|
42
42
|
color: string;
|
|
43
43
|
};
|
|
44
|
+
styleId?: string | undefined;
|
|
44
45
|
};
|
|
45
46
|
slides: {
|
|
46
47
|
id: string;
|
|
@@ -797,6 +798,7 @@ export declare const useSlidesStore: import("pinia").StoreDefinition<"slides", S
|
|
|
797
798
|
blur: number;
|
|
798
799
|
color: string;
|
|
799
800
|
};
|
|
801
|
+
styleId?: string | undefined;
|
|
800
802
|
};
|
|
801
803
|
slides: {
|
|
802
804
|
id: string;
|
|
@@ -1197,6 +1199,7 @@ export declare const useSlidesStore: import("pinia").StoreDefinition<"slides", S
|
|
|
1197
1199
|
blur: number;
|
|
1198
1200
|
color: string;
|
|
1199
1201
|
};
|
|
1202
|
+
styleId?: string | undefined;
|
|
1200
1203
|
};
|
|
1201
1204
|
slides: {
|
|
1202
1205
|
id: string;
|
|
@@ -738,6 +738,13 @@ export interface SlideTheme {
|
|
|
738
738
|
fontName: string;
|
|
739
739
|
outline: PPTElementOutline;
|
|
740
740
|
shadow: PPTElementShadow;
|
|
741
|
+
/**
|
|
742
|
+
* Id of the agentic style preset last applied via `deck.applyStyle`. Additive
|
|
743
|
+
* and optional: it lets `slides.createFromLayout` inherit the active preset's
|
|
744
|
+
* role tokens (colors, fonts, type scale) without re-specifying them. It is a
|
|
745
|
+
* plain string so it survives theme merges and document (de)serialization.
|
|
746
|
+
*/
|
|
747
|
+
styleId?: string;
|
|
741
748
|
}
|
|
742
749
|
export interface SlideTemplate {
|
|
743
750
|
name: string;
|