@thanh01.pmt/presentation-kit 0.2.15 → 0.2.17
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/ai/index.cjs +65 -116
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.d.cts +18 -17
- package/dist/ai/index.d.ts +18 -17
- package/dist/ai/index.js +5 -103
- package/dist/ai/index.js.map +1 -1
- package/dist/chunk-6R6L6KSC.cjs +601 -0
- package/dist/chunk-6R6L6KSC.cjs.map +1 -0
- package/dist/{chunk-YPYAP4TF.js → chunk-7QHDWDSB.js} +218 -4
- package/dist/chunk-7QHDWDSB.js.map +1 -0
- package/dist/chunk-BHJXQCVE.js +588 -0
- package/dist/chunk-BHJXQCVE.js.map +1 -0
- package/dist/{chunk-SUGKWGJJ.cjs → chunk-JNTRKKJX.cjs} +218 -3
- package/dist/chunk-JNTRKKJX.cjs.map +1 -0
- package/dist/{click-css-CktIYP3H.d.ts → click-css-B2s9B_uP.d.ts} +2 -2
- package/dist/{click-css-Ch_jyWaw.d.cts → click-css-Bcc1CkTN.d.cts} +2 -2
- package/dist/index.cjs +64 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -5
- package/dist/index.d.ts +9 -5
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/{presets-Bkh6NzWf.d.cts → presets-BYvgAAkJ.d.cts} +2 -2
- package/dist/{presets-BUzebXzj.d.ts → presets-D_hfPJX9.d.ts} +2 -2
- package/dist/react/index.cjs +5 -5
- package/dist/react/index.d.cts +3 -3
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +1 -1
- package/dist/skills/index.cjs +52 -0
- package/dist/skills/index.cjs.map +1 -0
- package/dist/skills/index.d.cts +142 -0
- package/dist/skills/index.d.ts +142 -0
- package/dist/skills/index.js +3 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/{types-8AVYoEUn.d.cts → types-C3d04zzP.d.cts} +1 -1
- package/dist/{types-8AVYoEUn.d.ts → types-C3d04zzP.d.ts} +1 -1
- package/package.json +7 -1
- package/dist/chunk-SUGKWGJJ.cjs.map +0 -1
- package/dist/chunk-YPYAP4TF.js.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
interface TemplateCatalogItem {
|
|
4
|
+
slug: string;
|
|
5
|
+
name: string;
|
|
6
|
+
tagline: string;
|
|
7
|
+
mood: string[];
|
|
8
|
+
occasion: string[];
|
|
9
|
+
tone: string[];
|
|
10
|
+
formality: 'low' | 'medium-low' | 'medium' | 'medium-high' | 'high';
|
|
11
|
+
density: 'low' | 'medium' | 'high';
|
|
12
|
+
scheme: 'light' | 'dark' | 'mixed';
|
|
13
|
+
best_for: string;
|
|
14
|
+
avoid_for: string;
|
|
15
|
+
slide_count: number;
|
|
16
|
+
}
|
|
17
|
+
interface StylePresetItem {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
vibe: string;
|
|
21
|
+
scheme: 'light' | 'dark';
|
|
22
|
+
typography: {
|
|
23
|
+
display: string;
|
|
24
|
+
body: string;
|
|
25
|
+
mono?: string;
|
|
26
|
+
};
|
|
27
|
+
colors: {
|
|
28
|
+
bg: string;
|
|
29
|
+
text: string;
|
|
30
|
+
accent: string;
|
|
31
|
+
cardBg?: string;
|
|
32
|
+
border?: string;
|
|
33
|
+
textMuted?: string;
|
|
34
|
+
};
|
|
35
|
+
signatureElements: string[];
|
|
36
|
+
}
|
|
37
|
+
declare const TEMPLATES_CATALOG: TemplateCatalogItem[];
|
|
38
|
+
declare const STYLE_PRESETS: StylePresetItem[];
|
|
39
|
+
|
|
40
|
+
declare const VIEWPORT_BASE_CSS = "/* ===========================================\n FIXED 16:9 STAGE: MANDATORY BASE STYLES\n Slides are authored at 1920\u00D71080 and scaled as a whole.\n =========================================== */\n\nhtml, body {\n width: 100%;\n height: 100%;\n margin: 0;\n overflow: hidden;\n background: var(--stage-bg, #000);\n}\n\n.deck-viewport {\n position: fixed;\n inset: 0;\n overflow: hidden;\n background: var(--stage-bg, #000);\n}\n\n.deck-stage {\n position: absolute;\n left: 0;\n top: 0;\n width: 1920px;\n height: 1080px;\n overflow: hidden;\n transform-origin: 0 0;\n background: var(--slide-bg, #fff);\n}\n\n.slide {\n position: absolute;\n inset: 0;\n width: 1920px;\n height: 1080px;\n overflow: hidden;\n display: block;\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n background: var(--slide-bg, #fff);\n}\n\n.slide.active,\n.slide.visible {\n visibility: visible;\n opacity: 1;\n pointer-events: auto;\n z-index: 1;\n}\n\nimg, video, canvas, svg {\n max-width: 100%;\n max-height: 100%;\n}\n\n.reveal {\n opacity: 0;\n transform: translateY(30px);\n transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),\n transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.slide.visible .reveal,\n.slide.active .reveal {\n opacity: 1;\n transform: translateY(0);\n}\n\n.reveal:nth-child(1) { transition-delay: 0.08s; }\n.reveal:nth-child(2) { transition-delay: 0.16s; }\n.reveal:nth-child(3) { transition-delay: 0.24s; }\n.reveal:nth-child(4) { transition-delay: 0.32s; }\n.reveal:nth-child(5) { transition-delay: 0.40s; }\n\n@media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.1s !important;\n }\n}\n";
|
|
41
|
+
declare const FRONTEND_SLIDES_CORE_RULES = "\n# FRONTEND SLIDES SKILL & QUALITY INVARIANTS\n\n## 1. Core Principles (Non-Negotiable)\n1. **Zero Dependencies** \u2014 Single HTML presentation with inline scoped CSS and JS.\n2. **Fixed 16:9 Stage Canvas** \u2014 Every slide is strictly authored inside a fixed 1920\u00D71080 stage canvas (.deck-stage) scaled to the browser viewport. Never reflow slide content for different screen ratios.\n3. **No AI-Slop Design** \u2014 Never use generic purple gradients, clich\u00E9 fonts (Arial, Roboto), or boring corporate bullets. Use curated palettes (Electric Studio, Blue Professional, Cobalt Grid) and distinctive typography (Space Grotesk, Inter, Syne, JetBrains Mono).\n4. **Staggered Reveals** \u2014 Use the .reveal class on key elements with transition delays for smooth, cinematic entrance animations.\n5. **No Pixel Coordinates** \u2014 NEVER output free-form bounding-box coordinates like \"position\": { \"x\", \"y\" } or \"layout\": \"title_and_content\". Always populate semantic layout slots.\n\n## 2. Pacing & Pedagogical Structure\nA complete lesson deck MUST have 8 to 12 slides following the Chunky Micro-Cycle:\n1. **Cover (hero-cover):** Lesson title, topic badge, learning goal, author/date.\n2. **Agenda & Roadmap (two-columns-compare or timeline-steps):** Milestones and timing.\n3. **Core Mental Model (split-concept-code):** Definition, analogy, and runnable starter code.\n4. **Visual Architecture (three-cards-grid):** 3-pillar breakdown of mechanisms.\n5. **Syntax & Deep Dive (split-concept-code):** Concrete language syntax, gotchas, and annotated snippet.\n6. **Timeline Execution (timeline-steps):** Step-by-step pipeline or algorithmic flow.\n7. **Interactive Formative Check (checkpoint-quiz):** Multiple-choice diagnostic question with explanation.\n8. **Summary & Next Milestone (summary-takeaways):** 3-4 golden takeaways and preview of next lesson.\n";
|
|
42
|
+
|
|
43
|
+
interface FrontendSlidesSkillOptions {
|
|
44
|
+
mood?: string;
|
|
45
|
+
stylePresetId?: string;
|
|
46
|
+
templateSlug?: string;
|
|
47
|
+
lessonId?: string;
|
|
48
|
+
lessonTitle?: string;
|
|
49
|
+
language?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves the full list of 34 verified HTML templates.
|
|
53
|
+
*/
|
|
54
|
+
declare function getTemplatesCatalog(): TemplateCatalogItem[];
|
|
55
|
+
/**
|
|
56
|
+
* Searches templates by mood, scheme, or keywords.
|
|
57
|
+
*/
|
|
58
|
+
declare function searchTemplates(filter?: string | {
|
|
59
|
+
mood?: string;
|
|
60
|
+
scheme?: 'light' | 'dark';
|
|
61
|
+
query?: string;
|
|
62
|
+
}): TemplateCatalogItem[];
|
|
63
|
+
/**
|
|
64
|
+
* Retrieves a style preset by its ID.
|
|
65
|
+
*/
|
|
66
|
+
declare function getStylePreset(id: string): StylePresetItem | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Assembles a comprehensive, production-grade Vercel AI SDK system prompt
|
|
69
|
+
* integrating the entire Frontend-Slides Skill, fixed 16:9 stage rules,
|
|
70
|
+
* anti-slop guidelines, and slot contract.
|
|
71
|
+
*/
|
|
72
|
+
declare function getFrontendSlidesSkillPrompt(options?: FrontendSlidesSkillOptions): string;
|
|
73
|
+
|
|
74
|
+
declare const querySlideTemplatesSchema: z.ZodObject<{
|
|
75
|
+
mood: z.ZodOptional<z.ZodString>;
|
|
76
|
+
scheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
|
|
77
|
+
query: z.ZodOptional<z.ZodString>;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
scheme?: "dark" | "light" | undefined;
|
|
80
|
+
mood?: string | undefined;
|
|
81
|
+
query?: string | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
scheme?: "dark" | "light" | undefined;
|
|
84
|
+
mood?: string | undefined;
|
|
85
|
+
query?: string | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
declare const getSlideStylePresetSchema: z.ZodObject<{
|
|
88
|
+
presetId: z.ZodEnum<["electric-studio", "blue-professional", "creative-voltage"]>;
|
|
89
|
+
}, "strip", z.ZodTypeAny, {
|
|
90
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
91
|
+
}, {
|
|
92
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Tool definitions that can be directly passed to Vercel AI SDK's `tools` parameter.
|
|
96
|
+
*/
|
|
97
|
+
declare const frontendSlidesTools: {
|
|
98
|
+
querySlideTemplates: {
|
|
99
|
+
description: string;
|
|
100
|
+
parameters: z.ZodObject<{
|
|
101
|
+
mood: z.ZodOptional<z.ZodString>;
|
|
102
|
+
scheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
|
|
103
|
+
query: z.ZodOptional<z.ZodString>;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
scheme?: "dark" | "light" | undefined;
|
|
106
|
+
mood?: string | undefined;
|
|
107
|
+
query?: string | undefined;
|
|
108
|
+
}, {
|
|
109
|
+
scheme?: "dark" | "light" | undefined;
|
|
110
|
+
mood?: string | undefined;
|
|
111
|
+
query?: string | undefined;
|
|
112
|
+
}>;
|
|
113
|
+
execute: (args: z.infer<typeof querySlideTemplatesSchema>) => Promise<{
|
|
114
|
+
count: number;
|
|
115
|
+
templates: {
|
|
116
|
+
slug: string;
|
|
117
|
+
name: string;
|
|
118
|
+
tagline: string;
|
|
119
|
+
mood: string[];
|
|
120
|
+
tone: string[];
|
|
121
|
+
scheme: "dark" | "light" | "mixed";
|
|
122
|
+
bestFor: string;
|
|
123
|
+
slideCount: number;
|
|
124
|
+
}[];
|
|
125
|
+
}>;
|
|
126
|
+
};
|
|
127
|
+
getSlideStylePreset: {
|
|
128
|
+
description: string;
|
|
129
|
+
parameters: z.ZodObject<{
|
|
130
|
+
presetId: z.ZodEnum<["electric-studio", "blue-professional", "creative-voltage"]>;
|
|
131
|
+
}, "strip", z.ZodTypeAny, {
|
|
132
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
133
|
+
}, {
|
|
134
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
135
|
+
}>;
|
|
136
|
+
execute: (args: z.infer<typeof getSlideStylePresetSchema>) => Promise<StylePresetItem | {
|
|
137
|
+
error: string;
|
|
138
|
+
}>;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export { FRONTEND_SLIDES_CORE_RULES, type FrontendSlidesSkillOptions, STYLE_PRESETS, type StylePresetItem, TEMPLATES_CATALOG, type TemplateCatalogItem, VIEWPORT_BASE_CSS, frontendSlidesTools, getFrontendSlidesSkillPrompt, getSlideStylePresetSchema, getStylePreset, getTemplatesCatalog, querySlideTemplatesSchema, searchTemplates };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
interface TemplateCatalogItem {
|
|
4
|
+
slug: string;
|
|
5
|
+
name: string;
|
|
6
|
+
tagline: string;
|
|
7
|
+
mood: string[];
|
|
8
|
+
occasion: string[];
|
|
9
|
+
tone: string[];
|
|
10
|
+
formality: 'low' | 'medium-low' | 'medium' | 'medium-high' | 'high';
|
|
11
|
+
density: 'low' | 'medium' | 'high';
|
|
12
|
+
scheme: 'light' | 'dark' | 'mixed';
|
|
13
|
+
best_for: string;
|
|
14
|
+
avoid_for: string;
|
|
15
|
+
slide_count: number;
|
|
16
|
+
}
|
|
17
|
+
interface StylePresetItem {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
vibe: string;
|
|
21
|
+
scheme: 'light' | 'dark';
|
|
22
|
+
typography: {
|
|
23
|
+
display: string;
|
|
24
|
+
body: string;
|
|
25
|
+
mono?: string;
|
|
26
|
+
};
|
|
27
|
+
colors: {
|
|
28
|
+
bg: string;
|
|
29
|
+
text: string;
|
|
30
|
+
accent: string;
|
|
31
|
+
cardBg?: string;
|
|
32
|
+
border?: string;
|
|
33
|
+
textMuted?: string;
|
|
34
|
+
};
|
|
35
|
+
signatureElements: string[];
|
|
36
|
+
}
|
|
37
|
+
declare const TEMPLATES_CATALOG: TemplateCatalogItem[];
|
|
38
|
+
declare const STYLE_PRESETS: StylePresetItem[];
|
|
39
|
+
|
|
40
|
+
declare const VIEWPORT_BASE_CSS = "/* ===========================================\n FIXED 16:9 STAGE: MANDATORY BASE STYLES\n Slides are authored at 1920\u00D71080 and scaled as a whole.\n =========================================== */\n\nhtml, body {\n width: 100%;\n height: 100%;\n margin: 0;\n overflow: hidden;\n background: var(--stage-bg, #000);\n}\n\n.deck-viewport {\n position: fixed;\n inset: 0;\n overflow: hidden;\n background: var(--stage-bg, #000);\n}\n\n.deck-stage {\n position: absolute;\n left: 0;\n top: 0;\n width: 1920px;\n height: 1080px;\n overflow: hidden;\n transform-origin: 0 0;\n background: var(--slide-bg, #fff);\n}\n\n.slide {\n position: absolute;\n inset: 0;\n width: 1920px;\n height: 1080px;\n overflow: hidden;\n display: block;\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n background: var(--slide-bg, #fff);\n}\n\n.slide.active,\n.slide.visible {\n visibility: visible;\n opacity: 1;\n pointer-events: auto;\n z-index: 1;\n}\n\nimg, video, canvas, svg {\n max-width: 100%;\n max-height: 100%;\n}\n\n.reveal {\n opacity: 0;\n transform: translateY(30px);\n transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),\n transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.slide.visible .reveal,\n.slide.active .reveal {\n opacity: 1;\n transform: translateY(0);\n}\n\n.reveal:nth-child(1) { transition-delay: 0.08s; }\n.reveal:nth-child(2) { transition-delay: 0.16s; }\n.reveal:nth-child(3) { transition-delay: 0.24s; }\n.reveal:nth-child(4) { transition-delay: 0.32s; }\n.reveal:nth-child(5) { transition-delay: 0.40s; }\n\n@media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.1s !important;\n }\n}\n";
|
|
41
|
+
declare const FRONTEND_SLIDES_CORE_RULES = "\n# FRONTEND SLIDES SKILL & QUALITY INVARIANTS\n\n## 1. Core Principles (Non-Negotiable)\n1. **Zero Dependencies** \u2014 Single HTML presentation with inline scoped CSS and JS.\n2. **Fixed 16:9 Stage Canvas** \u2014 Every slide is strictly authored inside a fixed 1920\u00D71080 stage canvas (.deck-stage) scaled to the browser viewport. Never reflow slide content for different screen ratios.\n3. **No AI-Slop Design** \u2014 Never use generic purple gradients, clich\u00E9 fonts (Arial, Roboto), or boring corporate bullets. Use curated palettes (Electric Studio, Blue Professional, Cobalt Grid) and distinctive typography (Space Grotesk, Inter, Syne, JetBrains Mono).\n4. **Staggered Reveals** \u2014 Use the .reveal class on key elements with transition delays for smooth, cinematic entrance animations.\n5. **No Pixel Coordinates** \u2014 NEVER output free-form bounding-box coordinates like \"position\": { \"x\", \"y\" } or \"layout\": \"title_and_content\". Always populate semantic layout slots.\n\n## 2. Pacing & Pedagogical Structure\nA complete lesson deck MUST have 8 to 12 slides following the Chunky Micro-Cycle:\n1. **Cover (hero-cover):** Lesson title, topic badge, learning goal, author/date.\n2. **Agenda & Roadmap (two-columns-compare or timeline-steps):** Milestones and timing.\n3. **Core Mental Model (split-concept-code):** Definition, analogy, and runnable starter code.\n4. **Visual Architecture (three-cards-grid):** 3-pillar breakdown of mechanisms.\n5. **Syntax & Deep Dive (split-concept-code):** Concrete language syntax, gotchas, and annotated snippet.\n6. **Timeline Execution (timeline-steps):** Step-by-step pipeline or algorithmic flow.\n7. **Interactive Formative Check (checkpoint-quiz):** Multiple-choice diagnostic question with explanation.\n8. **Summary & Next Milestone (summary-takeaways):** 3-4 golden takeaways and preview of next lesson.\n";
|
|
42
|
+
|
|
43
|
+
interface FrontendSlidesSkillOptions {
|
|
44
|
+
mood?: string;
|
|
45
|
+
stylePresetId?: string;
|
|
46
|
+
templateSlug?: string;
|
|
47
|
+
lessonId?: string;
|
|
48
|
+
lessonTitle?: string;
|
|
49
|
+
language?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves the full list of 34 verified HTML templates.
|
|
53
|
+
*/
|
|
54
|
+
declare function getTemplatesCatalog(): TemplateCatalogItem[];
|
|
55
|
+
/**
|
|
56
|
+
* Searches templates by mood, scheme, or keywords.
|
|
57
|
+
*/
|
|
58
|
+
declare function searchTemplates(filter?: string | {
|
|
59
|
+
mood?: string;
|
|
60
|
+
scheme?: 'light' | 'dark';
|
|
61
|
+
query?: string;
|
|
62
|
+
}): TemplateCatalogItem[];
|
|
63
|
+
/**
|
|
64
|
+
* Retrieves a style preset by its ID.
|
|
65
|
+
*/
|
|
66
|
+
declare function getStylePreset(id: string): StylePresetItem | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Assembles a comprehensive, production-grade Vercel AI SDK system prompt
|
|
69
|
+
* integrating the entire Frontend-Slides Skill, fixed 16:9 stage rules,
|
|
70
|
+
* anti-slop guidelines, and slot contract.
|
|
71
|
+
*/
|
|
72
|
+
declare function getFrontendSlidesSkillPrompt(options?: FrontendSlidesSkillOptions): string;
|
|
73
|
+
|
|
74
|
+
declare const querySlideTemplatesSchema: z.ZodObject<{
|
|
75
|
+
mood: z.ZodOptional<z.ZodString>;
|
|
76
|
+
scheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
|
|
77
|
+
query: z.ZodOptional<z.ZodString>;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
scheme?: "dark" | "light" | undefined;
|
|
80
|
+
mood?: string | undefined;
|
|
81
|
+
query?: string | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
scheme?: "dark" | "light" | undefined;
|
|
84
|
+
mood?: string | undefined;
|
|
85
|
+
query?: string | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
declare const getSlideStylePresetSchema: z.ZodObject<{
|
|
88
|
+
presetId: z.ZodEnum<["electric-studio", "blue-professional", "creative-voltage"]>;
|
|
89
|
+
}, "strip", z.ZodTypeAny, {
|
|
90
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
91
|
+
}, {
|
|
92
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Tool definitions that can be directly passed to Vercel AI SDK's `tools` parameter.
|
|
96
|
+
*/
|
|
97
|
+
declare const frontendSlidesTools: {
|
|
98
|
+
querySlideTemplates: {
|
|
99
|
+
description: string;
|
|
100
|
+
parameters: z.ZodObject<{
|
|
101
|
+
mood: z.ZodOptional<z.ZodString>;
|
|
102
|
+
scheme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
|
|
103
|
+
query: z.ZodOptional<z.ZodString>;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
scheme?: "dark" | "light" | undefined;
|
|
106
|
+
mood?: string | undefined;
|
|
107
|
+
query?: string | undefined;
|
|
108
|
+
}, {
|
|
109
|
+
scheme?: "dark" | "light" | undefined;
|
|
110
|
+
mood?: string | undefined;
|
|
111
|
+
query?: string | undefined;
|
|
112
|
+
}>;
|
|
113
|
+
execute: (args: z.infer<typeof querySlideTemplatesSchema>) => Promise<{
|
|
114
|
+
count: number;
|
|
115
|
+
templates: {
|
|
116
|
+
slug: string;
|
|
117
|
+
name: string;
|
|
118
|
+
tagline: string;
|
|
119
|
+
mood: string[];
|
|
120
|
+
tone: string[];
|
|
121
|
+
scheme: "dark" | "light" | "mixed";
|
|
122
|
+
bestFor: string;
|
|
123
|
+
slideCount: number;
|
|
124
|
+
}[];
|
|
125
|
+
}>;
|
|
126
|
+
};
|
|
127
|
+
getSlideStylePreset: {
|
|
128
|
+
description: string;
|
|
129
|
+
parameters: z.ZodObject<{
|
|
130
|
+
presetId: z.ZodEnum<["electric-studio", "blue-professional", "creative-voltage"]>;
|
|
131
|
+
}, "strip", z.ZodTypeAny, {
|
|
132
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
133
|
+
}, {
|
|
134
|
+
presetId: "blue-professional" | "electric-studio" | "creative-voltage";
|
|
135
|
+
}>;
|
|
136
|
+
execute: (args: z.infer<typeof getSlideStylePresetSchema>) => Promise<StylePresetItem | {
|
|
137
|
+
error: string;
|
|
138
|
+
}>;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export { FRONTEND_SLIDES_CORE_RULES, type FrontendSlidesSkillOptions, STYLE_PRESETS, type StylePresetItem, TEMPLATES_CATALOG, type TemplateCatalogItem, VIEWPORT_BASE_CSS, frontendSlidesTools, getFrontendSlidesSkillPrompt, getSlideStylePresetSchema, getStylePreset, getTemplatesCatalog, querySlideTemplatesSchema, searchTemplates };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { FRONTEND_SLIDES_CORE_RULES, STYLE_PRESETS, TEMPLATES_CATALOG, VIEWPORT_BASE_CSS, frontendSlidesTools, getFrontendSlidesSkillPrompt, getSlideStylePresetSchema, getStylePreset, getTemplatesCatalog, querySlideTemplatesSchema, searchTemplates } from '../chunk-BHJXQCVE.js';
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -217,4 +217,4 @@ interface CompiledHtmlDeckResult {
|
|
|
217
217
|
title: string;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
export type { BuiltInTheme as B, CompiledHtmlDeckResult as C,
|
|
220
|
+
export type { BuiltInTheme as B, CompiledHtmlDeckResult as C, HtmlLayoutPresetId as H, LayoutBoxConfig as L, MermaidBlock as M, SlideLayoutData as S, ThemeTokens as T, SlideRenderOptions as a, SlideRenderResult as b, SlideRenderAsyncResult as c, SlideTheme as d, HtmlDeckData as e, HtmlThemeName as f, HtmlSlideSlotData as g, SlideEngineConfig as h, SlideEngine as i, HtmlDeckTheme as j, HtmlSlidePreset as k, HtmlCompileOptions as l, HtmlSlotDefinition as m };
|
|
@@ -217,4 +217,4 @@ interface CompiledHtmlDeckResult {
|
|
|
217
217
|
title: string;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
export type { BuiltInTheme as B, CompiledHtmlDeckResult as C,
|
|
220
|
+
export type { BuiltInTheme as B, CompiledHtmlDeckResult as C, HtmlLayoutPresetId as H, LayoutBoxConfig as L, MermaidBlock as M, SlideLayoutData as S, ThemeTokens as T, SlideRenderOptions as a, SlideRenderResult as b, SlideRenderAsyncResult as c, SlideTheme as d, HtmlDeckData as e, HtmlThemeName as f, HtmlSlideSlotData as g, SlideEngineConfig as h, SlideEngine as i, HtmlDeckTheme as j, HtmlSlidePreset as k, HtmlCompileOptions as l, HtmlSlotDefinition as m };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thanh01.pmt/presentation-kit",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.17",
|
|
4
4
|
"description": "Standalone client-side slide rendering engine with Marp, Shiki syntax highlighting, Mermaid diagrams, custom themes, and AI slide authoring tools.",
|
|
5
5
|
"author": "Thanh Pham <https://github.com/thanh01pmt>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,6 +26,12 @@
|
|
|
26
26
|
"import": "./dist/ai/index.js",
|
|
27
27
|
"require": "./dist/ai/index.cjs",
|
|
28
28
|
"default": "./dist/ai/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./skills": {
|
|
31
|
+
"types": "./dist/skills/index.d.ts",
|
|
32
|
+
"import": "./dist/skills/index.js",
|
|
33
|
+
"require": "./dist/skills/index.cjs",
|
|
34
|
+
"default": "./dist/skills/index.js"
|
|
29
35
|
}
|
|
30
36
|
},
|
|
31
37
|
"peerDependencies": {
|