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.
- package/CHANGELOG.md +4 -0
- package/dist/{Model3DScene-EF72C34A.mjs → Model3DScene-DDKQ372V.mjs} +2 -2
- package/dist/Model3DScene-DDKQ372V.mjs.br +0 -0
- package/dist/Model3DScene-DDKQ372V.mjs.gz +0 -0
- package/dist/{Model3DScene-QIE7QZ7M.js → Model3DScene-UBHBPNJ2.js} +3 -3
- package/dist/{Model3DScene-QIE7QZ7M.js.br → Model3DScene-UBHBPNJ2.js.br} +0 -0
- package/dist/Model3DScene-UBHBPNJ2.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-CBUOCCEN.js → SurfaceChart3DScene-MNFDDCYS.js} +3 -3
- package/dist/SurfaceChart3DScene-MNFDDCYS.js.br +0 -0
- package/dist/SurfaceChart3DScene-MNFDDCYS.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-JYCQ2DBR.mjs → SurfaceChart3DScene-VSUUH2MX.mjs} +2 -2
- package/dist/{SurfaceChart3DScene-JYCQ2DBR.mjs.br → SurfaceChart3DScene-VSUUH2MX.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-VSUUH2MX.mjs.gz +0 -0
- package/dist/{chunk-BZVYWFHS.js → chunk-4LRPKUP7.js} +449 -456
- package/dist/chunk-4LRPKUP7.js.br +0 -0
- package/dist/chunk-4LRPKUP7.js.gz +0 -0
- package/dist/{chunk-QFRXMAFR.mjs → chunk-AJPW5FS7.mjs} +171 -1
- package/dist/chunk-AJPW5FS7.mjs.br +0 -0
- package/dist/chunk-AJPW5FS7.mjs.gz +0 -0
- package/dist/{chunk-FQXZZBFJ.js → chunk-TLGPM7SI.js} +247 -53
- package/dist/chunk-TLGPM7SI.js.br +0 -0
- package/dist/chunk-TLGPM7SI.js.gz +0 -0
- package/dist/{chunk-OBLHB72P.js → chunk-VMQLQEGG.js} +172 -0
- package/dist/chunk-VMQLQEGG.js.br +0 -0
- package/dist/chunk-VMQLQEGG.js.gz +0 -0
- package/dist/{chunk-POP5TS5L.mjs → chunk-XOSQDCHZ.mjs} +35 -42
- package/dist/chunk-XOSQDCHZ.mjs.br +0 -0
- package/dist/chunk-XOSQDCHZ.mjs.gz +0 -0
- package/dist/{chunk-FHOZRWAD.mjs → chunk-YARAQWA4.mjs} +222 -28
- package/dist/chunk-YARAQWA4.mjs.br +0 -0
- package/dist/chunk-YARAQWA4.mjs.gz +0 -0
- package/dist/{chunk-ZDV7QRGB.js → chunk-YQHPV3VP.js} +825 -831
- package/dist/chunk-YQHPV3VP.js.br +0 -0
- package/dist/chunk-YQHPV3VP.js.gz +0 -0
- package/dist/{chunk-X2UMJTCM.mjs → chunk-YW23L4KK.mjs} +7 -13
- package/dist/chunk-YW23L4KK.mjs.br +0 -0
- package/dist/chunk-YW23L4KK.mjs.gz +0 -0
- package/dist/{dist-MVSQ6PWP.js → dist-55M4L5OI.js} +513 -505
- package/dist/dist-55M4L5OI.js.br +0 -0
- package/dist/dist-55M4L5OI.js.gz +0 -0
- package/dist/dist-C5CVVTDM.mjs +2 -0
- package/dist/dist-C5CVVTDM.mjs.br +0 -0
- package/dist/dist-C5CVVTDM.mjs.gz +0 -0
- package/dist/hooks-unstable.js +74 -74
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +3 -3
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/index.js +18 -18
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/viewer/index.js +19 -19
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +4 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/Model3DScene-EF72C34A.mjs.br +0 -0
- package/dist/Model3DScene-EF72C34A.mjs.gz +0 -0
- package/dist/Model3DScene-QIE7QZ7M.js.gz +0 -0
- package/dist/SurfaceChart3DScene-CBUOCCEN.js.br +0 -0
- package/dist/SurfaceChart3DScene-CBUOCCEN.js.gz +0 -0
- package/dist/SurfaceChart3DScene-JYCQ2DBR.mjs.gz +0 -0
- package/dist/chunk-BZVYWFHS.js.br +0 -0
- package/dist/chunk-BZVYWFHS.js.gz +0 -0
- package/dist/chunk-FHOZRWAD.mjs.br +0 -0
- package/dist/chunk-FHOZRWAD.mjs.gz +0 -0
- package/dist/chunk-FQXZZBFJ.js.br +0 -0
- package/dist/chunk-FQXZZBFJ.js.gz +0 -0
- package/dist/chunk-OBLHB72P.js.br +0 -0
- package/dist/chunk-OBLHB72P.js.gz +0 -0
- package/dist/chunk-POP5TS5L.mjs.br +0 -0
- package/dist/chunk-POP5TS5L.mjs.gz +0 -0
- package/dist/chunk-QFRXMAFR.mjs.br +0 -0
- package/dist/chunk-QFRXMAFR.mjs.gz +0 -0
- package/dist/chunk-X2UMJTCM.mjs.br +0 -0
- package/dist/chunk-X2UMJTCM.mjs.gz +0 -0
- package/dist/chunk-ZDV7QRGB.js.br +0 -0
- package/dist/chunk-ZDV7QRGB.js.gz +0 -0
- package/dist/dist-D5LQ7PW7.mjs +0 -2
- package/dist/dist-D5LQ7PW7.mjs.br +0 -0
- package/dist/dist-D5LQ7PW7.mjs.gz +0 -0
- package/dist/dist-MVSQ6PWP.js.br +0 -0
- package/dist/dist-MVSQ6PWP.js.gz +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MIN_ELEMENT_SIZE, guideEmuToPx, THEME_COLOR_SCHEME_KEYS, hasShapeProperties, hasTextProperties, createChartElement, getShapeClipPath, getAdjustmentAwareShapeClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, hslToRgb, PRESET_COLOR_MAP, isImageLikeElement, applyDrawingColorTransforms } from './chunk-
|
|
1
|
+
import { MIN_ELEMENT_SIZE, guideEmuToPx, THEME_COLOR_SCHEME_KEYS, hasShapeProperties, hasTextProperties, createChartElement, getShapeClipPath, getAdjustmentAwareShapeClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, hslToRgb, PRESET_COLOR_MAP, isImageLikeElement, applyDrawingColorTransforms } from './chunk-AJPW5FS7.mjs';
|
|
2
2
|
import DOMPurify from 'dompurify';
|
|
3
3
|
|
|
4
4
|
var defaultThemeColors = {
|
|
@@ -12514,6 +12514,77 @@ function derivePresenceList(states, localClientId, canvasWidth, canvasHeight, no
|
|
|
12514
12514
|
}
|
|
12515
12515
|
return users;
|
|
12516
12516
|
}
|
|
12517
|
+
var YDOC_ASSETS_KEY = "pptx:assets";
|
|
12518
|
+
var ASSET_ELEMENT_FIELDS = /* @__PURE__ */ new Set([
|
|
12519
|
+
"mediaData",
|
|
12520
|
+
"posterFrameData",
|
|
12521
|
+
"oleEmbeddedData",
|
|
12522
|
+
"previewImageData",
|
|
12523
|
+
"modelData"
|
|
12524
|
+
]);
|
|
12525
|
+
var ASSET_REF_KEYS = {
|
|
12526
|
+
mediaData: "_mdRef",
|
|
12527
|
+
posterFrameData: "_pfdRef",
|
|
12528
|
+
oleEmbeddedData: "_oedRef",
|
|
12529
|
+
previewImageData: "_pidRef",
|
|
12530
|
+
modelData: "_moRef"
|
|
12531
|
+
};
|
|
12532
|
+
var REV_ASSET_REF_KEYS = Object.fromEntries(
|
|
12533
|
+
Object.entries(ASSET_REF_KEYS).map(([field, ref]) => [ref, field])
|
|
12534
|
+
);
|
|
12535
|
+
function assetKey(elementId, fieldName) {
|
|
12536
|
+
return `${elementId}:${fieldName}`;
|
|
12537
|
+
}
|
|
12538
|
+
function getAssetsMap(ydoc) {
|
|
12539
|
+
return ydoc.getMap(YDOC_ASSETS_KEY);
|
|
12540
|
+
}
|
|
12541
|
+
function isAssetRefKey(key) {
|
|
12542
|
+
return key in REV_ASSET_REF_KEYS;
|
|
12543
|
+
}
|
|
12544
|
+
function writeAssetFields(elementId, rec, ymap, assets) {
|
|
12545
|
+
for (const field of ASSET_ELEMENT_FIELDS) {
|
|
12546
|
+
const value = rec[field];
|
|
12547
|
+
if (typeof value === "string" && value.length > 0) {
|
|
12548
|
+
const key = assetKey(elementId, field);
|
|
12549
|
+
if (assets.get(key) !== value) {
|
|
12550
|
+
assets.set(key, value);
|
|
12551
|
+
}
|
|
12552
|
+
ymap.set(ASSET_REF_KEYS[field], key);
|
|
12553
|
+
}
|
|
12554
|
+
}
|
|
12555
|
+
}
|
|
12556
|
+
function reconcileAssetFields(elementId, rec, ymap, assets) {
|
|
12557
|
+
for (const field of ASSET_ELEMENT_FIELDS) {
|
|
12558
|
+
const refKey = ASSET_REF_KEYS[field];
|
|
12559
|
+
const value = rec[field];
|
|
12560
|
+
if (typeof value === "string" && value.length > 0) {
|
|
12561
|
+
const key = assetKey(elementId, field);
|
|
12562
|
+
if (assets.get(key) !== value) {
|
|
12563
|
+
assets.set(key, value);
|
|
12564
|
+
}
|
|
12565
|
+
if (ymap.get(refKey) !== key) {
|
|
12566
|
+
ymap.set(refKey, key);
|
|
12567
|
+
}
|
|
12568
|
+
} else {
|
|
12569
|
+
const existingRef = ymap.get(refKey);
|
|
12570
|
+
if (typeof existingRef === "string") {
|
|
12571
|
+
ymap.delete(refKey);
|
|
12572
|
+
assets.delete(existingRef);
|
|
12573
|
+
}
|
|
12574
|
+
}
|
|
12575
|
+
}
|
|
12576
|
+
}
|
|
12577
|
+
function readAssetFields(ymap, assets, element) {
|
|
12578
|
+
for (const [refKey, field] of Object.entries(REV_ASSET_REF_KEYS)) {
|
|
12579
|
+
const ref = ymap.get(refKey);
|
|
12580
|
+
if (typeof ref === "string") {
|
|
12581
|
+
const value = assets.get(ref);
|
|
12582
|
+
if (typeof value === "string") {
|
|
12583
|
+
element[field] = value;
|
|
12584
|
+
}
|
|
12585
|
+
}
|
|
12586
|
+
}
|
|
12587
|
+
}
|
|
12517
12588
|
function isYTextLike(value) {
|
|
12518
12589
|
return typeof value === "object" && value !== null && typeof value.toDelta === "function";
|
|
12519
12590
|
}
|
|
@@ -12708,6 +12779,9 @@ var SCALAR_ELEMENT_KEYS = /* @__PURE__ */ new Set([
|
|
|
12708
12779
|
"width",
|
|
12709
12780
|
"height",
|
|
12710
12781
|
"rotation",
|
|
12782
|
+
"shapeId",
|
|
12783
|
+
"skewX",
|
|
12784
|
+
"skewY",
|
|
12711
12785
|
"flipHorizontal",
|
|
12712
12786
|
"flipVertical",
|
|
12713
12787
|
"hidden",
|
|
@@ -12716,14 +12790,66 @@ var SCALAR_ELEMENT_KEYS = /* @__PURE__ */ new Set([
|
|
|
12716
12790
|
"name",
|
|
12717
12791
|
"altText",
|
|
12718
12792
|
"shapeType",
|
|
12719
|
-
"placeholder",
|
|
12720
12793
|
"imagePath",
|
|
12721
12794
|
"imageData",
|
|
12722
|
-
"
|
|
12723
|
-
"
|
|
12724
|
-
"
|
|
12795
|
+
"svgData",
|
|
12796
|
+
"svgPath",
|
|
12797
|
+
"cropLeft",
|
|
12798
|
+
"cropTop",
|
|
12799
|
+
"cropRight",
|
|
12800
|
+
"cropBottom",
|
|
12801
|
+
"tileOffsetX",
|
|
12802
|
+
"tileOffsetY",
|
|
12803
|
+
"tileScaleX",
|
|
12804
|
+
"tileScaleY",
|
|
12805
|
+
"tileFlip",
|
|
12806
|
+
"tileAlignment",
|
|
12807
|
+
"pathData",
|
|
12808
|
+
"pathWidth",
|
|
12809
|
+
"pathHeight",
|
|
12725
12810
|
"mediaType",
|
|
12726
12811
|
"mediaPath",
|
|
12812
|
+
"mediaMimeType",
|
|
12813
|
+
"trimStartMs",
|
|
12814
|
+
"trimEndMs",
|
|
12815
|
+
"posterFramePath",
|
|
12816
|
+
"fullScreen",
|
|
12817
|
+
"loop",
|
|
12818
|
+
"fadeInDuration",
|
|
12819
|
+
"fadeOutDuration",
|
|
12820
|
+
"volume",
|
|
12821
|
+
"autoPlay",
|
|
12822
|
+
"playAcrossSlides",
|
|
12823
|
+
"hideWhenNotPlaying",
|
|
12824
|
+
"playbackSpeed",
|
|
12825
|
+
"mediaMissing",
|
|
12826
|
+
"isLinked",
|
|
12827
|
+
"oleTarget",
|
|
12828
|
+
"oleProgId",
|
|
12829
|
+
"oleName",
|
|
12830
|
+
"oleClsId",
|
|
12831
|
+
"oleObjectType",
|
|
12832
|
+
"oleFileExtension",
|
|
12833
|
+
"fileName",
|
|
12834
|
+
"externalPath",
|
|
12835
|
+
"previewImage",
|
|
12836
|
+
"oleShowAsIcon",
|
|
12837
|
+
"oleImgW",
|
|
12838
|
+
"oleImgH",
|
|
12839
|
+
"oleEmbeddedFileName",
|
|
12840
|
+
"oleEmbeddedMimeType",
|
|
12841
|
+
"oleEmbeddedByteSize",
|
|
12842
|
+
"inkPaths",
|
|
12843
|
+
"inkColors",
|
|
12844
|
+
"inkWidths",
|
|
12845
|
+
"inkOpacities",
|
|
12846
|
+
"inkTool",
|
|
12847
|
+
"zoomType",
|
|
12848
|
+
"targetSlideIndex",
|
|
12849
|
+
"targetSectionId",
|
|
12850
|
+
"modelPath",
|
|
12851
|
+
"modelMimeType",
|
|
12852
|
+
"posterImage",
|
|
12727
12853
|
"linkedTxbxId",
|
|
12728
12854
|
"linkedTxbxSeq",
|
|
12729
12855
|
"promptText"
|
|
@@ -12736,20 +12862,28 @@ var COMPLEX_ELEMENT_FIELDS = {
|
|
|
12736
12862
|
tableData: "_td",
|
|
12737
12863
|
chartData: "_cd",
|
|
12738
12864
|
smartArtData: "_smad",
|
|
12739
|
-
connectionStart: "_cs",
|
|
12740
|
-
connectionEnd: "_ce",
|
|
12741
|
-
animations: "_an",
|
|
12742
|
-
nativeAnimations: "_na",
|
|
12743
12865
|
children: "_ch",
|
|
12744
12866
|
paragraphIndents: "_pi",
|
|
12745
12867
|
rawXml: "_rx",
|
|
12868
|
+
extLstXml: "_elx",
|
|
12746
12869
|
actionClick: "_ac",
|
|
12747
12870
|
actionHover: "_av",
|
|
12748
12871
|
locks: "_lk",
|
|
12749
12872
|
imageEffects: "_ie",
|
|
12750
12873
|
cropShape: "_cr",
|
|
12751
|
-
|
|
12752
|
-
captionTracks: "_ct"
|
|
12874
|
+
bookmarks: "_mb",
|
|
12875
|
+
captionTracks: "_ct",
|
|
12876
|
+
metadata: "_md",
|
|
12877
|
+
groupFill: "_gf",
|
|
12878
|
+
inkPointPressures: "_ipp",
|
|
12879
|
+
inkStrokes: "_cis",
|
|
12880
|
+
extensionXml: "_ext",
|
|
12881
|
+
customGeometryPaths: "_cgp",
|
|
12882
|
+
customGeometryRawData: "_cgr",
|
|
12883
|
+
customGeometryAdjustHandlesXY: "_cgx",
|
|
12884
|
+
customGeometryAdjustHandlesPolar: "_cgo",
|
|
12885
|
+
customGeometryConnectionSites: "_cgc",
|
|
12886
|
+
customGeometryTextRect: "_cgt"
|
|
12753
12887
|
};
|
|
12754
12888
|
var REV_COMPLEX_ELEMENT = Object.fromEntries(
|
|
12755
12889
|
Object.entries(COMPLEX_ELEMENT_FIELDS).map(([k, v]) => [v, k])
|
|
@@ -12758,6 +12892,7 @@ var SCALAR_SLIDE_KEYS = /* @__PURE__ */ new Set([
|
|
|
12758
12892
|
"id",
|
|
12759
12893
|
"rId",
|
|
12760
12894
|
"sourceSlideId",
|
|
12895
|
+
"name",
|
|
12761
12896
|
"layoutPath",
|
|
12762
12897
|
"layoutName",
|
|
12763
12898
|
"slideNumber",
|
|
@@ -12767,7 +12902,9 @@ var SCALAR_SLIDE_KEYS = /* @__PURE__ */ new Set([
|
|
|
12767
12902
|
"backgroundColor",
|
|
12768
12903
|
"backgroundImage",
|
|
12769
12904
|
"backgroundGradient",
|
|
12905
|
+
"backgroundShadeToTitle",
|
|
12770
12906
|
"notes",
|
|
12907
|
+
"notesCSldName",
|
|
12771
12908
|
"backgroundShowAnimation",
|
|
12772
12909
|
"showMasterShapes",
|
|
12773
12910
|
"isDirty"
|
|
@@ -12778,21 +12915,25 @@ var COMPLEX_SLIDE_FIELDS = {
|
|
|
12778
12915
|
nativeAnimations: "_na",
|
|
12779
12916
|
rawTiming: "_rt",
|
|
12780
12917
|
notesSegments: "_ns",
|
|
12918
|
+
notesShapes: "_nsh",
|
|
12919
|
+
notesClrMapOverride: "_ncm",
|
|
12781
12920
|
comments: "_cm",
|
|
12782
12921
|
warnings: "_wa",
|
|
12783
12922
|
rawXml: "_rx",
|
|
12784
12923
|
clrMapOverride: "_cm2",
|
|
12785
12924
|
guides: "_gu",
|
|
12786
12925
|
customerData: "_cu",
|
|
12787
|
-
activeXControls: "_ax"
|
|
12926
|
+
activeXControls: "_ax",
|
|
12927
|
+
backgroundPattern: "_bp",
|
|
12928
|
+
headerFooterFlags: "_hff"
|
|
12788
12929
|
};
|
|
12789
12930
|
var REV_COMPLEX_SLIDE = Object.fromEntries(
|
|
12790
12931
|
Object.entries(COMPLEX_SLIDE_FIELDS).map(([k, v]) => [v, k])
|
|
12791
12932
|
);
|
|
12792
|
-
function writeElementToYMap(element, ymap, factories) {
|
|
12933
|
+
function writeElementToYMap(element, ymap, factories, assets) {
|
|
12793
12934
|
const rec = element;
|
|
12794
12935
|
for (const [key, value] of Object.entries(rec)) {
|
|
12795
|
-
if (value === void 0) {
|
|
12936
|
+
if (value === void 0 || ASSET_ELEMENT_FIELDS.has(key)) {
|
|
12796
12937
|
continue;
|
|
12797
12938
|
}
|
|
12798
12939
|
if (SCALAR_ELEMENT_KEYS.has(key)) {
|
|
@@ -12807,15 +12948,17 @@ function writeElementToYMap(element, ymap, factories) {
|
|
|
12807
12948
|
ymap.set(COMPLEX_ELEMENT_FIELDS[key], JSON.stringify(value));
|
|
12808
12949
|
}
|
|
12809
12950
|
}
|
|
12951
|
+
writeAssetFields(rec.id, rec, ymap, assets);
|
|
12810
12952
|
}
|
|
12811
|
-
function readElementFromYMap(ymap) {
|
|
12953
|
+
function readElementFromYMap(ymap, assets) {
|
|
12812
12954
|
const element = {};
|
|
12813
12955
|
ymap.forEach((value, key) => {
|
|
12814
12956
|
if (key === "textBody") {
|
|
12815
12957
|
if (isYTextLike(value)) {
|
|
12816
12958
|
element.textSegments = decodeTextBody(value);
|
|
12817
12959
|
}
|
|
12818
|
-
} else if (
|
|
12960
|
+
} else if (isAssetRefKey(key)) ;
|
|
12961
|
+
else if (REV_COMPLEX_ELEMENT[key]) {
|
|
12819
12962
|
try {
|
|
12820
12963
|
element[REV_COMPLEX_ELEMENT[key]] = JSON.parse(value);
|
|
12821
12964
|
} catch {
|
|
@@ -12824,9 +12967,10 @@ function readElementFromYMap(ymap) {
|
|
|
12824
12967
|
element[key] = value;
|
|
12825
12968
|
}
|
|
12826
12969
|
});
|
|
12970
|
+
readAssetFields(ymap, assets, element);
|
|
12827
12971
|
return element;
|
|
12828
12972
|
}
|
|
12829
|
-
function writeSlideToYMap(slide, ymap, factories) {
|
|
12973
|
+
function writeSlideToYMap(slide, ymap, factories, assets) {
|
|
12830
12974
|
const rec = slide;
|
|
12831
12975
|
for (const key of SCALAR_SLIDE_KEYS) {
|
|
12832
12976
|
if (rec[key] !== void 0) {
|
|
@@ -12841,12 +12985,12 @@ function writeSlideToYMap(slide, ymap, factories) {
|
|
|
12841
12985
|
const elemArr = factories.createArray();
|
|
12842
12986
|
for (const el of slide.elements) {
|
|
12843
12987
|
const elemMap = factories.createMap();
|
|
12844
|
-
writeElementToYMap(el, elemMap, factories);
|
|
12988
|
+
writeElementToYMap(el, elemMap, factories, assets);
|
|
12845
12989
|
elemArr.push([elemMap]);
|
|
12846
12990
|
}
|
|
12847
12991
|
ymap.set("elements", elemArr);
|
|
12848
12992
|
}
|
|
12849
|
-
function readSlideFromYMap(ymap) {
|
|
12993
|
+
function readSlideFromYMap(ymap, assets) {
|
|
12850
12994
|
const slide = {};
|
|
12851
12995
|
for (const key of SCALAR_SLIDE_KEYS) {
|
|
12852
12996
|
const v = ymap.get(key);
|
|
@@ -12867,17 +13011,18 @@ function readSlideFromYMap(ymap) {
|
|
|
12867
13011
|
const elements = [];
|
|
12868
13012
|
if (elemArr) {
|
|
12869
13013
|
for (let i = 0; i < elemArr.length; i++) {
|
|
12870
|
-
elements.push(readElementFromYMap(elemArr.get(i)));
|
|
13014
|
+
elements.push(readElementFromYMap(elemArr.get(i), assets));
|
|
12871
13015
|
}
|
|
12872
13016
|
}
|
|
12873
13017
|
slide.elements = elements;
|
|
12874
13018
|
return slide;
|
|
12875
13019
|
}
|
|
12876
13020
|
function readSlidesFromYDoc(ydoc) {
|
|
13021
|
+
const assets = getAssetsMap(ydoc);
|
|
12877
13022
|
const arr = ydoc.getArray(YDOC_SLIDES_KEY);
|
|
12878
13023
|
const slides = [];
|
|
12879
13024
|
for (let i = 0; i < arr.length; i++) {
|
|
12880
|
-
slides.push(readSlideFromYMap(arr.get(i)));
|
|
13025
|
+
slides.push(readSlideFromYMap(arr.get(i), assets));
|
|
12881
13026
|
}
|
|
12882
13027
|
return slides;
|
|
12883
13028
|
}
|
|
@@ -13056,11 +13201,12 @@ function reconcileTextBody(ymap, rec, factories) {
|
|
|
13056
13201
|
encodeTextBody(segments, ytext);
|
|
13057
13202
|
ymap.set("textBody", ytext);
|
|
13058
13203
|
}
|
|
13059
|
-
function reconcileElementYMap(ymap, element, factories) {
|
|
13204
|
+
function reconcileElementYMap(ymap, element, factories, assets) {
|
|
13060
13205
|
const rec = element;
|
|
13061
13206
|
reconcileScalars(ymap, rec, SCALAR_ELEMENT_KEYS);
|
|
13062
13207
|
reconcileComplexFields(ymap, rec, COMPLEX_ELEMENT_FIELDS);
|
|
13063
13208
|
reconcileTextBody(ymap, rec, factories);
|
|
13209
|
+
reconcileAssetFields(rec.id, rec, ymap, assets);
|
|
13064
13210
|
}
|
|
13065
13211
|
function mapIdAt(arr, index) {
|
|
13066
13212
|
const entry = arr.get(index);
|
|
@@ -13123,7 +13269,7 @@ function reconcileYArrayById(arr, items, adapter) {
|
|
|
13123
13269
|
}
|
|
13124
13270
|
}
|
|
13125
13271
|
var isYArrayLike = (value) => typeof value === "object" && value !== null && typeof value.insert === "function" && typeof value.toArray === "function";
|
|
13126
|
-
function reconcileSlideYMap(ymap, slide, factories) {
|
|
13272
|
+
function reconcileSlideYMap(ymap, slide, factories, assets) {
|
|
13127
13273
|
const rec = slide;
|
|
13128
13274
|
reconcileScalars(ymap, rec, SCALAR_SLIDE_KEYS);
|
|
13129
13275
|
reconcileComplexFields(ymap, rec, COMPLEX_SLIDE_FIELDS);
|
|
@@ -13136,26 +13282,59 @@ function reconcileSlideYMap(ymap, slide, factories) {
|
|
|
13136
13282
|
idOf: (el) => typeof el.id === "string" ? el.id : void 0,
|
|
13137
13283
|
create: (el) => {
|
|
13138
13284
|
const map = factories.createMap();
|
|
13139
|
-
writeElementToYMap(el, map, factories);
|
|
13285
|
+
writeElementToYMap(el, map, factories, assets);
|
|
13140
13286
|
return map;
|
|
13141
13287
|
},
|
|
13142
|
-
update: (map, el) => reconcileElementYMap(map, el, factories)
|
|
13288
|
+
update: (map, el) => reconcileElementYMap(map, el, factories, assets)
|
|
13143
13289
|
});
|
|
13144
13290
|
}
|
|
13145
13291
|
function reconcileSlidesInYDoc(slides, ydoc, factories, origin = LOCAL_SYNC_ORIGIN) {
|
|
13292
|
+
const assets = getAssetsMap(ydoc);
|
|
13146
13293
|
ydoc.transact(() => {
|
|
13147
13294
|
const arr = ydoc.getArray(YDOC_SLIDES_KEY);
|
|
13148
13295
|
reconcileYArrayById(arr, slides, {
|
|
13149
13296
|
idOf: (slide) => typeof slide.id === "string" ? slide.id : void 0,
|
|
13150
13297
|
create: (slide) => {
|
|
13151
13298
|
const map = factories.createMap();
|
|
13152
|
-
writeSlideToYMap(slide, map, factories);
|
|
13299
|
+
writeSlideToYMap(slide, map, factories, assets);
|
|
13153
13300
|
return map;
|
|
13154
13301
|
},
|
|
13155
|
-
update: (map, slide) => reconcileSlideYMap(map, slide, factories)
|
|
13302
|
+
update: (map, slide) => reconcileSlideYMap(map, slide, factories, assets)
|
|
13156
13303
|
});
|
|
13157
13304
|
}, origin);
|
|
13158
13305
|
}
|
|
13306
|
+
function createSyncGate(onOpen, graceMs = INITIAL_SYNC_GRACE_MS) {
|
|
13307
|
+
let opened = false;
|
|
13308
|
+
let timer = null;
|
|
13309
|
+
const clear = () => {
|
|
13310
|
+
if (timer !== null) {
|
|
13311
|
+
clearTimeout(timer);
|
|
13312
|
+
timer = null;
|
|
13313
|
+
}
|
|
13314
|
+
};
|
|
13315
|
+
const open = () => {
|
|
13316
|
+
clear();
|
|
13317
|
+
if (opened) {
|
|
13318
|
+
return;
|
|
13319
|
+
}
|
|
13320
|
+
opened = true;
|
|
13321
|
+
onOpen();
|
|
13322
|
+
};
|
|
13323
|
+
return {
|
|
13324
|
+
isOpen: () => opened,
|
|
13325
|
+
arm: () => {
|
|
13326
|
+
clear();
|
|
13327
|
+
if (!opened) {
|
|
13328
|
+
timer = setTimeout(open, graceMs);
|
|
13329
|
+
}
|
|
13330
|
+
},
|
|
13331
|
+
open,
|
|
13332
|
+
reset: () => {
|
|
13333
|
+
clear();
|
|
13334
|
+
opened = false;
|
|
13335
|
+
}
|
|
13336
|
+
};
|
|
13337
|
+
}
|
|
13159
13338
|
var POSITION_THRESHOLD = 2;
|
|
13160
13339
|
var SIZE_THRESHOLD = 2;
|
|
13161
13340
|
function getElementText(element) {
|
|
@@ -17073,6 +17252,21 @@ var SHAPE_PRESET_DEFS = [
|
|
|
17073
17252
|
glyphClass: ""
|
|
17074
17253
|
}
|
|
17075
17254
|
];
|
|
17255
|
+
var OFFICE_COLOR_SWATCHES = [
|
|
17256
|
+
{ hex: "#000000", label: "Black" },
|
|
17257
|
+
{ hex: "#ffffff", label: "White" },
|
|
17258
|
+
{ hex: "#ff0000", label: "Red" },
|
|
17259
|
+
{ hex: "#00aa00", label: "Green" },
|
|
17260
|
+
{ hex: "#0000ff", label: "Blue" },
|
|
17261
|
+
{ hex: "#ff8800", label: "Orange" },
|
|
17262
|
+
{ hex: "#8800cc", label: "Purple" },
|
|
17263
|
+
{ hex: "#00cccc", label: "Cyan" },
|
|
17264
|
+
{ hex: "#ff69b4", label: "Pink" },
|
|
17265
|
+
{ hex: "#808080", label: "Gray" }
|
|
17266
|
+
];
|
|
17267
|
+
OFFICE_COLOR_SWATCHES.map(
|
|
17268
|
+
(swatch) => swatch.hex
|
|
17269
|
+
);
|
|
17076
17270
|
function resolveTitleBarStatusKey(input) {
|
|
17077
17271
|
const { autosaveState, isDirty, autosaveEnabled, disabledReason } = input;
|
|
17078
17272
|
if (autosaveState === "disabled") {
|
|
@@ -19004,4 +19198,4 @@ function segmentFrameCount(durationMs, fps) {
|
|
|
19004
19198
|
return Math.max(1, Math.ceil(durationMs / (1e3 / fps)));
|
|
19005
19199
|
}
|
|
19006
19200
|
|
|
19007
|
-
export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_ROW_HEIGHT, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS,
|
|
19201
|
+
export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_ROW_HEIGHT, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SLIDE_TRANSITION_KEYFRAMES, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, THEME_COLOR_LABELS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TimelineEngine, WEBM_MIME_CANDIDATES, addSection, alignElements, apply3dEffects, applyCaseTransformToSegments, applyColorChange, applyDuotone, applyFormatToElement, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildChartViewModel, buildCssGradientFromShapeStyle, buildDuotoneCacheKey, buildElementClipboardPayload, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPreviewAnimation, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildTextBody3DSceneStyle, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, canvasToJpegData, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampUnitInterval, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, colorWithOpacity, comparePresentation, computeAllNotesPages, computeAutoFitTextStyle, computeColumnBoundaries, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, countTextSegments, createBlankSlide, createDefaultChartElement, createSyncGate, createTouchGestureRecognizer, defaultCssVars, defaultRadius, defaultThemeColors, deleteSection, deleteTableColumn, deleteTableRow, derivePresenceList, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, encodeGif, expandTextBuildAnimations, extractPathPoints, filterCommands, findChartPartTarget, findSmartArtNodeText, formatAxisValue, formatAxisValueWithUnits, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getImageEffectsFilter, getImageEffectsOpacity, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getNotesPrintableArea, getOleBadgeLabel, getOleTypeColor, getOleTypeLabel, getPatternSvg, getPendingSelectionRestore, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, insertTableColumn, insertTableRow, isBrowserOpenableMime, isCellInRect, isEditableTextElement, isExportAbortError, isFirstSlide, isKeyboardOpen, isLastSlide, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isTemplateElement, isTemplateElementId, isUrlSafe, makeCloneId, makeSlideId, mergeAdditiveSelection, mergeCells, mobileElapsedSince, mobileSlideCounter, mountModel3D, mountSurfaceChart3D, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, openPptxFile, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePpactionUrl, pickSupportedMimeType, preprocessCssForCapture, pressuresToWidths, readSlidesFromYDoc, readViewportMetrics, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, remapTextToSegments, renameSection, rerouteConnectorsForMovedElements, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveLineHeight, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveRegionCode, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, restoreSegmentSelection, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeMathMl, saveAutosaveSnapshot, secureRandomUuid, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor, setCachedResult, setDuotoneCachedResult, setPendingSelectionRestore, shadeColor2, shouldCommitSmartArtNodeText, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, substituteFieldText, svgLineCap, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, transformTextCase, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, withChartPointValue, withChartTitle };
|
|
Binary file
|
|
Binary file
|