pptx-react-viewer 1.15.0 → 1.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{Model3DScene-EF72C34A.mjs → Model3DScene-DDKQ372V.mjs} +2 -2
  3. package/dist/Model3DScene-DDKQ372V.mjs.br +0 -0
  4. package/dist/Model3DScene-DDKQ372V.mjs.gz +0 -0
  5. package/dist/{Model3DScene-QIE7QZ7M.js → Model3DScene-UBHBPNJ2.js} +3 -3
  6. package/dist/{Model3DScene-QIE7QZ7M.js.br → Model3DScene-UBHBPNJ2.js.br} +0 -0
  7. package/dist/Model3DScene-UBHBPNJ2.js.gz +0 -0
  8. package/dist/{SurfaceChart3DScene-CBUOCCEN.js → SurfaceChart3DScene-MNFDDCYS.js} +3 -3
  9. package/dist/SurfaceChart3DScene-MNFDDCYS.js.br +0 -0
  10. package/dist/SurfaceChart3DScene-MNFDDCYS.js.gz +0 -0
  11. package/dist/{SurfaceChart3DScene-JYCQ2DBR.mjs → SurfaceChart3DScene-VSUUH2MX.mjs} +2 -2
  12. package/dist/{SurfaceChart3DScene-JYCQ2DBR.mjs.br → SurfaceChart3DScene-VSUUH2MX.mjs.br} +0 -0
  13. package/dist/SurfaceChart3DScene-VSUUH2MX.mjs.gz +0 -0
  14. package/dist/{chunk-BZVYWFHS.js → chunk-4LRPKUP7.js} +449 -456
  15. package/dist/chunk-4LRPKUP7.js.br +0 -0
  16. package/dist/chunk-4LRPKUP7.js.gz +0 -0
  17. package/dist/{chunk-QFRXMAFR.mjs → chunk-AJPW5FS7.mjs} +171 -1
  18. package/dist/chunk-AJPW5FS7.mjs.br +0 -0
  19. package/dist/chunk-AJPW5FS7.mjs.gz +0 -0
  20. package/dist/{chunk-FQXZZBFJ.js → chunk-TLGPM7SI.js} +247 -53
  21. package/dist/chunk-TLGPM7SI.js.br +0 -0
  22. package/dist/chunk-TLGPM7SI.js.gz +0 -0
  23. package/dist/{chunk-OBLHB72P.js → chunk-VMQLQEGG.js} +172 -0
  24. package/dist/chunk-VMQLQEGG.js.br +0 -0
  25. package/dist/chunk-VMQLQEGG.js.gz +0 -0
  26. package/dist/{chunk-POP5TS5L.mjs → chunk-XOSQDCHZ.mjs} +35 -42
  27. package/dist/chunk-XOSQDCHZ.mjs.br +0 -0
  28. package/dist/chunk-XOSQDCHZ.mjs.gz +0 -0
  29. package/dist/{chunk-FHOZRWAD.mjs → chunk-YARAQWA4.mjs} +222 -28
  30. package/dist/chunk-YARAQWA4.mjs.br +0 -0
  31. package/dist/chunk-YARAQWA4.mjs.gz +0 -0
  32. package/dist/{chunk-ZDV7QRGB.js → chunk-YQHPV3VP.js} +825 -831
  33. package/dist/chunk-YQHPV3VP.js.br +0 -0
  34. package/dist/chunk-YQHPV3VP.js.gz +0 -0
  35. package/dist/{chunk-X2UMJTCM.mjs → chunk-YW23L4KK.mjs} +7 -13
  36. package/dist/chunk-YW23L4KK.mjs.br +0 -0
  37. package/dist/chunk-YW23L4KK.mjs.gz +0 -0
  38. package/dist/{dist-MVSQ6PWP.js → dist-55M4L5OI.js} +513 -505
  39. package/dist/dist-55M4L5OI.js.br +0 -0
  40. package/dist/dist-55M4L5OI.js.gz +0 -0
  41. package/dist/dist-C5CVVTDM.mjs +2 -0
  42. package/dist/dist-C5CVVTDM.mjs.br +0 -0
  43. package/dist/dist-C5CVVTDM.mjs.gz +0 -0
  44. package/dist/hooks-unstable.js +74 -74
  45. package/dist/hooks-unstable.js.br +0 -0
  46. package/dist/hooks-unstable.js.gz +0 -0
  47. package/dist/hooks-unstable.mjs +3 -3
  48. package/dist/hooks-unstable.mjs.br +0 -0
  49. package/dist/hooks-unstable.mjs.gz +0 -0
  50. package/dist/index.js +18 -18
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +4 -4
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/viewer/index.js +19 -19
  57. package/dist/viewer/index.js.br +0 -0
  58. package/dist/viewer/index.js.gz +0 -0
  59. package/dist/viewer/index.mjs +4 -4
  60. package/dist/viewer/index.mjs.br +0 -0
  61. package/dist/viewer/index.mjs.gz +0 -0
  62. package/package.json +1 -1
  63. package/dist/Model3DScene-EF72C34A.mjs.br +0 -0
  64. package/dist/Model3DScene-EF72C34A.mjs.gz +0 -0
  65. package/dist/Model3DScene-QIE7QZ7M.js.gz +0 -0
  66. package/dist/SurfaceChart3DScene-CBUOCCEN.js.br +0 -0
  67. package/dist/SurfaceChart3DScene-CBUOCCEN.js.gz +0 -0
  68. package/dist/SurfaceChart3DScene-JYCQ2DBR.mjs.gz +0 -0
  69. package/dist/chunk-BZVYWFHS.js.br +0 -0
  70. package/dist/chunk-BZVYWFHS.js.gz +0 -0
  71. package/dist/chunk-FHOZRWAD.mjs.br +0 -0
  72. package/dist/chunk-FHOZRWAD.mjs.gz +0 -0
  73. package/dist/chunk-FQXZZBFJ.js.br +0 -0
  74. package/dist/chunk-FQXZZBFJ.js.gz +0 -0
  75. package/dist/chunk-OBLHB72P.js.br +0 -0
  76. package/dist/chunk-OBLHB72P.js.gz +0 -0
  77. package/dist/chunk-POP5TS5L.mjs.br +0 -0
  78. package/dist/chunk-POP5TS5L.mjs.gz +0 -0
  79. package/dist/chunk-QFRXMAFR.mjs.br +0 -0
  80. package/dist/chunk-QFRXMAFR.mjs.gz +0 -0
  81. package/dist/chunk-X2UMJTCM.mjs.br +0 -0
  82. package/dist/chunk-X2UMJTCM.mjs.gz +0 -0
  83. package/dist/chunk-ZDV7QRGB.js.br +0 -0
  84. package/dist/chunk-ZDV7QRGB.js.gz +0 -0
  85. package/dist/dist-D5LQ7PW7.mjs +0 -2
  86. package/dist/dist-D5LQ7PW7.mjs.br +0 -0
  87. package/dist/dist-D5LQ7PW7.mjs.gz +0 -0
  88. package/dist/dist-MVSQ6PWP.js.br +0 -0
  89. package/dist/dist-MVSQ6PWP.js.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOBLHB72P_js = require('./chunk-OBLHB72P.js');
3
+ var chunkVMQLQEGG_js = require('./chunk-VMQLQEGG.js');
4
4
  var DOMPurify = require('dompurify');
5
5
 
6
6
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -222,7 +222,7 @@ function buildInitialGuides(presentationGuides, firstSlideGuides) {
222
222
  guides.push({
223
223
  id: g.id,
224
224
  axis: g.orientation === "horz" ? "h" : "v",
225
- position: chunkOBLHB72P_js.guideEmuToPx(g.positionEmu)
225
+ position: chunkVMQLQEGG_js.guideEmuToPx(g.positionEmu)
226
226
  });
227
227
  }
228
228
  }
@@ -231,7 +231,7 @@ function buildInitialGuides(presentationGuides, firstSlideGuides) {
231
231
  guides.push({
232
232
  id: g.id,
233
233
  axis: g.orientation === "horz" ? "h" : "v",
234
- position: chunkOBLHB72P_js.guideEmuToPx(g.positionEmu)
234
+ position: chunkVMQLQEGG_js.guideEmuToPx(g.positionEmu)
235
235
  });
236
236
  }
237
237
  }
@@ -244,23 +244,23 @@ function getResolvedShapeClipPathFor(shapeType, width, height, adjustments) {
244
244
  return void 0;
245
245
  }
246
246
  if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) {
247
- return chunkOBLHB72P_js.getShapeClipPath(shapeType);
247
+ return chunkVMQLQEGG_js.getShapeClipPath(shapeType);
248
248
  }
249
249
  if (adjustments && Object.keys(adjustments).length > 0) {
250
- const adjusted = chunkOBLHB72P_js.getAdjustmentAwareShapeClipPath(shapeType, width, height, adjustments);
250
+ const adjusted = chunkVMQLQEGG_js.getAdjustmentAwareShapeClipPath(shapeType, width, height, adjustments);
251
251
  if (adjusted !== void 0) {
252
252
  return adjusted;
253
253
  }
254
254
  }
255
- const fromPreset = chunkOBLHB72P_js.getShapeClipPathFromPreset(shapeType, width, height, adjustments);
255
+ const fromPreset = chunkVMQLQEGG_js.getShapeClipPathFromPreset(shapeType, width, height, adjustments);
256
256
  if (fromPreset !== void 0) {
257
257
  return fromPreset;
258
258
  }
259
- const cloud = chunkOBLHB72P_js.getCloudPathForRendering(shapeType, width, height);
259
+ const cloud = chunkVMQLQEGG_js.getCloudPathForRendering(shapeType, width, height);
260
260
  if (cloud !== void 0) {
261
261
  return cloud;
262
262
  }
263
- return chunkOBLHB72P_js.getShapeClipPath(shapeType);
263
+ return chunkVMQLQEGG_js.getShapeClipPath(shapeType);
264
264
  }
265
265
  function getResolvedShapeClipPath(element, width, height) {
266
266
  const shapeType = element.shapeType;
@@ -975,7 +975,7 @@ var DEFAULT_SCHEME_COLOR_MAP = {
975
975
  phclr: "#4472C4"
976
976
  };
977
977
  function applyDrawingColorTransforms2(baseColor, colorNode) {
978
- return chunkOBLHB72P_js.applyDrawingColorTransforms(baseColor, colorNode);
978
+ return chunkVMQLQEGG_js.applyDrawingColorTransforms(baseColor, colorNode);
979
979
  }
980
980
  function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
981
981
  if (!colorNode) {
@@ -1027,7 +1027,7 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
1027
1027
  const h = hueRaw / 6e4;
1028
1028
  const s = clampUnitInterval(satRaw / 1e5);
1029
1029
  const l = clampUnitInterval(lumRaw / 1e5);
1030
- const rgb = chunkOBLHB72P_js.hslToRgb(h, s, l);
1030
+ const rgb = chunkVMQLQEGG_js.hslToRgb(h, s, l);
1031
1031
  const toHex = (value) => Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0").toUpperCase();
1032
1032
  const base = `#${toHex(rgb.r)}${toHex(rgb.g)}${toHex(rgb.b)}`;
1033
1033
  return applyDrawingColorTransforms2(base, hslNode);
@@ -1037,7 +1037,7 @@ function parseDrawingColorChoice(colorNode, schemeColorOverrides) {
1037
1037
  const preset = String(
1038
1038
  colorNode["a:prstClr"]?.["@_val"] || ""
1039
1039
  ).toLowerCase();
1040
- const mapped = chunkOBLHB72P_js.PRESET_COLOR_MAP[preset];
1040
+ const mapped = chunkVMQLQEGG_js.PRESET_COLOR_MAP[preset];
1041
1041
  if (!mapped) {
1042
1042
  return void 0;
1043
1043
  }
@@ -1370,7 +1370,7 @@ function normalizeRadius01(radius) {
1370
1370
  return clamp(radius / 100, 0, 1);
1371
1371
  }
1372
1372
  function getEffects(element) {
1373
- if (!chunkOBLHB72P_js.isImageLikeElement(element)) {
1373
+ if (!chunkVMQLQEGG_js.isImageLikeElement(element)) {
1374
1374
  return void 0;
1375
1375
  }
1376
1376
  return element.imageEffects;
@@ -10125,7 +10125,7 @@ function rotateDelta(dx, dy, rotationDeg) {
10125
10125
  }
10126
10126
  function applyResize(box, handle, dxScreen, dyScreen, zoom, opts = {}) {
10127
10127
  const scale = zoom || 1;
10128
- const minSize = opts.minSize ?? chunkOBLHB72P_js.MIN_ELEMENT_SIZE;
10128
+ const minSize = opts.minSize ?? chunkVMQLQEGG_js.MIN_ELEMENT_SIZE;
10129
10129
  const rotation = rotationOf(box);
10130
10130
  const local = rotateDelta(dxScreen / scale, dyScreen / scale, rotation);
10131
10131
  const dx = local.x;
@@ -10152,7 +10152,7 @@ function applyResize(box, handle, dxScreen, dyScreen, zoom, opts = {}) {
10152
10152
  }
10153
10153
  return { x: newX, y: newY, width: newW, height: newH, rotation };
10154
10154
  }
10155
- function snapBoxToGrid(box, handle, gridSpacingPx, minSize = chunkOBLHB72P_js.MIN_ELEMENT_SIZE) {
10155
+ function snapBoxToGrid(box, handle, gridSpacingPx, minSize = chunkVMQLQEGG_js.MIN_ELEMENT_SIZE) {
10156
10156
  if (handle === null || gridSpacingPx <= 0) {
10157
10157
  return box;
10158
10158
  }
@@ -10182,7 +10182,7 @@ function snapBoxToGrid(box, handle, gridSpacingPx, minSize = chunkOBLHB72P_js.MI
10182
10182
  }
10183
10183
  return { x, y, width, height };
10184
10184
  }
10185
- function computeMarqueeHitIds(marquee, elements, minSize = chunkOBLHB72P_js.MIN_ELEMENT_SIZE) {
10185
+ function computeMarqueeHitIds(marquee, elements, minSize = chunkVMQLQEGG_js.MIN_ELEMENT_SIZE) {
10186
10186
  const minX = Math.min(marquee.startX, marquee.currentX);
10187
10187
  const minY = Math.min(marquee.startY, marquee.currentY);
10188
10188
  const maxX = Math.max(marquee.startX, marquee.currentX);
@@ -11668,7 +11668,7 @@ var THEME_COLOR_LABELS = {
11668
11668
  };
11669
11669
  function buildThemeColorGrid(colorScheme) {
11670
11670
  return THEME_COLOR_TINT_ROWS.map(
11671
- (row) => chunkOBLHB72P_js.THEME_COLOR_SCHEME_KEYS.map((key) => ({
11671
+ (row) => chunkVMQLQEGG_js.THEME_COLOR_SCHEME_KEYS.map((key) => ({
11672
11672
  hex: row.transform(colorScheme[key]),
11673
11673
  schemeKey: key,
11674
11674
  rowLabel: row.label,
@@ -12144,7 +12144,7 @@ function svgLineCap(lineCap) {
12144
12144
  }
12145
12145
  function copyFormatFromElement(element) {
12146
12146
  const result = {};
12147
- if (chunkOBLHB72P_js.hasShapeProperties(element) && element.shapeStyle) {
12147
+ if (chunkVMQLQEGG_js.hasShapeProperties(element) && element.shapeStyle) {
12148
12148
  const s = element.shapeStyle;
12149
12149
  result.shapeStyle = {
12150
12150
  fillColor: s.fillColor,
@@ -12173,7 +12173,7 @@ function copyFormatFromElement(element) {
12173
12173
  softEdgeRadius: s.softEdgeRadius
12174
12174
  };
12175
12175
  }
12176
- if (chunkOBLHB72P_js.hasTextProperties(element) && element.textStyle) {
12176
+ if (chunkVMQLQEGG_js.hasTextProperties(element) && element.textStyle) {
12177
12177
  const t = element.textStyle;
12178
12178
  result.textStyle = {
12179
12179
  fontFamily: t.fontFamily,
@@ -12204,7 +12204,7 @@ function definedEntries(obj) {
12204
12204
  }
12205
12205
  function applyFormatToElement(element, format) {
12206
12206
  let updated = { ...element };
12207
- if (format.shapeStyle && chunkOBLHB72P_js.hasShapeProperties(updated)) {
12207
+ if (format.shapeStyle && chunkVMQLQEGG_js.hasShapeProperties(updated)) {
12208
12208
  updated = {
12209
12209
  ...updated,
12210
12210
  shapeStyle: {
@@ -12213,7 +12213,7 @@ function applyFormatToElement(element, format) {
12213
12213
  }
12214
12214
  };
12215
12215
  }
12216
- if (format.textStyle && chunkOBLHB72P_js.hasTextProperties(updated)) {
12216
+ if (format.textStyle && chunkVMQLQEGG_js.hasTextProperties(updated)) {
12217
12217
  updated = {
12218
12218
  ...updated,
12219
12219
  textStyle: {
@@ -12228,7 +12228,7 @@ function hasCopyableFormat(element) {
12228
12228
  if (!element) {
12229
12229
  return false;
12230
12230
  }
12231
- return chunkOBLHB72P_js.hasShapeProperties(element) || chunkOBLHB72P_js.hasTextProperties(element);
12231
+ return chunkVMQLQEGG_js.hasShapeProperties(element) || chunkVMQLQEGG_js.hasTextProperties(element);
12232
12232
  }
12233
12233
  function copySegmentMetadata(from, to) {
12234
12234
  if (from.equationXml !== void 0) {
@@ -12365,7 +12365,7 @@ function getRoundRectRadiusPx(element) {
12365
12365
  return Math.min(Math.max(element.width, 1), Math.max(element.height, 1)) * 0.5 * normalizedAdjustment;
12366
12366
  }
12367
12367
  function getShapeAdjustmentHandleDescriptor(element) {
12368
- if (!chunkOBLHB72P_js.hasShapeProperties(element)) {
12368
+ if (!chunkVMQLQEGG_js.hasShapeProperties(element)) {
12369
12369
  return null;
12370
12370
  }
12371
12371
  const normalizedShapeType = String(element.shapeType || "").toLowerCase();
@@ -12520,6 +12520,77 @@ function derivePresenceList(states, localClientId, canvasWidth, canvasHeight, no
12520
12520
  }
12521
12521
  return users;
12522
12522
  }
12523
+ var YDOC_ASSETS_KEY = "pptx:assets";
12524
+ var ASSET_ELEMENT_FIELDS = /* @__PURE__ */ new Set([
12525
+ "mediaData",
12526
+ "posterFrameData",
12527
+ "oleEmbeddedData",
12528
+ "previewImageData",
12529
+ "modelData"
12530
+ ]);
12531
+ var ASSET_REF_KEYS = {
12532
+ mediaData: "_mdRef",
12533
+ posterFrameData: "_pfdRef",
12534
+ oleEmbeddedData: "_oedRef",
12535
+ previewImageData: "_pidRef",
12536
+ modelData: "_moRef"
12537
+ };
12538
+ var REV_ASSET_REF_KEYS = Object.fromEntries(
12539
+ Object.entries(ASSET_REF_KEYS).map(([field, ref]) => [ref, field])
12540
+ );
12541
+ function assetKey(elementId, fieldName) {
12542
+ return `${elementId}:${fieldName}`;
12543
+ }
12544
+ function getAssetsMap(ydoc) {
12545
+ return ydoc.getMap(YDOC_ASSETS_KEY);
12546
+ }
12547
+ function isAssetRefKey(key) {
12548
+ return key in REV_ASSET_REF_KEYS;
12549
+ }
12550
+ function writeAssetFields(elementId, rec, ymap, assets) {
12551
+ for (const field of ASSET_ELEMENT_FIELDS) {
12552
+ const value = rec[field];
12553
+ if (typeof value === "string" && value.length > 0) {
12554
+ const key = assetKey(elementId, field);
12555
+ if (assets.get(key) !== value) {
12556
+ assets.set(key, value);
12557
+ }
12558
+ ymap.set(ASSET_REF_KEYS[field], key);
12559
+ }
12560
+ }
12561
+ }
12562
+ function reconcileAssetFields(elementId, rec, ymap, assets) {
12563
+ for (const field of ASSET_ELEMENT_FIELDS) {
12564
+ const refKey = ASSET_REF_KEYS[field];
12565
+ const value = rec[field];
12566
+ if (typeof value === "string" && value.length > 0) {
12567
+ const key = assetKey(elementId, field);
12568
+ if (assets.get(key) !== value) {
12569
+ assets.set(key, value);
12570
+ }
12571
+ if (ymap.get(refKey) !== key) {
12572
+ ymap.set(refKey, key);
12573
+ }
12574
+ } else {
12575
+ const existingRef = ymap.get(refKey);
12576
+ if (typeof existingRef === "string") {
12577
+ ymap.delete(refKey);
12578
+ assets.delete(existingRef);
12579
+ }
12580
+ }
12581
+ }
12582
+ }
12583
+ function readAssetFields(ymap, assets, element) {
12584
+ for (const [refKey, field] of Object.entries(REV_ASSET_REF_KEYS)) {
12585
+ const ref = ymap.get(refKey);
12586
+ if (typeof ref === "string") {
12587
+ const value = assets.get(ref);
12588
+ if (typeof value === "string") {
12589
+ element[field] = value;
12590
+ }
12591
+ }
12592
+ }
12593
+ }
12523
12594
  function isYTextLike(value) {
12524
12595
  return typeof value === "object" && value !== null && typeof value.toDelta === "function";
12525
12596
  }
@@ -12714,6 +12785,9 @@ var SCALAR_ELEMENT_KEYS = /* @__PURE__ */ new Set([
12714
12785
  "width",
12715
12786
  "height",
12716
12787
  "rotation",
12788
+ "shapeId",
12789
+ "skewX",
12790
+ "skewY",
12717
12791
  "flipHorizontal",
12718
12792
  "flipVertical",
12719
12793
  "hidden",
@@ -12722,14 +12796,66 @@ var SCALAR_ELEMENT_KEYS = /* @__PURE__ */ new Set([
12722
12796
  "name",
12723
12797
  "altText",
12724
12798
  "shapeType",
12725
- "placeholder",
12726
12799
  "imagePath",
12727
12800
  "imageData",
12728
- "svgContent",
12729
- "inkSvg",
12730
- "sourceSlideId",
12801
+ "svgData",
12802
+ "svgPath",
12803
+ "cropLeft",
12804
+ "cropTop",
12805
+ "cropRight",
12806
+ "cropBottom",
12807
+ "tileOffsetX",
12808
+ "tileOffsetY",
12809
+ "tileScaleX",
12810
+ "tileScaleY",
12811
+ "tileFlip",
12812
+ "tileAlignment",
12813
+ "pathData",
12814
+ "pathWidth",
12815
+ "pathHeight",
12731
12816
  "mediaType",
12732
12817
  "mediaPath",
12818
+ "mediaMimeType",
12819
+ "trimStartMs",
12820
+ "trimEndMs",
12821
+ "posterFramePath",
12822
+ "fullScreen",
12823
+ "loop",
12824
+ "fadeInDuration",
12825
+ "fadeOutDuration",
12826
+ "volume",
12827
+ "autoPlay",
12828
+ "playAcrossSlides",
12829
+ "hideWhenNotPlaying",
12830
+ "playbackSpeed",
12831
+ "mediaMissing",
12832
+ "isLinked",
12833
+ "oleTarget",
12834
+ "oleProgId",
12835
+ "oleName",
12836
+ "oleClsId",
12837
+ "oleObjectType",
12838
+ "oleFileExtension",
12839
+ "fileName",
12840
+ "externalPath",
12841
+ "previewImage",
12842
+ "oleShowAsIcon",
12843
+ "oleImgW",
12844
+ "oleImgH",
12845
+ "oleEmbeddedFileName",
12846
+ "oleEmbeddedMimeType",
12847
+ "oleEmbeddedByteSize",
12848
+ "inkPaths",
12849
+ "inkColors",
12850
+ "inkWidths",
12851
+ "inkOpacities",
12852
+ "inkTool",
12853
+ "zoomType",
12854
+ "targetSlideIndex",
12855
+ "targetSectionId",
12856
+ "modelPath",
12857
+ "modelMimeType",
12858
+ "posterImage",
12733
12859
  "linkedTxbxId",
12734
12860
  "linkedTxbxSeq",
12735
12861
  "promptText"
@@ -12742,20 +12868,28 @@ var COMPLEX_ELEMENT_FIELDS = {
12742
12868
  tableData: "_td",
12743
12869
  chartData: "_cd",
12744
12870
  smartArtData: "_smad",
12745
- connectionStart: "_cs",
12746
- connectionEnd: "_ce",
12747
- animations: "_an",
12748
- nativeAnimations: "_na",
12749
12871
  children: "_ch",
12750
12872
  paragraphIndents: "_pi",
12751
12873
  rawXml: "_rx",
12874
+ extLstXml: "_elx",
12752
12875
  actionClick: "_ac",
12753
12876
  actionHover: "_av",
12754
12877
  locks: "_lk",
12755
12878
  imageEffects: "_ie",
12756
12879
  cropShape: "_cr",
12757
- mediaBookmarks: "_mb",
12758
- captionTracks: "_ct"
12880
+ bookmarks: "_mb",
12881
+ captionTracks: "_ct",
12882
+ metadata: "_md",
12883
+ groupFill: "_gf",
12884
+ inkPointPressures: "_ipp",
12885
+ inkStrokes: "_cis",
12886
+ extensionXml: "_ext",
12887
+ customGeometryPaths: "_cgp",
12888
+ customGeometryRawData: "_cgr",
12889
+ customGeometryAdjustHandlesXY: "_cgx",
12890
+ customGeometryAdjustHandlesPolar: "_cgo",
12891
+ customGeometryConnectionSites: "_cgc",
12892
+ customGeometryTextRect: "_cgt"
12759
12893
  };
12760
12894
  var REV_COMPLEX_ELEMENT = Object.fromEntries(
12761
12895
  Object.entries(COMPLEX_ELEMENT_FIELDS).map(([k, v]) => [v, k])
@@ -12764,6 +12898,7 @@ var SCALAR_SLIDE_KEYS = /* @__PURE__ */ new Set([
12764
12898
  "id",
12765
12899
  "rId",
12766
12900
  "sourceSlideId",
12901
+ "name",
12767
12902
  "layoutPath",
12768
12903
  "layoutName",
12769
12904
  "slideNumber",
@@ -12773,7 +12908,9 @@ var SCALAR_SLIDE_KEYS = /* @__PURE__ */ new Set([
12773
12908
  "backgroundColor",
12774
12909
  "backgroundImage",
12775
12910
  "backgroundGradient",
12911
+ "backgroundShadeToTitle",
12776
12912
  "notes",
12913
+ "notesCSldName",
12777
12914
  "backgroundShowAnimation",
12778
12915
  "showMasterShapes",
12779
12916
  "isDirty"
@@ -12784,21 +12921,25 @@ var COMPLEX_SLIDE_FIELDS = {
12784
12921
  nativeAnimations: "_na",
12785
12922
  rawTiming: "_rt",
12786
12923
  notesSegments: "_ns",
12924
+ notesShapes: "_nsh",
12925
+ notesClrMapOverride: "_ncm",
12787
12926
  comments: "_cm",
12788
12927
  warnings: "_wa",
12789
12928
  rawXml: "_rx",
12790
12929
  clrMapOverride: "_cm2",
12791
12930
  guides: "_gu",
12792
12931
  customerData: "_cu",
12793
- activeXControls: "_ax"
12932
+ activeXControls: "_ax",
12933
+ backgroundPattern: "_bp",
12934
+ headerFooterFlags: "_hff"
12794
12935
  };
12795
12936
  var REV_COMPLEX_SLIDE = Object.fromEntries(
12796
12937
  Object.entries(COMPLEX_SLIDE_FIELDS).map(([k, v]) => [v, k])
12797
12938
  );
12798
- function writeElementToYMap(element, ymap, factories) {
12939
+ function writeElementToYMap(element, ymap, factories, assets) {
12799
12940
  const rec = element;
12800
12941
  for (const [key, value] of Object.entries(rec)) {
12801
- if (value === void 0) {
12942
+ if (value === void 0 || ASSET_ELEMENT_FIELDS.has(key)) {
12802
12943
  continue;
12803
12944
  }
12804
12945
  if (SCALAR_ELEMENT_KEYS.has(key)) {
@@ -12813,15 +12954,17 @@ function writeElementToYMap(element, ymap, factories) {
12813
12954
  ymap.set(COMPLEX_ELEMENT_FIELDS[key], JSON.stringify(value));
12814
12955
  }
12815
12956
  }
12957
+ writeAssetFields(rec.id, rec, ymap, assets);
12816
12958
  }
12817
- function readElementFromYMap(ymap) {
12959
+ function readElementFromYMap(ymap, assets) {
12818
12960
  const element = {};
12819
12961
  ymap.forEach((value, key) => {
12820
12962
  if (key === "textBody") {
12821
12963
  if (isYTextLike(value)) {
12822
12964
  element.textSegments = decodeTextBody(value);
12823
12965
  }
12824
- } else if (REV_COMPLEX_ELEMENT[key]) {
12966
+ } else if (isAssetRefKey(key)) ;
12967
+ else if (REV_COMPLEX_ELEMENT[key]) {
12825
12968
  try {
12826
12969
  element[REV_COMPLEX_ELEMENT[key]] = JSON.parse(value);
12827
12970
  } catch {
@@ -12830,9 +12973,10 @@ function readElementFromYMap(ymap) {
12830
12973
  element[key] = value;
12831
12974
  }
12832
12975
  });
12976
+ readAssetFields(ymap, assets, element);
12833
12977
  return element;
12834
12978
  }
12835
- function writeSlideToYMap(slide, ymap, factories) {
12979
+ function writeSlideToYMap(slide, ymap, factories, assets) {
12836
12980
  const rec = slide;
12837
12981
  for (const key of SCALAR_SLIDE_KEYS) {
12838
12982
  if (rec[key] !== void 0) {
@@ -12847,12 +12991,12 @@ function writeSlideToYMap(slide, ymap, factories) {
12847
12991
  const elemArr = factories.createArray();
12848
12992
  for (const el of slide.elements) {
12849
12993
  const elemMap = factories.createMap();
12850
- writeElementToYMap(el, elemMap, factories);
12994
+ writeElementToYMap(el, elemMap, factories, assets);
12851
12995
  elemArr.push([elemMap]);
12852
12996
  }
12853
12997
  ymap.set("elements", elemArr);
12854
12998
  }
12855
- function readSlideFromYMap(ymap) {
12999
+ function readSlideFromYMap(ymap, assets) {
12856
13000
  const slide = {};
12857
13001
  for (const key of SCALAR_SLIDE_KEYS) {
12858
13002
  const v = ymap.get(key);
@@ -12873,17 +13017,18 @@ function readSlideFromYMap(ymap) {
12873
13017
  const elements = [];
12874
13018
  if (elemArr) {
12875
13019
  for (let i = 0; i < elemArr.length; i++) {
12876
- elements.push(readElementFromYMap(elemArr.get(i)));
13020
+ elements.push(readElementFromYMap(elemArr.get(i), assets));
12877
13021
  }
12878
13022
  }
12879
13023
  slide.elements = elements;
12880
13024
  return slide;
12881
13025
  }
12882
13026
  function readSlidesFromYDoc(ydoc) {
13027
+ const assets = getAssetsMap(ydoc);
12883
13028
  const arr = ydoc.getArray(YDOC_SLIDES_KEY);
12884
13029
  const slides = [];
12885
13030
  for (let i = 0; i < arr.length; i++) {
12886
- slides.push(readSlideFromYMap(arr.get(i)));
13031
+ slides.push(readSlideFromYMap(arr.get(i), assets));
12887
13032
  }
12888
13033
  return slides;
12889
13034
  }
@@ -13062,11 +13207,12 @@ function reconcileTextBody(ymap, rec, factories) {
13062
13207
  encodeTextBody(segments, ytext);
13063
13208
  ymap.set("textBody", ytext);
13064
13209
  }
13065
- function reconcileElementYMap(ymap, element, factories) {
13210
+ function reconcileElementYMap(ymap, element, factories, assets) {
13066
13211
  const rec = element;
13067
13212
  reconcileScalars(ymap, rec, SCALAR_ELEMENT_KEYS);
13068
13213
  reconcileComplexFields(ymap, rec, COMPLEX_ELEMENT_FIELDS);
13069
13214
  reconcileTextBody(ymap, rec, factories);
13215
+ reconcileAssetFields(rec.id, rec, ymap, assets);
13070
13216
  }
13071
13217
  function mapIdAt(arr, index) {
13072
13218
  const entry = arr.get(index);
@@ -13129,7 +13275,7 @@ function reconcileYArrayById(arr, items, adapter) {
13129
13275
  }
13130
13276
  }
13131
13277
  var isYArrayLike = (value) => typeof value === "object" && value !== null && typeof value.insert === "function" && typeof value.toArray === "function";
13132
- function reconcileSlideYMap(ymap, slide, factories) {
13278
+ function reconcileSlideYMap(ymap, slide, factories, assets) {
13133
13279
  const rec = slide;
13134
13280
  reconcileScalars(ymap, rec, SCALAR_SLIDE_KEYS);
13135
13281
  reconcileComplexFields(ymap, rec, COMPLEX_SLIDE_FIELDS);
@@ -13142,30 +13288,63 @@ function reconcileSlideYMap(ymap, slide, factories) {
13142
13288
  idOf: (el) => typeof el.id === "string" ? el.id : void 0,
13143
13289
  create: (el) => {
13144
13290
  const map = factories.createMap();
13145
- writeElementToYMap(el, map, factories);
13291
+ writeElementToYMap(el, map, factories, assets);
13146
13292
  return map;
13147
13293
  },
13148
- update: (map, el) => reconcileElementYMap(map, el, factories)
13294
+ update: (map, el) => reconcileElementYMap(map, el, factories, assets)
13149
13295
  });
13150
13296
  }
13151
13297
  function reconcileSlidesInYDoc(slides, ydoc, factories, origin = LOCAL_SYNC_ORIGIN) {
13298
+ const assets = getAssetsMap(ydoc);
13152
13299
  ydoc.transact(() => {
13153
13300
  const arr = ydoc.getArray(YDOC_SLIDES_KEY);
13154
13301
  reconcileYArrayById(arr, slides, {
13155
13302
  idOf: (slide) => typeof slide.id === "string" ? slide.id : void 0,
13156
13303
  create: (slide) => {
13157
13304
  const map = factories.createMap();
13158
- writeSlideToYMap(slide, map, factories);
13305
+ writeSlideToYMap(slide, map, factories, assets);
13159
13306
  return map;
13160
13307
  },
13161
- update: (map, slide) => reconcileSlideYMap(map, slide, factories)
13308
+ update: (map, slide) => reconcileSlideYMap(map, slide, factories, assets)
13162
13309
  });
13163
13310
  }, origin);
13164
13311
  }
13312
+ function createSyncGate(onOpen, graceMs = INITIAL_SYNC_GRACE_MS) {
13313
+ let opened = false;
13314
+ let timer = null;
13315
+ const clear = () => {
13316
+ if (timer !== null) {
13317
+ clearTimeout(timer);
13318
+ timer = null;
13319
+ }
13320
+ };
13321
+ const open = () => {
13322
+ clear();
13323
+ if (opened) {
13324
+ return;
13325
+ }
13326
+ opened = true;
13327
+ onOpen();
13328
+ };
13329
+ return {
13330
+ isOpen: () => opened,
13331
+ arm: () => {
13332
+ clear();
13333
+ if (!opened) {
13334
+ timer = setTimeout(open, graceMs);
13335
+ }
13336
+ },
13337
+ open,
13338
+ reset: () => {
13339
+ clear();
13340
+ opened = false;
13341
+ }
13342
+ };
13343
+ }
13165
13344
  var POSITION_THRESHOLD = 2;
13166
13345
  var SIZE_THRESHOLD = 2;
13167
13346
  function getElementText(element) {
13168
- if (!chunkOBLHB72P_js.hasTextProperties(element)) {
13347
+ if (!chunkVMQLQEGG_js.hasTextProperties(element)) {
13169
13348
  return "";
13170
13349
  }
13171
13350
  if (element.textSegments && element.textSegments.length > 0) {
@@ -16331,7 +16510,7 @@ function getAriaRole(element) {
16331
16510
  case "text":
16332
16511
  return void 0;
16333
16512
  case "shape": {
16334
- if (chunkOBLHB72P_js.hasTextProperties(element) && element.text) {
16513
+ if (chunkVMQLQEGG_js.hasTextProperties(element) && element.text) {
16335
16514
  return void 0;
16336
16515
  }
16337
16516
  return "img";
@@ -16344,7 +16523,7 @@ function getAriaLabel(element) {
16344
16523
  if ((element.type === "image" || element.type === "picture") && "altText" in element && typeof element.altText === "string" && element.altText.trim()) {
16345
16524
  return element.altText.trim();
16346
16525
  }
16347
- if (chunkOBLHB72P_js.hasTextProperties(element) && element.text) {
16526
+ if (chunkVMQLQEGG_js.hasTextProperties(element) && element.text) {
16348
16527
  const text = element.text.trim();
16349
16528
  if (text) {
16350
16529
  return text.length > 120 ? `${text.slice(0, 117)}...` : text;
@@ -16682,7 +16861,7 @@ var DEFAULT_CHART_POSITION = { x: 120, y: 120, width: 480, height: 320 };
16682
16861
  var DEFAULT_CATEGORIES = ["Category 1", "Category 2", "Category 3"];
16683
16862
  var DEFAULT_SERIES_VALUES = [4, 3, 5];
16684
16863
  function createDefaultChartElement(chartType = DEFAULT_INSERT_CHART_TYPE, position) {
16685
- return chunkOBLHB72P_js.createChartElement(
16864
+ return chunkVMQLQEGG_js.createChartElement(
16686
16865
  chartType,
16687
16866
  {
16688
16867
  categories: [...DEFAULT_CATEGORIES],
@@ -17079,6 +17258,21 @@ var SHAPE_PRESET_DEFS = [
17079
17258
  glyphClass: ""
17080
17259
  }
17081
17260
  ];
17261
+ var OFFICE_COLOR_SWATCHES = [
17262
+ { hex: "#000000", label: "Black" },
17263
+ { hex: "#ffffff", label: "White" },
17264
+ { hex: "#ff0000", label: "Red" },
17265
+ { hex: "#00aa00", label: "Green" },
17266
+ { hex: "#0000ff", label: "Blue" },
17267
+ { hex: "#ff8800", label: "Orange" },
17268
+ { hex: "#8800cc", label: "Purple" },
17269
+ { hex: "#00cccc", label: "Cyan" },
17270
+ { hex: "#ff69b4", label: "Pink" },
17271
+ { hex: "#808080", label: "Gray" }
17272
+ ];
17273
+ OFFICE_COLOR_SWATCHES.map(
17274
+ (swatch) => swatch.hex
17275
+ );
17082
17276
  function resolveTitleBarStatusKey(input) {
17083
17277
  const { autosaveState, isDirty, autosaveEnabled, disabledReason } = input;
17084
17278
  if (autosaveState === "disabled") {
@@ -19026,7 +19220,6 @@ exports.EXPORT_DONE_PERCENT = EXPORT_DONE_PERCENT;
19026
19220
  exports.FILL_MODE_OPTIONS = FILL_MODE_OPTIONS;
19027
19221
  exports.GRADIENT_TYPE_OPTIONS = GRADIENT_TYPE_OPTIONS;
19028
19222
  exports.HANDOUT_OPTIONS = HANDOUT_OPTIONS;
19029
- exports.INITIAL_SYNC_GRACE_MS = INITIAL_SYNC_GRACE_MS;
19030
19223
  exports.INK_REPLAY_KEYFRAMES = INK_REPLAY_KEYFRAMES;
19031
19224
  exports.INSERT_CHART_TYPES = INSERT_CHART_TYPES;
19032
19225
  exports.LBL = LBL;
@@ -19139,6 +19332,7 @@ exports.copyFormatFromElement = copyFormatFromElement;
19139
19332
  exports.countTextSegments = countTextSegments;
19140
19333
  exports.createBlankSlide = createBlankSlide;
19141
19334
  exports.createDefaultChartElement = createDefaultChartElement;
19335
+ exports.createSyncGate = createSyncGate;
19142
19336
  exports.createTouchGestureRecognizer = createTouchGestureRecognizer;
19143
19337
  exports.defaultCssVars = defaultCssVars;
19144
19338
  exports.defaultRadius = defaultRadius;
Binary file
Binary file