pptx-angular-viewer 2.19.5 → 2.20.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 +38 -0
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-B1JZmXlq.mjs → pptx-angular-viewer-chat-history-idb-jiV5SRr_.mjs} +2 -2
- package/fesm2022/{pptx-angular-viewer-chat-history-idb-B1JZmXlq.mjs.map → pptx-angular-viewer-chat-history-idb-jiV5SRr_.mjs.map} +1 -1
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-6Hu6x_CC.mjs → pptx-angular-viewer-pptx-angular-viewer-CrwHoTrs.mjs} +637 -103
- package/fesm2022/{pptx-angular-viewer-pptx-angular-viewer-6Hu6x_CC.mjs.map → pptx-angular-viewer-pptx-angular-viewer-CrwHoTrs.mjs.map} +1 -1
- package/fesm2022/pptx-angular-viewer.mjs +2 -2
- package/package.json +2 -2
- package/types/pptx-angular-viewer.d.ts +108 -14
- package/types/pptx-angular-viewer.d.ts.map +1 -1
|
@@ -2,7 +2,7 @@ import { NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, input, output, inject, computed, ChangeDetectionStrategy, Component, signal, Injectable, DestroyRef, viewChild, effect, Injector, ElementRef, HostListener, afterNextRender, Renderer2, ViewEncapsulation, forwardRef, untracked } from '@angular/core';
|
|
4
4
|
import { TranslateService, TranslatePipe, translate } from '@ngx-translate/core';
|
|
5
|
-
import { THEME_PRESETS, guideEmuToPx, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, ooxmlGradientAngleToCssDegrees, hasShapeProperties, evaluatePresetShape, getShapeType, isImageLikeElement, MIN_ELEMENT_SIZE as MIN_ELEMENT_SIZE$1, getElementTextContent, getRoundRectRadiusPx as getRoundRectRadiusPx$1, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, hasTextProperties, stripXmlOrderSuffix, orderedXmlKey, chartDataAddSeries, chartDataRemoveSeries, chartDataAddCategory, chartDataRemoveCategory, chartDataUpdatePoint, rebuildTableStructureInRawXml, updateCellTextInRawXml, deepCloneData, cloneTemplateElementsBySlideId, cloneSlide, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, formatAutoNumberMarker, getLinkedTextBoxSegments, getSubstituteFontFamily, parsePanoseString, deriveSlideTitle, svgPathToPolygons, THEME_COLOR_SCHEME_KEYS, createBuiltinVariables, resolveCoordinate, lookupPresetShape, normalizeStShapeType, evaluateGuides, PptxHandler, addSmartArtNode, removeSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, deobfuscateFont, detectFontFormat, createEditorId, makeStoreAwareId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, createChartElement, detectFileFormat, serializePptxToJson, PPTX_JSON_MIME_TYPE, PptxMarkdownConverter, ThemePresets, formatCommentTimestamp as formatCommentTimestamp$1, EncryptedFileError, decodeXmlEntities, parseSignatureXml, groupElements, ungroupElements, cloneElement, updateSmartArtNodeText, setSmartArtNodeStyle, isInkElement, parseDataUrlToBytes, isZoomElement, SvgExporter, applyThemeToData, pptxActionToElementAction, elementActionToPptxAction, setChartTitle, setChartLegend, setChartDataLabels, setChartAxis, setChartSeriesTrendline, setChartSeriesErrorBars, setChartDataPointLabel, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointMarker, setChartDataPointExplosion,
|
|
5
|
+
import { THEME_PRESETS, guideEmuToPx, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, ooxmlGradientAngleToCssDegrees, hasShapeProperties, evaluatePresetShape, getShapeType, isImageLikeElement, MIN_ELEMENT_SIZE as MIN_ELEMENT_SIZE$1, getElementTextContent, getRoundRectRadiusPx as getRoundRectRadiusPx$1, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, hasTextProperties, stripXmlOrderSuffix, orderedXmlKey, chartDataChangeType, chartDataAddSeries, chartDataRemoveSeries, chartDataAddCategory, chartDataRemoveCategory, chartDataUpdatePoint, rebuildTableStructureInRawXml, updateCellTextInRawXml, deepCloneData, cloneTemplateElementsBySlideId, cloneSlide, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, formatAutoNumberMarker, getLinkedTextBoxSegments, getSubstituteFontFamily, parsePanoseString, deriveSlideTitle, svgPathToPolygons, THEME_COLOR_SCHEME_KEYS, createBuiltinVariables, resolveCoordinate, lookupPresetShape, normalizeStShapeType, evaluateGuides, PptxHandler, addSmartArtNode, removeSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, deobfuscateFont, detectFontFormat, createEditorId, makeStoreAwareId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, createChartElement, detectFileFormat, serializePptxToJson, PPTX_JSON_MIME_TYPE, PptxMarkdownConverter, ThemePresets, formatCommentTimestamp as formatCommentTimestamp$1, EncryptedFileError, decodeXmlEntities, parseSignatureXml, groupElements, ungroupElements, cloneElement, updateSmartArtNodeText, setSmartArtNodeStyle, isInkElement, parseDataUrlToBytes, isZoomElement, SvgExporter, applyThemeToData, pptxActionToElementAction, elementActionToPptxAction, setChartTitle, setChartLegend, setChartDataLabels, setChartAxis, setChartSeriesTrendline, setChartSeriesErrorBars, setChartDataPointLabel, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointMarker, setChartDataPointExplosion, getOleObjectTypeLabel, addSmartArtNodeAsChild, switchSmartArtLayout, SWITCHABLE_LAYOUT_TYPES, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, applyThemeOverrideToSlide, TRANSITION_VALID_DIRECTIONS } from 'pptx-viewer-core';
|
|
6
6
|
import DOMPurify from 'dompurify';
|
|
7
7
|
import { z } from 'zod';
|
|
8
8
|
import * as mcp from 'pptx-viewer-mcp';
|
|
@@ -8927,6 +8927,24 @@ const EXPLOSION_SUPPORTED_TYPES = new Set([
|
|
|
8927
8927
|
'doughnut',
|
|
8928
8928
|
'ofPie',
|
|
8929
8929
|
]);
|
|
8930
|
+
/**
|
|
8931
|
+
* Apply an inspector patch to a chart's data, routing a `chartType` change
|
|
8932
|
+
* through core's {@link chartDataChangeType} (which clears grouping the new
|
|
8933
|
+
* type doesn't support and adapts the category/series shape) instead of a
|
|
8934
|
+
* plain shallow merge. Every other field is a plain merge.
|
|
8935
|
+
*
|
|
8936
|
+
* Every binding's chart type/title/grouping selector needs exactly this
|
|
8937
|
+
* "is this patch a type change?" branch; it was independently re-implemented
|
|
8938
|
+
* in React and Vue with identical logic before being centralized here.
|
|
8939
|
+
*/
|
|
8940
|
+
function patchChartData$1(data, patch) {
|
|
8941
|
+
if (patch.chartType && patch.chartType !== data.chartType) {
|
|
8942
|
+
const adapted = chartDataChangeType(data, patch.chartType);
|
|
8943
|
+
const { chartType: _chartType, ...rest } = patch;
|
|
8944
|
+
return { ...adapted, ...rest };
|
|
8945
|
+
}
|
|
8946
|
+
return { ...data, ...patch };
|
|
8947
|
+
}
|
|
8930
8948
|
|
|
8931
8949
|
/**
|
|
8932
8950
|
* schema-label-keys.ts: i18n keys for OOXML wire tokens that bindings display
|
|
@@ -17446,13 +17464,20 @@ function applyAnimationPreset(animations, elementId, group, preset) {
|
|
|
17446
17464
|
function removeElementAnimation(animations, elementId) {
|
|
17447
17465
|
return animations.filter((a) => a.elementId !== elementId);
|
|
17448
17466
|
}
|
|
17467
|
+
/**
|
|
17468
|
+
* Floor applied to a timeline bar's `widthPercent` so a very short animation
|
|
17469
|
+
* (a near-zero duration relative to the sequence's total span) still renders
|
|
17470
|
+
* as a visible, clickable sliver instead of effectively disappearing.
|
|
17471
|
+
*/
|
|
17472
|
+
const MIN_TIMELINE_BAR_WIDTH_PERCENT = 2;
|
|
17449
17473
|
/**
|
|
17450
17474
|
* Lays out the proportional timeline-strip bars for a slide's animations:
|
|
17451
17475
|
* each bar's `leftPercent`/`widthPercent` express its delay/duration as a
|
|
17452
17476
|
* percentage of the longest end time (`delayMs + durationMs`) across every
|
|
17453
|
-
* entry, so the strip always spans the full authored sequence.
|
|
17454
|
-
* `
|
|
17455
|
-
*
|
|
17477
|
+
* entry, so the strip always spans the full authored sequence.
|
|
17478
|
+
* `widthPercent` is floored to {@link MIN_TIMELINE_BAR_WIDTH_PERCENT} so a
|
|
17479
|
+
* very short duration stays visible. Returned in `order` order (matching the
|
|
17480
|
+
* reorderable list every binding renders beside the strip).
|
|
17456
17481
|
*/
|
|
17457
17482
|
function buildAnimationTimelineBars(animations) {
|
|
17458
17483
|
const sorted = [...animations].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
@@ -17460,7 +17485,7 @@ function buildAnimationTimelineBars(animations) {
|
|
|
17460
17485
|
return sorted.map((animation) => ({
|
|
17461
17486
|
elementId: animation.elementId,
|
|
17462
17487
|
leftPercent: ((animation.delayMs ?? 0) / total) * 100,
|
|
17463
|
-
widthPercent: ((animation.durationMs ?? 500) / total) * 100,
|
|
17488
|
+
widthPercent: Math.max(((animation.durationMs ?? 500) / total) * 100, MIN_TIMELINE_BAR_WIDTH_PERCENT),
|
|
17464
17489
|
}));
|
|
17465
17490
|
}
|
|
17466
17491
|
// ==========================================================================
|
|
@@ -29037,6 +29062,9 @@ const translationsEn = {
|
|
|
29037
29062
|
'pptx.notes.strikethrough': 'Strikethrough',
|
|
29038
29063
|
'pptx.notes.toggleRichPlainEditor': 'Toggle rich/plain text editor',
|
|
29039
29064
|
'pptx.notes.underline': 'Underline',
|
|
29065
|
+
// Group info panel (element inspector)
|
|
29066
|
+
'pptx.group.childCount': '{{count}} children',
|
|
29067
|
+
'pptx.group.groupedElement': 'Grouped element',
|
|
29040
29068
|
// OLE object properties
|
|
29041
29069
|
'pptx.ole.embedded': 'Embedded',
|
|
29042
29070
|
'pptx.ole.fileName': 'File Name',
|
|
@@ -62642,6 +62670,78 @@ const COMMON_FONTS = [
|
|
|
62642
62670
|
'Verdana',
|
|
62643
62671
|
];
|
|
62644
62672
|
|
|
62673
|
+
/**
|
|
62674
|
+
* Clone a `PptxHeaderFooter` into a fresh draft object for the Header & Footer
|
|
62675
|
+
* dialog to mutate locally, without touching the committed value until the
|
|
62676
|
+
* user applies the change.
|
|
62677
|
+
*/
|
|
62678
|
+
function cloneHeaderFooterDraft(value) {
|
|
62679
|
+
return value ? { ...value } : {};
|
|
62680
|
+
}
|
|
62681
|
+
/** Merge a partial change into a Header & Footer draft, returning a new object. */
|
|
62682
|
+
function patchHeaderFooterDraft(draft, patch) {
|
|
62683
|
+
return { ...draft, ...patch };
|
|
62684
|
+
}
|
|
62685
|
+
/** Whether the fixed-date text input should show, given the current draft. */
|
|
62686
|
+
function isHeaderFooterDateTextVisible(draft) {
|
|
62687
|
+
return Boolean(draft.hasDateTime) && !draft.dateTimeAuto;
|
|
62688
|
+
}
|
|
62689
|
+
/** Whether the header text input should show, given the current draft. */
|
|
62690
|
+
function isHeaderFooterHeaderTextVisible(draft) {
|
|
62691
|
+
return Boolean(draft.hasHeader);
|
|
62692
|
+
}
|
|
62693
|
+
/** Whether the footer text input should show, given the current draft. */
|
|
62694
|
+
function isHeaderFooterFooterTextVisible(draft) {
|
|
62695
|
+
return Boolean(draft.hasFooter);
|
|
62696
|
+
}
|
|
62697
|
+
|
|
62698
|
+
/**
|
|
62699
|
+
* Classify an inserted file's MIME type as `audio`, `video`, or `null` for
|
|
62700
|
+
* anything else. Every binding's "insert audio/video" flow needs this same
|
|
62701
|
+
* check before building a `media` element; without the `null` case a binding
|
|
62702
|
+
* ends up treating any non-audio file (a PDF, an image picked by mistake, an
|
|
62703
|
+
* unrecognised codec) as video.
|
|
62704
|
+
*/
|
|
62705
|
+
function classifyMediaType(mimeType) {
|
|
62706
|
+
if (mimeType.startsWith('audio/')) {
|
|
62707
|
+
return 'audio';
|
|
62708
|
+
}
|
|
62709
|
+
if (mimeType.startsWith('video/')) {
|
|
62710
|
+
return 'video';
|
|
62711
|
+
}
|
|
62712
|
+
return null;
|
|
62713
|
+
}
|
|
62714
|
+
|
|
62715
|
+
/**
|
|
62716
|
+
* Resolve which master/layout background rows the active slide's template
|
|
62717
|
+
* background card should show: a layout row when the slide has a layout, and
|
|
62718
|
+
* a master row when a master references that layout. Both editors
|
|
62719
|
+
* (`setTemplateBackground`/`getTemplateBackgroundColor` on `PptxHandler`) key
|
|
62720
|
+
* by the returned `path`, which is the layout or master part path.
|
|
62721
|
+
*
|
|
62722
|
+
* Pure so every binding renders the exact same two rows without re-deriving
|
|
62723
|
+
* "which master owns this slide's layout" locally and drifting.
|
|
62724
|
+
*/
|
|
62725
|
+
function resolveTemplateBackgroundRows(activeSlide, slideMasters, fallbackLayoutLabel, fallbackMasterLabel) {
|
|
62726
|
+
const result = {};
|
|
62727
|
+
if (activeSlide.layoutPath) {
|
|
62728
|
+
result.layout = {
|
|
62729
|
+
path: activeSlide.layoutPath,
|
|
62730
|
+
label: activeSlide.layoutName ?? fallbackLayoutLabel,
|
|
62731
|
+
title: activeSlide.layoutName ?? activeSlide.layoutPath,
|
|
62732
|
+
};
|
|
62733
|
+
}
|
|
62734
|
+
const master = slideMasters?.find((m) => m.layoutPaths?.includes(activeSlide.layoutPath ?? ''));
|
|
62735
|
+
if (master) {
|
|
62736
|
+
result.master = {
|
|
62737
|
+
path: master.path,
|
|
62738
|
+
label: master.name ?? fallbackMasterLabel,
|
|
62739
|
+
title: master.name ?? master.path,
|
|
62740
|
+
};
|
|
62741
|
+
}
|
|
62742
|
+
return result;
|
|
62743
|
+
}
|
|
62744
|
+
|
|
62645
62745
|
/** Immutably replace one slide's inherited element list. */
|
|
62646
62746
|
function setTemplateElements(map, slideId, elements) {
|
|
62647
62747
|
return { ...map, [slideId]: elements };
|
|
@@ -66570,9 +66670,9 @@ function overlayStored(base, stored) {
|
|
|
66570
66670
|
* Browser download helpers shared by every binding's export pipeline. These are
|
|
66571
66671
|
* the only DOM-touching helpers in the shared export subtree: they create a
|
|
66572
66672
|
* transient `<a download>`, click it, and revoke the object URL after a short
|
|
66573
|
-
* delay.
|
|
66574
|
-
*
|
|
66575
|
-
*
|
|
66673
|
+
* delay. {@link downloadBlob} and {@link downloadDataUrl} run every filename
|
|
66674
|
+
* through the `sanitizeDownloadFilename` guard (null/traversal/length)
|
|
66675
|
+
* themselves, so no binding can accidentally skip it.
|
|
66576
66676
|
*
|
|
66577
66677
|
* The standard revoke delay is 200ms: long enough for the browser to begin the
|
|
66578
66678
|
* download, short enough not to leak the object URL.
|
|
@@ -66659,16 +66759,20 @@ function resolveExportBaseName(sourceName, extensions = DEFAULT_EXPORT_STRIP_EXT
|
|
|
66659
66759
|
return trimmed === '' ? EXPORT_BASE_NAME_FALLBACK : trimmed;
|
|
66660
66760
|
}
|
|
66661
66761
|
/**
|
|
66662
|
-
* Trigger a browser download for a Blob.
|
|
66663
|
-
*
|
|
66762
|
+
* Trigger a browser download for a Blob. `filename` is run through
|
|
66763
|
+
* {@link sanitizeDownloadFilename} before being applied, so every binding gets
|
|
66764
|
+
* a safe `Content-Disposition`/on-disk name regardless of whether it sanitized
|
|
66765
|
+
* the name itself: a source deck's own (attacker-controllable) file name can
|
|
66766
|
+
* reach this call unsanitized via `resolveExportBaseName`, so this is the one
|
|
66767
|
+
* place the guard cannot be skipped.
|
|
66664
66768
|
*
|
|
66665
66769
|
* @param blob - The content to download.
|
|
66666
|
-
* @param filename - The suggested download name.
|
|
66770
|
+
* @param filename - The suggested download name (sanitized before use).
|
|
66667
66771
|
*/
|
|
66668
66772
|
function downloadBlob(blob, filename) {
|
|
66669
66773
|
const url = URL.createObjectURL(blob), anchor = document.createElement('a');
|
|
66670
66774
|
anchor.href = url;
|
|
66671
|
-
anchor.download = filename;
|
|
66775
|
+
anchor.download = sanitizeDownloadFilename(filename);
|
|
66672
66776
|
document.body.appendChild(anchor);
|
|
66673
66777
|
anchor.click();
|
|
66674
66778
|
// Defer cleanup so the browser has time to start the download.
|
|
@@ -66678,16 +66782,16 @@ function downloadBlob(blob, filename) {
|
|
|
66678
66782
|
}, REVOKE_DELAY_MS);
|
|
66679
66783
|
}
|
|
66680
66784
|
/**
|
|
66681
|
-
* Trigger a browser download for a data-URL string.
|
|
66682
|
-
*
|
|
66785
|
+
* Trigger a browser download for a data-URL string. `filename` is run through
|
|
66786
|
+
* {@link sanitizeDownloadFilename} before being applied; see {@link downloadBlob}.
|
|
66683
66787
|
*
|
|
66684
66788
|
* @param dataUrl - The `data:` (or object) URL to download.
|
|
66685
|
-
* @param filename - The suggested download name.
|
|
66789
|
+
* @param filename - The suggested download name (sanitized before use).
|
|
66686
66790
|
*/
|
|
66687
66791
|
function downloadDataUrl(dataUrl, filename) {
|
|
66688
66792
|
const anchor = document.createElement('a');
|
|
66689
66793
|
anchor.href = dataUrl;
|
|
66690
|
-
anchor.download = filename;
|
|
66794
|
+
anchor.download = sanitizeDownloadFilename(filename);
|
|
66691
66795
|
document.body.appendChild(anchor);
|
|
66692
66796
|
anchor.click();
|
|
66693
66797
|
setTimeout(() => {
|
|
@@ -71298,7 +71402,7 @@ function createLocalStorageBackend(namespace) {
|
|
|
71298
71402
|
/** Try IndexedDB first; fall back to localStorage on any failure. */
|
|
71299
71403
|
async function resolveBackend(dbName, namespace) {
|
|
71300
71404
|
try {
|
|
71301
|
-
const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-
|
|
71405
|
+
const { openChatDb, createIdbBackend } = await import('./pptx-angular-viewer-chat-history-idb-jiV5SRr_.mjs');
|
|
71302
71406
|
const db = await openChatDb(dbName);
|
|
71303
71407
|
return createIdbBackend(db);
|
|
71304
71408
|
}
|
|
@@ -76526,9 +76630,12 @@ class EditorStateService {
|
|
|
76526
76630
|
this.history.record(this.captureSnapshot(), this.t('pptx.undoAction.paste'));
|
|
76527
76631
|
const newIds = [];
|
|
76528
76632
|
const additions = this.clipboard.map((el) => {
|
|
76529
|
-
|
|
76530
|
-
|
|
76531
|
-
|
|
76633
|
+
// A template element's id decides which store the paste routes to (see
|
|
76634
|
+
// cloneElementForPaste); its descendants must keep the same prefix or
|
|
76635
|
+
// later edits are silently lost to the slide store.
|
|
76636
|
+
const clone = cloneElementForPaste(el, { intoTemplate: isTemplateElementId(el.id) });
|
|
76637
|
+
newIds.push(clone.id);
|
|
76638
|
+
return clone;
|
|
76532
76639
|
});
|
|
76533
76640
|
this.slides.set(slides.map((slide, i) => i === slideIndex ? { ...slide, elements: [...slide.elements, ...additions] } : slide));
|
|
76534
76641
|
this.selectedIds.set(newIds);
|
|
@@ -85010,7 +85117,10 @@ function buildOleActionModel(el, translate) {
|
|
|
85010
85117
|
* Pure helpers (type resolution, colour / label maps, placeholder style) live
|
|
85011
85118
|
* in `ole-renderer-helpers.ts` so they can be unit-tested without TestBed.
|
|
85012
85119
|
*
|
|
85013
|
-
*
|
|
85120
|
+
* Editing the embedded object in place is not possible (a browser cannot run
|
|
85121
|
+
* the native app that owns it); the action bar offers Download and, for
|
|
85122
|
+
* browser-openable types, Open in a new tab, when core extracted an embedded
|
|
85123
|
+
* payload.
|
|
85014
85124
|
*/
|
|
85015
85125
|
class OleRendererComponent {
|
|
85016
85126
|
constructor() {
|
|
@@ -91806,7 +91916,7 @@ class ExportService {
|
|
|
91806
91916
|
const blob = new Blob([bytes], {
|
|
91807
91917
|
type: ExportService.PRESENTATION_MIME[format],
|
|
91808
91918
|
});
|
|
91809
|
-
downloadBlob(blob,
|
|
91919
|
+
downloadBlob(blob, fileName);
|
|
91810
91920
|
}
|
|
91811
91921
|
/**
|
|
91812
91922
|
* Rasterize a single DOM element to PNG and trigger a browser download.
|
|
@@ -91827,7 +91937,7 @@ class ExportService {
|
|
|
91827
91937
|
}
|
|
91828
91938
|
}, 'image/png');
|
|
91829
91939
|
});
|
|
91830
|
-
downloadBlob(blob,
|
|
91940
|
+
downloadBlob(blob, fileName);
|
|
91831
91941
|
}
|
|
91832
91942
|
/** Rasterize an element and copy it to the system clipboard as a PNG image. */
|
|
91833
91943
|
async copyElementAsPng(el, scale = 2) {
|
|
@@ -91885,7 +91995,7 @@ class ExportService {
|
|
|
91885
91995
|
}
|
|
91886
91996
|
doc.addImage(jpegBytes, 'JPEG', dx, dy, dw, dh);
|
|
91887
91997
|
}
|
|
91888
|
-
doc.save(
|
|
91998
|
+
doc.save(sanitizeDownloadFilename(fileName));
|
|
91889
91999
|
}
|
|
91890
92000
|
/**
|
|
91891
92001
|
* Assemble an animated GIF from pre-rendered slide canvases (one frame per
|
|
@@ -91916,7 +92026,7 @@ class ExportService {
|
|
|
91916
92026
|
const bytes = encodeGif(frames, { delayCs });
|
|
91917
92027
|
const buffer = new ArrayBuffer(bytes.byteLength);
|
|
91918
92028
|
new Uint8Array(buffer).set(bytes);
|
|
91919
|
-
downloadBlob(new Blob([buffer], { type: 'image/gif' }),
|
|
92029
|
+
downloadBlob(new Blob([buffer], { type: 'image/gif' }), fileName);
|
|
91920
92030
|
}
|
|
91921
92031
|
/**
|
|
91922
92032
|
* Record a WebM video from pre-rendered slide canvases (each held for
|
|
@@ -91934,7 +92044,7 @@ class ExportService {
|
|
|
91934
92044
|
throw new Error('[ExportService] No slide canvases provided for video export');
|
|
91935
92045
|
}
|
|
91936
92046
|
const blob = await recordWebm(canvases, { slideDurationMs, signal, onProgress });
|
|
91937
|
-
downloadBlob(blob,
|
|
92047
|
+
downloadBlob(blob, fileName);
|
|
91938
92048
|
}
|
|
91939
92049
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91940
92050
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ExportService }); }
|
|
@@ -105139,7 +105249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
105139
105249
|
}], propDecorators: { canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: false }] }], selectedElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedElement", required: false }] }] } });
|
|
105140
105250
|
|
|
105141
105251
|
// Generated by scripts/inline-shared.mjs from package.json. Do not edit.
|
|
105142
|
-
const PPTX_ANGULAR_VIEWER_VERSION = "2.
|
|
105252
|
+
const PPTX_ANGULAR_VIEWER_VERSION = "2.20.0";
|
|
105143
105253
|
|
|
105144
105254
|
/**
|
|
105145
105255
|
* account-page.component.ts: File > Account content.
|
|
@@ -105675,7 +105785,11 @@ class RibbonFontControlsComponent {
|
|
|
105675
105785
|
@for (group of fontGroups(); track group.id) {
|
|
105676
105786
|
<optgroup [label]="group.labelKey | translate">
|
|
105677
105787
|
@for (entry of group.entries; track entry.family) {
|
|
105678
|
-
<option
|
|
105788
|
+
<option
|
|
105789
|
+
[value]="entry.family"
|
|
105790
|
+
[selected]="entry.family === curFontFamily()"
|
|
105791
|
+
[style.font-family]="entry.family"
|
|
105792
|
+
>
|
|
105679
105793
|
{{ entry.family
|
|
105680
105794
|
}}{{
|
|
105681
105795
|
entry.themeRole
|
|
@@ -105887,7 +106001,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
105887
106001
|
@for (group of fontGroups(); track group.id) {
|
|
105888
106002
|
<optgroup [label]="group.labelKey | translate">
|
|
105889
106003
|
@for (entry of group.entries; track entry.family) {
|
|
105890
|
-
<option
|
|
106004
|
+
<option
|
|
106005
|
+
[value]="entry.family"
|
|
106006
|
+
[selected]="entry.family === curFontFamily()"
|
|
106007
|
+
[style.font-family]="entry.family"
|
|
106008
|
+
>
|
|
105891
106009
|
{{ entry.family
|
|
105892
106010
|
}}{{
|
|
105893
106011
|
entry.themeRole
|
|
@@ -107981,7 +108099,11 @@ class RibbonInsertSectionComponent {
|
|
|
107981
108099
|
if (!dataUrl) {
|
|
107982
108100
|
return;
|
|
107983
108101
|
}
|
|
107984
|
-
const
|
|
108102
|
+
const mediaType = classifyMediaType(file.type);
|
|
108103
|
+
if (!mediaType) {
|
|
108104
|
+
return;
|
|
108105
|
+
}
|
|
108106
|
+
const isAudio = mediaType === 'audio';
|
|
107985
108107
|
const element = {
|
|
107986
108108
|
type: 'media',
|
|
107987
108109
|
id: '',
|
|
@@ -107990,7 +108112,7 @@ class RibbonInsertSectionComponent {
|
|
|
107990
108112
|
y: 100,
|
|
107991
108113
|
width: isAudio ? 280 : 480,
|
|
107992
108114
|
height: isAudio ? 64 : 270,
|
|
107993
|
-
mediaType
|
|
108115
|
+
mediaType,
|
|
107994
108116
|
mediaData: dataUrl,
|
|
107995
108117
|
mediaMimeType: file.type,
|
|
107996
108118
|
};
|
|
@@ -108589,7 +108711,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
108589
108711
|
* RIGHT : Comments (with count), Present split-button + dropdown
|
|
108590
108712
|
* (From Beginning / Presenter View / Broadcast), +Show (custom
|
|
108591
108713
|
* shows), Inspector toggle, Settings cog, overflow "..." menu
|
|
108592
|
-
* (exports / print /
|
|
108714
|
+
* (exports / save-as variants / print / copy-as-image / properties /
|
|
108715
|
+
* accessibility / keyboard shortcuts / version history / password
|
|
108716
|
+
* protection / embed fonts / digital signatures).
|
|
108593
108717
|
*
|
|
108594
108718
|
* Undo/Redo/Find and Save moved up to the title bar; Record and Share moved to
|
|
108595
108719
|
* the ribbon tab row (both mirroring React). Slide navigation and zoom live in
|
|
@@ -108603,10 +108727,20 @@ const ALL_OVERFLOW_ITEMS = [
|
|
|
108603
108727
|
{ key: 'video', labelKey: 'pptx.ribbon.exportVideo', needsSlides: true },
|
|
108604
108728
|
{ key: 'gif', labelKey: 'pptx.ribbon.exportGif', needsSlides: true },
|
|
108605
108729
|
{ key: 'save', labelKey: 'pptx.ribbon.savePptx', needsSlides: true },
|
|
108730
|
+
{ key: 'savePpsx', labelKey: 'pptx.file.saveAsPpsxTooltip', needsSlides: true },
|
|
108731
|
+
{ key: 'savePptm', labelKey: 'pptx.file.saveAsPptmTooltip', needsSlides: true },
|
|
108606
108732
|
{ key: '---0', labelKey: '' },
|
|
108607
108733
|
{ key: 'print', labelKey: 'pptx.print.printButton' },
|
|
108734
|
+
{ key: 'copyImg', labelKey: 'pptx.file.copyImageTooltip', needsSlides: true },
|
|
108735
|
+
{ key: '---1', labelKey: '' },
|
|
108608
108736
|
{ key: 'info', labelKey: 'pptx.ribbon.documentProperties' },
|
|
108609
108737
|
{ key: 'a11y', labelKey: 'pptx.ribbon.accessibilityCheck' },
|
|
108738
|
+
{ key: 'shortcuts', labelKey: 'pptx.settings.keyboardShortcuts' },
|
|
108739
|
+
{ key: 'versionHistory', labelKey: 'pptx.ribbon.versionHistory' },
|
|
108740
|
+
{ key: '---2', labelKey: '' },
|
|
108741
|
+
{ key: 'passwordProtection', labelKey: 'pptx.security.protectPresentation' },
|
|
108742
|
+
{ key: 'fontEmbedding', labelKey: 'pptx.ribbon.embedFonts' },
|
|
108743
|
+
{ key: 'digitalSignatures', labelKey: 'pptx.viewer.digitalSignatures' },
|
|
108610
108744
|
];
|
|
108611
108745
|
/** png/pdf/video/gif are the export overflow rows; dropped when 'export' is hidden. */
|
|
108612
108746
|
const EXPORT_OVERFLOW_KEYS = new Set(['png', 'pdf', 'video', 'gif']);
|
|
@@ -108654,6 +108788,14 @@ class RibbonPrimaryRowComponent {
|
|
|
108654
108788
|
this.info = output();
|
|
108655
108789
|
this.a11y = output();
|
|
108656
108790
|
this.save = output();
|
|
108791
|
+
this.savePpsx = output();
|
|
108792
|
+
this.savePptm = output();
|
|
108793
|
+
this.copySlideAsImage = output();
|
|
108794
|
+
this.shortcuts = output();
|
|
108795
|
+
this.versionHistory = output();
|
|
108796
|
+
this.passwordProtection = output();
|
|
108797
|
+
this.fontEmbedding = output();
|
|
108798
|
+
this.digitalSignatures = output();
|
|
108657
108799
|
this.presentMenuOpen = signal(false, /* @ts-ignore */
|
|
108658
108800
|
...(ngDevMode ? [{ debugName: "presentMenuOpen" }] : /* istanbul ignore next */ []));
|
|
108659
108801
|
this.overflowOpen = signal(false, /* @ts-ignore */
|
|
@@ -108711,12 +108853,36 @@ class RibbonPrimaryRowComponent {
|
|
|
108711
108853
|
case 'a11y':
|
|
108712
108854
|
this.a11y.emit();
|
|
108713
108855
|
break;
|
|
108856
|
+
case 'savePpsx':
|
|
108857
|
+
this.savePpsx.emit();
|
|
108858
|
+
break;
|
|
108859
|
+
case 'savePptm':
|
|
108860
|
+
this.savePptm.emit();
|
|
108861
|
+
break;
|
|
108862
|
+
case 'copyImg':
|
|
108863
|
+
this.copySlideAsImage.emit();
|
|
108864
|
+
break;
|
|
108865
|
+
case 'shortcuts':
|
|
108866
|
+
this.shortcuts.emit();
|
|
108867
|
+
break;
|
|
108868
|
+
case 'versionHistory':
|
|
108869
|
+
this.versionHistory.emit();
|
|
108870
|
+
break;
|
|
108871
|
+
case 'passwordProtection':
|
|
108872
|
+
this.passwordProtection.emit();
|
|
108873
|
+
break;
|
|
108874
|
+
case 'fontEmbedding':
|
|
108875
|
+
this.fontEmbedding.emit();
|
|
108876
|
+
break;
|
|
108877
|
+
case 'digitalSignatures':
|
|
108878
|
+
this.digitalSignatures.emit();
|
|
108879
|
+
break;
|
|
108714
108880
|
default:
|
|
108715
108881
|
break;
|
|
108716
108882
|
}
|
|
108717
108883
|
}
|
|
108718
108884
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: RibbonPrimaryRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108719
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: RibbonPrimaryRowComponent, isStandalone: true, selector: "pptx-ribbon-primary-row", inputs: { slideCount: { classPropertyName: "slideCount", publicName: "slideCount", isSignal: true, isRequired: false, transformFunction: null }, sidebarCollapsed: { classPropertyName: "sidebarCollapsed", publicName: "sidebarCollapsed", isSignal: true, isRequired: false, transformFunction: null }, inspectorOpen: { classPropertyName: "inspectorOpen", publicName: "inspectorOpen", isSignal: true, isRequired: false, transformFunction: null }, commentsOpen: { classPropertyName: "commentsOpen", publicName: "commentsOpen", isSignal: true, isRequired: false, transformFunction: null }, commentCount: { classPropertyName: "commentCount", publicName: "commentCount", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, aiEnabled: { classPropertyName: "aiEnabled", publicName: "aiEnabled", isSignal: true, isRequired: false, transformFunction: null }, aiPanelOpen: { classPropertyName: "aiPanelOpen", publicName: "aiPanelOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleSidebar: "toggleSidebar", toggleAiPanel: "toggleAiPanel", toggleComments: "toggleComments", present: "present", presenter: "presenter", broadcast: "broadcast", openCustomShows: "openCustomShows", toggleInspector: "toggleInspector", openSettings: "openSettings", exportPng: "exportPng", exportPdf: "exportPdf", exportGif: "exportGif", exportVideo: "exportVideo", print: "print", info: "info", a11y: "a11y", save: "save" }, host: { listeners: { "document:keydown.escape": "onDocumentEscape()", "document:pointerdown": "onDocumentPointerDown($event)" } }, viewQueries: [{ propertyName: "presentRoot", first: true, predicate: ["presentRoot"], descendants: true, isSignal: true }, { propertyName: "overflowRoot", first: true, predicate: ["overflowRoot"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
108885
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: RibbonPrimaryRowComponent, isStandalone: true, selector: "pptx-ribbon-primary-row", inputs: { slideCount: { classPropertyName: "slideCount", publicName: "slideCount", isSignal: true, isRequired: false, transformFunction: null }, sidebarCollapsed: { classPropertyName: "sidebarCollapsed", publicName: "sidebarCollapsed", isSignal: true, isRequired: false, transformFunction: null }, inspectorOpen: { classPropertyName: "inspectorOpen", publicName: "inspectorOpen", isSignal: true, isRequired: false, transformFunction: null }, commentsOpen: { classPropertyName: "commentsOpen", publicName: "commentsOpen", isSignal: true, isRequired: false, transformFunction: null }, commentCount: { classPropertyName: "commentCount", publicName: "commentCount", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, aiEnabled: { classPropertyName: "aiEnabled", publicName: "aiEnabled", isSignal: true, isRequired: false, transformFunction: null }, aiPanelOpen: { classPropertyName: "aiPanelOpen", publicName: "aiPanelOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleSidebar: "toggleSidebar", toggleAiPanel: "toggleAiPanel", toggleComments: "toggleComments", present: "present", presenter: "presenter", broadcast: "broadcast", openCustomShows: "openCustomShows", toggleInspector: "toggleInspector", openSettings: "openSettings", exportPng: "exportPng", exportPdf: "exportPdf", exportGif: "exportGif", exportVideo: "exportVideo", print: "print", info: "info", a11y: "a11y", save: "save", savePpsx: "savePpsx", savePptm: "savePptm", copySlideAsImage: "copySlideAsImage", shortcuts: "shortcuts", versionHistory: "versionHistory", passwordProtection: "passwordProtection", fontEmbedding: "fontEmbedding", digitalSignatures: "digitalSignatures" }, host: { listeners: { "document:keydown.escape": "onDocumentEscape()", "document:pointerdown": "onDocumentPointerDown($event)" } }, viewQueries: [{ propertyName: "presentRoot", first: true, predicate: ["presentRoot"], descendants: true, isSignal: true }, { propertyName: "overflowRoot", first: true, predicate: ["overflowRoot"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
108720
108886
|
<div class="flex items-center gap-0.5 px-1.5 py-0.5">
|
|
108721
108887
|
<!-- Left: slides pane toggle (undo/redo/find moved to the title bar) -->
|
|
108722
108888
|
<button
|
|
@@ -109083,7 +109249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
109083
109249
|
</div>
|
|
109084
109250
|
`,
|
|
109085
109251
|
}]
|
|
109086
|
-
}], propDecorators: { slideCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideCount", required: false }] }], sidebarCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "sidebarCollapsed", required: false }] }], inspectorOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "inspectorOpen", required: false }] }], commentsOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentsOpen", required: false }] }], commentCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentCount", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], aiEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiEnabled", required: false }] }], aiPanelOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiPanelOpen", required: false }] }], toggleSidebar: [{ type: i0.Output, args: ["toggleSidebar"] }], toggleAiPanel: [{ type: i0.Output, args: ["toggleAiPanel"] }], toggleComments: [{ type: i0.Output, args: ["toggleComments"] }], present: [{ type: i0.Output, args: ["present"] }], presenter: [{ type: i0.Output, args: ["presenter"] }], broadcast: [{ type: i0.Output, args: ["broadcast"] }], openCustomShows: [{ type: i0.Output, args: ["openCustomShows"] }], toggleInspector: [{ type: i0.Output, args: ["toggleInspector"] }], openSettings: [{ type: i0.Output, args: ["openSettings"] }], exportPng: [{ type: i0.Output, args: ["exportPng"] }], exportPdf: [{ type: i0.Output, args: ["exportPdf"] }], exportGif: [{ type: i0.Output, args: ["exportGif"] }], exportVideo: [{ type: i0.Output, args: ["exportVideo"] }], print: [{ type: i0.Output, args: ["print"] }], info: [{ type: i0.Output, args: ["info"] }], a11y: [{ type: i0.Output, args: ["a11y"] }], save: [{ type: i0.Output, args: ["save"] }], presentRoot: [{ type: i0.ViewChild, args: ['presentRoot', { isSignal: true }] }], overflowRoot: [{ type: i0.ViewChild, args: ['overflowRoot', { isSignal: true }] }], onDocumentEscape: [{
|
|
109252
|
+
}], propDecorators: { slideCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideCount", required: false }] }], sidebarCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "sidebarCollapsed", required: false }] }], inspectorOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "inspectorOpen", required: false }] }], commentsOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentsOpen", required: false }] }], commentCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentCount", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], aiEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiEnabled", required: false }] }], aiPanelOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiPanelOpen", required: false }] }], toggleSidebar: [{ type: i0.Output, args: ["toggleSidebar"] }], toggleAiPanel: [{ type: i0.Output, args: ["toggleAiPanel"] }], toggleComments: [{ type: i0.Output, args: ["toggleComments"] }], present: [{ type: i0.Output, args: ["present"] }], presenter: [{ type: i0.Output, args: ["presenter"] }], broadcast: [{ type: i0.Output, args: ["broadcast"] }], openCustomShows: [{ type: i0.Output, args: ["openCustomShows"] }], toggleInspector: [{ type: i0.Output, args: ["toggleInspector"] }], openSettings: [{ type: i0.Output, args: ["openSettings"] }], exportPng: [{ type: i0.Output, args: ["exportPng"] }], exportPdf: [{ type: i0.Output, args: ["exportPdf"] }], exportGif: [{ type: i0.Output, args: ["exportGif"] }], exportVideo: [{ type: i0.Output, args: ["exportVideo"] }], print: [{ type: i0.Output, args: ["print"] }], info: [{ type: i0.Output, args: ["info"] }], a11y: [{ type: i0.Output, args: ["a11y"] }], save: [{ type: i0.Output, args: ["save"] }], savePpsx: [{ type: i0.Output, args: ["savePpsx"] }], savePptm: [{ type: i0.Output, args: ["savePptm"] }], copySlideAsImage: [{ type: i0.Output, args: ["copySlideAsImage"] }], shortcuts: [{ type: i0.Output, args: ["shortcuts"] }], versionHistory: [{ type: i0.Output, args: ["versionHistory"] }], passwordProtection: [{ type: i0.Output, args: ["passwordProtection"] }], fontEmbedding: [{ type: i0.Output, args: ["fontEmbedding"] }], digitalSignatures: [{ type: i0.Output, args: ["digitalSignatures"] }], presentRoot: [{ type: i0.ViewChild, args: ['presentRoot', { isSignal: true }] }], overflowRoot: [{ type: i0.ViewChild, args: ['overflowRoot', { isSignal: true }] }], onDocumentEscape: [{
|
|
109087
109253
|
type: HostListener,
|
|
109088
109254
|
args: ['document:keydown.escape']
|
|
109089
109255
|
}], onDocumentPointerDown: [{
|
|
@@ -109456,6 +109622,14 @@ class RibbonComponent {
|
|
|
109456
109622
|
this.print = output();
|
|
109457
109623
|
this.comments = output();
|
|
109458
109624
|
this.a11y = output();
|
|
109625
|
+
/** Overflow menu: opens the keyboard-shortcuts dialog. */
|
|
109626
|
+
this.shortcuts = output();
|
|
109627
|
+
/** Overflow menu: opens the version-history panel. */
|
|
109628
|
+
this.versionHistory = output();
|
|
109629
|
+
/** Overflow menu: opens the password-protection dialog. */
|
|
109630
|
+
this.passwordProtection = output();
|
|
109631
|
+
/** Overflow menu: opens the font-embedding dialog. */
|
|
109632
|
+
this.fontEmbedding = output();
|
|
109459
109633
|
this.link = output();
|
|
109460
109634
|
this.openSorter = output();
|
|
109461
109635
|
/** View tab > Reading View: the deck full-window, not the slide show. */
|
|
@@ -109544,7 +109718,7 @@ class RibbonComponent {
|
|
|
109544
109718
|
this.spellCheckChange.emit(enabled);
|
|
109545
109719
|
}
|
|
109546
109720
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: RibbonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109547
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: RibbonComponent, isStandalone: true, selector: "pptx-ribbon", inputs: { slideIndex: { classPropertyName: "slideIndex", publicName: "slideIndex", isSignal: true, isRequired: false, transformFunction: null }, slideCount: { classPropertyName: "slideCount", publicName: "slideCount", isSignal: true, isRequired: false, transformFunction: null }, canEdit: { classPropertyName: "canEdit", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null }, selectedElement: { classPropertyName: "selectedElement", publicName: "selectedElement", isSignal: true, isRequired: false, transformFunction: null }, zoomPercent: { classPropertyName: "zoomPercent", publicName: "zoomPercent", isSignal: true, isRequired: false, transformFunction: null }, formatPainterActive: { classPropertyName: "formatPainterActive", publicName: "formatPainterActive", isSignal: true, isRequired: false, transformFunction: null }, canActivateFormatPainter: { classPropertyName: "canActivateFormatPainter", publicName: "canActivateFormatPainter", isSignal: true, isRequired: false, transformFunction: null }, exporting: { classPropertyName: "exporting", publicName: "exporting", isSignal: true, isRequired: false, transformFunction: null }, hasMacros: { classPropertyName: "hasMacros", publicName: "hasMacros", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, showRulers: { classPropertyName: "showRulers", publicName: "showRulers", isSignal: true, isRequired: false, transformFunction: null }, showGuides: { classPropertyName: "showGuides", publicName: "showGuides", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, snapToShape: { classPropertyName: "snapToShape", publicName: "snapToShape", isSignal: true, isRequired: false, transformFunction: null }, eyedropperActive: { classPropertyName: "eyedropperActive", publicName: "eyedropperActive", isSignal: true, isRequired: false, transformFunction: null }, themeGalleryOpen: { classPropertyName: "themeGalleryOpen", publicName: "themeGalleryOpen", isSignal: true, isRequired: false, transformFunction: null }, sidebarCollapsed: { classPropertyName: "sidebarCollapsed", publicName: "sidebarCollapsed", isSignal: true, isRequired: false, transformFunction: null }, inspectorOpen: { classPropertyName: "inspectorOpen", publicName: "inspectorOpen", isSignal: true, isRequired: false, transformFunction: null }, commentsOpen: { classPropertyName: "commentsOpen", publicName: "commentsOpen", isSignal: true, isRequired: false, transformFunction: null }, commentCount: { classPropertyName: "commentCount", publicName: "commentCount", isSignal: true, isRequired: false, transformFunction: null }, findOpen: { classPropertyName: "findOpen", publicName: "findOpen", isSignal: true, isRequired: false, transformFunction: null }, collabConnected: { classPropertyName: "collabConnected", publicName: "collabConnected", isSignal: true, isRequired: false, transformFunction: null }, connectedCount: { classPropertyName: "connectedCount", publicName: "connectedCount", isSignal: true, isRequired: false, transformFunction: null }, spellCheckEnabled: { classPropertyName: "spellCheckEnabled", publicName: "spellCheckEnabled", isSignal: true, isRequired: false, transformFunction: null }, showSubtitles: { classPropertyName: "showSubtitles", publicName: "showSubtitles", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, aiEnabled: { classPropertyName: "aiEnabled", publicName: "aiEnabled", isSignal: true, isRequired: false, transformFunction: null }, aiPanelOpen: { classPropertyName: "aiPanelOpen", publicName: "aiPanelOpen", isSignal: true, isRequired: false, transformFunction: null }, accountAuth: { classPropertyName: "accountAuth", publicName: "accountAuth", isSignal: true, isRequired: false, transformFunction: null }, activeSlideHidden: { classPropertyName: "activeSlideHidden", publicName: "activeSlideHidden", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { prev: "prev", next: "next", zoomIn: "zoomIn", zoomOut: "zoomOut", zoomReset: "zoomReset", find: "find", present: "present", presenter: "presenter", record: "record", presentFromBeginning: "presentFromBeginning", rehearseTimings: "rehearseTimings", toggleSubtitles: "toggleSubtitles", openSubtitleSettings: "openSubtitleSettings", recordFromBeginning: "recordFromBeginning", recordFromCurrent: "recordFromCurrent", spellCheckChange: "spellCheckChange", share: "share", broadcast: "broadcast", openFile: "openFile", openRecentFile: "openRecentFile", createPresentation: "createPresentation", save: "save", savePpsx: "savePpsx", savePptm: "savePptm", packageForSharing: "packageForSharing", toggleSidebar: "toggleSidebar", toggleAiPanel: "toggleAiPanel", signatures: "signatures", info: "info", print: "print", comments: "comments", a11y: "a11y", link: "link", openSorter: "openSorter", openReadingView: "openReadingView", openOutlineView: "openOutlineView", openMasterView: "openMasterView", toggleNotes: "toggleNotes", toggleFormatPainter: "toggleFormatPainter", exportPng: "exportPng", exportPdf: "exportPdf", exportGif: "exportGif", exportVideo: "exportVideo", exportJson: "exportJson", copySlideAsImage: "copySlideAsImage", replace: "replace", toggleInspector: "toggleInspector", drawToolChange: "drawToolChange", toggleThemeGallery: "toggleThemeGallery", editTheme: "editTheme", openSlideSize: "openSlideSize", toggleGrid: "toggleGrid", toggleRulers: "toggleRulers", toggleGuides: "toggleGuides", toggleSelectionPane: "toggleSelectionPane", openCustomShows: "openCustomShows", toggleSnapToGrid: "toggleSnapToGrid", toggleSnapToShape: "toggleSnapToShape", addGuide: "addGuide", zoomToFit: "zoomToFit", toggleEyedropper: "toggleEyedropper", openSmartArtDialog: "openSmartArtDialog", openTemplateGallery: "openTemplateGallery", openEquationDialog: "openEquationDialog", openSetUpSlideShow: "openSetUpSlideShow", toggleHideSlide: "toggleHideSlide", openCompare: "openCompare", openPassword: "openPassword", openFontEmbedding: "openFontEmbedding", openVersionHistory: "openVersionHistory", openShortcuts: "openShortcuts", openSettings: "openSettings" }, ngImport: i0, template: `
|
|
109721
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: RibbonComponent, isStandalone: true, selector: "pptx-ribbon", inputs: { slideIndex: { classPropertyName: "slideIndex", publicName: "slideIndex", isSignal: true, isRequired: false, transformFunction: null }, slideCount: { classPropertyName: "slideCount", publicName: "slideCount", isSignal: true, isRequired: false, transformFunction: null }, canEdit: { classPropertyName: "canEdit", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null }, selectedElement: { classPropertyName: "selectedElement", publicName: "selectedElement", isSignal: true, isRequired: false, transformFunction: null }, zoomPercent: { classPropertyName: "zoomPercent", publicName: "zoomPercent", isSignal: true, isRequired: false, transformFunction: null }, formatPainterActive: { classPropertyName: "formatPainterActive", publicName: "formatPainterActive", isSignal: true, isRequired: false, transformFunction: null }, canActivateFormatPainter: { classPropertyName: "canActivateFormatPainter", publicName: "canActivateFormatPainter", isSignal: true, isRequired: false, transformFunction: null }, exporting: { classPropertyName: "exporting", publicName: "exporting", isSignal: true, isRequired: false, transformFunction: null }, hasMacros: { classPropertyName: "hasMacros", publicName: "hasMacros", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, showRulers: { classPropertyName: "showRulers", publicName: "showRulers", isSignal: true, isRequired: false, transformFunction: null }, showGuides: { classPropertyName: "showGuides", publicName: "showGuides", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, snapToShape: { classPropertyName: "snapToShape", publicName: "snapToShape", isSignal: true, isRequired: false, transformFunction: null }, eyedropperActive: { classPropertyName: "eyedropperActive", publicName: "eyedropperActive", isSignal: true, isRequired: false, transformFunction: null }, themeGalleryOpen: { classPropertyName: "themeGalleryOpen", publicName: "themeGalleryOpen", isSignal: true, isRequired: false, transformFunction: null }, sidebarCollapsed: { classPropertyName: "sidebarCollapsed", publicName: "sidebarCollapsed", isSignal: true, isRequired: false, transformFunction: null }, inspectorOpen: { classPropertyName: "inspectorOpen", publicName: "inspectorOpen", isSignal: true, isRequired: false, transformFunction: null }, commentsOpen: { classPropertyName: "commentsOpen", publicName: "commentsOpen", isSignal: true, isRequired: false, transformFunction: null }, commentCount: { classPropertyName: "commentCount", publicName: "commentCount", isSignal: true, isRequired: false, transformFunction: null }, findOpen: { classPropertyName: "findOpen", publicName: "findOpen", isSignal: true, isRequired: false, transformFunction: null }, collabConnected: { classPropertyName: "collabConnected", publicName: "collabConnected", isSignal: true, isRequired: false, transformFunction: null }, connectedCount: { classPropertyName: "connectedCount", publicName: "connectedCount", isSignal: true, isRequired: false, transformFunction: null }, spellCheckEnabled: { classPropertyName: "spellCheckEnabled", publicName: "spellCheckEnabled", isSignal: true, isRequired: false, transformFunction: null }, showSubtitles: { classPropertyName: "showSubtitles", publicName: "showSubtitles", isSignal: true, isRequired: false, transformFunction: null }, hiddenActions: { classPropertyName: "hiddenActions", publicName: "hiddenActions", isSignal: true, isRequired: false, transformFunction: null }, aiEnabled: { classPropertyName: "aiEnabled", publicName: "aiEnabled", isSignal: true, isRequired: false, transformFunction: null }, aiPanelOpen: { classPropertyName: "aiPanelOpen", publicName: "aiPanelOpen", isSignal: true, isRequired: false, transformFunction: null }, accountAuth: { classPropertyName: "accountAuth", publicName: "accountAuth", isSignal: true, isRequired: false, transformFunction: null }, activeSlideHidden: { classPropertyName: "activeSlideHidden", publicName: "activeSlideHidden", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { prev: "prev", next: "next", zoomIn: "zoomIn", zoomOut: "zoomOut", zoomReset: "zoomReset", find: "find", present: "present", presenter: "presenter", record: "record", presentFromBeginning: "presentFromBeginning", rehearseTimings: "rehearseTimings", toggleSubtitles: "toggleSubtitles", openSubtitleSettings: "openSubtitleSettings", recordFromBeginning: "recordFromBeginning", recordFromCurrent: "recordFromCurrent", spellCheckChange: "spellCheckChange", share: "share", broadcast: "broadcast", openFile: "openFile", openRecentFile: "openRecentFile", createPresentation: "createPresentation", save: "save", savePpsx: "savePpsx", savePptm: "savePptm", packageForSharing: "packageForSharing", toggleSidebar: "toggleSidebar", toggleAiPanel: "toggleAiPanel", signatures: "signatures", info: "info", print: "print", comments: "comments", a11y: "a11y", shortcuts: "shortcuts", versionHistory: "versionHistory", passwordProtection: "passwordProtection", fontEmbedding: "fontEmbedding", link: "link", openSorter: "openSorter", openReadingView: "openReadingView", openOutlineView: "openOutlineView", openMasterView: "openMasterView", toggleNotes: "toggleNotes", toggleFormatPainter: "toggleFormatPainter", exportPng: "exportPng", exportPdf: "exportPdf", exportGif: "exportGif", exportVideo: "exportVideo", exportJson: "exportJson", copySlideAsImage: "copySlideAsImage", replace: "replace", toggleInspector: "toggleInspector", drawToolChange: "drawToolChange", toggleThemeGallery: "toggleThemeGallery", editTheme: "editTheme", openSlideSize: "openSlideSize", toggleGrid: "toggleGrid", toggleRulers: "toggleRulers", toggleGuides: "toggleGuides", toggleSelectionPane: "toggleSelectionPane", openCustomShows: "openCustomShows", toggleSnapToGrid: "toggleSnapToGrid", toggleSnapToShape: "toggleSnapToShape", addGuide: "addGuide", zoomToFit: "zoomToFit", toggleEyedropper: "toggleEyedropper", openSmartArtDialog: "openSmartArtDialog", openTemplateGallery: "openTemplateGallery", openEquationDialog: "openEquationDialog", openSetUpSlideShow: "openSetUpSlideShow", toggleHideSlide: "toggleHideSlide", openCompare: "openCompare", openPassword: "openPassword", openFontEmbedding: "openFontEmbedding", openVersionHistory: "openVersionHistory", openShortcuts: "openShortcuts", openSettings: "openSettings" }, ngImport: i0, template: `
|
|
109548
109722
|
<div
|
|
109549
109723
|
role="toolbar"
|
|
109550
109724
|
[attr.aria-label]="'pptx.toolbar.presentationToolbarAria' | translate"
|
|
@@ -109576,6 +109750,14 @@ class RibbonComponent {
|
|
|
109576
109750
|
(info)="info.emit()"
|
|
109577
109751
|
(a11y)="a11y.emit()"
|
|
109578
109752
|
(save)="save.emit()"
|
|
109753
|
+
(savePpsx)="savePpsx.emit()"
|
|
109754
|
+
(savePptm)="savePptm.emit()"
|
|
109755
|
+
(copySlideAsImage)="copySlideAsImage.emit()"
|
|
109756
|
+
(shortcuts)="shortcuts.emit()"
|
|
109757
|
+
(versionHistory)="versionHistory.emit()"
|
|
109758
|
+
(passwordProtection)="passwordProtection.emit()"
|
|
109759
|
+
(fontEmbedding)="fontEmbedding.emit()"
|
|
109760
|
+
(digitalSignatures)="signatures.emit()"
|
|
109579
109761
|
/>
|
|
109580
109762
|
|
|
109581
109763
|
<pptx-ribbon-tab-list
|
|
@@ -109697,7 +109879,7 @@ class RibbonComponent {
|
|
|
109697
109879
|
/>
|
|
109698
109880
|
</div>
|
|
109699
109881
|
</div>
|
|
109700
|
-
`, isInline: true, dependencies: [{ kind: "component", type: RibbonPrimaryRowComponent, selector: "pptx-ribbon-primary-row", inputs: ["slideCount", "sidebarCollapsed", "inspectorOpen", "commentsOpen", "commentCount", "hiddenActions", "aiEnabled", "aiPanelOpen"], outputs: ["toggleSidebar", "toggleAiPanel", "toggleComments", "present", "presenter", "broadcast", "openCustomShows", "toggleInspector", "openSettings", "exportPng", "exportPdf", "exportGif", "exportVideo", "print", "info", "a11y", "save"] }, { kind: "component", type: RibbonTabListComponent, selector: "pptx-ribbon-tab-list", inputs: ["activeTab", "canEdit", "collabConnected", "connectedCount", "ribbonExpanded", "hiddenActions"], outputs: ["selectTab", "record", "share", "toggleRibbonExpanded"] }, { kind: "component", type: RibbonContentComponent, selector: "pptx-ribbon-content", inputs: ["activeTab", "slideIndex", "slideCount", "canEdit", "selectedElement", "formatPainterActive", "canActivateFormatPainter", "exporting", "hasMacros", "hiddenActions", "accountAuth"], outputs: ["selectTab", "find", "share", "openFile", "openRecentFile", "createPresentation", "save", "savePpsx", "savePptm", "packageForSharing", "signatures", "info", "print", "toggleFormatPainter", "exportPng", "exportPdf", "exportGif", "exportVideo", "exportJson", "copySlideAsImage", "replace", "openSmartArtDialog", "openEquationDialog", "openTemplateGallery", "link", "openPassword", "openFontEmbedding", "openVersionHistory", "openSettings"] }, { kind: "component", type: RibbonContentSecondaryComponent, selector: "pptx-ribbon-content-secondary", inputs: ["activeTab", "slideIndex", "slideCount", "canEdit", "selectedElement", "showGrid", "showRulers", "showGuides", "snapToGrid", "snapToShape", "eyedropperActive", "themeGalleryOpen", "spellCheckEnabled", "showSubtitles", "activeSlideHidden", "hiddenActions"], outputs: ["present", "presenter", "record", "presentFromBeginning", "rehearseTimings", "toggleSubtitles", "openSubtitleSettings", "recordFromBeginning", "recordFromCurrent", "spellCheckChange", "broadcast", "print", "comments", "a11y", "link", "openSorter", "openReadingView", "openOutlineView", "openMasterView", "toggleNotes", "toggleInspector", "drawToolChange", "toggleThemeGallery", "editTheme", "openSlideSize", "toggleGrid", "toggleRulers", "toggleGuides", "toggleSelectionPane", "openCustomShows", "toggleSnapToGrid", "toggleSnapToShape", "addGuide", "zoomToFit", "toggleEyedropper", "openSetUpSlideShow", "toggleHideSlide", "openCompare", "openShortcuts", "openSettings"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109882
|
+
`, isInline: true, dependencies: [{ kind: "component", type: RibbonPrimaryRowComponent, selector: "pptx-ribbon-primary-row", inputs: ["slideCount", "sidebarCollapsed", "inspectorOpen", "commentsOpen", "commentCount", "hiddenActions", "aiEnabled", "aiPanelOpen"], outputs: ["toggleSidebar", "toggleAiPanel", "toggleComments", "present", "presenter", "broadcast", "openCustomShows", "toggleInspector", "openSettings", "exportPng", "exportPdf", "exportGif", "exportVideo", "print", "info", "a11y", "save", "savePpsx", "savePptm", "copySlideAsImage", "shortcuts", "versionHistory", "passwordProtection", "fontEmbedding", "digitalSignatures"] }, { kind: "component", type: RibbonTabListComponent, selector: "pptx-ribbon-tab-list", inputs: ["activeTab", "canEdit", "collabConnected", "connectedCount", "ribbonExpanded", "hiddenActions"], outputs: ["selectTab", "record", "share", "toggleRibbonExpanded"] }, { kind: "component", type: RibbonContentComponent, selector: "pptx-ribbon-content", inputs: ["activeTab", "slideIndex", "slideCount", "canEdit", "selectedElement", "formatPainterActive", "canActivateFormatPainter", "exporting", "hasMacros", "hiddenActions", "accountAuth"], outputs: ["selectTab", "find", "share", "openFile", "openRecentFile", "createPresentation", "save", "savePpsx", "savePptm", "packageForSharing", "signatures", "info", "print", "toggleFormatPainter", "exportPng", "exportPdf", "exportGif", "exportVideo", "exportJson", "copySlideAsImage", "replace", "openSmartArtDialog", "openEquationDialog", "openTemplateGallery", "link", "openPassword", "openFontEmbedding", "openVersionHistory", "openSettings"] }, { kind: "component", type: RibbonContentSecondaryComponent, selector: "pptx-ribbon-content-secondary", inputs: ["activeTab", "slideIndex", "slideCount", "canEdit", "selectedElement", "showGrid", "showRulers", "showGuides", "snapToGrid", "snapToShape", "eyedropperActive", "themeGalleryOpen", "spellCheckEnabled", "showSubtitles", "activeSlideHidden", "hiddenActions"], outputs: ["present", "presenter", "record", "presentFromBeginning", "rehearseTimings", "toggleSubtitles", "openSubtitleSettings", "recordFromBeginning", "recordFromCurrent", "spellCheckChange", "broadcast", "print", "comments", "a11y", "link", "openSorter", "openReadingView", "openOutlineView", "openMasterView", "toggleNotes", "toggleInspector", "drawToolChange", "toggleThemeGallery", "editTheme", "openSlideSize", "toggleGrid", "toggleRulers", "toggleGuides", "toggleSelectionPane", "openCustomShows", "toggleSnapToGrid", "toggleSnapToShape", "addGuide", "zoomToFit", "toggleEyedropper", "openSetUpSlideShow", "toggleHideSlide", "openCompare", "openShortcuts", "openSettings"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109701
109883
|
}
|
|
109702
109884
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: RibbonComponent, decorators: [{
|
|
109703
109885
|
type: Component,
|
|
@@ -109744,6 +109926,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
109744
109926
|
(info)="info.emit()"
|
|
109745
109927
|
(a11y)="a11y.emit()"
|
|
109746
109928
|
(save)="save.emit()"
|
|
109929
|
+
(savePpsx)="savePpsx.emit()"
|
|
109930
|
+
(savePptm)="savePptm.emit()"
|
|
109931
|
+
(copySlideAsImage)="copySlideAsImage.emit()"
|
|
109932
|
+
(shortcuts)="shortcuts.emit()"
|
|
109933
|
+
(versionHistory)="versionHistory.emit()"
|
|
109934
|
+
(passwordProtection)="passwordProtection.emit()"
|
|
109935
|
+
(fontEmbedding)="fontEmbedding.emit()"
|
|
109936
|
+
(digitalSignatures)="signatures.emit()"
|
|
109747
109937
|
/>
|
|
109748
109938
|
|
|
109749
109939
|
<pptx-ribbon-tab-list
|
|
@@ -109867,7 +110057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
109867
110057
|
</div>
|
|
109868
110058
|
`,
|
|
109869
110059
|
}]
|
|
109870
|
-
}], propDecorators: { slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: false }] }], slideCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideCount", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], selectedElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedElement", required: false }] }], zoomPercent: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomPercent", required: false }] }], formatPainterActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatPainterActive", required: false }] }], canActivateFormatPainter: [{ type: i0.Input, args: [{ isSignal: true, alias: "canActivateFormatPainter", required: false }] }], exporting: [{ type: i0.Input, args: [{ isSignal: true, alias: "exporting", required: false }] }], hasMacros: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasMacros", required: false }] }], showGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGrid", required: false }] }], showRulers: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRulers", required: false }] }], showGuides: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGuides", required: false }] }], snapToGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToGrid", required: false }] }], snapToShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToShape", required: false }] }], eyedropperActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "eyedropperActive", required: false }] }], themeGalleryOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "themeGalleryOpen", required: false }] }], sidebarCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "sidebarCollapsed", required: false }] }], inspectorOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "inspectorOpen", required: false }] }], commentsOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentsOpen", required: false }] }], commentCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentCount", required: false }] }], findOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "findOpen", required: false }] }], collabConnected: [{ type: i0.Input, args: [{ isSignal: true, alias: "collabConnected", required: false }] }], connectedCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectedCount", required: false }] }], spellCheckEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "spellCheckEnabled", required: false }] }], showSubtitles: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSubtitles", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], aiEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiEnabled", required: false }] }], aiPanelOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiPanelOpen", required: false }] }], accountAuth: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountAuth", required: false }] }], prev: [{ type: i0.Output, args: ["prev"] }], next: [{ type: i0.Output, args: ["next"] }], zoomIn: [{ type: i0.Output, args: ["zoomIn"] }], zoomOut: [{ type: i0.Output, args: ["zoomOut"] }], zoomReset: [{ type: i0.Output, args: ["zoomReset"] }], find: [{ type: i0.Output, args: ["find"] }], present: [{ type: i0.Output, args: ["present"] }], presenter: [{ type: i0.Output, args: ["presenter"] }], record: [{ type: i0.Output, args: ["record"] }], presentFromBeginning: [{ type: i0.Output, args: ["presentFromBeginning"] }], rehearseTimings: [{ type: i0.Output, args: ["rehearseTimings"] }], toggleSubtitles: [{ type: i0.Output, args: ["toggleSubtitles"] }], openSubtitleSettings: [{ type: i0.Output, args: ["openSubtitleSettings"] }], recordFromBeginning: [{ type: i0.Output, args: ["recordFromBeginning"] }], recordFromCurrent: [{ type: i0.Output, args: ["recordFromCurrent"] }], spellCheckChange: [{ type: i0.Output, args: ["spellCheckChange"] }], share: [{ type: i0.Output, args: ["share"] }], broadcast: [{ type: i0.Output, args: ["broadcast"] }], openFile: [{ type: i0.Output, args: ["openFile"] }], openRecentFile: [{ type: i0.Output, args: ["openRecentFile"] }], createPresentation: [{ type: i0.Output, args: ["createPresentation"] }], save: [{ type: i0.Output, args: ["save"] }], savePpsx: [{ type: i0.Output, args: ["savePpsx"] }], savePptm: [{ type: i0.Output, args: ["savePptm"] }], packageForSharing: [{ type: i0.Output, args: ["packageForSharing"] }], toggleSidebar: [{ type: i0.Output, args: ["toggleSidebar"] }], toggleAiPanel: [{ type: i0.Output, args: ["toggleAiPanel"] }], signatures: [{ type: i0.Output, args: ["signatures"] }], info: [{ type: i0.Output, args: ["info"] }], print: [{ type: i0.Output, args: ["print"] }], comments: [{ type: i0.Output, args: ["comments"] }], a11y: [{ type: i0.Output, args: ["a11y"] }], link: [{ type: i0.Output, args: ["link"] }], openSorter: [{ type: i0.Output, args: ["openSorter"] }], openReadingView: [{ type: i0.Output, args: ["openReadingView"] }], openOutlineView: [{ type: i0.Output, args: ["openOutlineView"] }], openMasterView: [{ type: i0.Output, args: ["openMasterView"] }], toggleNotes: [{ type: i0.Output, args: ["toggleNotes"] }], toggleFormatPainter: [{ type: i0.Output, args: ["toggleFormatPainter"] }], exportPng: [{ type: i0.Output, args: ["exportPng"] }], exportPdf: [{ type: i0.Output, args: ["exportPdf"] }], exportGif: [{ type: i0.Output, args: ["exportGif"] }], exportVideo: [{ type: i0.Output, args: ["exportVideo"] }], exportJson: [{ type: i0.Output, args: ["exportJson"] }], copySlideAsImage: [{ type: i0.Output, args: ["copySlideAsImage"] }], replace: [{ type: i0.Output, args: ["replace"] }], toggleInspector: [{ type: i0.Output, args: ["toggleInspector"] }], drawToolChange: [{ type: i0.Output, args: ["drawToolChange"] }], toggleThemeGallery: [{ type: i0.Output, args: ["toggleThemeGallery"] }], editTheme: [{ type: i0.Output, args: ["editTheme"] }], openSlideSize: [{ type: i0.Output, args: ["openSlideSize"] }], toggleGrid: [{ type: i0.Output, args: ["toggleGrid"] }], toggleRulers: [{ type: i0.Output, args: ["toggleRulers"] }], toggleGuides: [{ type: i0.Output, args: ["toggleGuides"] }], toggleSelectionPane: [{ type: i0.Output, args: ["toggleSelectionPane"] }], openCustomShows: [{ type: i0.Output, args: ["openCustomShows"] }], toggleSnapToGrid: [{ type: i0.Output, args: ["toggleSnapToGrid"] }], toggleSnapToShape: [{ type: i0.Output, args: ["toggleSnapToShape"] }], addGuide: [{ type: i0.Output, args: ["addGuide"] }], zoomToFit: [{ type: i0.Output, args: ["zoomToFit"] }], toggleEyedropper: [{ type: i0.Output, args: ["toggleEyedropper"] }], openSmartArtDialog: [{ type: i0.Output, args: ["openSmartArtDialog"] }], openTemplateGallery: [{ type: i0.Output, args: ["openTemplateGallery"] }], openEquationDialog: [{ type: i0.Output, args: ["openEquationDialog"] }], openSetUpSlideShow: [{ type: i0.Output, args: ["openSetUpSlideShow"] }], toggleHideSlide: [{ type: i0.Output, args: ["toggleHideSlide"] }], activeSlideHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeSlideHidden", required: false }] }], openCompare: [{ type: i0.Output, args: ["openCompare"] }], openPassword: [{ type: i0.Output, args: ["openPassword"] }], openFontEmbedding: [{ type: i0.Output, args: ["openFontEmbedding"] }], openVersionHistory: [{ type: i0.Output, args: ["openVersionHistory"] }], openShortcuts: [{ type: i0.Output, args: ["openShortcuts"] }], openSettings: [{ type: i0.Output, args: ["openSettings"] }] } });
|
|
110060
|
+
}], propDecorators: { slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: false }] }], slideCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideCount", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], selectedElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedElement", required: false }] }], zoomPercent: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomPercent", required: false }] }], formatPainterActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatPainterActive", required: false }] }], canActivateFormatPainter: [{ type: i0.Input, args: [{ isSignal: true, alias: "canActivateFormatPainter", required: false }] }], exporting: [{ type: i0.Input, args: [{ isSignal: true, alias: "exporting", required: false }] }], hasMacros: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasMacros", required: false }] }], showGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGrid", required: false }] }], showRulers: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRulers", required: false }] }], showGuides: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGuides", required: false }] }], snapToGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToGrid", required: false }] }], snapToShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToShape", required: false }] }], eyedropperActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "eyedropperActive", required: false }] }], themeGalleryOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "themeGalleryOpen", required: false }] }], sidebarCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "sidebarCollapsed", required: false }] }], inspectorOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "inspectorOpen", required: false }] }], commentsOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentsOpen", required: false }] }], commentCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "commentCount", required: false }] }], findOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "findOpen", required: false }] }], collabConnected: [{ type: i0.Input, args: [{ isSignal: true, alias: "collabConnected", required: false }] }], connectedCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectedCount", required: false }] }], spellCheckEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "spellCheckEnabled", required: false }] }], showSubtitles: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSubtitles", required: false }] }], hiddenActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenActions", required: false }] }], aiEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiEnabled", required: false }] }], aiPanelOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "aiPanelOpen", required: false }] }], accountAuth: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountAuth", required: false }] }], prev: [{ type: i0.Output, args: ["prev"] }], next: [{ type: i0.Output, args: ["next"] }], zoomIn: [{ type: i0.Output, args: ["zoomIn"] }], zoomOut: [{ type: i0.Output, args: ["zoomOut"] }], zoomReset: [{ type: i0.Output, args: ["zoomReset"] }], find: [{ type: i0.Output, args: ["find"] }], present: [{ type: i0.Output, args: ["present"] }], presenter: [{ type: i0.Output, args: ["presenter"] }], record: [{ type: i0.Output, args: ["record"] }], presentFromBeginning: [{ type: i0.Output, args: ["presentFromBeginning"] }], rehearseTimings: [{ type: i0.Output, args: ["rehearseTimings"] }], toggleSubtitles: [{ type: i0.Output, args: ["toggleSubtitles"] }], openSubtitleSettings: [{ type: i0.Output, args: ["openSubtitleSettings"] }], recordFromBeginning: [{ type: i0.Output, args: ["recordFromBeginning"] }], recordFromCurrent: [{ type: i0.Output, args: ["recordFromCurrent"] }], spellCheckChange: [{ type: i0.Output, args: ["spellCheckChange"] }], share: [{ type: i0.Output, args: ["share"] }], broadcast: [{ type: i0.Output, args: ["broadcast"] }], openFile: [{ type: i0.Output, args: ["openFile"] }], openRecentFile: [{ type: i0.Output, args: ["openRecentFile"] }], createPresentation: [{ type: i0.Output, args: ["createPresentation"] }], save: [{ type: i0.Output, args: ["save"] }], savePpsx: [{ type: i0.Output, args: ["savePpsx"] }], savePptm: [{ type: i0.Output, args: ["savePptm"] }], packageForSharing: [{ type: i0.Output, args: ["packageForSharing"] }], toggleSidebar: [{ type: i0.Output, args: ["toggleSidebar"] }], toggleAiPanel: [{ type: i0.Output, args: ["toggleAiPanel"] }], signatures: [{ type: i0.Output, args: ["signatures"] }], info: [{ type: i0.Output, args: ["info"] }], print: [{ type: i0.Output, args: ["print"] }], comments: [{ type: i0.Output, args: ["comments"] }], a11y: [{ type: i0.Output, args: ["a11y"] }], shortcuts: [{ type: i0.Output, args: ["shortcuts"] }], versionHistory: [{ type: i0.Output, args: ["versionHistory"] }], passwordProtection: [{ type: i0.Output, args: ["passwordProtection"] }], fontEmbedding: [{ type: i0.Output, args: ["fontEmbedding"] }], link: [{ type: i0.Output, args: ["link"] }], openSorter: [{ type: i0.Output, args: ["openSorter"] }], openReadingView: [{ type: i0.Output, args: ["openReadingView"] }], openOutlineView: [{ type: i0.Output, args: ["openOutlineView"] }], openMasterView: [{ type: i0.Output, args: ["openMasterView"] }], toggleNotes: [{ type: i0.Output, args: ["toggleNotes"] }], toggleFormatPainter: [{ type: i0.Output, args: ["toggleFormatPainter"] }], exportPng: [{ type: i0.Output, args: ["exportPng"] }], exportPdf: [{ type: i0.Output, args: ["exportPdf"] }], exportGif: [{ type: i0.Output, args: ["exportGif"] }], exportVideo: [{ type: i0.Output, args: ["exportVideo"] }], exportJson: [{ type: i0.Output, args: ["exportJson"] }], copySlideAsImage: [{ type: i0.Output, args: ["copySlideAsImage"] }], replace: [{ type: i0.Output, args: ["replace"] }], toggleInspector: [{ type: i0.Output, args: ["toggleInspector"] }], drawToolChange: [{ type: i0.Output, args: ["drawToolChange"] }], toggleThemeGallery: [{ type: i0.Output, args: ["toggleThemeGallery"] }], editTheme: [{ type: i0.Output, args: ["editTheme"] }], openSlideSize: [{ type: i0.Output, args: ["openSlideSize"] }], toggleGrid: [{ type: i0.Output, args: ["toggleGrid"] }], toggleRulers: [{ type: i0.Output, args: ["toggleRulers"] }], toggleGuides: [{ type: i0.Output, args: ["toggleGuides"] }], toggleSelectionPane: [{ type: i0.Output, args: ["toggleSelectionPane"] }], openCustomShows: [{ type: i0.Output, args: ["openCustomShows"] }], toggleSnapToGrid: [{ type: i0.Output, args: ["toggleSnapToGrid"] }], toggleSnapToShape: [{ type: i0.Output, args: ["toggleSnapToShape"] }], addGuide: [{ type: i0.Output, args: ["addGuide"] }], zoomToFit: [{ type: i0.Output, args: ["zoomToFit"] }], toggleEyedropper: [{ type: i0.Output, args: ["toggleEyedropper"] }], openSmartArtDialog: [{ type: i0.Output, args: ["openSmartArtDialog"] }], openTemplateGallery: [{ type: i0.Output, args: ["openTemplateGallery"] }], openEquationDialog: [{ type: i0.Output, args: ["openEquationDialog"] }], openSetUpSlideShow: [{ type: i0.Output, args: ["openSetUpSlideShow"] }], toggleHideSlide: [{ type: i0.Output, args: ["toggleHideSlide"] }], activeSlideHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeSlideHidden", required: false }] }], openCompare: [{ type: i0.Output, args: ["openCompare"] }], openPassword: [{ type: i0.Output, args: ["openPassword"] }], openFontEmbedding: [{ type: i0.Output, args: ["openFontEmbedding"] }], openVersionHistory: [{ type: i0.Output, args: ["openVersionHistory"] }], openShortcuts: [{ type: i0.Output, args: ["openShortcuts"] }], openSettings: [{ type: i0.Output, args: ["openSettings"] }] } });
|
|
109871
110061
|
|
|
109872
110062
|
/**
|
|
109873
110063
|
* selection-pane-helpers.ts: pure display + rename logic behind
|
|
@@ -112221,12 +112411,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
112221
112411
|
}], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: true }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], elementChange: [{ type: i0.Output, args: ["elementChange"] }] } });
|
|
112222
112412
|
|
|
112223
112413
|
/**
|
|
112224
|
-
* chart-data-helpers.ts: Pure immutable
|
|
112414
|
+
* chart-data-helpers.ts: Pure immutable ELEMENT-level wrappers for chart data
|
|
112415
|
+
* editing (`ChartPptxElement` in, `ChartPptxElement` out).
|
|
112225
112416
|
*
|
|
112226
|
-
*
|
|
112227
|
-
*
|
|
112228
|
-
*
|
|
112229
|
-
* `
|
|
112417
|
+
* The row/column add-remove policy (auto-naming, refusing to drop the last
|
|
112418
|
+
* series/category, rejecting non-numeric cell input) lives once in shared's
|
|
112419
|
+
* `render/chart-data-grid-ops` (`addChartSeries`, `removeChartSeries`, etc.,
|
|
112420
|
+
* which operate on the bare `PptxChartData`); these functions just lift that
|
|
112421
|
+
* policy to the element level so `chart-data-editor.component.ts` can stay a
|
|
112422
|
+
* thin `elementChange` emitter. `setSeriesName`, `setSeriesColor`,
|
|
112423
|
+
* `patchChartStyle` and the advanced formatting wrappers below have no shared
|
|
112424
|
+
* equivalent yet and are genuinely local.
|
|
112230
112425
|
*
|
|
112231
112426
|
* All functions are immutable (return new objects, leave inputs unchanged)
|
|
112232
112427
|
* and framework-agnostic.
|
|
@@ -112314,13 +112509,7 @@ function addSeries(element) {
|
|
|
112314
112509
|
if (!chartData) {
|
|
112315
112510
|
return element;
|
|
112316
112511
|
}
|
|
112317
|
-
|
|
112318
|
-
const catCount = chartData.categories.length;
|
|
112319
|
-
const newChartData = chartDataAddSeries(chartData, {
|
|
112320
|
-
name: `Series ${seriesCount + 1}`,
|
|
112321
|
-
values: Array.from({ length: catCount }, () => 0),
|
|
112322
|
-
});
|
|
112323
|
-
return { ...element, chartData: newChartData };
|
|
112512
|
+
return { ...element, chartData: addChartSeries(chartData) };
|
|
112324
112513
|
}
|
|
112325
112514
|
// ---------------------------------------------------------------------------
|
|
112326
112515
|
// removeSeries
|
|
@@ -112344,10 +112533,8 @@ function addSeries(element) {
|
|
|
112344
112533
|
*/
|
|
112345
112534
|
function removeSeries(element, seriesIndex) {
|
|
112346
112535
|
const chartData = element.chartData;
|
|
112347
|
-
|
|
112348
|
-
|
|
112349
|
-
}
|
|
112350
|
-
return { ...element, chartData: chartDataRemoveSeries(chartData, seriesIndex) };
|
|
112536
|
+
const next = chartData && removeChartSeries(chartData, seriesIndex);
|
|
112537
|
+
return next ? { ...element, chartData: next } : element;
|
|
112351
112538
|
}
|
|
112352
112539
|
// ---------------------------------------------------------------------------
|
|
112353
112540
|
// addCategory
|
|
@@ -112369,11 +112556,7 @@ function addCategory(element) {
|
|
|
112369
112556
|
if (!chartData) {
|
|
112370
112557
|
return element;
|
|
112371
112558
|
}
|
|
112372
|
-
|
|
112373
|
-
return {
|
|
112374
|
-
...element,
|
|
112375
|
-
chartData: chartDataAddCategory(chartData, `Cat ${catCount + 1}`),
|
|
112376
|
-
};
|
|
112559
|
+
return { ...element, chartData: addChartCategory(chartData) };
|
|
112377
112560
|
}
|
|
112378
112561
|
// ---------------------------------------------------------------------------
|
|
112379
112562
|
// removeCategory
|
|
@@ -112396,10 +112579,8 @@ function addCategory(element) {
|
|
|
112396
112579
|
*/
|
|
112397
112580
|
function removeCategory(element, catIndex) {
|
|
112398
112581
|
const chartData = element.chartData;
|
|
112399
|
-
|
|
112400
|
-
|
|
112401
|
-
}
|
|
112402
|
-
return { ...element, chartData: chartDataRemoveCategory(chartData, catIndex) };
|
|
112582
|
+
const next = chartData && removeChartCategory(chartData, catIndex);
|
|
112583
|
+
return next ? { ...element, chartData: next } : element;
|
|
112403
112584
|
}
|
|
112404
112585
|
// ---------------------------------------------------------------------------
|
|
112405
112586
|
// setSeriesValue
|
|
@@ -112424,14 +112605,8 @@ function removeCategory(element, catIndex) {
|
|
|
112424
112605
|
*/
|
|
112425
112606
|
function setSeriesValue(element, seriesIndex, catIndex, rawValue) {
|
|
112426
112607
|
const chartData = element.chartData;
|
|
112427
|
-
|
|
112428
|
-
|
|
112429
|
-
}
|
|
112430
|
-
const num = parseFloat(rawValue);
|
|
112431
|
-
if (!Number.isFinite(num)) {
|
|
112432
|
-
return element;
|
|
112433
|
-
}
|
|
112434
|
-
return { ...element, chartData: chartDataUpdatePoint(chartData, seriesIndex, catIndex, num) };
|
|
112608
|
+
const next = chartData && setChartCellValue(chartData, seriesIndex, catIndex, rawValue);
|
|
112609
|
+
return next ? { ...element, chartData: next } : element;
|
|
112435
112610
|
}
|
|
112436
112611
|
// ---------------------------------------------------------------------------
|
|
112437
112612
|
// setSeriesName
|
|
@@ -112475,11 +112650,8 @@ function setSeriesName(element, seriesIndex, name) {
|
|
|
112475
112650
|
*/
|
|
112476
112651
|
function setCategoryLabel(element, catIndex, label) {
|
|
112477
112652
|
const chartData = element.chartData;
|
|
112478
|
-
|
|
112479
|
-
|
|
112480
|
-
}
|
|
112481
|
-
const categories = chartData.categories.map((c, i) => (i === catIndex ? label : c));
|
|
112482
|
-
return { ...element, chartData: { ...chartData, categories } };
|
|
112653
|
+
const next = chartData && setChartCategoryLabel(chartData, catIndex, label);
|
|
112654
|
+
return next ? { ...element, chartData: next } : element;
|
|
112483
112655
|
}
|
|
112484
112656
|
// ---------------------------------------------------------------------------
|
|
112485
112657
|
// setSeriesColor
|
|
@@ -112556,13 +112728,7 @@ function patchChartData(element, patch) {
|
|
|
112556
112728
|
if (!chartData) {
|
|
112557
112729
|
return element;
|
|
112558
112730
|
}
|
|
112559
|
-
|
|
112560
|
-
const adapted = chartDataChangeType(chartData, patch.chartType);
|
|
112561
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
112562
|
-
const { chartType: _ct, ...rest } = patch;
|
|
112563
|
-
return { ...element, chartData: { ...adapted, ...rest } };
|
|
112564
|
-
}
|
|
112565
|
-
return { ...element, chartData: { ...chartData, ...patch } };
|
|
112731
|
+
return { ...element, chartData: patchChartData$1(chartData, patch) };
|
|
112566
112732
|
}
|
|
112567
112733
|
|
|
112568
112734
|
/**
|
|
@@ -114870,6 +115036,177 @@ function stringFromEvent$4(event) {
|
|
|
114870
115036
|
return target.value;
|
|
114871
115037
|
}
|
|
114872
115038
|
|
|
115039
|
+
/**
|
|
115040
|
+
* chart-type-selector.component.ts: chart type / title / grouping inspector.
|
|
115041
|
+
*
|
|
115042
|
+
* Selector: `pptx-chart-type-selector`
|
|
115043
|
+
*
|
|
115044
|
+
* Angular port of the React `ChartTypeSelector`. Lets the user rename the
|
|
115045
|
+
* chart, change its type (routed through the shared `patchChartData`, which
|
|
115046
|
+
* clears grouping the new type doesn't support and adapts the category/series
|
|
115047
|
+
* shape via core's `chartDataChangeType`), and, for bar/line/area charts,
|
|
115048
|
+
* pick clustered/stacked/percent-stacked grouping. Every edit emits a
|
|
115049
|
+
* fully-updated element through `elementChange`, committed by the inspector
|
|
115050
|
+
* as one undoable history entry.
|
|
115051
|
+
*/
|
|
115052
|
+
/**
|
|
115053
|
+
* Apply an inspector patch (title/type/grouping) to a chart element, routing
|
|
115054
|
+
* it through the shared `patchChartData`. Exported standalone (rather than
|
|
115055
|
+
* kept private on the component) so it is directly testable without an
|
|
115056
|
+
* Angular TestBed, matching `action-settings-panel.component.ts`'s pattern.
|
|
115057
|
+
*/
|
|
115058
|
+
function applyChartTypeSelectorPatch(element, patch) {
|
|
115059
|
+
if (!element.chartData) {
|
|
115060
|
+
return null;
|
|
115061
|
+
}
|
|
115062
|
+
return { ...element, chartData: patchChartData$1(element.chartData, patch) };
|
|
115063
|
+
}
|
|
115064
|
+
class ChartTypeSelectorComponent {
|
|
115065
|
+
constructor() {
|
|
115066
|
+
/** The chart element being edited. */
|
|
115067
|
+
this.element = input.required(/* @ts-ignore */
|
|
115068
|
+
...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
|
|
115069
|
+
/** Whether editing is enabled. */
|
|
115070
|
+
this.canEdit = input(true, /* @ts-ignore */
|
|
115071
|
+
...(ngDevMode ? [{ debugName: "canEdit" }] : /* istanbul ignore next */ []));
|
|
115072
|
+
/** Emits the fully-updated element after any edit. */
|
|
115073
|
+
this.elementChange = output();
|
|
115074
|
+
this.typeOptions = CHART_TYPE_OPTIONS;
|
|
115075
|
+
this.groupingOptions = GROUPING_OPTIONS;
|
|
115076
|
+
this.data = computed(() => this.element().chartData, /* @ts-ignore */
|
|
115077
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
115078
|
+
this.supportsGrouping = computed(() => {
|
|
115079
|
+
const chartType = this.data()?.chartType;
|
|
115080
|
+
return chartType !== undefined && GROUPING_SUPPORTED_TYPES.has(chartType);
|
|
115081
|
+
}, /* @ts-ignore */
|
|
115082
|
+
...(ngDevMode ? [{ debugName: "supportsGrouping" }] : /* istanbul ignore next */ []));
|
|
115083
|
+
}
|
|
115084
|
+
onTitle(event) {
|
|
115085
|
+
const target = event.target;
|
|
115086
|
+
if (target instanceof HTMLInputElement) {
|
|
115087
|
+
this.emit({ title: target.value });
|
|
115088
|
+
}
|
|
115089
|
+
}
|
|
115090
|
+
onType(event) {
|
|
115091
|
+
const target = event.target;
|
|
115092
|
+
if (target instanceof HTMLSelectElement) {
|
|
115093
|
+
this.emit({ chartType: target.value });
|
|
115094
|
+
}
|
|
115095
|
+
}
|
|
115096
|
+
onGrouping(event) {
|
|
115097
|
+
const target = event.target;
|
|
115098
|
+
if (target instanceof HTMLSelectElement) {
|
|
115099
|
+
this.emit({ grouping: target.value });
|
|
115100
|
+
}
|
|
115101
|
+
}
|
|
115102
|
+
emit(patch) {
|
|
115103
|
+
const next = applyChartTypeSelectorPatch(this.element(), patch);
|
|
115104
|
+
if (next) {
|
|
115105
|
+
this.elementChange.emit(next);
|
|
115106
|
+
}
|
|
115107
|
+
}
|
|
115108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ChartTypeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: ChartTypeSelectorComponent, isStandalone: true, selector: "pptx-chart-type-selector", inputs: { element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: true, transformFunction: null }, canEdit: { classPropertyName: "canEdit", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { elementChange: "elementChange" }, ngImport: i0, template: `
|
|
115110
|
+
@if (data(); as chartData) {
|
|
115111
|
+
<div class="pptx-cts">
|
|
115112
|
+
<label class="pptx-cts__field">
|
|
115113
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.title' | translate }}</span>
|
|
115114
|
+
<input
|
|
115115
|
+
type="text"
|
|
115116
|
+
class="pptx-cts__input"
|
|
115117
|
+
[disabled]="!canEdit()"
|
|
115118
|
+
[value]="chartData.title ?? ''"
|
|
115119
|
+
(change)="onTitle($event)"
|
|
115120
|
+
/>
|
|
115121
|
+
</label>
|
|
115122
|
+
|
|
115123
|
+
<label class="pptx-cts__field">
|
|
115124
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.type' | translate }}</span>
|
|
115125
|
+
<select
|
|
115126
|
+
class="pptx-cts__input"
|
|
115127
|
+
[attr.aria-label]="'pptx.chart.type' | translate"
|
|
115128
|
+
[disabled]="!canEdit()"
|
|
115129
|
+
[value]="chartData.chartType"
|
|
115130
|
+
(change)="onType($event)"
|
|
115131
|
+
>
|
|
115132
|
+
@for (opt of typeOptions; track opt.value) {
|
|
115133
|
+
<option [value]="opt.value">{{ opt.labelKey | translate }}</option>
|
|
115134
|
+
}
|
|
115135
|
+
</select>
|
|
115136
|
+
</label>
|
|
115137
|
+
|
|
115138
|
+
@if (supportsGrouping()) {
|
|
115139
|
+
<label class="pptx-cts__field">
|
|
115140
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.grouping' | translate }}</span>
|
|
115141
|
+
<select
|
|
115142
|
+
class="pptx-cts__input"
|
|
115143
|
+
[attr.aria-label]="'pptx.chart.grouping' | translate"
|
|
115144
|
+
[disabled]="!canEdit()"
|
|
115145
|
+
[value]="chartData.grouping ?? 'clustered'"
|
|
115146
|
+
(change)="onGrouping($event)"
|
|
115147
|
+
>
|
|
115148
|
+
@for (opt of groupingOptions; track opt.value) {
|
|
115149
|
+
<option [value]="opt.value">{{ opt.labelKey | translate }}</option>
|
|
115150
|
+
}
|
|
115151
|
+
</select>
|
|
115152
|
+
</label>
|
|
115153
|
+
}
|
|
115154
|
+
</div>
|
|
115155
|
+
}
|
|
115156
|
+
`, isInline: true, styles: [".pptx-cts{display:flex;flex-direction:column;gap:.35rem}.pptx-cts__field{display:flex;align-items:center;gap:.4rem;font-size:11px}.pptx-cts__lbl{flex:0 0 auto;min-width:2.5rem;color:var(--pptx-inspector-muted, #888)}.pptx-cts__input{flex:1 1 auto;min-width:0}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
115157
|
+
}
|
|
115158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ChartTypeSelectorComponent, decorators: [{
|
|
115159
|
+
type: Component,
|
|
115160
|
+
args: [{ selector: 'pptx-chart-type-selector', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslatePipe], template: `
|
|
115161
|
+
@if (data(); as chartData) {
|
|
115162
|
+
<div class="pptx-cts">
|
|
115163
|
+
<label class="pptx-cts__field">
|
|
115164
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.title' | translate }}</span>
|
|
115165
|
+
<input
|
|
115166
|
+
type="text"
|
|
115167
|
+
class="pptx-cts__input"
|
|
115168
|
+
[disabled]="!canEdit()"
|
|
115169
|
+
[value]="chartData.title ?? ''"
|
|
115170
|
+
(change)="onTitle($event)"
|
|
115171
|
+
/>
|
|
115172
|
+
</label>
|
|
115173
|
+
|
|
115174
|
+
<label class="pptx-cts__field">
|
|
115175
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.type' | translate }}</span>
|
|
115176
|
+
<select
|
|
115177
|
+
class="pptx-cts__input"
|
|
115178
|
+
[attr.aria-label]="'pptx.chart.type' | translate"
|
|
115179
|
+
[disabled]="!canEdit()"
|
|
115180
|
+
[value]="chartData.chartType"
|
|
115181
|
+
(change)="onType($event)"
|
|
115182
|
+
>
|
|
115183
|
+
@for (opt of typeOptions; track opt.value) {
|
|
115184
|
+
<option [value]="opt.value">{{ opt.labelKey | translate }}</option>
|
|
115185
|
+
}
|
|
115186
|
+
</select>
|
|
115187
|
+
</label>
|
|
115188
|
+
|
|
115189
|
+
@if (supportsGrouping()) {
|
|
115190
|
+
<label class="pptx-cts__field">
|
|
115191
|
+
<span class="pptx-cts__lbl">{{ 'pptx.chart.grouping' | translate }}</span>
|
|
115192
|
+
<select
|
|
115193
|
+
class="pptx-cts__input"
|
|
115194
|
+
[attr.aria-label]="'pptx.chart.grouping' | translate"
|
|
115195
|
+
[disabled]="!canEdit()"
|
|
115196
|
+
[value]="chartData.grouping ?? 'clustered'"
|
|
115197
|
+
(change)="onGrouping($event)"
|
|
115198
|
+
>
|
|
115199
|
+
@for (opt of groupingOptions; track opt.value) {
|
|
115200
|
+
<option [value]="opt.value">{{ opt.labelKey | translate }}</option>
|
|
115201
|
+
}
|
|
115202
|
+
</select>
|
|
115203
|
+
</label>
|
|
115204
|
+
}
|
|
115205
|
+
</div>
|
|
115206
|
+
}
|
|
115207
|
+
`, styles: [".pptx-cts{display:flex;flex-direction:column;gap:.35rem}.pptx-cts__field{display:flex;align-items:center;gap:.4rem;font-size:11px}.pptx-cts__lbl{flex:0 0 auto;min-width:2.5rem;color:var(--pptx-inspector-muted, #888)}.pptx-cts__input{flex:1 1 auto;min-width:0}\n"] }]
|
|
115208
|
+
}], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: true }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], elementChange: [{ type: i0.Output, args: ["elementChange"] }] } });
|
|
115209
|
+
|
|
114873
115210
|
/**
|
|
114874
115211
|
* Thin re-export shim → vendored `pptx-viewer-shared` (`render/effects-helpers`).
|
|
114875
115212
|
*
|
|
@@ -122032,6 +122369,20 @@ class InspectorPanelComponent {
|
|
|
122032
122369
|
</details>
|
|
122033
122370
|
}
|
|
122034
122371
|
|
|
122372
|
+
<!-- ── Chart type / title / grouping ────────────────────────────── -->
|
|
122373
|
+
@if (chartEl(); as c) {
|
|
122374
|
+
<details class="pptx-ng-inspector__details" open>
|
|
122375
|
+
<summary class="pptx-ng-inspector__summary">
|
|
122376
|
+
{{ 'pptx.chart.heading' | translate }}
|
|
122377
|
+
</summary>
|
|
122378
|
+
<pptx-chart-type-selector
|
|
122379
|
+
[element]="c"
|
|
122380
|
+
[canEdit]="canEdit()"
|
|
122381
|
+
(elementChange)="onElementReplace($event)"
|
|
122382
|
+
/>
|
|
122383
|
+
</details>
|
|
122384
|
+
}
|
|
122385
|
+
|
|
122035
122386
|
<!-- ── Chart data editor ──────────────────────────────────────────── -->
|
|
122036
122387
|
@if (chartEl(); as c) {
|
|
122037
122388
|
<details class="pptx-ng-inspector__details">
|
|
@@ -122098,7 +122449,7 @@ class InspectorPanelComponent {
|
|
|
122098
122449
|
</div>
|
|
122099
122450
|
</section>
|
|
122100
122451
|
</aside>
|
|
122101
|
-
`, isInline: true, styles: [".pptx-ng-inspector{display:flex;flex-direction:column;gap:0;padding:.5rem;background:var(--pptx-inspector-bg, #1e1e1e);color:var(--pptx-inspector-fg, #e0e0e0);font-size:12px;min-width:220px;overflow-y:auto}.pptx-ng-inspector__section{padding:.5rem 0;border-bottom:1px solid var(--pptx-inspector-border, #333)}.pptx-ng-inspector__section:last-child{border-bottom:none}.pptx-ng-inspector__heading{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);margin:0 0 .35rem}.pptx-ng-inspector__details{border-bottom:1px solid var(--pptx-inspector-border, #333)}.pptx-ng-inspector__summary{padding:.5rem 0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);cursor:pointer;-webkit-user-select:none;user-select:none}.pptx-ng-inspector__row{display:flex;align-items:center;gap:.35rem;margin-bottom:.35rem}.pptx-ng-inspector__row:last-child{margin-bottom:0}.pptx-ng-inspector__row--toggles{gap:.25rem}.pptx-ng-inspector__label{font-size:10px;color:var(--pptx-inspector-muted, #888);min-width:32px;text-align:right;flex-shrink:0}.pptx-ng-inspector__input{background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;padding:2px 4px;font-size:12px}.pptx-ng-inspector__input--number{width:62px;text-align:right}.pptx-ng-inspector__color{width:32px;height:22px;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;padding:1px;cursor:pointer;background:transparent;flex-shrink:0}.pptx-ng-inspector__toggle{width:26px;height:22px;background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px}.pptx-ng-inspector.is-mobile{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__row{flex-wrap:wrap;gap:.5rem}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__label{min-width:28px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__input{flex:1 1 auto;min-height:40px;font-size:16px;padding:6px 8px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__input--number{width:auto;min-width:72px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__color{width:44px;height:40px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__toggle{min-width:44px;width:auto;flex:1 1 auto;height:40px;font-size:15px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__btn{min-height:40px;padding:8px 10px;font-size:13px}@media(pointer:coarse),(max-width:767px){.pptx-ng-inspector{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.pptx-ng-inspector__row{flex-wrap:wrap;gap:.5rem}.pptx-ng-inspector__label{min-width:28px}.pptx-ng-inspector__input{flex:1 1 auto;min-height:40px;font-size:16px;padding:6px 8px}.pptx-ng-inspector__input--number{width:auto;min-width:72px}.pptx-ng-inspector__color{width:44px;height:40px}.pptx-ng-inspector__toggle{min-width:44px;width:auto;flex:1 1 auto;height:40px;font-size:15px}.pptx-ng-inspector__btn{min-height:40px;padding:8px 10px;font-size:13px}}.pptx-ng-inspector__toggle.is-active{background:var(--pptx-inspector-active, #0078d4);border-color:var(--pptx-inspector-active, #0078d4);color:#fff}.pptx-ng-inspector__btn{flex:1;padding:3px 6px;background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;font-size:11px;white-space:nowrap}.pptx-ng-inspector__btn:hover{background:var(--pptx-inspector-hover, #3a3a3a)}.pptx-ng-inspector__btn--danger{color:var(--pptx-inspector-danger, #f47c7c);border-color:var(--pptx-inspector-danger-border, #6b2a2a)}.pptx-ng-inspector__btn--danger:hover{background:var(--pptx-inspector-danger-hover, #4a1a1a)}\n"], dependencies: [{ kind: "component", type: GradientPickerComponent, selector: "pptx-gradient-picker", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: EffectsPanelComponent, selector: "pptx-effects-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TextAdvancedPanelComponent, selector: "pptx-text-advanced-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TableDataEditorComponent, selector: "pptx-table-data-editor", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: TablePropertiesComponent, selector: "pptx-table-properties", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: TableCellFormattingComponent, selector: "pptx-table-cell-formatting", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: ChartDataEditorComponent, selector: "pptx-chart-data-editor", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: SmartArtPropertiesComponent, selector: "pptx-smart-art-properties", inputs: ["smartArtData", "canEdit"], outputs: ["smartArtDataChange"] }, { kind: "component", type: AnimationAuthorPanelComponent, selector: "pptx-animation-author-panel", inputs: ["element", "slideIndex", "animations", "slideElements", "canEdit"], outputs: ["animationsChange"] }, { kind: "component", type: ActionSettingsPanelComponent, selector: "pptx-action-settings-panel", inputs: ["element", "slideCount"], outputs: ["patch"] }, { kind: "component", type: ImagePropertiesPanelComponent, selector: "pptx-image-properties-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: MediaPropertiesPanelComponent, selector: "pptx-media-properties-panel", inputs: ["element", "canEdit"], outputs: ["patch"] }, { kind: "component", type: ElementMiscPropertiesComponent, selector: "pptx-element-misc-properties", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: ElementFlipControlsComponent, selector: "pptx-element-flip-controls", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: ShapeAuthoringPanelComponent, selector: "pptx-shape-authoring-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: Text3DPanelComponent, selector: "pptx-text-3d-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TextWarpGalleryComponent, selector: "pptx-text-warp-gallery", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: LucideArrowUp, selector: "svg[lucideArrowUp]" }, { kind: "component", type: LucideArrowDown, selector: "svg[lucideArrowDown]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
122452
|
+
`, isInline: true, styles: [".pptx-ng-inspector{display:flex;flex-direction:column;gap:0;padding:.5rem;background:var(--pptx-inspector-bg, #1e1e1e);color:var(--pptx-inspector-fg, #e0e0e0);font-size:12px;min-width:220px;overflow-y:auto}.pptx-ng-inspector__section{padding:.5rem 0;border-bottom:1px solid var(--pptx-inspector-border, #333)}.pptx-ng-inspector__section:last-child{border-bottom:none}.pptx-ng-inspector__heading{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);margin:0 0 .35rem}.pptx-ng-inspector__details{border-bottom:1px solid var(--pptx-inspector-border, #333)}.pptx-ng-inspector__summary{padding:.5rem 0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);cursor:pointer;-webkit-user-select:none;user-select:none}.pptx-ng-inspector__row{display:flex;align-items:center;gap:.35rem;margin-bottom:.35rem}.pptx-ng-inspector__row:last-child{margin-bottom:0}.pptx-ng-inspector__row--toggles{gap:.25rem}.pptx-ng-inspector__label{font-size:10px;color:var(--pptx-inspector-muted, #888);min-width:32px;text-align:right;flex-shrink:0}.pptx-ng-inspector__input{background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;padding:2px 4px;font-size:12px}.pptx-ng-inspector__input--number{width:62px;text-align:right}.pptx-ng-inspector__color{width:32px;height:22px;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;padding:1px;cursor:pointer;background:transparent;flex-shrink:0}.pptx-ng-inspector__toggle{width:26px;height:22px;background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px}.pptx-ng-inspector.is-mobile{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__row{flex-wrap:wrap;gap:.5rem}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__label{min-width:28px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__input{flex:1 1 auto;min-height:40px;font-size:16px;padding:6px 8px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__input--number{width:auto;min-width:72px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__color{width:44px;height:40px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__toggle{min-width:44px;width:auto;flex:1 1 auto;height:40px;font-size:15px}.pptx-ng-inspector.is-mobile .pptx-ng-inspector__btn{min-height:40px;padding:8px 10px;font-size:13px}@media(pointer:coarse),(max-width:767px){.pptx-ng-inspector{width:100%;min-width:0;box-sizing:border-box;font-size:14px}.pptx-ng-inspector__row{flex-wrap:wrap;gap:.5rem}.pptx-ng-inspector__label{min-width:28px}.pptx-ng-inspector__input{flex:1 1 auto;min-height:40px;font-size:16px;padding:6px 8px}.pptx-ng-inspector__input--number{width:auto;min-width:72px}.pptx-ng-inspector__color{width:44px;height:40px}.pptx-ng-inspector__toggle{min-width:44px;width:auto;flex:1 1 auto;height:40px;font-size:15px}.pptx-ng-inspector__btn{min-height:40px;padding:8px 10px;font-size:13px}}.pptx-ng-inspector__toggle.is-active{background:var(--pptx-inspector-active, #0078d4);border-color:var(--pptx-inspector-active, #0078d4);color:#fff}.pptx-ng-inspector__btn{flex:1;padding:3px 6px;background:var(--pptx-inspector-input-bg, #2d2d2d);border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;font-size:11px;white-space:nowrap}.pptx-ng-inspector__btn:hover{background:var(--pptx-inspector-hover, #3a3a3a)}.pptx-ng-inspector__btn--danger{color:var(--pptx-inspector-danger, #f47c7c);border-color:var(--pptx-inspector-danger-border, #6b2a2a)}.pptx-ng-inspector__btn--danger:hover{background:var(--pptx-inspector-danger-hover, #4a1a1a)}\n"], dependencies: [{ kind: "component", type: GradientPickerComponent, selector: "pptx-gradient-picker", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: EffectsPanelComponent, selector: "pptx-effects-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TextAdvancedPanelComponent, selector: "pptx-text-advanced-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TableDataEditorComponent, selector: "pptx-table-data-editor", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: TablePropertiesComponent, selector: "pptx-table-properties", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: TableCellFormattingComponent, selector: "pptx-table-cell-formatting", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: ChartDataEditorComponent, selector: "pptx-chart-data-editor", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: ChartTypeSelectorComponent, selector: "pptx-chart-type-selector", inputs: ["element", "canEdit"], outputs: ["elementChange"] }, { kind: "component", type: SmartArtPropertiesComponent, selector: "pptx-smart-art-properties", inputs: ["smartArtData", "canEdit"], outputs: ["smartArtDataChange"] }, { kind: "component", type: AnimationAuthorPanelComponent, selector: "pptx-animation-author-panel", inputs: ["element", "slideIndex", "animations", "slideElements", "canEdit"], outputs: ["animationsChange"] }, { kind: "component", type: ActionSettingsPanelComponent, selector: "pptx-action-settings-panel", inputs: ["element", "slideCount"], outputs: ["patch"] }, { kind: "component", type: ImagePropertiesPanelComponent, selector: "pptx-image-properties-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: MediaPropertiesPanelComponent, selector: "pptx-media-properties-panel", inputs: ["element", "canEdit"], outputs: ["patch"] }, { kind: "component", type: ElementMiscPropertiesComponent, selector: "pptx-element-misc-properties", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: ElementFlipControlsComponent, selector: "pptx-element-flip-controls", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: ShapeAuthoringPanelComponent, selector: "pptx-shape-authoring-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: Text3DPanelComponent, selector: "pptx-text-3d-panel", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: TextWarpGalleryComponent, selector: "pptx-text-warp-gallery", inputs: ["element"], outputs: ["patch"] }, { kind: "component", type: LucideArrowUp, selector: "svg[lucideArrowUp]" }, { kind: "component", type: LucideArrowDown, selector: "svg[lucideArrowDown]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
122102
122453
|
}
|
|
122103
122454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: InspectorPanelComponent, decorators: [{
|
|
122104
122455
|
type: Component,
|
|
@@ -122110,6 +122461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
122110
122461
|
TablePropertiesComponent,
|
|
122111
122462
|
TableCellFormattingComponent,
|
|
122112
122463
|
ChartDataEditorComponent,
|
|
122464
|
+
ChartTypeSelectorComponent,
|
|
122113
122465
|
SmartArtPropertiesComponent,
|
|
122114
122466
|
AnimationAuthorPanelComponent,
|
|
122115
122467
|
ActionSettingsPanelComponent,
|
|
@@ -122463,6 +122815,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
122463
122815
|
</details>
|
|
122464
122816
|
}
|
|
122465
122817
|
|
|
122818
|
+
<!-- ── Chart type / title / grouping ────────────────────────────── -->
|
|
122819
|
+
@if (chartEl(); as c) {
|
|
122820
|
+
<details class="pptx-ng-inspector__details" open>
|
|
122821
|
+
<summary class="pptx-ng-inspector__summary">
|
|
122822
|
+
{{ 'pptx.chart.heading' | translate }}
|
|
122823
|
+
</summary>
|
|
122824
|
+
<pptx-chart-type-selector
|
|
122825
|
+
[element]="c"
|
|
122826
|
+
[canEdit]="canEdit()"
|
|
122827
|
+
(elementChange)="onElementReplace($event)"
|
|
122828
|
+
/>
|
|
122829
|
+
</details>
|
|
122830
|
+
}
|
|
122831
|
+
|
|
122466
122832
|
<!-- ── Chart data editor ──────────────────────────────────────────── -->
|
|
122467
122833
|
@if (chartEl(); as c) {
|
|
122468
122834
|
<details class="pptx-ng-inspector__details">
|
|
@@ -124452,6 +124818,8 @@ class SlideBackgroundCardComponent {
|
|
|
124452
124818
|
this.canEdit = input(true, /* @ts-ignore */
|
|
124453
124819
|
...(ngDevMode ? [{ debugName: "canEdit" }] : /* istanbul ignore next */ []));
|
|
124454
124820
|
this.editor = inject(EditorStateService);
|
|
124821
|
+
this.loader = inject(LoadContentService);
|
|
124822
|
+
this.translate = inject(TranslateService);
|
|
124455
124823
|
this.imageAccept = BACKGROUND_IMAGE_ACCEPT;
|
|
124456
124824
|
this.slide = computed(() => this.editor.slides()[this.slideIndex()], /* @ts-ignore */
|
|
124457
124825
|
...(ngDevMode ? [{ debugName: "slide" }] : /* istanbul ignore next */ []));
|
|
@@ -124465,6 +124833,35 @@ class SlideBackgroundCardComponent {
|
|
|
124465
124833
|
return Boolean(sl?.backgroundColor || sl?.backgroundImage || sl?.backgroundGradient);
|
|
124466
124834
|
}, /* @ts-ignore */
|
|
124467
124835
|
...(ngDevMode ? [{ debugName: "hasBackground" }] : /* istanbul ignore next */ []));
|
|
124836
|
+
this.editTemplateMode = this.editor.editTemplateMode;
|
|
124837
|
+
/**
|
|
124838
|
+
* The active slide's layout/master, when it has one to edit (Master Views
|
|
124839
|
+
* covers the same ground but requires leaving the slide; this card mirrors
|
|
124840
|
+
* React/Vue's shortcut so it does not need to).
|
|
124841
|
+
*/
|
|
124842
|
+
this.templateRows = computed(() => {
|
|
124843
|
+
const sl = this.slide();
|
|
124844
|
+
if (!sl) {
|
|
124845
|
+
return {};
|
|
124846
|
+
}
|
|
124847
|
+
return resolveTemplateBackgroundRows(sl, this.loader.slideMasters(), this.translate.instant('pptx.master.layout'), this.translate.instant('pptx.master.master'));
|
|
124848
|
+
}, /* @ts-ignore */
|
|
124849
|
+
...(ngDevMode ? [{ debugName: "templateRows" }] : /* istanbul ignore next */ []));
|
|
124850
|
+
}
|
|
124851
|
+
templateBackgroundValue(path) {
|
|
124852
|
+
return normalizeHexColor$1(this.loader.getHandler()?.getTemplateBackgroundColor(path), '#ffffff');
|
|
124853
|
+
}
|
|
124854
|
+
onTemplateColorChange(path, event) {
|
|
124855
|
+
const backgroundColor = event.target.value;
|
|
124856
|
+
const handler = this.loader.getHandler();
|
|
124857
|
+
if (!handler) {
|
|
124858
|
+
return;
|
|
124859
|
+
}
|
|
124860
|
+
handler.setTemplateBackground(path, backgroundColor);
|
|
124861
|
+
this.loader.slideMasters.set(this.loader
|
|
124862
|
+
.slideMasters()
|
|
124863
|
+
.map((master) => (master.path === path ? { ...master, backgroundColor } : master)));
|
|
124864
|
+
this.editor.dirty.set(true);
|
|
124468
124865
|
}
|
|
124469
124866
|
onColorChange(event) {
|
|
124470
124867
|
this.patch({ backgroundColor: event.target.value });
|
|
@@ -124571,6 +124968,43 @@ class SlideBackgroundCardComponent {
|
|
|
124571
124968
|
}
|
|
124572
124969
|
</section>
|
|
124573
124970
|
}
|
|
124971
|
+
@if (editTemplateMode() && (templateRows().layout || templateRows().master)) {
|
|
124972
|
+
<section class="icard">
|
|
124973
|
+
<h3 class="icard__heading">
|
|
124974
|
+
{{ 'pptx.slideBackground.templateBackgroundsHeading' | translate }}
|
|
124975
|
+
</h3>
|
|
124976
|
+
@if (templateRows().layout; as row) {
|
|
124977
|
+
<label class="icard__row">
|
|
124978
|
+
<span class="icard__label" [title]="row.title">{{
|
|
124979
|
+
'pptx.master.layout' | translate
|
|
124980
|
+
}}</span>
|
|
124981
|
+
<input
|
|
124982
|
+
type="color"
|
|
124983
|
+
class="bg__color"
|
|
124984
|
+
[disabled]="!canEdit()"
|
|
124985
|
+
[value]="templateBackgroundValue(row.path)"
|
|
124986
|
+
(change)="onTemplateColorChange(row.path, $event)"
|
|
124987
|
+
/>
|
|
124988
|
+
<span class="icard__value">{{ row.label }}</span>
|
|
124989
|
+
</label>
|
|
124990
|
+
}
|
|
124991
|
+
@if (templateRows().master; as row) {
|
|
124992
|
+
<label class="icard__row">
|
|
124993
|
+
<span class="icard__label" [title]="row.title">{{
|
|
124994
|
+
'pptx.master.master' | translate
|
|
124995
|
+
}}</span>
|
|
124996
|
+
<input
|
|
124997
|
+
type="color"
|
|
124998
|
+
class="bg__color"
|
|
124999
|
+
[disabled]="!canEdit()"
|
|
125000
|
+
[value]="templateBackgroundValue(row.path)"
|
|
125001
|
+
(change)="onTemplateColorChange(row.path, $event)"
|
|
125002
|
+
/>
|
|
125003
|
+
<span class="icard__value">{{ row.label }}</span>
|
|
125004
|
+
</label>
|
|
125005
|
+
}
|
|
125006
|
+
</section>
|
|
125007
|
+
}
|
|
124574
125008
|
`, isInline: true, styles: [":host{display:block}.bg__color{width:32px;height:22px;padding:1px;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;background:transparent;cursor:pointer}.bg__file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bg__preview{position:relative}.bg__preview img{display:block;width:100%;height:64px;object-fit:cover;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px}.bg__remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));color:var(--pptx-inspector-danger, #d24d4d);line-height:1;cursor:pointer}\n", ".icard{border:1px solid var(--pptx-inspector-border, #333);border-radius:4px;background:var(--pptx-inspector-card-bg, rgba(0, 0, 0, .04));padding:8px;display:grid;gap:6px;font-size:11px}.icard__heading{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);margin:0}.icard__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.icard__col{display:flex;flex-direction:column;align-items:stretch;gap:3px}.icard__label{color:var(--pptx-inspector-muted, #888);flex-shrink:0}.icard__value{color:var(--pptx-inspector-muted, #888);text-align:right}.icard__input,.icard__select{box-sizing:border-box;min-width:0;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;padding:3px 5px;font-size:11px;font-family:inherit}.icard__input--number{width:62px;text-align:right}.icard__btn{flex:1;padding:3px 6px;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;font-size:11px;white-space:nowrap}.icard__btn:disabled{opacity:.5;cursor:default}.icard__btn--danger{flex:0 0 auto;color:var(--pptx-inspector-danger, #d24d4d)}.icard__grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
124575
125009
|
}
|
|
124576
125010
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SlideBackgroundCardComponent, decorators: [{
|
|
@@ -124647,6 +125081,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
124647
125081
|
}
|
|
124648
125082
|
</section>
|
|
124649
125083
|
}
|
|
125084
|
+
@if (editTemplateMode() && (templateRows().layout || templateRows().master)) {
|
|
125085
|
+
<section class="icard">
|
|
125086
|
+
<h3 class="icard__heading">
|
|
125087
|
+
{{ 'pptx.slideBackground.templateBackgroundsHeading' | translate }}
|
|
125088
|
+
</h3>
|
|
125089
|
+
@if (templateRows().layout; as row) {
|
|
125090
|
+
<label class="icard__row">
|
|
125091
|
+
<span class="icard__label" [title]="row.title">{{
|
|
125092
|
+
'pptx.master.layout' | translate
|
|
125093
|
+
}}</span>
|
|
125094
|
+
<input
|
|
125095
|
+
type="color"
|
|
125096
|
+
class="bg__color"
|
|
125097
|
+
[disabled]="!canEdit()"
|
|
125098
|
+
[value]="templateBackgroundValue(row.path)"
|
|
125099
|
+
(change)="onTemplateColorChange(row.path, $event)"
|
|
125100
|
+
/>
|
|
125101
|
+
<span class="icard__value">{{ row.label }}</span>
|
|
125102
|
+
</label>
|
|
125103
|
+
}
|
|
125104
|
+
@if (templateRows().master; as row) {
|
|
125105
|
+
<label class="icard__row">
|
|
125106
|
+
<span class="icard__label" [title]="row.title">{{
|
|
125107
|
+
'pptx.master.master' | translate
|
|
125108
|
+
}}</span>
|
|
125109
|
+
<input
|
|
125110
|
+
type="color"
|
|
125111
|
+
class="bg__color"
|
|
125112
|
+
[disabled]="!canEdit()"
|
|
125113
|
+
[value]="templateBackgroundValue(row.path)"
|
|
125114
|
+
(change)="onTemplateColorChange(row.path, $event)"
|
|
125115
|
+
/>
|
|
125116
|
+
<span class="icard__value">{{ row.label }}</span>
|
|
125117
|
+
</label>
|
|
125118
|
+
}
|
|
125119
|
+
</section>
|
|
125120
|
+
}
|
|
124650
125121
|
`, styles: [":host{display:block}.bg__color{width:32px;height:22px;padding:1px;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;background:transparent;cursor:pointer}.bg__file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bg__preview{position:relative}.bg__preview img{display:block;width:100%;height:64px;object-fit:cover;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px}.bg__remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:1px solid var(--pptx-inspector-border, #444);border-radius:3px;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));color:var(--pptx-inspector-danger, #d24d4d);line-height:1;cursor:pointer}\n", ".icard{border:1px solid var(--pptx-inspector-border, #333);border-radius:4px;background:var(--pptx-inspector-card-bg, rgba(0, 0, 0, .04));padding:8px;display:grid;gap:6px;font-size:11px}.icard__heading{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pptx-inspector-muted, #888);margin:0}.icard__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.icard__col{display:flex;flex-direction:column;align-items:stretch;gap:3px}.icard__label{color:var(--pptx-inspector-muted, #888);flex-shrink:0}.icard__value{color:var(--pptx-inspector-muted, #888);text-align:right}.icard__input,.icard__select{box-sizing:border-box;min-width:0;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;padding:3px 5px;font-size:11px;font-family:inherit}.icard__input--number{width:62px;text-align:right}.icard__btn{flex:1;padding:3px 6px;background:var(--pptx-inspector-input-bg, rgba(0, 0, 0, .06));border:1px solid var(--pptx-inspector-border, #444);color:inherit;border-radius:3px;cursor:pointer;font-size:11px;white-space:nowrap}.icard__btn:disabled{opacity:.5;cursor:default}.icard__btn--danger{flex:0 0 auto;color:var(--pptx-inspector-danger, #d24d4d)}.icard__grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}\n"] }]
|
|
124651
125122
|
}], propDecorators: { slideIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "slideIndex", required: true }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }] } });
|
|
124652
125123
|
|
|
@@ -124892,9 +125363,13 @@ const GRID_GAP = 16;
|
|
|
124892
125363
|
*
|
|
124893
125364
|
* Renders a fixed full-screen modal overlay containing a responsive grid of
|
|
124894
125365
|
* scaled slide previews. Clicking a thumbnail emits `select(index)`; pressing
|
|
124895
|
-
* Escape or clicking the ✕ button emits `closed`.
|
|
125366
|
+
* Escape or clicking the ✕ button emits `closed`. Right-clicking a thumbnail
|
|
125367
|
+
* (when `canEdit`) opens a small context menu (Duplicate / Hide-Show /
|
|
125368
|
+
* Delete), matching React's `SorterContextMenu` and Vue's `ContextMenu`
|
|
125369
|
+
* wiring: this overlay previously had no mouse path to any of the three, and
|
|
125370
|
+
* no path to hide/show at all (mouse or keyboard).
|
|
124896
125371
|
*
|
|
124897
|
-
* Viewer-first scope: no drag-reorder, no
|
|
125372
|
+
* Viewer-first scope: no drag-reorder, no section grouping.
|
|
124898
125373
|
*
|
|
124899
125374
|
* Usage:
|
|
124900
125375
|
* ```html
|
|
@@ -124933,6 +125408,8 @@ class SlideSorterOverlayComponent {
|
|
|
124933
125408
|
this.deleteSlide = output();
|
|
124934
125409
|
/** Duplicate the active slide (Ctrl/Cmd+D). */
|
|
124935
125410
|
this.duplicateSlide = output();
|
|
125411
|
+
/** Toggle the hidden flag on a slide (context-menu only, no keyboard chord). */
|
|
125412
|
+
this.toggleHiddenSlide = output();
|
|
124936
125413
|
// -------------------------------------------------------------------------
|
|
124937
125414
|
// Derived display values
|
|
124938
125415
|
// -------------------------------------------------------------------------
|
|
@@ -124953,6 +125430,12 @@ class SlideSorterOverlayComponent {
|
|
|
124953
125430
|
'grid-template-columns': `repeat(auto-fill, minmax(${THUMB_W$2 + GRID_GAP * 2 + 4}px, 1fr))`,
|
|
124954
125431
|
}), /* @ts-ignore */
|
|
124955
125432
|
...(ngDevMode ? [{ debugName: "gridStyle" }] : /* istanbul ignore next */ []));
|
|
125433
|
+
// -------------------------------------------------------------------------
|
|
125434
|
+
// Context menu (right-click a thumbnail)
|
|
125435
|
+
// -------------------------------------------------------------------------
|
|
125436
|
+
/** Open state + screen position of the context menu, or null when closed. */
|
|
125437
|
+
this.contextMenu = signal(null, /* @ts-ignore */
|
|
125438
|
+
...(ngDevMode ? [{ debugName: "contextMenu" }] : /* istanbul ignore next */ []));
|
|
124956
125439
|
/** Dictionary key for the word shown and announced on a hidden slide's cell. */
|
|
124957
125440
|
this.hiddenLabelKey = HIDDEN_SLIDE_LABEL_KEY;
|
|
124958
125441
|
/** Shared slash mark, bound inline so a stylesheet copy cannot drift. */
|
|
@@ -124971,6 +125454,9 @@ class SlideSorterOverlayComponent {
|
|
|
124971
125454
|
* being swallowed by a branch that would do nothing.
|
|
124972
125455
|
*/
|
|
124973
125456
|
onKeydown(event) {
|
|
125457
|
+
if (this.contextMenu()) {
|
|
125458
|
+
this.closeContextMenu();
|
|
125459
|
+
}
|
|
124974
125460
|
const { action } = mapSlideSorterKey(event, {
|
|
124975
125461
|
canEdit: this.canEdit(),
|
|
124976
125462
|
isTextInputTarget: isEditorTextInputTarget(event.target),
|
|
@@ -125001,6 +125487,50 @@ class SlideSorterOverlayComponent {
|
|
|
125001
125487
|
onThumbClick(index) {
|
|
125002
125488
|
this.select.emit(index);
|
|
125003
125489
|
}
|
|
125490
|
+
/**
|
|
125491
|
+
* Right-clicking a thumbnail opens the menu for THAT slide.
|
|
125492
|
+
*
|
|
125493
|
+
* Deliberately does not also emit `select`: the host's `select` handler
|
|
125494
|
+
* closes the whole overlay (it navigates the canvas and dismisses the
|
|
125495
|
+
* sorter), so doing that here would tear down the menu before a single
|
|
125496
|
+
* mouse action against it was reachable.
|
|
125497
|
+
*/
|
|
125498
|
+
onThumbContextMenu(event, index) {
|
|
125499
|
+
if (!this.canEdit()) {
|
|
125500
|
+
return;
|
|
125501
|
+
}
|
|
125502
|
+
event.preventDefault();
|
|
125503
|
+
this.contextMenu.set({ x: event.clientX, y: event.clientY, index });
|
|
125504
|
+
}
|
|
125505
|
+
closeContextMenu() {
|
|
125506
|
+
this.contextMenu.set(null);
|
|
125507
|
+
}
|
|
125508
|
+
/** Whether the context menu's target slide is currently hidden. */
|
|
125509
|
+
contextMenuTargetHidden() {
|
|
125510
|
+
const menu = this.contextMenu();
|
|
125511
|
+
return menu ? (this.slides()[menu.index]?.hidden ?? false) : false;
|
|
125512
|
+
}
|
|
125513
|
+
menuDuplicate() {
|
|
125514
|
+
const menu = this.contextMenu();
|
|
125515
|
+
if (menu) {
|
|
125516
|
+
this.duplicateSlide.emit(menu.index);
|
|
125517
|
+
}
|
|
125518
|
+
this.closeContextMenu();
|
|
125519
|
+
}
|
|
125520
|
+
menuToggleHidden() {
|
|
125521
|
+
const menu = this.contextMenu();
|
|
125522
|
+
if (menu) {
|
|
125523
|
+
this.toggleHiddenSlide.emit(menu.index);
|
|
125524
|
+
}
|
|
125525
|
+
this.closeContextMenu();
|
|
125526
|
+
}
|
|
125527
|
+
menuDelete() {
|
|
125528
|
+
const menu = this.contextMenu();
|
|
125529
|
+
if (menu) {
|
|
125530
|
+
this.deleteSlide.emit(menu.index);
|
|
125531
|
+
}
|
|
125532
|
+
this.closeContextMenu();
|
|
125533
|
+
}
|
|
125004
125534
|
// -------------------------------------------------------------------------
|
|
125005
125535
|
// Utilities
|
|
125006
125536
|
// -------------------------------------------------------------------------
|
|
@@ -125021,12 +125551,12 @@ class SlideSorterOverlayComponent {
|
|
|
125021
125551
|
return hiddenSlideCue(this.isHiddenSlide(slide), 'sorter', index);
|
|
125022
125552
|
}
|
|
125023
125553
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SlideSorterOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
125024
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SlideSorterOverlayComponent, isStandalone: true, selector: "pptx-slide-sorter-overlay", inputs: { slides: { classPropertyName: "slides", publicName: "slides", isSignal: true, isRequired: true, transformFunction: null }, canvasSize: { classPropertyName: "canvasSize", publicName: "canvasSize", isSignal: true, isRequired: true, transformFunction: null }, mediaDataUrls: { classPropertyName: "mediaDataUrls", publicName: "mediaDataUrls", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, canEdit: { classPropertyName: "canEdit", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select", closed: "closed", deleteSlide: "deleteSlide", duplicateSlide: "duplicateSlide" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, ngImport: i0, template: "<!-- Backdrop -->\n<div class=\"pptx-ng-sorter-backdrop\" (click)=\"onBackdropClick($event)\">\n\t<!-- Modal panel -->\n\t<div class=\"pptx-ng-sorter-panel\" (click)=\"$event.stopPropagation()\">\n\t\t<!-- Header -->\n\t\t<header class=\"pptx-ng-sorter-header\">\n\t\t\t<h2 class=\"pptx-ng-sorter-title\">{{ 'pptx.slideSorter.title' | translate }}</h2>\n\t\t\t<span class=\"pptx-ng-sorter-count\">{{\n\t\t\t\t'pptx.slideSorter.slideCount' | translate: { count: slides().length }\n\t\t\t}}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"pptx-ng-sorter-close\"\n\t\t\t\t[attr.aria-label]=\"'pptx.slideSorter.close' | translate\"\n\t\t\t\t(click)=\"closed.emit()\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</header>\n\n\t\t<!-- Scrollable grid -->\n\t\t<div class=\"pptx-ng-sorter-grid-scroll\">\n\t\t\t<div class=\"pptx-ng-sorter-grid\" [ngStyle]=\"gridStyle()\">\n\t\t\t\t@for (slide of slides(); track slide.id; let i = $index) {\n\t\t\t\t\t@let hidden = hiddenCue(slide, i);\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"pptx-ng-sorter-cell\"\n\t\t\t\t\t\t[class.is-active]=\"i === activeIndex()\"\n\t\t\t\t\t\t[class.is-hidden]=\"hidden.hidden\"\n\t\t\t\t\t\t[attr.data-pptx-slide-hidden]=\"hidden.marker ?? null\"\n\t\t\t\t\t\t[attr.aria-label]=\"'pptx.notes.slideN' | translate: { n: i + 1 }\"\n\t\t\t\t\t\t[attr.aria-describedby]=\"hidden.labelId ?? null\"\n\t\t\t\t\t\t[attr.aria-current]=\"i === activeIndex() ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"onThumbClick(i)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<!-- Thumbnail clipping wrapper -->\n\t\t\t\t\t\t<div class=\"pptx-ng-sorter-thumb-clip\" [ngStyle]=\"clipStyle()\">\n\t\t\t\t\t\t\t<pptx-slide-canvas\n\t\t\t\t\t\t\t\t[slide]=\"slide\"\n\t\t\t\t\t\t\t\t[canvasSize]=\"canvasSize()\"\n\t\t\t\t\t\t\t\t[mediaDataUrls]=\"mediaDataUrls()\"\n\t\t\t\t\t\t\t\t[zoom]=\"thumbZoom()\"\n\t\t\t\t\t\t\t\t[autoFit]=\"false\"\n\t\t\t\t\t\t\t\t[interactive]=\"false\"\n\t\t\t\t\t\t\t\t[exposeElementIds]=\"false\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Slide number badge, struck through with the shared diagonal\n\t\t\t\t\t\t slash when hidden (PowerPoint's own cue). -->\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"pptx-ng-sorter-index\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t[style.background-image]=\"hidden.hidden ? slashGradient : null\"\n\t\t\t\t\t\t\t>{{ i + 1 }}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t@if (hidden.hidden) {\n\t\t\t\t\t\t\t<span class=\"pptx-ng-sorter-hidden\" [id]=\"hidden.labelId\">{{\n\t\t\t\t\t\t\t\thiddenLabelKey | translate\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n", styles: [":host{display:contents}.pptx-ng-sorter-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pptx-ng-sorter-panel{display:flex;flex-direction:column;width:min(96vw,1200px);max-height:90vh;border-radius:.5rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 24px 64px #0009;overflow:hidden}.pptx-ng-sorter-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.pptx-ng-sorter-title{margin:0;font-size:.875rem;font-weight:500}.pptx-ng-sorter-count{font-size:.75rem;color:#ffffff80;flex:1}.pptx-ng-sorter-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:#e5e5e5;cursor:pointer;transition:background .15s;flex-shrink:0;touch-action:manipulation}.pptx-ng-sorter-close:hover{background:#fff3}.pptx-ng-sorter-grid-scroll{flex:1;overflow-y:auto;padding:1.25rem}.pptx-ng-sorter-grid{display:grid;gap:1rem}.pptx-ng-sorter-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border:2px solid transparent;border-radius:.375rem;background:transparent;cursor:pointer;transition:border-color .15s,background .15s;color:inherit}.pptx-ng-sorter-cell:hover{background:#ffffff0f;border-color:#fff3}.pptx-ng-sorter-cell.is-active{border-color:#3b82f6;background:#3b82f61a}.pptx-ng-sorter-cell.is-hidden{opacity:.4}.pptx-ng-sorter-thumb-clip{overflow:hidden;border-radius:2px}.pptx-ng-sorter-thumb-clip ::ng-deep .pptx-ng-canvas-wrapper{margin:0!important}.pptx-ng-sorter-index{display:inline-block;padding:0 .2rem;font-size:.6875rem;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-hidden{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SlideCanvasComponent, selector: "pptx-slide-canvas", inputs: ["slide", "canvasSize", "mediaDataUrls", "zoom", "editable", "showGrid", "showRulers", "rulerUnit", "showGuides", "snapToGrid", "snapToShape", "guideCommand", "spellCheck", "snapToGuides", "autoFit", "transparentBackground", "interactive", "exposeElementIds", "presenting", "selectedIds", "editingId", "editTemplateMode", "templateElements", "aiHighlights", "aiActive", "aiActiveSlideIndex", "aiChangeBatch", "aiPickMode", "drawTool", "drawColor", "drawWidth"], outputs: ["elementSelect", "backgroundClick", "transformStart", "transformUpdate", "transformEnd", "adjustUpdate", "connectorEndpointUpdate", "contextMenu", "textEditStart", "textCommit", "textInput", "textCancel", "textFormat", "rotateUpdate", "marqueeSelect", "inkStrokeComplete", "eraserHit", "cellCommit", "tableChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
125554
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: SlideSorterOverlayComponent, isStandalone: true, selector: "pptx-slide-sorter-overlay", inputs: { slides: { classPropertyName: "slides", publicName: "slides", isSignal: true, isRequired: true, transformFunction: null }, canvasSize: { classPropertyName: "canvasSize", publicName: "canvasSize", isSignal: true, isRequired: true, transformFunction: null }, mediaDataUrls: { classPropertyName: "mediaDataUrls", publicName: "mediaDataUrls", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, canEdit: { classPropertyName: "canEdit", publicName: "canEdit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { select: "select", closed: "closed", deleteSlide: "deleteSlide", duplicateSlide: "duplicateSlide", toggleHiddenSlide: "toggleHiddenSlide" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, ngImport: i0, template: "<!-- Backdrop -->\n<div class=\"pptx-ng-sorter-backdrop\" (click)=\"onBackdropClick($event)\">\n\t<!-- Modal panel -->\n\t<div class=\"pptx-ng-sorter-panel\" (click)=\"$event.stopPropagation()\">\n\t\t<!-- Header -->\n\t\t<header class=\"pptx-ng-sorter-header\">\n\t\t\t<h2 class=\"pptx-ng-sorter-title\">{{ 'pptx.slideSorter.title' | translate }}</h2>\n\t\t\t<span class=\"pptx-ng-sorter-count\">{{\n\t\t\t\t'pptx.slideSorter.slideCount' | translate: { count: slides().length }\n\t\t\t}}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"pptx-ng-sorter-close\"\n\t\t\t\t[attr.aria-label]=\"'pptx.slideSorter.close' | translate\"\n\t\t\t\t(click)=\"closed.emit()\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</header>\n\n\t\t<!-- Scrollable grid -->\n\t\t<div class=\"pptx-ng-sorter-grid-scroll\">\n\t\t\t<div class=\"pptx-ng-sorter-grid\" [ngStyle]=\"gridStyle()\">\n\t\t\t\t@for (slide of slides(); track slide.id; let i = $index) {\n\t\t\t\t\t@let hidden = hiddenCue(slide, i);\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"pptx-ng-sorter-cell\"\n\t\t\t\t\t\t[class.is-active]=\"i === activeIndex()\"\n\t\t\t\t\t\t[class.is-hidden]=\"hidden.hidden\"\n\t\t\t\t\t\t[attr.data-pptx-slide-hidden]=\"hidden.marker ?? null\"\n\t\t\t\t\t\t[attr.aria-label]=\"'pptx.notes.slideN' | translate: { n: i + 1 }\"\n\t\t\t\t\t\t[attr.aria-describedby]=\"hidden.labelId ?? null\"\n\t\t\t\t\t\t[attr.aria-current]=\"i === activeIndex() ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"onThumbClick(i)\"\n\t\t\t\t\t\t(contextmenu)=\"onThumbContextMenu($event, i)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<!-- Thumbnail clipping wrapper -->\n\t\t\t\t\t\t<div class=\"pptx-ng-sorter-thumb-clip\" [ngStyle]=\"clipStyle()\">\n\t\t\t\t\t\t\t<pptx-slide-canvas\n\t\t\t\t\t\t\t\t[slide]=\"slide\"\n\t\t\t\t\t\t\t\t[canvasSize]=\"canvasSize()\"\n\t\t\t\t\t\t\t\t[mediaDataUrls]=\"mediaDataUrls()\"\n\t\t\t\t\t\t\t\t[zoom]=\"thumbZoom()\"\n\t\t\t\t\t\t\t\t[autoFit]=\"false\"\n\t\t\t\t\t\t\t\t[interactive]=\"false\"\n\t\t\t\t\t\t\t\t[exposeElementIds]=\"false\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Slide number badge, struck through with the shared diagonal\n\t\t\t\t\t\t slash when hidden (PowerPoint's own cue). -->\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"pptx-ng-sorter-index\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t[style.background-image]=\"hidden.hidden ? slashGradient : null\"\n\t\t\t\t\t\t\t>{{ i + 1 }}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t@if (hidden.hidden) {\n\t\t\t\t\t\t\t<span class=\"pptx-ng-sorter-hidden\" [id]=\"hidden.labelId\">{{\n\t\t\t\t\t\t\t\thiddenLabelKey | translate\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t@if (contextMenu(); as menu) {\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"pptx-ng-sorter-menu-backdrop\"\n\t\t\t[attr.aria-label]=\"'pptx.overflow.closeMenu' | translate\"\n\t\t\t(click)=\"closeContextMenu()\"\n\t\t\t(contextmenu)=\"$event.preventDefault(); closeContextMenu()\"\n\t\t></button>\n\t\t<div\n\t\t\tclass=\"pptx-ng-sorter-context-menu\"\n\t\t\t[style.left.px]=\"menu.x\"\n\t\t\t[style.top.px]=\"menu.y\"\n\t\t\trole=\"menu\"\n\t\t>\n\t\t\t<button type=\"button\" role=\"menuitem\" (click)=\"menuDuplicate()\">\n\t\t\t\t{{ 'pptx.slideMenu.duplicate' | translate }}\n\t\t\t</button>\n\t\t\t<button type=\"button\" role=\"menuitem\" (click)=\"menuToggleHidden()\">\n\t\t\t\t{{\n\t\t\t\t\t(contextMenuTargetHidden() ? 'pptx.slideMenu.show' : 'pptx.slideMenu.hide') | translate\n\t\t\t\t}}\n\t\t\t</button>\n\t\t\t<div class=\"pptx-ng-sorter-context-menu-sep\"></div>\n\t\t\t<button type=\"button\" role=\"menuitem\" class=\"is-danger\" (click)=\"menuDelete()\">\n\t\t\t\t{{ 'pptx.slideMenu.delete' | translate }}\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: [":host{display:contents}.pptx-ng-sorter-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pptx-ng-sorter-panel{display:flex;flex-direction:column;width:min(96vw,1200px);max-height:90vh;border-radius:.5rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 24px 64px #0009;overflow:hidden}.pptx-ng-sorter-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.pptx-ng-sorter-title{margin:0;font-size:.875rem;font-weight:500}.pptx-ng-sorter-count{font-size:.75rem;color:#ffffff80;flex:1}.pptx-ng-sorter-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:#e5e5e5;cursor:pointer;transition:background .15s;flex-shrink:0;touch-action:manipulation}.pptx-ng-sorter-close:hover{background:#fff3}.pptx-ng-sorter-grid-scroll{flex:1;overflow-y:auto;padding:1.25rem}.pptx-ng-sorter-grid{display:grid;gap:1rem}.pptx-ng-sorter-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border:2px solid transparent;border-radius:.375rem;background:transparent;cursor:pointer;transition:border-color .15s,background .15s;color:inherit}.pptx-ng-sorter-cell:hover{background:#ffffff0f;border-color:#fff3}.pptx-ng-sorter-cell.is-active{border-color:#3b82f6;background:#3b82f61a}.pptx-ng-sorter-cell.is-hidden{opacity:.4}.pptx-ng-sorter-thumb-clip{overflow:hidden;border-radius:2px}.pptx-ng-sorter-thumb-clip ::ng-deep .pptx-ng-canvas-wrapper{margin:0!important}.pptx-ng-sorter-index{display:inline-block;padding:0 .2rem;font-size:.6875rem;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-hidden{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-menu-backdrop{position:fixed;inset:0;z-index:59;border:none;padding:0;background:transparent;cursor:default}.pptx-ng-sorter-context-menu{position:fixed;z-index:60;min-width:160px;padding:.25rem;border:1px solid rgba(255,255,255,.12);border-radius:.375rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 8px 24px #00000080}.pptx-ng-sorter-context-menu button{display:block;width:100%;padding:.375rem .625rem;border:none;border-radius:.25rem;background:transparent;color:inherit;text-align:left;font-size:.75rem;cursor:pointer}.pptx-ng-sorter-context-menu button:hover{background:#ffffff14}.pptx-ng-sorter-context-menu button.is-danger{color:#f87171}.pptx-ng-sorter-context-menu-sep{margin:.25rem .125rem;border-top:1px solid rgba(255,255,255,.12)}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SlideCanvasComponent, selector: "pptx-slide-canvas", inputs: ["slide", "canvasSize", "mediaDataUrls", "zoom", "editable", "showGrid", "showRulers", "rulerUnit", "showGuides", "snapToGrid", "snapToShape", "guideCommand", "spellCheck", "snapToGuides", "autoFit", "transparentBackground", "interactive", "exposeElementIds", "presenting", "selectedIds", "editingId", "editTemplateMode", "templateElements", "aiHighlights", "aiActive", "aiActiveSlideIndex", "aiChangeBatch", "aiPickMode", "drawTool", "drawColor", "drawWidth"], outputs: ["elementSelect", "backgroundClick", "transformStart", "transformUpdate", "transformEnd", "adjustUpdate", "connectorEndpointUpdate", "contextMenu", "textEditStart", "textCommit", "textInput", "textCancel", "textFormat", "rotateUpdate", "marqueeSelect", "inkStrokeComplete", "eraserHit", "cellCommit", "tableChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
125025
125555
|
}
|
|
125026
125556
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SlideSorterOverlayComponent, decorators: [{
|
|
125027
125557
|
type: Component,
|
|
125028
|
-
args: [{ selector: 'pptx-slide-sorter-overlay', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgStyle, SlideCanvasComponent, TranslatePipe], template: "<!-- Backdrop -->\n<div class=\"pptx-ng-sorter-backdrop\" (click)=\"onBackdropClick($event)\">\n\t<!-- Modal panel -->\n\t<div class=\"pptx-ng-sorter-panel\" (click)=\"$event.stopPropagation()\">\n\t\t<!-- Header -->\n\t\t<header class=\"pptx-ng-sorter-header\">\n\t\t\t<h2 class=\"pptx-ng-sorter-title\">{{ 'pptx.slideSorter.title' | translate }}</h2>\n\t\t\t<span class=\"pptx-ng-sorter-count\">{{\n\t\t\t\t'pptx.slideSorter.slideCount' | translate: { count: slides().length }\n\t\t\t}}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"pptx-ng-sorter-close\"\n\t\t\t\t[attr.aria-label]=\"'pptx.slideSorter.close' | translate\"\n\t\t\t\t(click)=\"closed.emit()\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</header>\n\n\t\t<!-- Scrollable grid -->\n\t\t<div class=\"pptx-ng-sorter-grid-scroll\">\n\t\t\t<div class=\"pptx-ng-sorter-grid\" [ngStyle]=\"gridStyle()\">\n\t\t\t\t@for (slide of slides(); track slide.id; let i = $index) {\n\t\t\t\t\t@let hidden = hiddenCue(slide, i);\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"pptx-ng-sorter-cell\"\n\t\t\t\t\t\t[class.is-active]=\"i === activeIndex()\"\n\t\t\t\t\t\t[class.is-hidden]=\"hidden.hidden\"\n\t\t\t\t\t\t[attr.data-pptx-slide-hidden]=\"hidden.marker ?? null\"\n\t\t\t\t\t\t[attr.aria-label]=\"'pptx.notes.slideN' | translate: { n: i + 1 }\"\n\t\t\t\t\t\t[attr.aria-describedby]=\"hidden.labelId ?? null\"\n\t\t\t\t\t\t[attr.aria-current]=\"i === activeIndex() ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"onThumbClick(i)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<!-- Thumbnail clipping wrapper -->\n\t\t\t\t\t\t<div class=\"pptx-ng-sorter-thumb-clip\" [ngStyle]=\"clipStyle()\">\n\t\t\t\t\t\t\t<pptx-slide-canvas\n\t\t\t\t\t\t\t\t[slide]=\"slide\"\n\t\t\t\t\t\t\t\t[canvasSize]=\"canvasSize()\"\n\t\t\t\t\t\t\t\t[mediaDataUrls]=\"mediaDataUrls()\"\n\t\t\t\t\t\t\t\t[zoom]=\"thumbZoom()\"\n\t\t\t\t\t\t\t\t[autoFit]=\"false\"\n\t\t\t\t\t\t\t\t[interactive]=\"false\"\n\t\t\t\t\t\t\t\t[exposeElementIds]=\"false\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Slide number badge, struck through with the shared diagonal\n\t\t\t\t\t\t slash when hidden (PowerPoint's own cue). -->\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"pptx-ng-sorter-index\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t[style.background-image]=\"hidden.hidden ? slashGradient : null\"\n\t\t\t\t\t\t\t>{{ i + 1 }}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t@if (hidden.hidden) {\n\t\t\t\t\t\t\t<span class=\"pptx-ng-sorter-hidden\" [id]=\"hidden.labelId\">{{\n\t\t\t\t\t\t\t\thiddenLabelKey | translate\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n", styles: [":host{display:contents}.pptx-ng-sorter-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pptx-ng-sorter-panel{display:flex;flex-direction:column;width:min(96vw,1200px);max-height:90vh;border-radius:.5rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 24px 64px #0009;overflow:hidden}.pptx-ng-sorter-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.pptx-ng-sorter-title{margin:0;font-size:.875rem;font-weight:500}.pptx-ng-sorter-count{font-size:.75rem;color:#ffffff80;flex:1}.pptx-ng-sorter-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:#e5e5e5;cursor:pointer;transition:background .15s;flex-shrink:0;touch-action:manipulation}.pptx-ng-sorter-close:hover{background:#fff3}.pptx-ng-sorter-grid-scroll{flex:1;overflow-y:auto;padding:1.25rem}.pptx-ng-sorter-grid{display:grid;gap:1rem}.pptx-ng-sorter-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border:2px solid transparent;border-radius:.375rem;background:transparent;cursor:pointer;transition:border-color .15s,background .15s;color:inherit}.pptx-ng-sorter-cell:hover{background:#ffffff0f;border-color:#fff3}.pptx-ng-sorter-cell.is-active{border-color:#3b82f6;background:#3b82f61a}.pptx-ng-sorter-cell.is-hidden{opacity:.4}.pptx-ng-sorter-thumb-clip{overflow:hidden;border-radius:2px}.pptx-ng-sorter-thumb-clip ::ng-deep .pptx-ng-canvas-wrapper{margin:0!important}.pptx-ng-sorter-index{display:inline-block;padding:0 .2rem;font-size:.6875rem;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-hidden{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c;-webkit-user-select:none;user-select:none}\n"] }]
|
|
125029
|
-
}], propDecorators: { slides: [{ type: i0.Input, args: [{ isSignal: true, alias: "slides", required: true }] }], canvasSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "canvasSize", required: true }] }], mediaDataUrls: [{ type: i0.Input, args: [{ isSignal: true, alias: "mediaDataUrls", required: false }] }], activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], select: [{ type: i0.Output, args: ["select"] }], closed: [{ type: i0.Output, args: ["closed"] }], deleteSlide: [{ type: i0.Output, args: ["deleteSlide"] }], duplicateSlide: [{ type: i0.Output, args: ["duplicateSlide"] }], onKeydown: [{
|
|
125558
|
+
args: [{ selector: 'pptx-slide-sorter-overlay', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgStyle, SlideCanvasComponent, TranslatePipe], template: "<!-- Backdrop -->\n<div class=\"pptx-ng-sorter-backdrop\" (click)=\"onBackdropClick($event)\">\n\t<!-- Modal panel -->\n\t<div class=\"pptx-ng-sorter-panel\" (click)=\"$event.stopPropagation()\">\n\t\t<!-- Header -->\n\t\t<header class=\"pptx-ng-sorter-header\">\n\t\t\t<h2 class=\"pptx-ng-sorter-title\">{{ 'pptx.slideSorter.title' | translate }}</h2>\n\t\t\t<span class=\"pptx-ng-sorter-count\">{{\n\t\t\t\t'pptx.slideSorter.slideCount' | translate: { count: slides().length }\n\t\t\t}}</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"pptx-ng-sorter-close\"\n\t\t\t\t[attr.aria-label]=\"'pptx.slideSorter.close' | translate\"\n\t\t\t\t(click)=\"closed.emit()\"\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\twidth=\"16\"\n\t\t\t\t\theight=\"16\"\n\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n\t\t\t\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</header>\n\n\t\t<!-- Scrollable grid -->\n\t\t<div class=\"pptx-ng-sorter-grid-scroll\">\n\t\t\t<div class=\"pptx-ng-sorter-grid\" [ngStyle]=\"gridStyle()\">\n\t\t\t\t@for (slide of slides(); track slide.id; let i = $index) {\n\t\t\t\t\t@let hidden = hiddenCue(slide, i);\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"pptx-ng-sorter-cell\"\n\t\t\t\t\t\t[class.is-active]=\"i === activeIndex()\"\n\t\t\t\t\t\t[class.is-hidden]=\"hidden.hidden\"\n\t\t\t\t\t\t[attr.data-pptx-slide-hidden]=\"hidden.marker ?? null\"\n\t\t\t\t\t\t[attr.aria-label]=\"'pptx.notes.slideN' | translate: { n: i + 1 }\"\n\t\t\t\t\t\t[attr.aria-describedby]=\"hidden.labelId ?? null\"\n\t\t\t\t\t\t[attr.aria-current]=\"i === activeIndex() ? 'true' : null\"\n\t\t\t\t\t\t(click)=\"onThumbClick(i)\"\n\t\t\t\t\t\t(contextmenu)=\"onThumbContextMenu($event, i)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<!-- Thumbnail clipping wrapper -->\n\t\t\t\t\t\t<div class=\"pptx-ng-sorter-thumb-clip\" [ngStyle]=\"clipStyle()\">\n\t\t\t\t\t\t\t<pptx-slide-canvas\n\t\t\t\t\t\t\t\t[slide]=\"slide\"\n\t\t\t\t\t\t\t\t[canvasSize]=\"canvasSize()\"\n\t\t\t\t\t\t\t\t[mediaDataUrls]=\"mediaDataUrls()\"\n\t\t\t\t\t\t\t\t[zoom]=\"thumbZoom()\"\n\t\t\t\t\t\t\t\t[autoFit]=\"false\"\n\t\t\t\t\t\t\t\t[interactive]=\"false\"\n\t\t\t\t\t\t\t\t[exposeElementIds]=\"false\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Slide number badge, struck through with the shared diagonal\n\t\t\t\t\t\t slash when hidden (PowerPoint's own cue). -->\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"pptx-ng-sorter-index\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t[style.background-image]=\"hidden.hidden ? slashGradient : null\"\n\t\t\t\t\t\t\t>{{ i + 1 }}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t\t@if (hidden.hidden) {\n\t\t\t\t\t\t\t<span class=\"pptx-ng-sorter-hidden\" [id]=\"hidden.labelId\">{{\n\t\t\t\t\t\t\t\thiddenLabelKey | translate\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t@if (contextMenu(); as menu) {\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"pptx-ng-sorter-menu-backdrop\"\n\t\t\t[attr.aria-label]=\"'pptx.overflow.closeMenu' | translate\"\n\t\t\t(click)=\"closeContextMenu()\"\n\t\t\t(contextmenu)=\"$event.preventDefault(); closeContextMenu()\"\n\t\t></button>\n\t\t<div\n\t\t\tclass=\"pptx-ng-sorter-context-menu\"\n\t\t\t[style.left.px]=\"menu.x\"\n\t\t\t[style.top.px]=\"menu.y\"\n\t\t\trole=\"menu\"\n\t\t>\n\t\t\t<button type=\"button\" role=\"menuitem\" (click)=\"menuDuplicate()\">\n\t\t\t\t{{ 'pptx.slideMenu.duplicate' | translate }}\n\t\t\t</button>\n\t\t\t<button type=\"button\" role=\"menuitem\" (click)=\"menuToggleHidden()\">\n\t\t\t\t{{\n\t\t\t\t\t(contextMenuTargetHidden() ? 'pptx.slideMenu.show' : 'pptx.slideMenu.hide') | translate\n\t\t\t\t}}\n\t\t\t</button>\n\t\t\t<div class=\"pptx-ng-sorter-context-menu-sep\"></div>\n\t\t\t<button type=\"button\" role=\"menuitem\" class=\"is-danger\" (click)=\"menuDelete()\">\n\t\t\t\t{{ 'pptx.slideMenu.delete' | translate }}\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: [":host{display:contents}.pptx-ng-sorter-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pptx-ng-sorter-panel{display:flex;flex-direction:column;width:min(96vw,1200px);max-height:90vh;border-radius:.5rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 24px 64px #0009;overflow:hidden}.pptx-ng-sorter-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.pptx-ng-sorter-title{margin:0;font-size:.875rem;font-weight:500}.pptx-ng-sorter-count{font-size:.75rem;color:#ffffff80;flex:1}.pptx-ng-sorter-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:#e5e5e5;cursor:pointer;transition:background .15s;flex-shrink:0;touch-action:manipulation}.pptx-ng-sorter-close:hover{background:#fff3}.pptx-ng-sorter-grid-scroll{flex:1;overflow-y:auto;padding:1.25rem}.pptx-ng-sorter-grid{display:grid;gap:1rem}.pptx-ng-sorter-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;border:2px solid transparent;border-radius:.375rem;background:transparent;cursor:pointer;transition:border-color .15s,background .15s;color:inherit}.pptx-ng-sorter-cell:hover{background:#ffffff0f;border-color:#fff3}.pptx-ng-sorter-cell.is-active{border-color:#3b82f6;background:#3b82f61a}.pptx-ng-sorter-cell.is-hidden{opacity:.4}.pptx-ng-sorter-thumb-clip{overflow:hidden;border-radius:2px}.pptx-ng-sorter-thumb-clip ::ng-deep .pptx-ng-canvas-wrapper{margin:0!important}.pptx-ng-sorter-index{display:inline-block;padding:0 .2rem;font-size:.6875rem;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-hidden{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c;-webkit-user-select:none;user-select:none}.pptx-ng-sorter-menu-backdrop{position:fixed;inset:0;z-index:59;border:none;padding:0;background:transparent;cursor:default}.pptx-ng-sorter-context-menu{position:fixed;z-index:60;min-width:160px;padding:.25rem;border:1px solid rgba(255,255,255,.12);border-radius:.375rem;background:#1a1a1a;color:#e5e5e5;box-shadow:0 8px 24px #00000080}.pptx-ng-sorter-context-menu button{display:block;width:100%;padding:.375rem .625rem;border:none;border-radius:.25rem;background:transparent;color:inherit;text-align:left;font-size:.75rem;cursor:pointer}.pptx-ng-sorter-context-menu button:hover{background:#ffffff14}.pptx-ng-sorter-context-menu button.is-danger{color:#f87171}.pptx-ng-sorter-context-menu-sep{margin:.25rem .125rem;border-top:1px solid rgba(255,255,255,.12)}\n"] }]
|
|
125559
|
+
}], propDecorators: { slides: [{ type: i0.Input, args: [{ isSignal: true, alias: "slides", required: true }] }], canvasSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "canvasSize", required: true }] }], mediaDataUrls: [{ type: i0.Input, args: [{ isSignal: true, alias: "mediaDataUrls", required: false }] }], activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], select: [{ type: i0.Output, args: ["select"] }], closed: [{ type: i0.Output, args: ["closed"] }], deleteSlide: [{ type: i0.Output, args: ["deleteSlide"] }], duplicateSlide: [{ type: i0.Output, args: ["duplicateSlide"] }], toggleHiddenSlide: [{ type: i0.Output, args: ["toggleHiddenSlide"] }], onKeydown: [{
|
|
125030
125560
|
type: HostListener,
|
|
125031
125561
|
args: ['document:keydown', ['$event']]
|
|
125032
125562
|
}] } });
|
|
@@ -128423,24 +128953,18 @@ class HeaderFooterDialogComponent {
|
|
|
128423
128953
|
...(ngDevMode ? [{ debugName: "draft" }] : /* istanbul ignore next */ []));
|
|
128424
128954
|
effect(() => {
|
|
128425
128955
|
if (this.open()) {
|
|
128426
|
-
this.draft.set(
|
|
128956
|
+
this.draft.set(cloneHeaderFooterDraft(this.value()));
|
|
128427
128957
|
}
|
|
128428
128958
|
});
|
|
128429
128959
|
}
|
|
128430
128960
|
setFlag(key, event) {
|
|
128431
|
-
this.draft.update((value) => ({
|
|
128432
|
-
...value,
|
|
128433
|
-
[key]: event.target.checked,
|
|
128434
|
-
}));
|
|
128961
|
+
this.draft.update((value) => patchHeaderFooterDraft(value, { [key]: event.target.checked }));
|
|
128435
128962
|
}
|
|
128436
128963
|
setText(key, event) {
|
|
128437
|
-
this.draft.update((value) => ({
|
|
128438
|
-
...value,
|
|
128439
|
-
[key]: event.target.value,
|
|
128440
|
-
}));
|
|
128964
|
+
this.draft.update((value) => patchHeaderFooterDraft(value, { [key]: event.target.value }));
|
|
128441
128965
|
}
|
|
128442
128966
|
apply() {
|
|
128443
|
-
this.save.emit(
|
|
128967
|
+
this.save.emit(cloneHeaderFooterDraft(this.draft()));
|
|
128444
128968
|
this.close.emit();
|
|
128445
128969
|
}
|
|
128446
128970
|
closeFromBackdrop(event) {
|
|
@@ -134130,6 +134654,10 @@ class PowerPointViewerComponent {
|
|
|
134130
134654
|
(comments)="inspectorPanel.togglePanel('comments')"
|
|
134131
134655
|
(signatures)="inspectorPanel.togglePanel('signatures')"
|
|
134132
134656
|
(a11y)="inspectorPanel.togglePanel('accessibility')"
|
|
134657
|
+
(shortcuts)="dialogs.showShortcuts.set(true)"
|
|
134658
|
+
(versionHistory)="dialogs.showVersionHistory.set(true)"
|
|
134659
|
+
(passwordProtection)="dialogs.showPassword.set(true)"
|
|
134660
|
+
(fontEmbedding)="dialogs.showFontEmbedding.set(true)"
|
|
134133
134661
|
(link)="docProperties.showHyperlink.set(true)"
|
|
134134
134662
|
(openSorter)="showSorter.set(true)"
|
|
134135
134663
|
(openReadingView)="showReadingView.set(true)"
|
|
@@ -134539,7 +135067,7 @@ class PowerPointViewerComponent {
|
|
|
134539
135067
|
|
|
134540
135068
|
@if (showSorter()) {
|
|
134541
135069
|
<pptx-slide-sorter-overlay
|
|
134542
|
-
[slides]="
|
|
135070
|
+
[slides]="[...displaySlides()]"
|
|
134543
135071
|
[canvasSize]="loader.canvasSize()"
|
|
134544
135072
|
[mediaDataUrls]="loader.mediaDataUrls()"
|
|
134545
135073
|
[activeIndex]="activeSlideIndex()"
|
|
@@ -134548,6 +135076,7 @@ class PowerPointViewerComponent {
|
|
|
134548
135076
|
(closed)="showSorter.set(false)"
|
|
134549
135077
|
(deleteSlide)="editor.deleteSlide($event)"
|
|
134550
135078
|
(duplicateSlide)="editor.duplicateSlide($event)"
|
|
135079
|
+
(toggleHiddenSlide)="toggleHideSlides([$event])"
|
|
134551
135080
|
/>
|
|
134552
135081
|
}
|
|
134553
135082
|
|
|
@@ -134907,7 +135436,7 @@ class PowerPointViewerComponent {
|
|
|
134907
135436
|
/>
|
|
134908
135437
|
}
|
|
134909
135438
|
</div>
|
|
134910
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SlideCanvasComponent, selector: "pptx-slide-canvas", inputs: ["slide", "canvasSize", "mediaDataUrls", "zoom", "editable", "showGrid", "showRulers", "rulerUnit", "showGuides", "snapToGrid", "snapToShape", "guideCommand", "spellCheck", "snapToGuides", "autoFit", "transparentBackground", "interactive", "exposeElementIds", "presenting", "selectedIds", "editingId", "editTemplateMode", "templateElements", "aiHighlights", "aiActive", "aiActiveSlideIndex", "aiChangeBatch", "aiPickMode", "drawTool", "drawColor", "drawWidth"], outputs: ["elementSelect", "backgroundClick", "transformStart", "transformUpdate", "transformEnd", "adjustUpdate", "connectorEndpointUpdate", "contextMenu", "textEditStart", "textCommit", "textInput", "textCancel", "textFormat", "rotateUpdate", "marqueeSelect", "inkStrokeComplete", "eraserHit", "cellCommit", "tableChange"] }, { kind: "component", type: PresentationOverlayComponent, selector: "pptx-presentation-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "startIndex", "activeCustomShow", "showWithAnimation", "useTimings", "subtitlesVisible", "sessionEnded", "endWithBlackSlide", "presenterMode"], outputs: ["indexChange", "closed", "subtitlesChange", "presenterViewToggle", "annotationsExit"] }, { kind: "component", type: PresenterViewComponent, selector: "pptx-presenter-view", inputs: ["slides", "currentSlideIndex", "activeCustomShow", "canvasSize", "templateElements", "mediaDataUrls", "presentationStartTime", "isAudienceWindowOpen"], outputs: ["movePresentationSlide", "exit", "openAudienceWindow", "closeAudienceWindow", "navigateToSlide"] }, { kind: "component", type: MobilePresenterViewComponent, selector: "pptx-mobile-presenter-view", inputs: ["slides", "currentSlideIndex", "activeCustomShow", "canvasSize", "templateElements", "mediaDataUrls", "presentationStartTime"], outputs: ["movePresentationSlide", "exit"] }, { kind: "component", type: SlideSorterOverlayComponent, selector: "pptx-slide-sorter-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "activeIndex", "canEdit"], outputs: ["select", "closed", "deleteSlide", "duplicateSlide"] }, { kind: "component", type: OutlineViewOverlayComponent, selector: "pptx-outline-view-overlay", inputs: ["slides", "canvasSize", "canEdit"], outputs: ["commit", "closed"] }, { kind: "component", type: ReadingViewOverlayComponent, selector: "pptx-reading-view-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "activeSlideIndex"], outputs: ["exit"] }, { kind: "component", type: SlideDefaultInspectorComponent, selector: "pptx-slide-default-inspector", inputs: ["slideIndex", "canEdit", "selectedElement", "comments"], outputs: ["commentAdd", "commentRemove", "commentResolve", "commentReply"] }, { kind: "component", type: FindBarComponent, selector: "pptx-find-bar", inputs: ["slides"], outputs: ["navigate", "closed"] }, { kind: "component", type: FindReplaceBarComponent, selector: "pptx-find-replace-bar", inputs: ["matchCount", "matchIndex"], outputs: ["find", "navigate", "replaceOne", "replaceAll", "close"] }, { kind: "component", type: SlidesPanelComponent, selector: "pptx-slides-panel", inputs: ["canvasSize", "mediaDataUrls", "activeIndex"], outputs: ["select"] }, { kind: "component", type: StatusBarComponent, selector: "pptx-status-bar", inputs: ["slideIndex", "slideCount", "canEdit", "dirty", "autosaveStatus", "notesOpen", "zoomPercent", "sorterActive", "presenting", "hiddenActions"], outputs: ["toggleNotes", "normalView", "openSorter", "slideShow", "zoomIn", "zoomOut", "zoomReset"] }, { kind: "component", type: EditorContextMenuComponent, selector: "pptx-editor-context-menu", inputs: ["x", "y", "slideIndex", "showAiActions"], outputs: ["closed", "askAi", "fixAi", "editHyperlink", "addComment"] }, { kind: "component", type: ExportProgressModalComponent, selector: "pptx-export-progress-modal", inputs: ["open", "title", "progress", "statusMessage"], outputs: ["cancel"] }, { kind: "component", type: CommentMarkersOverlayComponent, selector: "pptx-comment-markers-overlay", inputs: ["comments", "canvasSize"], outputs: ["markerClick"] }, { kind: "component", type: CommentsPanelComponent, selector: "pptx-comments-panel", inputs: ["comments", "authorName"], outputs: ["add", "remove", "resolve", "reply"] }, { kind: "component", type: SignaturesPanelComponent, selector: "pptx-signatures-panel", inputs: ["signatures"] }, { kind: "component", type: AccessibilityPanelComponent, selector: "pptx-accessibility-panel", inputs: ["issues"], outputs: ["selectSlide"] }, { kind: "component", type: CollaborationCursorsComponent, selector: "pptx-collaboration-cursors", inputs: ["cursors", "zoom"] }, { kind: "component", type: RemoteSelectionOverlayComponent, selector: "pptx-remote-selection-overlay", inputs: ["presences", "elements", "activeSlideIndex", "zoom"] }, { kind: "component", type: MotionPathOverlayComponent, selector: "pptx-motion-path-overlay", inputs: ["element", "animations", "canvasSize", "canEdit"], outputs: ["pathChange"] }, { kind: "component", type: FollowModeBarComponent, selector: "pptx-follow-mode-bar", inputs: ["presences", "followedClientId"], outputs: ["follow"] }, { kind: "component", type: PropertiesDialogComponent, selector: "pptx-properties-dialog", inputs: ["open", "properties"], outputs: ["save", "close"] }, { kind: "component", type: HyperlinkDialogComponent, selector: "pptx-hyperlink-dialog", inputs: ["open", "element"], outputs: ["save", "close"] }, { kind: "component", type: PrintDialogComponent, selector: "pptx-print-dialog", inputs: ["slides", "activeSlideIndex", "defaultSlidesPerPage", "defaultFrameSlides"], outputs: ["print", "cancel"] }, { kind: "component", type: ShareDialogComponent, selector: "pptx-share-dialog", inputs: ["open", "defaults", "active", "connected", "userCount", "shareUrl", "p2p", "activeRoomId", "activeServerUrl", "users"], outputs: ["start", "stop", "close"] }, { kind: "component", type: BroadcastDialogComponent, selector: "pptx-broadcast-dialog", inputs: ["open", "defaults", "active", "connected", "viewerCount", "viewerUrl", "p2p"], outputs: ["start", "stop", "close"] }, { kind: "component", type: MobileBottomBarComponent, selector: "pptx-mobile-bottom-bar", inputs: ["slideCount", "commentCount", "activeSheet"], outputs: ["openSlides", "insert", "openFormat", "openComments", "notes"] }, { kind: "component", type: MobileMenuSheetComponent, selector: "pptx-mobile-menu-sheet", inputs: ["open", "slideCount", "exporting", "showNotes", "canEdit", "hiddenActions"], outputs: ["closed", "openFind", "openSorter", "toggleNotes", "insertText", "present", "openFile", "savePptx", "exportPng", "exportPdf", "exportGif", "exportVideo", "print"] }, { kind: "component", type: MobileSlidesSheetComponent, selector: "pptx-mobile-slides-sheet", inputs: ["open", "slides", "canvasSize", "mediaDataUrls", "activeIndex"], outputs: ["closed", "jumpToSlide"] }, { kind: "component", type: MobileToolbarComponent, selector: "pptx-mobile-toolbar", inputs: ["canUndo", "canRedo", "canPresent", "canEdit", "menuOpen", "aiEnabled", "aiPanelOpen", "hiddenActions"], outputs: ["toggleMenu", "toggleAiPanel", "undo", "redo", "share", "save", "present"] }, { kind: "component", type: MasterViewCanvasComponent, selector: "pptx-master-view-canvas", inputs: ["tab", "slideMasters", "activeMasterIndex", "activeLayoutIndex", "notesMaster", "handoutMaster", "canvasSize", "notesCanvasSize", "mediaDataUrls", "editable"], outputs: ["notesMasterChange", "handoutMasterChange", "slideMastersChange"] }, { kind: "component", type: MasterViewSidebarComponent, selector: "pptx-master-view-sidebar", inputs: ["tab", "slideMasters", "notesMaster", "handoutMaster", "activeMasterIndex", "activeLayoutIndex", "handoutSlidesPerPage", "editable"], outputs: ["tabChange", "selectMaster", "selectLayout", "slidesPerPageChange", "backgroundChange", "close"] }, { kind: "component", type: NotesPanelComponent, selector: "pptx-notes-panel", inputs: ["slide", "expanded"], outputs: ["update", "notesToggle"] }, { kind: "component", type: RibbonComponent, selector: "pptx-ribbon", inputs: ["slideIndex", "slideCount", "canEdit", "selectedElement", "zoomPercent", "formatPainterActive", "canActivateFormatPainter", "exporting", "hasMacros", "showGrid", "showRulers", "showGuides", "snapToGrid", "snapToShape", "eyedropperActive", "themeGalleryOpen", "sidebarCollapsed", "inspectorOpen", "commentsOpen", "commentCount", "findOpen", "collabConnected", "connectedCount", "spellCheckEnabled", "showSubtitles", "hiddenActions", "aiEnabled", "aiPanelOpen", "accountAuth", "activeSlideHidden"], outputs: ["prev", "next", "zoomIn", "zoomOut", "zoomReset", "find", "present", "presenter", "record", "presentFromBeginning", "rehearseTimings", "toggleSubtitles", "openSubtitleSettings", "recordFromBeginning", "recordFromCurrent", "spellCheckChange", "share", "broadcast", "openFile", "openRecentFile", "createPresentation", "save", "savePpsx", "savePptm", "packageForSharing", "toggleSidebar", "toggleAiPanel", "signatures", "info", "print", "comments", "a11y", "link", "openSorter", "openReadingView", "openOutlineView", "openMasterView", "toggleNotes", "toggleFormatPainter", "exportPng", "exportPdf", "exportGif", "exportVideo", "exportJson", "copySlideAsImage", "replace", "toggleInspector", "drawToolChange", "toggleThemeGallery", "editTheme", "openSlideSize", "toggleGrid", "toggleRulers", "toggleGuides", "toggleSelectionPane", "openCustomShows", "toggleSnapToGrid", "toggleSnapToShape", "addGuide", "zoomToFit", "toggleEyedropper", "openSmartArtDialog", "openTemplateGallery", "openEquationDialog", "openSetUpSlideShow", "toggleHideSlide", "openCompare", "openPassword", "openFontEmbedding", "openVersionHistory", "openShortcuts", "openSettings"] }, { kind: "component", type: TitleBarComponent, selector: "pptx-title-bar", inputs: ["canEdit", "fileName", "isDirty", "autosaveStatus", "autosaveEnabled", "canUndo", "canRedo", "undoLabel", "redoLabel", "findReplaceOpen", "hiddenActions", "quickAccess"], outputs: ["toggleAutosave", "save", "undo", "redo", "quickCommand", "toggleFindReplace", "commandSearch"] }, { kind: "component", type: ThemeGalleryComponent, selector: "pptx-theme-gallery", inputs: ["open", "activeName", "theme", "startCustomizing"], outputs: ["applyTheme", "applyCustomTheme", "close"] }, { kind: "component", type: SelectionPaneComponent, selector: "pptx-selection-pane", inputs: ["elements", "selectedIds"], outputs: ["selectElement", "bringForward", "sendBackward", "toggleHidden", "renameElement"] }, { kind: "component", type: CustomShowsComponent, selector: "pptx-custom-shows", inputs: ["open", "slides", "customShows", "activeCustomShowId"], outputs: ["create", "remove", "update", "setActive", "close"] }, { kind: "component", type: InsertSmartArtDialogComponent, selector: "pptx-insert-smart-art-dialog", inputs: ["open"], outputs: ["close", "insert"] }, { kind: "component", type: SlideTemplateGalleryDialogComponent, selector: "pptx-slide-template-gallery-dialog", inputs: ["open", "scheme"], outputs: ["close", "insert"] }, { kind: "component", type: ViewerExtraDialogsComponent, selector: "pptx-viewer-extra-dialogs", inputs: ["activeSlideIndex", "selectedElementId", "filePath", "customShows", "themeKey", "availableThemes", "localeCode", "availableLocales", "aiExportVisible"], outputs: ["restoreContent", "themeKeySelect", "localeSelect"] }, { kind: "component", type: AutosaveRecoveryDialogComponent, selector: "pptx-autosave-recovery-dialog", inputs: ["prompt"], outputs: ["restore", "discard"] }, { kind: "component", type: RehearseTimingsComponent, selector: "pptx-rehearse-timings", inputs: ["summary", "paused", "slideStartedAt", "presentationStartedAt", "timings"], outputs: ["togglePause", "save", "discard"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [/* @ts-ignore */
|
|
135439
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SlideCanvasComponent, selector: "pptx-slide-canvas", inputs: ["slide", "canvasSize", "mediaDataUrls", "zoom", "editable", "showGrid", "showRulers", "rulerUnit", "showGuides", "snapToGrid", "snapToShape", "guideCommand", "spellCheck", "snapToGuides", "autoFit", "transparentBackground", "interactive", "exposeElementIds", "presenting", "selectedIds", "editingId", "editTemplateMode", "templateElements", "aiHighlights", "aiActive", "aiActiveSlideIndex", "aiChangeBatch", "aiPickMode", "drawTool", "drawColor", "drawWidth"], outputs: ["elementSelect", "backgroundClick", "transformStart", "transformUpdate", "transformEnd", "adjustUpdate", "connectorEndpointUpdate", "contextMenu", "textEditStart", "textCommit", "textInput", "textCancel", "textFormat", "rotateUpdate", "marqueeSelect", "inkStrokeComplete", "eraserHit", "cellCommit", "tableChange"] }, { kind: "component", type: PresentationOverlayComponent, selector: "pptx-presentation-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "startIndex", "activeCustomShow", "showWithAnimation", "useTimings", "subtitlesVisible", "sessionEnded", "endWithBlackSlide", "presenterMode"], outputs: ["indexChange", "closed", "subtitlesChange", "presenterViewToggle", "annotationsExit"] }, { kind: "component", type: PresenterViewComponent, selector: "pptx-presenter-view", inputs: ["slides", "currentSlideIndex", "activeCustomShow", "canvasSize", "templateElements", "mediaDataUrls", "presentationStartTime", "isAudienceWindowOpen"], outputs: ["movePresentationSlide", "exit", "openAudienceWindow", "closeAudienceWindow", "navigateToSlide"] }, { kind: "component", type: MobilePresenterViewComponent, selector: "pptx-mobile-presenter-view", inputs: ["slides", "currentSlideIndex", "activeCustomShow", "canvasSize", "templateElements", "mediaDataUrls", "presentationStartTime"], outputs: ["movePresentationSlide", "exit"] }, { kind: "component", type: SlideSorterOverlayComponent, selector: "pptx-slide-sorter-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "activeIndex", "canEdit"], outputs: ["select", "closed", "deleteSlide", "duplicateSlide", "toggleHiddenSlide"] }, { kind: "component", type: OutlineViewOverlayComponent, selector: "pptx-outline-view-overlay", inputs: ["slides", "canvasSize", "canEdit"], outputs: ["commit", "closed"] }, { kind: "component", type: ReadingViewOverlayComponent, selector: "pptx-reading-view-overlay", inputs: ["slides", "canvasSize", "mediaDataUrls", "activeSlideIndex"], outputs: ["exit"] }, { kind: "component", type: SlideDefaultInspectorComponent, selector: "pptx-slide-default-inspector", inputs: ["slideIndex", "canEdit", "selectedElement", "comments"], outputs: ["commentAdd", "commentRemove", "commentResolve", "commentReply"] }, { kind: "component", type: FindBarComponent, selector: "pptx-find-bar", inputs: ["slides"], outputs: ["navigate", "closed"] }, { kind: "component", type: FindReplaceBarComponent, selector: "pptx-find-replace-bar", inputs: ["matchCount", "matchIndex"], outputs: ["find", "navigate", "replaceOne", "replaceAll", "close"] }, { kind: "component", type: SlidesPanelComponent, selector: "pptx-slides-panel", inputs: ["canvasSize", "mediaDataUrls", "activeIndex"], outputs: ["select"] }, { kind: "component", type: StatusBarComponent, selector: "pptx-status-bar", inputs: ["slideIndex", "slideCount", "canEdit", "dirty", "autosaveStatus", "notesOpen", "zoomPercent", "sorterActive", "presenting", "hiddenActions"], outputs: ["toggleNotes", "normalView", "openSorter", "slideShow", "zoomIn", "zoomOut", "zoomReset"] }, { kind: "component", type: EditorContextMenuComponent, selector: "pptx-editor-context-menu", inputs: ["x", "y", "slideIndex", "showAiActions"], outputs: ["closed", "askAi", "fixAi", "editHyperlink", "addComment"] }, { kind: "component", type: ExportProgressModalComponent, selector: "pptx-export-progress-modal", inputs: ["open", "title", "progress", "statusMessage"], outputs: ["cancel"] }, { kind: "component", type: CommentMarkersOverlayComponent, selector: "pptx-comment-markers-overlay", inputs: ["comments", "canvasSize"], outputs: ["markerClick"] }, { kind: "component", type: CommentsPanelComponent, selector: "pptx-comments-panel", inputs: ["comments", "authorName"], outputs: ["add", "remove", "resolve", "reply"] }, { kind: "component", type: SignaturesPanelComponent, selector: "pptx-signatures-panel", inputs: ["signatures"] }, { kind: "component", type: AccessibilityPanelComponent, selector: "pptx-accessibility-panel", inputs: ["issues"], outputs: ["selectSlide"] }, { kind: "component", type: CollaborationCursorsComponent, selector: "pptx-collaboration-cursors", inputs: ["cursors", "zoom"] }, { kind: "component", type: RemoteSelectionOverlayComponent, selector: "pptx-remote-selection-overlay", inputs: ["presences", "elements", "activeSlideIndex", "zoom"] }, { kind: "component", type: MotionPathOverlayComponent, selector: "pptx-motion-path-overlay", inputs: ["element", "animations", "canvasSize", "canEdit"], outputs: ["pathChange"] }, { kind: "component", type: FollowModeBarComponent, selector: "pptx-follow-mode-bar", inputs: ["presences", "followedClientId"], outputs: ["follow"] }, { kind: "component", type: PropertiesDialogComponent, selector: "pptx-properties-dialog", inputs: ["open", "properties"], outputs: ["save", "close"] }, { kind: "component", type: HyperlinkDialogComponent, selector: "pptx-hyperlink-dialog", inputs: ["open", "element"], outputs: ["save", "close"] }, { kind: "component", type: PrintDialogComponent, selector: "pptx-print-dialog", inputs: ["slides", "activeSlideIndex", "defaultSlidesPerPage", "defaultFrameSlides"], outputs: ["print", "cancel"] }, { kind: "component", type: ShareDialogComponent, selector: "pptx-share-dialog", inputs: ["open", "defaults", "active", "connected", "userCount", "shareUrl", "p2p", "activeRoomId", "activeServerUrl", "users"], outputs: ["start", "stop", "close"] }, { kind: "component", type: BroadcastDialogComponent, selector: "pptx-broadcast-dialog", inputs: ["open", "defaults", "active", "connected", "viewerCount", "viewerUrl", "p2p"], outputs: ["start", "stop", "close"] }, { kind: "component", type: MobileBottomBarComponent, selector: "pptx-mobile-bottom-bar", inputs: ["slideCount", "commentCount", "activeSheet"], outputs: ["openSlides", "insert", "openFormat", "openComments", "notes"] }, { kind: "component", type: MobileMenuSheetComponent, selector: "pptx-mobile-menu-sheet", inputs: ["open", "slideCount", "exporting", "showNotes", "canEdit", "hiddenActions"], outputs: ["closed", "openFind", "openSorter", "toggleNotes", "insertText", "present", "openFile", "savePptx", "exportPng", "exportPdf", "exportGif", "exportVideo", "print"] }, { kind: "component", type: MobileSlidesSheetComponent, selector: "pptx-mobile-slides-sheet", inputs: ["open", "slides", "canvasSize", "mediaDataUrls", "activeIndex"], outputs: ["closed", "jumpToSlide"] }, { kind: "component", type: MobileToolbarComponent, selector: "pptx-mobile-toolbar", inputs: ["canUndo", "canRedo", "canPresent", "canEdit", "menuOpen", "aiEnabled", "aiPanelOpen", "hiddenActions"], outputs: ["toggleMenu", "toggleAiPanel", "undo", "redo", "share", "save", "present"] }, { kind: "component", type: MasterViewCanvasComponent, selector: "pptx-master-view-canvas", inputs: ["tab", "slideMasters", "activeMasterIndex", "activeLayoutIndex", "notesMaster", "handoutMaster", "canvasSize", "notesCanvasSize", "mediaDataUrls", "editable"], outputs: ["notesMasterChange", "handoutMasterChange", "slideMastersChange"] }, { kind: "component", type: MasterViewSidebarComponent, selector: "pptx-master-view-sidebar", inputs: ["tab", "slideMasters", "notesMaster", "handoutMaster", "activeMasterIndex", "activeLayoutIndex", "handoutSlidesPerPage", "editable"], outputs: ["tabChange", "selectMaster", "selectLayout", "slidesPerPageChange", "backgroundChange", "close"] }, { kind: "component", type: NotesPanelComponent, selector: "pptx-notes-panel", inputs: ["slide", "expanded"], outputs: ["update", "notesToggle"] }, { kind: "component", type: RibbonComponent, selector: "pptx-ribbon", inputs: ["slideIndex", "slideCount", "canEdit", "selectedElement", "zoomPercent", "formatPainterActive", "canActivateFormatPainter", "exporting", "hasMacros", "showGrid", "showRulers", "showGuides", "snapToGrid", "snapToShape", "eyedropperActive", "themeGalleryOpen", "sidebarCollapsed", "inspectorOpen", "commentsOpen", "commentCount", "findOpen", "collabConnected", "connectedCount", "spellCheckEnabled", "showSubtitles", "hiddenActions", "aiEnabled", "aiPanelOpen", "accountAuth", "activeSlideHidden"], outputs: ["prev", "next", "zoomIn", "zoomOut", "zoomReset", "find", "present", "presenter", "record", "presentFromBeginning", "rehearseTimings", "toggleSubtitles", "openSubtitleSettings", "recordFromBeginning", "recordFromCurrent", "spellCheckChange", "share", "broadcast", "openFile", "openRecentFile", "createPresentation", "save", "savePpsx", "savePptm", "packageForSharing", "toggleSidebar", "toggleAiPanel", "signatures", "info", "print", "comments", "a11y", "shortcuts", "versionHistory", "passwordProtection", "fontEmbedding", "link", "openSorter", "openReadingView", "openOutlineView", "openMasterView", "toggleNotes", "toggleFormatPainter", "exportPng", "exportPdf", "exportGif", "exportVideo", "exportJson", "copySlideAsImage", "replace", "toggleInspector", "drawToolChange", "toggleThemeGallery", "editTheme", "openSlideSize", "toggleGrid", "toggleRulers", "toggleGuides", "toggleSelectionPane", "openCustomShows", "toggleSnapToGrid", "toggleSnapToShape", "addGuide", "zoomToFit", "toggleEyedropper", "openSmartArtDialog", "openTemplateGallery", "openEquationDialog", "openSetUpSlideShow", "toggleHideSlide", "openCompare", "openPassword", "openFontEmbedding", "openVersionHistory", "openShortcuts", "openSettings"] }, { kind: "component", type: TitleBarComponent, selector: "pptx-title-bar", inputs: ["canEdit", "fileName", "isDirty", "autosaveStatus", "autosaveEnabled", "canUndo", "canRedo", "undoLabel", "redoLabel", "findReplaceOpen", "hiddenActions", "quickAccess"], outputs: ["toggleAutosave", "save", "undo", "redo", "quickCommand", "toggleFindReplace", "commandSearch"] }, { kind: "component", type: ThemeGalleryComponent, selector: "pptx-theme-gallery", inputs: ["open", "activeName", "theme", "startCustomizing"], outputs: ["applyTheme", "applyCustomTheme", "close"] }, { kind: "component", type: SelectionPaneComponent, selector: "pptx-selection-pane", inputs: ["elements", "selectedIds"], outputs: ["selectElement", "bringForward", "sendBackward", "toggleHidden", "renameElement"] }, { kind: "component", type: CustomShowsComponent, selector: "pptx-custom-shows", inputs: ["open", "slides", "customShows", "activeCustomShowId"], outputs: ["create", "remove", "update", "setActive", "close"] }, { kind: "component", type: InsertSmartArtDialogComponent, selector: "pptx-insert-smart-art-dialog", inputs: ["open"], outputs: ["close", "insert"] }, { kind: "component", type: SlideTemplateGalleryDialogComponent, selector: "pptx-slide-template-gallery-dialog", inputs: ["open", "scheme"], outputs: ["close", "insert"] }, { kind: "component", type: ViewerExtraDialogsComponent, selector: "pptx-viewer-extra-dialogs", inputs: ["activeSlideIndex", "selectedElementId", "filePath", "customShows", "themeKey", "availableThemes", "localeCode", "availableLocales", "aiExportVisible"], outputs: ["restoreContent", "themeKeySelect", "localeSelect"] }, { kind: "component", type: AutosaveRecoveryDialogComponent, selector: "pptx-autosave-recovery-dialog", inputs: ["prompt"], outputs: ["restore", "discard"] }, { kind: "component", type: RehearseTimingsComponent, selector: "pptx-rehearse-timings", inputs: ["summary", "paused", "slideStartedAt", "presentationStartedAt", "timings"], outputs: ["togglePause", "save", "discard"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [/* @ts-ignore */
|
|
134911
135440
|
Promise.resolve().then(function () { return aiChatPanel_component; }).then(m => m.AiChatPanelComponent)]] }); }
|
|
134912
135441
|
}
|
|
134913
135442
|
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.1.2", ngImport: i0, type: PowerPointViewerComponent, resolveDeferredDeps: () => [/* @ts-ignore */
|
|
@@ -135064,6 +135593,10 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.1.2", ng
|
|
|
135064
135593
|
(comments)="inspectorPanel.togglePanel('comments')"
|
|
135065
135594
|
(signatures)="inspectorPanel.togglePanel('signatures')"
|
|
135066
135595
|
(a11y)="inspectorPanel.togglePanel('accessibility')"
|
|
135596
|
+
(shortcuts)="dialogs.showShortcuts.set(true)"
|
|
135597
|
+
(versionHistory)="dialogs.showVersionHistory.set(true)"
|
|
135598
|
+
(passwordProtection)="dialogs.showPassword.set(true)"
|
|
135599
|
+
(fontEmbedding)="dialogs.showFontEmbedding.set(true)"
|
|
135067
135600
|
(link)="docProperties.showHyperlink.set(true)"
|
|
135068
135601
|
(openSorter)="showSorter.set(true)"
|
|
135069
135602
|
(openReadingView)="showReadingView.set(true)"
|
|
@@ -135473,7 +136006,7 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.1.2", ng
|
|
|
135473
136006
|
|
|
135474
136007
|
@if (showSorter()) {
|
|
135475
136008
|
<pptx-slide-sorter-overlay
|
|
135476
|
-
[slides]="
|
|
136009
|
+
[slides]="[...displaySlides()]"
|
|
135477
136010
|
[canvasSize]="loader.canvasSize()"
|
|
135478
136011
|
[mediaDataUrls]="loader.mediaDataUrls()"
|
|
135479
136012
|
[activeIndex]="activeSlideIndex()"
|
|
@@ -135482,6 +136015,7 @@ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "22.1.2", ng
|
|
|
135482
136015
|
(closed)="showSorter.set(false)"
|
|
135483
136016
|
(deleteSlide)="editor.deleteSlide($event)"
|
|
135484
136017
|
(duplicateSlide)="editor.duplicateSlide($event)"
|
|
136018
|
+
(toggleHiddenSlide)="toggleHideSlides([$event])"
|
|
135485
136019
|
/>
|
|
135486
136020
|
}
|
|
135487
136021
|
|
|
@@ -138143,5 +138677,5 @@ function cn(...values) {
|
|
|
138143
138677
|
* Generated bundle index. Do not edit.
|
|
138144
138678
|
*/
|
|
138145
138679
|
|
|
138146
|
-
export { CommentsPanelComponent as $, ALIGN_OPTIONS as A, AnimationPlaybackService as B, AutosaveRecoveryDialogComponent as C, AutosaveService as D, BroadcastDialogComponent as E, CHART_EDITOR_STYLES as F, CURSOR_PALETTE as G, CanvasFitService as H, ChartAxisOptionsComponent as I, ChartAxisStyleOptionsComponent as J, ChartComboTypeOptionsComponent as K, ChartDataEditorComponent as L, ChartDataLabelOptionsComponent as M, ChartDatapointMarkerOptionsComponent as N, ChartDatapointOptionsComponent as O, ChartDisplayOptionsComponent as P, ChartElementViewComponent as Q, ChartErrorBarOptionsComponent as R, ChartMarkerOptionsComponent as S, ChartPartSelectionService as T, ChartPrimitivesComponent as U, ChartRendererComponent as V, ChartTrendlineOptionsComponent as W, CollaborationCursorsComponent as X, CollaborationService as Y, ColorChangedImageComponent as Z, CommentMarkersOverlayComponent as _, ANIMATION_PRESET_CATEGORIES as a, InspectorPanelComponent as a$, CommentsService as a0, ComparePanelComponent as a1, ConnectorRendererComponent as a2, ConnectorTextOverlayComponent as a3, CustomShowsComponent as a4, DATA_TABLE_HEADER_H as a5, DATA_TABLE_KEY_W as a6, DATA_TABLE_PADDING as a7, DATA_TABLE_ROW_H as a8, DEFAULT_BOUNDS as a9, EditorToolbarComponent as aA, EffectsPanelComponent as aB, ElementRendererComponent as aC, EmbeddedFontsService as aD, EncryptedFileDialogComponent as aE, EquationEditorDialogComponent as aF, EquationRendererComponent as aG, EquationTemplateGalleryComponent as aH, ExportProgressModalComponent as aI, ExportService as aJ, FieldContextService as aK, FindBarComponent as aL, FindReplaceBarComponent as aM, FollowModeBarComponent as aN, FontEmbeddingListComponent as aO, FontEmbeddingPanelComponent as aP, GALLERY_THEME_PRESETS as aQ, GRIDLINE_COLOR as aR, GradientPickerComponent as aS, HANDOUT_OPTIONS as aT, HeaderFooterDialogComponent as aU, HyperlinkDialogComponent as aV, ImagePropertiesPanelComponent as aW, InkDrawingService as aX, InkRendererComponent as aY, InsertSmartArtDialogComponent as aZ, InspectorPaneHeaderComponent as a_, DEFAULT_BROADCAST_SERVER_URL as aa, DEFAULT_CANVAS_HEIGHT as ab, DEFAULT_CANVAS_WIDTH as ac, DEFAULT_COLOR_SCHEME as ad, DEFAULT_FILL_COLOR$1 as ae, DEFAULT_LAYOUT as af, DEFAULT_PALETTE$1 as ag, DEFAULT_PATTERN_FILL_PRESET as ah, DEFAULT_PRINT_SETTINGS as ai, DEFAULT_SLIDE_BACKGROUND as aj, DEFAULT_STROKE_COLOR as ak, DEFAULT_STYLE as al, DEFAULT_TABLE_ROW_HEIGHT as am, DEFAULT_TEXT_COLOR$1 as an, DEFAULT_VIEWER_PROFILE as ao, DIRECTIONAL_PRESETS as ap, DIRECTION_OPTIONS as aq, DocumentPropertiesCardComponent as ar, EMBEDDED_FONTS_STYLE_ID as as, EMPHASIS_PRESETS as at, ENTRANCE_PRESETS as au, TEMPLATES as av, EXIT_PRESETS as aw, EditorContextMenuComponent as ax, EditorHistory as ay, EditorStateService as az, AUDIENCE_HASH as b, RibbonComponent as b$, IsMobileService as b0, KeepAnnotationsDialogComponent as b1, LOCALE_CATALOG as b2, LONG_PRESS_DURATION_MS as b3, LONG_PRESS_MOVE_TOLERANCE_PX as b4, LoadContentService as b5, LocalPresencePublisher as b6, MAX_ZOOM_SCALE as b7, MIN_ZOOM_SCALE as b8, MOTION_PATH_COLUMNS as b9, PasswordStrengthMeterComponent as bA, PowerPointViewerComponent as bB, PresentToolbarAutoHide as bC, PresentationAnnotationOverlayComponent as bD, PresentationAnnotationsService as bE, PresentationOverlayComponent as bF, PresentationPropertiesPanelComponent as bG, PresentationSettingsCardComponent as bH, PresentationSubtitleBarComponent as bI, PresentationToolbarComponent as bJ, PresentationTransitionOverlayComponent as bK, PresenterViewComponent as bL, PresenterWindowService as bM, PrintDialogComponent as bN, PrintService as bO, PrintSettingsPanelComponent as bP, PropertiesDialogComponent as bQ, REPEAT_MODE_OPTIONS as bR, RESIZE_HANDLES as bS, RULER_FONT_SIZE as bT, RULER_THICKNESS as bU, ReadingViewOverlayComponent as bV, RemoteSelectionOverlayComponent as bW, RibbonAnimationGalleryComponent as bX, RibbonAnimationsSectionComponent as bY, RibbonArrangeSectionComponent as bZ, RibbonColorPopoverComponent as b_, MediaPreviewComponent as ba, MediaPropertiesPanelComponent as bb, MediaRendererComponent as bc, MediaTrimTimelineComponent as bd, MobileBottomBarComponent as be, MobileMenuSheetComponent as bf, MobilePresenterViewComponent as bg, MobileSheetComponent as bh, MobileSlidesSheetComponent as bi, MobileToolbarComponent as bj, ModalDialogComponent as bk, Model3DRendererComponent as bl, NotesHandoutCardComponent as bm, NotesPanelComponent as bn, NotesToolbarComponent as bo, OleRendererComponent as bp, OutlineViewOverlayComponent as bq, POWER_POINT_VIEWER_PROVIDERS as br, PPTX_OPEN_ACCEPT as bs, PRESENTATION_OPEN_EXTENSIONS as bt, PRESENTER_CHANNEL_NAME as bu, PRESENTER_MSG_ORIGIN as bv, PRESENTER_TIMER_SEGMENT_MS as bw, PX_PER_CM as bx, PX_PER_INCH as by, PasswordProtectionDialogComponent as bz, AUDIENCE_NONCE_KEY as c, TEXT_3D_TOP_BEVEL_KEYS as c$, RibbonDesignSectionComponent as c0, RibbonDrawSectionComponent as c1, RibbonDrawingGroupComponent as c2, RibbonEditingSectionComponent as c3, RibbonFileSectionComponent as c4, RibbonFontControlsComponent as c5, RibbonHomeSectionComponent as c6, RibbonHyperlinkButtonComponent as c7, RibbonInsertFieldsComponent as c8, RibbonInsertSectionComponent as c9, SettingsLanguageTabComponent as cA, ShareDialogComponent as cB, ShortcutPanelComponent as cC, ShowOptionsFieldsetComponent as cD, ShowSlidesFieldsetComponent as cE, SignatureStrippedDialogComponent as cF, SignaturesPanelComponent as cG, SignaturesService as cH, SlideBackgroundCardComponent as cI, SlideCanvasComponent as cJ, SlideDefaultInspectorComponent as cK, SlideDiffChangesComponent as cL, SlideDiffRowComponent as cM, SlideDiffThumbnailsComponent as cN, SlideSizeCardComponent as cO, SlideSorterOverlayComponent as cP, SlideThemeOverridePanelComponent as cQ, SlideTransitionCardComponent as cR, SlidesPanelComponent as cS, SmartArt3DRendererComponent as cT, SmartArt3DService as cU, SmartArtPreviewComponent as cV, SmartArtPropertiesComponent as cW, SmartArtRendererComponent as cX, StatusBarComponent as cY, TABLE_STRUCTURE_TOGGLES as cZ, TEXT_3D_BOTTOM_BEVEL_KEYS as c_, RibbonMotionPathGalleryComponent as ca, RibbonParagraphControlsComponent as cb, RibbonPrimaryRowComponent as cc, RibbonReviewSectionComponent as cd, RibbonShapeExtrasComponent as ce, RibbonSlideshowSectionComponent as cf, RibbonTransitionsSectionComponent as cg, RibbonViewSectionComponent as ch, RulerGuidesService as ci, SEQUENCE_OPTIONS as cj, SEVERITY_GROUPS as ck, SEVERITY_LABELS as cl, SHORTCUT_REFERENCE_ITEMS as cm, SLIDE_TRANSITION_KEYFRAMES as cn, DEFAULT_PALETTE as co, PALETTES$1 as cp, SMART_ART_COLOR_SCHEMES as cq, SMART_ART_STYLE_OPTIONS as cr, SUB_ITEM_LABEL as cs, SVG_WARP_PRESETS as ct, SWIPE_MAX_VERTICAL_PX as cu, SWIPE_THRESHOLD_PX as cv, SelectionPaneComponent as cw, SetUpSlideShowDialogComponent as cx, SettingsAppearanceTabComponent as cy, SettingsDialogComponent as cz, AVATAR_COLOR_SWATCHES as d, animationPresetLabelKey as d$, TEXT_DIRECTION_OPTIONS$1 as d0, THEME_CATALOG as d1, TIMING_CURVE_OPTIONS as d2, TRIGGER_OPTIONS as d3, TYPE_LABELS as d4, TableCellAdvancedFillComponent as d5, TableCellFormattingComponent as d6, TableDataEditorComponent as d7, TablePropertiesComponent as d8, TableRendererComponent as d9, ViewerFileIOService as dA, ViewerFindReplaceService as dB, ViewerFormatPainterService as dC, ViewerInspectorPanelService as dD, ViewerKeyboardService as dE, ViewerMobileSheetService as dF, ViewerPresentationModeService as dG, ViewerThemeGalleryService as dH, ViewerTouchGesturesService as dI, ViewerZoomService as dJ, WEBM_MIME_CANDIDATES as dK, WriteBackScheduler as dL, ZERO_LINE_COLOR as dM, ZoomNavigationService as dN, ZoomRendererComponent as dO, ZoomTargetService as dP, addCategory as dQ, addCommentToList as dR, addGradientStopPatch as dS, addItem as dT, addSeries as dU, addSubItem as dV, advanceStep as dW, affordanceElements as dX, aiToggleVisible as dY, alignPatch as dZ, animationFor as d_, TableResizeOverlayComponent as da, TableSelectionService as db, TagsCardComponent as dc, Text3DBevelSectionComponent as dd, Text3DPanelComponent as de, TextAdvancedPanelComponent as df, ThemeEditorFieldsComponent as dg, ThemeGalleryComponent as dh, ThemeSelectorCardComponent as di, TitleBarComponent as dj, TitleBarSearchComponent as dk, TransitionDirectionPickerComponent as dl, TransitionPreviewComponent as dm, VALIGN_OPTIONS as dn, VIEWER_THEME as dp, VersionHistoryPanelComponent as dq, ViewerCanvasEditingService as dr, ViewerCollabCursorService as ds, ViewerCollaborationSessionService as dt, ViewerCompareService as du, ViewerCustomShowsService as dv, ViewerDialogsService as dw, ViewerDocumentPropertiesService as dx, ViewerExportService as dy, ViewerExtraDialogsComponent as dz, AXIS_LABEL_COLOR as e, buildWaterfallViewModel as e$, annotationMapToInkInserts as e0, applyAcceptedDiff as e1, applyAnimationPreset as e2, applyFindReplacements as e3, applyFormatToElement as e4, applyMove as e5, applyResize as e6, asMediaElement as e7, assignUserColor as e8, attachShowVisibilityPause as e9, buildEquationSegment as eA, buildFallbackViewModel as eB, buildFontFaceRule as eC, buildGradientFillCss as eD, buildGridlinesAndLabels as eE, buildHyperlinkPatch as eF, buildInkContainerStyle as eG, buildInkStrokes as eH, buildLegend as eI, buildMarkTooltip as eJ, buildModel3DContainerStyle as eK, buildModel3DViewModel as eL, buildOleActionModel as eM, buildOleInfoRows as eN, buildPatternFillCss as eO, buildPrintHtmlDocument as eP, buildPropertiesPatch as eQ, buildRegionMapViewModel as eR, buildSaveSlides as eS, buildShareUrl as eT, buildSmartArtInsertElement as eU, buildSmartArtNodes as eV, buildStockViewModel as eW, buildSurfaceViewModel as eX, buildTableViewModel as eY, buildTreemapViewModel as eZ, buildTrimFragment as e_, attachTouchGestures as ea, axisTickValues as eb, beginNodeEdit as ec, bevelSizePatch as ed, boolFromEvent as ee, bringForward as ef, bringToFront as eg, buildBarActions as eh, buildBroadcastConfig as ei, buildBroadcastViewerUrl as ej, buildCategoryLabels as ek, buildCellParagraphs as el, buildChartViewModel as em, buildChatLogExport as en, buildChatLogMarkdown as eo, buildChromeStyle as ep, buildClearHyperlinkPatch as eq, buildClickGroups as er, buildColStyles as es, buildCollaborationConfig as et, buildComboViewModel as eu, buildCssGradientFromShapeStyle as ev, buildDuotoneFilter as ew, buildDuotoneFilterId as ex, buildEmbeddedFontStyles as ey, buildEquationElement as ez, AccessibilityPanelComponent as f, computeScatterXDomain as f$, buildZeroLine as f0, buildZoomContainerStyle as f1, buildZoomViewModel as f2, bulletIndentPx as f3, canAddTopLevelNode as f4, canGroupSelection as f5, canRemoveTopLevelNode as f6, canSetStrokeWidth as f7, canStartBroadcast as f8, canStartShare as f9, commitNodeText as fA, computeAlign as fB, computeAxisTitlePrimitives as fC, computeBarRects as fD, computeBubbleRadius as fE, computeCornerHandle as fF, computeDataTablePrimitives as fG, computeDistribute as fH, computeDrawingViewBox as fI, computeErrorBarPrimitives as fJ, computeFocusTargets as fK, computeHandleBoxes as fL, computeHandoutLayout as fM, computeIsMobile as fN, computeIsTablet as fO, computeLinePoints as fP, computeLinearRegression as fQ, computePageCount as fR, computePieLayout as fS, computePieSlicePath as fT, computePieSlices as fU, computePlotLayout as fV, computeRSquared as fW, computeRadarPoints as fX, computeResizeHandleBoxes as fY, computeRotateHandleBox as fZ, computeScatterDots as f_, canUngroupSelection as fa, canUseClipboard as fb, captionDisplayText as fc, cellRunStyle as fd, cellStyleToStyleMap as fe, cellTdStyle as ff, changeCountLabel as fg, changeIcon as fh, characterSpacingPatch as fi, chartPreserveAspectRatio as fj, checkFontAvailable as fk, clampCursorPosition as fl, clampGifDimensions as fm, clampIndex as fn, clampNotesFontSize as fo, clampScale as fp, clampStep as fq, clearAllLocalViewerData as fr, clearAudienceContent as fs, cn as ft, collectAccessibilityIssues as fu, collectElementText as fv, collectSlideText as fw, collectStoredChats as fx, collectUsedFontFamilies as fy, columnWidthStyle as fz, AccessibilityService as g, formatCursorLabel as g$, computeSelectionBoxes as g0, computeSingleSelected as g1, computeSlideIndices as g2, computeSnap as g3, computeStackedBarRects as g4, computeStackedValueRange as g5, computeTrendlinePrimitives as g6, computeValueRange as g7, convertOmmlToMathMl as g8, copyFormatFromElement as g9, durationOf as gA, effectsStateOf as gB, enableGlowPatch as gC, enableInnerShadowPatch as gD, enableOuterShadowPatch as gE, enableReflectionPatch as gF, enableSoftEdgePatch as gG, encodeGif as gH, endShowMediaCleanup as gI, estimatePageCount as gJ, exitPresentationFullscreen as gK, exportAiChatLogs as gL, extractPathPoints as gM, eyedropperAvailable as gN, fillColorOf$1 as gO, findInSlides as gP, findOwningSlideIndex as gQ, findSlideIndexByElementId as gR, firstVisibleIndex as gS, fitPolynomial as gT, fitZoom as gU, focusTargetChips as gV, fontMimeForFormat as gW, fontSizeOf as gX, forgetSessionDeck as gY, formatAxisValue as gZ, formatBytes as g_, countAccessibilityIssues as ga, countAnnotationStrokes as gb, createAngularAiBridge as gc, createCustomShow as gd, createSwipeDismissDrag as ge, createWebrtcBundle as gf, createWebsocketBundle as gg, cssObjectToStyleMap as gh, currentColorScheme as gi, currentLayout as gj, currentStyle as gk, defaultCssVars as gl, defaultRadius as gm, defaultThemeColors as gn, deleteElementsByIds as go, deleteVersion as gp, demoteNode as gq, deriveModel3DBlobUrl as gr, derivePresenceList as gs, describeSmartArtBounds as gt, disableGlowPatch as gu, disableInnerShadowPatch as gv, disableOuterShadowPatch as gw, disableReflectionPatch as gx, disableSoftEdgePatch as gy, duplicateElementById as gz, AccountPageComponent as h, isLegacyBinaryPresentation as h$, formatElapsed as h0, formatFileSize as h1, formatPropertyDate as h2, formatTime as h3, fpsToFrameIntervalMs as h4, generateBroadcastRoomId as h5, generateCommentId as h6, generateCustomShowId as h7, generatePressureCircles as h8, generateTicks as h9, getWarpCategory as hA, getWarpPath as hB, gradientStateFromStyle as hC, gradientStateOf as hD, gradientStatePatch as hE, gridColumns as hF, groupIssuesBySeverity as hG, hasAnimation as hH, hasCopyableFormat as hI, hasExistingLink as hJ, hasExitedFullscreen as hK, hasGradientFill as hL, hasPressureVariation as hM, hasVisibleSlideAfter as hN, headerLabel as hO, imageDimensions as hP, inkViewBox as hQ, insertTableElementColumn as hR, insertTableElementRow as hS, interpolateWidth as hT, isAudienceTab as hU, isBold as hV, isBrowserOpenableMime as hW, isChildNode as hX, isElementInteractive as hY, isInjectableUrl as hZ, isItalic as h_, getClrChangeParams as ha, getContainerStyle as hb, getDuotoneFilterDef as hc, getImageSrc as hd, getLocalStorageUsageSummary as he, getOleAriaLabel as hf, getOleBadgeLabel as hg, getOleDisplayName as hh, getOleDownloadFileName as hi, getOleTypeColor as hj, getOleTypeLabel as hk, getPasswordStrength as hl, getPatternSvg as hm, getPlaceholderStyle as hn, getVersions as ho, getResolvedShapeClipPath as hp, getResolvedShapeClipPathFor as hq, getSessionTabId as hr, getShapeFillStrokeStyle as hs, getSlideBackgroundStyle as ht, getSlideTransitionAnimations as hu, getSmartArtNodeBounds as hv, getSpeechRecognitionCtor as hw, getTextBlockStyle as hx, getTextWarp as hy, getTouchDistance as hz, ActionSettingsPanelComponent as i, partitionSlides as i$, isPpactionUrl as i0, isPresenterMessage as i1, isSigned as i2, isSupportedPresentationFile as i3, isTextElement as i4, isTwoTableFocus as i5, isUnderline as i6, isUrlSafe as i7, isValidRoomId as i8, isViewportBackgroundPressTarget as i9, narrowToRect as iA, newChartElement as iB, newEquationElement as iC, newPresetShapeElement as iD, newShapeElement as iE, newSmartArtElement as iF, newTableElement as iG, newTextElement as iH, nextVisibleIndex as iI, nodeBold as iJ, nodeEditBox as iK, nodeFillColor as iL, nodeFontColor as iM, nodeIdFromKey as iN, nodeItalic as iO, nodeStyle as iP, normalizeFontFormat as iQ, normalizeSlidesPerPage as iR, normalizeValue as iS, numFromEvent as iT, ommlToMathml as iU, ooxmlDashToCssBorderStyle as iV, openNativeEyeDropper as iW, overallStatus as iX, paletteColor as iY, parseAudienceNonce as iZ, parseNodeTextarea as i_, isZoomActivationKey as ia, issueTrackKey as ib, issueTypeLabel as ic, keyToLabel as id, lastVisibleIndex as ie, latexToMathml as ig, layoutConnectorPaints as ih, layoutNodeLabels as ii, linePointsToSvgString as ij, lineSpacingPatch as ik, loadAudienceContent as il, loadSessionDeck as im, mediaFallbackFor as io, mediaSurfaceFor as ip, mergeCaptionResults as iq, mergeDown as ir, mergeRight as is, mergeSelection as it, moveElementBy as iu, moveNodeDown as iv, moveNodeUp as iw, msToFrameDelayCs as ix, narrowToCircle as iy, narrowToPolygon as iz, AdvancedChartEditorComponent as j, rowStyle as j$, patchChartData as j0, patchChartStyle as j1, patchTableData as j2, patchTextStyle as j3, patternPresetOptions as j4, pendingElementStyles as j5, pickColorByClickFallback as j6, pickFile as j7, pickSupportedMimeType as j8, planGifFrames as j9, removeTableElementRow as jA, removeSeries as jB, renderToCanvas as jC, reorderAnimationDown as jD, reorderAnimationUp as jE, replaceInSlides as jF, replaceMatch as jG, requestPresentationFullscreen as jH, resizeElement as jI, resolveCaptionTracks as jJ, resolveChartKind as jK, resolveFontVariant as jL, resolveHyperlinkHref as jM, resolveInteractiveElementId as jN, resolveMediaSrc as jO, resolveOleType as jP, resolveParagraphBullet as jQ, resolvePresenterNotes as jR, resolveProfileInitial as jS, resolveRegionCode as jT, resolveSlideAutoAdvanceMs as jU, resolvePalette as jV, resolveThemeCatalogEntry as jW, resolveTransitionDuration as jX, restoreSessionDeck as jY, revealedElementStyles as jZ, routeOrthogonalConnector as j_, planVideoSegments as ja, pointsToSvgPathD as jb, presenceToCursors as jc, presentationBaseName as jd, presentationStageStyle as je, presenterTimerProgress as jf, presetByLayout as jg, presetsForCategory as jh, pressuresToWidths as ji, prevVisibleIndex as jj, projectDrawingShapes as jk, promoteNode as jl, provideViewerTheme as jm, radarAngle as jn, radarRingPoints as jo, readAsDataUrl as jp, recordWebm as jq, registerCrossSlideAudio as jr, rememberSessionDeck as js, removeAnimation as jt, removeCategory as ju, removeTableElementColumn as jv, removeCommentFromList as jw, removeElementAnimation as jx, removeGradientStopPatch as jy, removeNode as jz, AiChangeOverlayComponent as k, shouldUseSvgWarp as k$, rulerDragToGuidePosition as k0, rulerHighlight as k1, rulerStripTicks as k2, sampleColorFromSlide as k3, sanitizeColor as k4, sanitizeSlideIndex as k5, sanitizeUserName as k6, saveViewerProfile as k7, savedPresentationFileName as k8, scanAvailableFonts as k9, setDelay as kA, setDirection as kB, setDuration as kC, setElementPosition as kD, setGridlineStyle as kE, setLayout as kF, setLegend as kG, setNodeStyle as kH, setNodeText as kI, setRepeatCount as kJ, setRepeatMode as kK, setSequence as kL, setSeriesChartType as kM, setSeriesColor as kN, setSeriesErrorBars as kO, setSeriesMarker as kP, setSeriesName as kQ, setSeriesTrendline as kR, setSeriesValue as kS, setStyle as kT, setTimingCurve as kU, setTitle as kV, setTrigger as kW, setTriggerShapeId as kX, shapeStylePatch$1 as kY, sheetAfterNavigate as kZ, shouldBlockClickAdvance as k_, searchSlides as ka, seedBroadcastFields as kb, seedHyperlinkDraft as kc, seedPropertiesDraft as kd, seedShareFields as ke, segmentFrameCount as kf, selectValue$2 as kg, sendBackward as kh, sendToBack as ki, sequentialColorScale as kj, serializeWriteBack as kk, seriesColor as kl, setAnimationEmphasis as km, setAnimationEntrance as kn, setAnimationExit as ko, setAxis as kp, setAxisLogScale as kq, setAxisTitleStyle as kr, setCategoryLabel as ks, setCellText as kt, setColorScheme as ku, setDataLabels as kv, setDataPointExplosion as kw, setDataPointFill as kx, setDataPointLabel as ky, setDataPointMarker as kz, AiChatPanelComponent as l, showDirectionPicker as l0, showsTemplateAffordance as l1, signatureCountLabel as l2, signatureKey as l3, signatureTimestamp as l4, signerName as l5, statusLabel as l6, slideNumberOf as l7, slidesWithReappliedLayout as l8, smartArtNodes as l9, toggleSheet as lA, topLevelNodeCount as lB, transformSelectedTextCase as lC, translationsEn as lD, updateElementById as lE, updateGlowPatch as lF, updateGradientStopPatch as lG, updateInnerShadowPatch as lH, updateOuterShadowPatch as lI, updateReflectionPatch as lJ, vAlignPatch as lK, validatePassword as lL, validatePrintSettings as lM, validateRoomId as lN, valueToY as lO, vermilionDarkColors as lP, vermilionDarkTheme as lQ, vermilionLightColors as lR, vermilionLightTheme as lS, vermilionRadius as lT, waypointsToPathD as lU, worstStatus as lV, zoomTargetSlideIndex as lW, paletteColour as la, snapToGridStep as lb, splitCursorCell as lc, splitMergedCell as ld, statusKind as le, statusLabel$1 as lf, storeAudienceContent as lg, stringFromEvent$5 as lh, strokeColorOf as li, strokeToInkElement as lj, strokeWidthOf as lk, styleShadowFilter as ll, textAdvancedPatch as lm, textAdvancedStateFromStyle as ln, textAdvancedStateOf as lo, textColorOf as lp, textDirectionPatch as lq, textStyleOf as lr, textStylePatch as ls, themeStyle as lt, themeToCssVars as lu, thumbnailHeight as lv, thumbnailZoom as lw, toggleCommentResolvedInList as lx, toggleNodeBold as ly, toggleNodeItalic as lz, AiChatService as m, AiComposerComponent as n, AiFocusBarComponent as o, AiFocusHighlightOverlayComponent as p, AiHistoryMenuComponent as q, AiHistoryService as r, AiMessageListComponent as s, toChatSummary as t, AiPanelStore as u, AiProposalCardComponent as v, AiSettingsSectionComponent as w, AiToolCallCardComponent as x, AnimationAuthorPanelComponent as y, AnimationPanelComponent as z };
|
|
138147
|
-
//# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-
|
|
138680
|
+
export { CommentMarkersOverlayComponent as $, ALIGN_OPTIONS as A, AnimationPlaybackService as B, AutosaveRecoveryDialogComponent as C, AutosaveService as D, BroadcastDialogComponent as E, CHART_EDITOR_STYLES as F, CURSOR_PALETTE as G, CanvasFitService as H, ChartAxisOptionsComponent as I, ChartAxisStyleOptionsComponent as J, ChartComboTypeOptionsComponent as K, ChartDataEditorComponent as L, ChartDataLabelOptionsComponent as M, ChartDatapointMarkerOptionsComponent as N, ChartDatapointOptionsComponent as O, ChartDisplayOptionsComponent as P, ChartElementViewComponent as Q, ChartErrorBarOptionsComponent as R, ChartMarkerOptionsComponent as S, ChartPartSelectionService as T, ChartPrimitivesComponent as U, ChartRendererComponent as V, ChartTrendlineOptionsComponent as W, ChartTypeSelectorComponent as X, CollaborationCursorsComponent as Y, CollaborationService as Z, ColorChangedImageComponent as _, ANIMATION_PRESET_CATEGORIES as a, InspectorPaneHeaderComponent as a$, CommentsPanelComponent as a0, CommentsService as a1, ComparePanelComponent as a2, ConnectorRendererComponent as a3, ConnectorTextOverlayComponent as a4, CustomShowsComponent as a5, DATA_TABLE_HEADER_H as a6, DATA_TABLE_KEY_W as a7, DATA_TABLE_PADDING as a8, DATA_TABLE_ROW_H as a9, EditorStateService as aA, EditorToolbarComponent as aB, EffectsPanelComponent as aC, ElementRendererComponent as aD, EmbeddedFontsService as aE, EncryptedFileDialogComponent as aF, EquationEditorDialogComponent as aG, EquationRendererComponent as aH, EquationTemplateGalleryComponent as aI, ExportProgressModalComponent as aJ, ExportService as aK, FieldContextService as aL, FindBarComponent as aM, FindReplaceBarComponent as aN, FollowModeBarComponent as aO, FontEmbeddingListComponent as aP, FontEmbeddingPanelComponent as aQ, GALLERY_THEME_PRESETS as aR, GRIDLINE_COLOR as aS, GradientPickerComponent as aT, HANDOUT_OPTIONS as aU, HeaderFooterDialogComponent as aV, HyperlinkDialogComponent as aW, ImagePropertiesPanelComponent as aX, InkDrawingService as aY, InkRendererComponent as aZ, InsertSmartArtDialogComponent as a_, DEFAULT_BOUNDS as aa, DEFAULT_BROADCAST_SERVER_URL as ab, DEFAULT_CANVAS_HEIGHT as ac, DEFAULT_CANVAS_WIDTH as ad, DEFAULT_COLOR_SCHEME as ae, DEFAULT_FILL_COLOR$1 as af, DEFAULT_LAYOUT as ag, DEFAULT_PALETTE$1 as ah, DEFAULT_PATTERN_FILL_PRESET as ai, DEFAULT_PRINT_SETTINGS as aj, DEFAULT_SLIDE_BACKGROUND as ak, DEFAULT_STROKE_COLOR as al, DEFAULT_STYLE as am, DEFAULT_TABLE_ROW_HEIGHT as an, DEFAULT_TEXT_COLOR$1 as ao, DEFAULT_VIEWER_PROFILE as ap, DIRECTIONAL_PRESETS as aq, DIRECTION_OPTIONS as ar, DocumentPropertiesCardComponent as as, EMBEDDED_FONTS_STYLE_ID as at, EMPHASIS_PRESETS as au, ENTRANCE_PRESETS as av, TEMPLATES as aw, EXIT_PRESETS as ax, EditorContextMenuComponent as ay, EditorHistory as az, AUDIENCE_HASH as b, RibbonColorPopoverComponent as b$, InspectorPanelComponent as b0, IsMobileService as b1, KeepAnnotationsDialogComponent as b2, LOCALE_CATALOG as b3, LONG_PRESS_DURATION_MS as b4, LONG_PRESS_MOVE_TOLERANCE_PX as b5, LoadContentService as b6, LocalPresencePublisher as b7, MAX_ZOOM_SCALE as b8, MIN_ZOOM_SCALE as b9, PasswordProtectionDialogComponent as bA, PasswordStrengthMeterComponent as bB, PowerPointViewerComponent as bC, PresentToolbarAutoHide as bD, PresentationAnnotationOverlayComponent as bE, PresentationAnnotationsService as bF, PresentationOverlayComponent as bG, PresentationPropertiesPanelComponent as bH, PresentationSettingsCardComponent as bI, PresentationSubtitleBarComponent as bJ, PresentationToolbarComponent as bK, PresentationTransitionOverlayComponent as bL, PresenterViewComponent as bM, PresenterWindowService as bN, PrintDialogComponent as bO, PrintService as bP, PrintSettingsPanelComponent as bQ, PropertiesDialogComponent as bR, REPEAT_MODE_OPTIONS as bS, RESIZE_HANDLES as bT, RULER_FONT_SIZE as bU, RULER_THICKNESS as bV, ReadingViewOverlayComponent as bW, RemoteSelectionOverlayComponent as bX, RibbonAnimationGalleryComponent as bY, RibbonAnimationsSectionComponent as bZ, RibbonArrangeSectionComponent as b_, MOTION_PATH_COLUMNS as ba, MediaPreviewComponent as bb, MediaPropertiesPanelComponent as bc, MediaRendererComponent as bd, MediaTrimTimelineComponent as be, MobileBottomBarComponent as bf, MobileMenuSheetComponent as bg, MobilePresenterViewComponent as bh, MobileSheetComponent as bi, MobileSlidesSheetComponent as bj, MobileToolbarComponent as bk, ModalDialogComponent as bl, Model3DRendererComponent as bm, NotesHandoutCardComponent as bn, NotesPanelComponent as bo, NotesToolbarComponent as bp, OleRendererComponent as bq, OutlineViewOverlayComponent as br, POWER_POINT_VIEWER_PROVIDERS as bs, PPTX_OPEN_ACCEPT as bt, PRESENTATION_OPEN_EXTENSIONS as bu, PRESENTER_CHANNEL_NAME as bv, PRESENTER_MSG_ORIGIN as bw, PRESENTER_TIMER_SEGMENT_MS as bx, PX_PER_CM as by, PX_PER_INCH as bz, AUDIENCE_NONCE_KEY as c, TEXT_3D_BOTTOM_BEVEL_KEYS as c$, RibbonComponent as c0, RibbonDesignSectionComponent as c1, RibbonDrawSectionComponent as c2, RibbonDrawingGroupComponent as c3, RibbonEditingSectionComponent as c4, RibbonFileSectionComponent as c5, RibbonFontControlsComponent as c6, RibbonHomeSectionComponent as c7, RibbonHyperlinkButtonComponent as c8, RibbonInsertFieldsComponent as c9, SettingsDialogComponent as cA, SettingsLanguageTabComponent as cB, ShareDialogComponent as cC, ShortcutPanelComponent as cD, ShowOptionsFieldsetComponent as cE, ShowSlidesFieldsetComponent as cF, SignatureStrippedDialogComponent as cG, SignaturesPanelComponent as cH, SignaturesService as cI, SlideBackgroundCardComponent as cJ, SlideCanvasComponent as cK, SlideDefaultInspectorComponent as cL, SlideDiffChangesComponent as cM, SlideDiffRowComponent as cN, SlideDiffThumbnailsComponent as cO, SlideSizeCardComponent as cP, SlideSorterOverlayComponent as cQ, SlideThemeOverridePanelComponent as cR, SlideTransitionCardComponent as cS, SlidesPanelComponent as cT, SmartArt3DRendererComponent as cU, SmartArt3DService as cV, SmartArtPreviewComponent as cW, SmartArtPropertiesComponent as cX, SmartArtRendererComponent as cY, StatusBarComponent as cZ, TABLE_STRUCTURE_TOGGLES as c_, RibbonInsertSectionComponent as ca, RibbonMotionPathGalleryComponent as cb, RibbonParagraphControlsComponent as cc, RibbonPrimaryRowComponent as cd, RibbonReviewSectionComponent as ce, RibbonShapeExtrasComponent as cf, RibbonSlideshowSectionComponent as cg, RibbonTransitionsSectionComponent as ch, RibbonViewSectionComponent as ci, RulerGuidesService as cj, SEQUENCE_OPTIONS as ck, SEVERITY_GROUPS as cl, SEVERITY_LABELS as cm, SHORTCUT_REFERENCE_ITEMS as cn, SLIDE_TRANSITION_KEYFRAMES as co, DEFAULT_PALETTE as cp, PALETTES$1 as cq, SMART_ART_COLOR_SCHEMES as cr, SMART_ART_STYLE_OPTIONS as cs, SUB_ITEM_LABEL as ct, SVG_WARP_PRESETS as cu, SWIPE_MAX_VERTICAL_PX as cv, SWIPE_THRESHOLD_PX as cw, SelectionPaneComponent as cx, SetUpSlideShowDialogComponent as cy, SettingsAppearanceTabComponent as cz, AVATAR_COLOR_SWATCHES as d, animationFor as d$, TEXT_3D_TOP_BEVEL_KEYS as d0, TEXT_DIRECTION_OPTIONS$1 as d1, THEME_CATALOG as d2, TIMING_CURVE_OPTIONS as d3, TRIGGER_OPTIONS as d4, TYPE_LABELS as d5, TableCellAdvancedFillComponent as d6, TableCellFormattingComponent as d7, TableDataEditorComponent as d8, TablePropertiesComponent as d9, ViewerExtraDialogsComponent as dA, ViewerFileIOService as dB, ViewerFindReplaceService as dC, ViewerFormatPainterService as dD, ViewerInspectorPanelService as dE, ViewerKeyboardService as dF, ViewerMobileSheetService as dG, ViewerPresentationModeService as dH, ViewerThemeGalleryService as dI, ViewerTouchGesturesService as dJ, ViewerZoomService as dK, WEBM_MIME_CANDIDATES as dL, WriteBackScheduler as dM, ZERO_LINE_COLOR as dN, ZoomNavigationService as dO, ZoomRendererComponent as dP, ZoomTargetService as dQ, addCategory as dR, addCommentToList as dS, addGradientStopPatch as dT, addItem as dU, addSeries as dV, addSubItem as dW, advanceStep as dX, affordanceElements as dY, aiToggleVisible as dZ, alignPatch as d_, TableRendererComponent as da, TableResizeOverlayComponent as db, TableSelectionService as dc, TagsCardComponent as dd, Text3DBevelSectionComponent as de, Text3DPanelComponent as df, TextAdvancedPanelComponent as dg, ThemeEditorFieldsComponent as dh, ThemeGalleryComponent as di, ThemeSelectorCardComponent as dj, TitleBarComponent as dk, TitleBarSearchComponent as dl, TransitionDirectionPickerComponent as dm, TransitionPreviewComponent as dn, VALIGN_OPTIONS as dp, VIEWER_THEME as dq, VersionHistoryPanelComponent as dr, ViewerCanvasEditingService as ds, ViewerCollabCursorService as dt, ViewerCollaborationSessionService as du, ViewerCompareService as dv, ViewerCustomShowsService as dw, ViewerDialogsService as dx, ViewerDocumentPropertiesService as dy, ViewerExportService as dz, AXIS_LABEL_COLOR as e, buildTrimFragment as e$, animationPresetLabelKey as e0, annotationMapToInkInserts as e1, applyAcceptedDiff as e2, applyAnimationPreset as e3, applyFindReplacements as e4, applyFormatToElement as e5, applyMove as e6, applyResize as e7, asMediaElement as e8, assignUserColor as e9, buildEquationElement as eA, buildEquationSegment as eB, buildFallbackViewModel as eC, buildFontFaceRule as eD, buildGradientFillCss as eE, buildGridlinesAndLabels as eF, buildHyperlinkPatch as eG, buildInkContainerStyle as eH, buildInkStrokes as eI, buildLegend as eJ, buildMarkTooltip as eK, buildModel3DContainerStyle as eL, buildModel3DViewModel as eM, buildOleActionModel as eN, buildOleInfoRows as eO, buildPatternFillCss as eP, buildPrintHtmlDocument as eQ, buildPropertiesPatch as eR, buildRegionMapViewModel as eS, buildSaveSlides as eT, buildShareUrl as eU, buildSmartArtInsertElement as eV, buildSmartArtNodes as eW, buildStockViewModel as eX, buildSurfaceViewModel as eY, buildTableViewModel as eZ, buildTreemapViewModel as e_, attachShowVisibilityPause as ea, attachTouchGestures as eb, axisTickValues as ec, beginNodeEdit as ed, bevelSizePatch as ee, boolFromEvent as ef, bringForward as eg, bringToFront as eh, buildBarActions as ei, buildBroadcastConfig as ej, buildBroadcastViewerUrl as ek, buildCategoryLabels as el, buildCellParagraphs as em, buildChartViewModel as en, buildChatLogExport as eo, buildChatLogMarkdown as ep, buildChromeStyle as eq, buildClearHyperlinkPatch as er, buildClickGroups as es, buildColStyles as et, buildCollaborationConfig as eu, buildComboViewModel as ev, buildCssGradientFromShapeStyle as ew, buildDuotoneFilter as ex, buildDuotoneFilterId as ey, buildEmbeddedFontStyles as ez, AccessibilityPanelComponent as f, computeScatterDots as f$, buildWaterfallViewModel as f0, buildZeroLine as f1, buildZoomContainerStyle as f2, buildZoomViewModel as f3, bulletIndentPx as f4, canAddTopLevelNode as f5, canGroupSelection as f6, canRemoveTopLevelNode as f7, canSetStrokeWidth as f8, canStartBroadcast as f9, columnWidthStyle as fA, commitNodeText as fB, computeAlign as fC, computeAxisTitlePrimitives as fD, computeBarRects as fE, computeBubbleRadius as fF, computeCornerHandle as fG, computeDataTablePrimitives as fH, computeDistribute as fI, computeDrawingViewBox as fJ, computeErrorBarPrimitives as fK, computeFocusTargets as fL, computeHandleBoxes as fM, computeHandoutLayout as fN, computeIsMobile as fO, computeIsTablet as fP, computeLinePoints as fQ, computeLinearRegression as fR, computePageCount as fS, computePieLayout as fT, computePieSlicePath as fU, computePieSlices as fV, computePlotLayout as fW, computeRSquared as fX, computeRadarPoints as fY, computeResizeHandleBoxes as fZ, computeRotateHandleBox as f_, canStartShare as fa, canUngroupSelection as fb, canUseClipboard as fc, captionDisplayText as fd, cellRunStyle as fe, cellStyleToStyleMap as ff, cellTdStyle as fg, changeCountLabel as fh, changeIcon as fi, characterSpacingPatch as fj, chartPreserveAspectRatio as fk, checkFontAvailable as fl, clampCursorPosition as fm, clampGifDimensions as fn, clampIndex as fo, clampNotesFontSize as fp, clampScale as fq, clampStep as fr, clearAllLocalViewerData as fs, clearAudienceContent as ft, cn as fu, collectAccessibilityIssues as fv, collectElementText as fw, collectSlideText as fx, collectStoredChats as fy, collectUsedFontFamilies as fz, AccessibilityService as g, formatBytes as g$, computeScatterXDomain as g0, computeSelectionBoxes as g1, computeSingleSelected as g2, computeSlideIndices as g3, computeSnap as g4, computeStackedBarRects as g5, computeStackedValueRange as g6, computeTrendlinePrimitives as g7, computeValueRange as g8, convertOmmlToMathMl as g9, duplicateElementById as gA, durationOf as gB, effectsStateOf as gC, enableGlowPatch as gD, enableInnerShadowPatch as gE, enableOuterShadowPatch as gF, enableReflectionPatch as gG, enableSoftEdgePatch as gH, encodeGif as gI, endShowMediaCleanup as gJ, estimatePageCount as gK, exitPresentationFullscreen as gL, exportAiChatLogs as gM, extractPathPoints as gN, eyedropperAvailable as gO, fillColorOf$1 as gP, findInSlides as gQ, findOwningSlideIndex as gR, findSlideIndexByElementId as gS, firstVisibleIndex as gT, fitPolynomial as gU, fitZoom as gV, focusTargetChips as gW, fontMimeForFormat as gX, fontSizeOf as gY, forgetSessionDeck as gZ, formatAxisValue as g_, copyFormatFromElement as ga, countAccessibilityIssues as gb, countAnnotationStrokes as gc, createAngularAiBridge as gd, createCustomShow as ge, createSwipeDismissDrag as gf, createWebrtcBundle as gg, createWebsocketBundle as gh, cssObjectToStyleMap as gi, currentColorScheme as gj, currentLayout as gk, currentStyle as gl, defaultCssVars as gm, defaultRadius as gn, defaultThemeColors as go, deleteElementsByIds as gp, deleteVersion as gq, demoteNode as gr, deriveModel3DBlobUrl as gs, derivePresenceList as gt, describeSmartArtBounds as gu, disableGlowPatch as gv, disableInnerShadowPatch as gw, disableOuterShadowPatch as gx, disableReflectionPatch as gy, disableSoftEdgePatch as gz, AccountPageComponent as h, isItalic as h$, formatCursorLabel as h0, formatElapsed as h1, formatFileSize as h2, formatPropertyDate as h3, formatTime as h4, fpsToFrameIntervalMs as h5, generateBroadcastRoomId as h6, generateCommentId as h7, generateCustomShowId as h8, generatePressureCircles as h9, getTouchDistance as hA, getWarpCategory as hB, getWarpPath as hC, gradientStateFromStyle as hD, gradientStateOf as hE, gradientStatePatch as hF, gridColumns as hG, groupIssuesBySeverity as hH, hasAnimation as hI, hasCopyableFormat as hJ, hasExistingLink as hK, hasExitedFullscreen as hL, hasGradientFill as hM, hasPressureVariation as hN, hasVisibleSlideAfter as hO, headerLabel as hP, imageDimensions as hQ, inkViewBox as hR, insertTableElementColumn as hS, insertTableElementRow as hT, interpolateWidth as hU, isAudienceTab as hV, isBold as hW, isBrowserOpenableMime as hX, isChildNode as hY, isElementInteractive as hZ, isInjectableUrl as h_, generateTicks as ha, getClrChangeParams as hb, getContainerStyle as hc, getDuotoneFilterDef as hd, getImageSrc as he, getLocalStorageUsageSummary as hf, getOleAriaLabel as hg, getOleBadgeLabel as hh, getOleDisplayName as hi, getOleDownloadFileName as hj, getOleTypeColor as hk, getOleTypeLabel as hl, getPasswordStrength as hm, getPatternSvg as hn, getPlaceholderStyle as ho, getVersions as hp, getResolvedShapeClipPath as hq, getResolvedShapeClipPathFor as hr, getSessionTabId as hs, getShapeFillStrokeStyle as ht, getSlideBackgroundStyle as hu, getSlideTransitionAnimations as hv, getSmartArtNodeBounds as hw, getSpeechRecognitionCtor as hx, getTextBlockStyle as hy, getTextWarp as hz, ActionSettingsPanelComponent as i, parseNodeTextarea as i$, isLegacyBinaryPresentation as i0, isPpactionUrl as i1, isPresenterMessage as i2, isSigned as i3, isSupportedPresentationFile as i4, isTextElement as i5, isTwoTableFocus as i6, isUnderline as i7, isUrlSafe as i8, isValidRoomId as i9, narrowToPolygon as iA, narrowToRect as iB, newChartElement as iC, newEquationElement as iD, newPresetShapeElement as iE, newShapeElement as iF, newSmartArtElement as iG, newTableElement as iH, newTextElement as iI, nextVisibleIndex as iJ, nodeBold as iK, nodeEditBox as iL, nodeFillColor as iM, nodeFontColor as iN, nodeIdFromKey as iO, nodeItalic as iP, nodeStyle as iQ, normalizeFontFormat as iR, normalizeSlidesPerPage as iS, normalizeValue as iT, numFromEvent as iU, ommlToMathml as iV, ooxmlDashToCssBorderStyle as iW, openNativeEyeDropper as iX, overallStatus as iY, paletteColor as iZ, parseAudienceNonce as i_, isViewportBackgroundPressTarget as ia, isZoomActivationKey as ib, issueTrackKey as ic, issueTypeLabel as id, keyToLabel as ie, lastVisibleIndex as ig, latexToMathml as ih, layoutConnectorPaints as ii, layoutNodeLabels as ij, linePointsToSvgString as ik, lineSpacingPatch as il, loadAudienceContent as im, loadSessionDeck as io, mediaFallbackFor as ip, mediaSurfaceFor as iq, mergeCaptionResults as ir, mergeDown as is, mergeRight as it, mergeSelection as iu, moveElementBy as iv, moveNodeDown as iw, moveNodeUp as ix, msToFrameDelayCs as iy, narrowToCircle as iz, AdvancedChartEditorComponent as j, routeOrthogonalConnector as j$, partitionSlides as j0, patchChartData as j1, patchChartStyle as j2, patchTableData as j3, patchTextStyle as j4, patternPresetOptions as j5, pendingElementStyles as j6, pickColorByClickFallback as j7, pickFile as j8, pickSupportedMimeType as j9, removeNode as jA, removeTableElementRow as jB, removeSeries as jC, renderToCanvas as jD, reorderAnimationDown as jE, reorderAnimationUp as jF, replaceInSlides as jG, replaceMatch as jH, requestPresentationFullscreen as jI, resizeElement as jJ, resolveCaptionTracks as jK, resolveChartKind as jL, resolveFontVariant as jM, resolveHyperlinkHref as jN, resolveInteractiveElementId as jO, resolveMediaSrc as jP, resolveOleType as jQ, resolveParagraphBullet as jR, resolvePresenterNotes as jS, resolveProfileInitial as jT, resolveRegionCode as jU, resolveSlideAutoAdvanceMs as jV, resolvePalette as jW, resolveThemeCatalogEntry as jX, resolveTransitionDuration as jY, restoreSessionDeck as jZ, revealedElementStyles as j_, planGifFrames as ja, planVideoSegments as jb, pointsToSvgPathD as jc, presenceToCursors as jd, presentationBaseName as je, presentationStageStyle as jf, presenterTimerProgress as jg, presetByLayout as jh, presetsForCategory as ji, pressuresToWidths as jj, prevVisibleIndex as jk, projectDrawingShapes as jl, promoteNode as jm, provideViewerTheme as jn, radarAngle as jo, radarRingPoints as jp, readAsDataUrl as jq, recordWebm as jr, registerCrossSlideAudio as js, rememberSessionDeck as jt, removeAnimation as ju, removeCategory as jv, removeTableElementColumn as jw, removeCommentFromList as jx, removeElementAnimation as jy, removeGradientStopPatch as jz, AiChangeOverlayComponent as k, shouldBlockClickAdvance as k$, rowStyle as k0, rulerDragToGuidePosition as k1, rulerHighlight as k2, rulerStripTicks as k3, sampleColorFromSlide as k4, sanitizeColor as k5, sanitizeSlideIndex as k6, sanitizeUserName as k7, saveViewerProfile as k8, savedPresentationFileName as k9, setDataPointMarker as kA, setDelay as kB, setDirection as kC, setDuration as kD, setElementPosition as kE, setGridlineStyle as kF, setLayout as kG, setLegend as kH, setNodeStyle as kI, setNodeText as kJ, setRepeatCount as kK, setRepeatMode as kL, setSequence as kM, setSeriesChartType as kN, setSeriesColor as kO, setSeriesErrorBars as kP, setSeriesMarker as kQ, setSeriesName as kR, setSeriesTrendline as kS, setSeriesValue as kT, setStyle as kU, setTimingCurve as kV, setTitle as kW, setTrigger as kX, setTriggerShapeId as kY, shapeStylePatch$1 as kZ, sheetAfterNavigate as k_, scanAvailableFonts as ka, searchSlides as kb, seedBroadcastFields as kc, seedHyperlinkDraft as kd, seedPropertiesDraft as ke, seedShareFields as kf, segmentFrameCount as kg, selectValue$2 as kh, sendBackward as ki, sendToBack as kj, sequentialColorScale as kk, serializeWriteBack as kl, seriesColor as km, setAnimationEmphasis as kn, setAnimationEntrance as ko, setAnimationExit as kp, setAxis as kq, setAxisLogScale as kr, setAxisTitleStyle as ks, setCategoryLabel as kt, setCellText as ku, setColorScheme as kv, setDataLabels as kw, setDataPointExplosion as kx, setDataPointFill as ky, setDataPointLabel as kz, AiChatPanelComponent as l, shouldUseSvgWarp as l0, showDirectionPicker as l1, showsTemplateAffordance as l2, signatureCountLabel as l3, signatureKey as l4, signatureTimestamp as l5, signerName as l6, statusLabel as l7, slideNumberOf as l8, slidesWithReappliedLayout as l9, toggleNodeItalic as lA, toggleSheet as lB, topLevelNodeCount as lC, transformSelectedTextCase as lD, translationsEn as lE, updateElementById as lF, updateGlowPatch as lG, updateGradientStopPatch as lH, updateInnerShadowPatch as lI, updateOuterShadowPatch as lJ, updateReflectionPatch as lK, vAlignPatch as lL, validatePassword as lM, validatePrintSettings as lN, validateRoomId as lO, valueToY as lP, vermilionDarkColors as lQ, vermilionDarkTheme as lR, vermilionLightColors as lS, vermilionLightTheme as lT, vermilionRadius as lU, waypointsToPathD as lV, worstStatus as lW, zoomTargetSlideIndex as lX, smartArtNodes as la, paletteColour as lb, snapToGridStep as lc, splitCursorCell as ld, splitMergedCell as le, statusKind as lf, statusLabel$1 as lg, storeAudienceContent as lh, stringFromEvent$5 as li, strokeColorOf as lj, strokeToInkElement as lk, strokeWidthOf as ll, styleShadowFilter as lm, textAdvancedPatch as ln, textAdvancedStateFromStyle as lo, textAdvancedStateOf as lp, textColorOf as lq, textDirectionPatch as lr, textStyleOf as ls, textStylePatch as lt, themeStyle as lu, themeToCssVars as lv, thumbnailHeight as lw, thumbnailZoom as lx, toggleCommentResolvedInList as ly, toggleNodeBold as lz, AiChatService as m, AiComposerComponent as n, AiFocusBarComponent as o, AiFocusHighlightOverlayComponent as p, AiHistoryMenuComponent as q, AiHistoryService as r, AiMessageListComponent as s, toChatSummary as t, AiPanelStore as u, AiProposalCardComponent as v, AiSettingsSectionComponent as w, AiToolCallCardComponent as x, AnimationAuthorPanelComponent as y, AnimationPanelComponent as z };
|
|
138681
|
+
//# sourceMappingURL=pptx-angular-viewer-pptx-angular-viewer-CrwHoTrs.mjs.map
|