@thanh01.pmt/presentation-kit 0.3.4 → 0.3.6
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 +8 -8
- package/dist/ai/index.js +1 -1
- package/dist/{chunk-KXX5PGN7.cjs → chunk-JRPN5PMM.cjs} +16 -4
- package/dist/chunk-JRPN5PMM.cjs.map +1 -0
- package/dist/{chunk-WKTPYYO2.cjs → chunk-OALGKQ73.cjs} +4 -4
- package/dist/{chunk-WKTPYYO2.cjs.map → chunk-OALGKQ73.cjs.map} +1 -1
- package/dist/{chunk-7ZQHP7OD.js → chunk-QP7WKYFF.js} +16 -4
- package/dist/chunk-QP7WKYFF.js.map +1 -0
- package/dist/{chunk-UOWSDZEF.js → chunk-VGB2SDTQ.js} +3 -3
- package/dist/{chunk-UOWSDZEF.js.map → chunk-VGB2SDTQ.js.map} +1 -1
- package/dist/index.cjs +48 -48
- package/dist/index.d.cts +24 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +3 -3
- package/dist/node/index.cjs +2 -2
- package/dist/node/index.js +1 -1
- package/dist/react/index.cjs +13 -13
- package/dist/react/index.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-7ZQHP7OD.js.map +0 -1
- package/dist/chunk-KXX5PGN7.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkOALGKQ73_cjs = require('./chunk-OALGKQ73.cjs');
|
|
4
4
|
var chunk3Q4RMZVQ_cjs = require('./chunk-3Q4RMZVQ.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkJRPN5PMM_cjs = require('./chunk-JRPN5PMM.cjs');
|
|
6
6
|
var chunkEAPUC5BA_cjs = require('./chunk-EAPUC5BA.cjs');
|
|
7
7
|
|
|
8
8
|
// src/engine.ts
|
|
@@ -20,14 +20,14 @@ function createEngine(config = {}) {
|
|
|
20
20
|
}
|
|
21
21
|
return {
|
|
22
22
|
render: (markdown, options) => {
|
|
23
|
-
return
|
|
23
|
+
return chunkOALGKQ73_cjs.renderSlide(markdown, mergeOptions(options));
|
|
24
24
|
},
|
|
25
25
|
renderAsync: async (markdown, options) => {
|
|
26
|
-
return
|
|
26
|
+
return chunkOALGKQ73_cjs.renderSlideAsync(markdown, mergeOptions(options));
|
|
27
27
|
},
|
|
28
28
|
getThemeCss: (theme, containerId) => {
|
|
29
|
-
const resolved =
|
|
30
|
-
return
|
|
29
|
+
const resolved = chunkOALGKQ73_cjs.resolveTheme(theme);
|
|
30
|
+
return chunkOALGKQ73_cjs.generateScopedCss2(resolved, containerId);
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
}
|
|
@@ -103,7 +103,7 @@ async function convertMarkdownToPptx(markdown, options) {
|
|
|
103
103
|
pptx.layout = "LAYOUT_WIDE";
|
|
104
104
|
if (options?.title) pptx.title = options.title;
|
|
105
105
|
if (options?.author) pptx.author = options.author;
|
|
106
|
-
const renderResult =
|
|
106
|
+
const renderResult = chunkOALGKQ73_cjs.renderSlide(markdown);
|
|
107
107
|
const { slides } = chunk3Q4RMZVQ_cjs.splitMarkdownSlides(markdown);
|
|
108
108
|
const isDark = options?.theme !== "light";
|
|
109
109
|
const defaultBg = isDark ? "14151B" : "FFFFFF";
|
|
@@ -203,107 +203,107 @@ async function convertMarkdownToPptx(markdown, options) {
|
|
|
203
203
|
|
|
204
204
|
Object.defineProperty(exports, "convertTextArrows", {
|
|
205
205
|
enumerable: true,
|
|
206
|
-
get: function () { return
|
|
206
|
+
get: function () { return chunkOALGKQ73_cjs.convertTextArrows; }
|
|
207
207
|
});
|
|
208
208
|
Object.defineProperty(exports, "countSlides", {
|
|
209
209
|
enumerable: true,
|
|
210
|
-
get: function () { return
|
|
210
|
+
get: function () { return chunkOALGKQ73_cjs.countSlides; }
|
|
211
211
|
});
|
|
212
212
|
Object.defineProperty(exports, "darkThemeTokens", {
|
|
213
213
|
enumerable: true,
|
|
214
|
-
get: function () { return
|
|
214
|
+
get: function () { return chunkOALGKQ73_cjs.darkThemeTokens; }
|
|
215
215
|
});
|
|
216
216
|
Object.defineProperty(exports, "defineTheme", {
|
|
217
217
|
enumerable: true,
|
|
218
|
-
get: function () { return
|
|
218
|
+
get: function () { return chunkOALGKQ73_cjs.defineTheme; }
|
|
219
219
|
});
|
|
220
220
|
Object.defineProperty(exports, "detectMermaidBlocks", {
|
|
221
221
|
enumerable: true,
|
|
222
|
-
get: function () { return
|
|
222
|
+
get: function () { return chunkOALGKQ73_cjs.detectMermaidBlocks; }
|
|
223
223
|
});
|
|
224
224
|
Object.defineProperty(exports, "extractLayoutsAndNotes", {
|
|
225
225
|
enumerable: true,
|
|
226
|
-
get: function () { return
|
|
226
|
+
get: function () { return chunkOALGKQ73_cjs.extractLayoutsAndNotes; }
|
|
227
227
|
});
|
|
228
228
|
Object.defineProperty(exports, "extractMarpSource", {
|
|
229
229
|
enumerable: true,
|
|
230
|
-
get: function () { return
|
|
230
|
+
get: function () { return chunkOALGKQ73_cjs.extractMarpSource; }
|
|
231
231
|
});
|
|
232
232
|
Object.defineProperty(exports, "extractMaxClicks", {
|
|
233
233
|
enumerable: true,
|
|
234
|
-
get: function () { return
|
|
234
|
+
get: function () { return chunkOALGKQ73_cjs.extractMaxClicks; }
|
|
235
235
|
});
|
|
236
236
|
Object.defineProperty(exports, "filterPresenterNotes", {
|
|
237
237
|
enumerable: true,
|
|
238
|
-
get: function () { return
|
|
238
|
+
get: function () { return chunkOALGKQ73_cjs.filterPresenterNotes; }
|
|
239
239
|
});
|
|
240
240
|
Object.defineProperty(exports, "generateClickCss", {
|
|
241
241
|
enumerable: true,
|
|
242
|
-
get: function () { return
|
|
242
|
+
get: function () { return chunkOALGKQ73_cjs.generateClickCss; }
|
|
243
243
|
});
|
|
244
244
|
Object.defineProperty(exports, "generateLayoutCss", {
|
|
245
245
|
enumerable: true,
|
|
246
|
-
get: function () { return
|
|
246
|
+
get: function () { return chunkOALGKQ73_cjs.generateLayoutCss; }
|
|
247
247
|
});
|
|
248
248
|
Object.defineProperty(exports, "generateScopedCss", {
|
|
249
249
|
enumerable: true,
|
|
250
|
-
get: function () { return
|
|
250
|
+
get: function () { return chunkOALGKQ73_cjs.generateScopedCss2; }
|
|
251
251
|
});
|
|
252
252
|
Object.defineProperty(exports, "generateScopedCssFromTokens", {
|
|
253
253
|
enumerable: true,
|
|
254
|
-
get: function () { return
|
|
254
|
+
get: function () { return chunkOALGKQ73_cjs.generateScopedCss; }
|
|
255
255
|
});
|
|
256
256
|
Object.defineProperty(exports, "getThemeTokens", {
|
|
257
257
|
enumerable: true,
|
|
258
|
-
get: function () { return
|
|
258
|
+
get: function () { return chunkOALGKQ73_cjs.getThemeTokens; }
|
|
259
259
|
});
|
|
260
260
|
Object.defineProperty(exports, "isLayoutComment", {
|
|
261
261
|
enumerable: true,
|
|
262
|
-
get: function () { return
|
|
262
|
+
get: function () { return chunkOALGKQ73_cjs.isLayoutComment; }
|
|
263
263
|
});
|
|
264
264
|
Object.defineProperty(exports, "lightThemeTokens", {
|
|
265
265
|
enumerable: true,
|
|
266
|
-
get: function () { return
|
|
266
|
+
get: function () { return chunkOALGKQ73_cjs.lightThemeTokens; }
|
|
267
267
|
});
|
|
268
268
|
Object.defineProperty(exports, "navyThemeTokens", {
|
|
269
269
|
enumerable: true,
|
|
270
|
-
get: function () { return
|
|
270
|
+
get: function () { return chunkOALGKQ73_cjs.navyThemeTokens; }
|
|
271
271
|
});
|
|
272
272
|
Object.defineProperty(exports, "parseLayoutFromComment", {
|
|
273
273
|
enumerable: true,
|
|
274
|
-
get: function () { return
|
|
274
|
+
get: function () { return chunkOALGKQ73_cjs.parseLayoutFromComment; }
|
|
275
275
|
});
|
|
276
276
|
Object.defineProperty(exports, "postprocessClicks", {
|
|
277
277
|
enumerable: true,
|
|
278
|
-
get: function () { return
|
|
278
|
+
get: function () { return chunkOALGKQ73_cjs.postprocessClicks; }
|
|
279
279
|
});
|
|
280
280
|
Object.defineProperty(exports, "preprocessClicks", {
|
|
281
281
|
enumerable: true,
|
|
282
|
-
get: function () { return
|
|
282
|
+
get: function () { return chunkOALGKQ73_cjs.preprocessClicks; }
|
|
283
283
|
});
|
|
284
284
|
Object.defineProperty(exports, "renderMarp", {
|
|
285
285
|
enumerable: true,
|
|
286
|
-
get: function () { return
|
|
286
|
+
get: function () { return chunkOALGKQ73_cjs.renderMarp; }
|
|
287
287
|
});
|
|
288
288
|
Object.defineProperty(exports, "renderMermaidDiagrams", {
|
|
289
289
|
enumerable: true,
|
|
290
|
-
get: function () { return
|
|
290
|
+
get: function () { return chunkOALGKQ73_cjs.renderMermaidDiagrams; }
|
|
291
291
|
});
|
|
292
292
|
Object.defineProperty(exports, "renderSlide", {
|
|
293
293
|
enumerable: true,
|
|
294
|
-
get: function () { return
|
|
294
|
+
get: function () { return chunkOALGKQ73_cjs.renderSlide; }
|
|
295
295
|
});
|
|
296
296
|
Object.defineProperty(exports, "renderSlideAsync", {
|
|
297
297
|
enumerable: true,
|
|
298
|
-
get: function () { return
|
|
298
|
+
get: function () { return chunkOALGKQ73_cjs.renderSlideAsync; }
|
|
299
299
|
});
|
|
300
300
|
Object.defineProperty(exports, "resolveTheme", {
|
|
301
301
|
enumerable: true,
|
|
302
|
-
get: function () { return
|
|
302
|
+
get: function () { return chunkOALGKQ73_cjs.resolveTheme; }
|
|
303
303
|
});
|
|
304
304
|
Object.defineProperty(exports, "sanitizeMermaidCode", {
|
|
305
305
|
enumerable: true,
|
|
306
|
-
get: function () { return
|
|
306
|
+
get: function () { return chunkOALGKQ73_cjs.sanitizeMermaidCode; }
|
|
307
307
|
});
|
|
308
308
|
Object.defineProperty(exports, "SLIDE_LAYOUT_PRESETS", {
|
|
309
309
|
enumerable: true,
|
|
@@ -339,63 +339,63 @@ Object.defineProperty(exports, "updateSlideTextInMarkdown", {
|
|
|
339
339
|
});
|
|
340
340
|
Object.defineProperty(exports, "HTML_SLIDE_PRESETS", {
|
|
341
341
|
enumerable: true,
|
|
342
|
-
get: function () { return
|
|
342
|
+
get: function () { return chunkJRPN5PMM_cjs.HTML_SLIDE_PRESETS; }
|
|
343
343
|
});
|
|
344
344
|
Object.defineProperty(exports, "HTML_THEMES", {
|
|
345
345
|
enumerable: true,
|
|
346
|
-
get: function () { return
|
|
346
|
+
get: function () { return chunkJRPN5PMM_cjs.HTML_THEMES; }
|
|
347
347
|
});
|
|
348
348
|
Object.defineProperty(exports, "SLIDE_UTILITY_CSS", {
|
|
349
349
|
enumerable: true,
|
|
350
|
-
get: function () { return
|
|
350
|
+
get: function () { return chunkJRPN5PMM_cjs.SLIDE_UTILITY_CSS; }
|
|
351
351
|
});
|
|
352
352
|
Object.defineProperty(exports, "buildBespokeSlideMarkup", {
|
|
353
353
|
enumerable: true,
|
|
354
|
-
get: function () { return
|
|
354
|
+
get: function () { return chunkJRPN5PMM_cjs.buildBespokeSlideMarkup; }
|
|
355
355
|
});
|
|
356
356
|
Object.defineProperty(exports, "compileHtmlDeck", {
|
|
357
357
|
enumerable: true,
|
|
358
|
-
get: function () { return
|
|
358
|
+
get: function () { return chunkJRPN5PMM_cjs.compileHtmlDeck; }
|
|
359
359
|
});
|
|
360
360
|
Object.defineProperty(exports, "compileHtmlDeckAsync", {
|
|
361
361
|
enumerable: true,
|
|
362
|
-
get: function () { return
|
|
362
|
+
get: function () { return chunkJRPN5PMM_cjs.compileHtmlDeckAsync; }
|
|
363
363
|
});
|
|
364
364
|
Object.defineProperty(exports, "generateHtmlShell", {
|
|
365
365
|
enumerable: true,
|
|
366
|
-
get: function () { return
|
|
366
|
+
get: function () { return chunkJRPN5PMM_cjs.generateHtmlShell; }
|
|
367
367
|
});
|
|
368
368
|
Object.defineProperty(exports, "getHighlighter", {
|
|
369
369
|
enumerable: true,
|
|
370
|
-
get: function () { return
|
|
370
|
+
get: function () { return chunkJRPN5PMM_cjs.getHighlighter; }
|
|
371
371
|
});
|
|
372
372
|
Object.defineProperty(exports, "highlightCodeBlocks", {
|
|
373
373
|
enumerable: true,
|
|
374
|
-
get: function () { return
|
|
374
|
+
get: function () { return chunkJRPN5PMM_cjs.highlightCodeBlocks; }
|
|
375
375
|
});
|
|
376
376
|
Object.defineProperty(exports, "highlightDeckCodeBlocks", {
|
|
377
377
|
enumerable: true,
|
|
378
|
-
get: function () { return
|
|
378
|
+
get: function () { return chunkJRPN5PMM_cjs.highlightDeckCodeBlocks; }
|
|
379
379
|
});
|
|
380
380
|
Object.defineProperty(exports, "listUtilityClasses", {
|
|
381
381
|
enumerable: true,
|
|
382
|
-
get: function () { return
|
|
382
|
+
get: function () { return chunkJRPN5PMM_cjs.listUtilityClasses; }
|
|
383
383
|
});
|
|
384
384
|
Object.defineProperty(exports, "normalizeSlideSlots", {
|
|
385
385
|
enumerable: true,
|
|
386
|
-
get: function () { return
|
|
386
|
+
get: function () { return chunkJRPN5PMM_cjs.normalizeSlideSlots; }
|
|
387
387
|
});
|
|
388
388
|
Object.defineProperty(exports, "resolveHtmlTheme", {
|
|
389
389
|
enumerable: true,
|
|
390
|
-
get: function () { return
|
|
390
|
+
get: function () { return chunkJRPN5PMM_cjs.resolveHtmlTheme; }
|
|
391
391
|
});
|
|
392
392
|
Object.defineProperty(exports, "sanitizeSlideHtml", {
|
|
393
393
|
enumerable: true,
|
|
394
|
-
get: function () { return
|
|
394
|
+
get: function () { return chunkJRPN5PMM_cjs.sanitizeSlideHtml; }
|
|
395
395
|
});
|
|
396
396
|
Object.defineProperty(exports, "validateBespokeSlideHtml", {
|
|
397
397
|
enumerable: true,
|
|
398
|
-
get: function () { return
|
|
398
|
+
get: function () { return chunkJRPN5PMM_cjs.validateBespokeSlideHtml; }
|
|
399
399
|
});
|
|
400
400
|
Object.defineProperty(exports, "FRONTEND_SLIDES_CORE_RULES", {
|
|
401
401
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -221,12 +221,36 @@ declare function sanitizeSlideHtml(raw: string): SanitizedSlideHtml;
|
|
|
221
221
|
interface BespokeSlideValidation {
|
|
222
222
|
valid: boolean;
|
|
223
223
|
issues: string[];
|
|
224
|
+
/**
|
|
225
|
+
* TIER 1 — hard contract (always enforced): sanitization, self-containment,
|
|
226
|
+
* typographic hierarchy, size bounds, deck-level structure. Never waivable.
|
|
227
|
+
*/
|
|
228
|
+
hardIssues: string[];
|
|
229
|
+
/**
|
|
230
|
+
* TIER 2 — composition lints (waivable): space-between / stretched-card
|
|
231
|
+
* dead-band heuristics. They describe the exact layout the geometry repair
|
|
232
|
+
* turn is asked to recompose, so gating that turn on them is self-defeating
|
|
233
|
+
* (2/2 production repairs rejected, 2026-09-21). Ground truth for a
|
|
234
|
+
* recomposed slide is the re-measured scanline QA, not these heuristics.
|
|
235
|
+
*/
|
|
236
|
+
compositionIssues: string[];
|
|
237
|
+
/** True iff compositionIssues is non-empty and hardIssues is empty.
|
|
238
|
+
* Kept for ≤0.3.5 consumers; prefer the explicit tier fields. */
|
|
239
|
+
compositionOnly?: boolean;
|
|
224
240
|
}
|
|
225
241
|
interface BespokeSlideContract {
|
|
226
242
|
/** Hard cap on authored characters — bounds prompt/token waste per slide. */
|
|
227
243
|
maxChars?: number;
|
|
228
244
|
/** Minimum characters of real content, i.e. not an empty shell. */
|
|
229
245
|
minChars?: number;
|
|
246
|
+
/**
|
|
247
|
+
* Validation tier mode: when true, tier-2 composition lints
|
|
248
|
+
* (space-between / stretched-card) are waived — `valid` reflects tier-1
|
|
249
|
+
* hard rules only, and `compositionIssues` still carries the lint detail.
|
|
250
|
+
* For the layout-QA geometry repair turn; authoring gates keep full
|
|
251
|
+
* enforcement.
|
|
252
|
+
*/
|
|
253
|
+
waiveCompositionLints?: boolean;
|
|
230
254
|
}
|
|
231
255
|
/**
|
|
232
256
|
* Fail-closed contract for authored slide markup. A slide that fails here must
|
package/dist/index.d.ts
CHANGED
|
@@ -221,12 +221,36 @@ declare function sanitizeSlideHtml(raw: string): SanitizedSlideHtml;
|
|
|
221
221
|
interface BespokeSlideValidation {
|
|
222
222
|
valid: boolean;
|
|
223
223
|
issues: string[];
|
|
224
|
+
/**
|
|
225
|
+
* TIER 1 — hard contract (always enforced): sanitization, self-containment,
|
|
226
|
+
* typographic hierarchy, size bounds, deck-level structure. Never waivable.
|
|
227
|
+
*/
|
|
228
|
+
hardIssues: string[];
|
|
229
|
+
/**
|
|
230
|
+
* TIER 2 — composition lints (waivable): space-between / stretched-card
|
|
231
|
+
* dead-band heuristics. They describe the exact layout the geometry repair
|
|
232
|
+
* turn is asked to recompose, so gating that turn on them is self-defeating
|
|
233
|
+
* (2/2 production repairs rejected, 2026-09-21). Ground truth for a
|
|
234
|
+
* recomposed slide is the re-measured scanline QA, not these heuristics.
|
|
235
|
+
*/
|
|
236
|
+
compositionIssues: string[];
|
|
237
|
+
/** True iff compositionIssues is non-empty and hardIssues is empty.
|
|
238
|
+
* Kept for ≤0.3.5 consumers; prefer the explicit tier fields. */
|
|
239
|
+
compositionOnly?: boolean;
|
|
224
240
|
}
|
|
225
241
|
interface BespokeSlideContract {
|
|
226
242
|
/** Hard cap on authored characters — bounds prompt/token waste per slide. */
|
|
227
243
|
maxChars?: number;
|
|
228
244
|
/** Minimum characters of real content, i.e. not an empty shell. */
|
|
229
245
|
minChars?: number;
|
|
246
|
+
/**
|
|
247
|
+
* Validation tier mode: when true, tier-2 composition lints
|
|
248
|
+
* (space-between / stretched-card) are waived — `valid` reflects tier-1
|
|
249
|
+
* hard rules only, and `compositionIssues` still carries the lint detail.
|
|
250
|
+
* For the layout-QA geometry repair turn; authoring gates keep full
|
|
251
|
+
* enforcement.
|
|
252
|
+
*/
|
|
253
|
+
waiveCompositionLints?: boolean;
|
|
230
254
|
}
|
|
231
255
|
/**
|
|
232
256
|
* Fail-closed contract for authored slide markup. A slide that fails here must
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { resolveTheme, generateScopedCss2, renderSlideAsync, renderSlide } from './chunk-
|
|
2
|
-
export { convertTextArrows, countSlides, darkThemeTokens, defineTheme, detectMermaidBlocks, extractLayoutsAndNotes, extractMarpSource, extractMaxClicks, filterPresenterNotes, generateClickCss, generateLayoutCss, generateScopedCss2 as generateScopedCss, generateScopedCss as generateScopedCssFromTokens, getThemeTokens, isLayoutComment, lightThemeTokens, navyThemeTokens, parseLayoutFromComment, postprocessClicks, preprocessClicks, renderMarp, renderMermaidDiagrams, renderSlide, renderSlideAsync, resolveTheme, sanitizeMermaidCode } from './chunk-
|
|
1
|
+
import { resolveTheme, generateScopedCss2, renderSlideAsync, renderSlide } from './chunk-VGB2SDTQ.js';
|
|
2
|
+
export { convertTextArrows, countSlides, darkThemeTokens, defineTheme, detectMermaidBlocks, extractLayoutsAndNotes, extractMarpSource, extractMaxClicks, filterPresenterNotes, generateClickCss, generateLayoutCss, generateScopedCss2 as generateScopedCss, generateScopedCss as generateScopedCssFromTokens, getThemeTokens, isLayoutComment, lightThemeTokens, navyThemeTokens, parseLayoutFromComment, postprocessClicks, preprocessClicks, renderMarp, renderMermaidDiagrams, renderSlide, renderSlideAsync, resolveTheme, sanitizeMermaidCode } from './chunk-VGB2SDTQ.js';
|
|
3
3
|
import { splitMarkdownSlides } from './chunk-V6X7D44H.js';
|
|
4
4
|
export { SLIDE_LAYOUT_PRESETS, getSlideLayoutPresetById, getSlideLayoutPresetsByCategory, removeSlideElementFromMarkdown, serializeLayoutToComment, splitMarkdownSlides, updateSlideLayoutInMarkdown, updateSlideTextInMarkdown } from './chunk-V6X7D44H.js';
|
|
5
|
-
export { HTML_SLIDE_PRESETS, HTML_THEMES, SLIDE_UTILITY_CSS, buildBespokeSlideMarkup, compileHtmlDeck, compileHtmlDeckAsync, generateHtmlShell, getHighlighter, highlightCodeBlocks, highlightDeckCodeBlocks, listUtilityClasses, normalizeSlideSlots, resolveHtmlTheme, sanitizeSlideHtml, validateBespokeSlideHtml } from './chunk-
|
|
5
|
+
export { HTML_SLIDE_PRESETS, HTML_THEMES, SLIDE_UTILITY_CSS, buildBespokeSlideMarkup, compileHtmlDeck, compileHtmlDeckAsync, generateHtmlShell, getHighlighter, highlightCodeBlocks, highlightDeckCodeBlocks, listUtilityClasses, normalizeSlideSlots, resolveHtmlTheme, sanitizeSlideHtml, validateBespokeSlideHtml } from './chunk-QP7WKYFF.js';
|
|
6
6
|
export { FRONTEND_SLIDES_CORE_RULES, STYLE_PRESETS, TEMPLATES_CATALOG, VIEWPORT_BASE_CSS, frontendSlidesTools, getFrontendSlidesSkillPrompt, getSlideStylePresetSchema, getStylePreset, getStylePresetById, getTemplatesCatalog, querySlideTemplatesSchema, searchTemplates } from './chunk-WNPKREEW.js';
|
|
7
7
|
|
|
8
8
|
// src/engine.ts
|
package/dist/node/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJRPN5PMM_cjs = require('../chunk-JRPN5PMM.cjs');
|
|
4
4
|
var fs = require('fs');
|
|
5
5
|
var path2 = require('path');
|
|
6
6
|
var url = require('url');
|
|
@@ -243,7 +243,7 @@ function collectDeckFontFamilies(html, theme) {
|
|
|
243
243
|
return Array.from(found);
|
|
244
244
|
}
|
|
245
245
|
function compileStandaloneHtmlDeck(deckData, options = {}) {
|
|
246
|
-
const base =
|
|
246
|
+
const base = chunkJRPN5PMM_cjs.compileHtmlDeck(deckData, options);
|
|
247
247
|
if (options.embedFonts === false) return { ...base, embeddedFonts: [] };
|
|
248
248
|
const families = collectDeckFontFamilies(base.html, base.theme);
|
|
249
249
|
const fontFaceCss = loadEmbeddedFontFaceCss(families);
|
package/dist/node/index.js
CHANGED
package/dist/react/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkOALGKQ73_cjs = require('../chunk-OALGKQ73.cjs');
|
|
4
4
|
var chunk3Q4RMZVQ_cjs = require('../chunk-3Q4RMZVQ.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkJRPN5PMM_cjs = require('../chunk-JRPN5PMM.cjs');
|
|
6
6
|
var React2 = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ function useSlideState(options) {
|
|
|
26
26
|
const result = React2.useMemo(() => {
|
|
27
27
|
if (!markdown || !markdown.trim()) return null;
|
|
28
28
|
renderCountRef.current++;
|
|
29
|
-
return
|
|
29
|
+
return chunkOALGKQ73_cjs.renderSlide(markdown, {
|
|
30
30
|
theme,
|
|
31
31
|
enableMermaid: true,
|
|
32
32
|
enableClicks,
|
|
@@ -1338,7 +1338,7 @@ function SlideViewer({
|
|
|
1338
1338
|
containers.forEach((container) => {
|
|
1339
1339
|
if (container instanceof HTMLElement) {
|
|
1340
1340
|
const themeName2 = typeof theme === "string" ? theme : "dark";
|
|
1341
|
-
|
|
1341
|
+
chunkOALGKQ73_cjs.renderMermaidDiagrams(container, themeName2).catch(() => {
|
|
1342
1342
|
});
|
|
1343
1343
|
}
|
|
1344
1344
|
});
|
|
@@ -1622,7 +1622,7 @@ var HtmlSlideViewer = ({
|
|
|
1622
1622
|
const fullHtml = React2.useMemo(() => {
|
|
1623
1623
|
if (initialHtml) return initialHtml;
|
|
1624
1624
|
if (deckData) {
|
|
1625
|
-
return
|
|
1625
|
+
return chunkJRPN5PMM_cjs.compileHtmlDeck(deckData).html;
|
|
1626
1626
|
}
|
|
1627
1627
|
return "";
|
|
1628
1628
|
}, [initialHtml, deckData]);
|
|
@@ -1778,35 +1778,35 @@ var HtmlSlideViewer = ({
|
|
|
1778
1778
|
|
|
1779
1779
|
Object.defineProperty(exports, "defineTheme", {
|
|
1780
1780
|
enumerable: true,
|
|
1781
|
-
get: function () { return
|
|
1781
|
+
get: function () { return chunkOALGKQ73_cjs.defineTheme; }
|
|
1782
1782
|
});
|
|
1783
1783
|
Object.defineProperty(exports, "extractMaxClicks", {
|
|
1784
1784
|
enumerable: true,
|
|
1785
|
-
get: function () { return
|
|
1785
|
+
get: function () { return chunkOALGKQ73_cjs.extractMaxClicks; }
|
|
1786
1786
|
});
|
|
1787
1787
|
Object.defineProperty(exports, "generateClickCss", {
|
|
1788
1788
|
enumerable: true,
|
|
1789
|
-
get: function () { return
|
|
1789
|
+
get: function () { return chunkOALGKQ73_cjs.generateClickCss; }
|
|
1790
1790
|
});
|
|
1791
1791
|
Object.defineProperty(exports, "postprocessClicks", {
|
|
1792
1792
|
enumerable: true,
|
|
1793
|
-
get: function () { return
|
|
1793
|
+
get: function () { return chunkOALGKQ73_cjs.postprocessClicks; }
|
|
1794
1794
|
});
|
|
1795
1795
|
Object.defineProperty(exports, "preprocessClicks", {
|
|
1796
1796
|
enumerable: true,
|
|
1797
|
-
get: function () { return
|
|
1797
|
+
get: function () { return chunkOALGKQ73_cjs.preprocessClicks; }
|
|
1798
1798
|
});
|
|
1799
1799
|
Object.defineProperty(exports, "renderSlide", {
|
|
1800
1800
|
enumerable: true,
|
|
1801
|
-
get: function () { return
|
|
1801
|
+
get: function () { return chunkOALGKQ73_cjs.renderSlide; }
|
|
1802
1802
|
});
|
|
1803
1803
|
Object.defineProperty(exports, "renderSlideAsync", {
|
|
1804
1804
|
enumerable: true,
|
|
1805
|
-
get: function () { return
|
|
1805
|
+
get: function () { return chunkOALGKQ73_cjs.renderSlideAsync; }
|
|
1806
1806
|
});
|
|
1807
1807
|
Object.defineProperty(exports, "resolveTheme", {
|
|
1808
1808
|
enumerable: true,
|
|
1809
|
-
get: function () { return
|
|
1809
|
+
get: function () { return chunkOALGKQ73_cjs.resolveTheme; }
|
|
1810
1810
|
});
|
|
1811
1811
|
exports.DeckView = DeckView;
|
|
1812
1812
|
exports.HtmlSlideViewer = HtmlSlideViewer;
|
package/dist/react/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { renderSlide, renderMermaidDiagrams } from '../chunk-
|
|
2
|
-
export { defineTheme, extractMaxClicks, generateClickCss, postprocessClicks, preprocessClicks, renderSlide, renderSlideAsync, resolveTheme } from '../chunk-
|
|
1
|
+
import { renderSlide, renderMermaidDiagrams } from '../chunk-VGB2SDTQ.js';
|
|
2
|
+
export { defineTheme, extractMaxClicks, generateClickCss, postprocessClicks, preprocessClicks, renderSlide, renderSlideAsync, resolveTheme } from '../chunk-VGB2SDTQ.js';
|
|
3
3
|
import { SLIDE_LAYOUT_PRESETS, updateSlideLayoutInMarkdown } from '../chunk-V6X7D44H.js';
|
|
4
|
-
import { compileHtmlDeck } from '../chunk-
|
|
4
|
+
import { compileHtmlDeck } from '../chunk-QP7WKYFF.js';
|
|
5
5
|
import React2, { useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thanh01.pmt/presentation-kit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
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",
|