ooxml-ui 1.24.0 → 1.25.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.
- package/README.md +1 -0
- package/custom-elements.json +34 -0
- package/dist/{chunk-Y67BTA5W.js → chunk-5ZFOSFCK.js} +3 -2
- package/dist/{chunk-A277D2OJ.js → chunk-S736N64L.js} +1 -1
- package/dist/{chunk-DQEV4EMA.js → chunk-SC44SOIS.js} +122 -2
- package/dist/{chunk-4AARUBIF.js → chunk-X5XR45BK.js} +1 -1
- package/dist/controls.d.ts +4 -2
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +1 -1
- package/dist/dialog/progress-dialog.d.ts +42 -0
- package/dist/dialog/progress-dialog.d.ts.map +1 -0
- package/dist/docx.js +13 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/pptx/{chunk-SQQJLXTZ.cjs → chunk-4TFSELNQ.cjs} +323 -48
- package/dist/pptx/{chunk-ZO43VVWQ.cjs → chunk-J642EKDV.cjs} +48 -0
- package/dist/pptx/{chunk-3UOENEK7.mjs → chunk-QTLP3MX7.mjs} +305 -39
- package/dist/pptx/{chunk-B5FR65LB.mjs → chunk-SCURBCNQ.mjs} +47 -1
- package/dist/pptx/dom/index.cjs +220 -220
- package/dist/pptx/dom/index.mjs +3 -3
- package/dist/pptx/export/html2canvas-clone.cjs +10 -2
- package/dist/pptx/export/html2canvas-clone.d.ts +24 -0
- package/dist/pptx/export/html2canvas-clone.d.ts.map +1 -1
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +2994 -2950
- package/dist/pptx/index.mjs +2 -2
- package/dist/pptx/render/export-progress.d.ts +12 -0
- package/dist/pptx/render/export-progress.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +1 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/read-only-session.d.ts +120 -0
- package/dist/pptx/render/read-only-session.d.ts.map +1 -0
- package/dist/pptx/web-components/index.d.ts +1 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/office-alias-types.d.ts +6 -1
- package/dist/pptx/web-components/office-alias-types.d.ts.map +1 -1
- package/dist/pptx/web-components/office-aliases.d.ts +5 -0
- package/dist/pptx/web-components/office-aliases.d.ts.map +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts +1 -1
- package/dist/pptx/web-components/office-token-bridge.d.ts.map +1 -1
- package/dist/teams.js +2 -2
- package/dist/visio.js +3 -3
- package/dist/xlsx.js +6 -6
- package/package.json +2 -2
|
@@ -15,7 +15,7 @@ var chunkW3X2UVYQ_cjs = require('./chunk-W3X2UVYQ.cjs');
|
|
|
15
15
|
var chunkG3UVZ5FO_cjs = require('./chunk-G3UVZ5FO.cjs');
|
|
16
16
|
var chunkFOE75Z6N_cjs = require('./chunk-FOE75Z6N.cjs');
|
|
17
17
|
var chunkNTXHQHCS_cjs = require('./chunk-NTXHQHCS.cjs');
|
|
18
|
-
var
|
|
18
|
+
var chunkJ642EKDV_cjs = require('./chunk-J642EKDV.cjs');
|
|
19
19
|
var chunkX4FNVH7J_cjs = require('./chunk-X4FNVH7J.cjs');
|
|
20
20
|
var chunkUPN5FFKP_cjs = require('./chunk-UPN5FFKP.cjs');
|
|
21
21
|
var chunkOJFD3SHS_cjs = require('./chunk-OJFD3SHS.cjs');
|
|
@@ -1499,12 +1499,12 @@ function getPresetShapeVectorGeometry(shapeType, width, height, adjustments) {
|
|
|
1499
1499
|
function outlineStrands(compoundLine, strokeWidth) {
|
|
1500
1500
|
const offsets2 = getCompoundLineOffsets(compoundLine, strokeWidth);
|
|
1501
1501
|
if (offsets2.length <= 1) {
|
|
1502
|
-
return [{ strokeWidth, cssStrokeWidth:
|
|
1502
|
+
return [{ strokeWidth, cssStrokeWidth: chunkJ642EKDV_cjs.screenStrokeWidth(strokeWidth), offset: 0 }];
|
|
1503
1503
|
}
|
|
1504
1504
|
const widths = getCompoundLineWidths(compoundLine, strokeWidth);
|
|
1505
1505
|
return offsets2.map((offset, idx) => {
|
|
1506
1506
|
const width = widths[idx] ?? strokeWidth;
|
|
1507
|
-
return { strokeWidth: width, cssStrokeWidth:
|
|
1507
|
+
return { strokeWidth: width, cssStrokeWidth: chunkJ642EKDV_cjs.screenStrokeWidth(width), offset };
|
|
1508
1508
|
});
|
|
1509
1509
|
}
|
|
1510
1510
|
function needsCenteredStrokeOverlay(element, style, declaredWidth) {
|
|
@@ -2203,10 +2203,10 @@ function getComputedStrokeStyle(element) {
|
|
|
2203
2203
|
const borderColor = style.strokeOpacity === void 0 ? rawColor : chunkG3UVZ5FO_cjs.colorWithOpacity(chunkG3UVZ5FO_cjs.normalizeHexColor(rawColor, chunkG3UVZ5FO_cjs.DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
2204
2204
|
return {
|
|
2205
2205
|
borderWidth,
|
|
2206
|
-
cssBorderWidth:
|
|
2206
|
+
cssBorderWidth: chunkJ642EKDV_cjs.screenStrokeWidth(borderWidth),
|
|
2207
2207
|
borderStyle,
|
|
2208
2208
|
borderColor,
|
|
2209
|
-
border:
|
|
2209
|
+
border: chunkJ642EKDV_cjs.screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
|
|
2210
2210
|
...joins
|
|
2211
2211
|
};
|
|
2212
2212
|
}
|
|
@@ -2353,14 +2353,14 @@ function tileAlignmentPercentages(alignment) {
|
|
|
2353
2353
|
return { x: 0, y: 0 };
|
|
2354
2354
|
}
|
|
2355
2355
|
}
|
|
2356
|
-
function tileAxisPosition(
|
|
2356
|
+
function tileAxisPosition(percent4, offsetPx) {
|
|
2357
2357
|
if (offsetPx === 0) {
|
|
2358
|
-
return `${
|
|
2358
|
+
return `${percent4}%`;
|
|
2359
2359
|
}
|
|
2360
|
-
if (
|
|
2360
|
+
if (percent4 === 0) {
|
|
2361
2361
|
return `${offsetPx}px`;
|
|
2362
2362
|
}
|
|
2363
|
-
return `calc(${
|
|
2363
|
+
return `calc(${percent4}% + ${offsetPx}px)`;
|
|
2364
2364
|
}
|
|
2365
2365
|
function buildMirrorTiledBackground(src, flip, scaleX, scaleY, nativeSize) {
|
|
2366
2366
|
if (!src.startsWith("data:")) {
|
|
@@ -15663,10 +15663,10 @@ function createAttributeTransformModel(anim, box) {
|
|
|
15663
15663
|
}
|
|
15664
15664
|
|
|
15665
15665
|
// src/pptx/render/animation-transform-keyframes.ts
|
|
15666
|
-
function slideOffset(
|
|
15666
|
+
function slideOffset(percent4, axis, origin) {
|
|
15667
15667
|
const fallback = axis === "w" ? "1280px" : "720px";
|
|
15668
15668
|
const varName = origin === "parent" ? `--pptx-parent-${axis}` : `--pptx-slide-${axis}`;
|
|
15669
|
-
return `calc(var(${varName}, ${fallback}) * ${(
|
|
15669
|
+
return `calc(var(${varName}, ${fallback}) * ${(percent4 / 100).toFixed(4)})`;
|
|
15670
15670
|
}
|
|
15671
15671
|
function hasRotation(anim) {
|
|
15672
15672
|
return anim.rotationBy !== void 0 || anim.rotationFrom !== void 0 || anim.rotationTo !== void 0;
|
|
@@ -19627,10 +19627,10 @@ function buildMotionPathKeyframes(args) {
|
|
|
19627
19627
|
return void 0;
|
|
19628
19628
|
}
|
|
19629
19629
|
const frames = points.map((point, index) => {
|
|
19630
|
-
const
|
|
19630
|
+
const percent4 = Math.round(index / (points.length - 1) * 100);
|
|
19631
19631
|
const x = trimNumber(point.x * args.slideWidth);
|
|
19632
19632
|
const y = trimNumber(point.y * args.slideHeight);
|
|
19633
|
-
return ` ${
|
|
19633
|
+
return ` ${percent4}% { transform: translate(${x}px, ${y}px); }`;
|
|
19634
19634
|
});
|
|
19635
19635
|
return {
|
|
19636
19636
|
keyframeName: args.keyframeName,
|
|
@@ -22075,7 +22075,7 @@ function borderToCss(border, resolve) {
|
|
|
22075
22075
|
const width = border.width ?? 1;
|
|
22076
22076
|
const dash = ooxmlDashToCssBorderStyle(border.dash);
|
|
22077
22077
|
const color = border.color ?? resolve(border.fill) ?? "#000000";
|
|
22078
|
-
return
|
|
22078
|
+
return chunkJ642EKDV_cjs.screenBorder(width, dash, color);
|
|
22079
22079
|
}
|
|
22080
22080
|
function collectSections(entry6, tableData, pos) {
|
|
22081
22081
|
const { rowIndex, cellIndex, rowCount, columnCount } = pos;
|
|
@@ -23540,7 +23540,7 @@ function cellStyleToCss(style) {
|
|
|
23540
23540
|
const w = edge.width ?? 1;
|
|
23541
23541
|
const c = edge.color ?? style.borderColor ?? "#000000";
|
|
23542
23542
|
const s = ooxmlDashToCssBorderStyle(edge.dash);
|
|
23543
|
-
css[edge.prefix] =
|
|
23543
|
+
css[edge.prefix] = chunkJ642EKDV_cjs.screenBorder(w, s, c);
|
|
23544
23544
|
}
|
|
23545
23545
|
}
|
|
23546
23546
|
Object.assign(css, cellPaddingCss(style));
|
|
@@ -31023,11 +31023,11 @@ function sampleImageCropMorphSteps(fromElement, toElement) {
|
|
|
31023
31023
|
for (const key of keys) {
|
|
31024
31024
|
insets[key] = from[key] + (to[key] - from[key]) * progress;
|
|
31025
31025
|
}
|
|
31026
|
-
const
|
|
31026
|
+
const percent4 = Math.round(time * 100 * 1e4) / 1e4;
|
|
31027
31027
|
const { placement, crop } = fitTransformsFromInsets(insets);
|
|
31028
31028
|
const identity8 = "translate(0%, 0%) scale(1, 1)";
|
|
31029
31029
|
const transform = step === CROP_TRACK_STEPS ? buildImageFitTransform(toElement, true) : `${placement || identity8} ${crop || identity8}`;
|
|
31030
|
-
samples.push({ percent: `${
|
|
31030
|
+
samples.push({ percent: `${percent4}%`, progress, transform });
|
|
31031
31031
|
}
|
|
31032
31032
|
return samples;
|
|
31033
31033
|
}
|
|
@@ -44079,11 +44079,11 @@ function zoomOutScale(scale2) {
|
|
|
44079
44079
|
}
|
|
44080
44080
|
var ZOOM_MIN_PERCENT = MIN_ZOOM_SCALE * 100;
|
|
44081
44081
|
var ZOOM_MAX_PERCENT = MAX_ZOOM_SCALE * 100;
|
|
44082
|
-
function zoomInPercent(
|
|
44083
|
-
return Math.round(zoomInScale(
|
|
44082
|
+
function zoomInPercent(percent4) {
|
|
44083
|
+
return Math.round(zoomInScale(percent4 / 100) * 100);
|
|
44084
44084
|
}
|
|
44085
|
-
function zoomOutPercent(
|
|
44086
|
-
return Math.round(zoomOutScale(
|
|
44085
|
+
function zoomOutPercent(percent4) {
|
|
44086
|
+
return Math.round(zoomOutScale(percent4 / 100) * 100);
|
|
44087
44087
|
}
|
|
44088
44088
|
|
|
44089
44089
|
// src/pptx/render/viewer-zoom-store.ts
|
|
@@ -58178,14 +58178,14 @@ function resolveAccentHex(themeColorMap, slot) {
|
|
|
58178
58178
|
|
|
58179
58179
|
// src/pptx/render/ribbon-galleries/picture-color-gallery.ts
|
|
58180
58180
|
var KEY2 = "pptx.gallery.pictureColor";
|
|
58181
|
-
function saturationPreset(
|
|
58182
|
-
const sat =
|
|
58183
|
-
const normal =
|
|
58181
|
+
function saturationPreset(percent4) {
|
|
58182
|
+
const sat = percent4 * 1e3;
|
|
58183
|
+
const normal = percent4 === NEUTRAL_SATURATION_PERCENT;
|
|
58184
58184
|
return {
|
|
58185
|
-
id: normal ? "saturationNormal" : `saturation${
|
|
58185
|
+
id: normal ? "saturationNormal" : `saturation${percent4}`,
|
|
58186
58186
|
labelKey: normal ? `${KEY2}.saturationNormal` : `${KEY2}.saturation`,
|
|
58187
|
-
...!normal && { labelParams: { amount:
|
|
58188
|
-
label: normal ? "Saturation: 100% (Normal)" : `Saturation: ${
|
|
58187
|
+
...!normal && { labelParams: { amount: percent4 } },
|
|
58188
|
+
label: normal ? "Saturation: 100% (Normal)" : `Saturation: ${percent4}%`,
|
|
58189
58189
|
changes: () => ({ colorSaturation: normal ? void 0 : { sat } }),
|
|
58190
58190
|
applied: (fx) => (fx.colorSaturation?.sat ?? NEUTRAL_SATURATION_PERCENT * 1e3) === sat,
|
|
58191
58191
|
preview: { css: getImageCorrectionsFilterTokens({ colorSaturation: { sat } }).join(" ") }
|
|
@@ -58253,14 +58253,14 @@ function recolorPresets(themeColorMap) {
|
|
|
58253
58253
|
applied: isWashout,
|
|
58254
58254
|
preview: { css: "brightness(1.7) contrast(0.3)" }
|
|
58255
58255
|
};
|
|
58256
|
-
const biLevels = BI_LEVEL_THRESHOLDS.map((
|
|
58257
|
-
id: `recolorBlackWhite${
|
|
58256
|
+
const biLevels = BI_LEVEL_THRESHOLDS.map((percent4) => ({
|
|
58257
|
+
id: `recolorBlackWhite${percent4}`,
|
|
58258
58258
|
labelKey: `${KEY2}.recolorBlackWhite`,
|
|
58259
|
-
labelParams: { amount:
|
|
58260
|
-
label: `Black and White: ${
|
|
58261
|
-
changes: (fx) => ({ ...recolorReset(fx), biLevel:
|
|
58262
|
-
applied: (fx) => fx.biLevel ===
|
|
58263
|
-
preview: { threshold:
|
|
58259
|
+
labelParams: { amount: percent4 },
|
|
58260
|
+
label: `Black and White: ${percent4}%`,
|
|
58261
|
+
changes: (fx) => ({ ...recolorReset(fx), biLevel: percent4 }),
|
|
58262
|
+
applied: (fx) => fx.biLevel === percent4,
|
|
58263
|
+
preview: { threshold: percent4 }
|
|
58264
58264
|
}));
|
|
58265
58265
|
const accents = RECOLOR_ACCENTS.flatMap((slot, index) => {
|
|
58266
58266
|
const hex2 = resolveAccentHex(themeColorMap, slot);
|
|
@@ -58318,20 +58318,20 @@ var PICTURE_COLOR_GALLERY = adjustGalleryModule(
|
|
|
58318
58318
|
|
|
58319
58319
|
// src/pptx/render/ribbon-galleries/picture-corrections-gallery.ts
|
|
58320
58320
|
var KEY3 = "pptx.gallery.pictureCorrections";
|
|
58321
|
-
function sharpenPreset(
|
|
58322
|
-
const amount =
|
|
58323
|
-
const abs = Math.abs(
|
|
58324
|
-
const id =
|
|
58325
|
-
const css =
|
|
58321
|
+
function sharpenPreset(percent4) {
|
|
58322
|
+
const amount = percent4 * 1e3;
|
|
58323
|
+
const abs = Math.abs(percent4);
|
|
58324
|
+
const id = percent4 < 0 ? `soften${abs}` : percent4 > 0 ? `sharpen${abs}` : "sharpenNormal";
|
|
58325
|
+
const css = percent4 < 0 ? getImageCorrectionsFilterTokens({ sharpenSoften: { amount } }).join(" ") : (
|
|
58326
58326
|
// A sharpen is an SVG convolution at render time; a contrast lift previews it.
|
|
58327
|
-
|
|
58327
|
+
percent4 > 0 ? `contrast(${1 + percent4 / 200})` : ""
|
|
58328
58328
|
);
|
|
58329
58329
|
return {
|
|
58330
58330
|
id,
|
|
58331
|
-
labelKey:
|
|
58332
|
-
...
|
|
58333
|
-
label:
|
|
58334
|
-
changes: () => ({ sharpenSoften:
|
|
58331
|
+
labelKey: percent4 === 0 ? `${KEY3}.sharpenNormal` : `${KEY3}.${percent4 < 0 ? "soften" : "sharpen"}`,
|
|
58332
|
+
...percent4 !== 0 && { labelParams: { amount: abs } },
|
|
58333
|
+
label: percent4 === 0 ? "Sharpen: 0% (Normal)" : `${percent4 < 0 ? "Soften" : "Sharpen"}: ${abs}%`,
|
|
58334
|
+
changes: () => ({ sharpenSoften: percent4 === 0 ? void 0 : { amount } }),
|
|
58335
58335
|
applied: (fx) => (fx.sharpenSoften?.amount ?? 0) === amount,
|
|
58336
58336
|
preview: { css }
|
|
58337
58337
|
};
|
|
@@ -65008,6 +65008,127 @@ async function checkModifyPassword(verifier, password) {
|
|
|
65008
65008
|
}
|
|
65009
65009
|
}
|
|
65010
65010
|
|
|
65011
|
+
// src/pptx/render/read-only-session.ts
|
|
65012
|
+
var INITIAL_READ_ONLY_SESSION = Object.freeze({
|
|
65013
|
+
bannerHidden: false,
|
|
65014
|
+
editAnyway: false,
|
|
65015
|
+
passwordPromptOpen: false,
|
|
65016
|
+
passwordError: null,
|
|
65017
|
+
checkingPassword: false,
|
|
65018
|
+
passwordCheck: 0
|
|
65019
|
+
});
|
|
65020
|
+
function unlocked(session) {
|
|
65021
|
+
return {
|
|
65022
|
+
...session,
|
|
65023
|
+
bannerHidden: true,
|
|
65024
|
+
editAnyway: true,
|
|
65025
|
+
passwordPromptOpen: false,
|
|
65026
|
+
passwordError: null,
|
|
65027
|
+
checkingPassword: false
|
|
65028
|
+
};
|
|
65029
|
+
}
|
|
65030
|
+
function reduceReadOnlySession(session, event) {
|
|
65031
|
+
switch (event.type) {
|
|
65032
|
+
case "reset":
|
|
65033
|
+
return { ...INITIAL_READ_ONLY_SESSION, passwordCheck: session.passwordCheck + 1 };
|
|
65034
|
+
case "editAnyway":
|
|
65035
|
+
return event.requiresPassword ? { ...session, passwordPromptOpen: true, passwordError: null } : unlocked(session);
|
|
65036
|
+
case "dismiss":
|
|
65037
|
+
return session.bannerHidden ? session : { ...session, bannerHidden: true };
|
|
65038
|
+
case "cancelPassword":
|
|
65039
|
+
return {
|
|
65040
|
+
...session,
|
|
65041
|
+
passwordPromptOpen: false,
|
|
65042
|
+
passwordError: null,
|
|
65043
|
+
checkingPassword: false,
|
|
65044
|
+
passwordCheck: session.passwordCheck + 1
|
|
65045
|
+
};
|
|
65046
|
+
case "checkStarted":
|
|
65047
|
+
return session.checkingPassword ? session : {
|
|
65048
|
+
...session,
|
|
65049
|
+
checkingPassword: true,
|
|
65050
|
+
passwordCheck: session.passwordCheck + 1
|
|
65051
|
+
};
|
|
65052
|
+
case "checkFinished":
|
|
65053
|
+
if (!session.checkingPassword || event.check !== session.passwordCheck) {
|
|
65054
|
+
return session;
|
|
65055
|
+
}
|
|
65056
|
+
return event.result.ok ? unlocked(session) : { ...session, checkingPassword: false, passwordError: event.result.reason };
|
|
65057
|
+
}
|
|
65058
|
+
}
|
|
65059
|
+
function readOnlyLocked(recommendation, session) {
|
|
65060
|
+
return recommendation?.defaultReadOnly === true && !session.editAnyway;
|
|
65061
|
+
}
|
|
65062
|
+
function readOnlyBannerVisible(recommendation, session) {
|
|
65063
|
+
return (recommendation?.kind ?? null) !== null && !session.bannerHidden;
|
|
65064
|
+
}
|
|
65065
|
+
function readOnlyBannerState(recommendation, session, translate) {
|
|
65066
|
+
return {
|
|
65067
|
+
kind: recommendation.kind ?? null,
|
|
65068
|
+
messageKey: recommendation.messageKey,
|
|
65069
|
+
passwordPromptOpen: session.passwordPromptOpen,
|
|
65070
|
+
passwordError: session.passwordError,
|
|
65071
|
+
checkingPassword: session.checkingPassword,
|
|
65072
|
+
...translate ? { translate } : {}
|
|
65073
|
+
};
|
|
65074
|
+
}
|
|
65075
|
+
function applyReadOnlySessionEvent(store, event) {
|
|
65076
|
+
const current = store.get();
|
|
65077
|
+
const next = reduceReadOnlySession(current, event);
|
|
65078
|
+
if (next !== current) {
|
|
65079
|
+
store.set(next);
|
|
65080
|
+
}
|
|
65081
|
+
}
|
|
65082
|
+
async function runReadOnlyPasswordCheck(store, verifier, password, check = checkModifyPassword) {
|
|
65083
|
+
const before = store.get();
|
|
65084
|
+
const started = reduceReadOnlySession(before, { type: "checkStarted" });
|
|
65085
|
+
if (started === before) {
|
|
65086
|
+
return;
|
|
65087
|
+
}
|
|
65088
|
+
store.set(started);
|
|
65089
|
+
let result;
|
|
65090
|
+
try {
|
|
65091
|
+
result = await check(verifier, password);
|
|
65092
|
+
} catch {
|
|
65093
|
+
result = { ok: false, reason: "unsupported-algorithm" };
|
|
65094
|
+
}
|
|
65095
|
+
applyReadOnlySessionEvent(store, {
|
|
65096
|
+
type: "checkFinished",
|
|
65097
|
+
check: started.passwordCheck,
|
|
65098
|
+
result
|
|
65099
|
+
});
|
|
65100
|
+
}
|
|
65101
|
+
function readOnlySessionActions(store, source) {
|
|
65102
|
+
const apply6 = (event) => applyReadOnlySessionEvent(store, event);
|
|
65103
|
+
return {
|
|
65104
|
+
reset: () => apply6({ type: "reset" }),
|
|
65105
|
+
editAnyway: () => apply6({
|
|
65106
|
+
type: "editAnyway",
|
|
65107
|
+
requiresPassword: source.recommendation()?.requiresPassword === true
|
|
65108
|
+
}),
|
|
65109
|
+
dismiss: () => apply6({ type: "dismiss" }),
|
|
65110
|
+
cancelPassword: () => apply6({ type: "cancelPassword" }),
|
|
65111
|
+
submitPassword: (password) => runReadOnlyPasswordCheck(store, source.modifyVerifier(), password)
|
|
65112
|
+
};
|
|
65113
|
+
}
|
|
65114
|
+
function dispatchReadOnlyBannerIntent(event, handlers) {
|
|
65115
|
+
const intent = event.detail;
|
|
65116
|
+
switch (intent?.id) {
|
|
65117
|
+
case "editAnyway":
|
|
65118
|
+
handlers.editAnyway?.();
|
|
65119
|
+
break;
|
|
65120
|
+
case "dismiss":
|
|
65121
|
+
handlers.dismiss?.();
|
|
65122
|
+
break;
|
|
65123
|
+
case "cancelPassword":
|
|
65124
|
+
handlers.cancelPassword?.();
|
|
65125
|
+
break;
|
|
65126
|
+
case "submitPassword":
|
|
65127
|
+
handlers.submitPassword?.(intent.password);
|
|
65128
|
+
break;
|
|
65129
|
+
}
|
|
65130
|
+
}
|
|
65131
|
+
|
|
65011
65132
|
// src/pptx/render/compatibility-warning-toasts.ts
|
|
65012
65133
|
var CODE_MESSAGE_KEYS = {
|
|
65013
65134
|
UNMODELLED_PRESENTATION_MARKUP: "pptx.compatibility.unmodelledPresentationMarkup",
|
|
@@ -65442,14 +65563,14 @@ async function buildForeignObjectSvgBody(element, doc, options) {
|
|
|
65442
65563
|
backgroundColor,
|
|
65443
65564
|
readComputedStyle = (el) => window.getComputedStyle(el)
|
|
65444
65565
|
} = options;
|
|
65445
|
-
await
|
|
65566
|
+
await chunkJ642EKDV_cjs.settleThreeViews(element);
|
|
65446
65567
|
const clone = element.cloneNode(true);
|
|
65447
|
-
|
|
65568
|
+
chunkJ642EKDV_cjs.withAuthoredStrokeWidths(
|
|
65448
65569
|
element,
|
|
65449
65570
|
() => inlineComputedStylesOnClone(element, clone, readComputedStyle)
|
|
65450
65571
|
);
|
|
65451
|
-
|
|
65452
|
-
|
|
65572
|
+
chunkJ642EKDV_cjs.snapshotThreeViewsIntoClone(element, clone);
|
|
65573
|
+
chunkJ642EKDV_cjs.prepareExportClone(clone);
|
|
65453
65574
|
const [{ allEmbedded: imagesEmbedded }, externalFonts] = await Promise.all([
|
|
65454
65575
|
embedImagesOnClone(clone),
|
|
65455
65576
|
collectExternalFontFaceCss(doc, fetchAsDataUrl)
|
|
@@ -76643,6 +76764,115 @@ var OfficeUiColorGrid = class extends OfficeElement {
|
|
|
76643
76764
|
};
|
|
76644
76765
|
var defineColorGrid = definer("office-ui-color-grid", () => OfficeUiColorGrid);
|
|
76645
76766
|
|
|
76767
|
+
// raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/dialog/progress-dialog.css?raw
|
|
76768
|
+
var progress_dialog_default = ":host {\n display: none;\n position: fixed;\n inset: 0;\n /* Above popovers and the File backstage the job is started from. */\n z-index: calc(var(--office-z-popover) + 100);\n align-items: center;\n justify-content: center;\n}\n:host([open]) {\n display: flex;\n}\n.backdrop {\n position: absolute;\n inset: 0;\n background: var(--office-overlay);\n}\n.box {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--office-space-3);\n width: min(calc(100vw - 2 * var(--office-space-4)), 24rem);\n padding: var(--office-space-5);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-lg);\n background: var(--office-popover);\n color: var(--office-popover-foreground);\n box-shadow: var(--office-shadow-lg);\n font-family: var(--office-font);\n}\nh2 {\n margin: 0;\n font-size: var(--office-font-size);\n font-weight: 600;\n}\n.track {\n height: var(--office-space-2-5);\n overflow: hidden;\n border-radius: var(--office-radius-full);\n background: var(--office-selected);\n}\n.fill {\n height: 100%;\n border-radius: inherit;\n background: var(--office-accent);\n transition: width 300ms ease-out;\n}\n.row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--office-space-2);\n font-size: var(--office-font-size-xs);\n color: var(--office-muted-foreground);\n}\n.percent {\n font-variant-numeric: tabular-nums;\n}\n.actions {\n display: flex;\n justify-content: flex-end;\n}\nbutton {\n box-sizing: border-box;\n min-height: var(--office-control-height-lg);\n padding: var(--office-space-1-5) var(--office-space-3-5);\n border: var(--office-border-width) solid var(--office-border);\n border-radius: var(--office-radius-md);\n background: var(--office-surface);\n color: var(--office-foreground);\n font: 500 var(--office-font-size) / 1.2 var(--office-font);\n cursor: pointer;\n}\nbutton:hover {\n background: var(--office-selected);\n}\nbutton:focus-visible {\n outline: var(--office-focus-width) solid var(--office-ring);\n outline-offset: var(--office-focus-offset);\n}\n@media (prefers-reduced-motion: reduce) {\n .fill {\n transition: none;\n }\n}\n@media (pointer: coarse) {\n button {\n min-height: var(--office-target-size-touch);\n }\n}\n@media (forced-colors: active) {\n .fill {\n background: Highlight;\n }\n .track {\n border: var(--office-border-width) solid CanvasText;\n }\n}\n";
|
|
76769
|
+
|
|
76770
|
+
// src/dialog/progress-dialog.ts
|
|
76771
|
+
function percent3(value) {
|
|
76772
|
+
return Number.isFinite(value) ? Math.min(100, Math.max(0, Math.round(value))) : 0;
|
|
76773
|
+
}
|
|
76774
|
+
var OfficeUiProgressDialog = class extends OfficeElement {
|
|
76775
|
+
static cancelEvent = "office-progress-cancel";
|
|
76776
|
+
static testIdPrefix = "office-progress";
|
|
76777
|
+
static styles = controlStyles(progress_dialog_default);
|
|
76778
|
+
// A product subclass overrides `state` with its own accessor, so Lit is not told about it: its
|
|
76779
|
+
// first update would read the property before the subclass's fields exist.
|
|
76780
|
+
model = { open: false, title: "", progress: 0, status: "" };
|
|
76781
|
+
wasOpen = false;
|
|
76782
|
+
returnFocus = null;
|
|
76783
|
+
constructor() {
|
|
76784
|
+
super();
|
|
76785
|
+
this.addEventListener("keydown", (event) => this.onKey(event));
|
|
76786
|
+
this.addEventListener("mousedown", (event) => this.onPress(event));
|
|
76787
|
+
}
|
|
76788
|
+
get state() {
|
|
76789
|
+
return this.model;
|
|
76790
|
+
}
|
|
76791
|
+
set state(value) {
|
|
76792
|
+
this.model = value;
|
|
76793
|
+
this.requestUpdate("state");
|
|
76794
|
+
}
|
|
76795
|
+
get cancelButton() {
|
|
76796
|
+
return this.renderRoot.querySelector("button");
|
|
76797
|
+
}
|
|
76798
|
+
onKey(event) {
|
|
76799
|
+
if (!this.model.open) return;
|
|
76800
|
+
if (event.key === "Tab" || event.key === "Escape") {
|
|
76801
|
+
event.preventDefault();
|
|
76802
|
+
event.stopPropagation();
|
|
76803
|
+
this.cancelButton?.focus();
|
|
76804
|
+
}
|
|
76805
|
+
}
|
|
76806
|
+
onPress(event) {
|
|
76807
|
+
if (!this.model.open) return;
|
|
76808
|
+
const cancel = this.cancelButton;
|
|
76809
|
+
if (cancel && event.composedPath().includes(cancel)) return;
|
|
76810
|
+
event.preventDefault();
|
|
76811
|
+
}
|
|
76812
|
+
cancel() {
|
|
76813
|
+
this.fire(this.constructor.cancelEvent, {});
|
|
76814
|
+
}
|
|
76815
|
+
willUpdate() {
|
|
76816
|
+
this.toggleAttribute("open", this.model.open);
|
|
76817
|
+
}
|
|
76818
|
+
updated(_changed) {
|
|
76819
|
+
const open = this.model.open;
|
|
76820
|
+
if (open && !this.wasOpen) {
|
|
76821
|
+
const active2 = modalActiveElement(this.ownerDocument);
|
|
76822
|
+
this.returnFocus = active2 && active2 !== this.ownerDocument.body ? active2 : null;
|
|
76823
|
+
this.cancelButton?.focus();
|
|
76824
|
+
} else if (!open && this.wasOpen) {
|
|
76825
|
+
const target = this.returnFocus;
|
|
76826
|
+
this.returnFocus = null;
|
|
76827
|
+
target?.focus?.();
|
|
76828
|
+
}
|
|
76829
|
+
this.wasOpen = open;
|
|
76830
|
+
}
|
|
76831
|
+
render() {
|
|
76832
|
+
const { testIdPrefix: p } = this.constructor;
|
|
76833
|
+
const s = this.model;
|
|
76834
|
+
if (!s.open) return lit.html``;
|
|
76835
|
+
const value = percent3(s.progress);
|
|
76836
|
+
return lit.html`
|
|
76837
|
+
<div class="backdrop"></div>
|
|
76838
|
+
<div
|
|
76839
|
+
class="box"
|
|
76840
|
+
role="dialog"
|
|
76841
|
+
aria-modal="true"
|
|
76842
|
+
aria-labelledby="title"
|
|
76843
|
+
aria-describedby="status"
|
|
76844
|
+
data-testid="${p}-dialog"
|
|
76845
|
+
>
|
|
76846
|
+
<h2 id="title">${s.title}</h2>
|
|
76847
|
+
<div
|
|
76848
|
+
class="track"
|
|
76849
|
+
role="progressbar"
|
|
76850
|
+
aria-labelledby="title"
|
|
76851
|
+
aria-valuemin="0"
|
|
76852
|
+
aria-valuemax="100"
|
|
76853
|
+
aria-valuenow=${value}
|
|
76854
|
+
data-testid="${p}-bar"
|
|
76855
|
+
>
|
|
76856
|
+
<div class="fill" style="width:${value}%"></div>
|
|
76857
|
+
</div>
|
|
76858
|
+
<div class="row">
|
|
76859
|
+
<span id="status" aria-live="polite">${s.status}</span>
|
|
76860
|
+
<span class="percent" aria-hidden="true">${value}%</span>
|
|
76861
|
+
</div>
|
|
76862
|
+
<div class="actions">
|
|
76863
|
+
<button type="button" data-testid="${p}-cancel" @click=${() => this.cancel()}
|
|
76864
|
+
>${s.cancelLabel ?? "Cancel"}</button
|
|
76865
|
+
>
|
|
76866
|
+
</div>
|
|
76867
|
+
</div>
|
|
76868
|
+
`;
|
|
76869
|
+
}
|
|
76870
|
+
};
|
|
76871
|
+
var defineProgressDialog = definer(
|
|
76872
|
+
"office-ui-progress-dialog",
|
|
76873
|
+
() => OfficeUiProgressDialog
|
|
76874
|
+
);
|
|
76875
|
+
|
|
76646
76876
|
// src/pptx/web-components/office-token-bridge.ts
|
|
76647
76877
|
var BASE = `
|
|
76648
76878
|
--office-ring: var(--pptx-focus-ring-color, var(--_pptx-ring));
|
|
@@ -76723,6 +76953,12 @@ var STATUS_BAR = `:host {
|
|
|
76723
76953
|
var EXTRAS = {
|
|
76724
76954
|
"pptx-ui-title-bar": TITLE_BAR,
|
|
76725
76955
|
"pptx-ui-status-bar": STATUS_BAR,
|
|
76956
|
+
"pptx-ui-export-progress": `:host { --office-popover: var(--pptx-popover, var(--pptx-card, #1e1e2e));
|
|
76957
|
+
--office-popover-foreground: var(--pptx-popover-foreground, #f9fafb);
|
|
76958
|
+
--office-foreground: var(--pptx-foreground, #f9fafb); --office-border: var(--pptx-border, #33334d);
|
|
76959
|
+
--office-muted-foreground: var(--pptx-muted-foreground, #a5a5b5);
|
|
76960
|
+
--office-accent: var(--pptx-primary, #6366f1); --office-surface: var(--pptx-secondary, #1e1e2e);
|
|
76961
|
+
--office-selected: var(--pptx-muted, #2a2a3d); }`,
|
|
76726
76962
|
"pptx-ui-ribbon-gallery": `:host { --office-foreground: var(--pptx-foreground, #f9fafb); --office-background: var(--pptx-background, #111827);
|
|
76727
76963
|
--office-gallery-strip-background: color-mix(in srgb, var(--pptx-muted, #2a2a3d) 30%, transparent);
|
|
76728
76964
|
--office-command-icon-color: var(--pptx-primary, #6366f1); --office-z-popover: 1200;
|
|
@@ -77163,6 +77399,35 @@ function definePptxContextMenu(registry2) {
|
|
|
77163
77399
|
}
|
|
77164
77400
|
);
|
|
77165
77401
|
}
|
|
77402
|
+
function definePptxExportProgress(registry2) {
|
|
77403
|
+
if (registry2.get("pptx-ui-export-progress")) {
|
|
77404
|
+
return;
|
|
77405
|
+
}
|
|
77406
|
+
const Base = bridged(
|
|
77407
|
+
base(registry2, defineProgressDialog, "office-ui-progress-dialog"),
|
|
77408
|
+
"pptx-ui-export-progress"
|
|
77409
|
+
);
|
|
77410
|
+
class PptxExportProgress extends Base {
|
|
77411
|
+
static cancelEvent = "export-cancel";
|
|
77412
|
+
static testIdPrefix = "pptx-export-progress";
|
|
77413
|
+
#model = { open: false, title: "", progress: 0 };
|
|
77414
|
+
get state() {
|
|
77415
|
+
return this.#model;
|
|
77416
|
+
}
|
|
77417
|
+
set state(value) {
|
|
77418
|
+
this.#model = value;
|
|
77419
|
+
const t2 = value.translate ?? identity4;
|
|
77420
|
+
super.state = {
|
|
77421
|
+
open: value.open,
|
|
77422
|
+
title: value.title,
|
|
77423
|
+
progress: value.progress,
|
|
77424
|
+
status: value.status || t2("pptx.export.processing"),
|
|
77425
|
+
cancelLabel: t2("pptx.export.cancel")
|
|
77426
|
+
};
|
|
77427
|
+
}
|
|
77428
|
+
}
|
|
77429
|
+
registry2.define("pptx-ui-export-progress", PptxExportProgress);
|
|
77430
|
+
}
|
|
77166
77431
|
|
|
77167
77432
|
// src/pptx/web-components/options-dialog.ts
|
|
77168
77433
|
function definePptxOptionsDialog(registry2) {
|
|
@@ -82878,6 +83143,7 @@ var controls = [
|
|
|
82878
83143
|
["pptx-ui-present-toolbar", definePptxPresentToolbar],
|
|
82879
83144
|
["pptx-ui-presenter-console", definePptxPresenterConsole],
|
|
82880
83145
|
["pptx-ui-read-only-banner", definePptxReadOnlyBanner],
|
|
83146
|
+
["pptx-ui-export-progress", definePptxExportProgress],
|
|
82881
83147
|
["pptx-ui-ribbon-command", definePptxRibbonCommand],
|
|
82882
83148
|
["pptx-ui-ribbon-animations", definePptxRibbonAnimations],
|
|
82883
83149
|
["pptx-ui-ribbon-draw", definePptxRibbonDraw],
|
|
@@ -86472,6 +86738,7 @@ exports.HOME_SELECT_ITEMS = HOME_SELECT_ITEMS;
|
|
|
86472
86738
|
exports.HOME_SHAPE_ITEMS = HOME_SHAPE_ITEMS;
|
|
86473
86739
|
exports.HOME_TEXT_DIRECTION_ITEMS = HOME_TEXT_DIRECTION_ITEMS;
|
|
86474
86740
|
exports.INDENT_PX = INDENT_PX;
|
|
86741
|
+
exports.INITIAL_READ_ONLY_SESSION = INITIAL_READ_ONLY_SESSION;
|
|
86475
86742
|
exports.INITIAL_SYNC_GRACE_MS = INITIAL_SYNC_GRACE_MS;
|
|
86476
86743
|
exports.INLINE_GALLERY_TILE_COUNT = INLINE_GALLERY_TILE_COUNT;
|
|
86477
86744
|
exports.INSERT_CHART_TYPES = INSERT_CHART_TYPES;
|
|
@@ -86888,6 +87155,7 @@ exports.applyOutlineEdit = applyOutlineEdit;
|
|
|
86888
87155
|
exports.applyParagraphCommand = applyParagraphCommand;
|
|
86889
87156
|
exports.applyPasteSpecialFormat = applyPasteSpecialFormat;
|
|
86890
87157
|
exports.applyPreferenceToOptions = applyPreferenceToOptions;
|
|
87158
|
+
exports.applyReadOnlySessionEvent = applyReadOnlySessionEvent;
|
|
86891
87159
|
exports.applyReadingViewCommand = applyReadingViewCommand;
|
|
86892
87160
|
exports.applyRehearsalTimings = applyRehearsalTimings;
|
|
86893
87161
|
exports.applyRenderedElementAccessibility = applyRenderedElementAccessibility;
|
|
@@ -87424,6 +87692,7 @@ exports.disableSoftEdgePatch = disableSoftEdgePatch;
|
|
|
87424
87692
|
exports.discardAutosaveRecovery = discardAutosaveRecovery;
|
|
87425
87693
|
exports.dispatchChartSelectionRequest = dispatchChartSelectionRequest;
|
|
87426
87694
|
exports.dispatchCropRequest = dispatchCropRequest;
|
|
87695
|
+
exports.dispatchReadOnlyBannerIntent = dispatchReadOnlyBannerIntent;
|
|
87427
87696
|
exports.dispatchStatusBarIntent = dispatchStatusBarIntent;
|
|
87428
87697
|
exports.dominantDisplacement = dominantDisplacement;
|
|
87429
87698
|
exports.downloadBlob = downloadBlob;
|
|
@@ -88240,7 +88509,11 @@ exports.readInlineListNativeSnapshot = readInlineListNativeSnapshot;
|
|
|
88240
88509
|
exports.readInlineListSelection = readInlineListSelection;
|
|
88241
88510
|
exports.readInlineListSnapshot = readInlineListSnapshot;
|
|
88242
88511
|
exports.readListActivationSelection = readListActivationSelection;
|
|
88512
|
+
exports.readOnlyBannerState = readOnlyBannerState;
|
|
88513
|
+
exports.readOnlyBannerVisible = readOnlyBannerVisible;
|
|
88514
|
+
exports.readOnlyLocked = readOnlyLocked;
|
|
88243
88515
|
exports.readOnlyRecommendation = readOnlyRecommendation;
|
|
88516
|
+
exports.readOnlySessionActions = readOnlySessionActions;
|
|
88244
88517
|
exports.readRecentShapes = readRecentShapes;
|
|
88245
88518
|
exports.readRibbonTransitionDraft = readRibbonTransitionDraft;
|
|
88246
88519
|
exports.readSlideShowOption = readSlideShowOption;
|
|
@@ -88259,6 +88532,7 @@ exports.recordTableCellBold = recordTableCellBold;
|
|
|
88259
88532
|
exports.redirectExitShapeByDirection = redirectExitShapeByDirection;
|
|
88260
88533
|
exports.redirectMaskEffectByFilterSubtype = redirectMaskEffectByFilterSubtype;
|
|
88261
88534
|
exports.redistributeColumnWidth = redistributeColumnWidth;
|
|
88535
|
+
exports.reduceReadOnlySession = reduceReadOnlySession;
|
|
88262
88536
|
exports.reduceViewerZoom = reduceViewerZoom;
|
|
88263
88537
|
exports.reflowRibbon = reflowRibbon;
|
|
88264
88538
|
exports.reflowSmartArtData = reflowSmartArtData;
|
|
@@ -88492,6 +88766,7 @@ exports.runMediaCommand = runMediaCommand;
|
|
|
88492
88766
|
exports.runPresentationAction = runPresentationAction;
|
|
88493
88767
|
exports.runProgramNoticeStackStyle = runProgramNoticeStackStyle;
|
|
88494
88768
|
exports.runProgramNoticeStackStyleAttr = runProgramNoticeStackStyleAttr;
|
|
88769
|
+
exports.runReadOnlyPasswordCheck = runReadOnlyPasswordCheck;
|
|
88495
88770
|
exports.runReviewCommentCommand = runReviewCommentCommand;
|
|
88496
88771
|
exports.runRibbonAddInCommand = runRibbonAddInCommand;
|
|
88497
88772
|
exports.safeColor = safeColor;
|
|
@@ -955,11 +955,57 @@ function preprocessCssForCapture(root, options = {}) {
|
|
|
955
955
|
// src/pptx/export/html2canvas-clone.ts
|
|
956
956
|
async function prepareHtml2CanvasClone(original, doc, clonedEl) {
|
|
957
957
|
await settleThreeViews(original);
|
|
958
|
+
pinCapturedSize(original, clonedEl);
|
|
958
959
|
snapshotThreeViewsIntoClone(original, clonedEl);
|
|
959
960
|
prepareExportClone(clonedEl);
|
|
960
961
|
await chunkHJ3JZXOL_cjs.normalizeColorsForCapture(doc, clonedEl);
|
|
961
962
|
preprocessCssForCapture(clonedEl);
|
|
962
963
|
}
|
|
964
|
+
function composedParent(node) {
|
|
965
|
+
const slot = node.assignedSlot;
|
|
966
|
+
if (slot) return slot;
|
|
967
|
+
const parent = node.parentNode;
|
|
968
|
+
return parent?.nodeType === 11 && parent.host ? parent.host : parent;
|
|
969
|
+
}
|
|
970
|
+
var STYLE_SOURCES = 'style, link[rel~="stylesheet"]';
|
|
971
|
+
function holdsStyleSource(node) {
|
|
972
|
+
if (node.matches(STYLE_SOURCES) || node.querySelector(STYLE_SOURCES)) return true;
|
|
973
|
+
return [...node.querySelectorAll("slot")].some(
|
|
974
|
+
(slot) => slot.assignedElements().some((assigned) => holdsStyleSource(assigned))
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
function html2canvasCaptureScope(captured, ignore) {
|
|
978
|
+
const ancestors = /* @__PURE__ */ new Set();
|
|
979
|
+
for (let node = composedParent(captured); node; node = composedParent(node)) {
|
|
980
|
+
ancestors.add(node);
|
|
981
|
+
}
|
|
982
|
+
const inside = (node) => {
|
|
983
|
+
for (let current = node; current; current = composedParent(current)) {
|
|
984
|
+
if (current === captured) return true;
|
|
985
|
+
if (ancestors.has(current)) return false;
|
|
986
|
+
}
|
|
987
|
+
return false;
|
|
988
|
+
};
|
|
989
|
+
return (node) => {
|
|
990
|
+
if (ignore?.(node)) return true;
|
|
991
|
+
if (ancestors.has(node) || inside(node)) return false;
|
|
992
|
+
const parent = composedParent(node);
|
|
993
|
+
if (parent && ancestors.has(parent)) return false;
|
|
994
|
+
return !(node.closest("head") || holdsStyleSource(node));
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
function pinCapturedSize(original, clonedEl) {
|
|
998
|
+
const width = original.offsetWidth;
|
|
999
|
+
if (width <= 0) return;
|
|
1000
|
+
const display = original.ownerDocument.defaultView?.getComputedStyle(original).display;
|
|
1001
|
+
if (display === "inline" || display === "contents") return;
|
|
1002
|
+
Object.assign(clonedEl.style, {
|
|
1003
|
+
boxSizing: "border-box",
|
|
1004
|
+
width: `${width}px`,
|
|
1005
|
+
minWidth: "0",
|
|
1006
|
+
maxWidth: "none"
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
963
1009
|
|
|
964
1010
|
exports.DEVICE_PIXEL_RATIO_VAR = DEVICE_PIXEL_RATIO_VAR;
|
|
965
1011
|
exports.DEVICE_PX_VAR = DEVICE_PX_VAR;
|
|
@@ -976,9 +1022,11 @@ exports.flatten3dTransforms = flatten3dTransforms;
|
|
|
976
1022
|
exports.flattenBackdropFilter = flattenBackdropFilter;
|
|
977
1023
|
exports.flattenMixBlendMode = flattenMixBlendMode;
|
|
978
1024
|
exports.has3dTransform = has3dTransform;
|
|
1025
|
+
exports.html2canvasCaptureScope = html2canvasCaptureScope;
|
|
979
1026
|
exports.isExportIgnoredElement = isExportIgnoredElement;
|
|
980
1027
|
exports.neutralizeDeviceStrokes = neutralizeDeviceStrokes;
|
|
981
1028
|
exports.parseBlurValue = parseBlurValue;
|
|
1029
|
+
exports.pinCapturedSize = pinCapturedSize;
|
|
982
1030
|
exports.prepareExportClone = prepareExportClone;
|
|
983
1031
|
exports.prepareHtml2CanvasClone = prepareHtml2CanvasClone;
|
|
984
1032
|
exports.preprocessCssForCapture = preprocessCssForCapture;
|