pptx-react-viewer 1.21.0 → 1.22.1

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{Model3DScene-IGFOR6UG.js → Model3DScene-3YB3JAJS.js} +2 -2
  3. package/dist/{Model3DScene-IGFOR6UG.js.br → Model3DScene-3YB3JAJS.js.br} +0 -0
  4. package/dist/Model3DScene-3YB3JAJS.js.gz +0 -0
  5. package/dist/{Model3DScene-FERG6DP5.mjs → Model3DScene-NLUSXHD6.mjs} +1 -1
  6. package/dist/Model3DScene-NLUSXHD6.mjs.br +0 -0
  7. package/dist/Model3DScene-NLUSXHD6.mjs.gz +0 -0
  8. package/dist/{PowerPointViewer-JxHuwp4K.d.ts → PowerPointViewer-WGVR_u4z.d.ts} +2 -2
  9. package/dist/PowerPointViewer-WGVR_u4z.d.ts.map +1 -0
  10. package/dist/{SurfaceChart3DScene-S2UEFUQ5.js → SurfaceChart3DScene-PUQ5DCO5.js} +2 -2
  11. package/dist/SurfaceChart3DScene-PUQ5DCO5.js.br +0 -0
  12. package/dist/SurfaceChart3DScene-PUQ5DCO5.js.gz +0 -0
  13. package/dist/{SurfaceChart3DScene-754VHVLW.mjs → SurfaceChart3DScene-YBMJQGH3.mjs} +1 -1
  14. package/dist/{SurfaceChart3DScene-754VHVLW.mjs.br → SurfaceChart3DScene-YBMJQGH3.mjs.br} +0 -0
  15. package/dist/SurfaceChart3DScene-YBMJQGH3.mjs.gz +0 -0
  16. package/dist/{chunk-FTJ5JKLB.mjs → chunk-5SBQZEKD.mjs} +170 -1
  17. package/dist/chunk-5SBQZEKD.mjs.br +0 -0
  18. package/dist/chunk-5SBQZEKD.mjs.gz +0 -0
  19. package/dist/{chunk-K6C5G2J6.mjs → chunk-B7JRQB5F.mjs} +363 -89
  20. package/dist/chunk-B7JRQB5F.mjs.br +0 -0
  21. package/dist/chunk-B7JRQB5F.mjs.gz +0 -0
  22. package/dist/{chunk-2C3XYEFM.mjs → chunk-DZUI64SO.mjs} +3 -3
  23. package/dist/chunk-DZUI64SO.mjs.br +0 -0
  24. package/dist/chunk-DZUI64SO.mjs.gz +0 -0
  25. package/dist/{chunk-4LPWBQTH.mjs → chunk-E3KJKCSV.mjs} +7 -1
  26. package/dist/chunk-E3KJKCSV.mjs.br +0 -0
  27. package/dist/{chunk-4LPWBQTH.mjs.gz → chunk-E3KJKCSV.mjs.gz} +0 -0
  28. package/dist/{chunk-2YHX6IAW.js → chunk-QVQTDWB7.js} +400 -400
  29. package/dist/chunk-QVQTDWB7.js.br +0 -0
  30. package/dist/chunk-QVQTDWB7.js.gz +0 -0
  31. package/dist/{chunk-UGAJLDGZ.js → chunk-VSNXVKJI.js} +182 -0
  32. package/dist/chunk-VSNXVKJI.js.br +0 -0
  33. package/dist/chunk-VSNXVKJI.js.gz +0 -0
  34. package/dist/{chunk-PQUAAGKH.js → chunk-YPZV4KJT.js} +1053 -779
  35. package/dist/chunk-YPZV4KJT.js.br +0 -0
  36. package/dist/chunk-YPZV4KJT.js.gz +0 -0
  37. package/dist/{chunk-4SRCC7NB.js → chunk-ZISXRMDJ.js} +7 -0
  38. package/dist/chunk-ZISXRMDJ.js.br +0 -0
  39. package/dist/{chunk-4SRCC7NB.js.gz → chunk-ZISXRMDJ.js.gz} +0 -0
  40. package/dist/hooks-unstable.js +76 -76
  41. package/dist/hooks-unstable.js.br +0 -0
  42. package/dist/hooks-unstable.js.gz +0 -0
  43. package/dist/hooks-unstable.mjs +3 -3
  44. package/dist/hooks-unstable.mjs.br +0 -0
  45. package/dist/hooks-unstable.mjs.gz +0 -0
  46. package/dist/i18n.d.ts +18 -2
  47. package/dist/i18n.js +7 -3
  48. package/dist/i18n.js.br +0 -0
  49. package/dist/i18n.js.gz +0 -0
  50. package/dist/i18n.mjs +1 -1
  51. package/dist/i18n.mjs.br +0 -0
  52. package/dist/i18n.mjs.gz +0 -0
  53. package/dist/index-SUL_8gq8.d.ts +43 -0
  54. package/dist/index-SUL_8gq8.d.ts.map +1 -0
  55. package/dist/{index-BhR8ykQj.d.ts → index-ntF3kHHU.d.ts} +2 -2
  56. package/dist/{index-BhR8ykQj.d.ts.map → index-ntF3kHHU.d.ts.map} +1 -1
  57. package/dist/index.d.ts +153 -2
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +70 -18
  60. package/dist/index.js.br +0 -0
  61. package/dist/index.js.gz +0 -0
  62. package/dist/index.mjs +4 -4
  63. package/dist/index.mjs.br +0 -0
  64. package/dist/index.mjs.gz +0 -0
  65. package/dist/pptx-viewer.css +1 -1
  66. package/dist/pptx-viewer.css.br +0 -0
  67. package/dist/pptx-viewer.css.gz +0 -0
  68. package/dist/{types-DGauquE9.d.ts → types-Cdh0XYcS.d.ts} +48 -3
  69. package/dist/types-Cdh0XYcS.d.ts.map +1 -0
  70. package/dist/viewer/index.d.ts +79 -0
  71. package/dist/viewer/index.js +20 -20
  72. package/dist/viewer/index.js.br +0 -0
  73. package/dist/viewer/index.js.gz +0 -0
  74. package/dist/viewer/index.mjs +4 -4
  75. package/dist/viewer/index.mjs.br +0 -0
  76. package/dist/viewer/index.mjs.gz +0 -0
  77. package/package.json +1 -1
  78. package/dist/Model3DScene-FERG6DP5.mjs.br +0 -0
  79. package/dist/Model3DScene-FERG6DP5.mjs.gz +0 -0
  80. package/dist/Model3DScene-IGFOR6UG.js.gz +0 -0
  81. package/dist/PowerPointViewer-JxHuwp4K.d.ts.map +0 -1
  82. package/dist/SurfaceChart3DScene-754VHVLW.mjs.gz +0 -0
  83. package/dist/SurfaceChart3DScene-S2UEFUQ5.js.br +0 -0
  84. package/dist/SurfaceChart3DScene-S2UEFUQ5.js.gz +0 -0
  85. package/dist/chunk-2C3XYEFM.mjs.br +0 -0
  86. package/dist/chunk-2C3XYEFM.mjs.gz +0 -0
  87. package/dist/chunk-2YHX6IAW.js.br +0 -0
  88. package/dist/chunk-2YHX6IAW.js.gz +0 -0
  89. package/dist/chunk-4LPWBQTH.mjs.br +0 -0
  90. package/dist/chunk-4SRCC7NB.js.br +0 -0
  91. package/dist/chunk-FTJ5JKLB.mjs.br +0 -0
  92. package/dist/chunk-FTJ5JKLB.mjs.gz +0 -0
  93. package/dist/chunk-K6C5G2J6.mjs.br +0 -0
  94. package/dist/chunk-K6C5G2J6.mjs.gz +0 -0
  95. package/dist/chunk-PQUAAGKH.js.br +0 -0
  96. package/dist/chunk-PQUAAGKH.js.gz +0 -0
  97. package/dist/chunk-UGAJLDGZ.js.br +0 -0
  98. package/dist/chunk-UGAJLDGZ.js.gz +0 -0
  99. package/dist/i18n.d.ts.map +0 -1
  100. package/dist/types-DGauquE9.d.ts.map +0 -1
Binary file
Binary file
@@ -48,6 +48,45 @@ var defaultThemeColors = {
48
48
  // indigo-500
49
49
  };
50
50
  var defaultRadius = "0.5rem";
51
+ var lightThemeColors = {
52
+ background: "#f8fafc",
53
+ // slate-50
54
+ foreground: "#0f172a",
55
+ // slate-900
56
+ card: "#ffffff",
57
+ cardForeground: "#0f172a",
58
+ // slate-900
59
+ popover: "#ffffff",
60
+ popoverForeground: "#0f172a",
61
+ // slate-900
62
+ primary: "#4f46e5",
63
+ // indigo-600
64
+ primaryForeground: "#ffffff",
65
+ secondary: "#f1f5f9",
66
+ // slate-100
67
+ secondaryForeground: "#0f172a",
68
+ // slate-900
69
+ muted: "#f1f5f9",
70
+ // slate-100
71
+ mutedForeground: "#64748b",
72
+ // slate-500
73
+ accent: "#f1f5f9",
74
+ // slate-100
75
+ accentForeground: "#0f172a",
76
+ // slate-900
77
+ destructive: "#dc2626",
78
+ // red-600
79
+ destructiveForeground: "#ffffff",
80
+ border: "#e2e8f0",
81
+ // slate-200
82
+ input: "#e2e8f0",
83
+ // slate-200
84
+ ring: "#4f46e5"
85
+ // indigo-600
86
+ };
87
+ var lightTheme = {
88
+ colors: lightThemeColors
89
+ };
51
90
  var COLOR_KEY_TO_CSS = {
52
91
  background: "background",
53
92
  foreground: "foreground",
@@ -164,6 +203,23 @@ var vermilionDarkTheme = {
164
203
  colors: vermilionDarkColors,
165
204
  radius: vermilionRadius
166
205
  };
206
+ var THEME_CATALOG = [
207
+ { key: "default", labelKey: "pptx.settings.theme.default", theme: void 0 },
208
+ { key: "light", labelKey: "pptx.settings.theme.light", theme: lightTheme },
209
+ {
210
+ key: "vermilionLight",
211
+ labelKey: "pptx.settings.theme.vermilionLight",
212
+ theme: vermilionLightTheme
213
+ },
214
+ {
215
+ key: "vermilionDark",
216
+ labelKey: "pptx.settings.theme.vermilionDark",
217
+ theme: vermilionDarkTheme
218
+ }
219
+ ];
220
+ function resolveThemeCatalogEntry(key, catalog = THEME_CATALOG) {
221
+ return catalog.find((entry) => entry.key === key)?.theme;
222
+ }
167
223
  function collectMediaElements(elements, collector) {
168
224
  for (const element of elements) {
169
225
  if (element.type === "media") {
@@ -20082,6 +20138,30 @@ async function listAutosaveSnapshots() {
20082
20138
  }
20083
20139
  });
20084
20140
  }
20141
+ async function deleteAutosaveSnapshot(filePath) {
20142
+ const db = await openAutosaveDb();
20143
+ return new Promise((resolve) => {
20144
+ try {
20145
+ const tx = db.transaction(AUTOSAVE_STORE_NAME, "readwrite");
20146
+ const store = tx.objectStore(AUTOSAVE_STORE_NAME);
20147
+ store.delete(filePath);
20148
+ tx.oncomplete = () => {
20149
+ db.close();
20150
+ resolve(true);
20151
+ };
20152
+ tx.onerror = () => {
20153
+ db.close();
20154
+ resolve(false);
20155
+ };
20156
+ } catch {
20157
+ try {
20158
+ db.close();
20159
+ } catch {
20160
+ }
20161
+ resolve(false);
20162
+ }
20163
+ });
20164
+ }
20085
20165
  async function saveAutosaveSnapshot(filePath, data) {
20086
20166
  try {
20087
20167
  return await putAutosaveRecord(filePath, data);
@@ -20302,6 +20382,15 @@ async function scanAvailableFontFamilies(families, source = browserFontSource())
20302
20382
  return /* @__PURE__ */ new Set();
20303
20383
  }
20304
20384
  }
20385
+ var VIEWER_PREFERENCE_TOGGLES = [
20386
+ { key: "autoSave", labelKey: "pptx.settings.autoSave" },
20387
+ { key: "spellCheck", labelKey: "pptx.settings.spellCheck" },
20388
+ { key: "showGrid", labelKey: "pptx.settings.showGrid" },
20389
+ { key: "showRulers", labelKey: "pptx.settings.showRulers" },
20390
+ { key: "snapToGrid", labelKey: "pptx.settings.snapToGrid" },
20391
+ { key: "reducedMotion", labelKey: "pptx.settings.reducedMotion" }
20392
+ ];
20393
+ var SETTING_TOGGLES = VIEWER_PREFERENCE_TOGGLES;
20305
20394
  function shouldLoopContinuously(input) {
20306
20395
  return Boolean(input.loopContinuously) || input.showType === "kiosk";
20307
20396
  }
@@ -20324,6 +20413,86 @@ function applyRehearsalTimings(slides, timings) {
20324
20413
  function computeEntranceAnimationDelay(delayMs, animationIndex) {
20325
20414
  return Math.max(0, delayMs || 0) + animationIndex * 60;
20326
20415
  }
20416
+ var VIEWER_PREFS_STORAGE_KEY = "pptx-viewer-prefs";
20417
+ function hasLocalStorage() {
20418
+ return typeof localStorage !== "undefined";
20419
+ }
20420
+ function readStoredViewerPrefs() {
20421
+ if (!hasLocalStorage()) {
20422
+ return {};
20423
+ }
20424
+ try {
20425
+ const raw = localStorage.getItem(VIEWER_PREFS_STORAGE_KEY);
20426
+ if (!raw) {
20427
+ return {};
20428
+ }
20429
+ const parsed = JSON.parse(raw);
20430
+ return parsed && typeof parsed === "object" ? parsed : {};
20431
+ } catch {
20432
+ return {};
20433
+ }
20434
+ }
20435
+ function writeStoredViewerPrefs(patch) {
20436
+ if (!hasLocalStorage()) {
20437
+ return;
20438
+ }
20439
+ try {
20440
+ const next = { ...readStoredViewerPrefs(), ...patch };
20441
+ localStorage.setItem(VIEWER_PREFS_STORAGE_KEY, JSON.stringify(next));
20442
+ } catch {
20443
+ }
20444
+ }
20445
+ function clearStoredViewerPrefs() {
20446
+ if (!hasLocalStorage()) {
20447
+ return;
20448
+ }
20449
+ try {
20450
+ localStorage.removeItem(VIEWER_PREFS_STORAGE_KEY);
20451
+ } catch {
20452
+ }
20453
+ }
20454
+ var DEFAULT_VIEWER_PROFILE = {
20455
+ displayName: "",
20456
+ avatarColor: "#6366f1"
20457
+ };
20458
+ var AVATAR_COLOR_SWATCHES = [
20459
+ "#6366f1",
20460
+ // indigo
20461
+ "#c2431f",
20462
+ // vermilion
20463
+ "#0891b2",
20464
+ // cyan
20465
+ "#16a34a",
20466
+ // green
20467
+ "#ca8a04",
20468
+ // amber
20469
+ "#db2777",
20470
+ // pink
20471
+ "#64748b"
20472
+ // slate
20473
+ ];
20474
+ function resolveProfileInitial(profile) {
20475
+ if (profile.initial) {
20476
+ return profile.initial.slice(0, 1).toUpperCase();
20477
+ }
20478
+ const trimmed = profile.displayName.trim();
20479
+ return trimmed ? trimmed.slice(0, 1).toUpperCase() : "?";
20480
+ }
20481
+ async function getLocalStorageUsageSummary() {
20482
+ const snapshots = await listAutosaveSnapshots();
20483
+ return {
20484
+ presentationCount: snapshots.length,
20485
+ totalBytes: snapshots.reduce((sum, snapshot) => sum + snapshot.size, 0)
20486
+ };
20487
+ }
20488
+ async function clearAllLocalViewerData() {
20489
+ const snapshots = await listAutosaveSnapshots();
20490
+ await Promise.all(snapshots.map((snapshot) => deleteAutosaveSnapshot(snapshot.key)));
20491
+ clearStoredViewerPrefs();
20492
+ }
20493
+ function saveViewerProfile(profile) {
20494
+ writeStoredViewerPrefs({ profile });
20495
+ }
20327
20496
  var TOOLBAR_TABS = [
20328
20497
  { id: "file", labelKey: "pptx.ribbon.tab.file" },
20329
20498
  { id: "home", labelKey: "pptx.ribbon.tab.home" },
@@ -21971,6 +22140,7 @@ function segmentFrameCount(durationMs, fps) {
21971
22140
 
21972
22141
  exports.ACTION_BUTTON_PRESETS = ACTION_BUTTON_PRESETS;
21973
22142
  exports.ARTISTIC_EFFECTS = ARTISTIC_EFFECTS;
22143
+ exports.AVATAR_COLOR_SWATCHES = AVATAR_COLOR_SWATCHES;
21974
22144
  exports.BACKSTAGE_NAV = BACKSTAGE_NAV;
21975
22145
  exports.BACKSTAGE_TEMPLATES = BACKSTAGE_TEMPLATES;
21976
22146
  exports.BROADCAST_THROTTLE_MS = BROADCAST_THROTTLE_MS;
@@ -21980,6 +22150,7 @@ exports.DEFAULT_BROADCAST_SERVER_URL = DEFAULT_BROADCAST_SERVER_URL;
21980
22150
  exports.DEFAULT_COLOR_CHANGE_TOLERANCE = DEFAULT_COLOR_CHANGE_TOLERANCE;
21981
22151
  exports.DEFAULT_INSERT_CHART_TYPE = DEFAULT_INSERT_CHART_TYPE;
21982
22152
  exports.DEFAULT_ROW_HEIGHT = DEFAULT_ROW_HEIGHT;
22153
+ exports.DEFAULT_VIEWER_PROFILE = DEFAULT_VIEWER_PROFILE;
21983
22154
  exports.DEFAULT_VIRTUAL_OVERSCAN = DEFAULT_VIRTUAL_OVERSCAN;
21984
22155
  exports.DIRECTIONAL_PRESETS = DIRECTIONAL_PRESETS;
21985
22156
  exports.DUOTONE_PRESETS = DUOTONE_PRESETS;
@@ -22008,6 +22179,7 @@ exports.RULER_FONT_SIZE = RULER_FONT_SIZE;
22008
22179
  exports.RULER_THICKNESS = RULER_THICKNESS;
22009
22180
  exports.SECTION_HEADING = SECTION_HEADING;
22010
22181
  exports.SEL = SEL;
22182
+ exports.SETTING_TOGGLES = SETTING_TOGGLES;
22011
22183
  exports.SHAPE_PRESET_DEFS = SHAPE_PRESET_DEFS;
22012
22184
  exports.SLIDE_TRANSITION_KEYFRAMES = SLIDE_TRANSITION_KEYFRAMES;
22013
22185
  exports.SLIDE_VIRTUALIZATION_THRESHOLD = SLIDE_VIRTUALIZATION_THRESHOLD;
@@ -22015,11 +22187,13 @@ exports.TABLET_BREAKPOINT = TABLET_BREAKPOINT;
22015
22187
  exports.TABLE_STYLE_PRESETS = TABLE_STYLE_PRESETS;
22016
22188
  exports.TAB_ROW_ACTION_CLASSES = TAB_ROW_ACTION_CLASSES;
22017
22189
  exports.TEXT_BUILD_ID_SEP = TEXT_BUILD_ID_SEP;
22190
+ exports.THEME_CATALOG = THEME_CATALOG;
22018
22191
  exports.THEME_COLOR_LABELS = THEME_COLOR_LABELS;
22019
22192
  exports.TITLE_BAR_CLASSES = TITLE_BAR_CLASSES;
22020
22193
  exports.TITLE_BAR_DEFAULT_FILE_KEY = TITLE_BAR_DEFAULT_FILE_KEY;
22021
22194
  exports.TOOLBAR_TABS = TOOLBAR_TABS;
22022
22195
  exports.TimelineEngine = TimelineEngine;
22196
+ exports.VIEWER_PREFS_STORAGE_KEY = VIEWER_PREFS_STORAGE_KEY;
22023
22197
  exports.WEBM_MIME_CANDIDATES = WEBM_MIME_CANDIDATES;
22024
22198
  exports.activateModalFocus = activateModalFocus;
22025
22199
  exports.addSection = addSection;
@@ -22082,7 +22256,9 @@ exports.clampCropValue = clampCropValue;
22082
22256
  exports.clampNotesFontSize = clampNotesFontSize;
22083
22257
  exports.clampPercent = clampPercent;
22084
22258
  exports.clampUnitInterval = clampUnitInterval;
22259
+ exports.clearAllLocalViewerData = clearAllLocalViewerData;
22085
22260
  exports.clearPresentationDeck = clearPresentationDeck;
22261
+ exports.clearStoredViewerPrefs = clearStoredViewerPrefs;
22086
22262
  exports.cloneElementForPaste = cloneElementForPaste;
22087
22263
  exports.cloneHistorySnapshot = cloneHistorySnapshot;
22088
22264
  exports.cloneSlide = cloneSlide;
@@ -22195,6 +22371,7 @@ exports.getImageSvgFilters = getImageSvgFilters;
22195
22371
  exports.getInkReplayStyles = getInkReplayStyles;
22196
22372
  exports.getInlineEditorSelection = getInlineEditorSelection;
22197
22373
  exports.getKinsokuLineBreakStyles = getKinsokuLineBreakStyles;
22374
+ exports.getLocalStorageUsageSummary = getLocalStorageUsageSummary;
22198
22375
  exports.getNotesPrintableArea = getNotesPrintableArea;
22199
22376
  exports.getOleBadgeLabel = getOleBadgeLabel;
22200
22377
  exports.getOleTypeColor = getOleTypeColor;
@@ -22272,6 +22449,7 @@ exports.presenterElapsed = presenterElapsed;
22272
22449
  exports.pressuresToWidths = pressuresToWidths;
22273
22450
  exports.readBackstageRecentFile = readBackstageRecentFile;
22274
22451
  exports.readSlidesFromYDoc = readSlidesFromYDoc;
22452
+ exports.readStoredViewerPrefs = readStoredViewerPrefs;
22275
22453
  exports.readViewportMetrics = readViewportMetrics;
22276
22454
  exports.rebuildDrawingShapesIfCleared = rebuildDrawingShapesIfCleared;
22277
22455
  exports.reconcileSlidesInYDoc = reconcileSlidesInYDoc;
@@ -22293,7 +22471,9 @@ exports.resolveOleType = resolveOleType;
22293
22471
  exports.resolveParagraphAlign = resolveParagraphAlign;
22294
22472
  exports.resolveParagraphRtl = resolveParagraphRtl;
22295
22473
  exports.resolvePictureBullet = resolvePictureBullet;
22474
+ exports.resolveProfileInitial = resolveProfileInitial;
22296
22475
  exports.resolveRegionCode = resolveRegionCode;
22476
+ exports.resolveThemeCatalogEntry = resolveThemeCatalogEntry;
22297
22477
  exports.resolveTitleBarStatusKey = resolveTitleBarStatusKey;
22298
22478
  exports.resolveTransitionDurationMs = resolveTransitionDurationMs;
22299
22479
  exports.resolveTransportForServerUrl = resolveTransportForServerUrl;
@@ -22304,6 +22484,7 @@ exports.sanitizeColor = sanitizeColor;
22304
22484
  exports.sanitizeDownloadFilename = sanitizeDownloadFilename;
22305
22485
  exports.sanitizeMathMl = sanitizeMathMl;
22306
22486
  exports.saveAutosaveSnapshot = saveAutosaveSnapshot;
22487
+ exports.saveViewerProfile = saveViewerProfile;
22307
22488
  exports.scanAvailableFontFamilies = scanAvailableFontFamilies;
22308
22489
  exports.segmentByScript = segmentByScript;
22309
22490
  exports.segmentFrameCount = segmentFrameCount;
@@ -22344,3 +22525,4 @@ exports.vermilionLightTheme = vermilionLightTheme;
22344
22525
  exports.vermilionRadius = vermilionRadius;
22345
22526
  exports.withChartPointValue = withChartPointValue;
22346
22527
  exports.withChartTitle = withChartTitle;
22528
+ exports.writeStoredViewerPrefs = writeStoredViewerPrefs;
Binary file
Binary file