ooxml-ui 1.8.4 → 1.9.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/dist/{chunk-CTPXTRDT.js → chunk-PH7IBZOZ.js} +1 -1
- package/dist/docx/columns-dialog.d.ts +1 -1
- package/dist/docx/editor-core.d.ts +2 -0
- package/dist/docx/page-controller.d.ts +3 -2
- package/dist/docx/print-drag-scroll.d.ts +7 -0
- package/dist/docx/print-editing-geometry.d.ts +2 -0
- package/dist/docx/print-editing-index.d.ts +30 -0
- package/dist/docx/print-editing.d.ts +12 -0
- package/dist/docx/print-keyboard-navigation.d.ts +18 -0
- package/dist/docx/print-layout-view.d.ts +6 -10
- package/dist/docx/print-layout.d.ts +2 -2
- package/dist/docx/print-picture.d.ts +1 -0
- package/dist/docx.js +677 -20
- package/dist/index.js +2 -2
- package/dist/pptx/{chunk-KMNNTEGF.cjs → chunk-BFZDO2DY.cjs} +429 -194
- package/dist/pptx/{chunk-VRFNAF3Q.mjs → chunk-F7BBPOVJ.mjs} +9 -0
- package/dist/pptx/{chunk-STXGHV25.cjs → chunk-HWW2UVUP.cjs} +161 -4
- package/dist/pptx/{chunk-GHFJ46NS.mjs → chunk-KBCKCW5M.mjs} +371 -161
- package/dist/pptx/{chunk-NVYVHNPD.mjs → chunk-MKVKISFW.mjs} +1 -1
- package/dist/pptx/{chunk-NKHPE4PS.cjs → chunk-PKDISDDZ.cjs} +2 -2
- package/dist/pptx/{chunk-SM3CWDIQ.cjs → chunk-QVYJB7G2.cjs} +9 -0
- package/dist/pptx/chunk-SABFKDRM.mjs +286 -0
- package/dist/pptx/dom/elements/image.d.ts.map +1 -1
- package/dist/pptx/dom/index.cjs +221 -213
- package/dist/pptx/dom/index.mjs +24 -16
- package/dist/pptx/i18n/index.cjs +6 -6
- package/dist/pptx/i18n/index.mjs +1 -1
- package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
- package/dist/pptx/index.cjs +2834 -2766
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/find-replace.d.ts +1 -1
- package/dist/pptx/render/find-replace.d.ts.map +1 -1
- package/dist/pptx/render/format-painter.cjs +5 -5
- package/dist/pptx/render/format-painter.mjs +2 -2
- package/dist/pptx/render/index.d.ts +3 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/inspector-helpers.cjs +12 -12
- package/dist/pptx/render/inspector-helpers.d.ts.map +1 -1
- package/dist/pptx/render/inspector-helpers.mjs +1 -1
- package/dist/pptx/render/inspector-number.d.ts +15 -0
- package/dist/pptx/render/inspector-number.d.ts.map +1 -0
- package/dist/pptx/render/picture-frame.d.ts +52 -0
- package/dist/pptx/render/picture-frame.d.ts.map +1 -0
- package/dist/pptx/render/ribbon-home-commands.d.ts +11 -2
- package/dist/pptx/render/ribbon-home-commands.d.ts.map +1 -1
- package/dist/pptx/render/share-session.d.ts.map +1 -1
- package/dist/pptx/render/slide-operations.d.ts +2 -1
- package/dist/pptx/render/slide-operations.d.ts.map +1 -1
- package/dist/pptx/render/slide-package-clipboard.d.ts +31 -0
- package/dist/pptx/render/slide-package-clipboard.d.ts.map +1 -0
- package/dist/pptx/render/slide-sorter-context-menu.d.ts +3 -5
- package/dist/pptx/render/slide-sorter-context-menu.d.ts.map +1 -1
- package/dist/pptx/render/slide-sorter-state.d.ts +8 -1
- package/dist/pptx/render/slide-sorter-state.d.ts.map +1 -1
- package/dist/pptx/render/text-advanced.d.ts.map +1 -1
- package/dist/pptx/render/text-style-scope.d.ts +41 -1
- package/dist/pptx/render/text-style-scope.d.ts.map +1 -1
- package/dist/pptx/render/text-style-update.d.ts.map +1 -1
- package/dist/pptx/web-components/index.d.ts +2 -0
- package/dist/pptx/web-components/index.d.ts.map +1 -1
- package/dist/pptx/web-components/slide-clipboard.d.ts +14 -0
- package/dist/pptx/web-components/slide-clipboard.d.ts.map +1 -0
- package/dist/teams.js +1 -1
- package/dist/visio/format-pane-fields.d.ts +2 -0
- package/dist/visio/page-setup-action.d.ts +1 -1
- package/dist/visio/page-setup-dialog-form.d.ts +1 -1
- package/dist/visio/ribbon-action.d.ts +1 -1
- package/dist/visio/viewer-accessibility.d.ts +17 -0
- package/dist/visio/viewer-insert-dialog.d.ts +2 -1
- package/dist/visio/viewer-review.d.ts +2 -0
- package/dist/visio.js +304 -14
- package/dist/xlsx/commands/pivots.d.ts +2 -0
- package/dist/xlsx/commands/sparklines.d.ts +2 -0
- package/dist/xlsx/dialogs/help-dialogs.d.ts +2 -2
- package/dist/xlsx/dialogs/page-header.d.ts +4 -0
- package/dist/xlsx/dialogs/page-setup-tabs.d.ts +6 -1
- package/dist/xlsx/dialogs/pivots.d.ts +2 -0
- package/dist/xlsx/dialogs/print-preview.d.ts +2 -0
- package/dist/xlsx/dialogs/sparklines.d.ts +4 -0
- package/dist/xlsx/print-cell.d.ts +4 -0
- package/dist/xlsx/print-header.d.ts +7 -0
- package/dist/xlsx/print-pages.d.ts +4 -0
- package/dist/xlsx/print.d.ts +4 -12
- package/dist/xlsx.js +1078 -287
- package/package.json +3 -3
- package/dist/pptx/chunk-VD7HRMTA.mjs +0 -137
- /package/dist/{chunk-SUHT5S2P.js → chunk-SKYBYVYH.js} +0 -0
|
@@ -9,7 +9,7 @@ var chunkXOAXPD2W_cjs = require('./chunk-XOAXPD2W.cjs');
|
|
|
9
9
|
var chunkBSGCZ4JZ_cjs = require('./chunk-BSGCZ4JZ.cjs');
|
|
10
10
|
var chunkIOOI63TH_cjs = require('./chunk-IOOI63TH.cjs');
|
|
11
11
|
var chunkZJFN5POF_cjs = require('./chunk-ZJFN5POF.cjs');
|
|
12
|
-
var
|
|
12
|
+
var chunkHWW2UVUP_cjs = require('./chunk-HWW2UVUP.cjs');
|
|
13
13
|
var chunkWB25PCHQ_cjs = require('./chunk-WB25PCHQ.cjs');
|
|
14
14
|
var chunkW3X2UVYQ_cjs = require('./chunk-W3X2UVYQ.cjs');
|
|
15
15
|
var chunkVFPVEVF4_cjs = require('./chunk-VFPVEVF4.cjs');
|
|
@@ -20,7 +20,8 @@ var chunkX4FNVH7J_cjs = require('./chunk-X4FNVH7J.cjs');
|
|
|
20
20
|
var chunkUPN5FFKP_cjs = require('./chunk-UPN5FFKP.cjs');
|
|
21
21
|
var chunkY4LTLCQP_cjs = require('./chunk-Y4LTLCQP.cjs');
|
|
22
22
|
var chunkUSBRSEJK_cjs = require('./chunk-USBRSEJK.cjs');
|
|
23
|
-
var
|
|
23
|
+
var chunkU47LRWDT_cjs = require('./chunk-U47LRWDT.cjs');
|
|
24
|
+
var chunkQVYJB7G2_cjs = require('./chunk-QVYJB7G2.cjs');
|
|
24
25
|
var chunkOGJRSAGH_cjs = require('./chunk-OGJRSAGH.cjs');
|
|
25
26
|
var chunkEW5DW5KR_cjs = require('./chunk-EW5DW5KR.cjs');
|
|
26
27
|
var pptx = require('ooxml-core/pptx');
|
|
@@ -107,6 +108,123 @@ function _interopNamespace(e) {
|
|
|
107
108
|
|
|
108
109
|
var opentypeModule__namespace = /*#__PURE__*/_interopNamespace(opentypeModule);
|
|
109
110
|
|
|
111
|
+
// src/pptx/web-components/control-styles.ts
|
|
112
|
+
var sheetsByDocument = /* @__PURE__ */ new WeakMap();
|
|
113
|
+
function attachControlStyles(root, css) {
|
|
114
|
+
const doc = root.host.ownerDocument;
|
|
115
|
+
const Sheet = doc.defaultView?.CSSStyleSheet;
|
|
116
|
+
if (Sheet && "adoptedStyleSheets" in root && "replaceSync" in Sheet.prototype) {
|
|
117
|
+
try {
|
|
118
|
+
let sheets = sheetsByDocument.get(doc);
|
|
119
|
+
if (!sheets) {
|
|
120
|
+
sheets = /* @__PURE__ */ new Map();
|
|
121
|
+
sheetsByDocument.set(doc, sheets);
|
|
122
|
+
}
|
|
123
|
+
let sheet = sheets.get(css);
|
|
124
|
+
if (!sheet) {
|
|
125
|
+
sheet = new Sheet();
|
|
126
|
+
sheet.replaceSync(css);
|
|
127
|
+
sheets.set(css, sheet);
|
|
128
|
+
}
|
|
129
|
+
root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];
|
|
130
|
+
return;
|
|
131
|
+
} catch {
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const style = doc.createElement("style");
|
|
135
|
+
style.textContent = css;
|
|
136
|
+
root.append(style);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/pptx/web-components/slide-clipboard.ts
|
|
140
|
+
function slideClipboardLabels(t) {
|
|
141
|
+
return {
|
|
142
|
+
copy: t("pptx.slideSorter.systemCopy"),
|
|
143
|
+
paste: t("pptx.slideSorter.systemPaste"),
|
|
144
|
+
copied: t("pptx.slideSorter.systemCopied"),
|
|
145
|
+
pasted: t("pptx.slideSorter.systemPasted")
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
function definePptxSlideClipboard(registry2) {
|
|
149
|
+
if (registry2.get("pptx-ui-slide-clipboard")) return;
|
|
150
|
+
class SlideClipboard extends HTMLElement {
|
|
151
|
+
copy;
|
|
152
|
+
paste;
|
|
153
|
+
text = {
|
|
154
|
+
copy: "Copy slides to system clipboard",
|
|
155
|
+
paste: "Paste slides from system clipboard",
|
|
156
|
+
copied: "Slides copied",
|
|
157
|
+
pasted: "Slides pasted"
|
|
158
|
+
};
|
|
159
|
+
busy = false;
|
|
160
|
+
copyButton;
|
|
161
|
+
pasteButton;
|
|
162
|
+
status;
|
|
163
|
+
constructor() {
|
|
164
|
+
super();
|
|
165
|
+
const root = this.attachShadow({ mode: "open" });
|
|
166
|
+
attachControlStyles(
|
|
167
|
+
root,
|
|
168
|
+
":host{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--pptx-foreground,var(--foreground,#222))}button{padding:5px 8px;border:1px solid var(--pptx-border,var(--border,#ccc));border-radius:4px;background:var(--pptx-muted,var(--muted,#eee));color:inherit;font:inherit;font-size:12px;cursor:pointer}button:disabled{opacity:.5;cursor:default}[role=status]{max-width:400px;font-size:12px}"
|
|
169
|
+
);
|
|
170
|
+
this.copyButton = document.createElement("button");
|
|
171
|
+
this.copyButton.type = "button";
|
|
172
|
+
this.pasteButton = document.createElement("button");
|
|
173
|
+
this.pasteButton.type = "button";
|
|
174
|
+
this.status = document.createElement("span");
|
|
175
|
+
this.status.setAttribute("role", "status");
|
|
176
|
+
this.status.setAttribute("aria-live", "polite");
|
|
177
|
+
this.copyButton.addEventListener("click", () => void this.run(this.copy, this.text.copied));
|
|
178
|
+
this.pasteButton.addEventListener("click", () => void this.run(this.paste, this.text.pasted));
|
|
179
|
+
root.append(this.copyButton, this.pasteButton, this.status);
|
|
180
|
+
this.sync();
|
|
181
|
+
}
|
|
182
|
+
get copyAction() {
|
|
183
|
+
return this.copy;
|
|
184
|
+
}
|
|
185
|
+
set copyAction(value) {
|
|
186
|
+
this.copy = value;
|
|
187
|
+
this.sync();
|
|
188
|
+
}
|
|
189
|
+
get pasteAction() {
|
|
190
|
+
return this.paste;
|
|
191
|
+
}
|
|
192
|
+
set pasteAction(value) {
|
|
193
|
+
this.paste = value;
|
|
194
|
+
this.sync();
|
|
195
|
+
}
|
|
196
|
+
get labels() {
|
|
197
|
+
return this.text;
|
|
198
|
+
}
|
|
199
|
+
set labels(value) {
|
|
200
|
+
this.text = value;
|
|
201
|
+
this.sync();
|
|
202
|
+
}
|
|
203
|
+
sync() {
|
|
204
|
+
this.copyButton.textContent = this.text.copy;
|
|
205
|
+
this.pasteButton.textContent = this.text.paste;
|
|
206
|
+
this.copyButton.disabled = this.busy || !this.copy;
|
|
207
|
+
this.pasteButton.disabled = this.busy || !this.paste;
|
|
208
|
+
}
|
|
209
|
+
async run(action, success) {
|
|
210
|
+
if (!action || this.busy) return;
|
|
211
|
+
this.busy = true;
|
|
212
|
+
this.status.textContent = "";
|
|
213
|
+
this.sync();
|
|
214
|
+
try {
|
|
215
|
+
await action();
|
|
216
|
+
this.status.textContent = success;
|
|
217
|
+
} catch (error) {
|
|
218
|
+
this.status.textContent = error instanceof Error ? error.message : String(error);
|
|
219
|
+
} finally {
|
|
220
|
+
this.busy = false;
|
|
221
|
+
this.sync();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
registry2.define("pptx-ui-slide-clipboard", SlideClipboard);
|
|
226
|
+
}
|
|
227
|
+
|
|
110
228
|
// src/pptx/web-components/control-tokens.ts
|
|
111
229
|
var CONTROL_TOKENS = {
|
|
112
230
|
// Field (search, select trigger, text inputs)
|
|
@@ -1446,6 +1564,33 @@ function resolveShapeGeometry(element) {
|
|
|
1446
1564
|
}
|
|
1447
1565
|
return { kind: "none" };
|
|
1448
1566
|
}
|
|
1567
|
+
function getPictureShadowFilter(element) {
|
|
1568
|
+
if (!pptx.isImageLikeElement(element) || !pptx.hasShapeProperties(element)) {
|
|
1569
|
+
return void 0;
|
|
1570
|
+
}
|
|
1571
|
+
return getCompositeOuterShadowFilterCss(element.shapeStyle, { rotation: element.rotation });
|
|
1572
|
+
}
|
|
1573
|
+
function hasPictureFrame(element) {
|
|
1574
|
+
if (!pptx.isImageLikeElement(element)) {
|
|
1575
|
+
return false;
|
|
1576
|
+
}
|
|
1577
|
+
return buildStrokeOutline(element) !== void 0 || getPictureShadowFilter(element) !== void 0;
|
|
1578
|
+
}
|
|
1579
|
+
function getPictureFrameLayers(element, clip) {
|
|
1580
|
+
const clipStyle = {
|
|
1581
|
+
overflow: clip.overflow,
|
|
1582
|
+
...clip.borderRadius ? { borderRadius: clip.borderRadius } : {},
|
|
1583
|
+
...clip.clipPath ? { clipPath: clip.clipPath } : {}
|
|
1584
|
+
};
|
|
1585
|
+
if (!hasPictureFrame(element)) {
|
|
1586
|
+
return { box: clipStyle, surface: void 0 };
|
|
1587
|
+
}
|
|
1588
|
+
const shadow = getPictureShadowFilter(element);
|
|
1589
|
+
return {
|
|
1590
|
+
box: { overflow: "visible", ...shadow ? { filter: shadow } : {} },
|
|
1591
|
+
surface: { position: "absolute", inset: "0", ...clipStyle }
|
|
1592
|
+
};
|
|
1593
|
+
}
|
|
1449
1594
|
var NO_STROKE = {
|
|
1450
1595
|
borderWidth: 0,
|
|
1451
1596
|
cssBorderWidth: "0px",
|
|
@@ -22978,7 +23123,7 @@ function createTemplateContext(options = {}) {
|
|
|
22978
23123
|
const scheme = { ...pptx.DEFAULT_SCHEME_COLOR_MAP, ...options.scheme ?? {} };
|
|
22979
23124
|
let counter = 0;
|
|
22980
23125
|
const idFor = options.idFor ?? ((index) => `template-el-${Date.now()}-${index}`);
|
|
22981
|
-
const dictionary =
|
|
23126
|
+
const dictionary = chunkQVYJB7G2_cjs.translationsEn;
|
|
22982
23127
|
const translate = options.translate ?? ((key) => dictionary[key] ?? key);
|
|
22983
23128
|
return {
|
|
22984
23129
|
scheme,
|
|
@@ -24121,7 +24266,7 @@ function resolveFollowingSegmentTexts(paraSegments, markerSegment, fieldContext)
|
|
|
24121
24266
|
function resolveParagraphStrutFontSize(segments, bodyFontSize, fontScale = 1) {
|
|
24122
24267
|
let smallest;
|
|
24123
24268
|
for (const segment of segments) {
|
|
24124
|
-
if (
|
|
24269
|
+
if (chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment)) {
|
|
24125
24270
|
continue;
|
|
24126
24271
|
}
|
|
24127
24272
|
const size = segment.style?.fontSize;
|
|
@@ -24809,10 +24954,10 @@ function createInlineListSeed(element, options) {
|
|
|
24809
24954
|
const virtualIndices = /* @__PURE__ */ new Map();
|
|
24810
24955
|
for (const [index, paragraph2] of paragraphs2.entries()) {
|
|
24811
24956
|
if (paragraph2.segments.every(
|
|
24812
|
-
(segment, runIndex) => runIndex === 0 &&
|
|
24957
|
+
(segment, runIndex) => runIndex === 0 && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment) || segment.text === "" && !segment.isLineBreak && !segment.fieldType && !segment.fieldGuid && !segment.equationXml && !segment.rubyText
|
|
24813
24958
|
)) {
|
|
24814
24959
|
const carrier = paragraph2.segments[0] ?? paragraph2.terminator;
|
|
24815
|
-
const body = paragraph2.segments.find((segment) => !
|
|
24960
|
+
const body = paragraph2.segments.find((segment) => !chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment));
|
|
24816
24961
|
virtualIndices.set(index, segments.length);
|
|
24817
24962
|
segments.push({
|
|
24818
24963
|
text: "",
|
|
@@ -24832,7 +24977,7 @@ function createInlineListSeed(element, options) {
|
|
|
24832
24977
|
presentation: presentation[sourceIndex],
|
|
24833
24978
|
runs: Object.freeze(
|
|
24834
24979
|
(virtualIndices.has(sourceIndex) ? [segments[virtualIndices.get(sourceIndex)]] : paragraph2.segments).flatMap((segment, index) => {
|
|
24835
|
-
if (index === 0 &&
|
|
24980
|
+
if (index === 0 && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment)) {
|
|
24836
24981
|
return [];
|
|
24837
24982
|
}
|
|
24838
24983
|
const segmentIndex = virtualIndices.get(sourceIndex) ?? indices[sourceIndex][index];
|
|
@@ -25033,11 +25178,11 @@ function recordInlineListProvenance(seed, root, snapshot, blocks, origins, uncha
|
|
|
25033
25178
|
if (!block) return;
|
|
25034
25179
|
paragraphs2.set(block, start < end ? start : terminator ?? null);
|
|
25035
25180
|
const body = segments.slice(start, end);
|
|
25036
|
-
const content = body.filter((segment, index) => index !== 0 || !
|
|
25181
|
+
const content = body.filter((segment, index) => index !== 0 || !chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment));
|
|
25037
25182
|
const onlyEmptyCarrier = content.length === 1 && content[0].text === "" && !content[0].isLineBreak;
|
|
25038
25183
|
for (let index = start; index < end; index++) {
|
|
25039
25184
|
const segment = segments[index];
|
|
25040
|
-
const marker = index === start &&
|
|
25185
|
+
const marker = index === start && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment);
|
|
25041
25186
|
if (!marker && (segment.text !== "" || segment.isLineBreak)) continue;
|
|
25042
25187
|
const node = marker || onlyEmptyCarrier ? block : unchanged2 ? inlineListDescendants(block).find((child) => session.runNodes.get(child) === index) : origins[index];
|
|
25043
25188
|
hidden.push({ node, kind: marker ? "marker" : "empty", index });
|
|
@@ -25346,11 +25491,11 @@ function readInlineListSnapshot(seed, root) {
|
|
|
25346
25491
|
} else {
|
|
25347
25492
|
pptx.breakAutoNumberRun(sequence, first.paragraphLevel ?? 0);
|
|
25348
25493
|
}
|
|
25349
|
-
if (
|
|
25494
|
+
if (chunkHWW2UVUP_cjs.isBulletMarkerSegment(first)) {
|
|
25350
25495
|
const marker = {
|
|
25351
25496
|
text: first.text,
|
|
25352
25497
|
style: structuredClone(
|
|
25353
|
-
carrier &&
|
|
25498
|
+
carrier && chunkHWW2UVUP_cjs.isBulletMarkerSegment(carrier) ? carrier.style : first.style
|
|
25354
25499
|
),
|
|
25355
25500
|
...inlineListParagraphMetadata(first)
|
|
25356
25501
|
};
|
|
@@ -25400,7 +25545,7 @@ function paragraphBodies(segments) {
|
|
|
25400
25545
|
paragraphs2.push("");
|
|
25401
25546
|
first = true;
|
|
25402
25547
|
} else {
|
|
25403
|
-
if (!first || !
|
|
25548
|
+
if (!first || !chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment)) {
|
|
25404
25549
|
paragraphs2[paragraphs2.length - 1] += segment.isLineBreak ? "\n" : segment.text;
|
|
25405
25550
|
}
|
|
25406
25551
|
first = false;
|
|
@@ -25413,7 +25558,7 @@ function modelPoint(segments, offset, end) {
|
|
|
25413
25558
|
let first = true;
|
|
25414
25559
|
let last = { index: 0, offset: 0 };
|
|
25415
25560
|
for (const [index, segment] of segments.entries()) {
|
|
25416
|
-
const marker = first &&
|
|
25561
|
+
const marker = first && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment);
|
|
25417
25562
|
first = textSegmentParagraphBreak.isParagraphSeparatorSegment(segment);
|
|
25418
25563
|
if (marker) {
|
|
25419
25564
|
if (offset === position && segment.paragraphInsertionStyle && (!segments[index + 1] || textSegmentParagraphBreak.isParagraphSeparatorSegment(segments[index + 1]))) {
|
|
@@ -25574,7 +25719,7 @@ function paragraphs(segments) {
|
|
|
25574
25719
|
const paragraph2 = result.at(-1);
|
|
25575
25720
|
const first = !paragraph2.first;
|
|
25576
25721
|
paragraph2.first ??= segment;
|
|
25577
|
-
if (first &&
|
|
25722
|
+
if (first && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment)) {
|
|
25578
25723
|
continue;
|
|
25579
25724
|
}
|
|
25580
25725
|
const start = paragraph2.text.length;
|
|
@@ -26009,7 +26154,7 @@ function readInlineEditorSelection(segments, preserveCaret = false) {
|
|
|
26009
26154
|
function isEditableSpan(span, segments) {
|
|
26010
26155
|
const segment = segments[getSegmentIndex(span)];
|
|
26011
26156
|
return Boolean(
|
|
26012
|
-
segment && !segment.isParagraphBreak && segment.text !== "\n" && !
|
|
26157
|
+
segment && !segment.isParagraphBreak && segment.text !== "\n" && !chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment) && (span.textContent?.length ?? 0) > 0
|
|
26013
26158
|
);
|
|
26014
26159
|
}
|
|
26015
26160
|
function getSegmentIndex(span) {
|
|
@@ -26088,7 +26233,7 @@ function applyStyleToSelectedSegments(segments, selection, updates) {
|
|
|
26088
26233
|
result.push({ ...seg, style: { ...seg.style } });
|
|
26089
26234
|
continue;
|
|
26090
26235
|
}
|
|
26091
|
-
if (seg.paragraphInsertionStyle && (seg.text === "" ||
|
|
26236
|
+
if (seg.paragraphInsertionStyle && (seg.text === "" || chunkHWW2UVUP_cjs.isBulletMarkerSegment(seg))) {
|
|
26092
26237
|
newStartSegIdx = newStartSegIdx < 0 ? result.length : newStartSegIdx;
|
|
26093
26238
|
newEndSegIdx = result.length;
|
|
26094
26239
|
result.push(seg);
|
|
@@ -26228,7 +26373,7 @@ function positions(segments) {
|
|
|
26228
26373
|
let paragraph2 = 0;
|
|
26229
26374
|
let first = true;
|
|
26230
26375
|
return segments.map((segment, index) => {
|
|
26231
|
-
const marker = first &&
|
|
26376
|
+
const marker = first && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment);
|
|
26232
26377
|
const emptyCarrier = marker && segment.paragraphInsertionStyle && (!segments[index + 1] || textSegmentParagraphBreak.isParagraphSeparatorSegment(segments[index + 1]));
|
|
26233
26378
|
const start = offset;
|
|
26234
26379
|
if (!marker) {
|
|
@@ -26286,14 +26431,14 @@ function restoreParagraphMetadata(original, updated) {
|
|
|
26286
26431
|
}
|
|
26287
26432
|
function selectedParagraphBulletKind(element, selection) {
|
|
26288
26433
|
if (!selection || !pptx.hasTextProperties(element) || !element.textSegments) {
|
|
26289
|
-
const kind =
|
|
26434
|
+
const kind = chunkHWW2UVUP_cjs.elementBulletKind(element);
|
|
26290
26435
|
return kind === "mixed" ? "none" : kind;
|
|
26291
26436
|
}
|
|
26292
26437
|
let first = selection.startSegIdx;
|
|
26293
26438
|
while (first > 0 && !textSegmentParagraphBreak.isParagraphSeparatorSegment(element.textSegments[first - 1])) {
|
|
26294
26439
|
first -= 1;
|
|
26295
26440
|
}
|
|
26296
|
-
return
|
|
26441
|
+
return chunkHWW2UVUP_cjs.paragraphBulletKind(element.textSegments.slice(first));
|
|
26297
26442
|
}
|
|
26298
26443
|
function applyListStyleUpdate(element, updates, selection) {
|
|
26299
26444
|
if (!pptx.hasTextProperties(element) || !updates.listType) {
|
|
@@ -26317,7 +26462,7 @@ function applyListStyleUpdate(element, updates, selection) {
|
|
|
26317
26462
|
textStyle: selection ? element.textStyle : { ...element.textStyle, ...characterStyle }
|
|
26318
26463
|
};
|
|
26319
26464
|
if (!workingSelection || !segments) {
|
|
26320
|
-
return { patch:
|
|
26465
|
+
return { patch: chunkHWW2UVUP_cjs.setElementBullets(working, listType), selection: null };
|
|
26321
26466
|
}
|
|
26322
26467
|
const entries2 = positions(segments);
|
|
26323
26468
|
const startEntry = entries2[workingSelection.startSegIdx];
|
|
@@ -26328,7 +26473,7 @@ function applyListStyleUpdate(element, updates, selection) {
|
|
|
26328
26473
|
const startOffset = startEntry.start + workingSelection.startOffset;
|
|
26329
26474
|
const endOffset = endEntry.start + workingSelection.endOffset;
|
|
26330
26475
|
const lastSelected = [...entries2].reverse().find((entry5) => entry5.start < endOffset);
|
|
26331
|
-
const patch =
|
|
26476
|
+
const patch = chunkHWW2UVUP_cjs.setElementBullets(working, listType, {
|
|
26332
26477
|
startParagraph: startEntry.paragraph,
|
|
26333
26478
|
endParagraph: Math.max(startEntry.paragraph, lastSelected?.paragraph ?? endEntry.paragraph)
|
|
26334
26479
|
});
|
|
@@ -26360,14 +26505,14 @@ function inScope(paragraph2, selection) {
|
|
|
26360
26505
|
);
|
|
26361
26506
|
}
|
|
26362
26507
|
function selectionBulletKind(element, selection, segments) {
|
|
26363
|
-
const paragraphs2 =
|
|
26364
|
-
return
|
|
26508
|
+
const paragraphs2 = chunkHWW2UVUP_cjs.splitBulletParagraphs(chunkHWW2UVUP_cjs.resolveBulletSegments(element, segments));
|
|
26509
|
+
return chunkHWW2UVUP_cjs.paragraphsBulletKind(paragraphs2.filter((paragraph2) => inScope(paragraph2, selection)));
|
|
26365
26510
|
}
|
|
26366
26511
|
function setSelectionBullets(element, kind, selection, segments) {
|
|
26367
26512
|
if (!pptx.hasTextProperties(element)) {
|
|
26368
26513
|
return { patch: {}, newSelection: selection };
|
|
26369
26514
|
}
|
|
26370
|
-
const source =
|
|
26515
|
+
const source = chunkHWW2UVUP_cjs.resolveBulletSegments(element, segments);
|
|
26371
26516
|
const result = applyListStyleUpdate(
|
|
26372
26517
|
{ ...element, textSegments: source },
|
|
26373
26518
|
{ listType: kind },
|
|
@@ -26379,122 +26524,47 @@ function toggleSelectionBullets(element, kind, selection, segments) {
|
|
|
26379
26524
|
const current = selectionBulletKind(element, selection, segments);
|
|
26380
26525
|
return setSelectionBullets(element, current === kind ? "none" : kind, selection, segments);
|
|
26381
26526
|
}
|
|
26382
|
-
|
|
26383
|
-
// src/pptx/render/text-style-scope.ts
|
|
26384
|
-
var BODY_TEXT_STYLE_KEYS = /* @__PURE__ */ new Set([
|
|
26385
|
-
// autofit (`a:normAutofit` / `a:spAutoFit`)
|
|
26386
|
-
"autoFit",
|
|
26387
|
-
"autoFitMode",
|
|
26388
|
-
"autoFitFontScale",
|
|
26389
|
-
"autoFitLineSpacingReduction",
|
|
26390
|
-
// `a:bodyPr` anchoring, direction, rotation
|
|
26391
|
-
"vAlign",
|
|
26392
|
-
"anchorCenter",
|
|
26393
|
-
"textDirection",
|
|
26394
|
-
"textBodyRotation",
|
|
26395
|
-
"upright",
|
|
26396
|
-
// `a:bodyPr` columns, overflow, wrap
|
|
26397
|
-
"columnCount",
|
|
26398
|
-
"columnSpacing",
|
|
26399
|
-
"rtlColumns",
|
|
26400
|
-
"hOverflow",
|
|
26401
|
-
"vertOverflow",
|
|
26402
|
-
"textWrap",
|
|
26403
|
-
// `a:bodyPr` insets
|
|
26404
|
-
"bodyInsetLeft",
|
|
26405
|
-
"bodyInsetTop",
|
|
26406
|
-
"bodyInsetRight",
|
|
26407
|
-
"bodyInsetBottom",
|
|
26408
|
-
// paragraph geometry the block applies body-wide
|
|
26409
|
-
"paragraphMarginLeft",
|
|
26410
|
-
"paragraphMarginRight",
|
|
26411
|
-
"paragraphIndent",
|
|
26412
|
-
"paragraphSpacingBefore",
|
|
26413
|
-
"paragraphSpacingAfter",
|
|
26414
|
-
"lineSpacing",
|
|
26415
|
-
"lineSpacingExactPt",
|
|
26416
|
-
"tabStops",
|
|
26417
|
-
"defaultTabSize",
|
|
26418
|
-
"eaLineBreak",
|
|
26419
|
-
"latinLineBreak",
|
|
26420
|
-
"fontAlignment",
|
|
26421
|
-
"hangingPunctuation",
|
|
26422
|
-
// `a:bodyPr` flags
|
|
26423
|
-
"spaceFirstLastParagraph",
|
|
26424
|
-
"fromWordArt",
|
|
26425
|
-
"forceAntiAlias",
|
|
26426
|
-
"compatibleLineSpacing",
|
|
26427
|
-
// warp and 3D scene on the body
|
|
26428
|
-
"textWarpPreset",
|
|
26429
|
-
"textWarpAdj",
|
|
26430
|
-
"textWarpAdj2",
|
|
26431
|
-
"text3d",
|
|
26432
|
-
"textBodyScene3d",
|
|
26433
|
-
"textBodyScene3dXml",
|
|
26434
|
-
"flatText",
|
|
26435
|
-
"bodyPropertiesExtLstXml"
|
|
26436
|
-
]);
|
|
26437
|
-
function isBodyTextStyleKey(key) {
|
|
26438
|
-
return BODY_TEXT_STYLE_KEYS.has(key);
|
|
26439
|
-
}
|
|
26440
|
-
function splitTextStyleUpdate(updates) {
|
|
26441
|
-
const body = {};
|
|
26442
|
-
const run = {};
|
|
26443
|
-
for (const [key, value] of Object.entries(updates)) {
|
|
26444
|
-
(isBodyTextStyleKey(key) ? body : run)[key] = value;
|
|
26445
|
-
}
|
|
26446
|
-
return { body, run };
|
|
26447
|
-
}
|
|
26448
|
-
function reconcileDecorationFlags(segments, textStyle, flags) {
|
|
26449
|
-
const nextStyle = { ...textStyle ?? {} };
|
|
26450
|
-
let nextSegments = [...segments];
|
|
26451
|
-
for (const flag2 of flags) {
|
|
26452
|
-
const body = nextStyle[flag2] ?? false;
|
|
26453
|
-
const content = nextSegments.filter(chunkSTXGHV25_cjs.isContentSegment);
|
|
26454
|
-
if (content.length === 0) {
|
|
26455
|
-
continue;
|
|
26456
|
-
}
|
|
26457
|
-
if (content.every((segment) => segment.style?.[flag2] ?? body)) {
|
|
26458
|
-
nextStyle[flag2] = true;
|
|
26459
|
-
continue;
|
|
26460
|
-
}
|
|
26461
|
-
if (!body) {
|
|
26462
|
-
continue;
|
|
26463
|
-
}
|
|
26464
|
-
delete nextStyle[flag2];
|
|
26465
|
-
nextSegments = nextSegments.map(
|
|
26466
|
-
(segment) => chunkSTXGHV25_cjs.isContentSegment(segment) && segment.style?.[flag2] === void 0 ? { ...segment, style: { ...segment.style, [flag2]: true } } : segment
|
|
26467
|
-
);
|
|
26468
|
-
}
|
|
26469
|
-
return { textStyle: nextStyle, textSegments: nextSegments };
|
|
26470
|
-
}
|
|
26471
26527
|
function applyTextStyleUpdate(element, updates, selection, segments) {
|
|
26472
26528
|
if (!pptx.hasTextProperties(element)) {
|
|
26473
26529
|
return { patch: {}, newSelection: null };
|
|
26474
26530
|
}
|
|
26475
26531
|
const current = segments ?? element.textSegments;
|
|
26532
|
+
const exclusive = chunkHWW2UVUP_cjs.withExclusiveLineSpacing(updates);
|
|
26476
26533
|
if (selection && current && current.length > 0) {
|
|
26477
|
-
const { body, run } = splitTextStyleUpdate(
|
|
26534
|
+
const { body, run } = chunkHWW2UVUP_cjs.splitTextStyleUpdate(exclusive);
|
|
26478
26535
|
let textStyle2 = { ...element.textStyle, ...body };
|
|
26479
|
-
let textSegments2 =
|
|
26536
|
+
let textSegments2 = chunkHWW2UVUP_cjs.overrideParagraphProperties(current, exclusive);
|
|
26480
26537
|
let newSelection = selection;
|
|
26481
26538
|
if (Object.keys(run).length > 0) {
|
|
26482
26539
|
const scoped = applyStyleToSelectedSegments(textSegments2, selection, run);
|
|
26483
26540
|
textSegments2 = scoped.newSegments;
|
|
26484
26541
|
newSelection = scoped.newSelection;
|
|
26485
26542
|
}
|
|
26486
|
-
const touched =
|
|
26543
|
+
const touched = chunkHWW2UVUP_cjs.TEXT_DECORATION_FLAGS.filter((flag2) => flag2 in run);
|
|
26487
26544
|
if (touched.length > 0) {
|
|
26488
|
-
const reconciled = reconcileDecorationFlags(textSegments2, textStyle2, touched);
|
|
26545
|
+
const reconciled = chunkHWW2UVUP_cjs.reconcileDecorationFlags(textSegments2, textStyle2, touched);
|
|
26489
26546
|
textStyle2 = reconciled.textStyle;
|
|
26490
26547
|
textSegments2 = reconciled.textSegments;
|
|
26491
26548
|
}
|
|
26492
|
-
return {
|
|
26549
|
+
return {
|
|
26550
|
+
patch: {
|
|
26551
|
+
textStyle: textStyle2,
|
|
26552
|
+
textSegments: textSegments2,
|
|
26553
|
+
...chunkHWW2UVUP_cjs.overrideParagraphIndents(element, exclusive)
|
|
26554
|
+
},
|
|
26555
|
+
newSelection
|
|
26556
|
+
};
|
|
26493
26557
|
}
|
|
26494
|
-
const textStyle = { ...element.textStyle, ...
|
|
26495
|
-
const textSegments = current
|
|
26558
|
+
const textStyle = { ...element.textStyle, ...exclusive };
|
|
26559
|
+
const textSegments = current && chunkHWW2UVUP_cjs.overrideParagraphProperties(current, exclusive).map(
|
|
26560
|
+
(segment) => chunkOGJRSAGH_cjs.updateTextSegmentStyle(segment, exclusive)
|
|
26561
|
+
);
|
|
26496
26562
|
return {
|
|
26497
|
-
patch:
|
|
26563
|
+
patch: {
|
|
26564
|
+
textStyle,
|
|
26565
|
+
...textSegments ? { textSegments } : {},
|
|
26566
|
+
...chunkHWW2UVUP_cjs.overrideParagraphIndents(element, exclusive)
|
|
26567
|
+
},
|
|
26498
26568
|
newSelection: null
|
|
26499
26569
|
};
|
|
26500
26570
|
}
|
|
@@ -30218,10 +30288,12 @@ function textAdvancedStateFromStyle(ts) {
|
|
|
30218
30288
|
}
|
|
30219
30289
|
function textAdvancedPatch(el, changes) {
|
|
30220
30290
|
const base2 = pptx.hasTextProperties(el) ? el.textStyle ?? {} : {};
|
|
30291
|
+
const exclusive = chunkHWW2UVUP_cjs.withExclusiveLineSpacing(changes);
|
|
30221
30292
|
return {
|
|
30293
|
+
...chunkHWW2UVUP_cjs.paragraphOverridePatch(el, exclusive),
|
|
30222
30294
|
textStyle: {
|
|
30223
30295
|
...base2,
|
|
30224
|
-
...
|
|
30296
|
+
...exclusive
|
|
30225
30297
|
}
|
|
30226
30298
|
};
|
|
30227
30299
|
}
|
|
@@ -35972,6 +36044,22 @@ function buildReviewRibbon(t, state) {
|
|
|
35972
36044
|
])
|
|
35973
36045
|
];
|
|
35974
36046
|
}
|
|
36047
|
+
var DEFAULT_STROKE_WIDTH = 1;
|
|
36048
|
+
function canGroupSelection(canEdit, selectedCount, selectionGroupable = true) {
|
|
36049
|
+
return canEdit && selectedCount >= 2 && selectionGroupable;
|
|
36050
|
+
}
|
|
36051
|
+
function canUngroupSelection(canEdit, element) {
|
|
36052
|
+
return canEdit && element?.type === "group" && elementLocks.canInteractWithElement(element, "group");
|
|
36053
|
+
}
|
|
36054
|
+
function canSetStrokeWidth(canEdit, element) {
|
|
36055
|
+
return canEdit && element !== null && pptx.hasShapeProperties(element);
|
|
36056
|
+
}
|
|
36057
|
+
function strokeWidthOf(element) {
|
|
36058
|
+
if (element === null || !pptx.hasShapeProperties(element)) {
|
|
36059
|
+
return DEFAULT_STROKE_WIDTH;
|
|
36060
|
+
}
|
|
36061
|
+
return element.shapeStyle?.strokeWidth ?? DEFAULT_STROKE_WIDTH;
|
|
36062
|
+
}
|
|
35975
36063
|
|
|
35976
36064
|
// src/pptx/render/ribbon-home-commands.ts
|
|
35977
36065
|
function resetSlideLayoutPath(slide) {
|
|
@@ -35981,8 +36069,14 @@ function resetSlideLayoutPath(slide) {
|
|
|
35981
36069
|
function shapeFillChange(hex2, ref) {
|
|
35982
36070
|
return { fillColor: hex2, fillColorRef: ref, fillMode: "solid" };
|
|
35983
36071
|
}
|
|
35984
|
-
function shapeOutlineChange(hex2, ref) {
|
|
35985
|
-
|
|
36072
|
+
function shapeOutlineChange(hex2, ref, current) {
|
|
36073
|
+
const change = { strokeColor: hex2, strokeColorRef: ref };
|
|
36074
|
+
const lineShows = (current?.strokeWidth ?? 0) > 0;
|
|
36075
|
+
if (current && !lineShows) {
|
|
36076
|
+
change.strokeWidth = DEFAULT_STROKE_WIDTH;
|
|
36077
|
+
change.strokeFillMode = "solid";
|
|
36078
|
+
}
|
|
36079
|
+
return change;
|
|
35986
36080
|
}
|
|
35987
36081
|
var RIBBON_SHAPE_SWATCHES = [
|
|
35988
36082
|
"#ffffff",
|
|
@@ -39187,6 +39281,12 @@ function smartArtNodeLabel(node) {
|
|
|
39187
39281
|
fontStyle: node.fontStyle
|
|
39188
39282
|
};
|
|
39189
39283
|
}
|
|
39284
|
+
|
|
39285
|
+
// src/pptx/render/inspector-number.ts
|
|
39286
|
+
function inspectorNumber(value, fallback = 0) {
|
|
39287
|
+
const source = typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
|
39288
|
+
return Math.round(source * 100) / 100;
|
|
39289
|
+
}
|
|
39190
39290
|
function clamp7(v, lo, hi) {
|
|
39191
39291
|
return Math.max(lo, Math.min(hi, v));
|
|
39192
39292
|
}
|
|
@@ -40437,7 +40537,7 @@ function canJoinCollaborationSession(fields) {
|
|
|
40437
40537
|
return buildJoinCollaborationConfig(fields) !== null;
|
|
40438
40538
|
}
|
|
40439
40539
|
function buildCollaborationShareUrl(config, location) {
|
|
40440
|
-
if (!location) {
|
|
40540
|
+
if (!location || location.origin === "null" || location.origin === "") {
|
|
40441
40541
|
return config.roomId;
|
|
40442
40542
|
}
|
|
40443
40543
|
const url = new URL(location.pathname, location.origin);
|
|
@@ -42154,7 +42254,7 @@ function isBulletMarker(segment) {
|
|
|
42154
42254
|
return false;
|
|
42155
42255
|
}
|
|
42156
42256
|
if (bullet.autoNumType) {
|
|
42157
|
-
return bullet.paragraphIndex !== void 0 &&
|
|
42257
|
+
return bullet.paragraphIndex !== void 0 && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment);
|
|
42158
42258
|
}
|
|
42159
42259
|
const marker = bullet.char ? `${bullet.char} ` : bullet.imageRelId || bullet.imageDataUrl ? "\u{1F4CE} " : "\u2022 ";
|
|
42160
42260
|
return segment.text === marker;
|
|
@@ -52249,7 +52349,7 @@ function remark(patch, edit) {
|
|
|
52249
52349
|
return patch;
|
|
52250
52350
|
}
|
|
52251
52351
|
const textSegments = patch.textSegments.map((segment) => {
|
|
52252
|
-
if (!segment.bulletInfo || !
|
|
52352
|
+
if (!segment.bulletInfo || !chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment)) {
|
|
52253
52353
|
return segment;
|
|
52254
52354
|
}
|
|
52255
52355
|
const info = edit(segment.bulletInfo);
|
|
@@ -52259,9 +52359,9 @@ function remark(patch, edit) {
|
|
|
52259
52359
|
}
|
|
52260
52360
|
function applyBulletLibrary(element, spec5) {
|
|
52261
52361
|
if (!spec5) {
|
|
52262
|
-
return
|
|
52362
|
+
return chunkHWW2UVUP_cjs.setElementBullets(element, "none");
|
|
52263
52363
|
}
|
|
52264
|
-
return remark(
|
|
52364
|
+
return remark(chunkHWW2UVUP_cjs.setElementBullets(element, "bullet"), (info) => ({
|
|
52265
52365
|
...baseInfo(info),
|
|
52266
52366
|
char: spec5.char,
|
|
52267
52367
|
fontFamily: spec5.font.typeface,
|
|
@@ -52272,9 +52372,9 @@ function applyBulletLibrary(element, spec5) {
|
|
|
52272
52372
|
}
|
|
52273
52373
|
function applyNumberingLibrary(element, scheme) {
|
|
52274
52374
|
if (!scheme) {
|
|
52275
|
-
return
|
|
52375
|
+
return chunkHWW2UVUP_cjs.setElementBullets(element, "none");
|
|
52276
52376
|
}
|
|
52277
|
-
return remark(
|
|
52377
|
+
return remark(chunkHWW2UVUP_cjs.setElementBullets(element, "numbered"), (info) => ({
|
|
52278
52378
|
...baseInfo(info),
|
|
52279
52379
|
autoNumType: scheme,
|
|
52280
52380
|
autoNumStartAt: info.autoNumStartAt ?? 1,
|
|
@@ -52282,13 +52382,13 @@ function applyNumberingLibrary(element, scheme) {
|
|
|
52282
52382
|
}));
|
|
52283
52383
|
}
|
|
52284
52384
|
function paragraphInfos(element) {
|
|
52285
|
-
return
|
|
52385
|
+
return chunkHWW2UVUP_cjs.splitBulletParagraphs(chunkHWW2UVUP_cjs.resolveBulletSegments(element)).filter((paragraph2) => paragraph2.segments.length > 0).map((paragraph2) => paragraph2.segments[0].bulletInfo);
|
|
52286
52386
|
}
|
|
52287
52387
|
function hasBulletLibrary(element, spec5) {
|
|
52288
52388
|
if (!pptx.hasTextProperties(element)) {
|
|
52289
52389
|
return false;
|
|
52290
52390
|
}
|
|
52291
|
-
const kind =
|
|
52391
|
+
const kind = chunkHWW2UVUP_cjs.elementBulletKind(element);
|
|
52292
52392
|
if (!spec5) {
|
|
52293
52393
|
return kind === "none";
|
|
52294
52394
|
}
|
|
@@ -52300,7 +52400,7 @@ function hasNumberingLibrary(element, scheme) {
|
|
|
52300
52400
|
if (!pptx.hasTextProperties(element)) {
|
|
52301
52401
|
return false;
|
|
52302
52402
|
}
|
|
52303
|
-
const kind =
|
|
52403
|
+
const kind = chunkHWW2UVUP_cjs.elementBulletKind(element);
|
|
52304
52404
|
if (!scheme) {
|
|
52305
52405
|
return kind === "none";
|
|
52306
52406
|
}
|
|
@@ -58417,7 +58517,7 @@ function buildInlineListStylePatch(element, updates, selection) {
|
|
|
58417
58517
|
return {
|
|
58418
58518
|
textSegments: element.textSegments.map(
|
|
58419
58519
|
(segment) => chunkOGJRSAGH_cjs.updateTextSegmentStyle(segment, updates, {
|
|
58420
|
-
updateBodyStyle: !(segment.paragraphInsertionStyle &&
|
|
58520
|
+
updateBodyStyle: !(segment.paragraphInsertionStyle && chunkHWW2UVUP_cjs.isBulletMarkerSegment(segment))
|
|
58421
58521
|
})
|
|
58422
58522
|
),
|
|
58423
58523
|
textStyle: { ...element.textStyle, ...updates }
|
|
@@ -58474,22 +58574,6 @@ var LINE_CAP_OPTIONS = [
|
|
|
58474
58574
|
{ value: "rnd", label: "Round", i18nKey: "pptx.strokeOptions.capRound" },
|
|
58475
58575
|
{ value: "sq", label: "Square", i18nKey: "pptx.strokeOptions.capSquare" }
|
|
58476
58576
|
];
|
|
58477
|
-
var DEFAULT_STROKE_WIDTH = 1;
|
|
58478
|
-
function canGroupSelection(canEdit, selectedCount, selectionGroupable = true) {
|
|
58479
|
-
return canEdit && selectedCount >= 2 && selectionGroupable;
|
|
58480
|
-
}
|
|
58481
|
-
function canUngroupSelection(canEdit, element) {
|
|
58482
|
-
return canEdit && element?.type === "group" && elementLocks.canInteractWithElement(element, "group");
|
|
58483
|
-
}
|
|
58484
|
-
function canSetStrokeWidth(canEdit, element) {
|
|
58485
|
-
return canEdit && element !== null && pptx.hasShapeProperties(element);
|
|
58486
|
-
}
|
|
58487
|
-
function strokeWidthOf(element) {
|
|
58488
|
-
if (element === null || !pptx.hasShapeProperties(element)) {
|
|
58489
|
-
return DEFAULT_STROKE_WIDTH;
|
|
58490
|
-
}
|
|
58491
|
-
return element.shapeStyle?.strokeWidth ?? DEFAULT_STROKE_WIDTH;
|
|
58492
|
-
}
|
|
58493
58577
|
|
|
58494
58578
|
// src/pptx/render/chart-secondary-axis.ts
|
|
58495
58579
|
function isSeriesUsingSecondaryAxis(chartData, seriesIndex) {
|
|
@@ -59185,7 +59269,7 @@ function transformInlineListCase(snapshot, selection, mode) {
|
|
|
59185
59269
|
let first = true;
|
|
59186
59270
|
const textSegments = chunk52LKIMK3_cjs.applyCaseTransformToSegments(source, selection, mode).map(
|
|
59187
59271
|
(segment, index) => {
|
|
59188
|
-
const marker = first &&
|
|
59272
|
+
const marker = first && chunkHWW2UVUP_cjs.isBulletMarkerSegment(source[index]);
|
|
59189
59273
|
first = textSegmentParagraphBreak.isParagraphSeparatorSegment(source[index]);
|
|
59190
59274
|
return marker ? source[index] : segment;
|
|
59191
59275
|
}
|
|
@@ -64422,17 +64506,18 @@ function selectSorterSlide(state, slides, index, modifiers = {}, context = false
|
|
|
64422
64506
|
if (!slide || context && state.selectedIds.includes(slide.id)) {
|
|
64423
64507
|
return state;
|
|
64424
64508
|
}
|
|
64425
|
-
if (!context &&
|
|
64509
|
+
if (!context && modifiers.shiftKey) {
|
|
64510
|
+
const range = slides.slice(Math.min(state.anchor, index), Math.max(state.anchor, index) + 1).map((s) => s.id);
|
|
64426
64511
|
return {
|
|
64427
64512
|
...state,
|
|
64428
|
-
|
|
64429
|
-
selectedIds: state.selectedIds.includes(slide.id) ? state.selectedIds.filter((id) => id !== slide.id) : [...state.selectedIds, slide.id]
|
|
64513
|
+
selectedIds: modifiers.ctrlKey || modifiers.metaKey ? [.../* @__PURE__ */ new Set([...state.selectedIds, ...range])] : range
|
|
64430
64514
|
};
|
|
64431
64515
|
}
|
|
64432
|
-
if (!context && modifiers.
|
|
64516
|
+
if (!context && (modifiers.ctrlKey || modifiers.metaKey)) {
|
|
64433
64517
|
return {
|
|
64434
64518
|
...state,
|
|
64435
|
-
|
|
64519
|
+
anchor: index,
|
|
64520
|
+
selectedIds: state.selectedIds.includes(slide.id) ? state.selectedIds.filter((id) => id !== slide.id) : [...state.selectedIds, slide.id]
|
|
64436
64521
|
};
|
|
64437
64522
|
}
|
|
64438
64523
|
return { ...state, anchor: index, selectedIds: [slide.id] };
|
|
@@ -64444,7 +64529,9 @@ function sorterMenuContext(state, slides) {
|
|
|
64444
64529
|
const indexes = sorterSelectionIndexes(state, slides);
|
|
64445
64530
|
return {
|
|
64446
64531
|
selectedCount: indexes.length,
|
|
64447
|
-
hasClipboard:
|
|
64532
|
+
hasClipboard: Boolean(
|
|
64533
|
+
state.clipboardSlides?.length || slideSorterPasteIndexes(state.clipboardIds, slides).length
|
|
64534
|
+
),
|
|
64448
64535
|
hasHiddenInSelection: indexes.some((i) => slides[i].hidden),
|
|
64449
64536
|
hasVisibleInSelection: indexes.some((i) => !slides[i].hidden),
|
|
64450
64537
|
wouldDeleteAllSlides: indexes.length >= slides.length
|
|
@@ -64453,7 +64540,7 @@ function sorterMenuContext(state, slides) {
|
|
|
64453
64540
|
function sorterGridColumns(zoom) {
|
|
64454
64541
|
return zoom >= 180 ? 2 : zoom >= 140 ? 3 : zoom >= 100 ? 4 : zoom >= 70 ? 5 : 6;
|
|
64455
64542
|
}
|
|
64456
|
-
function applySorterAction(state, slides, action, active2) {
|
|
64543
|
+
function applySorterAction(state, slides, action, active2, clipboardSourceSlides, clipboardTemplates = {}) {
|
|
64457
64544
|
const indexes = sorterSelectionIndexes(state, slides);
|
|
64458
64545
|
switch (action) {
|
|
64459
64546
|
case "close":
|
|
@@ -64466,7 +64553,21 @@ function applySorterAction(state, slides, action, active2) {
|
|
|
64466
64553
|
case "selectAll":
|
|
64467
64554
|
return { state: { ...state, selectedIds: slides.map((s) => s.id) }, indexes: [] };
|
|
64468
64555
|
case "copy":
|
|
64469
|
-
return {
|
|
64556
|
+
return {
|
|
64557
|
+
state: {
|
|
64558
|
+
...state,
|
|
64559
|
+
clipboardIds: indexes.map((i) => slides[i].id),
|
|
64560
|
+
clipboardSlides: slideOperations.captureSlideClipboard(
|
|
64561
|
+
clipboardSourceSlides ?? slides,
|
|
64562
|
+
indexes.map((i) => slides[i].id)
|
|
64563
|
+
),
|
|
64564
|
+
clipboardTemplates: slideOperations.captureSlideClipboardTemplates(
|
|
64565
|
+
clipboardTemplates,
|
|
64566
|
+
indexes.map((i) => slides[i].id)
|
|
64567
|
+
)
|
|
64568
|
+
},
|
|
64569
|
+
indexes: []
|
|
64570
|
+
};
|
|
64470
64571
|
case "zoomIn":
|
|
64471
64572
|
case "zoomOut":
|
|
64472
64573
|
return {
|
|
@@ -64479,11 +64580,16 @@ function applySorterAction(state, slides, action, active2) {
|
|
|
64479
64580
|
indexes: []
|
|
64480
64581
|
};
|
|
64481
64582
|
case "paste":
|
|
64482
|
-
return {
|
|
64483
|
-
|
|
64484
|
-
|
|
64485
|
-
|
|
64486
|
-
|
|
64583
|
+
if (!state.clipboardSlides?.length) return { state, indexes: [] };
|
|
64584
|
+
{
|
|
64585
|
+
const insertAt = sorterPasteInsertAt(indexes, active2, slides.length);
|
|
64586
|
+
const paste = slideOperations.createSlidePaste(state.clipboardSlides, insertAt, state.clipboardTemplates);
|
|
64587
|
+
return {
|
|
64588
|
+
state: { ...state, selectedIds: paste.copies.map((slide) => slide.id), anchor: insertAt },
|
|
64589
|
+
indexes: [],
|
|
64590
|
+
paste
|
|
64591
|
+
};
|
|
64592
|
+
}
|
|
64487
64593
|
case "delete":
|
|
64488
64594
|
return {
|
|
64489
64595
|
state: indexes.length < slides.length ? { ...state, selectedIds: [] } : state,
|
|
@@ -64495,6 +64601,9 @@ function applySorterAction(state, slides, action, active2) {
|
|
|
64495
64601
|
return { state, indexes: indexes.reverse(), operation: action };
|
|
64496
64602
|
}
|
|
64497
64603
|
}
|
|
64604
|
+
function sorterPasteInsertAt(indexes, active2, slideCount) {
|
|
64605
|
+
return Math.min(slideCount, Math.max(0, (indexes.at(-1) ?? active2) + 1));
|
|
64606
|
+
}
|
|
64498
64607
|
|
|
64499
64608
|
// src/pptx/render/viewer-root-options.ts
|
|
64500
64609
|
var VIEWER_ROOT_OPTION_DEFAULTS = Object.freeze({
|
|
@@ -64605,33 +64714,131 @@ function attachViewerHyperlinks(root, navigation) {
|
|
|
64605
64714
|
else root.setAttribute(readOnlyAttr, previousReadOnly);
|
|
64606
64715
|
};
|
|
64607
64716
|
}
|
|
64608
|
-
|
|
64609
|
-
|
|
64610
|
-
|
|
64611
|
-
|
|
64612
|
-
const
|
|
64613
|
-
|
|
64614
|
-
|
|
64615
|
-
|
|
64616
|
-
|
|
64617
|
-
|
|
64618
|
-
|
|
64619
|
-
|
|
64717
|
+
function createSlidePackageClipboard(initialHost) {
|
|
64718
|
+
let host2 = initialHost, disposed = false, pending = false;
|
|
64719
|
+
const retiredHandlers = /* @__PURE__ */ new Set();
|
|
64720
|
+
const mediaUrls = /* @__PURE__ */ new Set();
|
|
64721
|
+
const snapshot = () => {
|
|
64722
|
+
if (disposed) throw new Error("Presentation is closed");
|
|
64723
|
+
if (pending) throw new Error("Another clipboard operation is in progress");
|
|
64724
|
+
const value = host2.getSnapshot();
|
|
64725
|
+
if (!value) throw new Error("Open a presentation first");
|
|
64726
|
+
return value;
|
|
64727
|
+
};
|
|
64728
|
+
return {
|
|
64729
|
+
updateHost(next) {
|
|
64730
|
+
host2 = next;
|
|
64731
|
+
},
|
|
64732
|
+
async copy(indexes) {
|
|
64733
|
+
const before = snapshot();
|
|
64734
|
+
if (!indexes.length) throw new Error("Select slides to copy");
|
|
64735
|
+
const clipboard = globalThis.navigator?.clipboard;
|
|
64736
|
+
if (!clipboard) throw new Error("System clipboard is unavailable in this browser");
|
|
64737
|
+
const slides = templateEditing.buildSaveSlides(before.slides, before.templateElementsBySlideId).map(
|
|
64738
|
+
clone.cloneSlide
|
|
64739
|
+
);
|
|
64740
|
+
pending = true;
|
|
64741
|
+
try {
|
|
64742
|
+
const text3 = before.handler.save(slides).then((bytes) => pptx.createSlideClipboardPackage(bytes, indexes)).then(pptx.serializeSlidePackageClipboard);
|
|
64743
|
+
if (typeof ClipboardItem === "undefined" || !ClipboardItem.supports?.(pptx.SLIDE_PACKAGE_CLIPBOARD_MIME) || !clipboard.write) {
|
|
64744
|
+
await text3;
|
|
64745
|
+
throw new Error("This browser does not support slide packages in the system clipboard");
|
|
64746
|
+
}
|
|
64747
|
+
const preview = indexes.map(
|
|
64748
|
+
(index) => slides[index]?.elements.map(slideSearch.collectElementText).filter(Boolean).join("\n") ?? ""
|
|
64749
|
+
).join("\n\n");
|
|
64750
|
+
const blob = text3.then(
|
|
64751
|
+
(value) => new Blob([value], { type: pptx.SLIDE_PACKAGE_CLIPBOARD_MIME.slice(4) })
|
|
64752
|
+
);
|
|
64753
|
+
const write = clipboard.write([
|
|
64754
|
+
new ClipboardItem({
|
|
64755
|
+
[pptx.SLIDE_PACKAGE_CLIPBOARD_MIME]: blob,
|
|
64756
|
+
"text/plain": new Blob([preview], { type: "text/plain" })
|
|
64757
|
+
})
|
|
64758
|
+
]);
|
|
64759
|
+
const settled = await Promise.allSettled([write, text3]);
|
|
64760
|
+
for (const result of settled) if (result.status === "rejected") throw result.reason;
|
|
64761
|
+
} finally {
|
|
64762
|
+
pending = false;
|
|
64620
64763
|
}
|
|
64621
|
-
|
|
64622
|
-
|
|
64623
|
-
|
|
64624
|
-
|
|
64625
|
-
|
|
64764
|
+
},
|
|
64765
|
+
async paste(insertAt) {
|
|
64766
|
+
const before = snapshot();
|
|
64767
|
+
if (before.editable === false) throw new Error("Presentation is read-only");
|
|
64768
|
+
const clipboard = globalThis.navigator?.clipboard;
|
|
64769
|
+
if (!clipboard?.readText) throw new Error("System clipboard is unavailable in this browser");
|
|
64770
|
+
pending = true;
|
|
64771
|
+
let handler, committed = false;
|
|
64772
|
+
const urls = [];
|
|
64773
|
+
try {
|
|
64774
|
+
const items = clipboard.read ? await clipboard.read() : [];
|
|
64775
|
+
const item4 = items.find((value) => value.types.includes(pptx.SLIDE_PACKAGE_CLIPBOARD_MIME));
|
|
64776
|
+
const text3 = item4 ? await (await item4.getType(pptx.SLIDE_PACKAGE_CLIPBOARD_MIME)).text() : await clipboard.readText();
|
|
64777
|
+
const source = pptx.deserializeSlidePackageClipboard(text3);
|
|
64778
|
+
if (!source) throw new Error("The clipboard does not contain copied PowerPoint slides");
|
|
64779
|
+
const destination = await before.handler.save(
|
|
64780
|
+
templateEditing.buildSaveSlides(before.slides, before.templateElementsBySlideId).map(clone.cloneSlide)
|
|
64781
|
+
);
|
|
64782
|
+
const imported = await pptx.importSlidePackage(destination, source, { insertAt });
|
|
64783
|
+
handler = new pptx.PptxHandler();
|
|
64784
|
+
const data = await handler.load(
|
|
64785
|
+
imported.bytes.buffer.slice(
|
|
64786
|
+
imported.bytes.byteOffset,
|
|
64787
|
+
imported.bytes.byteOffset + imported.bytes.byteLength
|
|
64788
|
+
),
|
|
64789
|
+
{ eagerDecodeImages: true, allowExternalImages: before.allowExternalImages ?? false }
|
|
64790
|
+
);
|
|
64791
|
+
data.slides = await chunkU47LRWDT_cjs.resolveTableCellImageUrls(
|
|
64792
|
+
data.slides,
|
|
64793
|
+
(path) => handler.getImageData(path)
|
|
64794
|
+
);
|
|
64795
|
+
data.slides = await chunkU47LRWDT_cjs.resolveTextFillBlipUrls(
|
|
64796
|
+
data.slides,
|
|
64797
|
+
(path) => handler.getImageData(path)
|
|
64798
|
+
);
|
|
64799
|
+
const importedPaths = new Set(imported.slidePaths);
|
|
64800
|
+
const media = [];
|
|
64801
|
+
for (const slide of data.slides)
|
|
64802
|
+
if (importedPaths.has(slide.id)) chunkU47LRWDT_cjs.collectMediaElements(slide.elements, media);
|
|
64803
|
+
const nextMediaUrls = /* @__PURE__ */ new Map();
|
|
64804
|
+
for (const element of media) {
|
|
64805
|
+
const resolved = await chunkU47LRWDT_cjs.resolveMediaElementSource(element, handler);
|
|
64806
|
+
if (resolved.url && resolved.mediaPath) {
|
|
64807
|
+
nextMediaUrls.set(resolved.mediaPath, resolved.url);
|
|
64808
|
+
if (resolved.isBlobUrl) urls.push(resolved.url);
|
|
64809
|
+
} else element.mediaMissing = true;
|
|
64810
|
+
}
|
|
64811
|
+
const current = host2.getSnapshot();
|
|
64812
|
+
if (disposed || current?.editable === false || current?.handler !== before.handler || current?.templateElementsBySlideId !== before.templateElementsBySlideId || current.slides !== before.slides)
|
|
64813
|
+
throw new Error("Presentation changed while preparing paste. Try again");
|
|
64814
|
+
const partition = templateEditing.partitionTemplateElements(data.slides);
|
|
64815
|
+
host2.commit({
|
|
64816
|
+
handler,
|
|
64817
|
+
data,
|
|
64818
|
+
...partition,
|
|
64819
|
+
mediaUrls: nextMediaUrls,
|
|
64820
|
+
insertAt: Math.min(Math.max(0, insertAt), before.slides.length),
|
|
64821
|
+
count: imported.slidePaths.length
|
|
64822
|
+
});
|
|
64823
|
+
retiredHandlers.add(before.handler);
|
|
64824
|
+
for (const url of urls) mediaUrls.add(url);
|
|
64825
|
+
committed = true;
|
|
64826
|
+
} finally {
|
|
64827
|
+
pending = false;
|
|
64828
|
+
if (!committed) {
|
|
64829
|
+
handler?.dispose();
|
|
64830
|
+
for (const url of urls) URL.revokeObjectURL(url);
|
|
64831
|
+
}
|
|
64626
64832
|
}
|
|
64627
|
-
|
|
64628
|
-
|
|
64629
|
-
|
|
64833
|
+
},
|
|
64834
|
+
dispose() {
|
|
64835
|
+
disposed = true;
|
|
64836
|
+
for (const handler of retiredHandlers) handler.dispose();
|
|
64837
|
+
retiredHandlers.clear();
|
|
64838
|
+
for (const url of mediaUrls) URL.revokeObjectURL(url);
|
|
64839
|
+
mediaUrls.clear();
|
|
64630
64840
|
}
|
|
64631
|
-
}
|
|
64632
|
-
const style = doc.createElement("style");
|
|
64633
|
-
style.textContent = css;
|
|
64634
|
-
root.append(style);
|
|
64841
|
+
};
|
|
64635
64842
|
}
|
|
64636
64843
|
|
|
64637
64844
|
// src/pptx/web-components/mobile-bar-styles.ts
|
|
@@ -74328,7 +74535,8 @@ var controls = [
|
|
|
74328
74535
|
["pptx-ui-context-menu", definePptxContextMenu],
|
|
74329
74536
|
["pptx-ui-subtitle-settings", definePptxSubtitleSettings],
|
|
74330
74537
|
["pptx-ui-theme-editor", definePptxThemeEditor],
|
|
74331
|
-
["pptx-ui-title-bar", definePptxTitleBar]
|
|
74538
|
+
["pptx-ui-title-bar", definePptxTitleBar],
|
|
74539
|
+
["pptx-ui-slide-clipboard", definePptxSlideClipboard]
|
|
74332
74540
|
];
|
|
74333
74541
|
function registerPptxWebControls() {
|
|
74334
74542
|
if (typeof window === "undefined" || !window.customElements) {
|
|
@@ -76903,10 +77111,30 @@ Object.defineProperty(exports, "resolveSlideId", {
|
|
|
76903
77111
|
enumerable: true,
|
|
76904
77112
|
get: function () { return sectionOperations.resolveSlideId; }
|
|
76905
77113
|
});
|
|
77114
|
+
Object.defineProperty(exports, "applySlidePasteTemplates", {
|
|
77115
|
+
enumerable: true,
|
|
77116
|
+
get: function () { return slideOperations.applySlidePasteTemplates; }
|
|
77117
|
+
});
|
|
77118
|
+
Object.defineProperty(exports, "captureSlideClipboard", {
|
|
77119
|
+
enumerable: true,
|
|
77120
|
+
get: function () { return slideOperations.captureSlideClipboard; }
|
|
77121
|
+
});
|
|
77122
|
+
Object.defineProperty(exports, "captureSlideClipboardTemplates", {
|
|
77123
|
+
enumerable: true,
|
|
77124
|
+
get: function () { return slideOperations.captureSlideClipboardTemplates; }
|
|
77125
|
+
});
|
|
76906
77126
|
Object.defineProperty(exports, "createBlankSlide", {
|
|
76907
77127
|
enumerable: true,
|
|
76908
77128
|
get: function () { return slideOperations.createBlankSlide; }
|
|
76909
77129
|
});
|
|
77130
|
+
Object.defineProperty(exports, "createSlidePaste", {
|
|
77131
|
+
enumerable: true,
|
|
77132
|
+
get: function () { return slideOperations.createSlidePaste; }
|
|
77133
|
+
});
|
|
77134
|
+
Object.defineProperty(exports, "insertSlidePaste", {
|
|
77135
|
+
enumerable: true,
|
|
77136
|
+
get: function () { return slideOperations.insertSlidePaste; }
|
|
77137
|
+
});
|
|
76910
77138
|
Object.defineProperty(exports, "makeSlideId", {
|
|
76911
77139
|
enumerable: true,
|
|
76912
77140
|
get: function () { return slideOperations.makeSlideId; }
|
|
@@ -77175,6 +77403,10 @@ Object.defineProperty(exports, "findInSlides", {
|
|
|
77175
77403
|
enumerable: true,
|
|
77176
77404
|
get: function () { return findReplace.findInSlides; }
|
|
77177
77405
|
});
|
|
77406
|
+
Object.defineProperty(exports, "findReplacementAvailability", {
|
|
77407
|
+
enumerable: true,
|
|
77408
|
+
get: function () { return findReplace.findReplacementAvailability; }
|
|
77409
|
+
});
|
|
77178
77410
|
Object.defineProperty(exports, "replaceInSlides", {
|
|
77179
77411
|
enumerable: true,
|
|
77180
77412
|
get: function () { return findReplace.replaceInSlides; }
|
|
@@ -77491,7 +77723,6 @@ exports.BARN_FILTER_TOKEN_TO_SUBTYPE = BARN_FILTER_TOKEN_TO_SUBTYPE;
|
|
|
77491
77723
|
exports.BASELINE_FONT_SCALE = BASELINE_FONT_SCALE;
|
|
77492
77724
|
exports.BEVEL_PRESETS = BEVEL_PRESETS;
|
|
77493
77725
|
exports.BI_LEVEL_THRESHOLDS = BI_LEVEL_THRESHOLDS;
|
|
77494
|
-
exports.BODY_TEXT_STYLE_KEYS = BODY_TEXT_STYLE_KEYS;
|
|
77495
77726
|
exports.BOTTOM_TRIGGER_FRACTION = BOTTOM_TRIGGER_FRACTION;
|
|
77496
77727
|
exports.BRIGHTNESS_CONTRAST_STEPS = BRIGHTNESS_CONTRAST_STEPS;
|
|
77497
77728
|
exports.BROADCAST_THROTTLE_MS = BROADCAST_THROTTLE_MS;
|
|
@@ -78500,6 +78731,7 @@ exports.createPresenterShowGuard = createPresenterShowGuard;
|
|
|
78500
78731
|
exports.createPresenterTimer = createPresenterTimer;
|
|
78501
78732
|
exports.createRibbonControlIcon = createRibbonControlIcon;
|
|
78502
78733
|
exports.createSheetDismissGesture = createSheetDismissGesture;
|
|
78734
|
+
exports.createSlidePackageClipboard = createSlidePackageClipboard;
|
|
78503
78735
|
exports.createSlideSorterState = createSlideSorterState;
|
|
78504
78736
|
exports.createSyncGate = createSyncGate;
|
|
78505
78737
|
exports.createTouchGestureRecognizer = createTouchGestureRecognizer;
|
|
@@ -78847,6 +79079,8 @@ exports.getOverflowSegments = getOverflowSegments;
|
|
|
78847
79079
|
exports.getP14TransitionAnimations = getP14TransitionAnimations;
|
|
78848
79080
|
exports.getPasswordStrength = getPasswordStrength;
|
|
78849
79081
|
exports.getPendingSelectionRestore = getPendingSelectionRestore;
|
|
79082
|
+
exports.getPictureFrameLayers = getPictureFrameLayers;
|
|
79083
|
+
exports.getPictureShadowFilter = getPictureShadowFilter;
|
|
78850
79084
|
exports.getPlaceholderStyle = getPlaceholderStyle;
|
|
78851
79085
|
exports.getPresentationContextMenuSections = getPresentationContextMenuSections;
|
|
78852
79086
|
exports.getPresetShapeVectorGeometry = getPresetShapeVectorGeometry;
|
|
@@ -78910,6 +79144,7 @@ exports.hasImageOverrides = hasImageOverrides;
|
|
|
78910
79144
|
exports.hasMotionPath = hasMotionPath;
|
|
78911
79145
|
exports.hasMultipleSelectedTableCells = hasMultipleSelectedTableCells;
|
|
78912
79146
|
exports.hasPersistentAudio = hasPersistentAudio;
|
|
79147
|
+
exports.hasPictureFrame = hasPictureFrame;
|
|
78913
79148
|
exports.hasShowSlideAfter = hasShowSlideAfter;
|
|
78914
79149
|
exports.hasStrokePaint = hasStrokePaint;
|
|
78915
79150
|
exports.hasText3dExtrusion = hasText3dExtrusion;
|
|
@@ -78951,6 +79186,7 @@ exports.innerShadowStateOf = innerShadowStateOf;
|
|
|
78951
79186
|
exports.insertCommentMention = insertCommentMention;
|
|
78952
79187
|
exports.insertHyperlinkAtSelection = insertHyperlinkAtSelection;
|
|
78953
79188
|
exports.insertLabel = insertLabel;
|
|
79189
|
+
exports.inspectorNumber = inspectorNumber;
|
|
78954
79190
|
exports.interpolateColor = interpolateColor;
|
|
78955
79191
|
exports.interpolateOutline = interpolateOutline;
|
|
78956
79192
|
exports.interpolatePaths = interpolatePaths;
|
|
@@ -78964,7 +79200,6 @@ exports.isAudienceDisplayTab = isAudienceDisplayTab;
|
|
|
78964
79200
|
exports.isAudienceTab = isAudienceTab;
|
|
78965
79201
|
exports.isBackstagePageVisible = isBackstagePageVisible;
|
|
78966
79202
|
exports.isBlackboardActive = isBlackboardActive;
|
|
78967
|
-
exports.isBodyTextStyleKey = isBodyTextStyleKey;
|
|
78968
79203
|
exports.isBookmarkGated = isBookmarkGated;
|
|
78969
79204
|
exports.isBrowserOpenableMime = isBrowserOpenableMime;
|
|
78970
79205
|
exports.isChart3DViewEnabled = isChart3DViewEnabled;
|
|
@@ -79338,7 +79573,6 @@ exports.reanchorEditFrame = reanchorEditFrame;
|
|
|
79338
79573
|
exports.rebaseOptions = rebaseOptions;
|
|
79339
79574
|
exports.rebuildDrawingShapesIfCleared = rebuildDrawingShapesIfCleared;
|
|
79340
79575
|
exports.recolorInheritedText = recolorInheritedText;
|
|
79341
|
-
exports.reconcileDecorationFlags = reconcileDecorationFlags;
|
|
79342
79576
|
exports.reconcileInlineListFormatting = reconcileInlineListFormatting;
|
|
79343
79577
|
exports.reconcileInlineListSnapshot = reconcileInlineListSnapshot;
|
|
79344
79578
|
exports.recordProgressPercent = recordProgressPercent;
|
|
@@ -79671,6 +79905,7 @@ exports.simplifyFreeformVertices = simplifyFreeformVertices;
|
|
|
79671
79905
|
exports.simplifyLoop = simplifyLoop;
|
|
79672
79906
|
exports.slideBackgroundClearPatch = slideBackgroundClearPatch;
|
|
79673
79907
|
exports.slideBackgroundClearState = slideBackgroundClearState;
|
|
79908
|
+
exports.slideClipboardLabels = slideClipboardLabels;
|
|
79674
79909
|
exports.slidePaneContextMenuLabelKey = slidePaneContextMenuLabelKey;
|
|
79675
79910
|
exports.slidePaneViewItems = slidePaneViewItems;
|
|
79676
79911
|
exports.slideProgressPercent = slideProgressPercent;
|
|
@@ -79696,6 +79931,7 @@ exports.solveShapeAdjustments = solveShapeAdjustments;
|
|
|
79696
79931
|
exports.sortEntranceAnimations = sortEntranceAnimations;
|
|
79697
79932
|
exports.sorterGridColumns = sorterGridColumns;
|
|
79698
79933
|
exports.sorterMenuContext = sorterMenuContext;
|
|
79934
|
+
exports.sorterPasteInsertAt = sorterPasteInsertAt;
|
|
79699
79935
|
exports.sorterSelectionIndexes = sorterSelectionIndexes;
|
|
79700
79936
|
exports.splitCubic = splitCubic;
|
|
79701
79937
|
exports.splitEastAsianBreaks = splitEastAsianBreaks;
|
|
@@ -79704,7 +79940,6 @@ exports.splitRegionComponents = splitRegionComponents;
|
|
|
79704
79940
|
exports.splitRunByScriptFont = splitRunByScriptFont;
|
|
79705
79941
|
exports.splitRunForMetrics = splitRunForMetrics;
|
|
79706
79942
|
exports.splitStyledRun = splitStyledRun;
|
|
79707
|
-
exports.splitTextStyleUpdate = splitTextStyleUpdate;
|
|
79708
79943
|
exports.splitWordsForUnderline = splitWordsForUnderline;
|
|
79709
79944
|
exports.splitsUnderlineIntoWords = splitsUnderlineIntoWords;
|
|
79710
79945
|
exports.startCropSession = startCropSession;
|