ooxml-ui 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/chart/data-sheet-keys.d.ts +1 -0
  2. package/dist/chart/format-pane-3d.d.ts +0 -1
  3. package/dist/chart/format-pane-common.d.ts +1 -0
  4. package/dist/chart/format-pane-fill-line.d.ts +1 -0
  5. package/dist/chart/format-pane-text.d.ts +1 -0
  6. package/dist/pptx/{chunk-43NFRLCD.cjs → chunk-37VJFRCP.cjs} +2 -2
  7. package/dist/pptx/{chunk-A3JJOLTS.cjs → chunk-3AFB46RL.cjs} +44 -43
  8. package/dist/pptx/{chunk-72P6AWRA.mjs → chunk-67L75M6K.mjs} +1 -1
  9. package/dist/pptx/{chunk-LAF5W2UR.mjs → chunk-7OD74VJC.mjs} +2 -1
  10. package/dist/pptx/{chunk-6QLGEV3I.mjs → chunk-CT7UD6VL.mjs} +547 -83
  11. package/dist/pptx/{chunk-B4GBGPNL.cjs → chunk-CWWL7MCL.cjs} +99 -0
  12. package/dist/pptx/{chunk-7DIZOCO4.mjs → chunk-FUKVYJPM.mjs} +59 -2
  13. package/dist/pptx/{chunk-I6ZVSJAR.cjs → chunk-WBFAVFD4.cjs} +577 -139
  14. package/dist/pptx/dom/index.cjs +384 -384
  15. package/dist/pptx/dom/index.mjs +6 -6
  16. package/dist/pptx/index.cjs +3161 -3093
  17. package/dist/pptx/index.mjs +3 -3
  18. package/dist/pptx/render/customization/customization-controller.d.ts +8 -0
  19. package/dist/pptx/render/customization/customization-controller.d.ts.map +1 -1
  20. package/dist/pptx/render/find-replace-session-actions.d.ts +44 -0
  21. package/dist/pptx/render/find-replace-session-actions.d.ts.map +1 -0
  22. package/dist/pptx/render/find-replace-session.d.ts +120 -0
  23. package/dist/pptx/render/find-replace-session.d.ts.map +1 -0
  24. package/dist/pptx/render/format-painter.cjs +5 -5
  25. package/dist/pptx/render/format-painter.mjs +2 -2
  26. package/dist/pptx/render/index.d.ts +3 -0
  27. package/dist/pptx/render/index.d.ts.map +1 -1
  28. package/dist/pptx/render/inspector/index.d.ts +2 -0
  29. package/dist/pptx/render/inspector/index.d.ts.map +1 -1
  30. package/dist/pptx/render/inspector/inspector-color-fields.d.ts +38 -0
  31. package/dist/pptx/render/inspector/inspector-color-fields.d.ts.map +1 -0
  32. package/dist/pptx/render/inspector-helpers.cjs +21 -13
  33. package/dist/pptx/render/inspector-helpers.d.ts +10 -1
  34. package/dist/pptx/render/inspector-helpers.d.ts.map +1 -1
  35. package/dist/pptx/render/inspector-helpers.mjs +1 -1
  36. package/dist/pptx/render/live-color-input.d.ts +93 -0
  37. package/dist/pptx/render/live-color-input.d.ts.map +1 -0
  38. package/dist/pptx/render/live-color-leaves.d.ts +34 -0
  39. package/dist/pptx/render/live-color-leaves.d.ts.map +1 -0
  40. package/dist/pptx/render/options/external-content-policy.d.ts +31 -0
  41. package/dist/pptx/render/options/external-content-policy.d.ts.map +1 -0
  42. package/dist/pptx/render/options/index.d.ts +1 -0
  43. package/dist/pptx/render/options/index.d.ts.map +1 -1
  44. package/dist/pptx/render/options/viewer-options-constraints.d.ts +15 -1
  45. package/dist/pptx/render/options/viewer-options-constraints.d.ts.map +1 -1
  46. package/dist/pptx/render/options/viewer-options-store.d.ts.map +1 -1
  47. package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
  48. package/dist/pptx/{smartart-insert-preview-AERZURUO.cjs → smartart-insert-preview-3BY6HNZL.cjs} +5 -5
  49. package/dist/pptx/{smartart-insert-preview-CGAZP5JP.mjs → smartart-insert-preview-7CRBDPYF.mjs} +4 -4
  50. package/dist/theme-bridge.d.ts +1 -0
  51. package/package.json +2 -2
@@ -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 chunkB4GBGPNL_cjs = require('./chunk-B4GBGPNL.cjs');
12
+ var chunkCWWL7MCL_cjs = require('./chunk-CWWL7MCL.cjs');
13
13
  var chunkWB25PCHQ_cjs = require('./chunk-WB25PCHQ.cjs');
14
14
  var chunkW3X2UVYQ_cjs = require('./chunk-W3X2UVYQ.cjs');
15
15
  var chunk6KLPQQYP_cjs = require('./chunk-6KLPQQYP.cjs');
@@ -43,7 +43,6 @@ var tableDataGridOps = require('ooxml-core/pptx/editor/render/table-data-grid-op
43
43
  var tableCellMerge = require('ooxml-core/pptx/editor/render/table-cell-merge');
44
44
  var clone = require('ooxml-core/pptx/editor/render/clone');
45
45
  var geometry = require('ooxml-core/geometry');
46
- var elementLocks = require('ooxml-core/pptx/editor/render/element-locks');
47
46
  var groupOps = require('ooxml-core/pptx/editor/render/group-ops');
48
47
  var slideBackgroundPatch = require('ooxml-core/pptx/editor/render/slide-background-patch');
49
48
  var elementOperations = require('ooxml-core/pptx/editor/render/element-operations');
@@ -30571,7 +30570,7 @@ function getPendingSelectionRestore() {
30571
30570
  }
30572
30571
  function applyStyleToSelectedSegments(segments, selection, updates, inherited) {
30573
30572
  const { startSegIdx, startOffset, endSegIdx, endOffset } = selection;
30574
- const restyle = (style) => chunkB4GBGPNL_cjs.mergeTextStyleUpdate(style, updates, inherited);
30573
+ const restyle = (style) => chunkCWWL7MCL_cjs.mergeTextStyleUpdate(style, updates, inherited);
30575
30574
  const result = [];
30576
30575
  let newStartSegIdx = -1;
30577
30576
  let newStartOffset = 0;
@@ -30887,11 +30886,11 @@ function applyTextStyleUpdate(element, updates, selection, segments) {
30887
30886
  return { patch: {}, newSelection: null };
30888
30887
  }
30889
30888
  const current = segments ?? element.textSegments;
30890
- const exclusive = chunkB4GBGPNL_cjs.withExclusiveLineSpacing(updates);
30889
+ const exclusive = chunkCWWL7MCL_cjs.withExclusiveLineSpacing(updates);
30891
30890
  if (selection && current && current.length > 0) {
30892
- const { body, run } = chunkB4GBGPNL_cjs.splitTextStyleUpdate(exclusive);
30893
- let textStyle = chunkB4GBGPNL_cjs.mergeTextStyleUpdate(element.textStyle, body);
30894
- let textSegments = chunkB4GBGPNL_cjs.overrideParagraphProperties(
30891
+ const { body, run } = chunkCWWL7MCL_cjs.splitTextStyleUpdate(exclusive);
30892
+ let textStyle = chunkCWWL7MCL_cjs.mergeTextStyleUpdate(element.textStyle, body);
30893
+ let textSegments = chunkCWWL7MCL_cjs.overrideParagraphProperties(
30895
30894
  current,
30896
30895
  exclusive,
30897
30896
  element.textStyle?.inheritedParagraphSpacing
@@ -30902,9 +30901,9 @@ function applyTextStyleUpdate(element, updates, selection, segments) {
30902
30901
  textSegments = scoped.newSegments;
30903
30902
  newSelection = scoped.newSelection;
30904
30903
  }
30905
- const touched = chunkB4GBGPNL_cjs.TEXT_DECORATION_FLAGS.filter((flag2) => flag2 in run);
30904
+ const touched = chunkCWWL7MCL_cjs.TEXT_DECORATION_FLAGS.filter((flag2) => flag2 in run);
30906
30905
  if (touched.length > 0) {
30907
- const reconciled = chunkB4GBGPNL_cjs.reconcileDecorationFlags(textSegments, textStyle, touched);
30906
+ const reconciled = chunkCWWL7MCL_cjs.reconcileDecorationFlags(textSegments, textStyle, touched);
30908
30907
  textStyle = reconciled.textStyle;
30909
30908
  textSegments = reconciled.textSegments;
30910
30909
  }
@@ -30912,7 +30911,7 @@ function applyTextStyleUpdate(element, updates, selection, segments) {
30912
30911
  patch: {
30913
30912
  textStyle,
30914
30913
  textSegments,
30915
- ...chunkB4GBGPNL_cjs.overrideParagraphIndents(element, exclusive)
30914
+ ...chunkCWWL7MCL_cjs.overrideParagraphIndents(element, exclusive)
30916
30915
  },
30917
30916
  newSelection
30918
30917
  };
@@ -30920,7 +30919,7 @@ function applyTextStyleUpdate(element, updates, selection, segments) {
30920
30919
  const wholeText = textRunsStylePatch.textRunsStylePatch(
30921
30920
  {
30922
30921
  ...element,
30923
- textSegments: current && chunkB4GBGPNL_cjs.overrideParagraphProperties(
30922
+ textSegments: current && chunkCWWL7MCL_cjs.overrideParagraphProperties(
30924
30923
  current,
30925
30924
  exclusive,
30926
30925
  element.textStyle?.inheritedParagraphSpacing
@@ -30931,7 +30930,7 @@ function applyTextStyleUpdate(element, updates, selection, segments) {
30931
30930
  return {
30932
30931
  patch: {
30933
30932
  ...wholeText,
30934
- ...chunkB4GBGPNL_cjs.overrideParagraphIndents(element, exclusive)
30933
+ ...chunkCWWL7MCL_cjs.overrideParagraphIndents(element, exclusive)
30935
30934
  },
30936
30935
  newSelection: null
30937
30936
  };
@@ -34962,9 +34961,9 @@ function textAdvancedStateFromStyle(ts) {
34962
34961
  }
34963
34962
  function textAdvancedPatch(el, changes) {
34964
34963
  const base2 = pptx.hasTextProperties(el) ? el.textStyle ?? {} : {};
34965
- const exclusive = chunkB4GBGPNL_cjs.withExclusiveLineSpacing(changes);
34964
+ const exclusive = chunkCWWL7MCL_cjs.withExclusiveLineSpacing(changes);
34966
34965
  return {
34967
- ...chunkB4GBGPNL_cjs.paragraphOverridePatch(el, exclusive),
34966
+ ...chunkCWWL7MCL_cjs.paragraphOverridePatch(el, exclusive),
34968
34967
  textStyle: {
34969
34968
  ...base2,
34970
34969
  ...exclusive
@@ -36202,7 +36201,7 @@ function getShapeAdjustmentHandleDescriptors(element) {
36202
36201
  if (!pptx.hasShapeProperties(element) || element.type === "connector") {
36203
36202
  return [];
36204
36203
  }
36205
- if (!elementLocks.canInteractWithElement(element, "adjustHandle")) {
36204
+ if (!chunkCWWL7MCL_cjs.canInteractWithElement(element, "adjustHandle")) {
36206
36205
  return [];
36207
36206
  }
36208
36207
  const shape = element;
@@ -40457,54 +40456,6 @@ function buildReviewRibbon(t2, state) {
40457
40456
  ])
40458
40457
  ];
40459
40458
  }
40460
- var DEFAULT_STROKE_WIDTH = 1;
40461
- function canGroupSelection(canEdit, selectedCount, selectionGroupable = true) {
40462
- return canEdit && selectedCount >= 2 && selectionGroupable;
40463
- }
40464
- function canUngroupSelection(canEdit, element) {
40465
- return canEdit && element?.type === "group" && elementLocks.canInteractWithElement(element, "group");
40466
- }
40467
- function canSetStrokeWidth(canEdit, element) {
40468
- return canEdit && element !== null && pptx.hasShapeProperties(element);
40469
- }
40470
- function strokeWidthOf(element) {
40471
- if (element === null || !pptx.hasShapeProperties(element)) {
40472
- return DEFAULT_STROKE_WIDTH;
40473
- }
40474
- return element.shapeStyle?.strokeWidth ?? DEFAULT_STROKE_WIDTH;
40475
- }
40476
-
40477
- // src/pptx/render/ribbon-home-commands.ts
40478
- function resetSlideLayoutPath(slide) {
40479
- const path = slide?.layoutPath;
40480
- return typeof path === "string" && path !== "" ? path : void 0;
40481
- }
40482
- function shapeFillChange(hex2, ref) {
40483
- return { fillColor: hex2, fillColorRef: ref, fillMode: "solid" };
40484
- }
40485
- function shapeOutlineChange(hex2, ref, current) {
40486
- const change = { strokeColor: hex2, strokeColorRef: ref };
40487
- const lineShows = (current?.strokeWidth ?? 0) > 0;
40488
- if (current && !lineShows) {
40489
- change.strokeWidth = DEFAULT_STROKE_WIDTH;
40490
- change.strokeFillMode = "solid";
40491
- }
40492
- return change;
40493
- }
40494
- var RIBBON_SHAPE_SWATCHES = [
40495
- "#ffffff",
40496
- "#000000",
40497
- "#c00000",
40498
- "#ff0000",
40499
- "#ffc000",
40500
- "#ffff00",
40501
- "#92d050",
40502
- "#00b050",
40503
- "#00b0f0",
40504
- "#0070c0",
40505
- "#002060",
40506
- "#7030a0"
40507
- ];
40508
40459
 
40509
40460
  // src/pptx/render/transition-preview.ts
40510
40461
  var TRANSITION_PREVIEW_ATTR = "data-pptx-transition-preview";
@@ -44079,6 +44030,246 @@ function inspectorTogglePatch(sections2, sectionId, target, on) {
44079
44030
  }
44080
44031
  return on ? toggle2.enable(target) : toggle2.disable(target);
44081
44032
  }
44033
+
44034
+ // src/pptx/render/live-color-leaves.ts
44035
+ function isContainer(value) {
44036
+ if (Array.isArray(value)) {
44037
+ return true;
44038
+ }
44039
+ if (typeof value !== "object" || value === null) {
44040
+ return false;
44041
+ }
44042
+ const proto = Object.getPrototypeOf(value);
44043
+ return proto === Object.prototype || proto === null;
44044
+ }
44045
+ function childOf(value, key) {
44046
+ return isContainer(value) ? value[key] : void 0;
44047
+ }
44048
+ function hasChild(value, key) {
44049
+ return isContainer(value) && Object.hasOwn(value, key);
44050
+ }
44051
+ function diffLeaves(before, beforeHas, after, afterHas, path, out) {
44052
+ if (beforeHas === afterHas && Object.is(before, after)) {
44053
+ return;
44054
+ }
44055
+ if (before === void 0 && isContainer(after)) {
44056
+ out.created.push(path);
44057
+ for (const key of Object.keys(after)) {
44058
+ diffLeaves(void 0, false, childOf(after, key), true, [...path, key], out);
44059
+ }
44060
+ return;
44061
+ }
44062
+ if (isContainer(before) && isContainer(after) && Array.isArray(before) === Array.isArray(after)) {
44063
+ const keys = /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)]);
44064
+ for (const key of keys) {
44065
+ diffLeaves(
44066
+ childOf(before, key),
44067
+ hasChild(before, key),
44068
+ childOf(after, key),
44069
+ hasChild(after, key),
44070
+ [...path, key],
44071
+ out
44072
+ );
44073
+ }
44074
+ return;
44075
+ }
44076
+ out.changed.push(path);
44077
+ }
44078
+ var isAncestor = (ancestor, path) => ancestor.every((segment, index) => path[index] === segment);
44079
+ function recordLiveColorLeaves(leaves, value, patch) {
44080
+ const diff = { changed: [], created: [] };
44081
+ for (const [key, next] of Object.entries(patch)) {
44082
+ diffLeaves(childOf(value, key), hasChild(value, key), next, true, [key], diff);
44083
+ }
44084
+ for (const path of diff.created) {
44085
+ const id = `created:${JSON.stringify(path)}`;
44086
+ if (!leaves.has(id)) {
44087
+ leaves.set(id, { path, present: false, value: void 0, created: true });
44088
+ }
44089
+ }
44090
+ for (const path of diff.changed) {
44091
+ const covered = [...leaves.values()].some(
44092
+ (leaf) => !leaf.created && isAncestor(leaf.path, path)
44093
+ );
44094
+ if (covered) {
44095
+ continue;
44096
+ }
44097
+ let holder = value;
44098
+ for (const segment of path.slice(0, -1)) {
44099
+ holder = childOf(holder, segment);
44100
+ }
44101
+ const last = path[path.length - 1];
44102
+ leaves.set(JSON.stringify(path), {
44103
+ path,
44104
+ present: hasChild(holder, last),
44105
+ value: childOf(holder, last)
44106
+ });
44107
+ }
44108
+ }
44109
+ function writeLeaf(container, path, leaf) {
44110
+ const [head, ...rest] = path;
44111
+ const copy = Array.isArray(container) ? [...container] : { ...isContainer(container) ? container : {} };
44112
+ const record = copy;
44113
+ if (rest.length > 0) {
44114
+ record[head] = writeLeaf(record[head], rest, leaf);
44115
+ } else if (leaf.present) {
44116
+ record[head] = leaf.value;
44117
+ } else if (Array.isArray(copy)) {
44118
+ record[head] = void 0;
44119
+ } else {
44120
+ delete record[head];
44121
+ }
44122
+ return copy;
44123
+ }
44124
+ function isEmptyContainer(value) {
44125
+ return isContainer(value) && Object.keys(value).length === 0;
44126
+ }
44127
+ function liveColorRevertPatch(value, leaves) {
44128
+ const patch = {};
44129
+ const entry6 = (head) => Object.hasOwn(patch, head) ? patch[head] : childOf(value, head);
44130
+ const all = [...leaves];
44131
+ for (const leaf of all.filter((candidate) => !candidate.created)) {
44132
+ const [head, ...rest] = leaf.path;
44133
+ if (head === void 0) {
44134
+ continue;
44135
+ }
44136
+ patch[head] = rest.length === 0 ? leaf.present ? leaf.value : void 0 : writeLeaf(entry6(head), rest, leaf);
44137
+ }
44138
+ const created = all.filter((candidate) => candidate.created).sort((left, right) => right.path.length - left.path.length);
44139
+ for (const leaf of created) {
44140
+ const [head, ...rest] = leaf.path;
44141
+ if (head === void 0) {
44142
+ continue;
44143
+ }
44144
+ let held = entry6(head);
44145
+ for (const segment of rest) {
44146
+ held = childOf(held, segment);
44147
+ }
44148
+ if (isEmptyContainer(held)) {
44149
+ patch[head] = rest.length === 0 ? void 0 : writeLeaf(entry6(head), rest, leaf);
44150
+ }
44151
+ }
44152
+ return patch;
44153
+ }
44154
+
44155
+ // src/pptx/render/live-color-input.ts
44156
+ function normalizeColor(color) {
44157
+ return color.trim().toLowerCase();
44158
+ }
44159
+ function createLiveColorInput(options) {
44160
+ let drag;
44161
+ const carriedOn = (source) => drag && drag.key === source.key && (source.value === drag.last || drag.colors.has(normalizeColor(source.color))) ? drag : void 0;
44162
+ const leave = (source) => {
44163
+ const stale = drag;
44164
+ drag = void 0;
44165
+ if (!stale || source && stale.key === source.key) {
44166
+ return false;
44167
+ }
44168
+ const now = stale.leaves.size > 0 ? options.lookup(stale.key) : void 0;
44169
+ if (now !== void 0) {
44170
+ options.preview(liveColorRevertPatch(now, stale.leaves.values()), stale.key);
44171
+ }
44172
+ return true;
44173
+ };
44174
+ const settle = (hex2, picked) => {
44175
+ const source = options.read();
44176
+ const current = source ? carriedOn(source) : void 0;
44177
+ if (!current && (leave(source) || !picked)) {
44178
+ return;
44179
+ }
44180
+ if (!source) {
44181
+ return;
44182
+ }
44183
+ drag = void 0;
44184
+ let base2 = source.value;
44185
+ if (current && current.leaves.size > 0) {
44186
+ const revert = liveColorRevertPatch(source.value, current.leaves.values());
44187
+ options.preview(revert, current.key);
44188
+ base2 = { ...source.value, ...revert };
44189
+ }
44190
+ const start = current ? current.start : source.color;
44191
+ const moved = normalizeColor(hex2) !== normalizeColor(start);
44192
+ if (moved || picked) {
44193
+ options.remember(hex2);
44194
+ }
44195
+ const patch = moved ? options.patch(base2, hex2) : void 0;
44196
+ if (patch) {
44197
+ options.commit(patch, source.key, hex2);
44198
+ }
44199
+ };
44200
+ return {
44201
+ input(hex2) {
44202
+ const source = options.read();
44203
+ let current = source ? carriedOn(source) : void 0;
44204
+ if (!current) {
44205
+ leave(source);
44206
+ }
44207
+ if (!source) {
44208
+ return;
44209
+ }
44210
+ current ??= {
44211
+ key: source.key,
44212
+ start: source.color,
44213
+ colors: /* @__PURE__ */ new Set([normalizeColor(source.color)]),
44214
+ leaves: /* @__PURE__ */ new Map(),
44215
+ last: source.value
44216
+ };
44217
+ drag = current;
44218
+ current.last = source.value;
44219
+ current.colors.add(normalizeColor(hex2));
44220
+ const patch = options.patch(source.value, hex2);
44221
+ if (patch) {
44222
+ recordLiveColorLeaves(current.leaves, source.value, patch);
44223
+ options.preview(patch, current.key);
44224
+ }
44225
+ },
44226
+ change: (hex2) => settle(hex2, true),
44227
+ blur(hex2) {
44228
+ if (drag) {
44229
+ settle(hex2, false);
44230
+ }
44231
+ }
44232
+ };
44233
+ }
44234
+ function handleLiveColorEvent(control4, event) {
44235
+ const target = event.target;
44236
+ const hex2 = typeof target?.value === "string" ? target.value.trim() : "";
44237
+ if (!hex2) {
44238
+ return;
44239
+ }
44240
+ if (event.type === "input") {
44241
+ control4.input(hex2);
44242
+ } else if (event.type === "change") {
44243
+ control4.change(hex2);
44244
+ } else if (event.type === "blur") {
44245
+ control4.blur(hex2);
44246
+ }
44247
+ }
44248
+
44249
+ // src/pptx/render/inspector/inspector-color-fields.ts
44250
+ function createInspectorColorFields(options) {
44251
+ const controls2 = /* @__PURE__ */ new Map();
44252
+ return (sectionId, fieldId) => {
44253
+ const id = `${sectionId}.${fieldId}`;
44254
+ let control4 = controls2.get(id);
44255
+ if (!control4) {
44256
+ control4 = createLiveColorInput({
44257
+ read: () => {
44258
+ const target = options.target();
44259
+ const field = resolveInspectorSections(options.sections(), target).find((section2) => section2.id === sectionId)?.fields.find((candidate) => candidate.id === fieldId);
44260
+ return field && { key: options.targetKey(), color: String(field.value), value: target };
44261
+ },
44262
+ patch: (target, hex2) => inspectorFieldPatch(options.sections(), sectionId, fieldId, target, hex2),
44263
+ lookup: (key) => options.lookup(key),
44264
+ preview: (patch, target) => options.preview(patch, target),
44265
+ commit: (patch) => options.commit(patch),
44266
+ remember: (hex2) => options.remember(hex2)
44267
+ });
44268
+ controls2.set(id, control4);
44269
+ }
44270
+ return control4;
44271
+ };
44272
+ }
44082
44273
  var TEXT_3D_EMU_PER_PT = 12700;
44083
44274
  var TEXT_3D_MAX_EXTRUSION_PT = 100;
44084
44275
  var TEXT_3D_MAX_BEVEL_PT = 50;
@@ -51322,7 +51513,7 @@ function cropResetState(element, canEdit, isPicture2) {
51322
51513
  if (!element || !isPicture2) {
51323
51514
  return HIDDEN;
51324
51515
  }
51325
- return { visible: true, enabled: canEdit && elementLocks.canInteractWithElement(element, "crop") };
51516
+ return { visible: true, enabled: canEdit && chunkCWWL7MCL_cjs.canInteractWithElement(element, "crop") };
51326
51517
  }
51327
51518
  function cropResetPatch() {
51328
51519
  return { cropLeft: 0, cropTop: 0, cropRight: 0, cropBottom: 0 };
@@ -56586,6 +56777,18 @@ function applyAutoCorrect(text4, proofing) {
56586
56777
  }
56587
56778
  return result;
56588
56779
  }
56780
+
56781
+ // src/pptx/render/options/external-content-policy.ts
56782
+ var EXTERNAL_CONTENT_SETTING_ID = "trust.allowExternalContent";
56783
+ function resolveAllowExternalContent(host2, options) {
56784
+ return typeof host2 === "boolean" ? host2 : options.trust.allowExternalContent;
56785
+ }
56786
+ function lockExternalContentSetting(locked, host2) {
56787
+ if (typeof host2 !== "boolean") {
56788
+ return locked;
56789
+ }
56790
+ return { ...locked, [EXTERNAL_CONTENT_SETTING_ID]: host2 };
56791
+ }
56589
56792
  var HOST_REGION_ATTRIBUTE = "data-office-region";
56590
56793
  var HostRegionHost = class {
56591
56794
  #container;
@@ -58987,6 +59190,42 @@ function rebaseOptions(options, previousBaseline, nextBaseline, userSaved) {
58987
59190
  }
58988
59191
  return next;
58989
59192
  }
59193
+ function storedValueOf(stored, group, key) {
59194
+ const record = stored?.[group];
59195
+ if (!record || typeof record !== "object" || !Object.hasOwn(record, key)) {
59196
+ return void 0;
59197
+ }
59198
+ const value = record[key];
59199
+ const fallback = DEFAULT_VIEWER_OPTIONS[group][key];
59200
+ return typeof value === typeof fallback ? value : void 0;
59201
+ }
59202
+ function keepStoredLockedValues(diff, stored, locked) {
59203
+ for (const [id] of entriesOf(locked)) {
59204
+ const parsed = parseOptionsSettingId(id);
59205
+ const value = parsed ? storedValueOf(stored, parsed.group, parsed.key) : void 0;
59206
+ if (parsed && value !== void 0) {
59207
+ (diff[parsed.group] ??= {})[parsed.key] = value;
59208
+ }
59209
+ }
59210
+ return diff;
59211
+ }
59212
+ function restoreUnlockedOptions(options, previousLocked, nextLocked, ownValues, stored, previousBaseline) {
59213
+ const lifted = entriesOf(previousLocked).filter(([id]) => !Object.hasOwn(nextLocked ?? {}, id));
59214
+ if (lifted.length === 0) {
59215
+ return options;
59216
+ }
59217
+ const next = cloneOptions(options);
59218
+ for (const [id] of lifted) {
59219
+ const parsed = parseOptionsSettingId(id);
59220
+ if (!parsed) {
59221
+ continue;
59222
+ }
59223
+ const target = next[parsed.group];
59224
+ const base2 = previousBaseline[parsed.group];
59225
+ target[parsed.key] = storedValueOf(stored, parsed.group, parsed.key) ?? ownValues.get(id) ?? base2[parsed.key];
59226
+ }
59227
+ return next;
59228
+ }
58990
59229
 
58991
59230
  // src/pptx/render/options/viewer-options-store.ts
58992
59231
  function createViewerOptionsStore(init) {
@@ -58998,11 +59237,16 @@ function createViewerOptionsStore(init) {
58998
59237
  const options = () => store.getState();
58999
59238
  let constraints = {};
59000
59239
  let baseline = buildOptionsBaseline(void 0);
59240
+ const ownValues = /* @__PURE__ */ new Map();
59001
59241
  function commit(raw) {
59002
59242
  const next = applyLockedOptions(raw, constraints.locked);
59003
59243
  if (persist) {
59004
59244
  writeStoredViewerPrefs({
59005
- options: diffOptionsAgainstBaseline(next, baseline, constraints.locked)
59245
+ options: keepStoredLockedValues(
59246
+ diffOptionsAgainstBaseline(next, baseline, constraints.locked),
59247
+ readStoredViewerPrefs().options,
59248
+ constraints.locked
59249
+ )
59006
59250
  });
59007
59251
  }
59008
59252
  store.setState(next);
@@ -59057,9 +59301,32 @@ function createViewerOptionsStore(init) {
59057
59301
  batch: (write) => store.batch(write),
59058
59302
  setConstraints: (next) => {
59059
59303
  const previousBaseline = baseline;
59304
+ const previousLocked = constraints.locked;
59305
+ for (const id of Object.keys(next.locked ?? {})) {
59306
+ const parsed = parseOptionsSettingId(id);
59307
+ if (parsed && !isOptionLocked(previousLocked, parsed.group, parsed.key)) {
59308
+ const value = options()[parsed.group][parsed.key];
59309
+ if (typeof value === "boolean" || typeof value === "number" || typeof value === "string") {
59310
+ ownValues.set(id, value);
59311
+ }
59312
+ }
59313
+ }
59060
59314
  constraints = { locked: { ...next.locked }, defaults: { ...next.defaults } };
59061
59315
  baseline = buildOptionsBaseline(constraints.defaults);
59062
- commit(rebaseOptions(options(), previousBaseline, baseline, userSaved));
59316
+ const restored = restoreUnlockedOptions(
59317
+ options(),
59318
+ previousLocked,
59319
+ constraints.locked,
59320
+ ownValues,
59321
+ persist ? readStoredViewerPrefs().options : void 0,
59322
+ previousBaseline
59323
+ );
59324
+ for (const id of Object.keys(previousLocked ?? {})) {
59325
+ if (!Object.hasOwn(constraints.locked ?? {}, id)) {
59326
+ ownValues.delete(id);
59327
+ }
59328
+ }
59329
+ commit(rebaseOptions(restored, previousBaseline, baseline, userSaved));
59063
59330
  },
59064
59331
  isLocked: (group, key) => isOptionLocked(constraints.locked, group, key)
59065
59332
  };
@@ -59122,13 +59389,24 @@ function withRecordEntry(record, key, value) {
59122
59389
  }
59123
59390
 
59124
59391
  // src/pptx/render/customization/customization-controller.ts
59125
- function stateOf(customization) {
59126
- return { customization, resolved: resolveCustomization(customization) };
59392
+ function stateOf(customization, allowExternalContent) {
59393
+ const resolved2 = resolveCustomization(customization);
59394
+ return {
59395
+ customization,
59396
+ allowExternalContent,
59397
+ resolved: allowExternalContent === void 0 ? resolved2 : {
59398
+ ...resolved2,
59399
+ lockedSettings: lockExternalContentSetting(
59400
+ resolved2.lockedSettings,
59401
+ allowExternalContent
59402
+ )
59403
+ }
59404
+ };
59127
59405
  }
59128
59406
  function createCustomizationController(initial) {
59129
- const store = createViewerStore(stateOf({ ...initial }));
59407
+ const store = createViewerStore(stateOf({ ...initial }, void 0));
59130
59408
  const current = () => store.getState().customization;
59131
- const set = (next) => store.setState(stateOf(next));
59409
+ const set = (next) => store.setState(stateOf(next, store.getState().allowExternalContent));
59132
59410
  const update = (patch) => set(mergeCustomization(current(), patch));
59133
59411
  const ribbon = (edit) => {
59134
59412
  const next = { ...current().ribbon };
@@ -59213,7 +59491,13 @@ function createCustomizationController(initial) {
59213
59491
  return {
59214
59492
  api,
59215
59493
  getResolved: () => store.getState().resolved,
59216
- subscribe: (listener) => store.subscribe(listener)
59494
+ subscribe: (listener) => store.subscribe(listener),
59495
+ setAllowExternalContent: (allow) => {
59496
+ const next = typeof allow === "boolean" ? allow : void 0;
59497
+ if (next !== store.getState().allowExternalContent) {
59498
+ store.setState(stateOf(current(), next));
59499
+ }
59500
+ }
59217
59501
  };
59218
59502
  }
59219
59503
 
@@ -69407,7 +69691,7 @@ function resolveEditPointsAvailability(element) {
69407
69691
  if (!element || !isEditPointsCandidate(element)) {
69408
69692
  return "unsupported";
69409
69693
  }
69410
- return elementLocks.canInteractWithElement(element, "editPoints") ? "available" : "locked";
69694
+ return chunkCWWL7MCL_cjs.canInteractWithElement(element, "editPoints") ? "available" : "locked";
69411
69695
  }
69412
69696
  function canEditElementPoints(element) {
69413
69697
  return resolveEditPointsAvailability(element) === "available";
@@ -69899,7 +70183,7 @@ function buildCropOverlay(el, zoom = 1) {
69899
70183
  };
69900
70184
  }
69901
70185
  function canCropElement(el) {
69902
- return el !== null && el !== void 0 && pptx.isImageLikeElement(el) && elementLocks.canInteractWithElement(el, "crop");
70186
+ return el !== null && el !== void 0 && pptx.isImageLikeElement(el) && chunkCWWL7MCL_cjs.canInteractWithElement(el, "crop");
69903
70187
  }
69904
70188
  var INSET_KEYS = [
69905
70189
  "cropLeft",
@@ -73802,6 +74086,186 @@ function autosaveStatusKind(status) {
73802
74086
  return state === "saving" || state === "saved" || state === "error" ? state : "idle";
73803
74087
  }
73804
74088
 
74089
+ // src/pptx/render/find-replace-session.ts
74090
+ var DEFAULT_FIND_REPLACE_OPTIONS = Object.freeze({
74091
+ matchCase: false,
74092
+ includeNotes: false,
74093
+ includeChartTitles: true,
74094
+ includeChartData: false
74095
+ });
74096
+ var INITIAL_FIND_REPLACE_SESSION = Object.freeze({
74097
+ query: "",
74098
+ replacement: "",
74099
+ options: DEFAULT_FIND_REPLACE_OPTIONS,
74100
+ matches: Object.freeze([]),
74101
+ current: -1,
74102
+ pendingRefind: null
74103
+ });
74104
+ function search(slides, session) {
74105
+ return session.query ? findReplace.findInSlides(slides, session.query, session.options) : [];
74106
+ }
74107
+ function cursorAfterReplace(pending2, count) {
74108
+ if (count === 0) {
74109
+ return -1;
74110
+ }
74111
+ if (pending2.scope === "all") {
74112
+ return 0;
74113
+ }
74114
+ const created = Math.max(0, count - (pending2.count - 1));
74115
+ return (pending2.index + created) % count;
74116
+ }
74117
+ function reduceFindReplaceSession(session, event) {
74118
+ switch (event.type) {
74119
+ case "search": {
74120
+ const next = {
74121
+ ...session,
74122
+ query: event.query ?? session.query,
74123
+ options: event.options ? { ...session.options, ...event.options } : session.options,
74124
+ pendingRefind: null
74125
+ };
74126
+ const matches = search(event.slides, next);
74127
+ return { ...next, matches, current: matches.length > 0 ? 0 : -1 };
74128
+ }
74129
+ case "setReplacement":
74130
+ return event.replacement === session.replacement ? session : { ...session, replacement: event.replacement };
74131
+ case "step": {
74132
+ const count = session.matches.length;
74133
+ if (count === 0) {
74134
+ return session;
74135
+ }
74136
+ const from = session.current < 0 ? event.direction > 0 ? -1 : 0 : session.current;
74137
+ const current = (from + event.direction + count) % count;
74138
+ return current === session.current ? session : { ...session, current };
74139
+ }
74140
+ case "replaced":
74141
+ return {
74142
+ ...session,
74143
+ pendingRefind: {
74144
+ scope: event.plan.scope,
74145
+ index: event.plan.index,
74146
+ count: event.plan.count,
74147
+ base: event.slides
74148
+ }
74149
+ };
74150
+ case "slidesChanged": {
74151
+ const pending2 = session.pendingRefind;
74152
+ if (!pending2 || event.slides === pending2.base) {
74153
+ return session;
74154
+ }
74155
+ const matches = search(event.slides, session);
74156
+ return {
74157
+ ...session,
74158
+ matches,
74159
+ current: cursorAfterReplace(pending2, matches.length),
74160
+ pendingRefind: null
74161
+ };
74162
+ }
74163
+ case "close":
74164
+ return session.matches.length === 0 && session.current === -1 && !session.pendingRefind ? session : { ...session, matches: [], current: -1, pendingRefind: null };
74165
+ }
74166
+ }
74167
+ function findReplaceStatus(session) {
74168
+ const total = session.matches.length;
74169
+ return { current: total > 0 && session.current >= 0 ? session.current + 1 : 0, total };
74170
+ }
74171
+ function findReplaceTarget(session) {
74172
+ const match = session.current >= 0 ? session.matches[session.current] : void 0;
74173
+ if (!match) {
74174
+ return null;
74175
+ }
74176
+ return { slideIndex: match.slideIndex, elementId: match.notes ? null : match.elementId };
74177
+ }
74178
+ function matchKey(match) {
74179
+ return JSON.stringify([
74180
+ match.slideIndex,
74181
+ match.elementId,
74182
+ match.elementPath ?? null,
74183
+ match.tableCell ?? null,
74184
+ match.smartArtNodeId ?? null,
74185
+ match.notes ?? false,
74186
+ match.chartTitle ?? false,
74187
+ match.chartSeriesIndex ?? null,
74188
+ match.chartCategoryIndex ?? null,
74189
+ match.segmentIndex,
74190
+ match.startOffset,
74191
+ match.length
74192
+ ]);
74193
+ }
74194
+ function planFindReplace(session, slides, scope) {
74195
+ const found = search(slides, session);
74196
+ let matches = found;
74197
+ let index = -1;
74198
+ if (scope === "current") {
74199
+ const current = session.current >= 0 ? session.matches[session.current] : void 0;
74200
+ const key = current ? matchKey(current) : null;
74201
+ index = key === null ? -1 : found.findIndex((match) => matchKey(match) === key);
74202
+ matches = index >= 0 ? [found[index]] : [];
74203
+ }
74204
+ if (matches.length === 0 || matches.some((match) => match.readOnly)) {
74205
+ return null;
74206
+ }
74207
+ return { scope, matches, replacement: session.replacement, count: found.length, index };
74208
+ }
74209
+
74210
+ // src/pptx/render/find-replace-session-actions.ts
74211
+ function findReplaceSessionActions(store, host2) {
74212
+ const apply6 = (event) => {
74213
+ const current = store.get();
74214
+ const next = reduceFindReplaceSession(current, event);
74215
+ if (next !== current) {
74216
+ store.set(next);
74217
+ }
74218
+ return next !== current;
74219
+ };
74220
+ const show = () => {
74221
+ const target = findReplaceTarget(store.get());
74222
+ if (target) {
74223
+ host2.navigate(target);
74224
+ }
74225
+ };
74226
+ const step2 = (direction) => {
74227
+ apply6({ type: "step", direction });
74228
+ show();
74229
+ };
74230
+ const slidesChanged = () => {
74231
+ if (apply6({ type: "slidesChanged", slides: host2.slides() })) {
74232
+ show();
74233
+ }
74234
+ };
74235
+ const replace = (scope) => {
74236
+ const slides = host2.slides();
74237
+ const plan = planFindReplace(store.get(), slides, scope);
74238
+ if (!plan) {
74239
+ return 0;
74240
+ }
74241
+ const result = findReplace.applyFindReplacements(slides, plan.matches, plan.replacement);
74242
+ if (result.replacements === 0) {
74243
+ return 0;
74244
+ }
74245
+ host2.commit(result.slides, scope);
74246
+ apply6({ type: "replaced", plan, slides });
74247
+ slidesChanged();
74248
+ return result.replacements;
74249
+ };
74250
+ return {
74251
+ search: (change = {}) => {
74252
+ apply6({ type: "search", slides: host2.slides(), ...change });
74253
+ show();
74254
+ },
74255
+ setReplacement: (replacement) => {
74256
+ apply6({ type: "setReplacement", replacement });
74257
+ },
74258
+ next: () => step2(1),
74259
+ previous: () => step2(-1),
74260
+ replaceCurrent: () => replace("current"),
74261
+ replaceAll: () => replace("all"),
74262
+ slidesChanged,
74263
+ close: () => {
74264
+ apply6({ type: "close" });
74265
+ }
74266
+ };
74267
+ }
74268
+
73805
74269
  // src/pptx/web-components/mobile-bar-styles.ts
73806
74270
  var MOBILE_BAR_STYLES = `
73807
74271
  :host { display: block; flex: none; }
@@ -79578,10 +80042,10 @@ var defineStatusBar = definer("office-ui-status-bar", () => OfficeUiStatusBar);
79578
80042
 
79579
80043
  // src/chrome/title-bar-types.ts
79580
80044
  var OFFICE_TITLE_BAR_SEARCH_LIMIT = 8;
79581
- function matchTitleBarCommands(search, query) {
79582
- if (search.match) return search.match(query);
80045
+ function matchTitleBarCommands(search2, query) {
80046
+ if (search2.match) return search2.match(query);
79583
80047
  const needle = query.trim().toLowerCase();
79584
- return (search.commands ?? []).filter((entry6) => entry6.label.toLowerCase().includes(needle));
80048
+ return (search2.commands ?? []).filter((entry6) => entry6.label.toLowerCase().includes(needle));
79585
80049
  }
79586
80050
 
79587
80051
  // raw-css:/home/runner/work/ooxml/ooxml/src/ui/src/chrome/title-bar.css?raw
@@ -79702,13 +80166,13 @@ var OfficeUiTitleBar = class extends OfficeElement {
79702
80166
  return this.searchField?.value ?? "";
79703
80167
  }
79704
80168
  openResults() {
79705
- const search = this.model.search;
80169
+ const search2 = this.model.search;
79706
80170
  const query = this.query;
79707
- if (!search || !query.trim()) return this.closeResults();
79708
- this.found = [...matchTitleBarCommands(search, query)].slice(0, OFFICE_TITLE_BAR_SEARCH_LIMIT);
80171
+ if (!search2 || !query.trim()) return this.closeResults();
80172
+ this.found = [...matchTitleBarCommands(search2, query)].slice(0, OFFICE_TITLE_BAR_SEARCH_LIMIT);
79709
80173
  this.active = Math.min(this.active, Math.max(this.found.length - 1, 0));
79710
80174
  this.resultsOpen = true;
79711
- this.live = this.found.length > 0 ? search.heading : search.empty;
80175
+ this.live = this.found.length > 0 ? search2.heading : search2.empty;
79712
80176
  }
79713
80177
  closeResults() {
79714
80178
  this.resultsOpen = false;
@@ -79742,8 +80206,8 @@ var OfficeUiTitleBar = class extends OfficeElement {
79742
80206
  const box = this.renderRoot.querySelector(".box");
79743
80207
  if (!next || !box?.contains(next)) this.closeResults();
79744
80208
  }
79745
- results(search) {
79746
- if (!search || !this.resultsOpen)
80209
+ results(search2) {
80210
+ if (!search2 || !this.resultsOpen)
79747
80211
  return lit.html`<div class="results" role="listbox" hidden></div>
79748
80212
  <div class="sr" role="status"></div>`;
79749
80213
  const query = this.query;
@@ -79753,7 +80217,7 @@ var OfficeUiTitleBar = class extends OfficeElement {
79753
80217
  };
79754
80218
  return lit.html`
79755
80219
  <div class="results" role="listbox" ?hidden=${!this.resultsOpen}>
79756
- ${this.found.length > 0 ? lit.html`<div class="heading">${search.heading}</div> ${this.found.map(
80220
+ ${this.found.length > 0 ? lit.html`<div class="heading">${search2.heading}</div> ${this.found.map(
79757
80221
  (entry6, index) => lit.html`<button
79758
80222
  type="button"
79759
80223
  role="option"
@@ -79764,14 +80228,14 @@ var OfficeUiTitleBar = class extends OfficeElement {
79764
80228
  ><span>${entry6.label}</span
79765
80229
  ><span class="cat">${entry6.category ?? ""}</span></button
79766
80230
  >`
79767
- )}` : lit.html`<div class="empty">${search.empty}</div>`}
79768
- ${search.content ? lit.html`<button
80231
+ )}` : lit.html`<div class="empty">${search2.empty}</div>`}
80232
+ ${search2.content ? lit.html`<button
79769
80233
  type="button"
79770
80234
  class="content"
79771
80235
  tabindex="-1"
79772
80236
  @mousedown=${(event) => pick(event, () => this.commit())}
79773
- >${glyph(search.contentIcon ?? "search", "icon")}<span
79774
- >${search.content(query)}</span
80237
+ >${glyph(search2.contentIcon ?? "search", "icon")}<span
80238
+ >${search2.content(query)}</span
79775
80239
  ></button
79776
80240
  >` : ""}
79777
80241
  </div>
@@ -79779,15 +80243,15 @@ var OfficeUiTitleBar = class extends OfficeElement {
79779
80243
  `;
79780
80244
  }
79781
80245
  searchBox() {
79782
- const search = this.model.search;
80246
+ const search2 = this.model.search;
79783
80247
  const tag = staticHtml_js.unsafeStatic(this.constructor.searchTag);
79784
- return lit.html`<span class="search" ?hidden=${!search}>
79785
- <div class="box" ?hidden=${!search} @focusout=${this.onSearchBlur}>
80248
+ return lit.html`<span class="search" ?hidden=${!search2}>
80249
+ <div class="box" ?hidden=${!search2} @focusout=${this.onSearchBlur}>
79786
80250
  ${staticHtml_js.html`<${tag}
79787
80251
  variant="titlebar"
79788
80252
  part="search"
79789
- placeholder=${ifDefined_js.ifDefined(search?.placeholder)}
79790
- aria-label=${ifDefined_js.ifDefined(search?.label)}
80253
+ placeholder=${ifDefined_js.ifDefined(search2?.placeholder)}
80254
+ aria-label=${ifDefined_js.ifDefined(search2?.label)}
79791
80255
  @input=${() => {
79792
80256
  this.active = 0;
79793
80257
  this.openResults();
@@ -79795,7 +80259,7 @@ var OfficeUiTitleBar = class extends OfficeElement {
79795
80259
  @focusin=${this.openResults}
79796
80260
  @keydown=${this.onSearchKey}
79797
80261
  ></${tag}>`}
79798
- ${this.results(search)}
80262
+ ${this.results(search2)}
79799
80263
  </div>
79800
80264
  </span>`;
79801
80265
  }
@@ -82090,7 +82554,7 @@ function definePptxInsertSmartArtDialog(registry2) {
82090
82554
  if (this.#live || this.#draw) {
82091
82555
  return;
82092
82556
  }
82093
- this.#live = import('./smartart-insert-preview-AERZURUO.cjs').then((module) => {
82557
+ this.#live = import('./smartart-insert-preview-3BY6HNZL.cjs').then((module) => {
82094
82558
  if (this.#draw || !this.#picker) {
82095
82559
  return;
82096
82560
  }
@@ -83708,7 +84172,7 @@ function standardSwatches(spec5, state) {
83708
84172
  label: officeColorSwatchLabel(swatch, state.translate)
83709
84173
  }));
83710
84174
  }
83711
- const hexes = spec5.swatches === "shape" ? RIBBON_SHAPE_SWATCHES : HOME_HIGHLIGHT_PRESETS;
84175
+ const hexes = spec5.swatches === "shape" ? chunkCWWL7MCL_cjs.RIBBON_SHAPE_SWATCHES : HOME_HIGHLIGHT_PRESETS;
83712
84176
  return hexes.map((hex2) => {
83713
84177
  const english = spec5.swatchLabelPrefix ? `${spec5.swatchLabelPrefix} ${hex2}` : hex2;
83714
84178
  return {
@@ -87029,9 +87493,9 @@ function definePptxTitleBar(registry2) {
87029
87493
  this.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));
87030
87494
  }
87031
87495
  rendered() {
87032
- const search = this.shadowRoot?.querySelector('[part="search"]');
87033
- search?.setAttribute("data-pptx-search-surface", "");
87034
- search?.setAttribute("data-pptx-search-input", "");
87496
+ const search2 = this.shadowRoot?.querySelector('[part="search"]');
87497
+ search2?.setAttribute("data-pptx-search-surface", "");
87498
+ search2?.setAttribute("data-pptx-search-input", "");
87035
87499
  const below = this.placement === "belowRibbon";
87036
87500
  this.toggleAttribute("data-pptx-title-bar", !below);
87037
87501
  if (below) {
@@ -90143,38 +90607,6 @@ Object.defineProperty(exports, "waypointsToPathData", {
90143
90607
  enumerable: true,
90144
90608
  get: function () { return geometry.waypointsToPathData; }
90145
90609
  });
90146
- Object.defineProperty(exports, "canDrillDown", {
90147
- enumerable: true,
90148
- get: function () { return elementLocks.canDrillDown; }
90149
- });
90150
- Object.defineProperty(exports, "canInteractWithElement", {
90151
- enumerable: true,
90152
- get: function () { return elementLocks.canInteractWithElement; }
90153
- });
90154
- Object.defineProperty(exports, "elementLockTogglePatch", {
90155
- enumerable: true,
90156
- get: function () { return elementLocks.elementLockTogglePatch; }
90157
- });
90158
- Object.defineProperty(exports, "filterInteractableIds", {
90159
- enumerable: true,
90160
- get: function () { return elementLocks.filterInteractableIds; }
90161
- });
90162
- Object.defineProperty(exports, "getElementLocks", {
90163
- enumerable: true,
90164
- get: function () { return elementLocks.getElementLocks; }
90165
- });
90166
- Object.defineProperty(exports, "isElementInteractionLocked", {
90167
- enumerable: true,
90168
- get: function () { return elementLocks.isElementInteractionLocked; }
90169
- });
90170
- Object.defineProperty(exports, "isElementLocked", {
90171
- enumerable: true,
90172
- get: function () { return elementLocks.isElementLocked; }
90173
- });
90174
- Object.defineProperty(exports, "resolveElementInteractivity", {
90175
- enumerable: true,
90176
- get: function () { return elementLocks.resolveElementInteractivity; }
90177
- });
90178
90610
  Object.defineProperty(exports, "groupElements", {
90179
90611
  enumerable: true,
90180
90612
  get: function () { return groupOps.groupElements; }
@@ -91026,6 +91458,7 @@ exports.DEFAULT_CHART_SHADOW = DEFAULT_CHART_SHADOW;
91026
91458
  exports.DEFAULT_COLOR_CHANGE_TOLERANCE = DEFAULT_COLOR_CHANGE_TOLERANCE;
91027
91459
  exports.DEFAULT_CURSOR_COLOR = DEFAULT_CURSOR_COLOR;
91028
91460
  exports.DEFAULT_DENSE_BUTTON_PX = DEFAULT_DENSE_BUTTON_PX;
91461
+ exports.DEFAULT_FIND_REPLACE_OPTIONS = DEFAULT_FIND_REPLACE_OPTIONS;
91029
91462
  exports.DEFAULT_INSERT_CHART_KIND = DEFAULT_INSERT_CHART_KIND;
91030
91463
  exports.DEFAULT_INSERT_CHART_TYPE = DEFAULT_INSERT_CHART_TYPE;
91031
91464
  exports.DEFAULT_LINE_HEIGHT = DEFAULT_LINE_HEIGHT;
@@ -91042,7 +91475,6 @@ exports.DEFAULT_ROUND_RECT_ADJUSTMENT = DEFAULT_ROUND_RECT_ADJUSTMENT;
91042
91475
  exports.DEFAULT_ROW_HEIGHT = DEFAULT_ROW_HEIGHT;
91043
91476
  exports.DEFAULT_SCHEME_COLOR_MAP = DEFAULT_SCHEME_COLOR_MAP;
91044
91477
  exports.DEFAULT_SLIDE_BACKGROUND = DEFAULT_SLIDE_BACKGROUND;
91045
- exports.DEFAULT_STROKE_WIDTH = DEFAULT_STROKE_WIDTH;
91046
91478
  exports.DEFAULT_TAG_COLLECTION_PATH = DEFAULT_TAG_COLLECTION_PATH;
91047
91479
  exports.DEFAULT_TRANSITION_DURATION_MS = DEFAULT_TRANSITION_DURATION_MS;
91048
91480
  exports.DEFAULT_VIEWER_OPTIONS = DEFAULT_VIEWER_OPTIONS;
@@ -91100,6 +91532,7 @@ exports.EXPANDED_MAX_HEIGHT = EXPANDED_MAX_HEIGHT;
91100
91532
  exports.EXPLOSION_SUPPORTED_TYPES = EXPLOSION_SUPPORTED_TYPES;
91101
91533
  exports.EXPORT_ASSEMBLING_PERCENT = EXPORT_ASSEMBLING_PERCENT;
91102
91534
  exports.EXPORT_DONE_PERCENT = EXPORT_DONE_PERCENT;
91535
+ exports.EXTERNAL_CONTENT_SETTING_ID = EXTERNAL_CONTENT_SETTING_ID;
91103
91536
  exports.EditGeometryPen = EditGeometryPen;
91104
91537
  exports.EditPointsSession = EditPointsSession;
91105
91538
  exports.FEATURE_ENTRY_POINTS = FEATURE_ENTRY_POINTS;
@@ -91160,6 +91593,7 @@ exports.HOME_SELECT_ITEMS = HOME_SELECT_ITEMS;
91160
91593
  exports.HOME_SHAPE_ITEMS = HOME_SHAPE_ITEMS;
91161
91594
  exports.HOME_TEXT_DIRECTION_ITEMS = HOME_TEXT_DIRECTION_ITEMS;
91162
91595
  exports.INDENT_PX = INDENT_PX;
91596
+ exports.INITIAL_FIND_REPLACE_SESSION = INITIAL_FIND_REPLACE_SESSION;
91163
91597
  exports.INITIAL_READ_ONLY_SESSION = INITIAL_READ_ONLY_SESSION;
91164
91598
  exports.INITIAL_SYNC_GRACE_MS = INITIAL_SYNC_GRACE_MS;
91165
91599
  exports.INLINE_GALLERY_TILE_COUNT = INLINE_GALLERY_TILE_COUNT;
@@ -91371,7 +91805,6 @@ exports.RIBBON_HOME_INDENT_STEP = RIBBON_HOME_INDENT_STEP;
91371
91805
  exports.RIBBON_MENU_COMMAND_IDS = RIBBON_MENU_COMMAND_IDS;
91372
91806
  exports.RIBBON_RESERVED_TAB_IDS = RIBBON_RESERVED_TAB_IDS;
91373
91807
  exports.RIBBON_SCOPE_ATTR = RIBBON_SCOPE_ATTR;
91374
- exports.RIBBON_SHAPE_SWATCHES = RIBBON_SHAPE_SWATCHES;
91375
91808
  exports.RIBBON_TAB = RIBBON_TAB;
91376
91809
  exports.RIBBON_TAB_IDS = RIBBON_TAB_IDS;
91377
91810
  exports.RIBBON_TRANSITION_PRESETS = RIBBON_TRANSITION_PRESETS;
@@ -91835,7 +92268,6 @@ exports.canCropElement = canCropElement;
91835
92268
  exports.canEditElementPoints = canEditElementPoints;
91836
92269
  exports.canGoNext = canGoNext;
91837
92270
  exports.canGoPrevious = canGoPrevious;
91838
- exports.canGroupSelection = canGroupSelection;
91839
92271
  exports.canJoinCollaborationSession = canJoinCollaborationSession;
91840
92272
  exports.canMergeShapes = canMergeShapes;
91841
92273
  exports.canRemoveTopLevelNode = canRemoveTopLevelNode;
@@ -91844,11 +92276,9 @@ exports.canRequestHome = canRequestHome;
91844
92276
  exports.canRequestInsert = canRequestInsert;
91845
92277
  exports.canRequestTransitions = canRequestTransitions;
91846
92278
  exports.canRequestView = canRequestView;
91847
- exports.canSetStrokeWidth = canSetStrokeWidth;
91848
92279
  exports.canStartBroadcast = canStartBroadcast;
91849
92280
  exports.canStartShare = canStartShare;
91850
92281
  exports.canSweepAutosaveSnapshots = canSweepAutosaveSnapshots;
91851
- exports.canUngroupSelection = canUngroupSelection;
91852
92282
  exports.canUseClipboard = canUseClipboard;
91853
92283
  exports.cancelBuildReveal = cancelBuildReveal;
91854
92284
  exports.cancelCropUpdate = cancelCropUpdate;
@@ -92057,6 +92487,8 @@ exports.createGuide = createGuide;
92057
92487
  exports.createInitialPresentationSnapshot = createInitialPresentationSnapshot;
92058
92488
  exports.createInlineListModelObserver = createInlineListModelObserver;
92059
92489
  exports.createInlineListSeed = createInlineListSeed;
92490
+ exports.createInspectorColorFields = createInspectorColorFields;
92491
+ exports.createLiveColorInput = createLiveColorInput;
92060
92492
  exports.createPlainNotesSegments = createPlainNotesSegments;
92061
92493
  exports.createPresenceProjector = createPresenceProjector;
92062
92494
  exports.createPresencePublisher = createPresencePublisher;
@@ -92256,6 +92688,9 @@ exports.findMediaEndGatedSteps = findMediaEndGatedSteps;
92256
92688
  exports.findMetricCompatibleGoogleFontsFamily = findMetricCompatibleGoogleFontsFamily;
92257
92689
  exports.findOutlineRow = findOutlineRow;
92258
92690
  exports.findPresentationActionTarget = findPresentationActionTarget;
92691
+ exports.findReplaceSessionActions = findReplaceSessionActions;
92692
+ exports.findReplaceStatus = findReplaceStatus;
92693
+ exports.findReplaceTarget = findReplaceTarget;
92259
92694
  exports.findRibbonAddIn = findRibbonAddIn;
92260
92695
  exports.findSlideStage = findSlideStage;
92261
92696
  exports.findSmartArtNodeText = findSmartArtNodeText;
@@ -92501,6 +92936,7 @@ exports.groupParagraphsByBuildLevel = groupParagraphsByBuildLevel;
92501
92936
  exports.groupShortcutReference = groupShortcutReference;
92502
92937
  exports.groupTilesByRow = groupTilesByRow;
92503
92938
  exports.handleEditorAnchorClick = handleEditorAnchorClick;
92939
+ exports.handleLiveColorEvent = handleLiveColorEvent;
92504
92940
  exports.handlePresentationStageClick = handlePresentationStageClick;
92505
92941
  exports.handleReadingViewKey = handleReadingViewKey;
92506
92942
  exports.handleThreeViewChartEvent = handleThreeViewChartEvent;
@@ -92672,6 +93108,7 @@ exports.isVerticalTextDirection = isVerticalTextDirection;
92672
93108
  exports.isWedgeCalloutPresetShape = isWedgeCalloutPresetShape;
92673
93109
  exports.issueTrackKey = issueTrackKey;
92674
93110
  exports.issueTypeLabel = issueTypeLabel;
93111
+ exports.keepStoredLockedValues = keepStoredLockedValues;
92675
93112
  exports.lastShowSlideIndex = lastShowSlideIndex;
92676
93113
  exports.latexToMathMl = latexToMathMl;
92677
93114
  exports.layoutEnvelopeBlock = layoutEnvelopeBlock;
@@ -92690,6 +93127,7 @@ exports.loadAudienceContent = loadAudienceContent;
92690
93127
  exports.loadPresentationDeck = loadPresentationDeck;
92691
93128
  exports.loadSessionDeck = loadSessionDeck;
92692
93129
  exports.loadedThemeName = loadedThemeName;
93130
+ exports.lockExternalContentSetting = lockExternalContentSetting;
92693
93131
  exports.lockResizeAspect = lockResizeAspect;
92694
93132
  exports.makeCloneId = makeCloneId;
92695
93133
  exports.mapAwarenessCursors = mapAwarenessCursors;
@@ -92903,6 +93341,7 @@ exports.placeCaretAt = placeCaretAt;
92903
93341
  exports.placeCaretAtEnd = placeCaretAtEnd;
92904
93342
  exports.placeTileOnPage = placeTileOnPage;
92905
93343
  exports.placeholderPromptDescriptor = placeholderPromptDescriptor;
93344
+ exports.planFindReplace = planFindReplace;
92906
93345
  exports.planGifFrames = planGifFrames;
92907
93346
  exports.planMergeShapes = planMergeShapes;
92908
93347
  exports.planPrintJob = planPrintJob;
@@ -93010,6 +93449,7 @@ exports.recordTableCellBold = recordTableCellBold;
93010
93449
  exports.redirectExitShapeByDirection = redirectExitShapeByDirection;
93011
93450
  exports.redirectMaskEffectByFilterSubtype = redirectMaskEffectByFilterSubtype;
93012
93451
  exports.redistributeColumnWidth = redistributeColumnWidth;
93452
+ exports.reduceFindReplaceSession = reduceFindReplaceSession;
93013
93453
  exports.reduceReadOnlySession = reduceReadOnlySession;
93014
93454
  exports.reduceViewerZoom = reduceViewerZoom;
93015
93455
  exports.reflectionStateOf = reflectionStateOf;
@@ -93049,13 +93489,13 @@ exports.resetGlyphTraceCache = resetGlyphTraceCache;
93049
93489
  exports.resetGoogleWebfontSessionCache = resetGoogleWebfontSessionCache;
93050
93490
  exports.resetMetricTrackingCache = resetMetricTrackingCache;
93051
93491
  exports.resetPresenterTimer = resetPresenterTimer;
93052
- exports.resetSlideLayoutPath = resetSlideLayoutPath;
93053
93492
  exports.resizeSelection = resizeSelection;
93054
93493
  exports.resolve3DRenderingFlags = resolve3DRenderingFlags;
93055
93494
  exports.resolveAccentHex = resolveAccentHex;
93056
93495
  exports.resolveActionType = resolveActionType;
93057
93496
  exports.resolveActiveRibbonAddIn = resolveActiveRibbonAddIn;
93058
93497
  exports.resolveActiveRibbonTab = resolveActiveRibbonTab;
93498
+ exports.resolveAllowExternalContent = resolveAllowExternalContent;
93059
93499
  exports.resolveAnimationCss = resolveAnimationCss;
93060
93500
  exports.resolveAnimationEnd = resolveAnimationEnd;
93061
93501
  exports.resolveAnimationStart = resolveAnimationStart;
@@ -93225,6 +93665,7 @@ exports.restoreInlineListBodySelection = restoreInlineListBodySelection;
93225
93665
  exports.restoreParagraphMetadata = restoreParagraphMetadata;
93226
93666
  exports.restoreSegmentSelection = restoreSegmentSelection;
93227
93667
  exports.restoreSessionDeck = restoreSessionDeck;
93668
+ exports.restoreUnlockedOptions = restoreUnlockedOptions;
93228
93669
  exports.resumeAllPersistentAudio = resumeAllPersistentAudio;
93229
93670
  exports.revealComment = revealComment;
93230
93671
  exports.revealedElementStyles = revealedElementStyles;
@@ -93329,11 +93770,9 @@ exports.setPendingSelectionRestore = setPendingSelectionRestore;
93329
93770
  exports.setSelectionBullets = setSelectionBullets;
93330
93771
  exports.setTriggerBookmark = setTriggerBookmark;
93331
93772
  exports.settleThemeWrites = settleThemeWrites;
93332
- exports.shapeFillChange = shapeFillChange;
93333
93773
  exports.shapeGalleryItem = shapeGalleryItem;
93334
93774
  exports.shapeGalleryItemForValue = shapeGalleryItemForValue;
93335
93775
  exports.shapeGallerySections = shapeGallerySections;
93336
- exports.shapeOutlineChange = shapeOutlineChange;
93337
93776
  exports.shapeQuickStyleLabel = shapeQuickStyleLabel;
93338
93777
  exports.shapeQuickStylePatch = shapeQuickStylePatch;
93339
93778
  exports.shapeStyleWithoutFormatting = shapeStyleWithoutFormatting;
@@ -93429,7 +93868,6 @@ exports.strokeMiterLimit = strokeMiterLimit;
93429
93868
  exports.strokeOnlyPresetPathData = strokeOnlyPresetPathData;
93430
93869
  exports.strokeOutlineViewBox = strokeOutlineViewBox;
93431
93870
  exports.strokeToInkElement = strokeToInkElement;
93432
- exports.strokeWidthOf = strokeWidthOf;
93433
93871
  exports.styleShadowFilter = styleShadowFilter;
93434
93872
  exports.substituteFieldText = substituteFieldText;
93435
93873
  exports.subtitleLanguageLabel = subtitleLanguageLabel;