pptx-vue-viewer 4.3.0 → 4.5.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 +142 -0
  2. package/dist/{AiChatPanel-U3EFn2Ng.js → AiChatPanel-C3ESiOhR.js} +2 -2
  3. package/dist/AiChatPanel-C3ESiOhR.js.br +0 -0
  4. package/dist/AiChatPanel-C3ESiOhR.js.gz +0 -0
  5. package/dist/{AiChatPanel-BIJ-bHQj.cjs → AiChatPanel-D0CdZo3r.cjs} +1 -1
  6. package/dist/AiChatPanel-D0CdZo3r.cjs.br +0 -0
  7. package/dist/AiChatPanel-D0CdZo3r.cjs.gz +0 -0
  8. package/dist/{dist-BV_7SUio.js → dist-AmYzTQzk.js} +19034 -18638
  9. package/dist/dist-AmYzTQzk.js.br +0 -0
  10. package/dist/dist-AmYzTQzk.js.gz +0 -0
  11. package/dist/{dist-0XJeILOd.cjs → dist-Bo-J1QzM.cjs} +19260 -18854
  12. package/dist/dist-Bo-J1QzM.cjs.br +0 -0
  13. package/dist/dist-Bo-J1QzM.cjs.gz +0 -0
  14. package/dist/gif-encoder-BvGs54nm.cjs +2 -0
  15. package/dist/gif-encoder-BvGs54nm.cjs.br +0 -0
  16. package/dist/gif-encoder-BvGs54nm.cjs.gz +0 -0
  17. package/dist/gif-encoder-CtHMXqIj.js +2 -0
  18. package/dist/gif-encoder-CtHMXqIj.js.br +0 -0
  19. package/dist/gif-encoder-CtHMXqIj.js.gz +0 -0
  20. package/dist/i18n/de.cjs +33 -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 +33 -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 +33 -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 +33 -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 +33 -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 +33 -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 +33 -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 +33 -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-CDuAZ9uT.js} +33 -0
  45. package/dist/i18n-CDuAZ9uT.js.br +0 -0
  46. package/dist/i18n-CDuAZ9uT.js.gz +0 -0
  47. package/dist/{i18n-C5PLnqCs.cjs → i18n-DPsrnKK_.cjs} +33 -0
  48. package/dist/i18n-DPsrnKK_.cjs.br +0 -0
  49. package/dist/i18n-DPsrnKK_.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 +90 -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 +114 -10
  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-D3fF9v6l.js} +10081 -9375
  74. package/dist/useViewerSettingsDialog-D3fF9v6l.js.br +0 -0
  75. package/dist/useViewerSettingsDialog-D3fF9v6l.js.gz +0 -0
  76. package/dist/{useViewerSettingsDialog-BYMmaXqc.cjs → useViewerSettingsDialog-DG9s22Hd.cjs} +10171 -9400
  77. package/dist/useViewerSettingsDialog-DG9s22Hd.cjs.br +0 -0
  78. package/dist/useViewerSettingsDialog-DG9s22Hd.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 +91 -7
  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-D4jitSRB.cjs → viewer-BrnxTiWa.cjs} +4006 -3530
  87. package/dist/viewer-BrnxTiWa.cjs.br +0 -0
  88. package/dist/viewer-BrnxTiWa.cjs.gz +0 -0
  89. package/dist/{viewer-CDKF3LoJ.js → viewer-DK5UNDHj.js} +11507 -11031
  90. package/dist/viewer-DK5UNDHj.js.br +0 -0
  91. package/dist/viewer-DK5UNDHj.js.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
@@ -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`. */
@@ -1090,6 +1102,12 @@ declare interface ContextMenuItem {
1090
1102
  disabled?: boolean;
1091
1103
  /** When true the entry renders as a divider instead of a button. */
1092
1104
  separator?: boolean;
1105
+ /**
1106
+ * A checkbox-style toggle (Grid and Guides, Ruler) in this state, rather
1107
+ * than a one-shot command. Omitted for ordinary commands, which keep
1108
+ * `role="menuitem"`.
1109
+ */
1110
+ checked?: boolean;
1093
1111
  }
1094
1112
 
1095
1113
  /** Reactive open/position/target state for the element context menu. */
@@ -1458,7 +1476,7 @@ export declare interface EditorHistoryResult {
1458
1476
  }
1459
1477
 
1460
1478
  /** 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';
1479
+ 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
1480
 
1463
1481
  export declare interface EditorOperations {
1464
1482
  /** Resolved active slide (or `undefined` when the index is out of range). */
@@ -2969,7 +2987,7 @@ export declare const P14_TRANSITION_KEYFRAMES = "\n/* ── Conveyor (translate
2969
2987
  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
2988
 
2971
2989
  /** 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";
2990
+ 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
2991
 
2974
2992
  /** A single rendered run within a paragraph. */
2975
2993
  declare interface ParagraphRun {
@@ -4501,6 +4519,18 @@ declare interface PptxChartData {
4501
4519
  * the source" and callers should treat it as `true`. Surface only.
4502
4520
  */
4503
4521
  wireframe?: boolean;
4522
+ /**
4523
+ * Whether the surface chart is the 2-D "top view" projection
4524
+ * (`c:surfaceChart`, PowerPoint's "Contour" / "Wireframe Contour" types)
4525
+ * rather than the 3-D isometric one (`c:surface3DChart`, "3-D Surface" /
4526
+ * "3-D Surface (Wireframe)"). Both element names map to chart type
4527
+ * `"surface"`; this bit is the only thing that tells the renderer which
4528
+ * of the two projections PowerPoint actually drew, since a top-view
4529
+ * surface has no Z-axis at all (only category and series axes) while the
4530
+ * 3-D one draws all three. Surface only; `undefined` for every other
4531
+ * chart type.
4532
+ */
4533
+ surfaceTopView?: boolean;
4504
4534
  /**
4505
4535
  * Scatter presentation mode (`c:scatterChart/c:scatterStyle/@val`).
4506
4536
  *
@@ -5061,6 +5091,15 @@ declare interface PptxChartHistogramOptions {
5061
5091
  intervalClosed?: 'l' | 'r';
5062
5092
  underflow?: number | 'auto';
5063
5093
  overflow?: number | 'auto';
5094
+ /**
5095
+ * `c:layoutPr/cx:aggregation` was authored instead of `cx:binning`: the
5096
+ * raw rows are CATEGORICAL (a Pareto chart's `clusteredColumn` series
5097
+ * counting occurrences of each authored category, COM-verified against
5098
+ * charts-com.pptx slide 31 / chartEx6.xml), not a numeric range to bin.
5099
+ * Mutually exclusive with `binSize`/`binCount`/`intervalClosed`, which
5100
+ * only apply to a true numeric-value histogram.
5101
+ */
5102
+ aggregateByCategory?: boolean;
5064
5103
  }
5065
5104
 
5066
5105
  /**
@@ -9650,7 +9689,12 @@ declare interface PptxSlideTransition {
9650
9689
  spokes?: number;
9651
9690
  /** Pattern type for shred transition. */
9652
9691
  pattern?: string;
9653
- /** Through-black flag for blinds/checker (OOXML `@_thruBlk`). */
9692
+ /**
9693
+ * Through-black flag (OOXML `@_thruBlk`). COM-verified to actually apply to
9694
+ * `cut` and `fade` (see {@link TRANSITION_THRUBLK_TYPES}); parsed generically
9695
+ * off any standard transition child so an unexpected authored value still
9696
+ * round-trips.
9697
+ */
9654
9698
  thruBlk?: boolean;
9655
9699
  /** Split orientation (horz/vert) parsed from `@_orient`. */
9656
9700
  orient?: PptxSplitOrientation;
@@ -11973,7 +12017,7 @@ declare interface ReflectionWrapperStyle {
11973
12017
  top: string;
11974
12018
  width: string;
11975
12019
  height: string;
11976
- /** Mirror (`scaleY(-1)`) composed with `@sx`/`@sy`/`@kx`/`@ky`/`@rot`. */
12020
+ /** `scale(@sx, @sy)` (the sign of `@sy` IS the mirror) composed with `@kx`/`@ky`/`@rot`. */
11977
12021
  transform: string;
11978
12022
  /** Anchor point for the transform above, from `@algn` (default `center top`). */
11979
12023
  transformOrigin: string;
@@ -12144,7 +12188,7 @@ export declare function resolveOrientation(direction: string | undefined, orient
12144
12188
  * existing shell wiring and tests carry on working while the decision table has
12145
12189
  * only one copy left in the repo.
12146
12190
  */
12147
- export declare function resolveShortcutAction(key: string, mod: boolean, shiftKey: boolean, guard: ShortcutGuardState): MatchedShortcut;
12191
+ export declare function resolveShortcutAction(key: string, mod: boolean, shiftKey: boolean, guard: ShortcutGuardState, altKey?: boolean): MatchedShortcut;
12148
12192
 
12149
12193
  /**
12150
12194
  * Convenience wrapper that reads everything off a {@link PptxSlideTransition},
@@ -13116,6 +13160,8 @@ export declare interface ShortcutActions {
13116
13160
  cycleSelectionNext?: () => void;
13117
13161
  /** Select the previous element on the slide (Shift+Tab). */
13118
13162
  cycleSelectionPrev?: () => void;
13163
+ /** Open the Paste Special dialog (Ctrl/Cmd+Alt+V). */
13164
+ pasteSpecial?: () => void;
13119
13165
  }
13120
13166
 
13121
13167
  /** The catalog grouped by `group`, in `SHORTCUT_GROUP_LABEL_KEYS` order. */
@@ -14532,6 +14578,16 @@ declare interface TextStyle {
14532
14578
  hyperlinkHighlightClick?: boolean;
14533
14579
  /** Whether hyperlink ends a sound (`a:hlinkClick/@endSnd`). */
14534
14580
  hyperlinkEndSound?: boolean;
14581
+ /**
14582
+ * Raw `a:hlinkClick/a:extLst` child, preserved verbatim for round-trip.
14583
+ * Carries vendor extensions this engine does not interpret, most commonly
14584
+ * `ahyp:hlinkClr` (Microsoft's "hyperlink color" extension,
14585
+ * `{A12FA001-AC4F-418D-AE19-62706E023703}`), which records whether a
14586
+ * hyperlink run should paint with the theme's text colour instead of the
14587
+ * hyperlink colour. Dropping the whole `a:extLst` silently reverted such a
14588
+ * run to the default (themed) hyperlink colour on save.
14589
+ */
14590
+ hyperlinkExtensionXml?: XmlObject;
14535
14591
  /** Kumimoji (ideographic text combining) flag for vertical CJK text (`a:rPr/@kumimoji`). */
14536
14592
  kumimoji?: boolean;
14537
14593
  /** Normalize height flag (`a:rPr/@normalizeH`). */
@@ -14634,6 +14690,15 @@ declare interface TextStyle {
14634
14690
  textInnerShadowOffsetX?: number;
14635
14691
  /** Text inner shadow vertical offset in px. */
14636
14692
  textInnerShadowOffsetY?: number;
14693
+ /**
14694
+ * Original inner-shadow colour-choice XML (`a:innerShdw`'s
14695
+ * `a:prstClr`/`a:schemeClr`/`a:srgbClr`/… child), preserved verbatim so an
14696
+ * authored preset or theme colour round-trips instead of always being
14697
+ * re-serialized as a resolved `a:srgbClr`. Mirrors {@link textGlowColorXml}.
14698
+ */
14699
+ textInnerShadowColorXml?: XmlObject;
14700
+ /** Theme colour slot the inner shadow colour resolved from, when it is `a:schemeClr`. */
14701
+ textInnerShadowColorRef?: PptxThemeColorRef;
14637
14702
  /** Preset shadow type from `a:prstShdw/@prst` (e.g. "shdw1"..."shdw20"). */
14638
14703
  textPresetShadowName?: string;
14639
14704
  /** Preset shadow colour as hex string. */
@@ -14646,6 +14711,18 @@ declare interface TextStyle {
14646
14711
  textPresetShadowDirection?: number;
14647
14712
  /** Text blur effect radius in px (`a:blur`). */
14648
14713
  textBlurRadius?: number;
14714
+ /**
14715
+ * Text soft-edge radius in px (`a:softEdge/@rad`).
14716
+ *
14717
+ * Feathers the glyph's own edges (a uniform blur of the alpha silhouette,
14718
+ * the same effect a shape's `a:softEdge` gives its fill), unrelated to
14719
+ * `a:blur` (which blurs the whole run, colour included) or a shadow. Never
14720
+ * parsed before this field existed, so `a:softEdge` on a run was silently
14721
+ * dropped: PowerPoint fades the glyphs to near-transparent at their
14722
+ * outline (COM-verified, `audit-text` slide 14's "SOFTEDGE" run), while
14723
+ * the viewer painted them fully crisp.
14724
+ */
14725
+ textSoftEdgeRadius?: number;
14649
14726
  /**
14650
14727
  * Raw `a:effectDag` XML node from `a:rPr`, preserved verbatim for
14651
14728
  * round-trip serialisation. Mirrors the shape-level
@@ -14685,6 +14762,15 @@ declare interface TextStyle {
14685
14762
  textGlowRadius?: number;
14686
14763
  /** Text glow opacity (0-1). */
14687
14764
  textGlowOpacity?: number;
14765
+ /**
14766
+ * Original glow colour-choice XML (`a:glow`'s `a:schemeClr`/`a:srgbClr`/…
14767
+ * child), preserved verbatim so a theme colour reference round-trips
14768
+ * instead of always being re-serialized as a resolved `a:srgbClr` (which
14769
+ * cuts the glow off from theme/Recolor changes).
14770
+ */
14771
+ textGlowColorXml?: XmlObject;
14772
+ /** Theme colour slot the glow colour resolved from, when it is `a:schemeClr`. */
14773
+ textGlowColorRef?: PptxThemeColorRef;
14688
14774
  /** Text reflection enabled flag. */
14689
14775
  textReflection?: boolean;
14690
14776
  /** Text reflection blur radius in px. */
@@ -15446,6 +15532,10 @@ export declare interface UseContextMenuInput {
15446
15532
  * it hit-tests to nothing; this is what the menu falls back to.
15447
15533
  */
15448
15534
  inlineEditingElementId: Ref<string | null>;
15535
+ /** Whether the properties inspector is open; the format-object trio opens it. */
15536
+ inspectorOpen: Ref<boolean>;
15537
+ /** "Edit Text": the same effect as double-clicking the element. */
15538
+ enterInlineEdit: (id: string) => void;
15449
15539
  ops: EditorOperations;
15450
15540
  cutElement: (id: string) => void;
15451
15541
  copyElement: (id: string) => void;
@@ -15461,6 +15551,12 @@ export declare interface UseContextMenuInput {
15461
15551
  onAskAi?: () => void;
15462
15552
  /** Open the AI panel with a prefilled "fix this element" directive (not sent). */
15463
15553
  onFixAi?: () => void;
15554
+ /**
15555
+ * Right-click landed on empty canvas (no interactive element under the
15556
+ * cursor). Wired to `useCanvasContextMenu`'s opener; when omitted the
15557
+ * click is left unhandled (browser's own menu), matching the old behaviour.
15558
+ */
15559
+ onEmptyCanvasContextMenu?: (x: number, y: number) => void;
15464
15560
  }
15465
15561
 
15466
15562
  export declare interface UseContextMenuResult {
@@ -15629,6 +15725,8 @@ export declare interface UseEditorKeyboardInput {
15629
15725
  copyElement: (id: string) => void;
15630
15726
  cutElement: (id: string) => void;
15631
15727
  pasteElement: () => void;
15728
+ /** Open the Paste Special dialog (Ctrl/Cmd+Alt+V). */
15729
+ onPasteSpecial: () => void;
15632
15730
  duplicateSelected: () => void;
15633
15731
  deleteSelected: () => void;
15634
15732
  goPrev: () => void;
@@ -18185,11 +18283,17 @@ declare interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
18185
18283
  * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
18186
18284
  * three Zoom kinds): whether continuing forward from the destination slide
18187
18285
  * 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.
18286
+ * advancing linearly through the deck. The schema declares `<xsd:attribute
18287
+ * name="returnToParent" type="xsd:boolean" use="optional" default="true"/>`,
18288
+ * so an ABSENT attribute means `true`, not `false`. This codebase still
18289
+ * leaves the field `undefined` (rather than fabricating `true`) when the
18290
+ * source XML omits it, so a round-trip never invents an attribute the
18291
+ * source never had; a CONSUMER of this field (playback, e.g.
18292
+ * `pptx-viewer-shared`'s `resolveZoomNavigationTarget`) must read
18293
+ * `returnToParent !== false`, not `Boolean(returnToParent)`, to get the
18294
+ * spec-correct effective value. For `zoomType: 'summary'`, this mirrors the
18295
+ * first tile's own value; see {@link SummaryZoomTarget.returnToParent} for
18296
+ * the per-tile value.
18193
18297
  */
18194
18298
  returnToParent?: boolean;
18195
18299
  /**
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 a, $d as s, A as t, An as n, B as i, Bt as r, Cl as e, Ct as o, D as f, Dr as l, E as p, F as g, Ft as m, G as y, Gs as T, H as d, Ht as h, I as M, It as c, J as j, Ji as u, K as v, Kn as L, L as P, Lt as S, M as q, Mn as w, Ms as x, Mt as D, N as F, Nt as Q, O as V, P as _, Pi as b, Pt as z, Q as A, Qc as B, Qr as C, R as E, Rt as G, Sf as H, Sr as I, St as J, T as K, Tf as N, Tn as O, Tt as R, U, Ut as W, V as Z, Vt as $, W as k, Wt as X, X as Y, Y as aa, Z as sa, Zl as ta, _ as na, _f as ia, _t as ra, a as ea, at as oa, b as fa, bt as la, c as pa, cn as ga, ct as ma, d as ya, df as Ta, dt as da, ef as ha, f as Ma, fn as ca, ft as ja, g as ua, gn as va, go as La, gt as Pa, h as Sa, hi as qa, hn as wa, ht as xa, i as Da, ii as Fa, it as Qa, j as Va, jn as _a, jt as ba, k as za, l as Aa, ln as Ba, lt as Ca, m as Ea, mi as Ga, mn as Ha, mt as Ia, n as Ja, nl as Ka, nt as Na, o as Oa, oi as Ra, on as Ua, ot as Wa, p as Za, pi as $a, pl as ka, pn as Xa, pt as Ya, q as as, qi as ss, qt as ts, r as ns, ri as is, rt as rs, s as es, si as os, sn as fs, sr as ls, st as ps, t as gs, ta as ms, tt as ys, u as Ts, un as ds, ut as hs, v as Ms, va as cs, vt as js, wa as us, wt as vs, xt as Ls, y as Ps, yn as Ss, yr as qs, yt as ws, z as xs, zt as Ds } from "./useViewerSettingsDialog-D3fF9v6l.js";
2
+ export { ls as CINEMATIC_TRANSITION_KEYFRAMES, Da as DEFAULT_MAX_VERSIONS, qs as DEFAULT_MORPH_DURATION_MS, n as DEFAULT_RENDERING_3D_FLAGS, I as DEFAULT_TRANSITION_DURATION_MS, l as EASE, js as ERASER_RADIUS, Ia as FragmentedTransitionLayer, ws as HIGHLIGHTER_OPACITY, la as HIGHLIGHTER_WIDTH, C as INSTANT, is as MOBILE_BREAKPOINT, Fa as MOBILE_LANDSCAPE_MAX_HEIGHT, Ya as MorphExtraLayers, Ra as NUDGE_LARGE, os as NUDGE_SMALL, $a as P14_TRANSITION_KEYFRAMES, Ga as P14_TRANSITION_KEYFRAMES_2, qa as P14_TRANSITION_KEYFRAMES_ALL, Ls as PEN_WIDTH, ja as PresentationTransitionOverlay, b as RANDOM_ELIGIBLE_TYPES, na as RIBBON_ALIGN, _a as Rendering3DFlagsKey, r as SHORTCUT_CATALOG, $ as SHORTCUT_GROUP_LABEL_KEYS, ss as SLIDE_TRANSITION_KEYFRAMES, u as SLIDE_TRANSITION_KEYFRAMES_CSS, D as SMARTART_COLOR_SCHEMES, Q as SMARTART_STYLE_OPTIONS, ms as TABLET_BREAKPOINT, cs as TRANSITION_SPEED_DURATION_MS, Ua as TableSelectionKey, us as WHEEL_SPOKE_COUNTS, La as buildClickGroups, fs as computeCellSelection, x as computeDocumentStatistics, Ca as computeElapsed, T as countWords, J as createStroke, o as eraseStrokesAtPoint, hs as formatRehearseMs, B as generateCommentId, Ka as getCinematicTransitionAnimations, ka as getP14TransitionAnimations, e as getSlideTransitionAnimations, h as groupShortcutCatalog, ga as injectTableSelection, Xa as inlineEditorRect, ta as isMobileViewport, Ha as nodeIdsInRenderOrder, t as parseSignaturesFromBuffer, Ba as provideTableSelection, s as resolveDirection, ha as resolveDirection8, Ta as resolveOrientation, G as resolveShortcutAction, ia as resolveSlideTransition, H as resolveTransitionDurationMs, N as resolveWheelSpokeCount, z as smartArtLayoutLabel, wa as textNodeIdsInRenderOrder, Ms as toShapePreset, ps as useAccessibility, Wa as useAlignGroup, R as useAnimationPlayback, oa as useAutosave, S as useChartEditing, Qa as useCollaboration, rs as useCollaborationWiring, O as useColorChangeImage, Na as useComments, ys as useCommentsWiring, a as useContextMenu, A as useCustomShows, sa as useCustomShowsWiring, c as useDebouncedCallback, Y as useDocumentPropertiesDialog, W as useDocumentStatistics, aa as useEditorHistory, j as useEditorKeyboard, as as useEditorOperations, v as useElementDrag, y as useElementInsertion, k as useEmbeddedFonts, U as useExport, d as useExportProgress, i as useExportWiring, xs as useFindReplace, E as useFontEmbedding, P as useFormatPainter, M as useHeaderFooterDialog, g as useInkDrawing, _ as useInlineEditing, F as useInsertElementDialogs, X as useIsMobile, q as useKeyboardInsets, Ds as useKeyboardShortcuts, Va as useLoadContent, za as useMasterViewState, Z as useMediaExport, V as useMobileChrome, Ss as useModel3dScene, xa as useMorphTransitionOverlay, f as useMultiSelectOps, p as usePasswordProtection, vs as usePresentationAnnotations, K as usePresentationModeWiring, fa as usePrint, da as useRehearseTimings, w as useRendering3DFlags, Ps as useRibbonActions, Ja as useRibbonProps, ua as useRibbonUiState, Sa as useSectionOperations, Ea as useSelectionPaneWiring, L as useSheetDismissDrag, Za as useSignatureWorkflow, ma as useSignatures, Ma as useSlideMutations, ya as useSlideOperations, Ts as useSlideShowSettings, Aa as useSlideTemplateInsertion, ba as useSmartArtEditing, m as useSmartArtFocus, ca as useSmartArtHoverRect, va as useSmartArtInlineEditState, pa as useSmartArtNodeEditContext, es as useTableCellEditingContext, ds as useTableCellSelection, Oa as useThemeEditing, ra as useToolbarAutoHide, ts as useToolbarVisibility, Pa as useTouchGestures, ea as useVersionHistory, ns as useVersionHistoryWiring, gs as useViewerSettingsDialog };
Binary file
Binary file