pptx-react-viewer 1.19.0 → 1.20.0

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 (88) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{Model3DScene-CQP7JLKK.js → Model3DScene-BLUWY36S.js} +2 -2
  3. package/dist/Model3DScene-BLUWY36S.js.br +0 -0
  4. package/dist/Model3DScene-BLUWY36S.js.gz +0 -0
  5. package/dist/{Model3DScene-J2KBVMEZ.mjs → Model3DScene-RYHVTFOT.mjs} +1 -1
  6. package/dist/Model3DScene-RYHVTFOT.mjs.br +0 -0
  7. package/dist/Model3DScene-RYHVTFOT.mjs.gz +0 -0
  8. package/dist/{SurfaceChart3DScene-U6LVKSKR.js → SurfaceChart3DScene-BW2YTOPQ.js} +2 -2
  9. package/dist/{SurfaceChart3DScene-U6LVKSKR.js.br → SurfaceChart3DScene-BW2YTOPQ.js.br} +0 -0
  10. package/dist/SurfaceChart3DScene-BW2YTOPQ.js.gz +0 -0
  11. package/dist/{SurfaceChart3DScene-52VUVZSC.mjs → SurfaceChart3DScene-U6QOMUJF.mjs} +1 -1
  12. package/dist/SurfaceChart3DScene-U6QOMUJF.mjs.br +0 -0
  13. package/dist/SurfaceChart3DScene-U6QOMUJF.mjs.gz +0 -0
  14. package/dist/{chunk-RIRK64DM.mjs → chunk-4LPWBQTH.mjs} +24 -0
  15. package/dist/chunk-4LPWBQTH.mjs.br +0 -0
  16. package/dist/chunk-4LPWBQTH.mjs.gz +0 -0
  17. package/dist/{chunk-AALZCSY4.js → chunk-4SRCC7NB.js} +24 -0
  18. package/dist/chunk-4SRCC7NB.js.br +0 -0
  19. package/dist/chunk-4SRCC7NB.js.gz +0 -0
  20. package/dist/{chunk-P3T4E6JQ.js → chunk-BXACB3BG.js} +9 -7
  21. package/dist/chunk-BXACB3BG.js.br +0 -0
  22. package/dist/chunk-BXACB3BG.js.gz +0 -0
  23. package/dist/{chunk-R7FTNSSP.mjs → chunk-GG2KBJSN.mjs} +9 -7
  24. package/dist/chunk-GG2KBJSN.mjs.br +0 -0
  25. package/dist/chunk-GG2KBJSN.mjs.gz +0 -0
  26. package/dist/{chunk-DBZLZMED.js → chunk-KRK367H5.js} +687 -705
  27. package/dist/chunk-KRK367H5.js.br +0 -0
  28. package/dist/chunk-KRK367H5.js.gz +0 -0
  29. package/dist/{chunk-YF6JD4DO.js → chunk-LXUMBK2O.js} +398 -398
  30. package/dist/chunk-LXUMBK2O.js.br +0 -0
  31. package/dist/chunk-LXUMBK2O.js.gz +0 -0
  32. package/dist/{chunk-SLJXGFZS.mjs → chunk-TUVSZMLW.mjs} +5 -22
  33. package/dist/chunk-TUVSZMLW.mjs.br +0 -0
  34. package/dist/chunk-TUVSZMLW.mjs.gz +0 -0
  35. package/dist/{chunk-XGTMHQR7.mjs → chunk-UDJHJM5B.mjs} +3 -3
  36. package/dist/chunk-UDJHJM5B.mjs.br +0 -0
  37. package/dist/chunk-UDJHJM5B.mjs.gz +0 -0
  38. package/dist/hooks-unstable.js +74 -74
  39. package/dist/hooks-unstable.js.br +0 -0
  40. package/dist/hooks-unstable.js.gz +0 -0
  41. package/dist/hooks-unstable.mjs +3 -3
  42. package/dist/hooks-unstable.mjs.br +0 -0
  43. package/dist/hooks-unstable.mjs.gz +0 -0
  44. package/dist/i18n.js +3 -3
  45. package/dist/i18n.js.br +0 -0
  46. package/dist/i18n.js.gz +0 -0
  47. package/dist/i18n.mjs +1 -1
  48. package/dist/i18n.mjs.br +0 -0
  49. package/dist/i18n.mjs.gz +0 -0
  50. package/dist/index.js +18 -18
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +4 -4
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/pptx-viewer.css +2 -2
  57. package/dist/pptx-viewer.css.br +0 -0
  58. package/dist/pptx-viewer.css.gz +0 -0
  59. package/dist/viewer/index.js +20 -20
  60. package/dist/viewer/index.js.br +0 -0
  61. package/dist/viewer/index.js.gz +0 -0
  62. package/dist/viewer/index.mjs +4 -4
  63. package/dist/viewer/index.mjs.br +0 -0
  64. package/dist/viewer/index.mjs.gz +0 -0
  65. package/package.json +12 -12
  66. package/dist/Model3DScene-CQP7JLKK.js.br +0 -0
  67. package/dist/Model3DScene-CQP7JLKK.js.gz +0 -0
  68. package/dist/Model3DScene-J2KBVMEZ.mjs.br +0 -0
  69. package/dist/Model3DScene-J2KBVMEZ.mjs.gz +0 -0
  70. package/dist/SurfaceChart3DScene-52VUVZSC.mjs.br +0 -0
  71. package/dist/SurfaceChart3DScene-52VUVZSC.mjs.gz +0 -0
  72. package/dist/SurfaceChart3DScene-U6LVKSKR.js.gz +0 -0
  73. package/dist/chunk-AALZCSY4.js.br +0 -0
  74. package/dist/chunk-AALZCSY4.js.gz +0 -0
  75. package/dist/chunk-DBZLZMED.js.br +0 -0
  76. package/dist/chunk-DBZLZMED.js.gz +0 -0
  77. package/dist/chunk-P3T4E6JQ.js.br +0 -0
  78. package/dist/chunk-P3T4E6JQ.js.gz +0 -0
  79. package/dist/chunk-R7FTNSSP.mjs.br +0 -0
  80. package/dist/chunk-R7FTNSSP.mjs.gz +0 -0
  81. package/dist/chunk-RIRK64DM.mjs.br +0 -0
  82. package/dist/chunk-RIRK64DM.mjs.gz +0 -0
  83. package/dist/chunk-SLJXGFZS.mjs.br +0 -0
  84. package/dist/chunk-SLJXGFZS.mjs.gz +0 -0
  85. package/dist/chunk-XGTMHQR7.mjs.br +0 -0
  86. package/dist/chunk-XGTMHQR7.mjs.gz +0 -0
  87. package/dist/chunk-YF6JD4DO.js.br +0 -0
  88. package/dist/chunk-YF6JD4DO.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [1.19.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.19.1) - 2026-07-17
8
+
9
+ ### Dependencies
10
+
11
+ - **deps:** Update outdated dependencies within semver ranges (by @ChristopherVR) ([3249d8e](https://github.com/ChristopherVR/pptx-viewer/commit/3249d8ecd53ea79089f87f942f2c88caae840466))
12
+
13
+ ## [1.19.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.19.0) - 2026-07-17
14
+
7
15
  ## [1.18.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@1.18.0) - 2026-07-16
8
16
 
9
17
  ### Documentation
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkP3T4E6JQ_js = require('./chunk-P3T4E6JQ.js');
3
+ var chunkBXACB3BG_js = require('./chunk-BXACB3BG.js');
4
4
  require('./chunk-AD3EAEY6.js');
5
5
  require('./chunk-QGM4M3NI.js');
6
6
  var react = require('react');
@@ -15,7 +15,7 @@ function Model3DScene({ modelUrl, interactive, width, height }) {
15
15
  return;
16
16
  }
17
17
  let disposed = false;
18
- void chunkP3T4E6JQ_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
18
+ void chunkBXACB3BG_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
19
19
  if (disposed) {
20
20
  handle.dispose();
21
21
  } else {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { mountModel3D } from './chunk-R7FTNSSP.mjs';
1
+ import { mountModel3D } from './chunk-GG2KBJSN.mjs';
2
2
  import './chunk-3ZGCM6RC.mjs';
3
3
  import './chunk-6DZX6EAA.mjs';
4
4
  import { useRef, useEffect } from 'react';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkP3T4E6JQ_js = require('./chunk-P3T4E6JQ.js');
3
+ var chunkBXACB3BG_js = require('./chunk-BXACB3BG.js');
4
4
  require('./chunk-AD3EAEY6.js');
5
5
  require('./chunk-QGM4M3NI.js');
6
6
  var react = require('react');
@@ -26,7 +26,7 @@ function SurfaceChart3DScene({
26
26
  return;
27
27
  }
28
28
  let disposed = false;
29
- void chunkP3T4E6JQ_js.mountSurfaceChart3D(container, {
29
+ void chunkBXACB3BG_js.mountSurfaceChart3D(container, {
30
30
  cols,
31
31
  rows,
32
32
  heightMap,
@@ -1,4 +1,4 @@
1
- import { mountSurfaceChart3D } from './chunk-R7FTNSSP.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-GG2KBJSN.mjs';
2
2
  import './chunk-3ZGCM6RC.mjs';
3
3
  import './chunk-6DZX6EAA.mjs';
4
4
  import { useRef, useEffect } from 'react';
@@ -220,6 +220,30 @@ var translationsEn = {
220
220
  "pptx.settings.showRulers": "Show rulers",
221
221
  "pptx.settings.snapToGrid": "Snap to grid",
222
222
  "pptx.settings.reducedMotion": "Reduced motion",
223
+ "pptx.settings.appearance": "Appearance",
224
+ "pptx.settings.language": "Language",
225
+ "pptx.settings.theme.default": "Default",
226
+ "pptx.settings.theme.light": "Light",
227
+ "pptx.settings.theme.vermilionLight": "Vermilion Light",
228
+ "pptx.settings.theme.vermilionDark": "Vermilion Dark",
229
+ // Account page (File > Account)
230
+ "pptx.account.profile.title": "Profile",
231
+ "pptx.account.profile.nameLabel": "Display name",
232
+ "pptx.account.profile.namePlaceholder": "Your name",
233
+ "pptx.account.profile.avatarColorLabel": "Avatar color",
234
+ "pptx.account.storage.title": "Storage & Privacy",
235
+ "pptx.account.storage.usage": "{{count}} saved presentation(s), {{size}} used",
236
+ "pptx.account.storage.usageEmpty": "No presentations saved locally yet.",
237
+ "pptx.account.storage.clear": "Clear local data",
238
+ "pptx.account.storage.clearConfirm": "This permanently deletes every locally saved presentation and recovery snapshot on this device. This cannot be undone. Continue?",
239
+ "pptx.account.storage.clearedNotice": "Local data cleared.",
240
+ "pptx.account.storage.privacyBlurb": "Your presentations and recovery history stay in your browser unless you explicitly share or download them.",
241
+ "pptx.account.about.title": "About",
242
+ "pptx.account.about.version": "Version {{version}}",
243
+ "pptx.account.signIn.title": "Sign in",
244
+ "pptx.account.signIn.description": "Sign in to sync your presentations and settings across devices.",
245
+ "pptx.account.signIn.button": "Sign in",
246
+ "pptx.account.signIn.signedInAs": "Signed in as {{name}}",
223
247
  // Sections / slides pane
224
248
  "pptx.sections.slides": "Slides",
225
249
  "pptx.sections.collapsePane": "Collapse pane",
Binary file
Binary file
@@ -222,6 +222,30 @@ var translationsEn = {
222
222
  "pptx.settings.showRulers": "Show rulers",
223
223
  "pptx.settings.snapToGrid": "Snap to grid",
224
224
  "pptx.settings.reducedMotion": "Reduced motion",
225
+ "pptx.settings.appearance": "Appearance",
226
+ "pptx.settings.language": "Language",
227
+ "pptx.settings.theme.default": "Default",
228
+ "pptx.settings.theme.light": "Light",
229
+ "pptx.settings.theme.vermilionLight": "Vermilion Light",
230
+ "pptx.settings.theme.vermilionDark": "Vermilion Dark",
231
+ // Account page (File > Account)
232
+ "pptx.account.profile.title": "Profile",
233
+ "pptx.account.profile.nameLabel": "Display name",
234
+ "pptx.account.profile.namePlaceholder": "Your name",
235
+ "pptx.account.profile.avatarColorLabel": "Avatar color",
236
+ "pptx.account.storage.title": "Storage & Privacy",
237
+ "pptx.account.storage.usage": "{{count}} saved presentation(s), {{size}} used",
238
+ "pptx.account.storage.usageEmpty": "No presentations saved locally yet.",
239
+ "pptx.account.storage.clear": "Clear local data",
240
+ "pptx.account.storage.clearConfirm": "This permanently deletes every locally saved presentation and recovery snapshot on this device. This cannot be undone. Continue?",
241
+ "pptx.account.storage.clearedNotice": "Local data cleared.",
242
+ "pptx.account.storage.privacyBlurb": "Your presentations and recovery history stay in your browser unless you explicitly share or download them.",
243
+ "pptx.account.about.title": "About",
244
+ "pptx.account.about.version": "Version {{version}}",
245
+ "pptx.account.signIn.title": "Sign in",
246
+ "pptx.account.signIn.description": "Sign in to sync your presentations and settings across devices.",
247
+ "pptx.account.signIn.button": "Sign in",
248
+ "pptx.account.signIn.signedInAs": "Signed in as {{name}}",
225
249
  // Sections / slides pane
226
250
  "pptx.sections.slides": "Slides",
227
251
  "pptx.sections.collapsePane": "Collapse pane",
Binary file
Binary file
@@ -7703,7 +7703,12 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
7703
7703
  const categories = categoryLabels.length > 0 ? categoryLabels : chartData.categories;
7704
7704
  const series = chartData.series[0];
7705
7705
  const options = series?.regionMapOptions;
7706
- const entries = buildRegionMapEntries(categories, series?.values ?? [], options, resolveRegionCode);
7706
+ const entries = buildRegionMapEntries(
7707
+ categories,
7708
+ series?.values ?? [],
7709
+ options,
7710
+ resolveRegionCode
7711
+ );
7707
7712
  const values = entries.map((entry) => entry.value);
7708
7713
  const finiteVals = values.filter((v) => Number.isFinite(v));
7709
7714
  const minVal = finiteVals.length > 0 ? Math.min(...finiteVals) : 0;
@@ -13510,16 +13515,12 @@ function purifyFn() {
13510
13515
  const purify = DOMPurify__default.default;
13511
13516
  return typeof purify.sanitize === "function" ? purify.sanitize : void 0;
13512
13517
  }
13513
- function sanitizeMarkupOrRaw(markup, config) {
13514
- const sanitize = purifyFn();
13515
- return sanitize ? sanitize(markup, config) : markup;
13516
- }
13517
13518
  function sanitizeMarkupOrEmpty(markup, config) {
13518
13519
  const sanitize = purifyFn();
13519
13520
  return sanitize ? sanitize(markup, config) : "";
13520
13521
  }
13521
13522
  function sanitizeMathMl(markup) {
13522
- const sanitized = sanitizeMarkupOrRaw(markup, { USE_PROFILES: { mathMl: true, svg: true } });
13523
+ const sanitized = sanitizeMarkupOrEmpty(markup, { USE_PROFILES: { mathMl: true, svg: true } });
13523
13524
  if (/<math(?:\s|>)/iu.test(markup) && !/<math(?:\s|>)/iu.test(sanitized) && sanitized) {
13524
13525
  return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">${sanitized}</math>`;
13525
13526
  }
@@ -20284,7 +20285,8 @@ function isFontFamilyAvailable(family, source = browserFontSource()) {
20284
20285
  return false;
20285
20286
  }
20286
20287
  try {
20287
- return source.check(`12px "${family.replace(/"/g, '\\"')}"`);
20288
+ const escaped = family.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
20289
+ return source.check(`12px "${escaped}"`);
20288
20290
  } catch {
20289
20291
  return false;
20290
20292
  }
Binary file
Binary file
@@ -7697,7 +7697,12 @@ function buildRegionMapViewModel(element, chartData, categoryLabels) {
7697
7697
  const categories = categoryLabels.length > 0 ? categoryLabels : chartData.categories;
7698
7698
  const series = chartData.series[0];
7699
7699
  const options = series?.regionMapOptions;
7700
- const entries = buildRegionMapEntries(categories, series?.values ?? [], options, resolveRegionCode);
7700
+ const entries = buildRegionMapEntries(
7701
+ categories,
7702
+ series?.values ?? [],
7703
+ options,
7704
+ resolveRegionCode
7705
+ );
7701
7706
  const values = entries.map((entry) => entry.value);
7702
7707
  const finiteVals = values.filter((v) => Number.isFinite(v));
7703
7708
  const minVal = finiteVals.length > 0 ? Math.min(...finiteVals) : 0;
@@ -13504,16 +13509,12 @@ function purifyFn() {
13504
13509
  const purify = DOMPurify;
13505
13510
  return typeof purify.sanitize === "function" ? purify.sanitize : void 0;
13506
13511
  }
13507
- function sanitizeMarkupOrRaw(markup, config) {
13508
- const sanitize = purifyFn();
13509
- return sanitize ? sanitize(markup, config) : markup;
13510
- }
13511
13512
  function sanitizeMarkupOrEmpty(markup, config) {
13512
13513
  const sanitize = purifyFn();
13513
13514
  return sanitize ? sanitize(markup, config) : "";
13514
13515
  }
13515
13516
  function sanitizeMathMl(markup) {
13516
- const sanitized = sanitizeMarkupOrRaw(markup, { USE_PROFILES: { mathMl: true, svg: true } });
13517
+ const sanitized = sanitizeMarkupOrEmpty(markup, { USE_PROFILES: { mathMl: true, svg: true } });
13517
13518
  if (/<math(?:\s|>)/iu.test(markup) && !/<math(?:\s|>)/iu.test(sanitized) && sanitized) {
13518
13519
  return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">${sanitized}</math>`;
13519
13520
  }
@@ -20278,7 +20279,8 @@ function isFontFamilyAvailable(family, source = browserFontSource()) {
20278
20279
  return false;
20279
20280
  }
20280
20281
  try {
20281
- return source.check(`12px "${family.replace(/"/g, '\\"')}"`);
20282
+ const escaped = family.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
20283
+ return source.check(`12px "${escaped}"`);
20282
20284
  } catch {
20283
20285
  return false;
20284
20286
  }
Binary file
Binary file