pptx-vue-viewer 4.3.0 → 4.4.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 (118) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/dist/{AiChatPanel-U3EFn2Ng.js → AiChatPanel-BSYA-5sO.js} +2 -2
  3. package/dist/AiChatPanel-BSYA-5sO.js.br +0 -0
  4. package/dist/AiChatPanel-BSYA-5sO.js.gz +0 -0
  5. package/dist/{AiChatPanel-BIJ-bHQj.cjs → AiChatPanel-CXIXoGvw.cjs} +1 -1
  6. package/dist/AiChatPanel-CXIXoGvw.cjs.br +0 -0
  7. package/dist/AiChatPanel-CXIXoGvw.cjs.gz +0 -0
  8. package/dist/{dist-BV_7SUio.js → dist-DePAwnQd.js} +18547 -18382
  9. package/dist/dist-DePAwnQd.js.br +0 -0
  10. package/dist/dist-DePAwnQd.js.gz +0 -0
  11. package/dist/{dist-0XJeILOd.cjs → dist-pqRGgB-Y.cjs} +18876 -18701
  12. package/dist/dist-pqRGgB-Y.cjs.br +0 -0
  13. package/dist/dist-pqRGgB-Y.cjs.gz +0 -0
  14. package/dist/gif-encoder-UuM_lSaB.cjs +2 -0
  15. package/dist/gif-encoder-UuM_lSaB.cjs.br +0 -0
  16. package/dist/gif-encoder-UuM_lSaB.cjs.gz +0 -0
  17. package/dist/gif-encoder-VqIUN8rL.js +2 -0
  18. package/dist/gif-encoder-VqIUN8rL.js.br +0 -0
  19. package/dist/gif-encoder-VqIUN8rL.js.gz +0 -0
  20. package/dist/i18n/de.cjs +23 -0
  21. package/dist/i18n/de.cjs.br +0 -0
  22. package/dist/i18n/de.cjs.gz +0 -0
  23. package/dist/i18n/de.mjs +23 -0
  24. package/dist/i18n/de.mjs.br +0 -0
  25. package/dist/i18n/de.mjs.gz +0 -0
  26. package/dist/i18n/es.cjs +23 -0
  27. package/dist/i18n/es.cjs.br +0 -0
  28. package/dist/i18n/es.cjs.gz +0 -0
  29. package/dist/i18n/es.mjs +23 -0
  30. package/dist/i18n/es.mjs.br +0 -0
  31. package/dist/i18n/es.mjs.gz +0 -0
  32. package/dist/i18n/fr.cjs +23 -0
  33. package/dist/i18n/fr.cjs.br +0 -0
  34. package/dist/i18n/fr.cjs.gz +0 -0
  35. package/dist/i18n/fr.mjs +23 -0
  36. package/dist/i18n/fr.mjs.br +0 -0
  37. package/dist/i18n/fr.mjs.gz +0 -0
  38. package/dist/i18n/zh-CN.cjs +23 -0
  39. package/dist/i18n/zh-CN.cjs.br +0 -0
  40. package/dist/i18n/zh-CN.cjs.gz +0 -0
  41. package/dist/i18n/zh-CN.mjs +23 -0
  42. package/dist/i18n/zh-CN.mjs.br +0 -0
  43. package/dist/i18n/zh-CN.mjs.gz +0 -0
  44. package/dist/{i18n-DOJnZmCW.js → i18n-BvC7LHx1.js} +23 -0
  45. package/dist/i18n-BvC7LHx1.js.br +0 -0
  46. package/dist/i18n-BvC7LHx1.js.gz +0 -0
  47. package/dist/{i18n-C5PLnqCs.cjs → i18n-RCD4vrq3.cjs} +23 -0
  48. package/dist/i18n-RCD4vrq3.cjs.br +0 -0
  49. package/dist/i18n-RCD4vrq3.cjs.gz +0 -0
  50. package/dist/i18n.cjs +1 -1
  51. package/dist/i18n.cjs.br +0 -0
  52. package/dist/i18n.cjs.gz +0 -0
  53. package/dist/i18n.js +1 -1
  54. package/dist/i18n.js.br +1 -1
  55. package/dist/i18n.js.gz +0 -0
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.cjs.br +0 -0
  58. package/dist/index.cjs.gz +0 -0
  59. package/dist/index.d.ts +48 -6
  60. package/dist/index.js +3 -3
  61. package/dist/index.js.br +0 -0
  62. package/dist/index.js.gz +0 -0
  63. package/dist/internals.cjs +1 -1
  64. package/dist/internals.cjs.br +0 -0
  65. package/dist/internals.cjs.gz +0 -0
  66. package/dist/internals.d.ts +59 -9
  67. package/dist/internals.js +2 -2
  68. package/dist/internals.js.br +0 -0
  69. package/dist/internals.js.gz +0 -0
  70. package/dist/pptx-vue-viewer.css +39 -39
  71. package/dist/pptx-vue-viewer.css.br +0 -0
  72. package/dist/pptx-vue-viewer.css.gz +0 -0
  73. package/dist/{useViewerSettingsDialog-DKWvCzGK.js → useViewerSettingsDialog-6eo06L3R.js} +7135 -6826
  74. package/dist/useViewerSettingsDialog-6eo06L3R.js.br +0 -0
  75. package/dist/useViewerSettingsDialog-6eo06L3R.js.gz +0 -0
  76. package/dist/{useViewerSettingsDialog-BYMmaXqc.cjs → useViewerSettingsDialog-CcDm_TiD.cjs} +7224 -6875
  77. package/dist/useViewerSettingsDialog-CcDm_TiD.cjs.br +0 -0
  78. package/dist/useViewerSettingsDialog-CcDm_TiD.cjs.gz +0 -0
  79. package/dist/viewer/index.cjs +1 -1
  80. package/dist/viewer/index.cjs.br +0 -0
  81. package/dist/viewer/index.cjs.gz +0 -0
  82. package/dist/viewer/index.d.ts +48 -6
  83. package/dist/viewer/index.js +3 -3
  84. package/dist/viewer/index.js.br +0 -0
  85. package/dist/viewer/index.js.gz +0 -0
  86. package/dist/{viewer-CDKF3LoJ.js → viewer-Br9Urx_K.js} +11144 -10936
  87. package/dist/viewer-Br9Urx_K.js.br +0 -0
  88. package/dist/viewer-Br9Urx_K.js.gz +0 -0
  89. package/dist/{viewer-D4jitSRB.cjs → viewer-DxjvIJVV.cjs} +3642 -3434
  90. package/dist/viewer-DxjvIJVV.cjs.br +0 -0
  91. package/dist/viewer-DxjvIJVV.cjs.gz +0 -0
  92. package/package.json +1 -1
  93. package/dist/AiChatPanel-BIJ-bHQj.cjs.br +0 -0
  94. package/dist/AiChatPanel-BIJ-bHQj.cjs.gz +0 -0
  95. package/dist/AiChatPanel-U3EFn2Ng.js.br +0 -0
  96. package/dist/AiChatPanel-U3EFn2Ng.js.gz +0 -0
  97. package/dist/dist-0XJeILOd.cjs.br +0 -0
  98. package/dist/dist-0XJeILOd.cjs.gz +0 -0
  99. package/dist/dist-BV_7SUio.js.br +0 -0
  100. package/dist/dist-BV_7SUio.js.gz +0 -0
  101. package/dist/gif-encoder-Bbb-HJnH.js +0 -2
  102. package/dist/gif-encoder-Bbb-HJnH.js.br +0 -0
  103. package/dist/gif-encoder-Bbb-HJnH.js.gz +0 -0
  104. package/dist/gif-encoder-CmBKDBC6.cjs +0 -2
  105. package/dist/gif-encoder-CmBKDBC6.cjs.br +0 -0
  106. package/dist/gif-encoder-CmBKDBC6.cjs.gz +0 -0
  107. package/dist/i18n-C5PLnqCs.cjs.br +0 -0
  108. package/dist/i18n-C5PLnqCs.cjs.gz +0 -0
  109. package/dist/i18n-DOJnZmCW.js.br +0 -0
  110. package/dist/i18n-DOJnZmCW.js.gz +0 -0
  111. package/dist/useViewerSettingsDialog-BYMmaXqc.cjs.br +0 -0
  112. package/dist/useViewerSettingsDialog-BYMmaXqc.cjs.gz +0 -0
  113. package/dist/useViewerSettingsDialog-DKWvCzGK.js.br +0 -0
  114. package/dist/useViewerSettingsDialog-DKWvCzGK.js.gz +0 -0
  115. package/dist/viewer-CDKF3LoJ.js.br +0 -0
  116. package/dist/viewer-CDKF3LoJ.js.gz +0 -0
  117. package/dist/viewer-D4jitSRB.cjs.br +0 -0
  118. package/dist/viewer-D4jitSRB.cjs.gz +0 -0
@@ -1119,6 +1119,7 @@ var t = {
1119
1119
  "pptx.media.startAutomatically": "Automatically",
1120
1120
  "pptx.media.playAcrossSlides": "Play across slides",
1121
1121
  "pptx.media.fullScreen": "Full screen",
1122
+ "pptx.media.onlineVideoTitle": "Online video",
1122
1123
  "pptx.media.hideWhenNotPlaying": "Hide when not playing",
1123
1124
  "pptx.media.bookmarks": "Bookmarks",
1124
1125
  "pptx.media.bookmark": "Bookmark",
@@ -1186,6 +1187,11 @@ var t = {
1186
1187
  "pptx.compare.noDifferences": "No differences",
1187
1188
  "pptx.compare.summary": "{{added}} added, {{removed}} removed, {{changed}} changed",
1188
1189
  "pptx.compare.title": "Compare",
1190
+ "pptx.canvasContextMenu.formatBackground": "Format Background...",
1191
+ "pptx.canvasContextMenu.gridAndGuides": "Grid and Guides",
1192
+ "pptx.canvasContextMenu.layout": "Layout",
1193
+ "pptx.canvasContextMenu.resetSlide": "Reset Slide",
1194
+ "pptx.canvasContextMenu.ruler": "Ruler",
1189
1195
  "pptx.contextMenu.addComment": "Add Comment",
1190
1196
  "pptx.contextMenu.bringForward": "Bring Forward",
1191
1197
  "pptx.contextMenu.bringToFront": "Bring to Front",
@@ -1195,7 +1201,10 @@ var t = {
1195
1201
  "pptx.contextMenu.deleteColumn": "Delete Column",
1196
1202
  "pptx.contextMenu.deleteRow": "Delete Row",
1197
1203
  "pptx.contextMenu.duplicate": "Duplicate",
1204
+ "pptx.contextMenu.editAltText": "Edit Alt Text...",
1198
1205
  "pptx.contextMenu.editHyperlink": "Edit Hyperlink",
1206
+ "pptx.contextMenu.editText": "Edit Text",
1207
+ "pptx.contextMenu.formatShape": "Format Shape...",
1199
1208
  "pptx.contextMenu.group": "Group",
1200
1209
  "pptx.contextMenu.insertColumnLeft": "Insert Column Left",
1201
1210
  "pptx.contextMenu.insertColumnRight": "Insert Column Right",
@@ -1204,10 +1213,18 @@ var t = {
1204
1213
  "pptx.contextMenu.mergeCells": "Merge Right",
1205
1214
  "pptx.contextMenu.mergeSelectedCells": "Merge Selected Cells",
1206
1215
  "pptx.contextMenu.paste": "Paste",
1216
+ "pptx.contextMenu.saveAsPicture": "Save as Picture...",
1207
1217
  "pptx.contextMenu.sendBackward": "Send Backward",
1208
1218
  "pptx.contextMenu.sendToBack": "Send to Back",
1219
+ "pptx.contextMenu.sizeAndPosition": "Size and Position...",
1209
1220
  "pptx.contextMenu.splitCell": "Split Cell",
1210
1221
  "pptx.contextMenu.ungroup": "Ungroup",
1222
+ "pptx.pasteSpecial.dialogTitle": "Paste Special",
1223
+ "pptx.pasteSpecial.keepSourceFormatting": "Keep Source Formatting",
1224
+ "pptx.pasteSpecial.keepTextOnly": "Keep Text Only",
1225
+ "pptx.pasteSpecial.optionsLabel": "Paste Options",
1226
+ "pptx.pasteSpecial.picture": "Picture",
1227
+ "pptx.pasteSpecial.useDestinationTheme": "Use Destination Theme",
1211
1228
  "pptx.digitalSignatures.badge": "Signed",
1212
1229
  "pptx.digitalSignatures.editWarning": "Editing this presentation will invalidate its digital signatures.",
1213
1230
  "pptx.digitalSignatures.signed": "This presentation is digitally signed.",
@@ -1521,6 +1538,12 @@ var t = {
1521
1538
  "pptx.transition.morphOption.byObject": "By Object",
1522
1539
  "pptx.transition.morphOption.byWord": "By Word",
1523
1540
  "pptx.transition.morphOption.byChar": "By Character",
1541
+ "pptx.transition.pattern": "Pattern",
1542
+ "pptx.transition.pattern.diamond": "Diamond",
1543
+ "pptx.transition.pattern.hexagon": "Hexagon",
1544
+ "pptx.transition.pattern.strip": "Strips",
1545
+ "pptx.transition.pattern.rectangle": "Rectangles",
1546
+ "pptx.transition.thruBlk": "Through black",
1524
1547
  "pptx.contextMenu.ariaLabel": "Context menu",
1525
1548
  "pptx.editorToolbar.ariaLabel": "Editor toolbar",
1526
1549
  "pptx.editorToolbar.insert": "Insert",
Binary file
Binary file
@@ -1119,6 +1119,7 @@ var t = {
1119
1119
  "pptx.media.startAutomatically": "Automatically",
1120
1120
  "pptx.media.playAcrossSlides": "Play across slides",
1121
1121
  "pptx.media.fullScreen": "Full screen",
1122
+ "pptx.media.onlineVideoTitle": "Online video",
1122
1123
  "pptx.media.hideWhenNotPlaying": "Hide when not playing",
1123
1124
  "pptx.media.bookmarks": "Bookmarks",
1124
1125
  "pptx.media.bookmark": "Bookmark",
@@ -1186,6 +1187,11 @@ var t = {
1186
1187
  "pptx.compare.noDifferences": "No differences",
1187
1188
  "pptx.compare.summary": "{{added}} added, {{removed}} removed, {{changed}} changed",
1188
1189
  "pptx.compare.title": "Compare",
1190
+ "pptx.canvasContextMenu.formatBackground": "Format Background...",
1191
+ "pptx.canvasContextMenu.gridAndGuides": "Grid and Guides",
1192
+ "pptx.canvasContextMenu.layout": "Layout",
1193
+ "pptx.canvasContextMenu.resetSlide": "Reset Slide",
1194
+ "pptx.canvasContextMenu.ruler": "Ruler",
1189
1195
  "pptx.contextMenu.addComment": "Add Comment",
1190
1196
  "pptx.contextMenu.bringForward": "Bring Forward",
1191
1197
  "pptx.contextMenu.bringToFront": "Bring to Front",
@@ -1195,7 +1201,10 @@ var t = {
1195
1201
  "pptx.contextMenu.deleteColumn": "Delete Column",
1196
1202
  "pptx.contextMenu.deleteRow": "Delete Row",
1197
1203
  "pptx.contextMenu.duplicate": "Duplicate",
1204
+ "pptx.contextMenu.editAltText": "Edit Alt Text...",
1198
1205
  "pptx.contextMenu.editHyperlink": "Edit Hyperlink",
1206
+ "pptx.contextMenu.editText": "Edit Text",
1207
+ "pptx.contextMenu.formatShape": "Format Shape...",
1199
1208
  "pptx.contextMenu.group": "Group",
1200
1209
  "pptx.contextMenu.insertColumnLeft": "Insert Column Left",
1201
1210
  "pptx.contextMenu.insertColumnRight": "Insert Column Right",
@@ -1204,10 +1213,18 @@ var t = {
1204
1213
  "pptx.contextMenu.mergeCells": "Merge Right",
1205
1214
  "pptx.contextMenu.mergeSelectedCells": "Merge Selected Cells",
1206
1215
  "pptx.contextMenu.paste": "Paste",
1216
+ "pptx.contextMenu.saveAsPicture": "Save as Picture...",
1207
1217
  "pptx.contextMenu.sendBackward": "Send Backward",
1208
1218
  "pptx.contextMenu.sendToBack": "Send to Back",
1219
+ "pptx.contextMenu.sizeAndPosition": "Size and Position...",
1209
1220
  "pptx.contextMenu.splitCell": "Split Cell",
1210
1221
  "pptx.contextMenu.ungroup": "Ungroup",
1222
+ "pptx.pasteSpecial.dialogTitle": "Paste Special",
1223
+ "pptx.pasteSpecial.keepSourceFormatting": "Keep Source Formatting",
1224
+ "pptx.pasteSpecial.keepTextOnly": "Keep Text Only",
1225
+ "pptx.pasteSpecial.optionsLabel": "Paste Options",
1226
+ "pptx.pasteSpecial.picture": "Picture",
1227
+ "pptx.pasteSpecial.useDestinationTheme": "Use Destination Theme",
1211
1228
  "pptx.digitalSignatures.badge": "Signed",
1212
1229
  "pptx.digitalSignatures.editWarning": "Editing this presentation will invalidate its digital signatures.",
1213
1230
  "pptx.digitalSignatures.signed": "This presentation is digitally signed.",
@@ -1521,6 +1538,12 @@ var t = {
1521
1538
  "pptx.transition.morphOption.byObject": "By Object",
1522
1539
  "pptx.transition.morphOption.byWord": "By Word",
1523
1540
  "pptx.transition.morphOption.byChar": "By Character",
1541
+ "pptx.transition.pattern": "Pattern",
1542
+ "pptx.transition.pattern.diamond": "Diamond",
1543
+ "pptx.transition.pattern.hexagon": "Hexagon",
1544
+ "pptx.transition.pattern.strip": "Strips",
1545
+ "pptx.transition.pattern.rectangle": "Rectangles",
1546
+ "pptx.transition.thruBlk": "Through black",
1524
1547
  "pptx.contextMenu.ariaLabel": "Context menu",
1525
1548
  "pptx.editorToolbar.ariaLabel": "Editor toolbar",
1526
1549
  "pptx.editorToolbar.insert": "Insert",
Binary file
Binary file
package/dist/i18n.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./i18n-C5PLnqCs.cjs");
2
+ const e = require("./i18n-RCD4vrq3.cjs");
3
3
  function t(e) {
4
4
  const t = {};
5
5
  for (const [n, o] of Object.entries(e)) t[n] = o.replace(/\{\{(?<name>\w+)\}\}/gu, "{$<name>}").replace(/@/gu, "{'@'}");
package/dist/i18n.cjs.br CHANGED
Binary file
package/dist/i18n.cjs.gz CHANGED
Binary file
package/dist/i18n.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as e, n as r, r as n } from "./i18n-DOJnZmCW.js";
1
+ import { i as e, n as r, r as n } from "./i18n-BvC7LHx1.js";
2
2
  function a(e) {
3
3
  const r = {};
4
4
  for (const [n, a] of Object.entries(e)) r[n] = a.replace(/\{\{(?<name>\w+)\}\}/gu, "{$<name>}").replace(/@/gu, "{'@'}");
package/dist/i18n.js.br CHANGED
@@ -1 +1 @@
1
- L@�q,�- ).�d���Z����X��ń,�q����h�b�o���&��jS��MT��m�~�)"�!��2-�*�����+=���&�кq�Z�?�wg�?|����I�I������׃��l>*��`��d�$�ۼC
1
+ L@��
package/dist/i18n.js.gz CHANGED
Binary file
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-BYMmaXqc.cjs"), o = require("./viewer-D4jitSRB.cjs");
2
+ const e = require("./useViewerSettingsDialog-CcDm_TiD.cjs"), o = require("./viewer-DxjvIJVV.cjs");
3
3
  exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.CollaborationCursors = o.CollaborationCursors_default, exports.CollaborationStatusIndicator = o.CollaborationStatusIndicator_default, exports.ElementRenderer = e.ElementRenderer_default, exports.FollowModeBar = o.FollowModeBar_default, exports.PPTX_OPEN_ACCEPT = e.PPTX_OPEN_ACCEPT, exports.PRESENTATION_OPEN_EXTENSIONS = e.PRESENTATION_OPEN_EXTENSIONS, exports.PowerPointViewer = o.PowerPointViewer_default, exports.RemoteSelectionOverlay = o.RemoteSelectionOverlay_default, exports.RibbonToolbar = o.RibbonToolbar_default, exports.SlideCanvas = o.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.clearAudienceContent = e.clearAudienceContent, exports.cn = o.cn, exports.createImageElementFromFile = e.createImageElementFromFile, exports.defaultCssVars = e.defaultCssVars, exports.defaultRadius = e.defaultRadius, exports.defaultThemeColors = e.defaultThemeColors, exports.describeCollaborationShellState = e.describeCollaborationShellState, exports.exportAllSlidesToSvg = e.exportAllSlidesToSvg, exports.exportAllSlidesToSvgBlobs = e.exportAllSlidesToSvgBlobs, exports.exportSlideToSvg = e.exportSlideToSvg, exports.exportSlideToSvgBlob = e.exportSlideToSvgBlob, exports.forgetSessionDeck = e.forgetSessionDeck, exports.getSessionTabId = e.getSessionTabId, exports.isAudienceTab = e.isAudienceTab, exports.isLegacyBinaryPresentation = e.isLegacyBinaryPresentation, exports.isSupportedPresentationFile = e.isSupportedPresentationFile, exports.loadAudienceContent = e.loadAudienceContent, exports.loadSessionDeck = e.loadSessionDeck, exports.parseAudienceNonce = e.parseAudienceNonce, exports.parsePresentationSessionId = e.parsePresentationSessionId, exports.presentationBaseName = e.presentationBaseName, exports.provideViewerTheme = o.provideViewerTheme, exports.rememberSessionDeck = e.rememberSessionDeck, exports.renderToCanvas = e.renderToCanvas, exports.restoreSessionDeck = e.restoreSessionDeck, exports.savedPresentationFileName = e.savedPresentationFileName, exports.storeAudienceContent = e.storeAudienceContent, exports.themeToCssVars = e.themeToCssVars, exports.useCollaboration = e.useCollaboration, exports.useCollaborativeHistory = o.useCollaborativeHistory, exports.useCollaborativeState = o.useCollaborativeState, exports.usePresenceTracking = o.usePresenceTracking, exports.useThemeStyle = o.useThemeStyle, exports.useViewerTheme = o.useViewerTheme, exports.useYjsProvider = o.useYjsProvider, exports.vermilionDarkColors = e.vermilionDarkColors, exports.vermilionDarkTheme = e.vermilionDarkTheme, exports.vermilionLightColors = e.vermilionLightColors, exports.vermilionLightTheme = e.vermilionLightTheme, exports.vermilionRadius = e.vermilionRadius;
package/dist/index.cjs.br CHANGED
Binary file
package/dist/index.cjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -611,6 +611,18 @@ declare interface BulletInfo {
611
611
  paragraphIndex?: number;
612
612
  /** Bullet font family from `a:buFont`. */
613
613
  fontFamily?: string;
614
+ /**
615
+ * PANOSE font-matching hint from `a:buFont/@panose`. `a:buFont` is a
616
+ * CT_TextFont, the same complex type as `a:latin`/`a:ea`/`a:cs`/`a:sym`
617
+ * (which carry the equivalent `TextStyle.latinFontPanose` etc.), so a
618
+ * bullet's own PANOSE/pitch-family/charset decide the fallback glyph
619
+ * PowerPoint substitutes when the named typeface is missing.
620
+ */
621
+ fontPanose?: string;
622
+ /** Font pitch-and-family byte from `a:buFont/@pitchFamily`. */
623
+ fontPitchFamily?: number;
624
+ /** Font character-set byte from `a:buFont/@charset`. */
625
+ fontCharset?: number;
614
626
  /** Bullet size as percentage of text font size from `a:buSzPct`. */
615
627
  sizePercent?: number;
616
628
  /** Bullet size in points from `a:buSzPts`. */
@@ -9292,7 +9304,12 @@ declare interface PptxSlideTransition {
9292
9304
  spokes?: number;
9293
9305
  /** Pattern type for shred transition. */
9294
9306
  pattern?: string;
9295
- /** Through-black flag for blinds/checker (OOXML `@_thruBlk`). */
9307
+ /**
9308
+ * Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
9309
+ * `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
9310
+ * off any standard transition child so an unexpected authored value still
9311
+ * round-trips.
9312
+ */
9296
9313
  thruBlk?: boolean;
9297
9314
  /** Split orientation (horz/vert) parsed from `@_orient`. */
9298
9315
  orient?: PptxSplitOrientation;
@@ -13494,6 +13511,16 @@ declare interface TextStyle {
13494
13511
  hyperlinkHighlightClick?: boolean;
13495
13512
  /** Whether hyperlink ends a sound (`a:hlinkClick/@endSnd`). */
13496
13513
  hyperlinkEndSound?: boolean;
13514
+ /**
13515
+ * Raw `a:hlinkClick/a:extLst` child, preserved verbatim for round-trip.
13516
+ * Carries vendor extensions this engine does not interpret, most commonly
13517
+ * `ahyp:hlinkClr` (Microsoft's "hyperlink color" extension,
13518
+ * `{A12FA001-AC4F-418D-AE19-62706E023703}`), which records whether a
13519
+ * hyperlink run should paint with the theme's text colour instead of the
13520
+ * hyperlink colour. Dropping the whole `a:extLst` silently reverted such a
13521
+ * run to the default (themed) hyperlink colour on save.
13522
+ */
13523
+ hyperlinkExtensionXml?: XmlObject;
13497
13524
  /** Kumimoji (ideographic text combining) flag for vertical CJK text (`a:rPr/@kumimoji`). */
13498
13525
  kumimoji?: boolean;
13499
13526
  /** Normalize height flag (`a:rPr/@normalizeH`). */
@@ -13647,6 +13674,15 @@ declare interface TextStyle {
13647
13674
  textGlowRadius?: number;
13648
13675
  /** Text glow opacity (0-1). */
13649
13676
  textGlowOpacity?: number;
13677
+ /**
13678
+ * Original glow colour-choice XML (`a:glow`'s `a:schemeClr`/`a:srgbClr`/…
13679
+ * child), preserved verbatim so a theme colour reference round-trips
13680
+ * instead of always being re-serialized as a resolved `a:srgbClr` (which
13681
+ * cuts the glow off from theme/Recolor changes).
13682
+ */
13683
+ textGlowColorXml?: XmlObject;
13684
+ /** Theme colour slot the glow colour resolved from, when it is `a:schemeClr`. */
13685
+ textGlowColorRef?: PptxThemeColorRef;
13650
13686
  /** Text reflection enabled flag. */
13651
13687
  textReflection?: boolean;
13652
13688
  /** Text reflection blur radius in px. */
@@ -14276,11 +14312,17 @@ declare interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
14276
14312
  * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
14277
14313
  * three Zoom kinds): whether continuing forward from the destination slide
14278
14314
  * during a live show returns to this Zoom's origin slide instead of
14279
- * advancing linearly through the deck. OOXML default is `true` when the
14280
- * attribute is present but this codebase leaves it `undefined` when the
14281
- * source XML omits it, so a round-trip never fabricates the attribute.
14282
- * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
14283
- * {@link SummaryZoomTarget.returnToParent} for the per-tile value.
14315
+ * advancing linearly through the deck. The schema declares `<xsd:attribute
14316
+ * name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
14317
+ * so an ABSENT attribute means `true`, not `false`. This codebase still
14318
+ * leaves the field `undefined` (rather than fabricating `true`) when the
14319
+ * source XML omits it, so a round-trip never invents an attribute the
14320
+ * source never had; a CONSUMER of this field (playback, e.g.
14321
+ * `pptx-viewer-shared`'s `resolveZoomNavigationTarget`) must read
14322
+ * `returnToParent !== false`, not `Boolean(returnToParent)`, to get the
14323
+ * spec-correct effective value. For `zoomType: 'summary'`, this mirrors the
14324
+ * first tile's own value; see {@link SummaryZoomTarget.returnToParent} for
14325
+ * the per-tile value.
14284
14326
  */
14285
14327
  returnToParent?: boolean;
14286
14328
  /**
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $l as a, Ap as s, C as e, Cd as o, Gl as r, Gu as i, H as l, Hl as t, Hs as n, Mp as p, Op as S, Pc as u, Qn as w, Qs as c, Qu as d, S as m, Sf as C, Si as b, Wu as f, Xt as j, Yt as g, Zs as v, ec as H, eu as M, fl as P, gf as Q, it as R, jl as k, jp as x, kp as A, np as E, os as G, pp as O, rc as T, vi as V, w as y, x as B } from "./useViewerSettingsDialog-DKWvCzGK.js";
2
- import { A as D, E as F, M as I, T as W, a as X, c as Y, i as Z, j as $, k as h, l as q, n as z, r as J, s as K, t as L, w as N } from "./viewer-CDKF3LoJ.js";
3
- export { w as AUDIENCE_HASH, q as CollaborationCursors, h as CollaborationStatusIndicator, j as ElementRenderer, K as FollowModeBar, V as PPTX_OPEN_ACCEPT, b as PRESENTATION_OPEN_EXTENSIONS, X as PowerPointViewer, Y as RemoteSelectionOverlay, W as RibbonToolbar, N as SlideCanvas, g as SlideStage, G as clearAudienceContent, F as cn, n as createImageElementFromFile, v as defaultCssVars, c as defaultRadius, H as defaultThemeColors, T as describeCollaborationShellState, B as exportAllSlidesToSvg, m as exportAllSlidesToSvgBlobs, e as exportSlideToSvg, y as exportSlideToSvgBlob, u as forgetSessionDeck, P as getSessionTabId, k as isAudienceTab, t as isLegacyBinaryPresentation, r as isSupportedPresentationFile, a as loadAudienceContent, M as loadSessionDeck, f as parseAudienceNonce, i as parsePresentationSessionId, d as presentationBaseName, D as provideViewerTheme, o as rememberSessionDeck, l as renderToCanvas, Q as restoreSessionDeck, C as savedPresentationFileName, E as storeAudienceContent, O as themeToCssVars, R as useCollaboration, L as useCollaborativeHistory, z as useCollaborativeState, J as usePresenceTracking, $ as useThemeStyle, I as useViewerTheme, Z as useYjsProvider, S as vermilionDarkColors, A as vermilionDarkTheme, s as vermilionLightColors, x as vermilionLightTheme, p as vermilionRadius };
1
+ import { Ad as a, Af as s, Bc as o, Bp as e, C as i, Ci as r, Ip as t, Jl as l, Js as n, Ll as p, Lp as c, Qn as u, Rp as w, S as d, Xt as S, Xu as m, Yt as C, Zl as b, Zu as f, au as v, et as R, fs as g, ic as j, id as x, it as A, lc as B, oc as y, ou as E, rc as I, up as J, vl as L, w as M, wf as P, x as T, xp as V, yi as X, zp as Z } from "./useViewerSettingsDialog-6eo06L3R.js";
2
+ import { A as k, E as z, M as D, T as F, a as O, c as Q, i as Y, j as h, k as q, l as G, n as H, r as K, s as N, t as U, w as W } from "./viewer-Br9Urx_K.js";
3
+ export { u as AUDIENCE_HASH, G as CollaborationCursors, q as CollaborationStatusIndicator, S as ElementRenderer, N as FollowModeBar, X as PPTX_OPEN_ACCEPT, r as PRESENTATION_OPEN_EXTENSIONS, O as PowerPointViewer, Q as RemoteSelectionOverlay, F as RibbonToolbar, W as SlideCanvas, C as SlideStage, g as clearAudienceContent, z as cn, n as createImageElementFromFile, I as defaultCssVars, j as defaultRadius, y as defaultThemeColors, B as describeCollaborationShellState, T as exportAllSlidesToSvg, d as exportAllSlidesToSvgBlobs, i as exportSlideToSvg, M as exportSlideToSvgBlob, o as forgetSessionDeck, L as getSessionTabId, p as isAudienceTab, l as isLegacyBinaryPresentation, b as isSupportedPresentationFile, v as loadAudienceContent, E as loadSessionDeck, m as parseAudienceNonce, f as parsePresentationSessionId, x as presentationBaseName, k as provideViewerTheme, a as rememberSessionDeck, R as renderToCanvas, P as restoreSessionDeck, s as savedPresentationFileName, J as storeAudienceContent, V as themeToCssVars, A as useCollaboration, U as useCollaborativeHistory, H as useCollaborativeState, K as usePresenceTracking, h as useThemeStyle, D as useViewerTheme, Y as useYjsProvider, t as vermilionDarkColors, c as vermilionDarkTheme, w as vermilionLightColors, Z as vermilionLightTheme, e as vermilionRadius };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-BYMmaXqc.cjs");
2
+ const e = require("./useViewerSettingsDialog-CcDm_TiD.cjs");
3
3
  exports.CINEMATIC_TRANSITION_KEYFRAMES = e.CINEMATIC_TRANSITION_KEYFRAMES, exports.DEFAULT_MAX_VERSIONS = e.DEFAULT_MAX_VERSIONS, exports.DEFAULT_MORPH_DURATION_MS = e.DEFAULT_MORPH_DURATION_MS, exports.DEFAULT_RENDERING_3D_FLAGS = e.DEFAULT_RENDERING_3D_FLAGS, exports.DEFAULT_TRANSITION_DURATION_MS = e.DEFAULT_TRANSITION_DURATION_MS, exports.EASE = e.EASE, exports.ERASER_RADIUS = e.ERASER_RADIUS, exports.FragmentedTransitionLayer = e.FragmentedTransitionLayer_default, exports.HIGHLIGHTER_OPACITY = e.HIGHLIGHTER_OPACITY, exports.HIGHLIGHTER_WIDTH = e.HIGHLIGHTER_WIDTH, exports.INSTANT = e.INSTANT, exports.MOBILE_BREAKPOINT = e.MOBILE_BREAKPOINT, exports.MOBILE_LANDSCAPE_MAX_HEIGHT = e.MOBILE_LANDSCAPE_MAX_HEIGHT, exports.MorphExtraLayers = e.MorphExtraLayers_default, exports.NUDGE_LARGE = e.NUDGE_LARGE, exports.NUDGE_SMALL = e.NUDGE_SMALL, exports.P14_TRANSITION_KEYFRAMES = e.P14_TRANSITION_KEYFRAMES, exports.P14_TRANSITION_KEYFRAMES_2 = e.P14_TRANSITION_KEYFRAMES_2, exports.P14_TRANSITION_KEYFRAMES_ALL = e.P14_TRANSITION_KEYFRAMES_ALL, exports.PEN_WIDTH = e.PEN_WIDTH, exports.PresentationTransitionOverlay = e.PresentationTransitionOverlay_default, exports.RANDOM_ELIGIBLE_TYPES = e.RANDOM_ELIGIBLE_TYPES, exports.RIBBON_ALIGN = e.RIBBON_ALIGN, exports.Rendering3DFlagsKey = e.Rendering3DFlagsKey, exports.SHORTCUT_CATALOG = e.SHORTCUT_CATALOG, exports.SHORTCUT_GROUP_LABEL_KEYS = e.SHORTCUT_GROUP_LABEL_KEYS, exports.SLIDE_TRANSITION_KEYFRAMES = e.SLIDE_TRANSITION_KEYFRAMES, exports.SLIDE_TRANSITION_KEYFRAMES_CSS = e.SLIDE_TRANSITION_KEYFRAMES_CSS, exports.SMARTART_COLOR_SCHEMES = e.SMARTART_COLOR_SCHEMES, exports.SMARTART_STYLE_OPTIONS = e.SMARTART_STYLE_OPTIONS, exports.TABLET_BREAKPOINT = e.TABLET_BREAKPOINT, exports.TRANSITION_SPEED_DURATION_MS = e.TRANSITION_SPEED_DURATION_MS, exports.TableSelectionKey = e.TableSelectionKey, exports.WHEEL_SPOKE_COUNTS = e.WHEEL_SPOKE_COUNTS, exports.buildClickGroups = e.buildClickGroups, exports.computeCellSelection = e.computeCellSelection, exports.computeDocumentStatistics = e.computeDocumentStatistics, exports.computeElapsed = e.computeElapsed, exports.countWords = e.countWords, exports.createStroke = e.createStroke, exports.eraseStrokesAtPoint = e.eraseStrokesAtPoint, exports.formatRehearseMs = e.formatRehearseMs, exports.generateCommentId = e.generateCommentId, exports.getCinematicTransitionAnimations = e.getCinematicTransitionAnimations, exports.getP14TransitionAnimations = e.getP14TransitionAnimations, exports.getSlideTransitionAnimations = e.getSlideTransitionAnimations, exports.groupShortcutCatalog = e.groupShortcutCatalog, exports.injectTableSelection = e.injectTableSelection, exports.inlineEditorRect = e.inlineEditorRect, exports.isMobileViewport = e.isMobileViewport, exports.nodeIdsInRenderOrder = e.nodeIdsInRenderOrder, exports.parseSignaturesFromBuffer = e.parseSignaturesFromBuffer, exports.provideTableSelection = e.provideTableSelection, exports.resolveDirection = e.resolveDirection, exports.resolveDirection8 = e.resolveDirection8, exports.resolveOrientation = e.resolveOrientation, exports.resolveShortcutAction = e.resolveShortcutAction, exports.resolveSlideTransition = e.resolveSlideTransition, exports.resolveTransitionDurationMs = e.resolveTransitionDurationMs, exports.resolveWheelSpokeCount = e.resolveWheelSpokeCount, exports.smartArtLayoutLabel = e.smartArtLayoutLabel, exports.textNodeIdsInRenderOrder = e.textNodeIdsInRenderOrder, exports.toShapePreset = e.toShapePreset, exports.useAccessibility = e.useAccessibility, exports.useAlignGroup = e.useAlignGroup, exports.useAnimationPlayback = e.useAnimationPlayback, exports.useAutosave = e.useAutosave, exports.useChartEditing = e.useChartEditing, exports.useCollaboration = e.useCollaboration, exports.useCollaborationWiring = e.useCollaborationWiring, exports.useColorChangeImage = e.useColorChangeImage, exports.useComments = e.useComments, exports.useCommentsWiring = e.useCommentsWiring, exports.useContextMenu = e.useContextMenu, exports.useCustomShows = e.useCustomShows, exports.useCustomShowsWiring = e.useCustomShowsWiring, exports.useDebouncedCallback = e.useDebouncedCallback, exports.useDocumentPropertiesDialog = e.useDocumentPropertiesDialog, exports.useDocumentStatistics = e.useDocumentStatistics, exports.useEditorHistory = e.useEditorHistory, exports.useEditorKeyboard = e.useEditorKeyboard, exports.useEditorOperations = e.useEditorOperations, exports.useElementDrag = e.useElementDrag, exports.useElementInsertion = e.useElementInsertion, exports.useEmbeddedFonts = e.useEmbeddedFonts, exports.useExport = e.useExport, exports.useExportProgress = e.useExportProgress, exports.useExportWiring = e.useExportWiring, exports.useFindReplace = e.useFindReplace, exports.useFontEmbedding = e.useFontEmbedding, exports.useFormatPainter = e.useFormatPainter, exports.useHeaderFooterDialog = e.useHeaderFooterDialog, exports.useInkDrawing = e.useInkDrawing, exports.useInlineEditing = e.useInlineEditing, exports.useInsertElementDialogs = e.useInsertElementDialogs, exports.useIsMobile = e.useIsMobile, exports.useKeyboardInsets = e.useKeyboardInsets, exports.useKeyboardShortcuts = e.useKeyboardShortcuts, exports.useLoadContent = e.useLoadContent, exports.useMasterViewState = e.useMasterViewState, exports.useMediaExport = e.useMediaExport, exports.useMobileChrome = e.useMobileChrome, exports.useModel3dScene = e.useModel3dScene, exports.useMorphTransitionOverlay = e.useMorphTransitionOverlay, exports.useMultiSelectOps = e.useMultiSelectOps, exports.usePasswordProtection = e.usePasswordProtection, exports.usePresentationAnnotations = e.usePresentationAnnotations, exports.usePresentationModeWiring = e.usePresentationModeWiring, exports.usePrint = e.usePrint, exports.useRehearseTimings = e.useRehearseTimings, exports.useRendering3DFlags = e.useRendering3DFlags, exports.useRibbonActions = e.useRibbonActions, exports.useRibbonProps = e.useRibbonProps, exports.useRibbonUiState = e.useRibbonUiState, exports.useSectionOperations = e.useSectionOperations, exports.useSelectionPaneWiring = e.useSelectionPaneWiring, exports.useSheetDismissDrag = e.useSheetDismissDrag, exports.useSignatureWorkflow = e.useSignatureWorkflow, exports.useSignatures = e.useSignatures, exports.useSlideMutations = e.useSlideMutations, exports.useSlideOperations = e.useSlideOperations, exports.useSlideShowSettings = e.useSlideShowSettings, exports.useSlideTemplateInsertion = e.useSlideTemplateInsertion, exports.useSmartArtEditing = e.useSmartArtEditing, exports.useSmartArtFocus = e.useSmartArtFocus, exports.useSmartArtHoverRect = e.useSmartArtHoverRect, exports.useSmartArtInlineEditState = e.useSmartArtInlineEditState, exports.useSmartArtNodeEditContext = e.useSmartArtNodeEditContext, exports.useTableCellEditingContext = e.useTableCellEditingContext, exports.useTableCellSelection = e.useTableCellSelection, exports.useThemeEditing = e.useThemeEditing, exports.useToolbarAutoHide = e.useToolbarAutoHide, exports.useToolbarVisibility = e.useToolbarVisibility, exports.useTouchGestures = e.useTouchGestures, exports.useVersionHistory = e.useVersionHistory, exports.useVersionHistoryWiring = e.useVersionHistoryWiring, exports.useViewerSettingsDialog = e.useViewerSettingsDialog;
Binary file
Binary file
@@ -445,6 +445,18 @@ declare interface BulletInfo {
445
445
  paragraphIndex?: number;
446
446
  /** Bullet font family from `a:buFont`. */
447
447
  fontFamily?: string;
448
+ /**
449
+ * PANOSE font-matching hint from `a:buFont/@panose`. `a:buFont` is a
450
+ * CT_TextFont, the same complex type as `a:latin`/`a:ea`/`a:cs`/`a:sym`
451
+ * (which carry the equivalent `TextStyle.latinFontPanose` etc.), so a
452
+ * bullet's own PANOSE/pitch-family/charset decide the fallback glyph
453
+ * PowerPoint substitutes when the named typeface is missing.
454
+ */
455
+ fontPanose?: string;
456
+ /** Font pitch-and-family byte from `a:buFont/@pitchFamily`. */
457
+ fontPitchFamily?: number;
458
+ /** Font character-set byte from `a:buFont/@charset`. */
459
+ fontCharset?: number;
448
460
  /** Bullet size as percentage of text font size from `a:buSzPct`. */
449
461
  sizePercent?: number;
450
462
  /** Bullet size in points from `a:buSzPts`. */
@@ -1458,7 +1470,7 @@ export declare interface EditorHistoryResult {
1458
1470
  }
1459
1471
 
1460
1472
  /** A logical editor command produced by one key press. */
1461
- declare type EditorKeyActionName = 'undo' | 'redo' | 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'selectAll' | 'group' | 'ungroup' | 'nudge' | 'prevSlide' | 'nextSlide' | 'escape' | 'find' | 'findReplace' | 'toggleShortcuts' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'increaseFontSize' | 'decreaseFontSize' | 'copyFormat' | 'pasteFormat' | 'newSlide' | 'hyperlink' | 'clearFormatting' | 'cycleSelectionNext' | 'cycleSelectionPrev';
1473
+ declare type EditorKeyActionName = 'undo' | 'redo' | 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'selectAll' | 'group' | 'ungroup' | 'nudge' | 'prevSlide' | 'nextSlide' | 'escape' | 'find' | 'findReplace' | 'toggleShortcuts' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'increaseFontSize' | 'decreaseFontSize' | 'copyFormat' | 'pasteFormat' | 'newSlide' | 'hyperlink' | 'clearFormatting' | 'cycleSelectionNext' | 'cycleSelectionPrev' | 'pasteSpecial';
1462
1474
 
1463
1475
  export declare interface EditorOperations {
1464
1476
  /** Resolved active slide (or `undefined` when the index is out of range). */
@@ -2969,7 +2981,7 @@ export declare const P14_TRANSITION_KEYFRAMES = "\n/* ── Conveyor (translate
2969
2981
  export declare const P14_TRANSITION_KEYFRAMES_2 = "\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
2970
2982
 
2971
2983
  /** Both p14 keyframe blocks concatenated, for single `<style>` injection. */
2972
- export declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* ── Conveyor (translate X with staggered timing) ──────────────────── */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* ── Doors (clip-path from center split) ──────────────────────────────\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* ── Ferris (rotate elements around center) ───────────────────────── */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* ── Flash (bright flash opacity burst) ──────────────────────────── */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* ── Flythrough (scale + translate Z-axis feel) ──────────────────── */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* ── Gallery (translate with perspective) ─────────────────────────── */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* ── Glitter (particle dissolve effect) ──────────────────────────── */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* ── Honeycomb (hexagonal reveal) ────────────────────────────────── */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Pan (large-scale translate) ─────────────────────────────────── */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n\n\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n";
2984
+ export declare const P14_TRANSITION_KEYFRAMES_ALL = "\n/* ── Conveyor (translate X with staggered timing) ──────────────────── */\n@keyframes pptx-tr-conveyor-in-from-right {\n\tfrom { transform: translateX(100%) rotateY(-30deg); }\n\t60% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-left {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(-100%) rotateY(30deg); }\n}\n@keyframes pptx-tr-conveyor-in-from-left {\n\tfrom { transform: translateX(-100%) rotateY(30deg); }\n\t60% { transform: translateX(-20%) rotateY(10deg); }\n\tto { transform: translateX(0) rotateY(0deg); }\n}\n@keyframes pptx-tr-conveyor-out-to-right {\n\tfrom { transform: translateX(0) rotateY(0deg); }\n\t40% { transform: translateX(20%) rotateY(-10deg); }\n\tto { transform: translateX(100%) rotateY(-30deg); }\n}\n\n/* ── Doors (clip-path from center split) ──────────────────────────────\n MEASURED via COM CreateVideo: PowerPoint's `dir=\"horz\"` names a\n HORIZONTAL split line (two panels stacked top/bottom, opening upward and\n downward), and `dir=\"vert\"` a VERTICAL split line (panels side by side,\n opening left and right) - the opposite of what \"clips left/right\" vs\n \"clips top/bottom\" would suggest at a glance. Keep the clip-path bodies\n matched to the MEASURED direction, not the intuitive one. */\n@keyframes pptx-tr-doors-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-doors-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n\n/* ── Ferris (rotate elements around center) ───────────────────────── */\n@keyframes pptx-tr-ferris-in-from-right {\n\tfrom { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-left {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n}\n@keyframes pptx-tr-ferris-in-from-left {\n\tfrom { transform: translateX(-80%) rotate(-45deg) scale(0.6); opacity: 0; }\n\tto { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-ferris-out-to-right {\n\tfrom { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: translateX(80%) rotate(45deg) scale(0.6); opacity: 0; }\n}\n\n/* ── Flash (bright flash opacity burst) ──────────────────────────── */\n@keyframes pptx-tr-flash-white {\n\t0% { opacity: 1; }\n\t30% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n@keyframes pptx-tr-flash-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t70% { opacity: 1; }\n\t100% { opacity: 1; }\n}\n\n/* ── Flythrough (scale + translate Z-axis feel) ──────────────────── */\n@keyframes pptx-tr-flythrough-in {\n\tfrom { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n}\n@keyframes pptx-tr-flythrough-reverse-in {\n\tfrom { transform: scale(0.1) translateZ(-200px); opacity: 0; filter: blur(8px); }\n\tto { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n}\n@keyframes pptx-tr-flythrough-reverse-out {\n\tfrom { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0); }\n\tto { transform: scale(4) translateZ(200px); opacity: 0; filter: blur(8px); }\n}\n\n/* ── Gallery (translate with perspective) ─────────────────────────── */\n@keyframes pptx-tr-gallery-in-from-right {\n\tfrom { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-left {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n}\n@keyframes pptx-tr-gallery-in-from-left {\n\tfrom { transform: perspective(800px) translateX(-100%) rotateY(45deg); opacity: 0.5; }\n\tto { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-gallery-out-to-right {\n\tfrom { transform: perspective(800px) translateX(0) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) translateX(100%) rotateY(-45deg); opacity: 0.5; }\n}\n\n/* ── Glitter (particle dissolve effect) ──────────────────────────── */\n@keyframes pptx-tr-glitter-in {\n\tfrom { opacity: 0; filter: brightness(1.5) contrast(1.3) blur(2px); }\n\t60% { opacity: 0.7; filter: brightness(1.2) contrast(1.1) blur(1px); }\n\tto { opacity: 1; filter: brightness(1) contrast(1) blur(0); }\n}\n\n/* ── Honeycomb (hexagonal reveal) ────────────────────────────────── */\n@keyframes pptx-tr-honeycomb-in {\n\tfrom {\n\t\tclip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%);\n\t\topacity: 0;\n\t}\n\tto {\n\t\tclip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);\n\t\topacity: 1;\n\t}\n}\n@keyframes pptx-tr-honeycomb-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Pan (large-scale translate) ─────────────────────────────────── */\n@keyframes pptx-tr-pan-from-right {\n\tfrom { transform: translateX(100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n@keyframes pptx-tr-pan-from-left {\n\tfrom { transform: translateX(-100%); }\n\tto { transform: translateX(0); }\n}\n@keyframes pptx-tr-pan-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-pan-from-bottom {\n\tfrom { transform: translateY(100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-top {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(-100%); }\n}\n@keyframes pptx-tr-pan-from-top {\n\tfrom { transform: translateY(-100%); }\n\tto { transform: translateY(0); }\n}\n@keyframes pptx-tr-pan-to-bottom {\n\tfrom { transform: translateY(0); }\n\tto { transform: translateY(100%); }\n}\n\n\n/* ── Prism: see `slide-transition-prism` (split out to keep this module\n under the per-file LOC budget) ─────────────────────────────────────── */\n\n@keyframes pptx-tr-prism-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(90deg) translateX(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg) translateX(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-90deg) translateX(50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-bottom {\n\tfrom { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-top {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n}\n@keyframes pptx-tr-prism-in-from-top {\n\tfrom { transform: perspective(800px) rotateX(-90deg) translateY(-50%); opacity: 0; }\n\tto { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n}\n@keyframes pptx-tr-prism-out-to-bottom {\n\tfrom { transform: perspective(800px) rotateX(0deg) translateY(0); opacity: 1; }\n\tto { transform: perspective(800px) rotateX(90deg) translateY(50%); opacity: 0; }\n}\n\n/* ── Reveal (slide away reveal) ──────────────────────────────────── */\n@keyframes pptx-tr-reveal-out-to-right {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(100%); }\n}\n@keyframes pptx-tr-reveal-out-to-left {\n\tfrom { transform: translateX(0); }\n\tto { transform: translateX(-100%); }\n}\n/* MEASURED: the incoming layer stays hidden for roughly the first half of the\n transition (a real black/background gap shows through), then fades in -\n not a flat 0.5->1 fade running the whole duration. */\n@keyframes pptx-tr-reveal-in {\n\t0% { opacity: 0; }\n\t50% { opacity: 0; }\n\t100% { opacity: 1; }\n}\n\n/* ── Ripple (expanding ring clip-path) ───────────────────────────── */\n@keyframes pptx-tr-ripple-in {\n\tfrom { clip-path: circle(0% at 50% 50%); opacity: 0.5; }\n\t30% { clip-path: circle(20% at 50% 50%); opacity: 0.7; }\n\t60% { clip-path: circle(50% at 50% 50%); opacity: 0.9; }\n\tto { clip-path: circle(75% at 50% 50%); opacity: 1; }\n}\n\n/* ── Shred (fragmented clip-path pieces) ─────────────────────────── */\n@keyframes pptx-tr-shred-strips-in {\n\tfrom { clip-path: inset(0 100% 0 0); opacity: 0; }\n\t30% { clip-path: inset(0 60% 0 0); opacity: 0.5; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-rectangles-in {\n\tfrom { clip-path: inset(50%); opacity: 0; }\n\t40% { clip-path: inset(20%); opacity: 0.6; }\n\tto { clip-path: inset(0); opacity: 1; }\n}\n@keyframes pptx-tr-shred-out {\n\tfrom { opacity: 1; }\n\tto { opacity: 0; filter: blur(2px); }\n}\n\n/* ── Switch (flip/rotate swap) ───────────────────────────────────── */\n@keyframes pptx-tr-switch-in-from-right {\n\tfrom { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-left {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n}\n@keyframes pptx-tr-switch-in-from-left {\n\tfrom { transform: perspective(800px) rotateY(180deg); opacity: 0; }\n\tto { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n}\n@keyframes pptx-tr-switch-out-to-right {\n\tfrom { transform: perspective(800px) rotateY(0deg); opacity: 1; }\n\tto { transform: perspective(800px) rotateY(-180deg); opacity: 0; }\n}\n\n/* ── Vortex (rotate + scale spiral) ──────────────────────────────── */\n@keyframes pptx-tr-vortex-in {\n\tfrom { transform: rotate(720deg) scale(0); opacity: 0; }\n\tto { transform: rotate(0deg) scale(1); opacity: 1; }\n}\n@keyframes pptx-tr-vortex-out {\n\tfrom { transform: rotate(0deg) scale(1); opacity: 1; }\n\tto { transform: rotate(-720deg) scale(0); opacity: 0; }\n}\n\n/* ── Warp: see `slide-transition-warp` (COM-measured radial zoom blur,\n split out to keep this module under the per-file LOC budget) ────────── */\n\n@keyframes pptx-tr-warp-in {\n\t0% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(0.85); opacity: 0.7; filter: blur(3px) brightness(1.3); }\n\t100% { transform: scale(0.25); opacity: 0; filter: blur(10px) brightness(1.8); }\n}\n@keyframes pptx-tr-warp-reverse-in {\n\t0% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n}\n@keyframes pptx-tr-warp-reverse-out {\n\t0% { transform: scale(1); opacity: 1; filter: blur(0) brightness(1); }\n\t50% { transform: scale(1.7); opacity: 0.7; filter: blur(6px) brightness(1.5); }\n\t100% { transform: scale(3.2); opacity: 0; filter: blur(14px) brightness(2.2); }\n}\n\n\n/* ── WheelReverse (reverse wheel rotation) ───────────────────────── */\n@keyframes pptx-tr-wheel-reverse-in {\n\tfrom { clip-path: circle(0% at 50% 50%); transform: rotate(180deg); }\n\tto { clip-path: circle(75% at 50% 50%); transform: rotate(0deg); }\n}\n\n/* ── Window (scale from center with border) ──────────────────────────\n Same measured horz/vert meaning as Doors above (horz = horizontal split\n line opening vertically; vert = vertical split line opening horizontally). */\n@keyframes pptx-tr-window-horz {\n\tfrom { clip-path: inset(50% 0); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-vert {\n\tfrom { clip-path: inset(0 50%); }\n\tto { clip-path: inset(0 0); }\n}\n@keyframes pptx-tr-window-out {\n\tfrom { opacity: 1; transform: scale(1); }\n\tto { opacity: 0; transform: scale(0.9); }\n}\n\n\n@keyframes pptx-tr-vortex-in-left { from { transform: translateX(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-left { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(-40%) rotate(-720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-right { from { transform: translateX(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-right { from { transform: translateX(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateX(40%) rotate(720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-up { from { transform: translateY(-40%) rotate(720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-up { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(-40%) rotate(-720deg) scale(0); opacity: 0; } }\n@keyframes pptx-tr-vortex-in-down { from { transform: translateY(40%) rotate(-720deg) scale(0); opacity: 0; } to { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } }\n@keyframes pptx-tr-vortex-out-down { from { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; } to { transform: translateY(40%) rotate(720deg) scale(0); opacity: 0; } }\n\n\n@keyframes pptx-tr-ripple-in-lu { from { clip-path: circle(0% at 0% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 0%); opacity: 0.9; } to { clip-path: circle(150% at 0% 0%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-ru { from { clip-path: circle(0% at 100% 0%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 0%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 0%); opacity: 0.9; } to { clip-path: circle(150% at 100% 0%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-ld { from { clip-path: circle(0% at 0% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 0% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 0% 100%); opacity: 0.9; } to { clip-path: circle(150% at 0% 100%); opacity: 1; } }\n@keyframes pptx-tr-ripple-in-rd { from { clip-path: circle(0% at 100% 100%); opacity: 0.5; } 30% { clip-path: circle(20% at 100% 100%); opacity: 0.7; } 60% { clip-path: circle(55% at 100% 100%); opacity: 0.9; } to { clip-path: circle(150% at 100% 100%); opacity: 1; } }\n\n\n@keyframes pptx-tr-glitter-diamond-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-diamond-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0); } }\n@keyframes pptx-tr-glitter-hexagon-in-l { from { opacity: 0; transform: translateX(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-r { from { opacity: 0; transform: translateX(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateX(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateX(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-u { from { opacity: 0; transform: translateY(-6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(-2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n@keyframes pptx-tr-glitter-hexagon-in-d { from { opacity: 0; transform: translateY(6%); filter: brightness(1.5) contrast(1.3) blur(2px) hue-rotate(20deg); } 60% { opacity: 0.7; transform: translateY(2%); filter: brightness(1.2) contrast(1.1) blur(1px) hue-rotate(8deg); } to { opacity: 1; transform: translateY(0); filter: brightness(1) contrast(1) blur(0) hue-rotate(0deg); } }\n";
2973
2985
 
2974
2986
  /** A single rendered run within a paragraph. */
2975
2987
  declare interface ParagraphRun {
@@ -9650,7 +9662,12 @@ declare interface PptxSlideTransition {
9650
9662
  spokes?: number;
9651
9663
  /** Pattern type for shred transition. */
9652
9664
  pattern?: string;
9653
- /** Through-black flag for blinds/checker (OOXML `@_thruBlk`). */
9665
+ /**
9666
+ * Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
9667
+ * `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
9668
+ * off any standard transition child so an unexpected authored value still
9669
+ * round-trips.
9670
+ */
9654
9671
  thruBlk?: boolean;
9655
9672
  /** Split orientation (horz/vert) parsed from `@_orient`. */
9656
9673
  orient?: PptxSplitOrientation;
@@ -12144,7 +12161,7 @@ export declare function resolveOrientation(direction: string | undefined, orient
12144
12161
  * existing shell wiring and tests carry on working while the decision table has
12145
12162
  * only one copy left in the repo.
12146
12163
  */
12147
- export declare function resolveShortcutAction(key: string, mod: boolean, shiftKey: boolean, guard: ShortcutGuardState): MatchedShortcut;
12164
+ export declare function resolveShortcutAction(key: string, mod: boolean, shiftKey: boolean, guard: ShortcutGuardState, altKey?: boolean): MatchedShortcut;
12148
12165
 
12149
12166
  /**
12150
12167
  * Convenience wrapper that reads everything off a {@link PptxSlideTransition},
@@ -13116,6 +13133,8 @@ export declare interface ShortcutActions {
13116
13133
  cycleSelectionNext?: () => void;
13117
13134
  /** Select the previous element on the slide (Shift+Tab). */
13118
13135
  cycleSelectionPrev?: () => void;
13136
+ /** Open the Paste Special dialog (Ctrl/Cmd+Alt+V). */
13137
+ pasteSpecial?: () => void;
13119
13138
  }
13120
13139
 
13121
13140
  /** The catalog grouped by `group`, in `SHORTCUT_GROUP_LABEL_KEYS` order. */
@@ -14532,6 +14551,16 @@ declare interface TextStyle {
14532
14551
  hyperlinkHighlightClick?: boolean;
14533
14552
  /** Whether hyperlink ends a sound (`a:hlinkClick/@endSnd`). */
14534
14553
  hyperlinkEndSound?: boolean;
14554
+ /**
14555
+ * Raw `a:hlinkClick/a:extLst` child, preserved verbatim for round-trip.
14556
+ * Carries vendor extensions this engine does not interpret, most commonly
14557
+ * `ahyp:hlinkClr` (Microsoft's "hyperlink color" extension,
14558
+ * `{A12FA001-AC4F-418D-AE19-62706E023703}`), which records whether a
14559
+ * hyperlink run should paint with the theme's text colour instead of the
14560
+ * hyperlink colour. Dropping the whole `a:extLst` silently reverted such a
14561
+ * run to the default (themed) hyperlink colour on save.
14562
+ */
14563
+ hyperlinkExtensionXml?: XmlObject;
14535
14564
  /** Kumimoji (ideographic text combining) flag for vertical CJK text (`a:rPr/@kumimoji`). */
14536
14565
  kumimoji?: boolean;
14537
14566
  /** Normalize height flag (`a:rPr/@normalizeH`). */
@@ -14685,6 +14714,15 @@ declare interface TextStyle {
14685
14714
  textGlowRadius?: number;
14686
14715
  /** Text glow opacity (0-1). */
14687
14716
  textGlowOpacity?: number;
14717
+ /**
14718
+ * Original glow colour-choice XML (`a:glow`'s `a:schemeClr`/`a:srgbClr`/…
14719
+ * child), preserved verbatim so a theme colour reference round-trips
14720
+ * instead of always being re-serialized as a resolved `a:srgbClr` (which
14721
+ * cuts the glow off from theme/Recolor changes).
14722
+ */
14723
+ textGlowColorXml?: XmlObject;
14724
+ /** Theme colour slot the glow colour resolved from, when it is `a:schemeClr`. */
14725
+ textGlowColorRef?: PptxThemeColorRef;
14688
14726
  /** Text reflection enabled flag. */
14689
14727
  textReflection?: boolean;
14690
14728
  /** Text reflection blur radius in px. */
@@ -15446,6 +15484,10 @@ export declare interface UseContextMenuInput {
15446
15484
  * it hit-tests to nothing; this is what the menu falls back to.
15447
15485
  */
15448
15486
  inlineEditingElementId: Ref<string | null>;
15487
+ /** Whether the properties inspector is open; the format-object trio opens it. */
15488
+ inspectorOpen: Ref<boolean>;
15489
+ /** "Edit Text": the same effect as double-clicking the element. */
15490
+ enterInlineEdit: (id: string) => void;
15449
15491
  ops: EditorOperations;
15450
15492
  cutElement: (id: string) => void;
15451
15493
  copyElement: (id: string) => void;
@@ -15629,6 +15671,8 @@ export declare interface UseEditorKeyboardInput {
15629
15671
  copyElement: (id: string) => void;
15630
15672
  cutElement: (id: string) => void;
15631
15673
  pasteElement: () => void;
15674
+ /** Open the Paste Special dialog (Ctrl/Cmd+Alt+V). */
15675
+ onPasteSpecial: () => void;
15632
15676
  duplicateSelected: () => void;
15633
15677
  deleteSelected: () => void;
15634
15678
  goPrev: () => void;
@@ -18185,11 +18229,17 @@ declare interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
18185
18229
  * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
18186
18230
  * three Zoom kinds): whether continuing forward from the destination slide
18187
18231
  * during a live show returns to this Zoom's origin slide instead of
18188
- * advancing linearly through the deck. OOXML default is `true` when the
18189
- * attribute is present but this codebase leaves it `undefined` when the
18190
- * source XML omits it, so a round-trip never fabricates the attribute.
18191
- * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
18192
- * {@link SummaryZoomTarget.returnToParent} for the per-tile value.
18232
+ * advancing linearly through the deck. The schema declares `<xsd:attribute
18233
+ * name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
18234
+ * so an ABSENT attribute means `true`, not `false`. This codebase still
18235
+ * leaves the field `undefined` (rather than fabricating `true`) when the
18236
+ * source XML omits it, so a round-trip never invents an attribute the
18237
+ * source never had; a CONSUMER of this field (playback, e.g.
18238
+ * `pptx-viewer-shared`'s `resolveZoomNavigationTarget`) must read
18239
+ * `returnToParent !== false`, not `Boolean(returnToParent)`, to get the
18240
+ * spec-correct effective value. For `zoomType: 'summary'`, this mirrors the
18241
+ * first tile's own value; see {@link SummaryZoomTarget.returnToParent} for
18242
+ * the per-tile value.
18193
18243
  */
18194
18244
  returnToParent?: boolean;
18195
18245
  /**
package/dist/internals.js CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as a, $d as s, A as t, An as n, B as i, Bt as r, Ct as e, D as o, Dr as l, E as f, F as d, Ft as m, G as p, Hd as y, Ht as g, I as h, It as c, J as L, Jc as T, K as j, Ki as u, Kn as M, L as S, Ls as U, Lt as q, M as v, Mn as w, Mt as x, N as D, Ni as F, Nt as K, O as N, P, Pt as V, Q as W, Qr as _, R as b, Rt as z, Sa as A, Sr as B, St as E, T as H, Tn as I, Tt as J, U as O, Ud as Q, Ul as R, Ut as $, V as k, Vt as C, W as G, Wc as X, Wt as Y, X as Z, Y as aa, Z as sa, _ as ta, _a as na, _t as ia, a as ra, al as ea, at as oa, b as la, bt as fa, c as da, cn as ma, ct as pa, d as ya, do as ga, dt as ha, ea as ca, et as La, f as Ta, ff as ja, fn as ua, ft as Ma, g as Sa, gn as Ua, gt as qa, h as va, hi as wa, hl as xa, hn as Da, ht as Fa, i as Ka, if as Na, ii as Pa, it as Va, j as Wa, jn as _a, jt as ba, k as za, l as Aa, lf as Ba, ln as Ea, lt as Ha, m as Ia, mi as Ja, mn as Oa, mt as Qa, n as Ra, nt as $a, o as ka, oi as Ca, on as Ga, ot as Xa, p as Ya, pi as Za, pn as as, pt as ss, q as ts, qi as ns, qt as is, r as rs, ri as es, rt as os, s as ls, si as fs, sn as ds, sr as ms, st as ps, t as ys, tt as gs, u as hs, un as cs, ut as Ls, v as Ts, vt as js, ws as us, wt as Ms, xt as Ss, y as Us, yn as qs, yr as vs, yt as ws, z as xs, zt as Ds } from "./useViewerSettingsDialog-DKWvCzGK.js";
2
- export { ms as CINEMATIC_TRANSITION_KEYFRAMES, Ka as DEFAULT_MAX_VERSIONS, vs as DEFAULT_MORPH_DURATION_MS, n as DEFAULT_RENDERING_3D_FLAGS, B as DEFAULT_TRANSITION_DURATION_MS, l as EASE, js as ERASER_RADIUS, Qa as FragmentedTransitionLayer, ws as HIGHLIGHTER_OPACITY, fa as HIGHLIGHTER_WIDTH, _ as INSTANT, es as MOBILE_BREAKPOINT, Pa as MOBILE_LANDSCAPE_MAX_HEIGHT, ss as MorphExtraLayers, Ca as NUDGE_LARGE, fs as NUDGE_SMALL, Za as P14_TRANSITION_KEYFRAMES, Ja as P14_TRANSITION_KEYFRAMES_2, wa as P14_TRANSITION_KEYFRAMES_ALL, Ss as PEN_WIDTH, Ma as PresentationTransitionOverlay, F as RANDOM_ELIGIBLE_TYPES, ta as RIBBON_ALIGN, _a as Rendering3DFlagsKey, r as SHORTCUT_CATALOG, C as SHORTCUT_GROUP_LABEL_KEYS, u as SLIDE_TRANSITION_KEYFRAMES, ns as SLIDE_TRANSITION_KEYFRAMES_CSS, x as SMARTART_COLOR_SCHEMES, K as SMARTART_STYLE_OPTIONS, ca as TABLET_BREAKPOINT, na as TRANSITION_SPEED_DURATION_MS, Ga as TableSelectionKey, A as WHEEL_SPOKE_COUNTS, ga as buildClickGroups, ds as computeCellSelection, us as computeDocumentStatistics, Ha as computeElapsed, U as countWords, E as createStroke, e as eraseStrokesAtPoint, Ls as formatRehearseMs, X as generateCommentId, T as getCinematicTransitionAnimations, ea as getP14TransitionAnimations, xa as getSlideTransitionAnimations, g as groupShortcutCatalog, ma as injectTableSelection, as as inlineEditorRect, R as isMobileViewport, Oa as nodeIdsInRenderOrder, t as parseSignaturesFromBuffer, Ea as provideTableSelection, y as resolveDirection, Q as resolveDirection8, s as resolveOrientation, z as resolveShortcutAction, Na as resolveSlideTransition, Ba as resolveTransitionDurationMs, ja as resolveWheelSpokeCount, V as smartArtLayoutLabel, Da as textNodeIdsInRenderOrder, Ts as toShapePreset, ps as useAccessibility, Xa as useAlignGroup, J as useAnimationPlayback, oa as useAutosave, q as useChartEditing, Va as useCollaboration, os as useCollaborationWiring, I as useColorChangeImage, $a as useComments, gs as useCommentsWiring, La as useContextMenu, a as useCustomShows, W as useCustomShowsWiring, c as useDebouncedCallback, sa as useDocumentPropertiesDialog, $ as useDocumentStatistics, Z as useEditorHistory, aa as useEditorKeyboard, L as useEditorOperations, ts as useElementDrag, j as useElementInsertion, p as useEmbeddedFonts, G as useExport, O as useExportProgress, i as useExportWiring, xs as useFindReplace, b as useFontEmbedding, S as useFormatPainter, h as useHeaderFooterDialog, d as useInkDrawing, P as useInlineEditing, D as useInsertElementDialogs, Y as useIsMobile, v as useKeyboardInsets, Ds as useKeyboardShortcuts, Wa as useLoadContent, za as useMasterViewState, k as useMediaExport, N as useMobileChrome, qs as useModel3dScene, Fa as useMorphTransitionOverlay, o as useMultiSelectOps, f as usePasswordProtection, Ms as usePresentationAnnotations, H as usePresentationModeWiring, la as usePrint, ha as useRehearseTimings, w as useRendering3DFlags, Us as useRibbonActions, Ra as useRibbonProps, Sa as useRibbonUiState, va as useSectionOperations, Ia as useSelectionPaneWiring, M as useSheetDismissDrag, Ya as useSignatureWorkflow, pa as useSignatures, Ta as useSlideMutations, ya as useSlideOperations, hs as useSlideShowSettings, Aa as useSlideTemplateInsertion, ba as useSmartArtEditing, m as useSmartArtFocus, ua as useSmartArtHoverRect, Ua as useSmartArtInlineEditState, da as useSmartArtNodeEditContext, ls as useTableCellEditingContext, cs as useTableCellSelection, ka as useThemeEditing, ia as useToolbarAutoHide, is as useToolbarVisibility, qa as useTouchGestures, ra as useVersionHistory, rs as useVersionHistoryWiring, ys as useViewerSettingsDialog };
1
+ import { $ as s, A as a, An as t, As as n, B as i, Bt as r, Ct as e, D as o, Dr as f, E as l, F as m, Ft as p, G as y, H as d, Ht as g, I as h, It as T, J as c, Ji as j, K as u, Kn as v, L as x, Lt as L, M, Mn as P, Mt as b, N as q, Nt as w, O as A, P as D, Pi as F, Pt as S, Q as U, Qr as V, R as X, Rt as Y, Sr as _, St as z, T as B, Tn as E, Tt as H, U as I, Us as J, Ut as K, V as N, Vt as O, W as Q, Wt as R, X as W, Xc as k, Xd as C, Y as G, Yd as Z, Yl as $, Z as ss, _ as as, _f as ts, _t as ns, a as is, at as rs, b as es, bf as os, bt as fs, c as ls, cn as ms, ct as ps, d as ys, dl as ds, dt as gs, el as hs, f as Ts, ff as cs, fn as js, ft as us, g as vs, gn as xs, gt as Ls, h as Ms, hi as Ps, hn as bs, ho as qs, ht as ws, i as As, ii as Ds, it as Fs, j as Ss, jn as Us, jt as Vs, k as Xs, l as Ys, ln as _s, lt as zs, m as Bs, mi as Es, mn as Hs, mt as Is, n as Js, nt as Ks, o as Ns, oi as Os, on as Qs, ot as Rs, p as Ws, pi as ks, pn as Cs, pt as Gs, q as Zs, qi as $s, qt as sa, r as aa, ri as ta, rt as na, s as ia, sf as ra, si as ea, sn as oa, sr as fa, st as la, t as ma, ta as pa, tt as ya, u as da, un as ga, ut as ha, v as Ta, va as ca, vt as ja, wa as ua, wt as va, xl as xa, xt as La, y as Ma, yn as Pa, yr as ba, yt as qa, z as wa, zt as Aa } from "./useViewerSettingsDialog-6eo06L3R.js";
2
+ export { fa as CINEMATIC_TRANSITION_KEYFRAMES, As as DEFAULT_MAX_VERSIONS, ba as DEFAULT_MORPH_DURATION_MS, t as DEFAULT_RENDERING_3D_FLAGS, _ as DEFAULT_TRANSITION_DURATION_MS, f as EASE, ja as ERASER_RADIUS, Is as FragmentedTransitionLayer, qa as HIGHLIGHTER_OPACITY, fs as HIGHLIGHTER_WIDTH, V as INSTANT, ta as MOBILE_BREAKPOINT, Ds as MOBILE_LANDSCAPE_MAX_HEIGHT, Gs as MorphExtraLayers, Os as NUDGE_LARGE, ea as NUDGE_SMALL, ks as P14_TRANSITION_KEYFRAMES, Es as P14_TRANSITION_KEYFRAMES_2, Ps as P14_TRANSITION_KEYFRAMES_ALL, La as PEN_WIDTH, us as PresentationTransitionOverlay, F as RANDOM_ELIGIBLE_TYPES, as as RIBBON_ALIGN, Us as Rendering3DFlagsKey, r as SHORTCUT_CATALOG, O as SHORTCUT_GROUP_LABEL_KEYS, $s as SLIDE_TRANSITION_KEYFRAMES, j as SLIDE_TRANSITION_KEYFRAMES_CSS, b as SMARTART_COLOR_SCHEMES, w as SMARTART_STYLE_OPTIONS, pa as TABLET_BREAKPOINT, ca as TRANSITION_SPEED_DURATION_MS, Qs as TableSelectionKey, ua as WHEEL_SPOKE_COUNTS, qs as buildClickGroups, oa as computeCellSelection, n as computeDocumentStatistics, zs as computeElapsed, J as countWords, z as createStroke, e as eraseStrokesAtPoint, ha as formatRehearseMs, k as generateCommentId, hs as getCinematicTransitionAnimations, ds as getP14TransitionAnimations, xa as getSlideTransitionAnimations, g as groupShortcutCatalog, ms as injectTableSelection, Cs as inlineEditorRect, $ as isMobileViewport, Hs as nodeIdsInRenderOrder, a as parseSignaturesFromBuffer, _s as provideTableSelection, Z as resolveDirection, C as resolveDirection8, ra as resolveOrientation, Y as resolveShortcutAction, cs as resolveSlideTransition, ts as resolveTransitionDurationMs, os as resolveWheelSpokeCount, S as smartArtLayoutLabel, bs as textNodeIdsInRenderOrder, Ta as toShapePreset, la as useAccessibility, Rs as useAlignGroup, H as useAnimationPlayback, rs as useAutosave, L as useChartEditing, Fs as useCollaboration, na as useCollaborationWiring, E as useColorChangeImage, Ks as useComments, ya as useCommentsWiring, s as useContextMenu, U as useCustomShows, ss as useCustomShowsWiring, T as useDebouncedCallback, W as useDocumentPropertiesDialog, K as useDocumentStatistics, G as useEditorHistory, c as useEditorKeyboard, Zs as useEditorOperations, u as useElementDrag, y as useElementInsertion, Q as useEmbeddedFonts, I as useExport, d as useExportProgress, i as useExportWiring, wa as useFindReplace, X as useFontEmbedding, x as useFormatPainter, h as useHeaderFooterDialog, m as useInkDrawing, D as useInlineEditing, q as useInsertElementDialogs, R as useIsMobile, M as useKeyboardInsets, Aa as useKeyboardShortcuts, Ss as useLoadContent, Xs as useMasterViewState, N as useMediaExport, A as useMobileChrome, Pa as useModel3dScene, ws as useMorphTransitionOverlay, o as useMultiSelectOps, l as usePasswordProtection, va as usePresentationAnnotations, B as usePresentationModeWiring, es as usePrint, gs as useRehearseTimings, P as useRendering3DFlags, Ma as useRibbonActions, Js as useRibbonProps, vs as useRibbonUiState, Ms as useSectionOperations, Bs as useSelectionPaneWiring, v as useSheetDismissDrag, Ws as useSignatureWorkflow, ps as useSignatures, Ts as useSlideMutations, ys as useSlideOperations, da as useSlideShowSettings, Ys as useSlideTemplateInsertion, Vs as useSmartArtEditing, p as useSmartArtFocus, js as useSmartArtHoverRect, xs as useSmartArtInlineEditState, ls as useSmartArtNodeEditContext, ia as useTableCellEditingContext, ga as useTableCellSelection, Ns as useThemeEditing, ns as useToolbarAutoHide, sa as useToolbarVisibility, Ls as useTouchGestures, is as useVersionHistory, aa as useVersionHistoryWiring, ma as useViewerSettingsDialog };
Binary file
Binary file