@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/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkWKTPYYO2_cjs = require('./chunk-WKTPYYO2.cjs');
3
+ var chunkOALGKQ73_cjs = require('./chunk-OALGKQ73.cjs');
4
4
  var chunk3Q4RMZVQ_cjs = require('./chunk-3Q4RMZVQ.cjs');
5
- var chunkKXX5PGN7_cjs = require('./chunk-KXX5PGN7.cjs');
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 chunkWKTPYYO2_cjs.renderSlide(markdown, mergeOptions(options));
23
+ return chunkOALGKQ73_cjs.renderSlide(markdown, mergeOptions(options));
24
24
  },
25
25
  renderAsync: async (markdown, options) => {
26
- return chunkWKTPYYO2_cjs.renderSlideAsync(markdown, mergeOptions(options));
26
+ return chunkOALGKQ73_cjs.renderSlideAsync(markdown, mergeOptions(options));
27
27
  },
28
28
  getThemeCss: (theme, containerId) => {
29
- const resolved = chunkWKTPYYO2_cjs.resolveTheme(theme);
30
- return chunkWKTPYYO2_cjs.generateScopedCss2(resolved, containerId);
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 = chunkWKTPYYO2_cjs.renderSlide(markdown);
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 chunkWKTPYYO2_cjs.convertTextArrows; }
206
+ get: function () { return chunkOALGKQ73_cjs.convertTextArrows; }
207
207
  });
208
208
  Object.defineProperty(exports, "countSlides", {
209
209
  enumerable: true,
210
- get: function () { return chunkWKTPYYO2_cjs.countSlides; }
210
+ get: function () { return chunkOALGKQ73_cjs.countSlides; }
211
211
  });
212
212
  Object.defineProperty(exports, "darkThemeTokens", {
213
213
  enumerable: true,
214
- get: function () { return chunkWKTPYYO2_cjs.darkThemeTokens; }
214
+ get: function () { return chunkOALGKQ73_cjs.darkThemeTokens; }
215
215
  });
216
216
  Object.defineProperty(exports, "defineTheme", {
217
217
  enumerable: true,
218
- get: function () { return chunkWKTPYYO2_cjs.defineTheme; }
218
+ get: function () { return chunkOALGKQ73_cjs.defineTheme; }
219
219
  });
220
220
  Object.defineProperty(exports, "detectMermaidBlocks", {
221
221
  enumerable: true,
222
- get: function () { return chunkWKTPYYO2_cjs.detectMermaidBlocks; }
222
+ get: function () { return chunkOALGKQ73_cjs.detectMermaidBlocks; }
223
223
  });
224
224
  Object.defineProperty(exports, "extractLayoutsAndNotes", {
225
225
  enumerable: true,
226
- get: function () { return chunkWKTPYYO2_cjs.extractLayoutsAndNotes; }
226
+ get: function () { return chunkOALGKQ73_cjs.extractLayoutsAndNotes; }
227
227
  });
228
228
  Object.defineProperty(exports, "extractMarpSource", {
229
229
  enumerable: true,
230
- get: function () { return chunkWKTPYYO2_cjs.extractMarpSource; }
230
+ get: function () { return chunkOALGKQ73_cjs.extractMarpSource; }
231
231
  });
232
232
  Object.defineProperty(exports, "extractMaxClicks", {
233
233
  enumerable: true,
234
- get: function () { return chunkWKTPYYO2_cjs.extractMaxClicks; }
234
+ get: function () { return chunkOALGKQ73_cjs.extractMaxClicks; }
235
235
  });
236
236
  Object.defineProperty(exports, "filterPresenterNotes", {
237
237
  enumerable: true,
238
- get: function () { return chunkWKTPYYO2_cjs.filterPresenterNotes; }
238
+ get: function () { return chunkOALGKQ73_cjs.filterPresenterNotes; }
239
239
  });
240
240
  Object.defineProperty(exports, "generateClickCss", {
241
241
  enumerable: true,
242
- get: function () { return chunkWKTPYYO2_cjs.generateClickCss; }
242
+ get: function () { return chunkOALGKQ73_cjs.generateClickCss; }
243
243
  });
244
244
  Object.defineProperty(exports, "generateLayoutCss", {
245
245
  enumerable: true,
246
- get: function () { return chunkWKTPYYO2_cjs.generateLayoutCss; }
246
+ get: function () { return chunkOALGKQ73_cjs.generateLayoutCss; }
247
247
  });
248
248
  Object.defineProperty(exports, "generateScopedCss", {
249
249
  enumerable: true,
250
- get: function () { return chunkWKTPYYO2_cjs.generateScopedCss2; }
250
+ get: function () { return chunkOALGKQ73_cjs.generateScopedCss2; }
251
251
  });
252
252
  Object.defineProperty(exports, "generateScopedCssFromTokens", {
253
253
  enumerable: true,
254
- get: function () { return chunkWKTPYYO2_cjs.generateScopedCss; }
254
+ get: function () { return chunkOALGKQ73_cjs.generateScopedCss; }
255
255
  });
256
256
  Object.defineProperty(exports, "getThemeTokens", {
257
257
  enumerable: true,
258
- get: function () { return chunkWKTPYYO2_cjs.getThemeTokens; }
258
+ get: function () { return chunkOALGKQ73_cjs.getThemeTokens; }
259
259
  });
260
260
  Object.defineProperty(exports, "isLayoutComment", {
261
261
  enumerable: true,
262
- get: function () { return chunkWKTPYYO2_cjs.isLayoutComment; }
262
+ get: function () { return chunkOALGKQ73_cjs.isLayoutComment; }
263
263
  });
264
264
  Object.defineProperty(exports, "lightThemeTokens", {
265
265
  enumerable: true,
266
- get: function () { return chunkWKTPYYO2_cjs.lightThemeTokens; }
266
+ get: function () { return chunkOALGKQ73_cjs.lightThemeTokens; }
267
267
  });
268
268
  Object.defineProperty(exports, "navyThemeTokens", {
269
269
  enumerable: true,
270
- get: function () { return chunkWKTPYYO2_cjs.navyThemeTokens; }
270
+ get: function () { return chunkOALGKQ73_cjs.navyThemeTokens; }
271
271
  });
272
272
  Object.defineProperty(exports, "parseLayoutFromComment", {
273
273
  enumerable: true,
274
- get: function () { return chunkWKTPYYO2_cjs.parseLayoutFromComment; }
274
+ get: function () { return chunkOALGKQ73_cjs.parseLayoutFromComment; }
275
275
  });
276
276
  Object.defineProperty(exports, "postprocessClicks", {
277
277
  enumerable: true,
278
- get: function () { return chunkWKTPYYO2_cjs.postprocessClicks; }
278
+ get: function () { return chunkOALGKQ73_cjs.postprocessClicks; }
279
279
  });
280
280
  Object.defineProperty(exports, "preprocessClicks", {
281
281
  enumerable: true,
282
- get: function () { return chunkWKTPYYO2_cjs.preprocessClicks; }
282
+ get: function () { return chunkOALGKQ73_cjs.preprocessClicks; }
283
283
  });
284
284
  Object.defineProperty(exports, "renderMarp", {
285
285
  enumerable: true,
286
- get: function () { return chunkWKTPYYO2_cjs.renderMarp; }
286
+ get: function () { return chunkOALGKQ73_cjs.renderMarp; }
287
287
  });
288
288
  Object.defineProperty(exports, "renderMermaidDiagrams", {
289
289
  enumerable: true,
290
- get: function () { return chunkWKTPYYO2_cjs.renderMermaidDiagrams; }
290
+ get: function () { return chunkOALGKQ73_cjs.renderMermaidDiagrams; }
291
291
  });
292
292
  Object.defineProperty(exports, "renderSlide", {
293
293
  enumerable: true,
294
- get: function () { return chunkWKTPYYO2_cjs.renderSlide; }
294
+ get: function () { return chunkOALGKQ73_cjs.renderSlide; }
295
295
  });
296
296
  Object.defineProperty(exports, "renderSlideAsync", {
297
297
  enumerable: true,
298
- get: function () { return chunkWKTPYYO2_cjs.renderSlideAsync; }
298
+ get: function () { return chunkOALGKQ73_cjs.renderSlideAsync; }
299
299
  });
300
300
  Object.defineProperty(exports, "resolveTheme", {
301
301
  enumerable: true,
302
- get: function () { return chunkWKTPYYO2_cjs.resolveTheme; }
302
+ get: function () { return chunkOALGKQ73_cjs.resolveTheme; }
303
303
  });
304
304
  Object.defineProperty(exports, "sanitizeMermaidCode", {
305
305
  enumerable: true,
306
- get: function () { return chunkWKTPYYO2_cjs.sanitizeMermaidCode; }
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 chunkKXX5PGN7_cjs.HTML_SLIDE_PRESETS; }
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 chunkKXX5PGN7_cjs.HTML_THEMES; }
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 chunkKXX5PGN7_cjs.SLIDE_UTILITY_CSS; }
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 chunkKXX5PGN7_cjs.buildBespokeSlideMarkup; }
354
+ get: function () { return chunkJRPN5PMM_cjs.buildBespokeSlideMarkup; }
355
355
  });
356
356
  Object.defineProperty(exports, "compileHtmlDeck", {
357
357
  enumerable: true,
358
- get: function () { return chunkKXX5PGN7_cjs.compileHtmlDeck; }
358
+ get: function () { return chunkJRPN5PMM_cjs.compileHtmlDeck; }
359
359
  });
360
360
  Object.defineProperty(exports, "compileHtmlDeckAsync", {
361
361
  enumerable: true,
362
- get: function () { return chunkKXX5PGN7_cjs.compileHtmlDeckAsync; }
362
+ get: function () { return chunkJRPN5PMM_cjs.compileHtmlDeckAsync; }
363
363
  });
364
364
  Object.defineProperty(exports, "generateHtmlShell", {
365
365
  enumerable: true,
366
- get: function () { return chunkKXX5PGN7_cjs.generateHtmlShell; }
366
+ get: function () { return chunkJRPN5PMM_cjs.generateHtmlShell; }
367
367
  });
368
368
  Object.defineProperty(exports, "getHighlighter", {
369
369
  enumerable: true,
370
- get: function () { return chunkKXX5PGN7_cjs.getHighlighter; }
370
+ get: function () { return chunkJRPN5PMM_cjs.getHighlighter; }
371
371
  });
372
372
  Object.defineProperty(exports, "highlightCodeBlocks", {
373
373
  enumerable: true,
374
- get: function () { return chunkKXX5PGN7_cjs.highlightCodeBlocks; }
374
+ get: function () { return chunkJRPN5PMM_cjs.highlightCodeBlocks; }
375
375
  });
376
376
  Object.defineProperty(exports, "highlightDeckCodeBlocks", {
377
377
  enumerable: true,
378
- get: function () { return chunkKXX5PGN7_cjs.highlightDeckCodeBlocks; }
378
+ get: function () { return chunkJRPN5PMM_cjs.highlightDeckCodeBlocks; }
379
379
  });
380
380
  Object.defineProperty(exports, "listUtilityClasses", {
381
381
  enumerable: true,
382
- get: function () { return chunkKXX5PGN7_cjs.listUtilityClasses; }
382
+ get: function () { return chunkJRPN5PMM_cjs.listUtilityClasses; }
383
383
  });
384
384
  Object.defineProperty(exports, "normalizeSlideSlots", {
385
385
  enumerable: true,
386
- get: function () { return chunkKXX5PGN7_cjs.normalizeSlideSlots; }
386
+ get: function () { return chunkJRPN5PMM_cjs.normalizeSlideSlots; }
387
387
  });
388
388
  Object.defineProperty(exports, "resolveHtmlTheme", {
389
389
  enumerable: true,
390
- get: function () { return chunkKXX5PGN7_cjs.resolveHtmlTheme; }
390
+ get: function () { return chunkJRPN5PMM_cjs.resolveHtmlTheme; }
391
391
  });
392
392
  Object.defineProperty(exports, "sanitizeSlideHtml", {
393
393
  enumerable: true,
394
- get: function () { return chunkKXX5PGN7_cjs.sanitizeSlideHtml; }
394
+ get: function () { return chunkJRPN5PMM_cjs.sanitizeSlideHtml; }
395
395
  });
396
396
  Object.defineProperty(exports, "validateBespokeSlideHtml", {
397
397
  enumerable: true,
398
- get: function () { return chunkKXX5PGN7_cjs.validateBespokeSlideHtml; }
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-UOWSDZEF.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-UOWSDZEF.js';
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-7ZQHP7OD.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-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
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkKXX5PGN7_cjs = require('../chunk-KXX5PGN7.cjs');
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 = chunkKXX5PGN7_cjs.compileHtmlDeck(deckData, options);
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);
@@ -1,4 +1,4 @@
1
- import { compileHtmlDeck } from '../chunk-7ZQHP7OD.js';
1
+ import { compileHtmlDeck } from '../chunk-QP7WKYFF.js';
2
2
  import fs from 'fs';
3
3
  import path2 from 'path';
4
4
  import { fileURLToPath } from 'url';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkWKTPYYO2_cjs = require('../chunk-WKTPYYO2.cjs');
3
+ var chunkOALGKQ73_cjs = require('../chunk-OALGKQ73.cjs');
4
4
  var chunk3Q4RMZVQ_cjs = require('../chunk-3Q4RMZVQ.cjs');
5
- var chunkKXX5PGN7_cjs = require('../chunk-KXX5PGN7.cjs');
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 chunkWKTPYYO2_cjs.renderSlide(markdown, {
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
- chunkWKTPYYO2_cjs.renderMermaidDiagrams(container, themeName2).catch(() => {
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 chunkKXX5PGN7_cjs.compileHtmlDeck(deckData).html;
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 chunkWKTPYYO2_cjs.defineTheme; }
1781
+ get: function () { return chunkOALGKQ73_cjs.defineTheme; }
1782
1782
  });
1783
1783
  Object.defineProperty(exports, "extractMaxClicks", {
1784
1784
  enumerable: true,
1785
- get: function () { return chunkWKTPYYO2_cjs.extractMaxClicks; }
1785
+ get: function () { return chunkOALGKQ73_cjs.extractMaxClicks; }
1786
1786
  });
1787
1787
  Object.defineProperty(exports, "generateClickCss", {
1788
1788
  enumerable: true,
1789
- get: function () { return chunkWKTPYYO2_cjs.generateClickCss; }
1789
+ get: function () { return chunkOALGKQ73_cjs.generateClickCss; }
1790
1790
  });
1791
1791
  Object.defineProperty(exports, "postprocessClicks", {
1792
1792
  enumerable: true,
1793
- get: function () { return chunkWKTPYYO2_cjs.postprocessClicks; }
1793
+ get: function () { return chunkOALGKQ73_cjs.postprocessClicks; }
1794
1794
  });
1795
1795
  Object.defineProperty(exports, "preprocessClicks", {
1796
1796
  enumerable: true,
1797
- get: function () { return chunkWKTPYYO2_cjs.preprocessClicks; }
1797
+ get: function () { return chunkOALGKQ73_cjs.preprocessClicks; }
1798
1798
  });
1799
1799
  Object.defineProperty(exports, "renderSlide", {
1800
1800
  enumerable: true,
1801
- get: function () { return chunkWKTPYYO2_cjs.renderSlide; }
1801
+ get: function () { return chunkOALGKQ73_cjs.renderSlide; }
1802
1802
  });
1803
1803
  Object.defineProperty(exports, "renderSlideAsync", {
1804
1804
  enumerable: true,
1805
- get: function () { return chunkWKTPYYO2_cjs.renderSlideAsync; }
1805
+ get: function () { return chunkOALGKQ73_cjs.renderSlideAsync; }
1806
1806
  });
1807
1807
  Object.defineProperty(exports, "resolveTheme", {
1808
1808
  enumerable: true,
1809
- get: function () { return chunkWKTPYYO2_cjs.resolveTheme; }
1809
+ get: function () { return chunkOALGKQ73_cjs.resolveTheme; }
1810
1810
  });
1811
1811
  exports.DeckView = DeckView;
1812
1812
  exports.HtmlSlideViewer = HtmlSlideViewer;
@@ -1,7 +1,7 @@
1
- import { renderSlide, renderMermaidDiagrams } from '../chunk-UOWSDZEF.js';
2
- export { defineTheme, extractMaxClicks, generateClickCss, postprocessClicks, preprocessClicks, renderSlide, renderSlideAsync, resolveTheme } from '../chunk-UOWSDZEF.js';
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-7ZQHP7OD.js';
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.4",
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",