pptx-angular-viewer 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [1.14.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.14.0) - 2026-07-11
8
+
9
+ ### Other
10
+
11
+ - Reconcile with origin/main before push (by @ChristopherVR) ([0ecd3d9](https://github.com/ChristopherVR/pptx-viewer/commit/0ecd3d935f97c78e8b0a62bebc8bf610c42414ab))
12
+
7
13
  ## [1.13.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-angular-viewer@1.13.2) - 2026-07-10
8
14
 
9
15
  ### Bug Fixes
@@ -21304,6 +21304,72 @@ function findTextPositionInSegment(editor, segIdx, charOffset) {
21304
21304
  return null;
21305
21305
  }
21306
21306
 
21307
+ /** Sentence-ending punctuation that starts a new sentence for `'sentence'` mode. */
21308
+ const SENTENCE_END_RE = /([.!?]\s+)/u;
21309
+ /** Transform a plain-text string per the given Change Case mode. */
21310
+ function transformTextCase(text, mode) {
21311
+ switch (mode) {
21312
+ case 'upper':
21313
+ return text.toUpperCase();
21314
+ case 'lower':
21315
+ return text.toLowerCase();
21316
+ case 'toggle':
21317
+ return Array.from(text)
21318
+ .map((ch) => (ch === ch.toUpperCase() ? ch.toLowerCase() : ch.toUpperCase()))
21319
+ .join('');
21320
+ case 'capitalize':
21321
+ return text.replace(/\p{L}[\p{L}\p{N}'’]*/gu, (word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase());
21322
+ case 'sentence':
21323
+ return text
21324
+ .toLowerCase()
21325
+ .split(SENTENCE_END_RE)
21326
+ .map((part) => {
21327
+ const firstLetter = part.search(/\p{L}/u);
21328
+ if (firstLetter === -1) {
21329
+ return part;
21330
+ }
21331
+ return (part.slice(0, firstLetter) +
21332
+ part.charAt(firstLetter).toUpperCase() +
21333
+ part.slice(firstLetter + 1));
21334
+ })
21335
+ .join('');
21336
+ default:
21337
+ return text;
21338
+ }
21339
+ }
21340
+ /**
21341
+ * Apply a Change Case transform to a set of text segments, either within an
21342
+ * inline-editor selection range (mirrors {@link applyStyleToSelectedSegments})
21343
+ * or, when `selection` is `null`, across every segment's text.
21344
+ */
21345
+ function applyCaseTransformToSegments(segments, selection, mode) {
21346
+ if (!selection) {
21347
+ return segments.map((seg) => seg.isParagraphBreak || seg.text === '\n'
21348
+ ? seg
21349
+ : { ...seg, text: transformTextCase(seg.text, mode) });
21350
+ }
21351
+ const { startSegIdx, startOffset, endSegIdx, endOffset } = selection;
21352
+ const result = [];
21353
+ for (let i = 0; i < segments.length; i++) {
21354
+ const seg = segments[i];
21355
+ if (seg.isParagraphBreak || seg.text === '\n' || i < startSegIdx || i > endSegIdx) {
21356
+ result.push(seg);
21357
+ continue;
21358
+ }
21359
+ const from = i === startSegIdx ? startOffset : 0;
21360
+ const to = i === endSegIdx ? endOffset : seg.text.length;
21361
+ if (from >= to) {
21362
+ result.push(seg);
21363
+ continue;
21364
+ }
21365
+ const before = seg.text.slice(0, from);
21366
+ const selected = transformTextCase(seg.text.slice(from, to), mode);
21367
+ const after = seg.text.slice(to);
21368
+ result.push({ ...seg, text: before + selected + after });
21369
+ }
21370
+ return result;
21371
+ }
21372
+
21307
21373
  /**
21308
21374
  * Linked text box overflow utilities.
21309
21375
  *
@@ -32609,6 +32675,419 @@ const MATERIAL_PRESETS = [
32609
32675
  { value: 'translucentPowder', label: 'Translucent Powder' },
32610
32676
  ];
32611
32677
 
32678
+ /** MIME type bindings should use when writing the payload as a custom clipboard format. */
32679
+ const ELEMENT_CLIPBOARD_MIME_TYPE = 'application/x-pptx-viewer-elements+json';
32680
+ /** Marker identifying a serialized element-clipboard payload. */
32681
+ const ELEMENT_CLIPBOARD_MARKER = 'pptx-viewer/elements';
32682
+ /** Current codec version; {@link deserializeElementClipboard} rejects others. */
32683
+ const ELEMENT_CLIPBOARD_VERSION = 1;
32684
+ /** Standard paste/duplicate cascade offset in px (applied to both axes). */
32685
+ const PASTE_OFFSET_PX = 20;
32686
+ /** Generate a unique element id (`el-<timestamp>-<random>`). */
32687
+ function generateElementId() {
32688
+ return `el-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
32689
+ }
32690
+ /**
32691
+ * Build the id for a pasted / duplicated clone so that it routes to the same
32692
+ * store it is inserted into.
32693
+ *
32694
+ * In edit-template mode the clone lands in the template store, so it must keep
32695
+ * a template (`master-` / `layout-`) prefix; otherwise later edits (which route
32696
+ * by id prefix) would target the wrong store and be lost. Outside template mode
32697
+ * a normal id is generated.
32698
+ */
32699
+ function makeCloneId(intoTemplate, sourceId) {
32700
+ if (!intoTemplate) {
32701
+ return generateElementId();
32702
+ }
32703
+ if (sourceId.startsWith('master-')) {
32704
+ return `master-${generateElementId()}`;
32705
+ }
32706
+ return `layout-${generateElementId()}`;
32707
+ }
32708
+ /**
32709
+ * Snapshot a copied/cut element into the in-memory clipboard payload.
32710
+ * Deep-clones so later canvas edits never mutate the clipboard content.
32711
+ */
32712
+ function buildElementClipboardPayload(element, isTemplate) {
32713
+ return { element: structuredClone(element), isTemplate };
32714
+ }
32715
+ /**
32716
+ * Produce the clone inserted by paste/duplicate: a deep copy with a fresh
32717
+ * (template-prefix aware) id and the standard cascade offset applied.
32718
+ */
32719
+ function cloneElementForPaste(element, options = {}) {
32720
+ const clone = structuredClone(element);
32721
+ clone.id = makeCloneId(options.intoTemplate ?? false, element.id);
32722
+ clone.x += options.offsetX ?? PASTE_OFFSET_PX;
32723
+ clone.y += options.offsetY ?? PASTE_OFFSET_PX;
32724
+ return clone;
32725
+ }
32726
+ /** Clone every element in decoded clipboard data for insertion (fresh ids + offset). */
32727
+ function prepareElementsForPaste(data, options = {}) {
32728
+ return data.elements.map((element) => cloneElementForPaste(element, options));
32729
+ }
32730
+ /** Tag used to mark base64-encoded binary fields inside the JSON payload. */
32731
+ const BINARY_TAG = '__pptxU8';
32732
+ function uint8ToBase64(bytes) {
32733
+ let binary = '';
32734
+ for (let i = 0; i < bytes.length; i++) {
32735
+ binary += String.fromCharCode(bytes[i]);
32736
+ }
32737
+ return btoa(binary);
32738
+ }
32739
+ function base64ToUint8(base64) {
32740
+ const binary = atob(base64);
32741
+ const bytes = new Uint8Array(binary.length);
32742
+ for (let i = 0; i < binary.length; i++) {
32743
+ bytes[i] = binary.charCodeAt(i);
32744
+ }
32745
+ return bytes;
32746
+ }
32747
+ /**
32748
+ * Serialize elements to the marked, versioned JSON clipboard string.
32749
+ * `Uint8Array` fields anywhere in the element tree (embedded workbooks, raw
32750
+ * part bytes) are base64-tagged so they survive the text round trip.
32751
+ */
32752
+ function serializeElementClipboard(elements, isTemplate = false) {
32753
+ return JSON.stringify({
32754
+ marker: ELEMENT_CLIPBOARD_MARKER,
32755
+ version: ELEMENT_CLIPBOARD_VERSION,
32756
+ isTemplate,
32757
+ elements,
32758
+ }, (_key, value) => {
32759
+ if (value instanceof Uint8Array) {
32760
+ return { [BINARY_TAG]: uint8ToBase64(value) };
32761
+ }
32762
+ return value;
32763
+ });
32764
+ }
32765
+ function isElementLike(value) {
32766
+ if (typeof value !== 'object' || value === null) {
32767
+ return false;
32768
+ }
32769
+ const candidate = value;
32770
+ return (typeof candidate.id === 'string' &&
32771
+ typeof candidate.type === 'string' &&
32772
+ typeof candidate.x === 'number' &&
32773
+ typeof candidate.y === 'number' &&
32774
+ typeof candidate.width === 'number' &&
32775
+ typeof candidate.height === 'number');
32776
+ }
32777
+ /**
32778
+ * Decode a clipboard string produced by {@link serializeElementClipboard}.
32779
+ * Returns `null` for anything else (foreign clipboard text, malformed JSON,
32780
+ * wrong marker/version, or structurally invalid elements), so callers can fall
32781
+ * back to their plain-text paste path.
32782
+ */
32783
+ function deserializeElementClipboard(text) {
32784
+ let parsed;
32785
+ try {
32786
+ parsed = JSON.parse(text, (_key, value) => {
32787
+ if (typeof value === 'object' && value !== null) {
32788
+ const tagged = value[BINARY_TAG];
32789
+ if (typeof tagged === 'string') {
32790
+ return base64ToUint8(tagged);
32791
+ }
32792
+ }
32793
+ return value;
32794
+ });
32795
+ }
32796
+ catch {
32797
+ return null;
32798
+ }
32799
+ if (typeof parsed !== 'object' || parsed === null) {
32800
+ return null;
32801
+ }
32802
+ const candidate = parsed;
32803
+ if (candidate.marker !== ELEMENT_CLIPBOARD_MARKER ||
32804
+ candidate.version !== ELEMENT_CLIPBOARD_VERSION ||
32805
+ !Array.isArray(candidate.elements) ||
32806
+ candidate.elements.length === 0 ||
32807
+ !candidate.elements.every(isElementLike)) {
32808
+ return null;
32809
+ }
32810
+ return {
32811
+ elements: candidate.elements,
32812
+ isTemplate: candidate.isTemplate === true,
32813
+ };
32814
+ }
32815
+
32816
+ /**
32817
+ * shape-preset-catalog.ts: the Insert > Shape picker catalogue shared by every
32818
+ * binding's toolbar/inspector.
32819
+ *
32820
+ * Pure data: each entry carries the preset geometry `type` (OOXML `a:prstGeom`
32821
+ * value the editor can insert), an English fallback `label`, the shared-i18n
32822
+ * `i18nKey`, and a framework-neutral icon descriptor ({@link ShapePresetGlyph}
32823
+ * name + optional utility-class modifier for rotation/skew). Each binding maps
32824
+ * the glyph name onto its own icon component/SVG.
32825
+ *
32826
+ * Order matters: bindings surface the first 12 entries as the quick "top
32827
+ * shapes" row, so new presets should be appended, not inserted.
32828
+ *
32829
+ * @module render/shape-preset-catalog
32830
+ */
32831
+ /** The Insert > Shape picker catalogue (see module docs for ordering rules). */
32832
+ const SHAPE_PRESET_DEFS = [
32833
+ {
32834
+ type: 'rect',
32835
+ label: 'Rectangle',
32836
+ i18nKey: 'pptx.editorToolbar.shapeRectangle',
32837
+ glyph: 'square',
32838
+ glyphClass: '',
32839
+ },
32840
+ {
32841
+ type: 'roundRect',
32842
+ label: 'Rounded',
32843
+ i18nKey: 'pptx.shapePresets.rounded',
32844
+ glyph: 'square',
32845
+ glyphClass: '',
32846
+ },
32847
+ {
32848
+ type: 'ellipse',
32849
+ label: 'Circle',
32850
+ i18nKey: 'pptx.shapePresets.circle',
32851
+ glyph: 'circle',
32852
+ glyphClass: '',
32853
+ },
32854
+ {
32855
+ type: 'cylinder',
32856
+ label: 'Cylinder',
32857
+ i18nKey: 'pptx.shapePresets.cylinder',
32858
+ glyph: 'database',
32859
+ glyphClass: '',
32860
+ },
32861
+ {
32862
+ type: 'rtArrow',
32863
+ label: 'Right Arrow',
32864
+ i18nKey: 'pptx.shapePresets.rightArrow',
32865
+ glyph: 'moveRight',
32866
+ glyphClass: '',
32867
+ },
32868
+ {
32869
+ type: 'leftArrow',
32870
+ label: 'Left Arrow',
32871
+ i18nKey: 'pptx.shapePresets.leftArrow',
32872
+ glyph: 'moveRight',
32873
+ glyphClass: 'rotate-180',
32874
+ },
32875
+ {
32876
+ type: 'upArrow',
32877
+ label: 'Up Arrow',
32878
+ i18nKey: 'pptx.shapePresets.upArrow',
32879
+ glyph: 'moveRight',
32880
+ glyphClass: '-rotate-90',
32881
+ },
32882
+ {
32883
+ type: 'downArrow',
32884
+ label: 'Down Arrow',
32885
+ i18nKey: 'pptx.shapePresets.downArrow',
32886
+ glyph: 'moveRight',
32887
+ glyphClass: 'rotate-90',
32888
+ },
32889
+ {
32890
+ type: 'triangle',
32891
+ label: 'Triangle',
32892
+ i18nKey: 'pptx.editorToolbar.shapeTriangle',
32893
+ glyph: 'triangle',
32894
+ glyphClass: '',
32895
+ },
32896
+ {
32897
+ type: 'rtTriangle',
32898
+ label: 'Right Triangle',
32899
+ i18nKey: 'pptx.shapePresets.rightTriangle',
32900
+ glyph: 'triangle',
32901
+ glyphClass: 'rotate-90',
32902
+ },
32903
+ {
32904
+ type: 'diamond',
32905
+ label: 'Diamond',
32906
+ i18nKey: 'pptx.shapePresets.diamond',
32907
+ glyph: 'diamond',
32908
+ glyphClass: '',
32909
+ },
32910
+ {
32911
+ type: 'parallelogram',
32912
+ label: 'Parallelogram',
32913
+ i18nKey: 'pptx.shapePresets.parallelogram',
32914
+ glyph: 'square',
32915
+ glyphClass: '-skew-x-12',
32916
+ },
32917
+ {
32918
+ type: 'trapezoid',
32919
+ label: 'Trapezoid',
32920
+ i18nKey: 'pptx.shapePresets.trapezoid',
32921
+ glyph: 'square',
32922
+ glyphClass: '',
32923
+ },
32924
+ {
32925
+ type: 'pentagon',
32926
+ label: 'Pentagon',
32927
+ i18nKey: 'pptx.shapePresets.pentagon',
32928
+ glyph: 'diamond',
32929
+ glyphClass: '',
32930
+ },
32931
+ {
32932
+ type: 'hexagon',
32933
+ label: 'Hexagon',
32934
+ i18nKey: 'pptx.shapePresets.hexagon',
32935
+ glyph: 'diamond',
32936
+ glyphClass: '',
32937
+ },
32938
+ {
32939
+ type: 'octagon',
32940
+ label: 'Octagon',
32941
+ i18nKey: 'pptx.shapePresets.octagon',
32942
+ glyph: 'circle',
32943
+ glyphClass: '',
32944
+ },
32945
+ {
32946
+ type: 'chevron',
32947
+ label: 'Chevron',
32948
+ i18nKey: 'pptx.shapePresets.chevron',
32949
+ glyph: 'moveRight',
32950
+ glyphClass: '',
32951
+ },
32952
+ {
32953
+ type: 'star5',
32954
+ label: 'Star',
32955
+ i18nKey: 'pptx.shapePresets.star',
32956
+ glyph: 'diamond',
32957
+ glyphClass: 'rotate-45',
32958
+ },
32959
+ {
32960
+ type: 'star6',
32961
+ label: 'Star 6',
32962
+ i18nKey: 'pptx.shapePresets.star6',
32963
+ glyph: 'diamond',
32964
+ glyphClass: '',
32965
+ },
32966
+ {
32967
+ type: 'star8',
32968
+ label: 'Star 8',
32969
+ i18nKey: 'pptx.shapePresets.star8',
32970
+ glyph: 'diamond',
32971
+ glyphClass: 'rotate-45',
32972
+ },
32973
+ {
32974
+ type: 'plus',
32975
+ label: 'Plus',
32976
+ i18nKey: 'pptx.shapePresets.plus',
32977
+ glyph: 'plus',
32978
+ glyphClass: '',
32979
+ },
32980
+ {
32981
+ type: 'heart',
32982
+ label: 'Heart',
32983
+ i18nKey: 'pptx.shapePresets.heart',
32984
+ glyph: 'circle',
32985
+ glyphClass: '',
32986
+ },
32987
+ {
32988
+ type: 'cloud',
32989
+ label: 'Cloud',
32990
+ i18nKey: 'pptx.shapePresets.cloud',
32991
+ glyph: 'circle',
32992
+ glyphClass: '',
32993
+ },
32994
+ {
32995
+ type: 'sun',
32996
+ label: 'Sun',
32997
+ i18nKey: 'pptx.shapePresets.sun',
32998
+ glyph: 'circle',
32999
+ glyphClass: '',
33000
+ },
33001
+ {
33002
+ type: 'moon',
33003
+ label: 'Moon',
33004
+ i18nKey: 'pptx.shapePresets.moon',
33005
+ glyph: 'circle',
33006
+ glyphClass: '',
33007
+ },
33008
+ {
33009
+ type: 'pie',
33010
+ label: 'Pie',
33011
+ i18nKey: 'pptx.shapePresets.pie',
33012
+ glyph: 'circle',
33013
+ glyphClass: '',
33014
+ },
33015
+ {
33016
+ type: 'plaque',
33017
+ label: 'Plaque',
33018
+ i18nKey: 'pptx.shapePresets.plaque',
33019
+ glyph: 'square',
33020
+ glyphClass: '',
33021
+ },
33022
+ {
33023
+ type: 'teardrop',
33024
+ label: 'Teardrop',
33025
+ i18nKey: 'pptx.shapePresets.teardrop',
33026
+ glyph: 'circle',
33027
+ glyphClass: '',
33028
+ },
33029
+ {
33030
+ type: 'line',
33031
+ label: 'Line',
33032
+ i18nKey: 'pptx.shapePresets.line',
33033
+ glyph: 'minus',
33034
+ glyphClass: '',
33035
+ },
33036
+ {
33037
+ type: 'connector',
33038
+ label: 'Connector',
33039
+ i18nKey: 'pptx.elementType.connector',
33040
+ glyph: 'moveRight',
33041
+ glyphClass: '',
33042
+ },
33043
+ ];
33044
+
33045
+ /** Font families offered by the Home-tab font dropdown. */
33046
+ const COMMON_FONT_FAMILIES = [
33047
+ 'Arial',
33048
+ 'Calibri',
33049
+ 'Cambria',
33050
+ 'Comic Sans MS',
33051
+ 'Courier New',
33052
+ 'Georgia',
33053
+ 'Helvetica',
33054
+ 'Impact',
33055
+ 'Segoe UI',
33056
+ 'Tahoma',
33057
+ 'Times New Roman',
33058
+ 'Trebuchet MS',
33059
+ 'Verdana',
33060
+ ];
33061
+ /** Font sizes (pt) offered by the Home-tab size dropdown. */
33062
+ const COMMON_FONT_SIZES = [
33063
+ 8, 9, 10, 11, 12, 14, 16, 18, 20, 24, 28, 32, 36, 40, 44, 48, 54, 60, 72, 96,
33064
+ ];
33065
+ /** Character-spacing presets for the toolbar dropdown. */
33066
+ const CHARACTER_SPACING_OPTIONS = [
33067
+ { label: 'Very Tight', i18nKey: 'pptx.text.characterSpacingVeryTight', value: -150 },
33068
+ { label: 'Tight', i18nKey: 'pptx.text.characterSpacingTight', value: -75 },
33069
+ { label: 'Normal', i18nKey: 'pptx.text.characterSpacingNormal', value: 0 },
33070
+ { label: 'Loose', i18nKey: 'pptx.text.characterSpacingLoose', value: 75 },
33071
+ { label: 'Very Loose', i18nKey: 'pptx.text.characterSpacingVeryLoose', value: 150 },
33072
+ ];
33073
+ /** Line-spacing presets for the paragraph dropdown. */
33074
+ const LINE_SPACING_OPTIONS$1 = [
33075
+ { label: '1.0', value: 1.0 },
33076
+ { label: '1.15', value: 1.15 },
33077
+ { label: '1.5', value: 1.5 },
33078
+ { label: '2.0', value: 2.0 },
33079
+ { label: '2.5', value: 2.5 },
33080
+ { label: '3.0', value: 3.0 },
33081
+ ];
33082
+ /** Change-case options in menu order (matches PowerPoint's ordering). */
33083
+ const CHANGE_CASE_OPTIONS$1 = [
33084
+ { value: 'sentence', i18nKey: 'pptx.text.changeCaseSentence' },
33085
+ { value: 'lower', i18nKey: 'pptx.text.changeCaseLower' },
33086
+ { value: 'upper', i18nKey: 'pptx.text.changeCaseUpper' },
33087
+ { value: 'capitalize', i18nKey: 'pptx.text.changeCaseCapitalize' },
33088
+ { value: 'toggle', i18nKey: 'pptx.text.changeCaseToggle' },
33089
+ ];
33090
+
32612
33091
  /**
32613
33092
  * PowerPoint-style title bar: shared pure logic + Tailwind class tokens.
32614
33093
  *
@@ -63555,6 +64034,31 @@ class SlideCanvasComponent {
63555
64034
  event.preventDefault();
63556
64035
  editor.blur();
63557
64036
  }
64037
+ else if (event.key === 'Enter' && event.shiftKey) {
64038
+ this.trimTrailingSpaceBeforeCaret(editor);
64039
+ }
64040
+ }
64041
+ /**
64042
+ * When the caret sits at a soft word-wrap boundary (no explicit line break,
64043
+ * just CSS wrapping), the space separating the two words is still part of
64044
+ * the text and lands right before the caret. Inserting a line break there
64045
+ * leaves the new line preceded by a stray space: e.g. "fox jumps" wrapped as
64046
+ * "fox " / "jumps" becomes lines "fox " and "jumps" instead of "fox" and
64047
+ * "jumps". That extra, invisible trailing character then counts toward the
64048
+ * line's measured width, occasionally forcing an unwanted extra wrapped
64049
+ * line. Since a space immediately before a line break is never visually
64050
+ * meaningful, drop it before the browser inserts the native line break.
64051
+ */
64052
+ trimTrailingSpaceBeforeCaret(editor) {
64053
+ const { selectionStart, selectionEnd, value } = editor;
64054
+ if (selectionStart === null || selectionStart !== selectionEnd || selectionStart === 0) {
64055
+ return;
64056
+ }
64057
+ if (value.charAt(selectionStart - 1) !== ' ') {
64058
+ return;
64059
+ }
64060
+ editor.value = value.slice(0, selectionStart - 1) + value.slice(selectionStart);
64061
+ editor.setSelectionRange(selectionStart - 1, selectionStart - 1);
63558
64062
  }
63559
64063
  /** Toggle bold/italic/underline for the element under inline edit. */
63560
64064
  emitTextFormat(key) {
@@ -70620,6 +71124,23 @@ function patchTextStyle(editor, slideIndex, el, patch) {
70620
71124
  textStyle: { ...el.textStyle, ...patch },
70621
71125
  });
70622
71126
  }
71127
+ /**
71128
+ * Rewrite the selection's text characters (ribbon Aa "Change Case" dropdown).
71129
+ * Unlike {@link patchTextStyle}, this mutates content, not style.
71130
+ */
71131
+ function transformSelectedTextCase(editor, slideIndex, el, mode) {
71132
+ if (!el || !hasTextProperties(el)) {
71133
+ return;
71134
+ }
71135
+ const updates = {};
71136
+ if (el.textSegments && el.textSegments.length > 0) {
71137
+ updates.textSegments = el.textSegments.map((s) => s.isParagraphBreak || s.text === '\n' ? s : { ...s, text: transformTextCase(s.text, mode) });
71138
+ }
71139
+ if (typeof el.text === 'string') {
71140
+ updates.text = transformTextCase(el.text, mode);
71141
+ }
71142
+ editor.updateElement(slideIndex, el.id, updates);
71143
+ }
70623
71144
 
70624
71145
  /**
70625
71146
  * ribbon-animations-section.component.ts: the Animations ribbon tab (preview, the
@@ -72440,17 +72961,7 @@ class RibbonFontControlsComponent {
72440
72961
  }
72441
72962
  setChangeCase(event) {
72442
72963
  const value = event.target.value;
72443
- switch (value) {
72444
- case 'upper':
72445
- this.patch({ textCaps: 'all' });
72446
- break;
72447
- case 'lower':
72448
- case 'sentence':
72449
- case 'capitalize':
72450
- case 'toggle':
72451
- this.patch({ textCaps: 'none' });
72452
- break;
72453
- }
72964
+ transformSelectedTextCase(this.editor, this.slideIndex(), this.selectedElement(), value);
72454
72965
  event.target.selectedIndex = 0;
72455
72966
  }
72456
72967
  toggleStyle(key) {
@@ -87179,5 +87690,5 @@ function cn(...values) {
87179
87690
  * Generated bundle index. Do not edit.
87180
87691
  */
87181
87692
 
87182
- export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AccessibilityPanelComponent, AccessibilityService, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR$1 as DEFAULT_TEXT_COLOR, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaRendererComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES$1 as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS$1 as TEXT_DIRECTION_OPTIONS, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeGalleryComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue$2 as selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent$5 as stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
87693
+ export { ALIGN_OPTIONS, AUDIENCE_HASH, AUDIENCE_NONCE_KEY, AccessibilityPanelComponent, AccessibilityService, AdvancedChartEditorComponent, AnimationAuthorPanelComponent, AnimationPanelComponent, AnimationPlaybackService, AutosaveService, BroadcastDialogComponent, CHART_EDITOR_STYLES, CURSOR_PALETTE, CanvasFitService, ChartAxisOptionsComponent, ChartAxisStyleOptionsComponent, ChartComboTypeOptionsComponent, ChartDataEditorComponent, ChartDataLabelOptionsComponent, ChartDatapointOptionsComponent, ChartDisplayOptionsComponent, ChartElementViewComponent, ChartErrorBarOptionsComponent, ChartMarkerOptionsComponent, ChartPartSelectionService, ChartPrimitivesComponent, ChartRendererComponent, ChartTrendlineOptionsComponent, CollaborationCursorsComponent, CollaborationService, ColorChangedImageComponent, CommentsPanelComponent, CommentsService, ComparePanelComponent, ConnectorRendererComponent, ConnectorTextOverlayComponent, CustomShowsComponent, DATA_TABLE_HEADER_H, DATA_TABLE_KEY_W, DATA_TABLE_PADDING, DATA_TABLE_ROW_H, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_SCHEME, DEFAULT_FILL_COLOR, DEFAULT_LAYOUT, DEFAULT_PALETTE$1 as DEFAULT_PALETTE, DEFAULT_PRINT_SETTINGS, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_COLOR, DEFAULT_STYLE, DEFAULT_TABLE_ROW_HEIGHT, DEFAULT_TEXT_COLOR$1 as DEFAULT_TEXT_COLOR, DIRECTIONAL_PRESETS, DIRECTION_OPTIONS, EMBEDDED_FONTS_STYLE_ID, EMPHASIS_PRESETS, ENTRANCE_PRESETS, TEMPLATES as EQUATION_TEMPLATES, EXIT_PRESETS, EditorContextMenuComponent, EditorHistory, EditorStateService, EditorToolbarComponent, EffectsPanelComponent, ElementRendererComponent, EmbeddedFontsService, EncryptedFileDialogComponent, EquationEditorDialogComponent, EquationRendererComponent, EquationTemplateGalleryComponent, ExportProgressModalComponent, ExportService, FieldContextService, FindBarComponent, FindReplaceBarComponent, FollowModeBarComponent, FontEmbeddingListComponent, FontEmbeddingPanelComponent, GALLERY_THEME_PRESETS, GradientPickerComponent, HANDOUT_OPTIONS, HyperlinkDialogComponent, InkDrawingService, InkRendererComponent, InsertSmartArtDialogComponent, InspectorPanelComponent, IsMobileService, KeepAnnotationsDialogComponent, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, LoadContentService, LocalPresencePublisher, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MediaRendererComponent, MobileBottomBarComponent, MobileMenuSheetComponent, MobilePresenterViewComponent, MobileSheetComponent, MobileSlidesSheetComponent, MobileToolbarComponent, ModalDialogComponent, Model3DRendererComponent, NotesPanelComponent, NotesToolbarComponent, OleRendererComponent, PRESENTER_CHANNEL_NAME, PRESENTER_MSG_ORIGIN, PasswordProtectionDialogComponent, PasswordStrengthMeterComponent, PowerPointViewerComponent, PresentationAnnotationOverlayComponent, PresentationAnnotationsService, PresentationOverlayComponent, PresentationSubtitleBarComponent, PresentationTransitionOverlayComponent, PresenterViewComponent, PresenterWindowService, PrintDialogComponent, PrintService, PrintSettingsPanelComponent, PropertiesDialogComponent, REPEAT_MODE_OPTIONS, RESIZE_HANDLES, RULER_THICKNESS, RemoteSelectionOverlayComponent, RibbonAnimationsSectionComponent, RibbonArrangeSectionComponent, RibbonColorPopoverComponent, RibbonComponent, RibbonDesignSectionComponent, RibbonDrawSectionComponent, RibbonDrawingGroupComponent, RibbonEditingSectionComponent, RibbonFileSectionComponent, RibbonFontControlsComponent, RibbonHomeSectionComponent, RibbonInsertFieldsComponent, RibbonInsertSectionComponent, RibbonParagraphControlsComponent, RibbonPrimaryRowComponent, RibbonReviewSectionComponent, RibbonSlideshowSectionComponent, RibbonTransitionsSectionComponent, RibbonViewSectionComponent, RulerGuidesService, SEQUENCE_OPTIONS, SEVERITY_GROUPS, SEVERITY_LABELS, SHORTCUT_REFERENCE_ITEMS, SLIDE_PX_PER_INCH, SLIDE_TRANSITION_KEYFRAMES, DEFAULT_PALETTE as SMARTART_DEFAULT_PALETTE, PALETTES$1 as SMARTART_PALETTES, SMART_ART_COLOR_SCHEMES, SMART_ART_STYLE_OPTIONS, SUB_ITEM_LABEL, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, SelectionPaneComponent, SetUpSlideShowDialogComponent, ShareDialogComponent, ShortcutPanelComponent, ShowOptionsFieldsetComponent, ShowSlidesFieldsetComponent, SignatureStrippedDialogComponent, SignaturesPanelComponent, SignaturesService, SlideCanvasComponent, SlideDiffChangesComponent, SlideDiffRowComponent, SlideDiffThumbnailsComponent, SlideSorterOverlayComponent, SlidesPanelComponent, SmartArt3DRendererComponent, SmartArt3DService, SmartArtPreviewComponent, SmartArtPropertiesComponent, SmartArtRendererComponent, StatusBarComponent, TABLE_STRUCTURE_TOGGLES, TEXT_DIRECTION_OPTIONS$1 as TEXT_DIRECTION_OPTIONS, TIMING_CURVE_OPTIONS, TRIGGER_OPTIONS, TYPE_LABELS, TableCellAdvancedFillComponent, TableCellFormattingComponent, TableDataEditorComponent, TablePropertiesComponent, TableRendererComponent, TableResizeOverlayComponent, TableSelectionService, TextAdvancedPanelComponent, ThemeGalleryComponent, TitleBarComponent, VALIGN_OPTIONS, VIEWER_THEME, VersionHistoryPanelComponent, ViewerCanvasEditingService, ViewerCollabCursorService, ViewerCollaborationSessionService, ViewerCompareService, ViewerCustomShowsService, ViewerDialogsService, ViewerDocumentPropertiesService, ViewerExportService, ViewerExtraDialogsComponent, ViewerFileIOService, ViewerFindReplaceService, ViewerFormatPainterService, ViewerInspectorPanelService, ViewerKeyboardService, ViewerMobileSheetService, ViewerPresentationModeService, ViewerThemeGalleryService, ViewerTouchGesturesService, ViewerZoomService, WEBM_MIME_CANDIDATES, WriteBackScheduler, ZoomNavigationService, ZoomRendererComponent, ZoomTargetService, addCategory, addCommentToList, addGradientStopPatch, addItem, addSeries, addSubItem, advanceStep, alignPatch, animationFor, annotationMapToInkInserts, applyAcceptedDiff, applyAnimationPreset, applyFindReplacements, applyFormatToElement, applyMove, applyResize, applyTableStylePreset, asMediaElement, assignUserColor, attachTouchGestures, beginNodeEdit, boolFromEvent, bringForward, bringToFront, buildBarActions, buildBroadcastConfig, buildBroadcastViewerUrl, buildCategoryLabels, buildCellParagraphs, buildChartViewModel, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildColStyles, buildCollaborationConfig, buildComboViewModel, buildCssGradientFromShapeStyle, buildDuotoneFilter, buildDuotoneFilterId, buildEmbeddedFontStyles, buildEquationElement, buildEquationSegment, buildFallbackViewModel, buildFontFaceRule, buildGradientFillCss, buildGridlinesAndLabels, buildHyperlinkPatch, buildInkContainerStyle, buildInkStrokes, buildLegend, buildModel3DContainerStyle, buildModel3DViewModel, buildOleActionModel, buildOleInfoRows, buildPatternFillCss, buildPrintHtmlDocument as buildPrintDocument, buildPropertiesPatch, buildRegionMapViewModel, buildSaveSlides, buildShareUrl, buildSmartArtInsertElement, buildSmartArtNodes, buildStockViewModel, buildSurfaceViewModel, buildTableViewModel, buildTreemapViewModel, buildTrimFragment, buildWaterfallViewModel, buildZeroLine, buildZoomContainerStyle, buildZoomViewModel, bulletIndentPx, canAddTopLevelNode, canRemoveTopLevelNode, canStartBroadcast, canStartShare, canUseClipboard, captionDisplayText, cellRunStyle, cellStyleToStyleMap, cellTdStyle, changeCountLabel, changeIcon, characterSpacingPatch, checkFontAvailable, clampCursorPosition, clampGifDimensions, clampIndex, clampNotesFontSize, clampScale, clampStep, clearAudienceContent, cn, collectAccessibilityIssues, collectElementText, collectSlideText, collectUsedFontFamilies, columnWidthStyle, commitNodeText, computeAlign, computeAxisTitlePrimitives, computeBarRects, computeBubbleRadius, computeCornerHandle, computeDataTablePrimitives, computeDistribute, computeDrawingViewBox, computeErrorBarPrimitives, computeHandleBoxes, computeHandoutLayout, computeIsMobile, computeIsTablet, computeLinePoints, computeLinearRegression, computePageCount, computePieLayout, computePieSlicePath, computePieSlices, computePlotLayout, computeRSquared, computeRadarPoints, computeScatterDots, computeSelectionBoxes, computeSingleSelected, computeSlideIndices, computeSnap, computeStackedBarRects, computeStackedValueRange, computeTextLines, computeTimerProgress, computeTrendlinePrimitives, computeValueRange, convertOmmlToMathMl, copyFormatFromElement, countAccessibilityIssues, countAnnotationStrokes, createCustomShow, createSwipeDismissDrag, createWebrtcBundle, createWebsocketBundle, cssObjectToStyleMap, currentColorScheme, currentLayout, currentStyle, defaultCssVars, defaultRadius, defaultThemeColors, deleteElementsByIds, deleteVersion as deleteRecoveryVersion, demoteNode, deriveModel3DBlobUrl, derivePresenceList, describeSmartArtBounds, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, duplicateElementById, durationOf, effectsStateOf, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, estimatePageCount, evenColumnWidths, evenRowHeights, exitPresentationFullscreen, extractPathPoints, eyedropperAvailable, fillColorOf, findInSlides, findOwningSlideIndex, findSlideIndexByElementId, fitPolynomial, fitZoom, fontMimeForFormat, fontSizeOf, formatAutoNumber, formatAxisValue, formatBytes, formatCursorLabel, formatElapsed, formatFileSize, formatPropertyDate, formatTime, fpsToFrameIntervalMs, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generatePressureCircles, generateRulerTicks, getClrChangeParams, getContainerStyle, getDuotoneFilterDef, getImageSrc, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDownloadFileName, getOleTypeColor, getOleTypeLabel, getPasswordStrength, getPatternSvg, getPlaceholderStyle, getVersions as getRecoveryVersions, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getShapeFillStrokeStyle, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSpeechRecognitionCtor, getTextBlockStyle, getTextWarp, getTouchDistance, getWarpCategory, getWarpPath, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gridColumns, groupElements, groupIssuesBySeverity, hasAnimation, hasCopyableFormat, hasExistingLink, hasExitedFullscreen, hasGradientFill, hasPressureVariation, headerLabel, inkViewBox, insertColumn, insertRow, interpolateWidth, isAudienceTab, isBold, isBrowserOpenableMime, isChildNode, isElementInteractive, isInjectableUrl, isItalic, isPpactionUrl, isPresenterMessage, isSigned, isTextElement, isUnderline, isUrlSafe, isValidRoomId, isViewportBackgroundPressTarget, isZoomActivationKey, issueTrackKey, issueTypeLabel, keyToLabel, latexToMathml, linePointsToSvgString, lineSpacingPatch, loadAudienceContent, mergeCaptionResults, mergeDown, mergeRight, mergeSelection, moveElementBy, moveNodeDown, moveNodeUp, msToFrameDelayCs, narrowToCircle, narrowToPolygon, narrowToRect, newChartElement, newEquationElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextVisibleIndex, nodeBold, nodeEditBox, nodeFillColor, nodeFontColor, nodeIdFromKey, nodeItalic, nodeStyle, normalizeFontFormat, normalizeSlidesPerPage, normalizeValue, numFromEvent, ommlToMathml, ooxmlDashToCssBorderStyle, openNativeEyeDropper, overallStatus, paletteColor, parseAudienceNonce, parseNodeTextarea, partitionSlides, patchChartData, patchChartStyle, patchTableData, patchTextStyle, pendingElementStyles, pickColorByClickFallback, pickSupportedMimeType, planGifFrames, planVideoSegments, pointsToSvgPathD, presenceToCursors, presetByLayout, presetsForCategory, pressuresToWidths, prevVisibleIndex, projectDrawingShapes, promoteNode, provideViewerTheme, radarAngle, radarRingPoints, recordWebm, redistributeColumnWidth, removeAnimation, removeCategory, removeColumn, removeCommentFromList, removeElementAnimation, removeGradientStopPatch, removeNode, removeRow, removeSeries, renderToCanvas, reorderAnimationDown, reorderAnimationUp, replaceInSlides, replaceMatch, requestPresentationFullscreen, resizeElement, resolveCaptionTracks, resolveChartKind, resolveFontVariant, resolveHyperlinkHref, resolveInteractiveElementId, resolveMediaSrc, resolveOleType, resolveParagraphBullet, resolvePresenterNotes, resolveRegionCode, resolvePalette as resolveSmartArtPalette, resolveTransitionDuration, revealedElementStyles, routeOrthogonalConnector, rowStyle, sampleColorFromSlide, sanitizeColor, sanitizeSlideIndex, sanitizeUserName, scanAvailableFonts, searchSlides, seedBroadcastFields, seedHyperlinkDraft, seedPropertiesDraft, seedShareFields, segmentFrameCount, selectValue$2 as selectValue, sendBackward, sendToBack, sequentialColorScale, serializeWriteBack, seriesColor, setAnimationEmphasis, setAnimationEntrance, setAnimationExit, setAxis, setAxisLogScale, setAxisTitleStyle, setCategoryLabel, setCellText, setColorScheme, setDataLabels, setDataPointExplosion, setDataPointFill, setDataPointLabel, setDelay, setDirection, setDuration, setElementPosition, setGridlineStyle, setLayout, setLegend, setNodeStyle, setNodeText, setRepeatCount, setRepeatMode, setSequence, setSeriesChartType, setSeriesColor, setSeriesErrorBars, setSeriesMarker, setSeriesName, setSeriesTrendline, setSeriesValue, setStyle, setTimingCurve, setTitle, setTrigger, setTriggerShapeId, shapeStylePatch, sheetAfterNavigate, shouldUseSvgWarp, showDirectionPicker, showsTemplateAffordance, signatureCountLabel, signatureKey, signatureTimestamp, signerName, statusLabel as slideDiffStatusLabel, slideNumberOf, smartArtNodes, paletteColour as smartArtPaletteColour, snapToGridStep, splitCursorCell, splitMergedCell, statusKind, statusLabel$1 as statusLabel, storeAudienceContent, stringFromEvent$5 as stringFromEvent, strokeColorOf, strokeToInkElement, styleShadowFilter, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textColorOf, textDirectionPatch, textStyleOf, textStylePatch, themeStyle, themeToCssVars, thumbnailHeight, thumbnailZoom, toggleCommentResolvedInList, toggleNodeBold, toggleNodeItalic, toggleSheet, topLevelNodeCount, transformSelectedTextCase, translationsEn, ungroupElements, updateElementById, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateOuterShadowPatch, updateReflectionPatch, vAlignPatch, validatePassword, validatePrintSettings, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, waypointsToPathD, worstStatus, zoomTargetSlideIndex };
87183
87694
  //# sourceMappingURL=pptx-angular-viewer.mjs.map