pptx-react-viewer 4.2.0 → 4.3.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 (132) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/{AiChatPanel-VVTLQXQ5.js → AiChatPanel-7UQA25FA.js} +28 -28
  3. package/dist/AiChatPanel-7UQA25FA.js.br +0 -0
  4. package/dist/AiChatPanel-7UQA25FA.js.gz +0 -0
  5. package/dist/{AiChatPanel-SEIRQ3XP.mjs → AiChatPanel-UCEK3ZTD.mjs} +4 -4
  6. package/dist/AiChatPanel-UCEK3ZTD.mjs.br +0 -0
  7. package/dist/AiChatPanel-UCEK3ZTD.mjs.gz +0 -0
  8. package/dist/{Model3DScene-DCTVSK2F.mjs → Model3DScene-AI2JTBQM.mjs} +1 -1
  9. package/dist/Model3DScene-AI2JTBQM.mjs.br +0 -0
  10. package/dist/Model3DScene-AI2JTBQM.mjs.gz +0 -0
  11. package/dist/{Model3DScene-SCWQXMEA.js → Model3DScene-X3DS3ELB.js} +2 -2
  12. package/dist/Model3DScene-X3DS3ELB.js.br +0 -0
  13. package/dist/Model3DScene-X3DS3ELB.js.gz +0 -0
  14. package/dist/{chunk-VPJOJJ36.mjs → chunk-3UWJWJCR.mjs} +16274 -7901
  15. package/dist/chunk-3UWJWJCR.mjs.br +0 -0
  16. package/dist/chunk-3UWJWJCR.mjs.gz +0 -0
  17. package/dist/{chunk-KTSDPBQZ.js → chunk-42XEZVUQ.js} +1076 -1069
  18. package/dist/chunk-42XEZVUQ.js.br +0 -0
  19. package/dist/chunk-42XEZVUQ.js.gz +0 -0
  20. package/dist/{chunk-5MRNT4V6.js → chunk-E7O4HTS5.js} +195 -187
  21. package/dist/chunk-E7O4HTS5.js.br +0 -0
  22. package/dist/chunk-E7O4HTS5.js.gz +0 -0
  23. package/dist/{chunk-3WYNGYB6.js → chunk-KAO5USPE.js} +5 -5
  24. package/dist/chunk-KAO5USPE.js.br +0 -0
  25. package/dist/chunk-KAO5USPE.js.gz +0 -0
  26. package/dist/{chunk-PC7H3C5W.mjs → chunk-OBQ453H6.mjs} +2 -2
  27. package/dist/chunk-OBQ453H6.mjs.br +0 -0
  28. package/dist/chunk-OBQ453H6.mjs.gz +0 -0
  29. package/dist/{chunk-B5YZABYX.mjs → chunk-PLDG3CXW.mjs} +18 -10
  30. package/dist/chunk-PLDG3CXW.mjs.br +0 -0
  31. package/dist/chunk-PLDG3CXW.mjs.gz +0 -0
  32. package/dist/{chunk-ZYIJODUR.mjs → chunk-RXYLPESV.mjs} +17 -10
  33. package/dist/chunk-RXYLPESV.mjs.br +0 -0
  34. package/dist/chunk-RXYLPESV.mjs.gz +0 -0
  35. package/dist/{chunk-4GTDG2FH.mjs → chunk-SKTZSG7Q.mjs} +362 -157
  36. package/dist/chunk-SKTZSG7Q.mjs.br +0 -0
  37. package/dist/chunk-SKTZSG7Q.mjs.gz +0 -0
  38. package/dist/{chunk-S65QSO6T.js → chunk-UTI4CLYJ.js} +16291 -7909
  39. package/dist/chunk-UTI4CLYJ.js.br +0 -0
  40. package/dist/chunk-UTI4CLYJ.js.gz +0 -0
  41. package/dist/{chunk-NXGUR2DO.js → chunk-W5KLLGVH.js} +2 -2
  42. package/dist/chunk-W5KLLGVH.js.br +0 -0
  43. package/dist/chunk-W5KLLGVH.js.gz +0 -0
  44. package/dist/{chunk-P2SBIMYF.js → chunk-Y7LI2JIR.js} +1865 -1660
  45. package/dist/chunk-Y7LI2JIR.js.br +0 -0
  46. package/dist/chunk-Y7LI2JIR.js.gz +0 -0
  47. package/dist/{chunk-L4XBWL7J.mjs → chunk-YQJOCGOK.mjs} +1 -1
  48. package/dist/chunk-YQJOCGOK.mjs.br +0 -0
  49. package/dist/{chunk-L4XBWL7J.mjs.gz → chunk-YQJOCGOK.mjs.gz} +0 -0
  50. package/dist/i18n/de.cjs +2 -2
  51. package/dist/i18n/de.cjs.br +0 -0
  52. package/dist/i18n/de.cjs.gz +0 -0
  53. package/dist/i18n/de.mjs +2 -2
  54. package/dist/i18n/de.mjs.br +0 -0
  55. package/dist/i18n/de.mjs.gz +0 -0
  56. package/dist/i18n/es.cjs +2 -2
  57. package/dist/i18n/es.cjs.br +0 -0
  58. package/dist/i18n/es.cjs.gz +0 -0
  59. package/dist/i18n/es.mjs +2 -2
  60. package/dist/i18n/es.mjs.br +0 -0
  61. package/dist/i18n/es.mjs.gz +0 -0
  62. package/dist/i18n/fr.cjs +2 -2
  63. package/dist/i18n/fr.cjs.br +0 -0
  64. package/dist/i18n/fr.cjs.gz +0 -0
  65. package/dist/i18n/fr.mjs +2 -2
  66. package/dist/i18n/fr.mjs.br +0 -0
  67. package/dist/i18n/fr.mjs.gz +0 -0
  68. package/dist/i18n/zh-CN.cjs +2 -2
  69. package/dist/i18n/zh-CN.cjs.br +0 -0
  70. package/dist/i18n/zh-CN.cjs.gz +0 -0
  71. package/dist/i18n/zh-CN.mjs +2 -2
  72. package/dist/i18n/zh-CN.mjs.br +0 -0
  73. package/dist/i18n/zh-CN.mjs.gz +0 -0
  74. package/dist/i18n.js +4 -4
  75. package/dist/i18n.js.br +0 -0
  76. package/dist/i18n.js.gz +0 -0
  77. package/dist/i18n.mjs +1 -1
  78. package/dist/i18n.mjs.br +0 -0
  79. package/dist/i18n.mjs.gz +0 -0
  80. package/dist/index.d.ts +245 -4
  81. package/dist/index.js +49 -49
  82. package/dist/index.js.br +0 -0
  83. package/dist/index.js.gz +0 -0
  84. package/dist/index.mjs +6 -6
  85. package/dist/index.mjs.br +0 -0
  86. package/dist/index.mjs.gz +0 -0
  87. package/dist/internals.d.ts +293 -4
  88. package/dist/internals.js +105 -105
  89. package/dist/internals.js.br +0 -0
  90. package/dist/internals.js.gz +0 -0
  91. package/dist/internals.mjs +4 -4
  92. package/dist/internals.mjs.br +0 -0
  93. package/dist/internals.mjs.gz +0 -0
  94. package/dist/viewer/index.d.ts +230 -2
  95. package/dist/viewer/index.js +27 -27
  96. package/dist/viewer/index.js.br +0 -0
  97. package/dist/viewer/index.js.gz +0 -0
  98. package/dist/viewer/index.mjs +6 -6
  99. package/dist/viewer/index.mjs.br +0 -0
  100. package/dist/viewer/index.mjs.gz +0 -0
  101. package/package.json +1 -1
  102. package/dist/AiChatPanel-SEIRQ3XP.mjs.br +0 -0
  103. package/dist/AiChatPanel-SEIRQ3XP.mjs.gz +0 -0
  104. package/dist/AiChatPanel-VVTLQXQ5.js.br +0 -0
  105. package/dist/AiChatPanel-VVTLQXQ5.js.gz +0 -0
  106. package/dist/Model3DScene-DCTVSK2F.mjs.br +0 -0
  107. package/dist/Model3DScene-DCTVSK2F.mjs.gz +0 -0
  108. package/dist/Model3DScene-SCWQXMEA.js.br +0 -0
  109. package/dist/Model3DScene-SCWQXMEA.js.gz +0 -0
  110. package/dist/chunk-3WYNGYB6.js.br +0 -0
  111. package/dist/chunk-3WYNGYB6.js.gz +0 -0
  112. package/dist/chunk-4GTDG2FH.mjs.br +0 -0
  113. package/dist/chunk-4GTDG2FH.mjs.gz +0 -0
  114. package/dist/chunk-5MRNT4V6.js.br +0 -0
  115. package/dist/chunk-5MRNT4V6.js.gz +0 -0
  116. package/dist/chunk-B5YZABYX.mjs.br +0 -0
  117. package/dist/chunk-B5YZABYX.mjs.gz +0 -0
  118. package/dist/chunk-KTSDPBQZ.js.br +0 -0
  119. package/dist/chunk-KTSDPBQZ.js.gz +0 -0
  120. package/dist/chunk-L4XBWL7J.mjs.br +0 -0
  121. package/dist/chunk-NXGUR2DO.js.br +0 -0
  122. package/dist/chunk-NXGUR2DO.js.gz +0 -0
  123. package/dist/chunk-P2SBIMYF.js.br +0 -0
  124. package/dist/chunk-P2SBIMYF.js.gz +0 -0
  125. package/dist/chunk-PC7H3C5W.mjs.br +0 -0
  126. package/dist/chunk-PC7H3C5W.mjs.gz +0 -0
  127. package/dist/chunk-S65QSO6T.js.br +0 -0
  128. package/dist/chunk-S65QSO6T.js.gz +0 -0
  129. package/dist/chunk-VPJOJJ36.mjs.br +0 -0
  130. package/dist/chunk-VPJOJJ36.mjs.gz +0 -0
  131. package/dist/chunk-ZYIJODUR.mjs.br +0 -0
  132. package/dist/chunk-ZYIJODUR.mjs.gz +0 -0
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-VPJOJJ36.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-3UWJWJCR.mjs';
2
2
  import { __export } from './chunk-XGB3TDIC.mjs';
3
3
  import * as mcp from 'pptx-viewer-mcp';
4
4
  import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
Binary file
package/dist/i18n/de.cjs CHANGED
@@ -389,7 +389,7 @@ var translations3 = {
389
389
  "pptx.animation.catalogPreset.entr27": "Abspann",
390
390
  "pptx.animation.catalogPreset.entr28": "Nach oben schweben",
391
391
  "pptx.animation.catalogPreset.entr29": "Windrad",
392
- "pptx.animation.catalogPreset.entr30": "Kreisel",
392
+ "pptx.animation.catalogPreset.entr30": "Einschweben",
393
393
  "pptx.animation.catalogPreset.entr31": "Ausdehnen",
394
394
  "pptx.animation.catalogPreset.entr32": "Peitschen",
395
395
  "pptx.animation.catalogPreset.entr33": "Ankommen",
@@ -458,7 +458,7 @@ var translations3 = {
458
458
  "pptx.animation.catalogPreset.exit27": "Abspann",
459
459
  "pptx.animation.catalogPreset.exit28": "Nach unten schweben",
460
460
  "pptx.animation.catalogPreset.exit29": "Windrad",
461
- "pptx.animation.catalogPreset.exit30": "Kreisel",
461
+ "pptx.animation.catalogPreset.exit30": "Hinausschweben",
462
462
  "pptx.animation.catalogPreset.exit31": "Zusammenziehen",
463
463
  "pptx.animation.catalogPreset.exit32": "Peitschen",
464
464
  "pptx.animation.catalogPreset.exit33": "Weggehen",
Binary file
Binary file
package/dist/i18n/de.mjs CHANGED
@@ -363,7 +363,7 @@ var translations3 = {
363
363
  "pptx.animation.catalogPreset.entr27": "Abspann",
364
364
  "pptx.animation.catalogPreset.entr28": "Nach oben schweben",
365
365
  "pptx.animation.catalogPreset.entr29": "Windrad",
366
- "pptx.animation.catalogPreset.entr30": "Kreisel",
366
+ "pptx.animation.catalogPreset.entr30": "Einschweben",
367
367
  "pptx.animation.catalogPreset.entr31": "Ausdehnen",
368
368
  "pptx.animation.catalogPreset.entr32": "Peitschen",
369
369
  "pptx.animation.catalogPreset.entr33": "Ankommen",
@@ -432,7 +432,7 @@ var translations3 = {
432
432
  "pptx.animation.catalogPreset.exit27": "Abspann",
433
433
  "pptx.animation.catalogPreset.exit28": "Nach unten schweben",
434
434
  "pptx.animation.catalogPreset.exit29": "Windrad",
435
- "pptx.animation.catalogPreset.exit30": "Kreisel",
435
+ "pptx.animation.catalogPreset.exit30": "Hinausschweben",
436
436
  "pptx.animation.catalogPreset.exit31": "Zusammenziehen",
437
437
  "pptx.animation.catalogPreset.exit32": "Peitschen",
438
438
  "pptx.animation.catalogPreset.exit33": "Weggehen",
Binary file
Binary file
package/dist/i18n/es.cjs CHANGED
@@ -389,7 +389,7 @@ var translations3 = {
389
389
  "pptx.animation.catalogPreset.entr27": "Cr\xE9ditos",
390
390
  "pptx.animation.catalogPreset.entr28": "Flotar hacia arriba",
391
391
  "pptx.animation.catalogPreset.entr29": "Molinillo",
392
- "pptx.animation.catalogPreset.entr30": "Girador",
392
+ "pptx.animation.catalogPreset.entr30": "Flotar hacia dentro",
393
393
  "pptx.animation.catalogPreset.entr31": "Expandir",
394
394
  "pptx.animation.catalogPreset.entr32": "Latigazo",
395
395
  "pptx.animation.catalogPreset.entr33": "Llegar",
@@ -458,7 +458,7 @@ var translations3 = {
458
458
  "pptx.animation.catalogPreset.exit27": "Cr\xE9ditos",
459
459
  "pptx.animation.catalogPreset.exit28": "Flotar hacia abajo",
460
460
  "pptx.animation.catalogPreset.exit29": "Molinillo",
461
- "pptx.animation.catalogPreset.exit30": "Girador",
461
+ "pptx.animation.catalogPreset.exit30": "Flotar hacia fuera",
462
462
  "pptx.animation.catalogPreset.exit31": "Encoger",
463
463
  "pptx.animation.catalogPreset.exit32": "Latigazo",
464
464
  "pptx.animation.catalogPreset.exit33": "Salir",
Binary file
Binary file
package/dist/i18n/es.mjs CHANGED
@@ -363,7 +363,7 @@ var translations3 = {
363
363
  "pptx.animation.catalogPreset.entr27": "Cr\xE9ditos",
364
364
  "pptx.animation.catalogPreset.entr28": "Flotar hacia arriba",
365
365
  "pptx.animation.catalogPreset.entr29": "Molinillo",
366
- "pptx.animation.catalogPreset.entr30": "Girador",
366
+ "pptx.animation.catalogPreset.entr30": "Flotar hacia dentro",
367
367
  "pptx.animation.catalogPreset.entr31": "Expandir",
368
368
  "pptx.animation.catalogPreset.entr32": "Latigazo",
369
369
  "pptx.animation.catalogPreset.entr33": "Llegar",
@@ -432,7 +432,7 @@ var translations3 = {
432
432
  "pptx.animation.catalogPreset.exit27": "Cr\xE9ditos",
433
433
  "pptx.animation.catalogPreset.exit28": "Flotar hacia abajo",
434
434
  "pptx.animation.catalogPreset.exit29": "Molinillo",
435
- "pptx.animation.catalogPreset.exit30": "Girador",
435
+ "pptx.animation.catalogPreset.exit30": "Flotar hacia fuera",
436
436
  "pptx.animation.catalogPreset.exit31": "Encoger",
437
437
  "pptx.animation.catalogPreset.exit32": "Latigazo",
438
438
  "pptx.animation.catalogPreset.exit33": "Salir",
Binary file
Binary file
package/dist/i18n/fr.cjs CHANGED
@@ -389,7 +389,7 @@ var translations3 = {
389
389
  "pptx.animation.catalogPreset.entr27": "G\xE9n\xE9rique",
390
390
  "pptx.animation.catalogPreset.entr28": "Flotter vers le haut",
391
391
  "pptx.animation.catalogPreset.entr29": "Moulinet",
392
- "pptx.animation.catalogPreset.entr30": "Toupie",
392
+ "pptx.animation.catalogPreset.entr30": "Flotter vers l'int\xE9rieur",
393
393
  "pptx.animation.catalogPreset.entr31": "D\xE9velopper",
394
394
  "pptx.animation.catalogPreset.entr32": "Fouet",
395
395
  "pptx.animation.catalogPreset.entr33": "Arriv\xE9e",
@@ -458,7 +458,7 @@ var translations3 = {
458
458
  "pptx.animation.catalogPreset.exit27": "G\xE9n\xE9rique",
459
459
  "pptx.animation.catalogPreset.exit28": "Flotter vers le bas",
460
460
  "pptx.animation.catalogPreset.exit29": "Moulinet",
461
- "pptx.animation.catalogPreset.exit30": "Toupie",
461
+ "pptx.animation.catalogPreset.exit30": "Flotter vers l'ext\xE9rieur",
462
462
  "pptx.animation.catalogPreset.exit31": "Contracter",
463
463
  "pptx.animation.catalogPreset.exit32": "Fouet",
464
464
  "pptx.animation.catalogPreset.exit33": "D\xE9part",
Binary file
Binary file
package/dist/i18n/fr.mjs CHANGED
@@ -363,7 +363,7 @@ var translations3 = {
363
363
  "pptx.animation.catalogPreset.entr27": "G\xE9n\xE9rique",
364
364
  "pptx.animation.catalogPreset.entr28": "Flotter vers le haut",
365
365
  "pptx.animation.catalogPreset.entr29": "Moulinet",
366
- "pptx.animation.catalogPreset.entr30": "Toupie",
366
+ "pptx.animation.catalogPreset.entr30": "Flotter vers l'int\xE9rieur",
367
367
  "pptx.animation.catalogPreset.entr31": "D\xE9velopper",
368
368
  "pptx.animation.catalogPreset.entr32": "Fouet",
369
369
  "pptx.animation.catalogPreset.entr33": "Arriv\xE9e",
@@ -432,7 +432,7 @@ var translations3 = {
432
432
  "pptx.animation.catalogPreset.exit27": "G\xE9n\xE9rique",
433
433
  "pptx.animation.catalogPreset.exit28": "Flotter vers le bas",
434
434
  "pptx.animation.catalogPreset.exit29": "Moulinet",
435
- "pptx.animation.catalogPreset.exit30": "Toupie",
435
+ "pptx.animation.catalogPreset.exit30": "Flotter vers l'ext\xE9rieur",
436
436
  "pptx.animation.catalogPreset.exit31": "Contracter",
437
437
  "pptx.animation.catalogPreset.exit32": "Fouet",
438
438
  "pptx.animation.catalogPreset.exit33": "D\xE9part",
Binary file
Binary file
@@ -390,7 +390,7 @@ var translations4 = {
390
390
  "pptx.animation.catalogPreset.entr27": "\u5B57\u5E55\u5F0F",
391
391
  "pptx.animation.catalogPreset.entr28": "\u6D6E\u8D77",
392
392
  "pptx.animation.catalogPreset.entr29": "\u98CE\u8F66",
393
- "pptx.animation.catalogPreset.entr30": "\u65CB\u8F6C",
393
+ "pptx.animation.catalogPreset.entr30": "\u6D6E\u5165",
394
394
  "pptx.animation.catalogPreset.entr31": "\u6269\u5C55",
395
395
  "pptx.animation.catalogPreset.entr32": "\u97AD\u6253",
396
396
  "pptx.animation.catalogPreset.entr33": "\u5230\u8FBE",
@@ -458,7 +458,7 @@ var translations4 = {
458
458
  "pptx.animation.catalogPreset.exit27": "\u5B57\u5E55\u5F0F",
459
459
  "pptx.animation.catalogPreset.exit28": "\u5411\u4E0B\u6D6E\u52A8",
460
460
  "pptx.animation.catalogPreset.exit29": "\u98CE\u8F66",
461
- "pptx.animation.catalogPreset.exit30": "\u65CB\u8F6C",
461
+ "pptx.animation.catalogPreset.exit30": "\u6D6E\u51FA",
462
462
  "pptx.animation.catalogPreset.exit31": "\u6536\u62E2",
463
463
  "pptx.animation.catalogPreset.exit32": "\u97AD\u6253",
464
464
  "pptx.animation.catalogPreset.exit33": "\u79BB\u53BB",
Binary file
Binary file
@@ -364,7 +364,7 @@ var translations4 = {
364
364
  "pptx.animation.catalogPreset.entr27": "\u5B57\u5E55\u5F0F",
365
365
  "pptx.animation.catalogPreset.entr28": "\u6D6E\u8D77",
366
366
  "pptx.animation.catalogPreset.entr29": "\u98CE\u8F66",
367
- "pptx.animation.catalogPreset.entr30": "\u65CB\u8F6C",
367
+ "pptx.animation.catalogPreset.entr30": "\u6D6E\u5165",
368
368
  "pptx.animation.catalogPreset.entr31": "\u6269\u5C55",
369
369
  "pptx.animation.catalogPreset.entr32": "\u97AD\u6253",
370
370
  "pptx.animation.catalogPreset.entr33": "\u5230\u8FBE",
@@ -432,7 +432,7 @@ var translations4 = {
432
432
  "pptx.animation.catalogPreset.exit27": "\u5B57\u5E55\u5F0F",
433
433
  "pptx.animation.catalogPreset.exit28": "\u5411\u4E0B\u6D6E\u52A8",
434
434
  "pptx.animation.catalogPreset.exit29": "\u98CE\u8F66",
435
- "pptx.animation.catalogPreset.exit30": "\u65CB\u8F6C",
435
+ "pptx.animation.catalogPreset.exit30": "\u6D6E\u51FA",
436
436
  "pptx.animation.catalogPreset.exit31": "\u6536\u62E2",
437
437
  "pptx.animation.catalogPreset.exit32": "\u97AD\u6253",
438
438
  "pptx.animation.catalogPreset.exit33": "\u79BB\u53BB",
Binary file
Binary file
package/dist/i18n.js CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunkNXGUR2DO_js = require('./chunk-NXGUR2DO.js');
3
+ var chunkW5KLLGVH_js = require('./chunk-W5KLLGVH.js');
4
4
  require('./chunk-4VNS5WPM.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "LOCALE_CATALOG", {
9
9
  enumerable: true,
10
- get: function () { return chunkNXGUR2DO_js.LOCALE_CATALOG; }
10
+ get: function () { return chunkW5KLLGVH_js.LOCALE_CATALOG; }
11
11
  });
12
12
  Object.defineProperty(exports, "keyToLabel", {
13
13
  enumerable: true,
14
- get: function () { return chunkNXGUR2DO_js.keyToLabel; }
14
+ get: function () { return chunkW5KLLGVH_js.keyToLabel; }
15
15
  });
16
16
  Object.defineProperty(exports, "translationsEn", {
17
17
  enumerable: true,
18
- get: function () { return chunkNXGUR2DO_js.translationsEn; }
18
+ get: function () { return chunkW5KLLGVH_js.translationsEn; }
19
19
  });
package/dist/i18n.js.br CHANGED
Binary file
package/dist/i18n.js.gz CHANGED
Binary file
package/dist/i18n.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { LOCALE_CATALOG, keyToLabel, translationsEn } from './chunk-PC7H3C5W.mjs';
1
+ export { LOCALE_CATALOG, keyToLabel, translationsEn } from './chunk-OBQ453H6.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
package/dist/i18n.mjs.br CHANGED
Binary file
package/dist/i18n.mjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -1417,6 +1417,32 @@ interface TextStyle {
1417
1417
  * @see element-paragraph-geometry.ts
1418
1418
  */
1419
1419
  resolvedParagraphGeometry?: TextStyle;
1420
+ /**
1421
+ * Snapshot of the ELEMENT-scope `a:bodyPr` properties (vertical anchor,
1422
+ * text direction, columns, overflow, autofit, body insets, text wrap, and
1423
+ * the boolean/rotation attributes) as the load pipeline resolved them.
1424
+ *
1425
+ * A shape's own `a:bodyPr` is parsed first, then whatever it left
1426
+ * `undefined` is back-filled from the placeholder / layout / master
1427
+ * defaults (`applyPlaceholderBodyDefaults`), and a placeholder shape with
1428
+ * no `a:bodyPr` of its own has the INHERITED one parsed as if it were its
1429
+ * own. None of those three sources is distinguishable at
1430
+ * `element.textStyle` once the cascade finishes, so a writer that
1431
+ * re-emits every defined field turns an inherited anchor, inset, autofit
1432
+ * mode or `rtlCol` into a value pinned on the slide forever (and an
1433
+ * inherited `a:normAutofit` with no scale gets written back as
1434
+ * `a:spAutoFit`, flipping AutoSize from "shrink text" to "resize shape").
1435
+ *
1436
+ * Present only on an `element.textStyle` that came from a parsed deck.
1437
+ * The save path diffs the live style against this snapshot: a field that
1438
+ * still matches is an inheritance artefact and the writer leaves the
1439
+ * underlying `a:bodyPr` attribute untouched (whatever it already is,
1440
+ * present or absent); a field that differs was authored or has since
1441
+ * been edited and is written out.
1442
+ *
1443
+ * @see element-body-properties.ts
1444
+ */
1445
+ resolvedBodyProperties?: TextStyle;
1420
1446
  fontFamily?: string;
1421
1447
  fontSize?: number;
1422
1448
  /** When true, some form of autofit is in effect; see {@link autoFitMode} for which. */
@@ -1599,6 +1625,16 @@ interface TextStyle {
1599
1625
  align: 'l' | 'ctr' | 'r' | 'dec';
1600
1626
  leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
1601
1627
  }>;
1628
+ /**
1629
+ * True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
1630
+ * (explicitly "no tab stops", overriding whatever the cascade would
1631
+ * otherwise supply) rather than omitting the element entirely (inherit).
1632
+ * fast-xml-parser gives a childless element as the empty string, so
1633
+ * `tabLst` and no-`tabLst` are otherwise indistinguishable once `tabStops`
1634
+ * comes back empty either way. Paragraph-scope only; not part of the
1635
+ * element-level geometry cascade.
1636
+ */
1637
+ tabStopsExplicitEmpty?: boolean;
1602
1638
  /** Body text wrapping mode from `a:bodyPr/@wrap`. */
1603
1639
  textWrap?: 'square' | 'none';
1604
1640
  /** Preset text warp type from `a:bodyPr/a:prstTxWarp`. */
@@ -1641,6 +1677,20 @@ interface TextStyle {
1641
1677
  * serialised back on save, so it never disturbs the round-trip typefaces.
1642
1678
  */
1643
1679
  scriptFallbackFont?: string;
1680
+ /**
1681
+ * Set alongside {@link scriptFallbackFont} when the resolved {@link fontFamily}
1682
+ * came only from the paragraph/list-style/theme CASCADE (the run's own
1683
+ * `a:rPr` authored no `a:latin`/`a:ea`/`a:cs` of its own). A run always
1684
+ * inherits SOME font this way (typically the theme's `+mn-lt`), so without
1685
+ * this flag `fontFamily` was indistinguishable from a run that genuinely
1686
+ * chose that font itself, and the renderer never applied the theme's
1687
+ * per-script override (see #83): `+mn-lt` names only the LATIN member of
1688
+ * the font scheme and was never meant to cover text in a different
1689
+ * dominant script. An explicit `a:latin`/`a:ea`/`a:cs` authored on the run
1690
+ * itself still always wins; only the cascade default yields to the
1691
+ * script-specific override.
1692
+ */
1693
+ fontFamilyIsCascadeDefault?: boolean;
1644
1694
  /** Text language from `a:rPr/@lang`. */
1645
1695
  language?: string;
1646
1696
  /** Hyperlink mouse-over target from `a:hlinkMouseOver`. */
@@ -1993,6 +2043,18 @@ interface BulletInfo {
1993
2043
  /** When true, `<a:buSzTx/>` was specified — inherit the bullet size from
1994
2044
  * the run text font size. */
1995
2045
  sizeInherit?: boolean;
2046
+ /**
2047
+ * True when this bullet resolution came from the paragraph's OWN `a:pPr`
2048
+ * rather than the shape's `a:lstStyle`, an inherited placeholder, or the
2049
+ * master's `a:defPPr` / `p:txStyles`. `resolveParagraphBulletInfo` walks
2050
+ * that cascade and returns the first match, so without this flag a
2051
+ * writer that re-emits every resolved `BulletInfo` in full pins an
2052
+ * inherited bullet (e.g. a master `buFont="Arial"` / `buChar="•"`) onto
2053
+ * every paragraph's own `a:pPr` the moment the slide is rewritten. The
2054
+ * save path only writes the bullet group when this is `true`, mirroring
2055
+ * how `paragraphProperties` gates every other per-paragraph field.
2056
+ */
2057
+ ownedByParagraph?: boolean;
1996
2058
  }
1997
2059
  /**
1998
2060
  * A single text run within a paragraph.
@@ -2035,6 +2097,23 @@ interface TextSegment {
2035
2097
  fieldParagraphPropertiesXml?: XmlObject;
2036
2098
  /** Raw OMML XML node for equation segments (from `a14:m` / `m:oMathPara`). */
2037
2099
  equationXml?: Record<string, unknown>;
2100
+ /**
2101
+ * The ORIGINAL top-level paragraph child that carried this equation,
2102
+ * captured verbatim at parse time and keyed by its own tag: `{ 'a14:m':
2103
+ * ... }`, `{ 'm:oMathPara': ... }`, `{ 'm:oMath': ... }`, or `{
2104
+ * 'mc:AlternateContent': ... }` for an equation authored behind a
2105
+ * Choice/Fallback switch. `equationXml` above is the resolved math content
2106
+ * used for rendering (unwrapped one level for `a14:m`/`mc:AlternateContent`
2107
+ * sources); this field exists solely so the writer can re-emit an UNTOUCHED
2108
+ * equation byte-for-byte, Choice and Fallback both, instead of collapsing
2109
+ * it to a bare math element PowerPoint's own writer never produces.
2110
+ * `undefined` for a freshly inserted or edited equation, which the writer
2111
+ * instead reconstructs from `equationXml` (always `{ 'm:oMathPara': ... }`
2112
+ * or `{ 'm:oMath': ... }` for those cases). Any code that replaces
2113
+ * `equationXml` on an existing segment must drop this field, or the writer
2114
+ * would keep re-emitting the equation's OLD XML instead of the edit.
2115
+ */
2116
+ equationSourceXml?: Record<string, unknown>;
2038
2117
  /**
2039
2118
  * Optional equation number for numbered equations (e.g. "(1)", "(2.3)").
2040
2119
  * When present, the equation is rendered centered with the number right-aligned.
@@ -2319,6 +2398,24 @@ interface PptxShapeProperties {
2319
2398
  */
2320
2399
  interface PlaceholderTextLevelStyle {
2321
2400
  fontFamily?: string;
2401
+ /**
2402
+ * The RAW `a:defRPr/a:latin/@typeface` string (verbatim: a theme alias
2403
+ * such as `+mj-lt`/`+mn-lt`, or a literal face name) {@link fontFamily}
2404
+ * was resolved from. Master/layout text styles are parsed once and
2405
+ * cached, so `fontFamily` is a resolved-for-display snapshot; re-emitting
2406
+ * it as the literal name on every save (the master-level analogue of
2407
+ * `colorChoiceXml` below) flattens the theme alias the moment ANYTHING
2408
+ * about the deck is rewritten, even when this level was never touched.
2409
+ * Absent when the level declares no `a:latin`.
2410
+ */
2411
+ fontTypefaceXml?: string;
2412
+ /**
2413
+ * Snapshot of {@link fontFamily} exactly as parsed, before any edit. The
2414
+ * save path diffs the live value against this: unchanged means re-emit
2415
+ * {@link fontTypefaceXml} verbatim (preserve the alias); different means
2416
+ * a genuine edit, so the new literal name is written instead.
2417
+ */
2418
+ resolvedFontFamily?: string;
2322
2419
  fontSize?: number;
2323
2420
  bold?: boolean;
2324
2421
  italic?: boolean;
@@ -2368,8 +2465,32 @@ interface PlaceholderTextLevelStyle {
2368
2465
  tabStops?: TextStyle['tabStops'];
2369
2466
  lineSpacing?: number;
2370
2467
  lineSpacingExactPt?: number;
2468
+ /**
2469
+ * Space before the paragraph in px, resolved from EITHER `a:spcPts`
2470
+ * (absolute) or `a:spcPct` (a percentage of this level's own `a:defRPr`
2471
+ * font size) - the OOXML source is not distinguishable from this field
2472
+ * alone. See {@link spaceBeforePercent} / {@link resolvedSpaceBefore}.
2473
+ */
2371
2474
  spaceBefore?: number;
2372
2475
  spaceAfter?: number;
2476
+ /**
2477
+ * Snapshot of {@link spaceBefore} / {@link spaceAfter} exactly as parsed.
2478
+ * Diffed the same way as {@link resolvedFontFamily}: unchanged means the
2479
+ * writer re-emits the ORIGINAL form (`a:spcPct` when
2480
+ * {@link spaceBeforePercent} / {@link spaceAfterPercent} is set); a value
2481
+ * that has since moved away from the snapshot is a genuine edit and is
2482
+ * always written as `a:spcPts`, since an editor works in absolute units.
2483
+ */
2484
+ resolvedSpaceBefore?: number;
2485
+ resolvedSpaceAfter?: number;
2486
+ /**
2487
+ * The raw `a:spcPct` fraction (e.g. `0.2` for 20%) {@link spaceBefore} /
2488
+ * {@link spaceAfter} was resolved from, when the source used percentage
2489
+ * spacing rather than `a:spcPts`. Absent when the source used `a:spcPts`
2490
+ * (or authored no spacing at all).
2491
+ */
2492
+ spaceBeforePercent?: number;
2493
+ spaceAfterPercent?: number;
2373
2494
  /** Default tab interval in CSS pixels (`a:lvlXpPr/@defTabSz`). */
2374
2495
  defaultTabSize?: number;
2375
2496
  /** Whether East Asian line-breaking rules are enabled. */
@@ -5102,6 +5223,18 @@ interface PptxSmartArtLayoutDefinition {
5102
5223
  rootNode: PptxSmartArtLayoutNode;
5103
5224
  /** Original definition retained for constraint evaluation and foreign rules. */
5104
5225
  rawXml?: XmlObject;
5226
+ /**
5227
+ * The un-parsed layout-definition part text (starting at `<dgm:layoutDef>`,
5228
+ * XML declaration included). `rawXml` above loses the document order of
5229
+ * differently-named siblings (the package-wide `fast-xml-parser`
5230
+ * configuration groups children into one array per tag), which the
5231
+ * per-point DiagramML engine (`core/utils/smartart-engine/`) needs to
5232
+ * execute a `layoutNode` body's `forEach`/`choose`/`constrLst` statements
5233
+ * in their real declared sequence - see that package's `ordered-xml.ts`.
5234
+ * `undefined` when the part could not be read (matches `rawXml`'s own
5235
+ * optionality); the engine falls back to the legacy interpreter then.
5236
+ */
5237
+ rawXmlText?: string;
5105
5238
  }
5106
5239
  //#endregion
5107
5240
  //#region src/core/types/smart-art-node.d.ts
@@ -6214,6 +6347,20 @@ interface PptxTableData {
6214
6347
  * present when there is at least one effect.
6215
6348
  */
6216
6349
  tableEffects?: ParsedTableStyleEffect[];
6350
+ /**
6351
+ * Table-cell-context default text size in points, resolved from the
6352
+ * slide's master `p:otherStyle` (ECMA-376 §19.3.1.42 CT_TextListStyle,
6353
+ * §19.3.1.52 for `p:txStyles`). PowerPoint sizes a table cell's text off
6354
+ * this master default (commonly 18pt) whenever neither the run nor the
6355
+ * (size-less) table style provides one; without it, cell text without an
6356
+ * explicit `a:rPr@sz` fell back to the browser's own default font size
6357
+ * (16px / 12pt) instead. A render-only hint: it is not part of any
6358
+ * individual cell's parsed style and is never written back on save, so
6359
+ * resaving an unstyled cell does not bake in an explicit size that was
6360
+ * never authored. `undefined` when no master/otherStyle size resolves
6361
+ * (renderers should leave the browser default in place in that case).
6362
+ */
6363
+ defaultCellFontSize?: number;
6217
6364
  }
6218
6365
  /**
6219
6366
  * A single fill reference within a table style section.
@@ -6239,6 +6386,14 @@ interface ParsedTableStyleFill {
6239
6386
  tint?: number;
6240
6387
  /** Shade value (0-100 000). */
6241
6388
  shade?: number;
6389
+ /**
6390
+ * Alpha (opacity) value (0-100 000, where 100 000 is fully opaque) from an
6391
+ * `a:alpha` child of `a:schemeClr`/`a:srgbClr`. Several built-in table
6392
+ * styles (e.g. "Light Style 1/3", "Themed Style 1/2") band their rows with
6393
+ * a partially transparent tint of the theme colour rather than a tint/shade
6394
+ * blend.
6395
+ */
6396
+ alpha?: number;
6242
6397
  /** Explicit sRGB hex colour (e.g. `#FF8800`) from `a:srgbClr`. */
6243
6398
  color?: string;
6244
6399
  /** The fill was `a:noFill`: renders transparent and clears lower layers. */
@@ -7074,6 +7229,20 @@ interface ContentPartInkStroke {
7074
7229
  * NAMES differ.
7075
7230
  */
7076
7231
  tiltEncoding?: 'vector' | 'azimuthAltitude';
7232
+ /**
7233
+ * Per-point timestamps (milliseconds), decoded from the source InkML
7234
+ * trace's `T` channel when it declared one.
7235
+ *
7236
+ * Absent for the overwhelming majority of real decks: PowerPoint's own
7237
+ * SaveAs output declares only `X`/`Y` and has no per-point time channel at
7238
+ * all (see `contentpart-real-ink-roundtrip.test.ts`'s fixture), so this is
7239
+ * populated only for InkML sources that genuinely author one (a captured
7240
+ * digitizer session, OneNote, a Surface Hub export). When present, ink
7241
+ * replay ("watch the ink get drawn") uses each stroke's own first/last
7242
+ * timestamp to time its reveal instead of the fixed per-stroke cascade; see
7243
+ * `pptx-viewer-shared`'s `render/ink-replay-timeline.ts`.
7244
+ */
7245
+ pointTimestamps?: number[];
7077
7246
  }
7078
7247
  /**
7079
7248
  * A content-part element wrapped in `mc:AlternateContent`.
@@ -7118,6 +7287,28 @@ interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
7118
7287
  summaryTargets?: SummaryZoomTarget[];
7119
7288
  /** Layout mode authored on the Summary Zoom container. */
7120
7289
  summaryLayout?: 'grid' | 'fixed';
7290
+ /**
7291
+ * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
7292
+ * three Zoom kinds): whether continuing forward from the destination slide
7293
+ * during a live show returns to this Zoom's origin slide instead of
7294
+ * advancing linearly through the deck. OOXML default is `true` when the
7295
+ * attribute is present but this codebase leaves it `undefined` when the
7296
+ * source XML omits it, so a round-trip never fabricates the attribute.
7297
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
7298
+ * {@link SummaryZoomTarget.returnToParent} for the per-tile value.
7299
+ */
7300
+ returnToParent?: boolean;
7301
+ /**
7302
+ * `zmPr/@transitionDur` (MS-PPTX `CT_ZoomObjectProperties`): the
7303
+ * zoom-transition length in milliseconds. PowerPoint's own writer emits a
7304
+ * unitless decimal-millisecond value for every OOXML `ST_UniversalTimeOffset`
7305
+ * this codebase has observed (see the media-trim/-fade parsers), so this
7306
+ * follows the same convention rather than the full TIMEOFFSET grammar's
7307
+ * unit suffixes. Undefined uses the destination slide's own transition.
7308
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
7309
+ * {@link SummaryZoomTarget.transitionDurationMs} for the per-tile value.
7310
+ */
7311
+ transitionDurationMs?: number;
7121
7312
  }
7122
7313
  /** A single section tile within a PowerPoint Summary Zoom container. */
7123
7314
  interface SummaryZoomTarget extends PptxImageProperties {
@@ -7133,6 +7324,10 @@ interface SummaryZoomTarget extends PptxImageProperties {
7133
7324
  offsetFactorY?: number;
7134
7325
  scaleFactorX?: number;
7135
7326
  scaleFactorY?: number;
7327
+ /** This tile's own `zmPr/@returnToParent`; see {@link ZoomPptxElement.returnToParent}. */
7328
+ returnToParent?: boolean;
7329
+ /** This tile's own `zmPr/@transitionDur` in milliseconds; see {@link ZoomPptxElement.transitionDurationMs}. */
7330
+ transitionDurationMs?: number;
7136
7331
  rawXml?: XmlObject;
7137
7332
  }
7138
7333
  /**
@@ -8123,6 +8318,17 @@ interface PptxAttributeAnimation {
8123
8318
  * IS consulted regardless of this field's value. Absent means `lin`.
8124
8319
  */
8125
8320
  calcMode?: 'discrete' | 'lin' | 'fmla';
8321
+ /**
8322
+ * `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
8323
+ * MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
8324
+ * duration. PowerPoint's Fly In "Bounce End" effect option writes this on
8325
+ * the position-ramp `p:anim` node(s): the fraction of the duration at
8326
+ * which the primary travel completes, with the remainder spent bouncing
8327
+ * and settling at the final value. Mirrored verbatim by PowerPoint onto
8328
+ * the enclosing `p:cTn/@_p14:presetBounceEnd`. Absent for every animation
8329
+ * that doesn't use this effect option (the overwhelming majority).
8330
+ */
8331
+ bounceEnd?: number;
8126
8332
  }
8127
8333
  /** Signed HSL channel deltas parsed from `p:animClr/p:by/p:hsl`. */
8128
8334
  interface PptxHslColorDelta {
@@ -8204,7 +8410,19 @@ interface PptxTextAnimationTarget {
8204
8410
  * These map directly to OOXML condition event attribute values
8205
8411
  * (ISO/IEC 29500-1 S19.5.28 CT_TLTimeCondition).
8206
8412
  */
8207
- type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick';
8413
+ type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick' | 'onMediaBookmark';
8414
+ /**
8415
+ * `p14:bmkTgt` (Office 2010 `p14` extension, MS-OI29500): names the specific
8416
+ * media element and bookmark an `evt="onMediaBookmark"` condition fires for.
8417
+ * `bookmarkName` matches a `p14:bmk/@_name` on that media element's own
8418
+ * `p14:bmkLst` (see `MediaBookmark.label` in `core/types/elements.ts`).
8419
+ */
8420
+ interface PptxMediaBookmarkTarget {
8421
+ /** `p14:bmkTgt/@_spid`: the media element's shape id. */
8422
+ shapeId: string;
8423
+ /** `p14:bmkTgt/@_bmkName`: the bookmark's name. */
8424
+ bookmarkName: string;
8425
+ }
8208
8426
  /**
8209
8427
  * Structured representation of a single OOXML animation condition
8210
8428
  * from `p:cond` elements inside `p:stCondLst` or `p:endCondLst`.
@@ -8224,6 +8442,11 @@ type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick'
8224
8442
  interface AnimationCondition {
8225
8443
  /** Event that triggers the condition. */
8226
8444
  event?: AnimationConditionEvent;
8445
+ /**
8446
+ * The media element/bookmark this condition fires for, when
8447
+ * {@link event} is `onMediaBookmark`. See {@link PptxMediaBookmarkTarget}.
8448
+ */
8449
+ bookmarkTarget?: PptxMediaBookmarkTarget;
8227
8450
  /** Delay in milliseconds (from `@_delay`). "indefinite" is represented as -1. */
8228
8451
  delay?: number;
8229
8452
  /** Target time node ID reference (from `@_tn`). */
@@ -9542,7 +9765,12 @@ interface PptxHeaderFooter {
9542
9765
  hasDateTime?: boolean;
9543
9766
  dateTimeText?: string;
9544
9767
  dateTimeAuto?: boolean;
9545
- /** OOXML date format pattern (e.g. "M/d/yyyy", "dddd, MMMM dd, yyyy"). */
9768
+ /**
9769
+ * The master date placeholder's own `a:fld/@type` (e.g. "datetime2"), NOT a
9770
+ * format pattern. It is one of the predefined OOXML datetime field types
9771
+ * (`datetime1`-`datetime13`); the display pattern for each is resolved by
9772
+ * `resolveFieldDateText` in `packages/shared/src/render/text-field-substitution.ts`.
9773
+ */
9546
9774
  dateFormat?: string;
9547
9775
  hasSlideNumber?: boolean;
9548
9776
  }
@@ -12517,13 +12745,21 @@ type InlineListReadResult = {
12517
12745
  * Pure string logic: resolves OOXML field runs (slide number, date/time,
12518
12746
  * header/footer, document properties, slide title) into their display text.
12519
12747
  * Extracted from the React `viewer/utils/text-field-substitution` module so
12520
- * every binding substitutes identically.
12748
+ * every binding substitutes identically. The locale-aware datetime engine
12749
+ * lives in `text-field-datetime.ts`.
12521
12750
  */
12522
12751
  /** Context for substituting field placeholders (slide number, date/time, header/footer, etc.). */
12523
12752
  interface FieldSubstitutionContext {
12524
12753
  slideNumber?: number;
12525
12754
  dateTimeText?: string;
12526
- /** OOXML date-format pattern from header/footer settings (e.g. "M/d/yyyy"). */
12755
+ /**
12756
+ * The deck's master date-field default TYPE (`a:fld/@type` on the slide
12757
+ * master's `dt` placeholder, e.g. "datetime2"; see `header-footer-parts.ts`).
12758
+ * This is a field TYPE, not a format pattern, and is used ONLY as a
12759
+ * fallback for a field authored with the generic, unnumbered `datetime`
12760
+ * type - a field that already names its own `datetime1`-`datetime13` type
12761
+ * always uses that type, never this one (see `substituteFieldText`).
12762
+ */
12527
12763
  dateFormat?: string;
12528
12764
  /** Footer text from PptxHeaderFooter settings. */
12529
12765
  footerText?: string;
@@ -13987,6 +14223,11 @@ interface ToolbarProps {
13987
14223
  onOpenSettings?: () => void;
13988
14224
  onRunAccessibilityCheck: () => void;
13989
14225
  onToggleSlideSorter: () => void;
14226
+ /**
14227
+ * View > Normal: leave whichever alternate view (slide sorter, reading,
14228
+ * outline, master) is open and return to the ordinary editing canvas.
14229
+ */
14230
+ onGoToNormalView?: () => void;
13990
14231
  /** Enter PowerPoint's Reading View (full window, not the fullscreen show). */
13991
14232
  onOpenReadingView: () => void;
13992
14233
  /** Enter PowerPoint's Outline view: the deck as editable indented text. */