ooxml-ui 1.26.1 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/building-block-styles.d.ts +1 -0
- package/dist/chart/data-sheet-keys.d.ts +0 -1
- package/dist/chart/format-pane-3d.d.ts +1 -0
- package/dist/chart/format-pane-locales/fr.d.ts +1 -0
- package/dist/chart/format-pane-locales/index.d.ts +1 -0
- package/dist/chart/format-pane-text.d.ts +0 -1
- package/dist/chart/format-pane-translate.d.ts +1 -0
- package/dist/chrome/backstage.d.ts +2 -1
- package/dist/chrome/find-bar.d.ts +2 -1
- package/dist/{chunk-WH3EGA3S.js → chunk-2EFIFIPB.js} +2 -2
- package/dist/{chunk-P4FRKIPE.js → chunk-W2JD75LX.js} +1 -0
- package/dist/dialog/chart-picker.d.ts +2 -1
- package/dist/dialog/options-categories.d.ts +1 -0
- package/dist/docx/print-picture.d.ts +1 -0
- package/dist/docx.js +3 -2
- package/dist/index.js +3 -3
- package/dist/menu/command-search.d.ts +2 -1
- package/dist/menu/menu-separator.d.ts +2 -1
- package/dist/notices/toasts.d.ts +2 -1
- package/dist/pptx/{chunk-3ZI57W7O.mjs → chunk-3LOVEO7U.mjs} +5 -0
- package/dist/pptx/{chunk-NHRL2D4I.mjs → chunk-6QLGEV3I.mjs} +1432 -456
- package/dist/pptx/{chunk-BC23E73O.cjs → chunk-A3JJOLTS.cjs} +43 -43
- package/dist/pptx/{chunk-OOQMIQT3.cjs → chunk-GWKTHP6U.cjs} +0 -23
- package/dist/pptx/{chunk-BGABXFCV.cjs → chunk-I6ZVSJAR.cjs} +1462 -489
- package/dist/pptx/{chunk-CZUEATSN.mjs → chunk-LAF5W2UR.mjs} +1 -1
- package/dist/pptx/{chunk-LB3A3GF6.mjs → chunk-MJACF7Y2.mjs} +0 -23
- package/dist/pptx/{chunk-X4FNVH7J.cjs → chunk-YMITEJST.cjs} +32 -0
- package/dist/pptx/dom/index.cjs +389 -389
- package/dist/pptx/dom/index.mjs +8 -8
- package/dist/pptx/export/index.d.ts +1 -0
- package/dist/pptx/export/index.d.ts.map +1 -1
- package/dist/pptx/export/print-document.cjs +17 -17
- package/dist/pptx/export/print-document.d.ts +7 -5
- package/dist/pptx/export/print-document.d.ts.map +1 -1
- package/dist/pptx/export/print-document.mjs +1 -1
- package/dist/pptx/export/print-job.d.ts +134 -0
- package/dist/pptx/export/print-job.d.ts.map +1 -0
- package/dist/pptx/i18n/index.cjs +6 -6
- package/dist/pptx/i18n/index.mjs +1 -1
- package/dist/pptx/i18n/translations-en.d.ts.map +1 -1
- package/dist/pptx/index.cjs +3143 -3031
- package/dist/pptx/index.mjs +3 -3
- package/dist/pptx/render/controller/history-controller.d.ts +6 -0
- package/dist/pptx/render/controller/history-controller.d.ts.map +1 -1
- package/dist/pptx/render/deck-save-encryption.d.ts +10 -1
- package/dist/pptx/render/deck-save-encryption.d.ts.map +1 -1
- package/dist/pptx/render/deck-style.d.ts +12 -1
- package/dist/pptx/render/deck-style.d.ts.map +1 -1
- package/dist/pptx/render/google-webfonts.d.ts +32 -1
- package/dist/pptx/render/google-webfonts.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +4 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/inserted-slide-layout.d.ts +28 -0
- package/dist/pptx/render/inserted-slide-layout.d.ts.map +1 -0
- package/dist/pptx/render/inspector/index.d.ts +2 -0
- package/dist/pptx/render/inspector/index.d.ts.map +1 -1
- package/dist/pptx/render/inspector/text-effect-fields.d.ts +29 -0
- package/dist/pptx/render/inspector/text-effect-fields.d.ts.map +1 -0
- package/dist/pptx/render/master-view-crud-history.d.ts +45 -0
- package/dist/pptx/render/master-view-crud-history.d.ts.map +1 -0
- package/dist/pptx/render/master-view-crud.d.ts +11 -0
- package/dist/pptx/render/master-view-crud.d.ts.map +1 -1
- package/dist/pptx/render/morph-animation.d.ts +11 -2
- package/dist/pptx/render/morph-animation.d.ts.map +1 -1
- package/dist/pptx/render/morph-geometry-keyframes.d.ts.map +1 -1
- package/dist/pptx/render/morph-matching.d.ts +1 -0
- package/dist/pptx/render/morph-matching.d.ts.map +1 -1
- package/dist/pptx/render/morph-stacked-copies.d.ts +20 -0
- package/dist/pptx/render/morph-stacked-copies.d.ts.map +1 -0
- package/dist/pptx/render/morph-text-flow.d.ts +48 -0
- package/dist/pptx/render/morph-text-flow.d.ts.map +1 -0
- package/dist/pptx/render/shape-geometry-cascade.d.ts.map +1 -1
- package/dist/pptx/render/stroke-clip-edge.d.ts +27 -0
- package/dist/pptx/render/stroke-clip-edge.d.ts.map +1 -0
- package/dist/pptx/render/stroke-clip-outset.d.ts +11 -1
- package/dist/pptx/render/stroke-clip-outset.d.ts.map +1 -1
- package/dist/pptx/render/stroke-outline.d.ts +13 -0
- package/dist/pptx/render/stroke-outline.d.ts.map +1 -1
- package/dist/pptx/render/stroke-style.d.ts +10 -1
- package/dist/pptx/render/stroke-style.d.ts.map +1 -1
- package/dist/pptx/render/theme-by-path.d.ts +61 -0
- package/dist/pptx/render/theme-by-path.d.ts.map +1 -0
- package/dist/pptx/render/theme-history.d.ts +146 -0
- package/dist/pptx/render/theme-history.d.ts.map +1 -0
- package/dist/pptx/render/theme-write-queue.d.ts +21 -0
- package/dist/pptx/render/theme-write-queue.d.ts.map +1 -0
- package/dist/pptx/render/viewer-preferences.d.ts +11 -0
- package/dist/pptx/render/viewer-preferences.d.ts.map +1 -1
- package/dist/pptx/render/viewer-props-manifest.d.ts.map +1 -1
- package/dist/pptx/{smartart-insert-preview-TYCMBIUH.cjs → smartart-insert-preview-AERZURUO.cjs} +5 -5
- package/dist/pptx/{smartart-insert-preview-TJEN4WYF.mjs → smartart-insert-preview-CGAZP5JP.mjs} +4 -4
- package/dist/ribbon/keytip-run.d.ts +1 -0
- package/dist/ribbon/ribbon-stack.d.ts +2 -1
- package/dist/smartart.js +1 -1
- package/dist/teams.js +1 -1
- package/dist/theme-bridge.d.ts +0 -1
- package/dist/theme.d.ts +1 -0
- package/dist/xlsx/grid/styles.d.ts +1 -1
- package/dist/xlsx.js +5 -5
- package/package.json +2 -2
- /package/dist/{chunk-HGLCXNCT.js → chunk-WBE2Q5DC.js} +0 -0
|
@@ -10,21 +10,21 @@ import { createImageElementFromFile } from './chunk-L55MIOBC.mjs';
|
|
|
10
10
|
import { withExclusiveLineSpacing, splitTextStyleUpdate, mergeTextStyleUpdate, overrideParagraphProperties, TEXT_DECORATION_FLAGS, reconcileDecorationFlags, overrideParagraphIndents, paragraphOverridePatch } from './chunk-7DIZOCO4.mjs';
|
|
11
11
|
import { CHARACTER_SPACING_OPTIONS, CHANGE_CASE_OPTIONS, LINE_SPACING_OPTIONS, COMMON_FONT_SIZES } from './chunk-SMSCEGAE.mjs';
|
|
12
12
|
import { isCurrentLayout } from './chunk-7BHPBO2O.mjs';
|
|
13
|
-
import { OOXML_PATTERN_PRESETS, resolveChartKind, buildChartViewModel, withResolvedPalette, computeHistogramBins, orderParetoEntries, cumulativePercentOfTotal,
|
|
13
|
+
import { OOXML_PATTERN_PRESETS, resolveChartKind, buildChartViewModel, withResolvedPalette, computeHistogramBins, orderParetoEntries, cumulativePercentOfTotal, getCssBorderDashStyle, normalizeStrokeDashType, DEFAULT_STROKE_COLOR, colorWithOpacity, normalizeHexColor, getPatternTile, getSvgStrokeDasharray, getComputedFillStyle, setBoundedRenderCache, parseDrawingPercent, clampUnitInterval, DEFAULT_TEXT_FONT_SIZE, applyParetoConversion, chartGridlinesPatch, computeChartLegendLayout, chartAxisIndex, chartPlotBounds, HYPERLINK_COLOR, getPatternSvg, clampCropValue, buildRectPathGradientImage, DEFAULT_FONT_FAMILY, DEFAULT_TEXT_COLOR, DEFAULT_BODY_INSET_TB_PX, DEFAULT_BODY_INSET_LR_PX, buildDashArray, wrapTextByEstimatedWidth, getPptxRenderCacheEpoch, invalidatePptxRenderCacheEpoch, clearBarFacePicturePixelCache, isSeriesOnSecondaryAxis, computeGradientCenter, sanitizeGradientStops, chartGridlinesState, chartTextBox, buildRectPathGradientSvg, DEFAULT_BAR_GAP_WIDTH, axisTickValues, buildGradientCss, estimateTextWidth, formatAxisValueWithUnits } from './chunk-34LEUH5R.mjs';
|
|
14
14
|
import { tiltChannelsFromVectors, buildInkStrokeView } from './chunk-IB6ZM2E2.mjs';
|
|
15
15
|
import { hasPressureVariation, resolveInkOpacity } from './chunk-JA7WYSRE.mjs';
|
|
16
|
-
import { screenBorder, screenStrokeWidth, settleThreeViews, withAuthoredStrokeWidths, snapshotThreeViewsIntoClone, prepareExportClone } from './chunk-AMW2AR7J.mjs';
|
|
17
|
-
import { sanitizeMarkupOrEmpty } from './chunk-
|
|
16
|
+
import { screenBorder, screenStrokeWidth, settleThreeViews, withAuthoredStrokeWidths, snapshotThreeViewsIntoClone, prepareExportClone, DEVICE_PX_VAR } from './chunk-AMW2AR7J.mjs';
|
|
17
|
+
import { sanitizeMarkupOrEmpty, getCommentMarkerPosition, validatePrintSettings, computeSlideIndices, filterHiddenSlideIndices, buildOutlineHtml, buildPrintHtmlDocument, computeColorFilter, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml } from './chunk-3LOVEO7U.mjs';
|
|
18
18
|
import { escapeHtml } from './chunk-IEAO7N4E.mjs';
|
|
19
19
|
import { upsert, animationFor } from './chunk-PMURSMHH.mjs';
|
|
20
20
|
import { animationPresetLabelKey } from './chunk-T7FRLIDM.mjs';
|
|
21
21
|
import { TOUCH, tok, OFFICE_TOKENS, installOfficeUiTheme, withOfficeThemeCss, installOfficeUiThemeFor, LEGACY_OFFICE_THEME_TOKENS, legacyThemeBridge, GALLERY_THEME_PRESETS, activeGalleryThemePreset } from './chunk-MK2ASJSY.mjs';
|
|
22
22
|
import { resolveTableCellImageUrls, resolveTextFillBlipUrls, collectMediaElements, resolveMediaElementSource } from './chunk-AEQGGKRZ.mjs';
|
|
23
|
-
import { CHART_FORMAT_STRINGS, CHART_FORMAT_LOCALES, translationsEn } from './chunk-
|
|
23
|
+
import { CHART_FORMAT_STRINGS, CHART_FORMAT_LOCALES, translationsEn } from './chunk-MJACF7Y2.mjs';
|
|
24
24
|
import { createControllerStore } from './chunk-WM5SW737.mjs';
|
|
25
25
|
import { updateTextSegmentStyle } from './chunk-PEDGPFLR.mjs';
|
|
26
26
|
import { A4_PORTRAIT } from './chunk-WHUMPYEM.mjs';
|
|
27
|
-
import { addSmartArtNode, addSmartArtNodeBefore, addSmartArtNodeAbove, addSmartArtNodeAsChild, evaluatePresetShape, flattenNodes, updateMergeAttrsInRawXml, chartDataToSheet, chartDataApplySheetEdits, chartSupportsSecondaryAxis, isChartSeriesOnSecondaryAxis, readChartElementFormat, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, parseChartFormatTargetKey, withChartSeriesOnSecondaryAxis, withChartSeriesOptions, withChartAxisOptions, withChartLegendOptions, withChartDataLabelOptions, withChartElementFormat, reorderSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, createChartElement, interpretSmartArtLayout, styleStroke, strokeFor, nodeTextStyle, fitFontSize, truncate, nodeOpacity, nodeStroke, nodeFill, styleShadow, gearPoints, buildTree, treeWidth, treeDepth, MIN_ELEMENT_SIZE, makeStoreAwareId, evaluateCustomGeometryPathData, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, getShapeType, isImageLikeElement, hasShapeProperties, getElementTextContent, getRoundRectRadiusPx, hasTextProperties, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, evaluateGuides, deobfuscateFont, chartDataChangeType, resetChartElementFormat, isNativeAfterAnimationOnly, resolveThemeColorRef, resolveOoxmlPresetMapping, getCapturedPreset, resolveDirectionSubtype, capturedPresetNativeAnimation, timingCurveToAccelDecel, applyAfterAnimationFromEditorList, getSubstituteFontFamily, parsePanoseString, EMU_PER_PX as EMU_PER_PX$1, DEFAULT_POWERPOINT_TABLE_STYLE_ID, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, createAutoNumberSequence, nextAutoNumber, breakAutoNumberRun, getLinkedTextBoxSegments, deriveSlideTitle, svgPathToPolygons, createBuiltinVariables, resolveCoordinate, getPresetConnectionSites, getConnectorPathGeometry, detectFontFormat, createEditorId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, renameSlideMaster, deleteSlideMaster, duplicateSlideMaster, insertSlideMaster, renameLayout, deleteLayout, duplicateLayout, insertLayout, switchSmartArtLayout, resolveModifyVerifierAlgorithmName, verifyModifyPassword, evaluateCustomGeometryPaths, cloneElement, SLIDE_PACKAGE_CLIPBOARD_MIME, deserializeSlidePackageClipboard, importSlidePackage, PptxHandler, createSlideClipboardPackage, serializeSlidePackageClipboard, serializePptxToJson, PPTX_JSON_MIME_TYPE, douglasPeucker, resolveEffectTiming, lookupPresetShape, normalizeStShapeType, resolveCustomGeometryGuideContext, smartArtQuickStyleHas3d, relayoutSmartArt, customGeometryPathsToSvgSubpaths, BACKGROUND_STYLE_PRESETS, THEME_EFFECT_SCHEMES, findThemeEffectSchemeByName, SWITCHABLE_LAYOUT_TYPES, reResolveSlideFonts,
|
|
27
|
+
import { addSmartArtNode, addSmartArtNodeBefore, addSmartArtNodeAbove, addSmartArtNodeAsChild, evaluatePresetShape, flattenNodes, updateMergeAttrsInRawXml, chartDataToSheet, chartDataApplySheetEdits, chartSupportsSecondaryAxis, isChartSeriesOnSecondaryAxis, readChartElementFormat, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, parseChartFormatTargetKey, withChartSeriesOnSecondaryAxis, withChartSeriesOptions, withChartAxisOptions, withChartLegendOptions, withChartDataLabelOptions, withChartElementFormat, reorderSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, removeSmartArtNode, createChartElement, interpretSmartArtLayout, styleStroke, strokeFor, nodeTextStyle, fitFontSize, truncate, nodeOpacity, nodeStroke, nodeFill, styleShadow, gearPoints, buildTree, treeWidth, treeDepth, MIN_ELEMENT_SIZE, makeStoreAwareId, evaluateCustomGeometryPathData, getShapeClipPath, getAdjustmentAwareClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, getShapeType, isImageLikeElement, hasShapeProperties, getElementTextContent, getRoundRectRadiusPx, hasTextProperties, applyDrawingColorTransforms as applyDrawingColorTransforms$1, hslToRgb as hslToRgb$1, PRESET_COLOR_MAP, evaluateGuides, deobfuscateFont, chartDataChangeType, resetChartElementFormat, isNativeAfterAnimationOnly, resolveThemeColorRef, resolveOoxmlPresetMapping, getCapturedPreset, resolveDirectionSubtype, capturedPresetNativeAnimation, timingCurveToAccelDecel, applyAfterAnimationFromEditorList, getSubstituteFontFamily, parsePanoseString, EMU_PER_PX as EMU_PER_PX$1, DEFAULT_POWERPOINT_TABLE_STYLE_ID, DEFAULT_SCHEME_COLOR_MAP as DEFAULT_SCHEME_COLOR_MAP$1, ELEMENT_PARAGRAPH_GEOMETRY_KEYS, createAutoNumberSequence, nextAutoNumber, breakAutoNumberRun, getLinkedTextBoxSegments, deriveSlideTitle, svgPathToPolygons, createBuiltinVariables, resolveCoordinate, getPresetConnectionSites, getConnectorPathGeometry, detectFontFormat, createEditorId, reassignDescendantIds, checkMissingAltText, checkMissingSlideTitle, checkLowContrast, checkComplexTables, checkBlankSlide, checkDuplicateTitles, renameSlideMaster, deleteSlideMaster, duplicateSlideMaster, insertSlideMaster, renameLayout, deleteLayout, duplicateLayout, insertLayout, switchSmartArtLayout, buildThemeColorMap, resolveModifyVerifierAlgorithmName, verifyModifyPassword, evaluateCustomGeometryPaths, cloneElement, SLIDE_PACKAGE_CLIPBOARD_MIME, deserializeSlidePackageClipboard, importSlidePackage, PptxHandler, createSlideClipboardPackage, serializeSlidePackageClipboard, serializePptxToJson, PPTX_JSON_MIME_TYPE, douglasPeucker, resolveEffectTiming, lookupPresetShape, normalizeStShapeType, resolveCustomGeometryGuideContext, smartArtQuickStyleHas3d, relayoutSmartArt, customGeometryPathsToSvgSubpaths, BACKGROUND_STYLE_PRESETS, THEME_EFFECT_SCHEMES, findThemeEffectSchemeByName, SWITCHABLE_LAYOUT_TYPES, reResolveSlideFonts, reResolveSlideColors, reResolveElementColors, reResolveElementFonts, resolveOpacitySet, resolveTableBackgroundFillRef, resolveCustomGeometryToken, formatSchemeKey, cropShapeForPresetGeometry, resolveVisibilitySetTiming, resolveTableStyleLineRef, backgroundStylePreset, ooxmlGradientAngleToCssDegrees, themeColorRefFromColorChoice } from 'ooxml-core/pptx';
|
|
28
28
|
export { AFTER_ANIMATION_VALUES, DEFAULT_AFTER_ANIMATION_DIM_COLOR, algorithmParam, applySpeedToDuration, buildTree, chartGridAddCategory, chartGridAddSeries, chartGridRemoveCategory, chartGridRemoveSeries, chartGridSetCategoryLabel, chartGridSetCellValue, chevronPoints, colour, discoverArrangement, findConstraint, fitFontSize, flattenNodes, gearPoints, getAfterAnimation, getAfterAnimationState, interpretSmartArtLayout, isNativeAfterAnimationOnly, itemNode, nodeFill, nodeOpacity, nodeStroke, nodeTextStyle, numericParam, ratioConstraint, reassignDescendantIds, resolveEffectTiming, resolveFlowDirection, resolveIterationCount, setAfterAnimation, setAfterAnimationColor, shouldHoldEndState, strokeFor, styleShadow, styleStroke, treeDepth, treeWidth, truncate } from 'ooxml-core/pptx';
|
|
29
29
|
import { OFFICE_STANDARD_COLORS, normalizePaletteHex, buildThemePalette, hexToRgbUnit, contrastTextColor, colorWithOpacity as colorWithOpacity$1, parseHex } from 'ooxml-core/color';
|
|
30
30
|
export { contrastTextColor, hexToRgbUnit, parseHex } from 'ooxml-core/color';
|
|
@@ -50,8 +50,6 @@ export { appendTableElementColumn, appendTableElementRow, insertTableElementColu
|
|
|
50
50
|
export { computeMergeCellDown, computeMergeCellRight, computeSplitCell } from 'ooxml-core/pptx/editor/render/table-cell-merge';
|
|
51
51
|
import { cloneSlide } from 'ooxml-core/pptx/editor/render/clone';
|
|
52
52
|
export { cloneChartData, cloneElement, cloneElementAnimation, cloneHistorySnapshot, cloneShapeStyle, cloneSlide, cloneSlideTransition, cloneSmartArtData, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject } from 'ooxml-core/pptx/editor/render/clone';
|
|
53
|
-
import { getCommentMarkerPosition } from 'ooxml-core/pptx/editor/render/element';
|
|
54
|
-
export { formatCommentTimestamp, getCommentMarkerPosition, getConnectionSitePosition, getElementLabel, isEditableTextElement, isTemplateElement, isTemplateElementId } from 'ooxml-core/pptx/editor/render/element';
|
|
55
53
|
import { SHAPE_GALLERY_CATEGORIES, shapeGalleryCategoryKey, shapeGalleryNameKey, RESIZE_HANDLE_GEOMETRY, computeSnap, snapToGridStep, routeOrthogonalConnector, waypointsToPathD, elbowSegmentCount, curvedElbowPathD, arrowKeyDelta, flattenSvgPath, applyDragDelta, computeSnapToShape, applyResize, createRotationDrag, boxCenter, snapAngle, resolveRotateHandlePlacement, elbowWaypoints as elbowWaypoints$1 } from 'ooxml-core/geometry';
|
|
56
54
|
export { CANVAS_SENTINEL, PADDING_DEFAULT, RESIZE_HANDLES, RESIZE_HANDLE_GEOMETRY, ROTATE_STEM_PX, ROUTING_PADDING_DEFAULT, SNAP_THRESHOLD, aStarOrthogonal, alignElements, applyDragDelta, applyResize, boxCenter, buildGraphNodes, computeAlign, computeDistribute, computeRotation, computeSnap, computeSnapToShape, createRotationDrag, directPathClear, distributeElements, heuristic, inflateRect, pointInRect, pointKey, resolveAlignReferenceBox, rotateDelta, routeConnector, routeOrthogonalConnector, segmentIntersectsRect, simplifyPath, snapAngle, snapBox, snapToGridStep, snapValue, usesSlideReference, waypointsToPathD, waypointsToPathData } from 'ooxml-core/geometry';
|
|
57
55
|
import { canInteractWithElement } from 'ooxml-core/pptx/editor/render/element-locks';
|
|
@@ -114,7 +112,8 @@ import { visibleTemplateElements, buildSaveSlides, partitionTemplateElements } f
|
|
|
114
112
|
export { buildSaveSlides, findTemplateElement, isElementIdInteractive, partitionTemplateElements, setTemplateElements, visibleTemplateElements } from 'ooxml-core/pptx/editor/render/template-editing';
|
|
115
113
|
import { THEME_COLOR_SWATCH_COLUMN_LABEL_KEYS, THEME_COLOR_SWATCH_VARIANT_LABEL_KEYS, buildThemeColorSwatchGrid, findSelectedThemeSwatch, themeColorSwatchRows, themeSwatchCommit } from 'ooxml-core/pptx/ui';
|
|
116
114
|
export { THEME_COLOR_SWATCH_COLUMN_LABEL_KEYS, THEME_COLOR_SWATCH_VARIANT_LABEL_KEYS, buildThemeColorSwatchGrid, customColorCommit, describeThemeColorSwatch, findSelectedThemeSwatch, themeColorRefsEqual, themeColorSwatchRows, themeColorVariantOfRef, themeColorVariantToRef, themeColorVariantsForLuminance, themeSwatchCommit } from 'ooxml-core/pptx/ui';
|
|
117
|
-
|
|
115
|
+
import { saveDeckWithPassword as saveDeckWithPassword$1 } from 'ooxml-core/pptx/editor/render/deck-save-encryption';
|
|
116
|
+
export { isEncryptedDeckBytes, planDeckSave, recoverySnapshotIntent } from 'ooxml-core/pptx/editor/render/deck-save-encryption';
|
|
118
117
|
import { tableStyleSaveOptions } from 'ooxml-core/pptx/editor/render/table-style-map-edits';
|
|
119
118
|
export { applyTableStyleDelete, applyTableStyleMapChange, tableStyleAssignmentUpdate, tableStyleSaveOptions } from 'ooxml-core/pptx/editor/render/table-style-map-edits';
|
|
120
119
|
import { findRibbonAddInCommand, RIBBON_ADD_IN_EVENT, acceptedRibbonAddIns } from 'ooxml-core/ribbon';
|
|
@@ -1269,6 +1268,315 @@ function buildCustomPathMarkers(element, stroke) {
|
|
|
1269
1268
|
const end = add2("End");
|
|
1270
1269
|
return { markup: markup.join(""), start, end };
|
|
1271
1270
|
}
|
|
1271
|
+
|
|
1272
|
+
// src/pptx/render/stroke-clip-outset.ts
|
|
1273
|
+
var SVG_DEFAULT_JOIN = { join: "miter", miterLimit: 4 };
|
|
1274
|
+
var ROUND_JOIN_STEPS = 16;
|
|
1275
|
+
var CURVE_STEPS = 16;
|
|
1276
|
+
function flattenArc(from, rx, ry, rotationDeg, largeArc, sweep, to) {
|
|
1277
|
+
if (rx === 0 || ry === 0 || from[0] === to[0] && from[1] === to[1]) {
|
|
1278
|
+
return [to];
|
|
1279
|
+
}
|
|
1280
|
+
const phi = rotationDeg * Math.PI / 180;
|
|
1281
|
+
const cosPhi = Math.cos(phi);
|
|
1282
|
+
const sinPhi = Math.sin(phi);
|
|
1283
|
+
const dx = (from[0] - to[0]) / 2;
|
|
1284
|
+
const dy = (from[1] - to[1]) / 2;
|
|
1285
|
+
const x1 = cosPhi * dx + sinPhi * dy;
|
|
1286
|
+
const y1 = -sinPhi * dx + cosPhi * dy;
|
|
1287
|
+
let radiusX = Math.abs(rx);
|
|
1288
|
+
let radiusY = Math.abs(ry);
|
|
1289
|
+
const lambda = x1 * x1 / (radiusX * radiusX) + y1 * y1 / (radiusY * radiusY);
|
|
1290
|
+
if (lambda > 1) {
|
|
1291
|
+
const scale2 = Math.sqrt(lambda);
|
|
1292
|
+
radiusX *= scale2;
|
|
1293
|
+
radiusY *= scale2;
|
|
1294
|
+
}
|
|
1295
|
+
const numerator = radiusX * radiusX * radiusY * radiusY - radiusX * radiusX * y1 * y1 - radiusY * radiusY * x1 * x1;
|
|
1296
|
+
const denominator = radiusX * radiusX * y1 * y1 + radiusY * radiusY * x1 * x1;
|
|
1297
|
+
const coefficient = (largeArc === sweep ? -1 : 1) * Math.sqrt(Math.max(0, numerator / denominator));
|
|
1298
|
+
const cxp = coefficient * radiusX * y1 / radiusY;
|
|
1299
|
+
const cyp = -coefficient * radiusY * x1 / radiusX;
|
|
1300
|
+
const cx = cosPhi * cxp - sinPhi * cyp + (from[0] + to[0]) / 2;
|
|
1301
|
+
const cy = sinPhi * cxp + cosPhi * cyp + (from[1] + to[1]) / 2;
|
|
1302
|
+
const angle = (ux, uy, vx, vy) => {
|
|
1303
|
+
const sign = ux * vy - uy * vx < 0 ? -1 : 1;
|
|
1304
|
+
const dot = (ux * vx + uy * vy) / (Math.hypot(ux, uy) * Math.hypot(vx, vy));
|
|
1305
|
+
return sign * Math.acos(Math.max(-1, Math.min(1, dot)));
|
|
1306
|
+
};
|
|
1307
|
+
const theta1 = angle(1, 0, (x1 - cxp) / radiusX, (y1 - cyp) / radiusY);
|
|
1308
|
+
let delta = angle(
|
|
1309
|
+
(x1 - cxp) / radiusX,
|
|
1310
|
+
(y1 - cyp) / radiusY,
|
|
1311
|
+
(-x1 - cxp) / radiusX,
|
|
1312
|
+
(-y1 - cyp) / radiusY
|
|
1313
|
+
);
|
|
1314
|
+
if (!sweep && delta > 0) {
|
|
1315
|
+
delta -= 2 * Math.PI;
|
|
1316
|
+
} else if (sweep && delta < 0) {
|
|
1317
|
+
delta += 2 * Math.PI;
|
|
1318
|
+
}
|
|
1319
|
+
const out = [];
|
|
1320
|
+
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1321
|
+
const t2 = theta1 + delta * step2 / CURVE_STEPS;
|
|
1322
|
+
const px3 = radiusX * Math.cos(t2);
|
|
1323
|
+
const py = radiusY * Math.sin(t2);
|
|
1324
|
+
out.push([cosPhi * px3 - sinPhi * py + cx, sinPhi * px3 + cosPhi * py + cy]);
|
|
1325
|
+
}
|
|
1326
|
+
return out;
|
|
1327
|
+
}
|
|
1328
|
+
function flattenPath(d) {
|
|
1329
|
+
const tokens = d.match(/[A-Za-z]|-?\d*\.?\d+(?:e[-+]?\d+)?/giu);
|
|
1330
|
+
if (!tokens) {
|
|
1331
|
+
return void 0;
|
|
1332
|
+
}
|
|
1333
|
+
const subpaths = [];
|
|
1334
|
+
let current = [];
|
|
1335
|
+
let pos = [0, 0];
|
|
1336
|
+
let start = [0, 0];
|
|
1337
|
+
let i = 0;
|
|
1338
|
+
let command2 = "";
|
|
1339
|
+
const num15 = () => Number.parseFloat(tokens[i++] ?? "NaN");
|
|
1340
|
+
while (i < tokens.length) {
|
|
1341
|
+
const token = tokens[i];
|
|
1342
|
+
if (/^[A-Za-z]$/u.test(token)) {
|
|
1343
|
+
command2 = token;
|
|
1344
|
+
i++;
|
|
1345
|
+
if (command2 === "Z" || command2 === "z") {
|
|
1346
|
+
if (current.length > 1) {
|
|
1347
|
+
subpaths.push(current);
|
|
1348
|
+
}
|
|
1349
|
+
current = [];
|
|
1350
|
+
pos = start;
|
|
1351
|
+
continue;
|
|
1352
|
+
}
|
|
1353
|
+
} else if (command2 === "M") {
|
|
1354
|
+
command2 = "L";
|
|
1355
|
+
}
|
|
1356
|
+
switch (command2) {
|
|
1357
|
+
case "M":
|
|
1358
|
+
if (current.length > 1) {
|
|
1359
|
+
subpaths.push(current);
|
|
1360
|
+
}
|
|
1361
|
+
pos = [num15(), num15()];
|
|
1362
|
+
start = pos;
|
|
1363
|
+
current = [pos];
|
|
1364
|
+
break;
|
|
1365
|
+
case "L":
|
|
1366
|
+
pos = [num15(), num15()];
|
|
1367
|
+
current.push(pos);
|
|
1368
|
+
break;
|
|
1369
|
+
case "H":
|
|
1370
|
+
pos = [num15(), pos[1]];
|
|
1371
|
+
current.push(pos);
|
|
1372
|
+
break;
|
|
1373
|
+
case "V":
|
|
1374
|
+
pos = [pos[0], num15()];
|
|
1375
|
+
current.push(pos);
|
|
1376
|
+
break;
|
|
1377
|
+
case "C": {
|
|
1378
|
+
const p1 = [num15(), num15()];
|
|
1379
|
+
const p2 = [num15(), num15()];
|
|
1380
|
+
const p3 = [num15(), num15()];
|
|
1381
|
+
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1382
|
+
const t2 = step2 / CURVE_STEPS;
|
|
1383
|
+
const u = 1 - t2;
|
|
1384
|
+
current.push([
|
|
1385
|
+
u * u * u * pos[0] + 3 * u * u * t2 * p1[0] + 3 * u * t2 * t2 * p2[0] + t2 * t2 * t2 * p3[0],
|
|
1386
|
+
u * u * u * pos[1] + 3 * u * u * t2 * p1[1] + 3 * u * t2 * t2 * p2[1] + t2 * t2 * t2 * p3[1]
|
|
1387
|
+
]);
|
|
1388
|
+
}
|
|
1389
|
+
pos = p3;
|
|
1390
|
+
break;
|
|
1391
|
+
}
|
|
1392
|
+
case "Q": {
|
|
1393
|
+
const p1 = [num15(), num15()];
|
|
1394
|
+
const p2 = [num15(), num15()];
|
|
1395
|
+
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1396
|
+
const t2 = step2 / CURVE_STEPS;
|
|
1397
|
+
const u = 1 - t2;
|
|
1398
|
+
current.push([
|
|
1399
|
+
u * u * pos[0] + 2 * u * t2 * p1[0] + t2 * t2 * p2[0],
|
|
1400
|
+
u * u * pos[1] + 2 * u * t2 * p1[1] + t2 * t2 * p2[1]
|
|
1401
|
+
]);
|
|
1402
|
+
}
|
|
1403
|
+
pos = p2;
|
|
1404
|
+
break;
|
|
1405
|
+
}
|
|
1406
|
+
case "A": {
|
|
1407
|
+
const rx = num15();
|
|
1408
|
+
const ry = num15();
|
|
1409
|
+
const rotation = num15();
|
|
1410
|
+
const largeArc = num15() !== 0;
|
|
1411
|
+
const sweep = num15() !== 0;
|
|
1412
|
+
const to = [num15(), num15()];
|
|
1413
|
+
current.push(...flattenArc(pos, rx, ry, rotation, largeArc, sweep, to));
|
|
1414
|
+
pos = to;
|
|
1415
|
+
break;
|
|
1416
|
+
}
|
|
1417
|
+
default:
|
|
1418
|
+
return void 0;
|
|
1419
|
+
}
|
|
1420
|
+
}
|
|
1421
|
+
if (current.length > 1) {
|
|
1422
|
+
subpaths.push(current);
|
|
1423
|
+
}
|
|
1424
|
+
return subpaths.every((sub) => sub.every(([x, y]) => Number.isFinite(x) && Number.isFinite(y))) ? subpaths : void 0;
|
|
1425
|
+
}
|
|
1426
|
+
var fmt = (n) => String(Math.round(n * 1e3) / 1e3);
|
|
1427
|
+
function outsetClipPathForStroke(clipPath, strokeWidth, width, height, join = SVG_DEFAULT_JOIN) {
|
|
1428
|
+
if (!(strokeWidth > 0)) {
|
|
1429
|
+
return clipPath;
|
|
1430
|
+
}
|
|
1431
|
+
const d = outlinePathData(clipPath, width, height);
|
|
1432
|
+
const subpaths = d ? flattenPath(d) : void 0;
|
|
1433
|
+
if (!d || !subpaths || subpaths.length === 0) {
|
|
1434
|
+
return clipPath;
|
|
1435
|
+
}
|
|
1436
|
+
const half = strokeWidth / 2;
|
|
1437
|
+
const signedArea4 = (pts) => {
|
|
1438
|
+
let area = 0;
|
|
1439
|
+
for (let k = 0; k < pts.length; k++) {
|
|
1440
|
+
const a = pts[k];
|
|
1441
|
+
const b = pts[(k + 1) % pts.length];
|
|
1442
|
+
area += a[0] * b[1] - b[0] * a[1];
|
|
1443
|
+
}
|
|
1444
|
+
return area;
|
|
1445
|
+
};
|
|
1446
|
+
const reference = Math.sign(signedArea4(subpaths[0])) || 1;
|
|
1447
|
+
const quads = [];
|
|
1448
|
+
const push = (poly3) => {
|
|
1449
|
+
const wound = Math.sign(signedArea4(poly3)) === reference ? poly3 : [...poly3].reverse();
|
|
1450
|
+
quads.push(`M ${wound.map(([x, y]) => `${fmt(x)} ${fmt(y)}`).join(" L ")} Z`);
|
|
1451
|
+
};
|
|
1452
|
+
for (const sub of subpaths) {
|
|
1453
|
+
const pts = sub;
|
|
1454
|
+
let last = [0, 0];
|
|
1455
|
+
const normals = pts.map((a, k) => {
|
|
1456
|
+
const b = pts[(k + 1) % pts.length];
|
|
1457
|
+
const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
|
|
1458
|
+
if (len >= 1e-6) {
|
|
1459
|
+
last = [-(b[1] - a[1]) / len, (b[0] - a[0]) / len];
|
|
1460
|
+
}
|
|
1461
|
+
return last;
|
|
1462
|
+
});
|
|
1463
|
+
for (let k = 0; k < pts.length; k++) {
|
|
1464
|
+
const a = pts[k];
|
|
1465
|
+
const b = pts[(k + 1) % pts.length];
|
|
1466
|
+
const [nx, ny] = normals[k];
|
|
1467
|
+
push([
|
|
1468
|
+
[a[0] + nx * half, a[1] + ny * half],
|
|
1469
|
+
[b[0] + nx * half, b[1] + ny * half],
|
|
1470
|
+
[b[0] - nx * half, b[1] - ny * half],
|
|
1471
|
+
[a[0] - nx * half, a[1] - ny * half]
|
|
1472
|
+
]);
|
|
1473
|
+
push(joinPiece(b, normals[k], normals[(k + 1) % pts.length]));
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
function joinPiece(v, n1, n2) {
|
|
1477
|
+
if (join.join === "round") {
|
|
1478
|
+
const r = half / Math.cos(Math.PI / ROUND_JOIN_STEPS);
|
|
1479
|
+
return Array.from({ length: ROUND_JOIN_STEPS }, (_, i) => {
|
|
1480
|
+
const t2 = 2 * Math.PI * i / ROUND_JOIN_STEPS;
|
|
1481
|
+
return [v[0] + r * Math.cos(t2), v[1] + r * Math.sin(t2)];
|
|
1482
|
+
});
|
|
1483
|
+
}
|
|
1484
|
+
const turn = n1[0] * n2[1] - n1[1] * n2[0];
|
|
1485
|
+
if (Math.abs(turn) < 1e-9) {
|
|
1486
|
+
return [v, v, v, v];
|
|
1487
|
+
}
|
|
1488
|
+
const side = turn > 0 ? -1 : 1;
|
|
1489
|
+
const p1 = [v[0] + side * n1[0] * half, v[1] + side * n1[1] * half];
|
|
1490
|
+
const p2 = [v[0] + side * n2[0] * half, v[1] + side * n2[1] * half];
|
|
1491
|
+
const cosHalf = Math.sqrt(Math.max(0, (1 + n1[0] * n2[0] + n1[1] * n2[1]) / 2));
|
|
1492
|
+
if (join.join === "miter" && cosHalf > 0 && 1 / cosHalf <= join.miterLimit) {
|
|
1493
|
+
const bx = n1[0] + n2[0];
|
|
1494
|
+
const by = n1[1] + n2[1];
|
|
1495
|
+
const blen = Math.hypot(bx, by);
|
|
1496
|
+
const reach = half / cosHalf / blen;
|
|
1497
|
+
return [v, p1, [v[0] + side * bx * reach, v[1] + side * by * reach], p2];
|
|
1498
|
+
}
|
|
1499
|
+
return [v, p1, p2, p2];
|
|
1500
|
+
}
|
|
1501
|
+
return `path('${d} ${quads.join(" ")}')`;
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
// src/pptx/render/stroke-clip-edge.ts
|
|
1505
|
+
var ROUND_JOIN_STEPS2 = 8;
|
|
1506
|
+
var fmt2 = (n) => String(Math.round(n * 1e3) / 1e3);
|
|
1507
|
+
function signedArea(pts) {
|
|
1508
|
+
let area = 0;
|
|
1509
|
+
for (let k = 0; k < pts.length; k++) {
|
|
1510
|
+
const a = pts[k];
|
|
1511
|
+
const b = pts[(k + 1) % pts.length];
|
|
1512
|
+
area += a[0] * b[1] - b[0] * a[1];
|
|
1513
|
+
}
|
|
1514
|
+
return area;
|
|
1515
|
+
}
|
|
1516
|
+
function offsetRing(pts, half, join, away) {
|
|
1517
|
+
let last = [0, 0];
|
|
1518
|
+
const normals = pts.map((a, k) => {
|
|
1519
|
+
const b = pts[(k + 1) % pts.length];
|
|
1520
|
+
const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
|
|
1521
|
+
if (len >= 1e-6) {
|
|
1522
|
+
last = [away * -(b[1] - a[1]) / len, away * (b[0] - a[0]) / len];
|
|
1523
|
+
}
|
|
1524
|
+
return last;
|
|
1525
|
+
});
|
|
1526
|
+
const ring = [];
|
|
1527
|
+
for (let k = 0; k < pts.length; k++) {
|
|
1528
|
+
const v = pts[k];
|
|
1529
|
+
const n1 = normals[(k - 1 + pts.length) % pts.length];
|
|
1530
|
+
const n2 = normals[k];
|
|
1531
|
+
const p1 = [v[0] + n1[0] * half, v[1] + n1[1] * half];
|
|
1532
|
+
const p2 = [v[0] + n2[0] * half, v[1] + n2[1] * half];
|
|
1533
|
+
const cosHalf = Math.sqrt(Math.max(0, (1 + n1[0] * n2[0] + n1[1] * n2[1]) / 2));
|
|
1534
|
+
const bx = n1[0] + n2[0];
|
|
1535
|
+
const by = n1[1] + n2[1];
|
|
1536
|
+
const blen = Math.hypot(bx, by);
|
|
1537
|
+
const miter = cosHalf > 1e-6 && blen > 1e-9 ? [v[0] + bx / blen * (half / cosHalf), v[1] + by / blen * (half / cosHalf)] : void 0;
|
|
1538
|
+
const turn = n1[0] * n2[1] - n1[1] * n2[0];
|
|
1539
|
+
const opensOutward = away * turn < 0;
|
|
1540
|
+
if (!opensOutward || Math.abs(turn) < 1e-9) {
|
|
1541
|
+
ring.push(miter ?? p2);
|
|
1542
|
+
} else if (join.join === "miter" && miter && 1 / cosHalf <= join.miterLimit) {
|
|
1543
|
+
ring.push(miter);
|
|
1544
|
+
} else if (join.join === "round") {
|
|
1545
|
+
const a1 = Math.atan2(n1[1], n1[0]);
|
|
1546
|
+
let sweep = Math.atan2(n2[1], n2[0]) - a1;
|
|
1547
|
+
while (sweep > Math.PI) sweep -= 2 * Math.PI;
|
|
1548
|
+
while (sweep < -Math.PI) sweep += 2 * Math.PI;
|
|
1549
|
+
for (let i = 0; i <= ROUND_JOIN_STEPS2; i++) {
|
|
1550
|
+
const t2 = a1 + sweep * i / ROUND_JOIN_STEPS2;
|
|
1551
|
+
ring.push([v[0] + Math.cos(t2) * half, v[1] + Math.sin(t2) * half]);
|
|
1552
|
+
}
|
|
1553
|
+
} else {
|
|
1554
|
+
ring.push(p1, p2);
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
return ring;
|
|
1558
|
+
}
|
|
1559
|
+
function outerStrokeEdgePath(d, strokeWidth, join) {
|
|
1560
|
+
if (!(strokeWidth > 0)) {
|
|
1561
|
+
return void 0;
|
|
1562
|
+
}
|
|
1563
|
+
const subpaths = flattenPath(d);
|
|
1564
|
+
if (!subpaths || subpaths.length === 0) {
|
|
1565
|
+
return void 0;
|
|
1566
|
+
}
|
|
1567
|
+
const reference = Math.sign(signedArea(subpaths[0])) || 1;
|
|
1568
|
+
return subpaths.filter((sub) => sub.length > 2).map((sub) => {
|
|
1569
|
+
const sign = Math.sign(signedArea(sub)) || reference;
|
|
1570
|
+
const away = sign > 0 ? -1 : 1;
|
|
1571
|
+
const ring = offsetRing(
|
|
1572
|
+
sub,
|
|
1573
|
+
strokeWidth / 2,
|
|
1574
|
+
join,
|
|
1575
|
+
sign === reference ? away : away === 1 ? -1 : 1
|
|
1576
|
+
);
|
|
1577
|
+
return `M ${ring.map(([x, y]) => `${fmt2(x)} ${fmt2(y)}`).join(" L ")} Z`;
|
|
1578
|
+
}).join(" ");
|
|
1579
|
+
}
|
|
1272
1580
|
function getStrokeOnlyPresetPaths(element) {
|
|
1273
1581
|
if (element.type !== "shape" || !hasShapeProperties(element)) {
|
|
1274
1582
|
return void 0;
|
|
@@ -1303,6 +1611,79 @@ function strokeOnlyPresetPathData(element) {
|
|
|
1303
1611
|
const stroked = paths.filter((path) => path.stroke !== false).map((path) => path.d);
|
|
1304
1612
|
return stroked.length > 0 ? stroked.join(" ") : void 0;
|
|
1305
1613
|
}
|
|
1614
|
+
var NO_STROKE = {
|
|
1615
|
+
borderWidth: 0,
|
|
1616
|
+
cssBorderWidth: "0px",
|
|
1617
|
+
borderStyle: void 0,
|
|
1618
|
+
borderColor: void 0,
|
|
1619
|
+
border: void 0,
|
|
1620
|
+
strokeLinejoin: void 0,
|
|
1621
|
+
strokeLinecap: void 0,
|
|
1622
|
+
strokeMiterlimit: void 0
|
|
1623
|
+
};
|
|
1624
|
+
function svgLineJoin(join) {
|
|
1625
|
+
switch (join) {
|
|
1626
|
+
case "round":
|
|
1627
|
+
return "round";
|
|
1628
|
+
case "bevel":
|
|
1629
|
+
return "bevel";
|
|
1630
|
+
case "miter":
|
|
1631
|
+
return "miter";
|
|
1632
|
+
default:
|
|
1633
|
+
return void 0;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
function svgStrokeLineCap(cap) {
|
|
1637
|
+
switch (cap) {
|
|
1638
|
+
case "rnd":
|
|
1639
|
+
return "round";
|
|
1640
|
+
case "sq":
|
|
1641
|
+
return "square";
|
|
1642
|
+
case "flat":
|
|
1643
|
+
return "butt";
|
|
1644
|
+
default:
|
|
1645
|
+
return void 0;
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
function strokeMiterLimit(style) {
|
|
1649
|
+
if (style?.lineJoin !== "miter" || typeof style.miterLimit !== "number") {
|
|
1650
|
+
return void 0;
|
|
1651
|
+
}
|
|
1652
|
+
if (!Number.isFinite(style.miterLimit)) {
|
|
1653
|
+
return void 0;
|
|
1654
|
+
}
|
|
1655
|
+
return Math.max(style.miterLimit / 1e5, 1);
|
|
1656
|
+
}
|
|
1657
|
+
function getComputedStrokeStyle(element) {
|
|
1658
|
+
if (!hasShapeProperties(element)) {
|
|
1659
|
+
return NO_STROKE;
|
|
1660
|
+
}
|
|
1661
|
+
const style = element.shapeStyle;
|
|
1662
|
+
const width = suppressesCssBorder(element) ? 0 : paintedStrokeWidth(style);
|
|
1663
|
+
const joins = {
|
|
1664
|
+
strokeLinejoin: svgLineJoin(style?.lineJoin),
|
|
1665
|
+
strokeLinecap: svgStrokeLineCap(style?.lineCap),
|
|
1666
|
+
strokeMiterlimit: strokeMiterLimit(style)
|
|
1667
|
+
};
|
|
1668
|
+
if (width <= 0 || !style) {
|
|
1669
|
+
return { ...NO_STROKE, ...joins };
|
|
1670
|
+
}
|
|
1671
|
+
const borderWidth = width;
|
|
1672
|
+
const borderStyle = getCssBorderDashStyle(
|
|
1673
|
+
normalizeStrokeDashType(style.strokeDash),
|
|
1674
|
+
style.compoundLine
|
|
1675
|
+
);
|
|
1676
|
+
const rawColor = style.strokeColor ?? DEFAULT_STROKE_COLOR;
|
|
1677
|
+
const borderColor = style.strokeOpacity === void 0 ? rawColor : colorWithOpacity(normalizeHexColor(rawColor, DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
1678
|
+
return {
|
|
1679
|
+
borderWidth,
|
|
1680
|
+
cssBorderWidth: screenStrokeWidth(borderWidth),
|
|
1681
|
+
borderStyle,
|
|
1682
|
+
borderColor,
|
|
1683
|
+
border: screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
|
|
1684
|
+
...joins
|
|
1685
|
+
};
|
|
1686
|
+
}
|
|
1306
1687
|
|
|
1307
1688
|
// src/pptx/render/svg-gradient-rect-path.ts
|
|
1308
1689
|
function buildRectPathGradientDef(stops, id, focalPoint, fillToRect) {
|
|
@@ -1537,6 +1918,33 @@ function needsCenteredStrokeOverlay(element, style, declaredWidth) {
|
|
|
1537
1918
|
}
|
|
1538
1919
|
return style.lineAlignment !== "in";
|
|
1539
1920
|
}
|
|
1921
|
+
function clipEdgeBleed(element, d, style) {
|
|
1922
|
+
if ((style?.strokeOpacity ?? 1) < 1 || element.type === "picture" || element.type === "image" || isArrowedCustomPath(element)) {
|
|
1923
|
+
return void 0;
|
|
1924
|
+
}
|
|
1925
|
+
const width = straddlingStrokeWidth(element);
|
|
1926
|
+
const shapeType = getShapeType(element.shapeType);
|
|
1927
|
+
if (width <= 0 || shapeType === "roundRect" || shapeType === "ellipse" || isIdentityRectClip(element) || getResolvedShapeClipPath(element) === void 0) {
|
|
1928
|
+
return void 0;
|
|
1929
|
+
}
|
|
1930
|
+
const edge = outerStrokeEdgePath(d, width, outlineStrokeJoin(element));
|
|
1931
|
+
return edge ? {
|
|
1932
|
+
d: edge,
|
|
1933
|
+
strokeWidth: 1,
|
|
1934
|
+
cssStrokeWidth: `max(1px, calc(2 * var(${DEVICE_PX_VAR}, 0px)))`,
|
|
1935
|
+
offset: 0
|
|
1936
|
+
} : void 0;
|
|
1937
|
+
}
|
|
1938
|
+
function insetLineOnClippedShape(element, style, declaredWidth) {
|
|
1939
|
+
if (!style || style.lineAlignment !== "in" || declaredWidth <= 0 || element.type === "connector" || element.type === "picture" || element.type === "image" || !hasStrokePaint(style)) {
|
|
1940
|
+
return false;
|
|
1941
|
+
}
|
|
1942
|
+
const shapeType = getShapeType(element.shapeType);
|
|
1943
|
+
if (shapeType === "line" || shapeType === "roundRect" || shapeType === "ellipse") {
|
|
1944
|
+
return false;
|
|
1945
|
+
}
|
|
1946
|
+
return !isIdentityRectClip(element) && getResolvedShapeClipPath(element) !== void 0;
|
|
1947
|
+
}
|
|
1540
1948
|
function straddlingStrokeWidth(element) {
|
|
1541
1949
|
if (!hasShapeProperties(element)) {
|
|
1542
1950
|
return 0;
|
|
@@ -1549,6 +1957,11 @@ function straddlingStrokeWidth(element) {
|
|
|
1549
1957
|
const dash = normalizeStrokeDashType(style?.strokeDash);
|
|
1550
1958
|
return !dash || dash === "solid" ? width : 0;
|
|
1551
1959
|
}
|
|
1960
|
+
function outlineStrokeJoin(element) {
|
|
1961
|
+
const style = hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
1962
|
+
const join = style?.lineJoin === "bevel" ? "bevel" : style?.lineJoin === "miter" ? "miter" : "round";
|
|
1963
|
+
return { join, miterLimit: strokeMiterLimit(style) ?? 4 };
|
|
1964
|
+
}
|
|
1552
1965
|
function buildStrokeOutline(element) {
|
|
1553
1966
|
if (!hasShapeProperties(element)) {
|
|
1554
1967
|
return void 0;
|
|
@@ -1560,30 +1973,34 @@ function buildStrokeOutline(element) {
|
|
|
1560
1973
|
return void 0;
|
|
1561
1974
|
}
|
|
1562
1975
|
const paint = style && declaredWidth > 0 ? buildSvgStrokeGradientDef(style, element.id) ?? buildSvgStrokePatternDef(style, element.id) : void 0;
|
|
1976
|
+
const insetOnClip = !openPresetD && insetLineOnClippedShape(element, style, declaredWidth);
|
|
1563
1977
|
const centeredFlatStroke = !paint && !openPresetD && (isArrowedCustomPath(element) || needsCenteredStrokeOverlay(element, style, declaredWidth));
|
|
1564
|
-
if (!paint && !openPresetD && !centeredFlatStroke) {
|
|
1978
|
+
if (!paint && !openPresetD && !centeredFlatStroke && !insetOnClip) {
|
|
1565
1979
|
return void 0;
|
|
1566
1980
|
}
|
|
1567
1981
|
const d = openPresetD ?? outlinePathData(getResolvedShapeClipPath(element), element.width, element.height);
|
|
1568
1982
|
if (!d) {
|
|
1569
1983
|
return void 0;
|
|
1570
1984
|
}
|
|
1571
|
-
const
|
|
1985
|
+
const lineWidth = declaredWidth > 0 ? declaredWidth : DEFAULT_OPEN_PRESET_STROKE_WIDTH;
|
|
1986
|
+
const strokeWidth = insetOnClip ? lineWidth * 2 : lineWidth;
|
|
1572
1987
|
const stroke = paint ? svgGradientFillRef(paint) : colorWithOpacity(style?.strokeColor ?? DEFAULT_STROKE_COLOR, style?.strokeOpacity);
|
|
1988
|
+
const strands = outlineStrands(style?.compoundLine, strokeWidth);
|
|
1989
|
+
const bleed = !openPresetD ? clipEdgeBleed(element, d, style) : void 0;
|
|
1573
1990
|
return {
|
|
1574
1991
|
markers: buildCustomPathMarkers(element, stroke),
|
|
1575
1992
|
d,
|
|
1576
1993
|
paint,
|
|
1577
1994
|
stroke,
|
|
1578
1995
|
strokeWidth,
|
|
1579
|
-
strands:
|
|
1996
|
+
strands: bleed ? [...strands, bleed] : strands,
|
|
1580
1997
|
dashArray: getSvgStrokeDasharray(
|
|
1581
1998
|
normalizeStrokeDashType(style?.strokeDash),
|
|
1582
|
-
Math.max(
|
|
1999
|
+
Math.max(lineWidth, 1),
|
|
1583
2000
|
style?.customDashSegments
|
|
1584
2001
|
),
|
|
1585
2002
|
lineCap: svgLineCap(style?.lineCap),
|
|
1586
|
-
lineJoin:
|
|
2003
|
+
lineJoin: outlineStrokeJoin(element).join
|
|
1587
2004
|
};
|
|
1588
2005
|
}
|
|
1589
2006
|
function strokeOutlineViewBox(element) {
|
|
@@ -1670,208 +2087,6 @@ function mapEditingWheel(input, buffer, canScrollFurther) {
|
|
|
1670
2087
|
function mapPresentationWheel(input, buffer) {
|
|
1671
2088
|
return accumulate(buffer, normalizeWheelDelta(input));
|
|
1672
2089
|
}
|
|
1673
|
-
|
|
1674
|
-
// src/pptx/render/stroke-clip-outset.ts
|
|
1675
|
-
var CURVE_STEPS = 16;
|
|
1676
|
-
function flattenArc(from, rx, ry, rotationDeg, largeArc, sweep, to) {
|
|
1677
|
-
if (rx === 0 || ry === 0 || from[0] === to[0] && from[1] === to[1]) {
|
|
1678
|
-
return [to];
|
|
1679
|
-
}
|
|
1680
|
-
const phi = rotationDeg * Math.PI / 180;
|
|
1681
|
-
const cosPhi = Math.cos(phi);
|
|
1682
|
-
const sinPhi = Math.sin(phi);
|
|
1683
|
-
const dx = (from[0] - to[0]) / 2;
|
|
1684
|
-
const dy = (from[1] - to[1]) / 2;
|
|
1685
|
-
const x1 = cosPhi * dx + sinPhi * dy;
|
|
1686
|
-
const y1 = -sinPhi * dx + cosPhi * dy;
|
|
1687
|
-
let radiusX = Math.abs(rx);
|
|
1688
|
-
let radiusY = Math.abs(ry);
|
|
1689
|
-
const lambda = x1 * x1 / (radiusX * radiusX) + y1 * y1 / (radiusY * radiusY);
|
|
1690
|
-
if (lambda > 1) {
|
|
1691
|
-
const scale2 = Math.sqrt(lambda);
|
|
1692
|
-
radiusX *= scale2;
|
|
1693
|
-
radiusY *= scale2;
|
|
1694
|
-
}
|
|
1695
|
-
const numerator = radiusX * radiusX * radiusY * radiusY - radiusX * radiusX * y1 * y1 - radiusY * radiusY * x1 * x1;
|
|
1696
|
-
const denominator = radiusX * radiusX * y1 * y1 + radiusY * radiusY * x1 * x1;
|
|
1697
|
-
const coefficient = (largeArc === sweep ? -1 : 1) * Math.sqrt(Math.max(0, numerator / denominator));
|
|
1698
|
-
const cxp = coefficient * radiusX * y1 / radiusY;
|
|
1699
|
-
const cyp = -coefficient * radiusY * x1 / radiusX;
|
|
1700
|
-
const cx = cosPhi * cxp - sinPhi * cyp + (from[0] + to[0]) / 2;
|
|
1701
|
-
const cy = sinPhi * cxp + cosPhi * cyp + (from[1] + to[1]) / 2;
|
|
1702
|
-
const angle = (ux, uy, vx, vy) => {
|
|
1703
|
-
const sign = ux * vy - uy * vx < 0 ? -1 : 1;
|
|
1704
|
-
const dot = (ux * vx + uy * vy) / (Math.hypot(ux, uy) * Math.hypot(vx, vy));
|
|
1705
|
-
return sign * Math.acos(Math.max(-1, Math.min(1, dot)));
|
|
1706
|
-
};
|
|
1707
|
-
const theta1 = angle(1, 0, (x1 - cxp) / radiusX, (y1 - cyp) / radiusY);
|
|
1708
|
-
let delta = angle(
|
|
1709
|
-
(x1 - cxp) / radiusX,
|
|
1710
|
-
(y1 - cyp) / radiusY,
|
|
1711
|
-
(-x1 - cxp) / radiusX,
|
|
1712
|
-
(-y1 - cyp) / radiusY
|
|
1713
|
-
);
|
|
1714
|
-
if (!sweep && delta > 0) {
|
|
1715
|
-
delta -= 2 * Math.PI;
|
|
1716
|
-
} else if (sweep && delta < 0) {
|
|
1717
|
-
delta += 2 * Math.PI;
|
|
1718
|
-
}
|
|
1719
|
-
const out = [];
|
|
1720
|
-
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1721
|
-
const t2 = theta1 + delta * step2 / CURVE_STEPS;
|
|
1722
|
-
const px3 = radiusX * Math.cos(t2);
|
|
1723
|
-
const py = radiusY * Math.sin(t2);
|
|
1724
|
-
out.push([cosPhi * px3 - sinPhi * py + cx, sinPhi * px3 + cosPhi * py + cy]);
|
|
1725
|
-
}
|
|
1726
|
-
return out;
|
|
1727
|
-
}
|
|
1728
|
-
function flattenPath(d) {
|
|
1729
|
-
const tokens = d.match(/[A-Za-z]|-?\d*\.?\d+(?:e[-+]?\d+)?/giu);
|
|
1730
|
-
if (!tokens) {
|
|
1731
|
-
return void 0;
|
|
1732
|
-
}
|
|
1733
|
-
const subpaths = [];
|
|
1734
|
-
let current = [];
|
|
1735
|
-
let pos = [0, 0];
|
|
1736
|
-
let start = [0, 0];
|
|
1737
|
-
let i = 0;
|
|
1738
|
-
let command2 = "";
|
|
1739
|
-
const num14 = () => Number.parseFloat(tokens[i++] ?? "NaN");
|
|
1740
|
-
while (i < tokens.length) {
|
|
1741
|
-
const token = tokens[i];
|
|
1742
|
-
if (/^[A-Za-z]$/u.test(token)) {
|
|
1743
|
-
command2 = token;
|
|
1744
|
-
i++;
|
|
1745
|
-
if (command2 === "Z" || command2 === "z") {
|
|
1746
|
-
if (current.length > 1) {
|
|
1747
|
-
subpaths.push(current);
|
|
1748
|
-
}
|
|
1749
|
-
current = [];
|
|
1750
|
-
pos = start;
|
|
1751
|
-
continue;
|
|
1752
|
-
}
|
|
1753
|
-
} else if (command2 === "M") {
|
|
1754
|
-
command2 = "L";
|
|
1755
|
-
}
|
|
1756
|
-
switch (command2) {
|
|
1757
|
-
case "M":
|
|
1758
|
-
if (current.length > 1) {
|
|
1759
|
-
subpaths.push(current);
|
|
1760
|
-
}
|
|
1761
|
-
pos = [num14(), num14()];
|
|
1762
|
-
start = pos;
|
|
1763
|
-
current = [pos];
|
|
1764
|
-
break;
|
|
1765
|
-
case "L":
|
|
1766
|
-
pos = [num14(), num14()];
|
|
1767
|
-
current.push(pos);
|
|
1768
|
-
break;
|
|
1769
|
-
case "H":
|
|
1770
|
-
pos = [num14(), pos[1]];
|
|
1771
|
-
current.push(pos);
|
|
1772
|
-
break;
|
|
1773
|
-
case "V":
|
|
1774
|
-
pos = [pos[0], num14()];
|
|
1775
|
-
current.push(pos);
|
|
1776
|
-
break;
|
|
1777
|
-
case "C": {
|
|
1778
|
-
const p1 = [num14(), num14()];
|
|
1779
|
-
const p2 = [num14(), num14()];
|
|
1780
|
-
const p3 = [num14(), num14()];
|
|
1781
|
-
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1782
|
-
const t2 = step2 / CURVE_STEPS;
|
|
1783
|
-
const u = 1 - t2;
|
|
1784
|
-
current.push([
|
|
1785
|
-
u * u * u * pos[0] + 3 * u * u * t2 * p1[0] + 3 * u * t2 * t2 * p2[0] + t2 * t2 * t2 * p3[0],
|
|
1786
|
-
u * u * u * pos[1] + 3 * u * u * t2 * p1[1] + 3 * u * t2 * t2 * p2[1] + t2 * t2 * t2 * p3[1]
|
|
1787
|
-
]);
|
|
1788
|
-
}
|
|
1789
|
-
pos = p3;
|
|
1790
|
-
break;
|
|
1791
|
-
}
|
|
1792
|
-
case "Q": {
|
|
1793
|
-
const p1 = [num14(), num14()];
|
|
1794
|
-
const p2 = [num14(), num14()];
|
|
1795
|
-
for (let step2 = 1; step2 <= CURVE_STEPS; step2++) {
|
|
1796
|
-
const t2 = step2 / CURVE_STEPS;
|
|
1797
|
-
const u = 1 - t2;
|
|
1798
|
-
current.push([
|
|
1799
|
-
u * u * pos[0] + 2 * u * t2 * p1[0] + t2 * t2 * p2[0],
|
|
1800
|
-
u * u * pos[1] + 2 * u * t2 * p1[1] + t2 * t2 * p2[1]
|
|
1801
|
-
]);
|
|
1802
|
-
}
|
|
1803
|
-
pos = p2;
|
|
1804
|
-
break;
|
|
1805
|
-
}
|
|
1806
|
-
case "A": {
|
|
1807
|
-
const rx = num14();
|
|
1808
|
-
const ry = num14();
|
|
1809
|
-
const rotation = num14();
|
|
1810
|
-
const largeArc = num14() !== 0;
|
|
1811
|
-
const sweep = num14() !== 0;
|
|
1812
|
-
const to = [num14(), num14()];
|
|
1813
|
-
current.push(...flattenArc(pos, rx, ry, rotation, largeArc, sweep, to));
|
|
1814
|
-
pos = to;
|
|
1815
|
-
break;
|
|
1816
|
-
}
|
|
1817
|
-
default:
|
|
1818
|
-
return void 0;
|
|
1819
|
-
}
|
|
1820
|
-
}
|
|
1821
|
-
if (current.length > 1) {
|
|
1822
|
-
subpaths.push(current);
|
|
1823
|
-
}
|
|
1824
|
-
return subpaths.every((sub) => sub.every(([x, y]) => Number.isFinite(x) && Number.isFinite(y))) ? subpaths : void 0;
|
|
1825
|
-
}
|
|
1826
|
-
var fmt = (n) => String(Math.round(n * 1e3) / 1e3);
|
|
1827
|
-
function outsetClipPathForStroke(clipPath, strokeWidth, width, height) {
|
|
1828
|
-
if (!(strokeWidth > 0)) {
|
|
1829
|
-
return clipPath;
|
|
1830
|
-
}
|
|
1831
|
-
const d = outlinePathData(clipPath, width, height);
|
|
1832
|
-
const subpaths = d ? flattenPath(d) : void 0;
|
|
1833
|
-
if (!d || !subpaths || subpaths.length === 0) {
|
|
1834
|
-
return clipPath;
|
|
1835
|
-
}
|
|
1836
|
-
const half = strokeWidth / 2;
|
|
1837
|
-
const signedArea3 = (pts) => {
|
|
1838
|
-
let area = 0;
|
|
1839
|
-
for (let k = 0; k < pts.length; k++) {
|
|
1840
|
-
const a = pts[k];
|
|
1841
|
-
const b = pts[(k + 1) % pts.length];
|
|
1842
|
-
area += a[0] * b[1] - b[0] * a[1];
|
|
1843
|
-
}
|
|
1844
|
-
return area;
|
|
1845
|
-
};
|
|
1846
|
-
const reference = Math.sign(signedArea3(subpaths[0])) || 1;
|
|
1847
|
-
const quads = [];
|
|
1848
|
-
for (const sub of subpaths) {
|
|
1849
|
-
const closed = [...sub, sub[0]];
|
|
1850
|
-
for (let k = 0; k < closed.length - 1; k++) {
|
|
1851
|
-
const a = closed[k];
|
|
1852
|
-
const b = closed[k + 1];
|
|
1853
|
-
const len = Math.hypot(b[0] - a[0], b[1] - a[1]);
|
|
1854
|
-
if (len < 1e-6) {
|
|
1855
|
-
continue;
|
|
1856
|
-
}
|
|
1857
|
-
const nx = -(b[1] - a[1]) / len * half;
|
|
1858
|
-
const ny = (b[0] - a[0]) / len * half;
|
|
1859
|
-
let quad2 = [
|
|
1860
|
-
[a[0] + nx, a[1] + ny],
|
|
1861
|
-
[b[0] + nx, b[1] + ny],
|
|
1862
|
-
[b[0] - nx, b[1] - ny],
|
|
1863
|
-
[a[0] - nx, a[1] - ny]
|
|
1864
|
-
];
|
|
1865
|
-
if (Math.sign(signedArea3(quad2)) !== reference) {
|
|
1866
|
-
quad2 = quad2.reverse();
|
|
1867
|
-
}
|
|
1868
|
-
quads.push(`M ${quad2.map(([x, y]) => `${fmt(x)} ${fmt(y)}`).join(" L ")} Z`);
|
|
1869
|
-
}
|
|
1870
|
-
}
|
|
1871
|
-
return `path('${d} ${quads.join(" ")}')`;
|
|
1872
|
-
}
|
|
1873
|
-
|
|
1874
|
-
// src/pptx/render/shape-geometry-cascade.ts
|
|
1875
2090
|
var CYLINDER_RADIUS = "48% / 12%";
|
|
1876
2091
|
var MIN_ROUND_RECT_RADIUS_PX = 0.01;
|
|
1877
2092
|
function resolveShapeGeometry(element) {
|
|
@@ -1894,7 +2109,13 @@ function resolveShapeGeometry(element) {
|
|
|
1894
2109
|
const stroke = straddlingStrokeWidth(element);
|
|
1895
2110
|
return {
|
|
1896
2111
|
kind: "clipPath",
|
|
1897
|
-
clipPath: stroke > 0 ? outsetClipPathForStroke(
|
|
2112
|
+
clipPath: stroke > 0 ? outsetClipPathForStroke(
|
|
2113
|
+
clipPath,
|
|
2114
|
+
stroke,
|
|
2115
|
+
element.width,
|
|
2116
|
+
element.height,
|
|
2117
|
+
outlineStrokeJoin(element)
|
|
2118
|
+
) : clipPath
|
|
1898
2119
|
};
|
|
1899
2120
|
}
|
|
1900
2121
|
if (shapeType === "line") {
|
|
@@ -2157,79 +2378,6 @@ function buildColorAnimationKeyframes(colorAnim, keyframeName2, steps = 10, them
|
|
|
2157
2378
|
${lines.join("\n")}
|
|
2158
2379
|
}` : void 0;
|
|
2159
2380
|
}
|
|
2160
|
-
var NO_STROKE = {
|
|
2161
|
-
borderWidth: 0,
|
|
2162
|
-
cssBorderWidth: "0px",
|
|
2163
|
-
borderStyle: void 0,
|
|
2164
|
-
borderColor: void 0,
|
|
2165
|
-
border: void 0,
|
|
2166
|
-
strokeLinejoin: void 0,
|
|
2167
|
-
strokeLinecap: void 0,
|
|
2168
|
-
strokeMiterlimit: void 0
|
|
2169
|
-
};
|
|
2170
|
-
function svgLineJoin(join) {
|
|
2171
|
-
switch (join) {
|
|
2172
|
-
case "round":
|
|
2173
|
-
return "round";
|
|
2174
|
-
case "bevel":
|
|
2175
|
-
return "bevel";
|
|
2176
|
-
case "miter":
|
|
2177
|
-
return "miter";
|
|
2178
|
-
default:
|
|
2179
|
-
return void 0;
|
|
2180
|
-
}
|
|
2181
|
-
}
|
|
2182
|
-
function svgStrokeLineCap(cap) {
|
|
2183
|
-
switch (cap) {
|
|
2184
|
-
case "rnd":
|
|
2185
|
-
return "round";
|
|
2186
|
-
case "sq":
|
|
2187
|
-
return "square";
|
|
2188
|
-
case "flat":
|
|
2189
|
-
return "butt";
|
|
2190
|
-
default:
|
|
2191
|
-
return void 0;
|
|
2192
|
-
}
|
|
2193
|
-
}
|
|
2194
|
-
function strokeMiterLimit(style) {
|
|
2195
|
-
if (style?.lineJoin !== "miter" || typeof style.miterLimit !== "number") {
|
|
2196
|
-
return void 0;
|
|
2197
|
-
}
|
|
2198
|
-
if (!Number.isFinite(style.miterLimit)) {
|
|
2199
|
-
return void 0;
|
|
2200
|
-
}
|
|
2201
|
-
return Math.max(style.miterLimit / 1e5, 1);
|
|
2202
|
-
}
|
|
2203
|
-
function getComputedStrokeStyle(element) {
|
|
2204
|
-
if (!hasShapeProperties(element)) {
|
|
2205
|
-
return NO_STROKE;
|
|
2206
|
-
}
|
|
2207
|
-
const style = element.shapeStyle;
|
|
2208
|
-
const width = suppressesCssBorder(element) ? 0 : paintedStrokeWidth(style);
|
|
2209
|
-
const joins = {
|
|
2210
|
-
strokeLinejoin: svgLineJoin(style?.lineJoin),
|
|
2211
|
-
strokeLinecap: svgStrokeLineCap(style?.lineCap),
|
|
2212
|
-
strokeMiterlimit: strokeMiterLimit(style)
|
|
2213
|
-
};
|
|
2214
|
-
if (width <= 0 || !style) {
|
|
2215
|
-
return { ...NO_STROKE, ...joins };
|
|
2216
|
-
}
|
|
2217
|
-
const borderWidth = width;
|
|
2218
|
-
const borderStyle = getCssBorderDashStyle(
|
|
2219
|
-
normalizeStrokeDashType(style.strokeDash),
|
|
2220
|
-
style.compoundLine
|
|
2221
|
-
);
|
|
2222
|
-
const rawColor = style.strokeColor ?? DEFAULT_STROKE_COLOR;
|
|
2223
|
-
const borderColor = style.strokeOpacity === void 0 ? rawColor : colorWithOpacity(normalizeHexColor(rawColor, DEFAULT_STROKE_COLOR), style.strokeOpacity);
|
|
2224
|
-
return {
|
|
2225
|
-
borderWidth,
|
|
2226
|
-
cssBorderWidth: screenStrokeWidth(borderWidth),
|
|
2227
|
-
borderStyle,
|
|
2228
|
-
borderColor,
|
|
2229
|
-
border: screenBorder(borderWidth, borderStyle ?? "solid", borderColor),
|
|
2230
|
-
...joins
|
|
2231
|
-
};
|
|
2232
|
-
}
|
|
2233
2381
|
|
|
2234
2382
|
// src/pptx/render/animation-color-base-style.ts
|
|
2235
2383
|
function getAnimationColorBaseStyle(element, options = {}) {
|
|
@@ -6995,7 +7143,7 @@ function buildGlyphEnvelope(preset2, segments, width, height, align2, adj, adj2,
|
|
|
6995
7143
|
}
|
|
6996
7144
|
|
|
6997
7145
|
// src/pptx/render/text-warp-glyph-trace-contour.ts
|
|
6998
|
-
function
|
|
7146
|
+
function signedArea2(ring) {
|
|
6999
7147
|
let area = 0;
|
|
7000
7148
|
for (let i = 0; i < ring.length; i++) {
|
|
7001
7149
|
const a = ring[i];
|
|
@@ -7136,7 +7284,7 @@ function contourRaster(values, w, h, level) {
|
|
|
7136
7284
|
0
|
|
7137
7285
|
);
|
|
7138
7286
|
const wantPositive = depth % 2 === 0;
|
|
7139
|
-
return
|
|
7287
|
+
return signedArea2(ring) > 0 === wantPositive ? ring : ring.slice().reverse();
|
|
7140
7288
|
});
|
|
7141
7289
|
}
|
|
7142
7290
|
|
|
@@ -10862,8 +11010,8 @@ function withChartUserShapeRowFlipUpdated(userShapes, path, flip) {
|
|
|
10862
11010
|
|
|
10863
11011
|
// src/pptx/render/chart-user-shape-row-frame.ts
|
|
10864
11012
|
var IDENTITY_FRAC = { x: 0, y: 0, w: 1, h: 1 };
|
|
10865
|
-
function safeDiv(
|
|
10866
|
-
return den !== 0 ?
|
|
11013
|
+
function safeDiv(num15, den) {
|
|
11014
|
+
return den !== 0 ? num15 / den : 0;
|
|
10867
11015
|
}
|
|
10868
11016
|
function childFraction(off, ext, chOff, chExt) {
|
|
10869
11017
|
return {
|
|
@@ -11125,7 +11273,7 @@ function powerPointAccelDecelProgress(t2, accel, decel) {
|
|
|
11125
11273
|
function rampStopCount(fraction) {
|
|
11126
11274
|
return Math.max(3, Math.ceil(12 * Math.sqrt(fraction)));
|
|
11127
11275
|
}
|
|
11128
|
-
function
|
|
11276
|
+
function fmt3(value, digits) {
|
|
11129
11277
|
return String(Number(value.toFixed(digits)));
|
|
11130
11278
|
}
|
|
11131
11279
|
function linearEasing(a, d) {
|
|
@@ -11143,11 +11291,11 @@ function linearEasing(a, d) {
|
|
|
11143
11291
|
addRamp(1 - d, d);
|
|
11144
11292
|
}
|
|
11145
11293
|
const stops = [...times].sort((x, y) => x - y).map((t2) => {
|
|
11146
|
-
const value =
|
|
11294
|
+
const value = fmt3(powerPointAccelDecelProgress(t2, a, d), 4);
|
|
11147
11295
|
if (t2 === 0 || t2 === 1) {
|
|
11148
11296
|
return value;
|
|
11149
11297
|
}
|
|
11150
|
-
return `${value} ${
|
|
11298
|
+
return `${value} ${fmt3(t2 * 100, 2)}%`;
|
|
11151
11299
|
});
|
|
11152
11300
|
return `linear(${stops.join(", ")})`;
|
|
11153
11301
|
}
|
|
@@ -18053,25 +18201,25 @@ function createBehaviorPlayer(anim, box) {
|
|
|
18053
18201
|
// src/pptx/render/animation-behavior-keyframes.ts
|
|
18054
18202
|
var DENSE_SAMPLES = 60;
|
|
18055
18203
|
var HOLD_EPSILON = 1e-5;
|
|
18056
|
-
function
|
|
18204
|
+
function fmt4(value, digits = 4) {
|
|
18057
18205
|
const rounded = Number(value.toFixed(digits));
|
|
18058
18206
|
return String(Object.is(rounded, -0) ? 0 : rounded);
|
|
18059
18207
|
}
|
|
18060
18208
|
function declarations(frame, usage) {
|
|
18061
18209
|
const parts = [
|
|
18062
|
-
usage.slidePx ? `translate(${
|
|
18210
|
+
usage.slidePx ? `translate(${fmt4(frame.dx * usage.slidePx.width, 2)}px, ${fmt4(frame.dy * usage.slidePx.height, 2)}px)` : `translate(calc(var(--pptx-slide-w, 1280px) * ${fmt4(frame.dx)}), calc(var(--pptx-slide-h, 720px) * ${fmt4(frame.dy)}))`
|
|
18063
18211
|
];
|
|
18064
18212
|
if (usage.rotate) {
|
|
18065
|
-
parts.push(`rotate(${
|
|
18213
|
+
parts.push(`rotate(${fmt4(frame.rotation, 2)}deg)`);
|
|
18066
18214
|
}
|
|
18067
18215
|
if (usage.shear) {
|
|
18068
|
-
parts.push(`skewX(${
|
|
18216
|
+
parts.push(`skewX(${fmt4(Math.atan(frame.shearX) * 180 / Math.PI, 2)}deg)`);
|
|
18069
18217
|
}
|
|
18070
18218
|
if (usage.scale) {
|
|
18071
|
-
parts.push(`scale(${
|
|
18219
|
+
parts.push(`scale(${fmt4(frame.scaleX)}, ${fmt4(frame.scaleY)})`);
|
|
18072
18220
|
}
|
|
18073
18221
|
const mask = usage.wipeEdge ? ` ${maskEdgePartialDecl(usage.wipeEdge, frame.wipe?.revealed ?? 1)}` : "";
|
|
18074
|
-
return `opacity: ${
|
|
18222
|
+
return `opacity: ${fmt4(frame.opacity, 3)}; transform: ${parts.join(" ")};${mask}`;
|
|
18075
18223
|
}
|
|
18076
18224
|
function buildBehaviorKeyframes(anim, uid2, box, options = {}) {
|
|
18077
18225
|
const player = createBehaviorPlayer(anim, box);
|
|
@@ -18105,7 +18253,7 @@ function buildBehaviorKeyframes(anim, uid2, box, options = {}) {
|
|
|
18105
18253
|
};
|
|
18106
18254
|
const name = `${options.prefix ?? "pptx-tl-bhvr"}-${uid2}`;
|
|
18107
18255
|
const lines = frames.map(
|
|
18108
|
-
({ offset, frame }) => ` ${
|
|
18256
|
+
({ offset, frame }) => ` ${fmt4(offset * 100, 3)}% { ${declarations(frame, usage)} }`
|
|
18109
18257
|
);
|
|
18110
18258
|
if (anim.presetClass === "entr") {
|
|
18111
18259
|
lines[0] = lines[0].replace(/^\t0% \{ opacity: [\d.]+;/u, " 0% { opacity: 0;");
|
|
@@ -25554,6 +25702,10 @@ function createEditorHistoryController(options = {}) {
|
|
|
25554
25702
|
stack.clear();
|
|
25555
25703
|
sync();
|
|
25556
25704
|
},
|
|
25705
|
+
forget(reaches) {
|
|
25706
|
+
stack.forget(reaches);
|
|
25707
|
+
sync();
|
|
25708
|
+
},
|
|
25557
25709
|
setMaxDepth(next) {
|
|
25558
25710
|
maxDepth = clampDepth(next);
|
|
25559
25711
|
stack.setMaxDepth(maxDepth);
|
|
@@ -32642,7 +32794,7 @@ function resamplePolygon(poly3, count) {
|
|
|
32642
32794
|
}
|
|
32643
32795
|
return result;
|
|
32644
32796
|
}
|
|
32645
|
-
function
|
|
32797
|
+
function signedArea3(poly3) {
|
|
32646
32798
|
let area = 0;
|
|
32647
32799
|
for (let i = 0; i < poly3.length; i++) {
|
|
32648
32800
|
const a = poly3[i];
|
|
@@ -32680,7 +32832,7 @@ function bestRotation(from, to) {
|
|
|
32680
32832
|
function normalizeOutlinePair(fromPoly, toPoly, count = OUTLINE_SAMPLE_COUNT) {
|
|
32681
32833
|
const from = resamplePolygon(fromPoly, count);
|
|
32682
32834
|
let to = resamplePolygon(toPoly, count);
|
|
32683
|
-
if (Math.sign(
|
|
32835
|
+
if (Math.sign(signedArea3(from)) !== Math.sign(signedArea3(to))) {
|
|
32684
32836
|
to = [...to].reverse();
|
|
32685
32837
|
}
|
|
32686
32838
|
const offset = bestRotation(from, to);
|
|
@@ -32742,6 +32894,8 @@ function buildClipKeyframeBody(from, to, steps) {
|
|
|
32742
32894
|
if (fromRing.length === 0 || toRing.length === 0) {
|
|
32743
32895
|
return null;
|
|
32744
32896
|
}
|
|
32897
|
+
const stroke = straddlingStrokeWidth(to);
|
|
32898
|
+
const join = outlineStrokeJoin(to);
|
|
32745
32899
|
const lines = [];
|
|
32746
32900
|
for (let s = 0; s <= steps; s++) {
|
|
32747
32901
|
const t2 = s / steps;
|
|
@@ -32749,9 +32903,11 @@ function buildClipKeyframeBody(from, to, steps) {
|
|
|
32749
32903
|
if (!d) {
|
|
32750
32904
|
return null;
|
|
32751
32905
|
}
|
|
32906
|
+
const clip = `path('${d}')`;
|
|
32907
|
+
const widened = stroke > 0 ? outsetClipPathForStroke(clip, stroke, to.width, to.height, join) : clip;
|
|
32752
32908
|
const pct4 = Number((s / steps * 100).toFixed(2));
|
|
32753
32909
|
lines.push(` ${pct4}% {
|
|
32754
|
-
clip-path:
|
|
32910
|
+
clip-path: ${widened};
|
|
32755
32911
|
}`);
|
|
32756
32912
|
}
|
|
32757
32913
|
return lines.join("\n");
|
|
@@ -33366,6 +33522,74 @@ function matchIdenticalTwins(fromElements, toElements, usedFrom, usedTo) {
|
|
|
33366
33522
|
return pairs;
|
|
33367
33523
|
}
|
|
33368
33524
|
|
|
33525
|
+
// src/pptx/render/morph-text-flow.ts
|
|
33526
|
+
function paragraphsOf(element) {
|
|
33527
|
+
const text4 = element.text ?? "";
|
|
33528
|
+
return text4.split(/[\n\r\v]/u).map((paragraph2) => paragraph2.replace(/\s+/gu, " ").trim()).filter((paragraph2) => paragraph2 !== "");
|
|
33529
|
+
}
|
|
33530
|
+
function distinctiveParagraphs(elements) {
|
|
33531
|
+
const owner = /* @__PURE__ */ new Map();
|
|
33532
|
+
for (const element of elements) {
|
|
33533
|
+
for (const paragraph2 of new Set(paragraphsOf(element))) {
|
|
33534
|
+
owner.set(paragraph2, owner.has(paragraph2) ? null : element);
|
|
33535
|
+
}
|
|
33536
|
+
}
|
|
33537
|
+
const distinctive = /* @__PURE__ */ new Map();
|
|
33538
|
+
for (const [paragraph2, element] of owner) {
|
|
33539
|
+
if (element) {
|
|
33540
|
+
distinctive.set(paragraph2, element);
|
|
33541
|
+
}
|
|
33542
|
+
}
|
|
33543
|
+
return distinctive;
|
|
33544
|
+
}
|
|
33545
|
+
function morphTextFlow(fromElements, toElements) {
|
|
33546
|
+
return { from: distinctiveParagraphs(fromElements), to: distinctiveParagraphs(toElements) };
|
|
33547
|
+
}
|
|
33548
|
+
function splitsTextFlow(flow, fromEl, toEl) {
|
|
33549
|
+
const elsewhere = (element, own, other, partner) => paragraphsOf(element).some((paragraph2) => {
|
|
33550
|
+
if (own.get(paragraph2) !== element) {
|
|
33551
|
+
return false;
|
|
33552
|
+
}
|
|
33553
|
+
const holder = other.get(paragraph2);
|
|
33554
|
+
return holder !== void 0 && holder !== partner;
|
|
33555
|
+
});
|
|
33556
|
+
return elsewhere(fromEl, flow.from, flow.to, toEl) || elsewhere(toEl, flow.to, flow.from, fromEl);
|
|
33557
|
+
}
|
|
33558
|
+
var MIN_TWIN_TEXT = 4;
|
|
33559
|
+
function matchTextTwins(fromElements, toElements, usedFrom, usedTo) {
|
|
33560
|
+
const byText = (elements) => {
|
|
33561
|
+
const map = /* @__PURE__ */ new Map();
|
|
33562
|
+
for (const element of elements) {
|
|
33563
|
+
if (element.type !== "text") {
|
|
33564
|
+
continue;
|
|
33565
|
+
}
|
|
33566
|
+
const text4 = paragraphsOf(element).join("\n");
|
|
33567
|
+
if (text4.replace(/\s/gu, "").length < MIN_TWIN_TEXT) {
|
|
33568
|
+
continue;
|
|
33569
|
+
}
|
|
33570
|
+
map.set(text4, [...map.get(text4) ?? [], element]);
|
|
33571
|
+
}
|
|
33572
|
+
return map;
|
|
33573
|
+
};
|
|
33574
|
+
const toByText = byText(toElements);
|
|
33575
|
+
const pairs = [];
|
|
33576
|
+
for (const [text4, froms] of byText(fromElements)) {
|
|
33577
|
+
const tos = toByText.get(text4);
|
|
33578
|
+
const fromEl = froms[0];
|
|
33579
|
+
const toEl = tos?.[0];
|
|
33580
|
+
if (froms.length !== 1 || tos?.length !== 1 || !fromEl || !toEl) {
|
|
33581
|
+
continue;
|
|
33582
|
+
}
|
|
33583
|
+
if (usedFrom.has(fromEl.id) || usedTo.has(toEl.id)) {
|
|
33584
|
+
continue;
|
|
33585
|
+
}
|
|
33586
|
+
pairs.push({ fromElement: fromEl, toElement: toEl });
|
|
33587
|
+
usedFrom.add(fromEl.id);
|
|
33588
|
+
usedTo.add(toEl.id);
|
|
33589
|
+
}
|
|
33590
|
+
return pairs;
|
|
33591
|
+
}
|
|
33592
|
+
|
|
33369
33593
|
// src/pptx/render/morph-matching.ts
|
|
33370
33594
|
var NV_PR_KEYS = [
|
|
33371
33595
|
"p:nvSpPr",
|
|
@@ -33408,6 +33632,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
33408
33632
|
const usedTo = /* @__PURE__ */ new Set();
|
|
33409
33633
|
const fromElements = flattenMorphElements(fromSlide.elements, toSlide.elements);
|
|
33410
33634
|
const toElements = flattenMorphElements(toSlide.elements, fromSlide.elements);
|
|
33635
|
+
const textFlow = morphTextFlow(fromElements, toElements);
|
|
33411
33636
|
for (const fromEl of fromElements) {
|
|
33412
33637
|
const fromName = getElementMorphName(fromEl);
|
|
33413
33638
|
if (!fromName) {
|
|
@@ -33446,6 +33671,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
33446
33671
|
continue;
|
|
33447
33672
|
}
|
|
33448
33673
|
if (creationIdOf(toEl) === fromGuid) {
|
|
33674
|
+
if (splitsTextFlow(textFlow, fromEl, toEl)) {
|
|
33675
|
+
break;
|
|
33676
|
+
}
|
|
33449
33677
|
pairs.push({ fromElement: fromEl, toElement: toEl });
|
|
33450
33678
|
usedFrom.add(fromEl.id);
|
|
33451
33679
|
usedTo.add(toEl.id);
|
|
@@ -33473,6 +33701,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
33473
33701
|
pairs.push(...matchSameMedia(fromElements, toElements, usedFrom, usedTo));
|
|
33474
33702
|
pairs.push(...matchIdenticalTwins(fromElements, toElements, usedFrom, usedTo));
|
|
33475
33703
|
pairs.push(...matchNamedTextTwins(fromElements, toElements, usedFrom, usedTo));
|
|
33704
|
+
pairs.push(...matchTextTwins(fromElements, toElements, usedFrom, usedTo));
|
|
33476
33705
|
pairs.push(...matchGroupTwins(fromElements, toElements, usedFrom, usedTo));
|
|
33477
33706
|
for (const fromEl of fromElements) {
|
|
33478
33707
|
if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
|
|
@@ -33486,7 +33715,7 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
33486
33715
|
if (creationIdOf(fromEl) && creationIdOf(toEl)) {
|
|
33487
33716
|
continue;
|
|
33488
33717
|
}
|
|
33489
|
-
if (conflictingMorphNames(fromEl, toEl)) {
|
|
33718
|
+
if (conflictingMorphNames(fromEl, toEl) || splitsTextFlow(textFlow, fromEl, toEl)) {
|
|
33490
33719
|
continue;
|
|
33491
33720
|
}
|
|
33492
33721
|
pairs.push({ fromElement: fromEl, toElement: toEl });
|
|
@@ -33786,17 +34015,53 @@ function matchTextTokens(fromTokens, toTokens) {
|
|
|
33786
34015
|
return pairs;
|
|
33787
34016
|
}
|
|
33788
34017
|
|
|
34018
|
+
// src/pptx/render/morph-stacked-copies.ts
|
|
34019
|
+
var MAX_COPY_OFFSET = 4;
|
|
34020
|
+
function ownText(element) {
|
|
34021
|
+
return (element.text ?? "").replace(/\s+/gu, " ").trim();
|
|
34022
|
+
}
|
|
34023
|
+
function isStackedCopy(a, b) {
|
|
34024
|
+
if (a.type !== b.type || (a.rotation ?? 0) !== (b.rotation ?? 0)) {
|
|
34025
|
+
return false;
|
|
34026
|
+
}
|
|
34027
|
+
if (Math.abs(a.width - b.width) > 1 || Math.abs(a.height - b.height) > 1) {
|
|
34028
|
+
return false;
|
|
34029
|
+
}
|
|
34030
|
+
if (Math.hypot(a.x - b.x, a.y - b.y) > MAX_COPY_OFFSET) {
|
|
34031
|
+
return false;
|
|
34032
|
+
}
|
|
34033
|
+
const text4 = ownText(a);
|
|
34034
|
+
if (text4 !== "") {
|
|
34035
|
+
return text4 === ownText(b);
|
|
34036
|
+
}
|
|
34037
|
+
const media = mediaIdentity(a);
|
|
34038
|
+
return media !== void 0 && media === mediaIdentity(b);
|
|
34039
|
+
}
|
|
34040
|
+
function coveredStackedCopyIds(elements) {
|
|
34041
|
+
const covered = /* @__PURE__ */ new Set();
|
|
34042
|
+
for (let i = 0; i < elements.length; i++) {
|
|
34043
|
+
const lower = elements[i];
|
|
34044
|
+
for (let j = i + 1; j < elements.length; j++) {
|
|
34045
|
+
if (isStackedCopy(lower, elements[j])) {
|
|
34046
|
+
covered.add(lower.id);
|
|
34047
|
+
break;
|
|
34048
|
+
}
|
|
34049
|
+
}
|
|
34050
|
+
}
|
|
34051
|
+
return covered;
|
|
34052
|
+
}
|
|
34053
|
+
|
|
33789
34054
|
// src/pptx/render/morph-text-slot.ts
|
|
33790
34055
|
var SAME_SLOT_OVERLAP = 0.4;
|
|
33791
|
-
function
|
|
34056
|
+
function ownText2(element) {
|
|
33792
34057
|
return (element.text ?? "").replace(/\s+/gu, " ").trim();
|
|
33793
34058
|
}
|
|
33794
34059
|
function morphTextReplacedInSlot(fromElement, toElement) {
|
|
33795
34060
|
if (fromElement.type !== "text" || toElement.type !== "text") {
|
|
33796
34061
|
return false;
|
|
33797
34062
|
}
|
|
33798
|
-
const from =
|
|
33799
|
-
const to =
|
|
34063
|
+
const from = ownText2(fromElement);
|
|
34064
|
+
const to = ownText2(toElement);
|
|
33800
34065
|
if (from === "" || to === "" || from === to) {
|
|
33801
34066
|
return false;
|
|
33802
34067
|
}
|
|
@@ -34029,6 +34294,12 @@ function appearanceSignature2(element, depth = 0) {
|
|
|
34029
34294
|
parts.push(image.imagePath ?? "", image.svgPath ?? "");
|
|
34030
34295
|
if (hasTextProperties(element)) {
|
|
34031
34296
|
parts.push(element.text ?? "", element.textStyle?.color ?? "");
|
|
34297
|
+
for (const segment of element.textSegments ?? []) {
|
|
34298
|
+
const style = segment.style;
|
|
34299
|
+
parts.push(
|
|
34300
|
+
`${style?.fontSize ?? ""}|${style?.bold ? 1 : 0}|${style?.italic ? 1 : 0}|${style?.underline ? 1 : 0}|${style?.fontFamily ?? ""}|${style?.color ?? ""}`
|
|
34301
|
+
);
|
|
34302
|
+
}
|
|
34032
34303
|
}
|
|
34033
34304
|
const children = element.children;
|
|
34034
34305
|
if (children && depth < SIGNATURE_MAX_DEPTH) {
|
|
@@ -34255,10 +34526,21 @@ function flipFactors(el) {
|
|
|
34255
34526
|
return ` scaleX(${el.flipHorizontal ? -1 : 1}) scaleY(${el.flipVertical ? -1 : 1})`;
|
|
34256
34527
|
}
|
|
34257
34528
|
function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
|
|
34529
|
+
const covered = coveredStackedCopyIds(elements);
|
|
34258
34530
|
return elements.map((el, i) => {
|
|
34259
34531
|
const safeName = `pptx-morph-fadeout-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
34260
34532
|
const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
|
|
34261
|
-
const keyframes = `
|
|
34533
|
+
const keyframes = covered.has(el.id) ? `
|
|
34534
|
+
@keyframes ${safeName} {
|
|
34535
|
+
0%, ${MORPH_FADE_OUT_HOLD_PERCENT}% {
|
|
34536
|
+
opacity: ${el.opacity ?? 1};
|
|
34537
|
+
${transform}
|
|
34538
|
+
}
|
|
34539
|
+
${MORPH_FADE_OUT_HOLD_PERCENT + 0.1}%, 100% {
|
|
34540
|
+
opacity: 0;
|
|
34541
|
+
${transform}
|
|
34542
|
+
}
|
|
34543
|
+
}` : `
|
|
34262
34544
|
@keyframes ${safeName} {
|
|
34263
34545
|
0% {
|
|
34264
34546
|
opacity: ${el.opacity ?? 1};
|
|
@@ -34285,10 +34567,21 @@ ${transform}
|
|
|
34285
34567
|
});
|
|
34286
34568
|
}
|
|
34287
34569
|
function generateUnmatchedFadeInAnimations(elements, durationMs, startIndex) {
|
|
34570
|
+
const covered = coveredStackedCopyIds(elements);
|
|
34288
34571
|
return elements.map((el, i) => {
|
|
34289
34572
|
const safeName = `pptx-morph-fadein-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
|
|
34290
34573
|
const transform = ` transform: scale(1)${staticTransformSuffix(el)};`;
|
|
34291
|
-
const keyframes = `
|
|
34574
|
+
const keyframes = covered.has(el.id) ? `
|
|
34575
|
+
@keyframes ${safeName} {
|
|
34576
|
+
0%, 99.9% {
|
|
34577
|
+
opacity: 0;
|
|
34578
|
+
${transform}
|
|
34579
|
+
}
|
|
34580
|
+
100% {
|
|
34581
|
+
opacity: ${el.opacity ?? 1};
|
|
34582
|
+
${transform}
|
|
34583
|
+
}
|
|
34584
|
+
}` : `
|
|
34292
34585
|
@keyframes ${safeName} {
|
|
34293
34586
|
0% {
|
|
34294
34587
|
opacity: 0;
|
|
@@ -37160,7 +37453,7 @@ function elementRef(element) {
|
|
|
37160
37453
|
...text4.length > 0 && { text: text4.length > 30 ? `${text4.slice(0, 30)}...` : text4 }
|
|
37161
37454
|
};
|
|
37162
37455
|
}
|
|
37163
|
-
function
|
|
37456
|
+
function getElementLabel(element) {
|
|
37164
37457
|
const typeLabel = element.type.charAt(0).toUpperCase() + element.type.slice(1);
|
|
37165
37458
|
const text4 = getElementText(element);
|
|
37166
37459
|
if (text4.length > 0) {
|
|
@@ -37194,9 +37487,9 @@ function diffSlideElements(baseElements, compareElements) {
|
|
|
37194
37487
|
if (!compareById.has(id)) {
|
|
37195
37488
|
changes.push({
|
|
37196
37489
|
elementId: id,
|
|
37197
|
-
label:
|
|
37490
|
+
label: getElementLabel(el),
|
|
37198
37491
|
kind: "removed",
|
|
37199
|
-
description: `Element removed: ${
|
|
37492
|
+
description: `Element removed: ${getElementLabel(el)}`,
|
|
37200
37493
|
descriptionKey: "pptx.compare.change.removed",
|
|
37201
37494
|
descriptionElement: elementRef(el)
|
|
37202
37495
|
});
|
|
@@ -37206,9 +37499,9 @@ function diffSlideElements(baseElements, compareElements) {
|
|
|
37206
37499
|
if (!baseById.has(id)) {
|
|
37207
37500
|
changes.push({
|
|
37208
37501
|
elementId: id,
|
|
37209
|
-
label:
|
|
37502
|
+
label: getElementLabel(el),
|
|
37210
37503
|
kind: "added",
|
|
37211
|
-
description: `Element added: ${
|
|
37504
|
+
description: `Element added: ${getElementLabel(el)}`,
|
|
37212
37505
|
descriptionKey: "pptx.compare.change.added",
|
|
37213
37506
|
descriptionElement: elementRef(el)
|
|
37214
37507
|
});
|
|
@@ -37222,7 +37515,7 @@ function diffSlideElements(baseElements, compareElements) {
|
|
|
37222
37515
|
if (Math.abs(baseEl.x - compareEl.x) > POSITION_THRESHOLD || Math.abs(baseEl.y - compareEl.y) > POSITION_THRESHOLD) {
|
|
37223
37516
|
changes.push({
|
|
37224
37517
|
elementId: id,
|
|
37225
|
-
label:
|
|
37518
|
+
label: getElementLabel(baseEl),
|
|
37226
37519
|
kind: "moved",
|
|
37227
37520
|
description: `Moved from (${Math.round(baseEl.x)}, ${Math.round(baseEl.y)}) to (${Math.round(compareEl.x)}, ${Math.round(compareEl.y)})`,
|
|
37228
37521
|
descriptionKey: "pptx.compare.change.moved",
|
|
@@ -37237,7 +37530,7 @@ function diffSlideElements(baseElements, compareElements) {
|
|
|
37237
37530
|
if (Math.abs(baseEl.width - compareEl.width) > SIZE_THRESHOLD || Math.abs(baseEl.height - compareEl.height) > SIZE_THRESHOLD) {
|
|
37238
37531
|
changes.push({
|
|
37239
37532
|
elementId: id,
|
|
37240
|
-
label:
|
|
37533
|
+
label: getElementLabel(baseEl),
|
|
37241
37534
|
kind: "resized",
|
|
37242
37535
|
description: `Resized from ${Math.round(baseEl.width)}x${Math.round(baseEl.height)} to ${Math.round(compareEl.width)}x${Math.round(compareEl.height)}`,
|
|
37243
37536
|
descriptionKey: "pptx.compare.change.resized",
|
|
@@ -37254,7 +37547,7 @@ function diffSlideElements(baseElements, compareElements) {
|
|
|
37254
37547
|
if (baseText !== compareText) {
|
|
37255
37548
|
changes.push({
|
|
37256
37549
|
elementId: id,
|
|
37257
|
-
label:
|
|
37550
|
+
label: getElementLabel(baseEl),
|
|
37258
37551
|
kind: "textChanged",
|
|
37259
37552
|
description: "Text content changed",
|
|
37260
37553
|
descriptionKey: "pptx.compare.change.textChanged"
|
|
@@ -41300,7 +41593,7 @@ function parsePathPoints(d) {
|
|
|
41300
41593
|
let i = 0;
|
|
41301
41594
|
let cmd = "";
|
|
41302
41595
|
let cur = { x: 0, y: 0 };
|
|
41303
|
-
const
|
|
41596
|
+
const num15 = () => Number(tokens[i++]);
|
|
41304
41597
|
while (i < tokens.length) {
|
|
41305
41598
|
const t2 = tokens[i];
|
|
41306
41599
|
if (/[a-zA-Z]/u.test(t2)) {
|
|
@@ -41311,40 +41604,40 @@ function parsePathPoints(d) {
|
|
|
41311
41604
|
switch (cmd.toUpperCase()) {
|
|
41312
41605
|
case "M":
|
|
41313
41606
|
case "L": {
|
|
41314
|
-
const x =
|
|
41315
|
-
const y =
|
|
41607
|
+
const x = num15();
|
|
41608
|
+
const y = num15();
|
|
41316
41609
|
cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
|
|
41317
41610
|
out.push(cur);
|
|
41318
41611
|
break;
|
|
41319
41612
|
}
|
|
41320
41613
|
case "H": {
|
|
41321
|
-
const x =
|
|
41614
|
+
const x = num15();
|
|
41322
41615
|
cur = { x: rel ? cur.x + x : x, y: cur.y };
|
|
41323
41616
|
out.push(cur);
|
|
41324
41617
|
break;
|
|
41325
41618
|
}
|
|
41326
41619
|
case "V": {
|
|
41327
|
-
const y =
|
|
41620
|
+
const y = num15();
|
|
41328
41621
|
cur = { x: cur.x, y: rel ? cur.y + y : y };
|
|
41329
41622
|
out.push(cur);
|
|
41330
41623
|
break;
|
|
41331
41624
|
}
|
|
41332
41625
|
case "C": {
|
|
41333
|
-
|
|
41334
|
-
|
|
41335
|
-
|
|
41336
|
-
|
|
41337
|
-
const x =
|
|
41338
|
-
const y =
|
|
41626
|
+
num15();
|
|
41627
|
+
num15();
|
|
41628
|
+
num15();
|
|
41629
|
+
num15();
|
|
41630
|
+
const x = num15();
|
|
41631
|
+
const y = num15();
|
|
41339
41632
|
cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
|
|
41340
41633
|
out.push(cur);
|
|
41341
41634
|
break;
|
|
41342
41635
|
}
|
|
41343
41636
|
case "Q": {
|
|
41344
|
-
|
|
41345
|
-
|
|
41346
|
-
const x =
|
|
41347
|
-
const y =
|
|
41637
|
+
num15();
|
|
41638
|
+
num15();
|
|
41639
|
+
const x = num15();
|
|
41640
|
+
const y = num15();
|
|
41348
41641
|
cur = rel ? { x: cur.x + x, y: cur.y + y } : { x, y };
|
|
41349
41642
|
out.push(cur);
|
|
41350
41643
|
break;
|
|
@@ -44466,6 +44759,144 @@ var TEXT_BOX_SECTION = {
|
|
|
44466
44759
|
]
|
|
44467
44760
|
};
|
|
44468
44761
|
var TEXT_BOX_SECTIONS = [TEXT_BOX_SECTION];
|
|
44762
|
+
|
|
44763
|
+
// src/pptx/render/inspector/text-effect-fields.ts
|
|
44764
|
+
var SHADOW_ON = {
|
|
44765
|
+
textShadowColor: "#000000",
|
|
44766
|
+
textShadowBlur: 4,
|
|
44767
|
+
textShadowOffsetX: 2,
|
|
44768
|
+
textShadowOffsetY: 2,
|
|
44769
|
+
textShadowOpacity: 0.5
|
|
44770
|
+
};
|
|
44771
|
+
var GLOW_ON = {
|
|
44772
|
+
textGlowColor: "#ffff00",
|
|
44773
|
+
textGlowRadius: 6,
|
|
44774
|
+
textGlowOpacity: 0.6
|
|
44775
|
+
};
|
|
44776
|
+
var REFLECTION_ON = {
|
|
44777
|
+
textReflection: true,
|
|
44778
|
+
textReflectionBlur: 1,
|
|
44779
|
+
textReflectionStartOpacity: 0.5,
|
|
44780
|
+
textReflectionEndOpacity: 0,
|
|
44781
|
+
textReflectionOffset: 3
|
|
44782
|
+
};
|
|
44783
|
+
var ON_DEFAULTS = { ...SHADOW_ON, ...GLOW_ON, ...REFLECTION_ON };
|
|
44784
|
+
function cleared(on) {
|
|
44785
|
+
return Object.fromEntries(Object.keys(on).map((key) => [key, void 0]));
|
|
44786
|
+
}
|
|
44787
|
+
var num4 = (v) => Number(v);
|
|
44788
|
+
var fxId = (section2, field) => `text-fx-${section2}-${field}`;
|
|
44789
|
+
function colorField2(section2, key) {
|
|
44790
|
+
return {
|
|
44791
|
+
id: "color",
|
|
44792
|
+
kind: "color",
|
|
44793
|
+
labelKey: "pptx.textEffects.color",
|
|
44794
|
+
testId: fxId(section2, "color"),
|
|
44795
|
+
read: (ts) => normalizeHexColor(ts?.[key], ON_DEFAULTS[key]),
|
|
44796
|
+
write: (_ts, v) => ({ [key]: String(v) })
|
|
44797
|
+
};
|
|
44798
|
+
}
|
|
44799
|
+
function opacityField2(section2, id, labelKey, key) {
|
|
44800
|
+
return {
|
|
44801
|
+
id,
|
|
44802
|
+
kind: "number",
|
|
44803
|
+
labelKey,
|
|
44804
|
+
min: 0,
|
|
44805
|
+
max: 1,
|
|
44806
|
+
step: 0.05,
|
|
44807
|
+
testId: fxId(section2, id),
|
|
44808
|
+
read: (ts) => ts?.[key] ?? ON_DEFAULTS[key],
|
|
44809
|
+
write: (_ts, v) => ({ [key]: num4(v) })
|
|
44810
|
+
};
|
|
44811
|
+
}
|
|
44812
|
+
function pxField(section2, id, labelKey, key, [min, max]) {
|
|
44813
|
+
return {
|
|
44814
|
+
id,
|
|
44815
|
+
kind: "length",
|
|
44816
|
+
labelKey,
|
|
44817
|
+
min,
|
|
44818
|
+
max,
|
|
44819
|
+
step: 1,
|
|
44820
|
+
decimals: 0,
|
|
44821
|
+
testId: fxId(section2, id),
|
|
44822
|
+
read: (ts) => ts?.[key] ?? ON_DEFAULTS[key],
|
|
44823
|
+
write: (_ts, v) => ({ [key]: num4(v) })
|
|
44824
|
+
};
|
|
44825
|
+
}
|
|
44826
|
+
var TEXT_SHADOW_SECTION = {
|
|
44827
|
+
id: "shadow",
|
|
44828
|
+
labelKey: "pptx.textEffects.shadow",
|
|
44829
|
+
toggle: {
|
|
44830
|
+
testId: "text-fx-shadow-toggle",
|
|
44831
|
+
isOn: (ts) => Boolean(ts?.textShadowColor) || typeof ts?.textShadowBlur === "number" && ts.textShadowBlur > 0,
|
|
44832
|
+
enable: () => ({ ...SHADOW_ON }),
|
|
44833
|
+
disable: () => cleared(SHADOW_ON)
|
|
44834
|
+
},
|
|
44835
|
+
fields: [
|
|
44836
|
+
colorField2("shadow", "textShadowColor"),
|
|
44837
|
+
opacityField2("shadow", "opacity", "pptx.textEffects.opacity", "textShadowOpacity"),
|
|
44838
|
+
pxField("shadow", "blur", "pptx.textEffects.blur", "textShadowBlur", [0, 50]),
|
|
44839
|
+
pxField("shadow", "offsetX", "pptx.textEffects.offsetX", "textShadowOffsetX", [-50, 50]),
|
|
44840
|
+
pxField("shadow", "offsetY", "pptx.textEffects.offsetY", "textShadowOffsetY", [-50, 50])
|
|
44841
|
+
]
|
|
44842
|
+
};
|
|
44843
|
+
var TEXT_GLOW_SECTION = {
|
|
44844
|
+
id: "glow",
|
|
44845
|
+
labelKey: "pptx.textEffects.glow",
|
|
44846
|
+
toggle: {
|
|
44847
|
+
testId: "text-fx-glow-toggle",
|
|
44848
|
+
isOn: (ts) => Boolean(ts?.textGlowColor) || typeof ts?.textGlowRadius === "number" && ts.textGlowRadius > 0,
|
|
44849
|
+
enable: () => ({ ...GLOW_ON }),
|
|
44850
|
+
disable: () => cleared(GLOW_ON)
|
|
44851
|
+
},
|
|
44852
|
+
fields: [
|
|
44853
|
+
colorField2("glow", "textGlowColor"),
|
|
44854
|
+
opacityField2("glow", "opacity", "pptx.textEffects.opacity", "textGlowOpacity"),
|
|
44855
|
+
pxField("glow", "size", "pptx.textEffects.size", "textGlowRadius", [1, 50])
|
|
44856
|
+
]
|
|
44857
|
+
};
|
|
44858
|
+
var TEXT_REFLECTION_SECTION = {
|
|
44859
|
+
id: "reflection",
|
|
44860
|
+
labelKey: "pptx.textEffects.reflection",
|
|
44861
|
+
toggle: {
|
|
44862
|
+
testId: "text-fx-reflection-toggle",
|
|
44863
|
+
isOn: (ts) => Boolean(ts?.textReflection),
|
|
44864
|
+
enable: () => ({ ...REFLECTION_ON }),
|
|
44865
|
+
disable: () => cleared(REFLECTION_ON)
|
|
44866
|
+
},
|
|
44867
|
+
fields: [
|
|
44868
|
+
{
|
|
44869
|
+
id: "blur",
|
|
44870
|
+
kind: "length",
|
|
44871
|
+
labelKey: "pptx.textEffects.blur",
|
|
44872
|
+
min: 0,
|
|
44873
|
+
max: 20,
|
|
44874
|
+
step: 0.5,
|
|
44875
|
+
decimals: 1,
|
|
44876
|
+
testId: fxId("reflection", "blur"),
|
|
44877
|
+
read: (ts) => ts?.textReflectionBlur ?? ON_DEFAULTS.textReflectionBlur,
|
|
44878
|
+
write: (_ts, v) => ({ textReflectionBlur: num4(v) })
|
|
44879
|
+
},
|
|
44880
|
+
pxField("reflection", "offset", "pptx.textEffects.offset", "textReflectionOffset", [0, 20]),
|
|
44881
|
+
opacityField2(
|
|
44882
|
+
"reflection",
|
|
44883
|
+
"startOpacity",
|
|
44884
|
+
"pptx.textEffects.startOpacity",
|
|
44885
|
+
"textReflectionStartOpacity"
|
|
44886
|
+
),
|
|
44887
|
+
opacityField2(
|
|
44888
|
+
"reflection",
|
|
44889
|
+
"endOpacity",
|
|
44890
|
+
"pptx.textEffects.endOpacity",
|
|
44891
|
+
"textReflectionEndOpacity"
|
|
44892
|
+
)
|
|
44893
|
+
]
|
|
44894
|
+
};
|
|
44895
|
+
var TEXT_EFFECT_SECTIONS = [
|
|
44896
|
+
TEXT_SHADOW_SECTION,
|
|
44897
|
+
TEXT_GLOW_SECTION,
|
|
44898
|
+
TEXT_REFLECTION_SECTION
|
|
44899
|
+
];
|
|
44469
44900
|
var FONT_NAME_UNSAFE_CHARS = /["\\\n\r;}<>]/u;
|
|
44470
44901
|
var FONT_FORMAT_ALLOWED = /* @__PURE__ */ new Set(["truetype", "opentype", "woff", "woff2"]);
|
|
44471
44902
|
var FONT_MIME_BY_FORMAT = {
|
|
@@ -44607,6 +45038,44 @@ function collectUsedFonts(slides) {
|
|
|
44607
45038
|
|
|
44608
45039
|
// src/pptx/render/google-webfonts.ts
|
|
44609
45040
|
var GOOGLE_FONTS_CSS2_BASE = "https://fonts.googleapis.com/css2";
|
|
45041
|
+
function normalizeGoogleFontsBaseUrl(baseUrl) {
|
|
45042
|
+
if (typeof baseUrl !== "string" || baseUrl.trim() === "") {
|
|
45043
|
+
return null;
|
|
45044
|
+
}
|
|
45045
|
+
let url;
|
|
45046
|
+
try {
|
|
45047
|
+
url = new URL(baseUrl.trim());
|
|
45048
|
+
} catch {
|
|
45049
|
+
return null;
|
|
45050
|
+
}
|
|
45051
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
45052
|
+
return null;
|
|
45053
|
+
}
|
|
45054
|
+
if (url.username !== "" || url.password !== "" || url.search !== "" || url.hash !== "") {
|
|
45055
|
+
return null;
|
|
45056
|
+
}
|
|
45057
|
+
return url.href;
|
|
45058
|
+
}
|
|
45059
|
+
var warnedInvalidBaseUrls = /* @__PURE__ */ new Set();
|
|
45060
|
+
function resolveGoogleFontsCss2Base(option) {
|
|
45061
|
+
if (option === void 0) {
|
|
45062
|
+
return GOOGLE_FONTS_CSS2_BASE;
|
|
45063
|
+
}
|
|
45064
|
+
if (option === false) {
|
|
45065
|
+
return null;
|
|
45066
|
+
}
|
|
45067
|
+
const normalized = normalizeGoogleFontsBaseUrl(
|
|
45068
|
+
typeof option === "object" && option !== null ? option.baseUrl : void 0
|
|
45069
|
+
);
|
|
45070
|
+
const raw = typeof option === "object" && option !== null ? String(option.baseUrl) : "";
|
|
45071
|
+
if (normalized === null && !warnedInvalidBaseUrls.has(raw)) {
|
|
45072
|
+
warnedInvalidBaseUrls.add(raw);
|
|
45073
|
+
console.warn(
|
|
45074
|
+
"[pptx-viewer] googleFonts.baseUrl must be an absolute http(s) URL without credentials, query or fragment; the Google Fonts fallback is disabled."
|
|
45075
|
+
);
|
|
45076
|
+
}
|
|
45077
|
+
return normalized;
|
|
45078
|
+
}
|
|
44610
45079
|
var GOOGLE_WEBFONT_AXIS = "ital,wght@0,400;0,700;1,400;1,700";
|
|
44611
45080
|
var DISPLAY_PARAM = "display=swap";
|
|
44612
45081
|
function collectReferencedFontFamilies(slides) {
|
|
@@ -44697,6 +45166,9 @@ function matchGoogleWebfontFragments(families) {
|
|
|
44697
45166
|
return [...weightsByFamily].map(([family2, weights]) => buildGoogleFontsFragment(family2, weights));
|
|
44698
45167
|
}
|
|
44699
45168
|
async function resolveGoogleWebfontHref(slides, embeddedFonts, isLocallyInstalled = isFontFamilyInstalledLocally, googleFontsBaseUrl) {
|
|
45169
|
+
if (googleFontsBaseUrl === null) {
|
|
45170
|
+
return null;
|
|
45171
|
+
}
|
|
44700
45172
|
const referenced = collectReferencedFontFamilies(slides);
|
|
44701
45173
|
const candidates = selectGoogleWebfontFamilies(
|
|
44702
45174
|
referenced,
|
|
@@ -49367,14 +49839,14 @@ function parseHexToRgb(hex2) {
|
|
|
49367
49839
|
if (cleaned.length !== 6) {
|
|
49368
49840
|
return null;
|
|
49369
49841
|
}
|
|
49370
|
-
const
|
|
49371
|
-
if (!Number.isFinite(
|
|
49842
|
+
const num15 = parseInt(cleaned, 16);
|
|
49843
|
+
if (!Number.isFinite(num15)) {
|
|
49372
49844
|
return null;
|
|
49373
49845
|
}
|
|
49374
49846
|
return {
|
|
49375
|
-
r:
|
|
49376
|
-
g:
|
|
49377
|
-
b:
|
|
49847
|
+
r: num15 >> 16 & 255,
|
|
49848
|
+
g: num15 >> 8 & 255,
|
|
49849
|
+
b: num15 & 255
|
|
49378
49850
|
};
|
|
49379
49851
|
}
|
|
49380
49852
|
function colorDistance(a, b) {
|
|
@@ -53144,9 +53616,9 @@ function svgArcToCubics(from, rxIn, ryIn, xAxisRotationDeg, largeArc, sweep, to)
|
|
|
53144
53616
|
rx *= s;
|
|
53145
53617
|
ry *= s;
|
|
53146
53618
|
}
|
|
53147
|
-
const
|
|
53619
|
+
const num15 = rx * rx * ry * ry - rx * rx * y1p * y1p - ry * ry * x1p * x1p;
|
|
53148
53620
|
const den = rx * rx * y1p * y1p + ry * ry * x1p * x1p;
|
|
53149
|
-
let coef = den === 0 ? 0 : Math.sqrt(Math.max(0,
|
|
53621
|
+
let coef = den === 0 ? 0 : Math.sqrt(Math.max(0, num15 / den));
|
|
53150
53622
|
if (largeArc === sweep) {
|
|
53151
53623
|
coef = -coef;
|
|
53152
53624
|
}
|
|
@@ -53266,7 +53738,7 @@ function editGeometryBounds(geometry) {
|
|
|
53266
53738
|
}
|
|
53267
53739
|
return { minX, minY, maxX, maxY };
|
|
53268
53740
|
}
|
|
53269
|
-
function
|
|
53741
|
+
function fmt5(value) {
|
|
53270
53742
|
return String(Math.round(value * 1e3) / 1e3);
|
|
53271
53743
|
}
|
|
53272
53744
|
function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POINTS_PATH_SCALE) {
|
|
@@ -53281,7 +53753,7 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
|
|
|
53281
53753
|
const segments = [];
|
|
53282
53754
|
const start = pt(sub.nodes[0]);
|
|
53283
53755
|
segments.push({ type: "moveTo", pt: start });
|
|
53284
|
-
svg2.push(`M ${
|
|
53756
|
+
svg2.push(`M ${fmt5(start.x)} ${fmt5(start.y)}`);
|
|
53285
53757
|
sub.segments.forEach((seg, i) => {
|
|
53286
53758
|
if (sub.closed && seg.kind === "line" && i === sub.segments.length - 1) {
|
|
53287
53759
|
return;
|
|
@@ -53289,13 +53761,13 @@ function editGeometryToPaths(geometry, ox, oy, width, height, scale2 = EDIT_POIN
|
|
|
53289
53761
|
const end = pt(sub.nodes[(i + 1) % sub.nodes.length]);
|
|
53290
53762
|
if (seg.kind === "line") {
|
|
53291
53763
|
segments.push({ type: "lineTo", pt: end });
|
|
53292
|
-
svg2.push(`L ${
|
|
53764
|
+
svg2.push(`L ${fmt5(end.x)} ${fmt5(end.y)}`);
|
|
53293
53765
|
} else {
|
|
53294
53766
|
const c1 = pt(seg.c1);
|
|
53295
53767
|
const c2 = pt(seg.c2);
|
|
53296
53768
|
segments.push({ type: "cubicBezTo", pts: [c1, c2, end] });
|
|
53297
53769
|
svg2.push(
|
|
53298
|
-
`C ${
|
|
53770
|
+
`C ${fmt5(c1.x)} ${fmt5(c1.y)} ${fmt5(c2.x)} ${fmt5(c2.y)} ${fmt5(end.x)} ${fmt5(end.y)}`
|
|
53299
53771
|
);
|
|
53300
53772
|
}
|
|
53301
53773
|
});
|
|
@@ -55139,6 +55611,27 @@ async function applyMasterViewCrudAction(handler, data, action, target, options)
|
|
|
55139
55611
|
}
|
|
55140
55612
|
}
|
|
55141
55613
|
|
|
55614
|
+
// src/pptx/render/master-view-crud-history.ts
|
|
55615
|
+
function partPaths(masters) {
|
|
55616
|
+
return (masters ?? []).flatMap((master) => [
|
|
55617
|
+
master.path,
|
|
55618
|
+
...(master.layouts ?? []).map((layout) => layout.path)
|
|
55619
|
+
]);
|
|
55620
|
+
}
|
|
55621
|
+
function removedSlideMasterParts(before, after) {
|
|
55622
|
+
const kept = new Set(partPaths(after.slideMasters));
|
|
55623
|
+
return partPaths(before.slideMasters).filter((path) => !kept.has(path));
|
|
55624
|
+
}
|
|
55625
|
+
function historyStepUsesParts(step2, removed) {
|
|
55626
|
+
return step2.slides.some((slide) => slide.layoutPath !== void 0 && removed.has(slide.layoutPath)) || partPaths(step2.slideMasters).some((path) => removed.has(path));
|
|
55627
|
+
}
|
|
55628
|
+
function forgetStepsUsingRemovedParts(forget, before, after) {
|
|
55629
|
+
const removed = new Set(removedSlideMasterParts(before, after));
|
|
55630
|
+
if (removed.size > 0) {
|
|
55631
|
+
forget((step2) => historyStepUsesParts(step2, removed));
|
|
55632
|
+
}
|
|
55633
|
+
}
|
|
55634
|
+
|
|
55142
55635
|
// src/pptx/render/virtualized-list.ts
|
|
55143
55636
|
var DEFAULT_VIRTUAL_OVERSCAN = 5;
|
|
55144
55637
|
var SLIDE_VIRTUALIZATION_THRESHOLD = 50;
|
|
@@ -55296,6 +55789,192 @@ function validatePasswordPair(password, confirmation) {
|
|
|
55296
55789
|
return null;
|
|
55297
55790
|
}
|
|
55298
55791
|
|
|
55792
|
+
// src/pptx/render/theme-write-queue.ts
|
|
55793
|
+
var pendingWrites = /* @__PURE__ */ new WeakMap();
|
|
55794
|
+
function startWrite(write) {
|
|
55795
|
+
try {
|
|
55796
|
+
return write();
|
|
55797
|
+
} catch (error) {
|
|
55798
|
+
return Promise.reject(error);
|
|
55799
|
+
}
|
|
55800
|
+
}
|
|
55801
|
+
function queueThemeWrite(handler, write) {
|
|
55802
|
+
const previous = pendingWrites.get(handler);
|
|
55803
|
+
const run = previous ? previous.then(write) : startWrite(write);
|
|
55804
|
+
const settled = run.then(
|
|
55805
|
+
() => void 0,
|
|
55806
|
+
() => void 0
|
|
55807
|
+
);
|
|
55808
|
+
const end = settled.then(() => {
|
|
55809
|
+
if (pendingWrites.get(handler) === end) {
|
|
55810
|
+
pendingWrites.delete(handler);
|
|
55811
|
+
}
|
|
55812
|
+
});
|
|
55813
|
+
pendingWrites.set(handler, end);
|
|
55814
|
+
return run;
|
|
55815
|
+
}
|
|
55816
|
+
function settleThemeWrites(handler) {
|
|
55817
|
+
return handler && pendingWrites.get(handler) || Promise.resolve();
|
|
55818
|
+
}
|
|
55819
|
+
|
|
55820
|
+
// src/pptx/render/theme-history.ts
|
|
55821
|
+
var RECORDED_KEYS = ["colorScheme", "fontScheme", "name"];
|
|
55822
|
+
function plain(value) {
|
|
55823
|
+
return JSON.parse(JSON.stringify(value));
|
|
55824
|
+
}
|
|
55825
|
+
function sameJson(a, b) {
|
|
55826
|
+
return JSON.stringify(a) === JSON.stringify(b);
|
|
55827
|
+
}
|
|
55828
|
+
function masterThemePathsOf(slideMasters) {
|
|
55829
|
+
const entries2 = (slideMasters ?? []).flatMap(
|
|
55830
|
+
(master) => master.themePath ? [[master.path, master.themePath]] : []
|
|
55831
|
+
);
|
|
55832
|
+
return entries2.length > 0 ? Object.fromEntries(entries2) : void 0;
|
|
55833
|
+
}
|
|
55834
|
+
function historyTheme(theme, slideMasters) {
|
|
55835
|
+
const masterThemePaths = masterThemePathsOf(slideMasters);
|
|
55836
|
+
if (!theme && !masterThemePaths) {
|
|
55837
|
+
return void 0;
|
|
55838
|
+
}
|
|
55839
|
+
const { colorScheme, fontScheme, formatScheme, name } = theme ?? {};
|
|
55840
|
+
return {
|
|
55841
|
+
...colorScheme ? { colorScheme: plain(colorScheme) } : {},
|
|
55842
|
+
...fontScheme ? { fontScheme: plain(fontScheme) } : {},
|
|
55843
|
+
...formatScheme ? { formatScheme: plain(formatScheme) } : {},
|
|
55844
|
+
...name ? { name } : {},
|
|
55845
|
+
...masterThemePaths ? { masterThemePaths } : {}
|
|
55846
|
+
};
|
|
55847
|
+
}
|
|
55848
|
+
function sameFormatScheme(a, b) {
|
|
55849
|
+
const key = (theme) => theme?.formatScheme ? formatSchemeKey(theme.formatScheme) : void 0;
|
|
55850
|
+
return key(a) === key(b);
|
|
55851
|
+
}
|
|
55852
|
+
function withoutFormatScheme(theme) {
|
|
55853
|
+
if (!theme) {
|
|
55854
|
+
return null;
|
|
55855
|
+
}
|
|
55856
|
+
const { formatScheme: _format, ...rest } = theme;
|
|
55857
|
+
return rest;
|
|
55858
|
+
}
|
|
55859
|
+
function crossedHistoryTheme(current, target) {
|
|
55860
|
+
if (!target) {
|
|
55861
|
+
return void 0;
|
|
55862
|
+
}
|
|
55863
|
+
const same2 = sameJson(withoutFormatScheme(current), withoutFormatScheme(target)) && sameFormatScheme(current, target);
|
|
55864
|
+
return same2 ? void 0 : target;
|
|
55865
|
+
}
|
|
55866
|
+
function withHistoryTheme(theme, target) {
|
|
55867
|
+
const { masterThemePaths: _masters, formatScheme, ...parts } = target;
|
|
55868
|
+
const next = { ...theme, ...plain(parts) };
|
|
55869
|
+
for (const key of RECORDED_KEYS) {
|
|
55870
|
+
if (target[key] === void 0) {
|
|
55871
|
+
delete next[key];
|
|
55872
|
+
}
|
|
55873
|
+
}
|
|
55874
|
+
if (formatScheme && !sameFormatScheme(theme ?? void 0, target)) {
|
|
55875
|
+
next.formatScheme = plain(formatScheme);
|
|
55876
|
+
}
|
|
55877
|
+
return next;
|
|
55878
|
+
}
|
|
55879
|
+
function withHistoryMasterThemes(slideMasters, target) {
|
|
55880
|
+
const recorded = target?.masterThemePaths;
|
|
55881
|
+
if (!recorded || slideMasters.every((master) => !differs(recorded, master))) {
|
|
55882
|
+
return slideMasters;
|
|
55883
|
+
}
|
|
55884
|
+
return slideMasters.map(
|
|
55885
|
+
(master) => differs(recorded, master) ? { ...master, themePath: recorded[master.path] } : master
|
|
55886
|
+
);
|
|
55887
|
+
}
|
|
55888
|
+
function differs(recorded, master) {
|
|
55889
|
+
const path = recorded[master.path];
|
|
55890
|
+
return path !== void 0 && path !== master.themePath;
|
|
55891
|
+
}
|
|
55892
|
+
function themePartWrites(from, to, loadedName) {
|
|
55893
|
+
const writes = [];
|
|
55894
|
+
if (to.colorScheme && !sameJson(to.colorScheme, from?.colorScheme)) {
|
|
55895
|
+
writes.push({ part: "colorScheme", colorScheme: to.colorScheme });
|
|
55896
|
+
}
|
|
55897
|
+
if (to.fontScheme && !sameJson(to.fontScheme, from?.fontScheme)) {
|
|
55898
|
+
writes.push({ part: "fontScheme", fontScheme: to.fontScheme });
|
|
55899
|
+
}
|
|
55900
|
+
if (to.formatScheme && !sameFormatScheme(from, to)) {
|
|
55901
|
+
writes.push({ part: "formatScheme", formatScheme: to.formatScheme });
|
|
55902
|
+
}
|
|
55903
|
+
const name = to.name ?? loadedName;
|
|
55904
|
+
if (name && name !== (from?.name ?? loadedName)) {
|
|
55905
|
+
writes.push({ part: "name", name });
|
|
55906
|
+
}
|
|
55907
|
+
return writes;
|
|
55908
|
+
}
|
|
55909
|
+
function loadedThemeName(themeOptions, slideMasters) {
|
|
55910
|
+
const options = themeOptions ?? [];
|
|
55911
|
+
const primary = slideMasters?.[0]?.themePath;
|
|
55912
|
+
return (options.find((option) => option.path === primary) ?? options[0])?.name;
|
|
55913
|
+
}
|
|
55914
|
+
async function applyWrites(handler, writes, ...scope) {
|
|
55915
|
+
for (const write of writes) {
|
|
55916
|
+
if (write.part === "colorScheme") {
|
|
55917
|
+
await handler.updateThemeColorScheme(write.colorScheme, ...scope);
|
|
55918
|
+
} else if (write.part === "fontScheme") {
|
|
55919
|
+
await handler.updateThemeFontScheme(write.fontScheme, ...scope);
|
|
55920
|
+
} else if (write.part === "formatScheme") {
|
|
55921
|
+
await handler.restoreThemeFormatScheme(write.formatScheme, ...scope);
|
|
55922
|
+
} else {
|
|
55923
|
+
await handler.updateThemeName(write.name, ...scope);
|
|
55924
|
+
}
|
|
55925
|
+
}
|
|
55926
|
+
}
|
|
55927
|
+
function writableFaces(theme) {
|
|
55928
|
+
const { fontScheme } = theme;
|
|
55929
|
+
if (!fontScheme) {
|
|
55930
|
+
return theme;
|
|
55931
|
+
}
|
|
55932
|
+
const latin = (font) => font?.latin ? { latin: font.latin } : {};
|
|
55933
|
+
return {
|
|
55934
|
+
...theme,
|
|
55935
|
+
fontScheme: { majorFont: latin(fontScheme.majorFont), minorFont: latin(fontScheme.minorFont) }
|
|
55936
|
+
};
|
|
55937
|
+
}
|
|
55938
|
+
function masterThemeMoves(from, to) {
|
|
55939
|
+
return Object.entries(to.masterThemePaths ?? {}).filter(
|
|
55940
|
+
([master, path]) => from?.masterThemePaths?.[master] !== path
|
|
55941
|
+
);
|
|
55942
|
+
}
|
|
55943
|
+
function writeThemeParts(handler, from, to, loadedName) {
|
|
55944
|
+
const moves = masterThemeMoves(from, to);
|
|
55945
|
+
if (moves.length > 0) {
|
|
55946
|
+
return handler ? queueThemeWrite(handler, () => repointAndWrite(handler, moves, to)) : Promise.resolve();
|
|
55947
|
+
}
|
|
55948
|
+
const writes = themePartWrites(from, to, loadedName);
|
|
55949
|
+
if (!handler || writes.length === 0) {
|
|
55950
|
+
return Promise.resolve();
|
|
55951
|
+
}
|
|
55952
|
+
return queueThemeWrite(handler, () => applyWrites(handler, writes));
|
|
55953
|
+
}
|
|
55954
|
+
async function repointAndWrite(handler, moves, to) {
|
|
55955
|
+
for (const [master, path] of moves) {
|
|
55956
|
+
await handler.setSlideMasterTheme(master, path);
|
|
55957
|
+
}
|
|
55958
|
+
const deckPart = Object.values(to.masterThemePaths ?? {})[0];
|
|
55959
|
+
const now = deckPart ? await handler.getThemePartSchemes(deckPart) : void 0;
|
|
55960
|
+
if (deckPart && now) {
|
|
55961
|
+
const writes = themePartWrites(writableFaces(historyTheme(now)), writableFaces(to), now.name);
|
|
55962
|
+
await applyWrites(handler, writes, [deckPart]);
|
|
55963
|
+
}
|
|
55964
|
+
}
|
|
55965
|
+
function restoreCrossedTheme(theme, current, target, handler, loadedName) {
|
|
55966
|
+
const crossed = crossedHistoryTheme(current, target);
|
|
55967
|
+
if (!crossed) {
|
|
55968
|
+
return void 0;
|
|
55969
|
+
}
|
|
55970
|
+
void writeThemeParts(handler, current, crossed, loadedName);
|
|
55971
|
+
return withHistoryTheme(theme, crossed);
|
|
55972
|
+
}
|
|
55973
|
+
async function saveDeckWithPassword(serializer, slides, options, intent) {
|
|
55974
|
+
await settleThemeWrites(serializer);
|
|
55975
|
+
return saveDeckWithPassword$1(serializer, slides, options, intent);
|
|
55976
|
+
}
|
|
55977
|
+
|
|
55299
55978
|
// src/pptx/render/deck-save-options.ts
|
|
55300
55979
|
function buildDeckSaveOptions(state) {
|
|
55301
55980
|
return {
|
|
@@ -55334,32 +56013,79 @@ var DEFAULT_VIEWER_PREFERENCES = {
|
|
|
55334
56013
|
};
|
|
55335
56014
|
var DEFAULT_VIEWER_SETTINGS = DEFAULT_VIEWER_PREFERENCES;
|
|
55336
56015
|
var VIEWER_SHORTCUT_REFERENCE = [
|
|
55337
|
-
{ actionKey: "pptx.toolbar.undo", shortcut: "Ctrl/Cmd+Z" },
|
|
55338
|
-
{
|
|
55339
|
-
|
|
55340
|
-
|
|
55341
|
-
|
|
55342
|
-
|
|
55343
|
-
{ actionKey: "pptx.shortcuts.action.
|
|
55344
|
-
{ actionKey: "pptx.shortcuts.action.
|
|
55345
|
-
{ actionKey: "pptx.
|
|
55346
|
-
{
|
|
55347
|
-
|
|
55348
|
-
|
|
55349
|
-
|
|
55350
|
-
|
|
55351
|
-
{
|
|
55352
|
-
|
|
55353
|
-
|
|
56016
|
+
{ actionKey: "pptx.toolbar.undo", shortcut: "Ctrl/Cmd+Z", group: "history" },
|
|
56017
|
+
{
|
|
56018
|
+
actionKey: "pptx.toolbar.redo",
|
|
56019
|
+
shortcut: "Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y",
|
|
56020
|
+
group: "history"
|
|
56021
|
+
},
|
|
56022
|
+
{ actionKey: "pptx.shortcuts.action.copyElement", shortcut: "Ctrl/Cmd+C", group: "clipboard" },
|
|
56023
|
+
{ actionKey: "pptx.shortcuts.action.cutElement", shortcut: "Ctrl/Cmd+X", group: "clipboard" },
|
|
56024
|
+
{ actionKey: "pptx.shortcuts.action.pasteElement", shortcut: "Ctrl/Cmd+V", group: "clipboard" },
|
|
56025
|
+
{
|
|
56026
|
+
actionKey: "pptx.shortcuts.action.duplicateElement",
|
|
56027
|
+
shortcut: "Ctrl/Cmd+D",
|
|
56028
|
+
group: "editing"
|
|
56029
|
+
},
|
|
56030
|
+
{
|
|
56031
|
+
actionKey: "pptx.shortcuts.action.deleteElement",
|
|
56032
|
+
shortcut: "Delete / Backspace",
|
|
56033
|
+
group: "editing"
|
|
56034
|
+
},
|
|
56035
|
+
{ actionKey: "pptx.shortcuts.action.selectAll", shortcut: "Ctrl/Cmd+A", group: "editing" },
|
|
56036
|
+
{ actionKey: "pptx.ribbon.group", shortcut: "Ctrl/Cmd+G", group: "editing" },
|
|
56037
|
+
{ actionKey: "pptx.ribbon.ungroup", shortcut: "Ctrl/Cmd+Shift+G", group: "editing" },
|
|
56038
|
+
{ actionKey: "pptx.shortcuts.action.nudgeElement", shortcut: "Arrow keys", group: "editing" },
|
|
56039
|
+
{
|
|
56040
|
+
actionKey: "pptx.shortcuts.action.nudgeElementLarge",
|
|
56041
|
+
shortcut: "Shift+Arrow keys",
|
|
56042
|
+
group: "editing"
|
|
56043
|
+
},
|
|
56044
|
+
{
|
|
56045
|
+
actionKey: "pptx.shortcuts.action.prevSlide",
|
|
56046
|
+
shortcut: "Left or Up arrow, Page Up",
|
|
56047
|
+
group: "navigation"
|
|
56048
|
+
},
|
|
56049
|
+
{
|
|
56050
|
+
actionKey: "pptx.shortcuts.action.nextSlide",
|
|
56051
|
+
shortcut: "Right or Down arrow, Page Down",
|
|
56052
|
+
group: "navigation"
|
|
56053
|
+
},
|
|
56054
|
+
{
|
|
56055
|
+
actionKey: "pptx.shortcuts.action.zoomCanvas",
|
|
56056
|
+
shortcut: "Ctrl/Cmd+Mouse wheel",
|
|
56057
|
+
group: "navigation"
|
|
56058
|
+
},
|
|
56059
|
+
{
|
|
56060
|
+
actionKey: "pptx.shortcuts.action.commitTextEdit",
|
|
56061
|
+
shortcut: "Ctrl/Cmd+Enter",
|
|
56062
|
+
group: "editing"
|
|
56063
|
+
},
|
|
56064
|
+
{ actionKey: "pptx.shortcuts.action.cancelTextEdit", shortcut: "Escape", group: "editing" },
|
|
55354
56065
|
// Both of these reached the shared keymap late (Ctrl+F was hand-wired in two
|
|
55355
56066
|
// bindings, Ctrl+/ in one), so the panel that is supposed to teach the keymap
|
|
55356
56067
|
// was advertising neither. The help panel is the keymap's documentation: a
|
|
55357
56068
|
// chord missing here is a chord nobody discovers.
|
|
55358
|
-
{ actionKey: "pptx.findReplace.title", shortcut: "Ctrl/Cmd+F" },
|
|
55359
|
-
{ actionKey: "pptx.slideShow.fromBeginning", shortcut: "F5" },
|
|
55360
|
-
{ actionKey: "pptx.slideShow.fromCurrent", shortcut: "Shift+F5" },
|
|
55361
|
-
{ actionKey: "pptx.shortcuts.title", shortcut: "? or Ctrl/Cmd+/" }
|
|
56069
|
+
{ actionKey: "pptx.findReplace.title", shortcut: "Ctrl/Cmd+F", group: "general" },
|
|
56070
|
+
{ actionKey: "pptx.slideShow.fromBeginning", shortcut: "F5", group: "general" },
|
|
56071
|
+
{ actionKey: "pptx.slideShow.fromCurrent", shortcut: "Shift+F5", group: "general" },
|
|
56072
|
+
{ actionKey: "pptx.shortcuts.title", shortcut: "? or Ctrl/Cmd+/", group: "general" }
|
|
55362
56073
|
];
|
|
56074
|
+
var SHORTCUT_REFERENCE_GROUP_LABEL_KEYS = {
|
|
56075
|
+
history: "pptx.editorToolbar.history",
|
|
56076
|
+
clipboard: "pptx.ribbon.clipboard",
|
|
56077
|
+
editing: "pptx.shortcuts.group.editing",
|
|
56078
|
+
navigation: "pptx.shortcuts.group.navigation",
|
|
56079
|
+
general: "pptx.settings.general"
|
|
56080
|
+
};
|
|
56081
|
+
function groupShortcutReference(items = VIEWER_SHORTCUT_REFERENCE) {
|
|
56082
|
+
const order = Object.keys(SHORTCUT_REFERENCE_GROUP_LABEL_KEYS);
|
|
56083
|
+
return order.map((group) => ({
|
|
56084
|
+
group,
|
|
56085
|
+
labelKey: SHORTCUT_REFERENCE_GROUP_LABEL_KEYS[group],
|
|
56086
|
+
shortcuts: items.filter((item4) => item4.group === group)
|
|
56087
|
+
})).filter((bucket) => bucket.shortcuts.length > 0);
|
|
56088
|
+
}
|
|
55363
56089
|
var SHORTCUT_REFERENCE_ITEMS = VIEWER_SHORTCUT_REFERENCE;
|
|
55364
56090
|
var VIEWER_PREFERENCE_TOGGLES = [
|
|
55365
56091
|
{ key: "autoSave", labelKey: "pptx.settings.autoSave" },
|
|
@@ -55798,8 +56524,8 @@ function capitalizeDayName(word) {
|
|
|
55798
56524
|
return word;
|
|
55799
56525
|
}
|
|
55800
56526
|
function replaceFractions(word) {
|
|
55801
|
-
for (const [
|
|
55802
|
-
if (word ===
|
|
56527
|
+
for (const [plain2, glyph3] of FRACTIONS) {
|
|
56528
|
+
if (word === plain2) {
|
|
55803
56529
|
return glyph3;
|
|
55804
56530
|
}
|
|
55805
56531
|
}
|
|
@@ -58783,7 +59509,7 @@ function safeColor(color, fallback = "none") {
|
|
|
58783
59509
|
function svgTile(width, height, defs, body) {
|
|
58784
59510
|
return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" aria-hidden="true" focusable="false">${defs ? `<defs>${defs}</defs>` : ""}${body}</svg>`;
|
|
58785
59511
|
}
|
|
58786
|
-
function
|
|
59512
|
+
function num5(value) {
|
|
58787
59513
|
return String(Math.round(value * 100) / 100);
|
|
58788
59514
|
}
|
|
58789
59515
|
function svgId(raw) {
|
|
@@ -58798,9 +59524,9 @@ function paintDefs(paint, id) {
|
|
|
58798
59524
|
const x = Math.cos(rad) / 2;
|
|
58799
59525
|
const y = Math.sin(rad) / 2;
|
|
58800
59526
|
const stops = paint.stops.map(
|
|
58801
|
-
(s) => `<stop offset="${
|
|
59527
|
+
(s) => `<stop offset="${num5(s.position)}%" stop-color="${safeColor(s.color, "#000000")}"${s.opacity !== void 0 && s.opacity < 1 ? ` stop-opacity="${num5(s.opacity)}"` : ""}/>`
|
|
58802
59528
|
).join("");
|
|
58803
|
-
const defs = `<linearGradient id="${id}" x1="${
|
|
59529
|
+
const defs = `<linearGradient id="${id}" x1="${num5(0.5 - x)}" y1="${num5(0.5 - y)}" x2="${num5(0.5 + x)}" y2="${num5(0.5 + y)}">${stops}</linearGradient>`;
|
|
58804
59530
|
return { defs, fill: `url(#${id})` };
|
|
58805
59531
|
}
|
|
58806
59532
|
return { defs: "", fill: safeColor(paint.color) };
|
|
@@ -58813,19 +59539,19 @@ function filterDefs(effects, id) {
|
|
|
58813
59539
|
if (effects.glow) {
|
|
58814
59540
|
const g = effects.glow;
|
|
58815
59541
|
parts.push(
|
|
58816
|
-
`<feMorphology in="SourceAlpha" operator="dilate" radius="${
|
|
58817
|
-
`<feGaussianBlur in="gd" stdDeviation="${
|
|
58818
|
-
`<feFlood flood-color="${safeColor(g.color, "#000000")}" flood-opacity="${
|
|
59542
|
+
`<feMorphology in="SourceAlpha" operator="dilate" radius="${num5(g.radius / 2)}" result="gd"/>`,
|
|
59543
|
+
`<feGaussianBlur in="gd" stdDeviation="${num5(g.radius / 2)}" result="gb"/>`,
|
|
59544
|
+
`<feFlood flood-color="${safeColor(g.color, "#000000")}" flood-opacity="${num5(g.opacity)}"/>`,
|
|
58819
59545
|
'<feComposite in2="gb" operator="in" result="glow"/>'
|
|
58820
59546
|
);
|
|
58821
59547
|
}
|
|
58822
59548
|
if (effects.shadow && !effects.shadow.inner) {
|
|
58823
59549
|
const s = effects.shadow;
|
|
58824
|
-
parts.push(svgDropShadowElement(s, { number:
|
|
59550
|
+
parts.push(svgDropShadowElement(s, { number: num5, color: safeColor }));
|
|
58825
59551
|
}
|
|
58826
59552
|
if (effects.softEdge) {
|
|
58827
59553
|
parts.push(
|
|
58828
|
-
`<feGaussianBlur in="SourceGraphic" stdDeviation="${
|
|
59554
|
+
`<feGaussianBlur in="SourceGraphic" stdDeviation="${num5(effects.softEdge / 2)}" result="soft"/>`
|
|
58829
59555
|
);
|
|
58830
59556
|
}
|
|
58831
59557
|
if (parts.length === 0) {
|
|
@@ -58848,8 +59574,8 @@ function shapeTileSvg(spec5) {
|
|
|
58848
59574
|
const h = spec5.height - inset3 * 2 - (spec5.effects?.reflection ? h3(spec5) : 0);
|
|
58849
59575
|
const paint = paintDefs(spec5.fill, `${id}-f`);
|
|
58850
59576
|
const filter = filterDefs(spec5.effects, `${id}-x`);
|
|
58851
|
-
const stroke = spec5.stroke && spec5.stroke.width > 0 ? ` stroke="${safeColor(spec5.stroke.color, "#000000")}" stroke-width="${
|
|
58852
|
-
const fillOpacity = spec5.fill?.opacity !== void 0 && spec5.fill.opacity < 1 ? ` fill-opacity="${
|
|
59577
|
+
const stroke = spec5.stroke && spec5.stroke.width > 0 ? ` stroke="${safeColor(spec5.stroke.color, "#000000")}" stroke-width="${num5(Math.min(spec5.stroke.width, 6))}"${spec5.stroke.opacity !== void 0 && spec5.stroke.opacity < 1 ? ` stroke-opacity="${num5(spec5.stroke.opacity)}"` : ""}${spec5.stroke.dash ? ` stroke-dasharray="${spec5.stroke.dash}"` : ""}` : "";
|
|
59578
|
+
const fillOpacity = spec5.fill?.opacity !== void 0 && spec5.fill.opacity < 1 ? ` fill-opacity="${num5(spec5.fill.opacity)}"` : "";
|
|
58853
59579
|
const shape = geometryMarkup(
|
|
58854
59580
|
spec5.geometry,
|
|
58855
59581
|
inset3,
|
|
@@ -58862,8 +59588,8 @@ function shapeTileSvg(spec5) {
|
|
|
58862
59588
|
if (spec5.effects?.reflection) {
|
|
58863
59589
|
const r = spec5.effects.reflection;
|
|
58864
59590
|
const gy = inset3 + h + r.distance;
|
|
58865
|
-
body += `<g opacity="${
|
|
58866
|
-
paint.defs += `<linearGradient id="${id}-mg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff"/><stop offset="${
|
|
59591
|
+
body += `<g opacity="${num5(r.startOpacity)}" transform="translate(0 ${num5(gy * 2)}) scale(1 -1)" mask="url(#${id}-m)">${geometryMarkup(spec5.geometry, inset3, inset3, w, h, `fill="${paint.fill}"${stroke}`)}</g>`;
|
|
59592
|
+
paint.defs += `<linearGradient id="${id}-mg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff"/><stop offset="${num5(r.endPosition)}" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num5(gy)}" width="${spec5.width}" height="${num5(h)}" fill="url(#${id}-mg)"/></mask>`;
|
|
58867
59593
|
}
|
|
58868
59594
|
if (spec5.effects?.shadow?.inner) {
|
|
58869
59595
|
const s = spec5.effects.shadow;
|
|
@@ -58873,11 +59599,11 @@ function shapeTileSvg(spec5) {
|
|
|
58873
59599
|
inset3 + s.dy / 2,
|
|
58874
59600
|
w - Math.abs(s.dx),
|
|
58875
59601
|
h - Math.abs(s.dy),
|
|
58876
|
-
`fill="none" stroke="${safeColor(s.color, "#000000")}" stroke-opacity="${
|
|
59602
|
+
`fill="none" stroke="${safeColor(s.color, "#000000")}" stroke-opacity="${num5(s.opacity / 2)}" stroke-width="${num5(Math.max(1, s.blur / 2))}"`
|
|
58877
59603
|
);
|
|
58878
59604
|
}
|
|
58879
59605
|
if (spec5.text) {
|
|
58880
|
-
body += `<text x="${
|
|
59606
|
+
body += `<text x="${num5(inset3 + w / 2)}" y="${num5(inset3 + h / 2)}" text-anchor="middle" dominant-baseline="central" font-family="Calibri, Arial, sans-serif" font-size="${num5(Math.min(h * 0.55, 14))}" fill="${safeColor(spec5.text.color, "#000000")}">${escapeSvgText(spec5.text.value)}</text>`;
|
|
58881
59607
|
}
|
|
58882
59608
|
return svgTile(spec5.width, spec5.height, paint.defs + filter.defs, body);
|
|
58883
59609
|
}
|
|
@@ -58886,10 +59612,10 @@ function h3(spec5) {
|
|
|
58886
59612
|
}
|
|
58887
59613
|
function geometryMarkup(geometry, x, y, w, h, attrs) {
|
|
58888
59614
|
if (geometry === "ellipse") {
|
|
58889
|
-
return `<ellipse cx="${
|
|
59615
|
+
return `<ellipse cx="${num5(x + w / 2)}" cy="${num5(y + h / 2)}" rx="${num5(w / 2)}" ry="${num5(h / 2)}" ${attrs}/>`;
|
|
58890
59616
|
}
|
|
58891
59617
|
const r = geometry === "roundRect" ? Math.min(w, h) * 0.18 : 1.5;
|
|
58892
|
-
return `<rect x="${
|
|
59618
|
+
return `<rect x="${num5(x)}" y="${num5(y)}" width="${num5(w)}" height="${num5(h)}" rx="${num5(r)}" ${attrs}/>`;
|
|
58893
59619
|
}
|
|
58894
59620
|
function tileSpecFromShapeStyle(id, style, size2, textColor) {
|
|
58895
59621
|
const fill3 = style.fillMode === "none" ? void 0 : style.fillMode === "gradient" && style.fillGradientStops?.length ? {
|
|
@@ -58995,17 +59721,17 @@ function apply(itemId, ctx) {
|
|
|
58995
59721
|
var BULLETS_GALLERY = { build, apply };
|
|
58996
59722
|
|
|
58997
59723
|
// src/ribbon/color-preview.ts
|
|
58998
|
-
var
|
|
59724
|
+
var num6 = (value) => String(Math.round(value * 100) / 100);
|
|
58999
59725
|
function swatchStripSvg(colors, size2) {
|
|
59000
59726
|
const w = size2.width / Math.max(colors.length, 1);
|
|
59001
59727
|
const body = colors.map(
|
|
59002
|
-
(color, i) => `<rect x="${
|
|
59728
|
+
(color, i) => `<rect x="${num6(i * w)}" y="0" width="${num6(w)}" height="${size2.height}" fill="${safeColor(color, "#808080")}"/>`
|
|
59003
59729
|
).join("");
|
|
59004
59730
|
return svgTile(size2.width, size2.height, "", body);
|
|
59005
59731
|
}
|
|
59006
59732
|
|
|
59007
59733
|
// src/chart/gallery-tiles.ts
|
|
59008
|
-
function
|
|
59734
|
+
function num7(value) {
|
|
59009
59735
|
return String(Math.round(value * 100) / 100);
|
|
59010
59736
|
}
|
|
59011
59737
|
var HEIGHTS = [0.55, 0.8, 0.4, 0.95, 0.7, 0.5];
|
|
@@ -59022,11 +59748,11 @@ function columnChartTileSvg(colors, size2) {
|
|
|
59022
59748
|
const h = plotH * (HEIGHTS[(g + s * 2) % HEIGHTS.length] ?? 0.5);
|
|
59023
59749
|
const x = pad + g * groupW + groupW * 0.1 + s * barW;
|
|
59024
59750
|
bars.push(
|
|
59025
|
-
`<rect x="${
|
|
59751
|
+
`<rect x="${num7(x)}" y="${num7(pad + plotH - h)}" width="${num7(barW * 0.9)}" height="${num7(h)}" fill="${safeColor(color, "#808080")}"/>`
|
|
59026
59752
|
);
|
|
59027
59753
|
});
|
|
59028
59754
|
}
|
|
59029
|
-
const axis = `<line x1="${pad}" y1="${
|
|
59755
|
+
const axis = `<line x1="${pad}" y1="${num7(pad + plotH)}" x2="${num7(pad + plotW)}" y2="${num7(pad + plotH)}" stroke="#A6A6A6" stroke-width="0.75"/>`;
|
|
59030
59756
|
const bg = `<rect x="0" y="0" width="${size2.width}" height="${size2.height}" fill="#FFFFFF"/>`;
|
|
59031
59757
|
return svgTile(size2.width, size2.height, "", bg + bars.join("") + axis);
|
|
59032
59758
|
}
|
|
@@ -59041,7 +59767,7 @@ function chartLayoutTileSvg(sketch, size2) {
|
|
|
59041
59767
|
let left = 3;
|
|
59042
59768
|
let right = size2.width - 3;
|
|
59043
59769
|
const bar = (x, y, w2, h, color = INK) => parts.push(
|
|
59044
|
-
`<rect x="${
|
|
59770
|
+
`<rect x="${num7(x)}" y="${num7(y)}" width="${num7(w2)}" height="${num7(h)}" fill="${color}"/>`
|
|
59045
59771
|
);
|
|
59046
59772
|
if (sketch.title) {
|
|
59047
59773
|
bar(size2.width * 0.3, top, size2.width * 0.4, 3);
|
|
@@ -59064,7 +59790,7 @@ function chartLayoutTileSvg(sketch, size2) {
|
|
|
59064
59790
|
const rows = 3;
|
|
59065
59791
|
for (let r = 0; r < rows; r++) {
|
|
59066
59792
|
parts.push(
|
|
59067
|
-
`<rect x="${
|
|
59793
|
+
`<rect x="${num7(left + 4)}" y="${num7(bottom - (rows - r) * 3)}" width="${num7(right - left - 4)}" height="3" fill="none" stroke="${INK}" stroke-width="0.5"/>`
|
|
59068
59794
|
);
|
|
59069
59795
|
}
|
|
59070
59796
|
bottom -= rows * 3 + 2;
|
|
@@ -59086,7 +59812,7 @@ function chartLayoutTileSvg(sketch, size2) {
|
|
|
59086
59812
|
for (let i = 0; i < lines; i++) {
|
|
59087
59813
|
const y = top + plotH * i / lines;
|
|
59088
59814
|
parts.push(
|
|
59089
|
-
`<line x1="${
|
|
59815
|
+
`<line x1="${num7(left)}" y1="${num7(y)}" x2="${num7(right)}" y2="${num7(y)}" stroke="#D9D9D9" stroke-width="${sketch.minorGridlines && i % 2 ? "0.4" : "0.7"}"/>`
|
|
59090
59816
|
);
|
|
59091
59817
|
}
|
|
59092
59818
|
}
|
|
@@ -59100,7 +59826,7 @@ function chartLayoutTileSvg(sketch, size2) {
|
|
|
59100
59826
|
}
|
|
59101
59827
|
});
|
|
59102
59828
|
parts.push(
|
|
59103
|
-
`<line x1="${
|
|
59829
|
+
`<line x1="${num7(left)}" y1="${num7(bottom)}" x2="${num7(right)}" y2="${num7(bottom)}" stroke="${INK}" stroke-width="0.6"/>`
|
|
59104
59830
|
);
|
|
59105
59831
|
return svgTile(size2.width, size2.height, "", parts.join(""));
|
|
59106
59832
|
}
|
|
@@ -59237,21 +59963,21 @@ function coloursByPoint(chartData) {
|
|
|
59237
59963
|
}
|
|
59238
59964
|
function applyChartColorPalette(chartData, palette, ctx) {
|
|
59239
59965
|
const scheme = galleryColorScheme(ctx);
|
|
59240
|
-
const
|
|
59966
|
+
const cleared2 = chartData.series.map(clearSeriesColor);
|
|
59241
59967
|
if (coloursByPoint(chartData)) {
|
|
59242
59968
|
const count = Math.max(chartData.categories.length, 1);
|
|
59243
59969
|
return {
|
|
59244
59970
|
...chartData,
|
|
59245
|
-
series:
|
|
59971
|
+
series: cleared2,
|
|
59246
59972
|
colorPalette: chartPaletteColors(palette, count, scheme),
|
|
59247
59973
|
colorMethod: "cycle"
|
|
59248
59974
|
};
|
|
59249
59975
|
}
|
|
59250
|
-
const colors = chartPaletteColors(palette,
|
|
59976
|
+
const colors = chartPaletteColors(palette, cleared2.length, scheme);
|
|
59251
59977
|
const base2 = palette.meth === "withinLinear" ? [chartPaletteColors(palette, 1, scheme)[0]] : palette.meth === "cycle" ? chartPaletteColors(palette, Math.max(palette.base.length, colors.length), scheme) : colors;
|
|
59252
59978
|
return {
|
|
59253
59979
|
...chartData,
|
|
59254
|
-
series:
|
|
59980
|
+
series: cleared2.map((series, i) => ({ ...series, color: colors[i] })),
|
|
59255
59981
|
colorPalette: base2.length ? base2 : colors,
|
|
59256
59982
|
colorMethod: palette.meth === "withinLinear" ? "withinLinear" : "cycle"
|
|
59257
59983
|
};
|
|
@@ -59945,7 +60671,7 @@ var PICTURE_CORRECTIONS_GALLERY = adjustGalleryModule(
|
|
|
59945
60671
|
|
|
59946
60672
|
// src/pptx/render/ribbon-galleries/picture-style-tile-svg.ts
|
|
59947
60673
|
var PICTURE_STYLE_TILE = { width: 64, height: 52 };
|
|
59948
|
-
function
|
|
60674
|
+
function num8(value) {
|
|
59949
60675
|
return String(Math.round(value * 100) / 100);
|
|
59950
60676
|
}
|
|
59951
60677
|
function geometryPath(geom, x, y, w, h) {
|
|
@@ -59954,32 +60680,32 @@ function geometryPath(geom, x, y, w, h) {
|
|
|
59954
60680
|
switch (geom) {
|
|
59955
60681
|
case "ellipse":
|
|
59956
60682
|
return box(
|
|
59957
|
-
`M${
|
|
59958
|
-
A${
|
|
60683
|
+
`M${num8(x)} ${num8(y + h / 2)} A${num8(w / 2)} ${num8(h / 2)} 0 1 0 ${num8(x + w)} ${num8(y + h / 2)}
|
|
60684
|
+
A${num8(w / 2)} ${num8(h / 2)} 0 1 0 ${num8(x)} ${num8(y + h / 2)} Z`
|
|
59959
60685
|
);
|
|
59960
60686
|
case "roundRect": {
|
|
59961
60687
|
const c = r * 0.14;
|
|
59962
60688
|
return box(
|
|
59963
|
-
`M${
|
|
59964
|
-
V${
|
|
59965
|
-
Q${
|
|
60689
|
+
`M${num8(x + c)} ${num8(y)} H${num8(x + w - c)} Q${num8(x + w)} ${num8(y)} ${num8(x + w)} ${num8(y + c)}
|
|
60690
|
+
V${num8(y + h - c)} Q${num8(x + w)} ${num8(y + h)} ${num8(x + w - c)} ${num8(y + h)} H${num8(x + c)}
|
|
60691
|
+
Q${num8(x)} ${num8(y + h)} ${num8(x)} ${num8(y + h - c)} V${num8(y + c)} Q${num8(x)} ${num8(y)} ${num8(x + c)} ${num8(y)} Z`
|
|
59966
60692
|
);
|
|
59967
60693
|
}
|
|
59968
60694
|
case "round2DiagRect": {
|
|
59969
60695
|
const c = r * 0.17;
|
|
59970
60696
|
return box(
|
|
59971
|
-
`M${
|
|
59972
|
-
H${
|
|
60697
|
+
`M${num8(x + c)} ${num8(y)} H${num8(x + w)} V${num8(y + h - c)} Q${num8(x + w)} ${num8(y + h)} ${num8(x + w - c)} ${num8(y + h)}
|
|
60698
|
+
H${num8(x)} V${num8(y + c)} Q${num8(x)} ${num8(y)} ${num8(x + c)} ${num8(y)} Z`
|
|
59973
60699
|
);
|
|
59974
60700
|
}
|
|
59975
60701
|
case "snip2DiagRect": {
|
|
59976
60702
|
const c = r * 0.17;
|
|
59977
60703
|
return box(
|
|
59978
|
-
`M${
|
|
60704
|
+
`M${num8(x)} ${num8(y)} H${num8(x + w - c)} L${num8(x + w)} ${num8(y + c)} V${num8(y + h)} H${num8(x + c)} L${num8(x)} ${num8(y + h - c)} Z`
|
|
59979
60705
|
);
|
|
59980
60706
|
}
|
|
59981
60707
|
default:
|
|
59982
|
-
return `M${
|
|
60708
|
+
return `M${num8(x)} ${num8(y)} H${num8(x + w)} V${num8(y + h)} H${num8(x)} Z`;
|
|
59983
60709
|
}
|
|
59984
60710
|
}
|
|
59985
60711
|
function tiltTransform(spec5, cx, cy) {
|
|
@@ -59989,13 +60715,13 @@ function tiltTransform(spec5, cx, cy) {
|
|
|
59989
60715
|
}
|
|
59990
60716
|
const rev = scene.rot?.[2] ?? 0;
|
|
59991
60717
|
if (scene.camera === "orthographicFront") {
|
|
59992
|
-
return rev ? ` transform="rotate(${
|
|
60718
|
+
return rev ? ` transform="rotate(${num8(rev / 6e4)} ${num8(cx)} ${num8(cy)})"` : "";
|
|
59993
60719
|
}
|
|
59994
60720
|
const lon = scene.rot?.[1] ?? 0;
|
|
59995
60721
|
const skew = lon > 108e5 ? 8 : lon > 0 ? -8 : 0;
|
|
59996
60722
|
const lat = scene.rot?.[0] ?? 0;
|
|
59997
60723
|
const squash = lat > 108e5 ? 0.9 : 1;
|
|
59998
|
-
return ` transform="translate(${
|
|
60724
|
+
return ` transform="translate(${num8(cx)} ${num8(cy)}) skewY(${skew}) scale(1 ${squash}) translate(${num8(-cx)} ${num8(-cy)})"`;
|
|
59999
60725
|
}
|
|
60000
60726
|
function pictureStyleTileSvg(spec5) {
|
|
60001
60727
|
const id = svgId(`gps-${spec5.key}`);
|
|
@@ -60015,21 +60741,21 @@ function pictureStyleTileSvg(spec5) {
|
|
|
60015
60741
|
const opacity = alpha ? Number(alpha[1]) / 1e5 : 1;
|
|
60016
60742
|
const rad = (spec5.outer.dir ?? 0) / 6e4 * Math.PI / 180;
|
|
60017
60743
|
const dist2 = Math.min(3, (spec5.outer.dist ?? 0) / 38100);
|
|
60018
|
-
defs += `<filter id="${id}-f" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="${
|
|
60744
|
+
defs += `<filter id="${id}-f" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="${num8(Math.cos(rad) * dist2)}" dy="${num8(Math.sin(rad) * dist2)}" stdDeviation="${num8(Math.min(3, spec5.outer.blur / 63500))}" flood-color="#000000" flood-opacity="${num8(Math.min(0.8, opacity + 0.2))}"/></filter>`;
|
|
60019
60745
|
filter = ` filter="url(#${id}-f)"`;
|
|
60020
60746
|
} else if (spec5.softEdge !== void 0) {
|
|
60021
60747
|
defs += `<filter id="${id}-f" x="-20%" y="-20%" width="140%" height="140%"><feGaussianBlur stdDeviation="2"/></filter>`;
|
|
60022
60748
|
filter = ` filter="url(#${id}-f)"`;
|
|
60023
60749
|
}
|
|
60024
|
-
const photo = `<g clip-path="url(#${id}-c)"><rect x="${x}" y="${y}" width="${w}" height="${
|
|
60025
|
-
const frame = spec5.line ? `<path d="${outline}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="${
|
|
60750
|
+
const photo = `<g clip-path="url(#${id}-c)"><rect x="${x}" y="${y}" width="${w}" height="${num8(h)}" fill="url(#${id}-s)"/><circle cx="${num8(x + w * 0.72)}" cy="${num8(y + h * 0.3)}" r="${num8(h * 0.13)}" fill="#ffd54a"/><path d="M${x} ${num8(y + h)} L${num8(x + w * 0.35)} ${num8(y + h * 0.5)} L${num8(x + w * 0.6)} ${num8(y + h * 0.75)} L${num8(x + w * 0.78)} ${num8(y + h * 0.55)} L${num8(x + w)} ${num8(y + h * 0.8)} V${num8(y + h)} Z" fill="#4c9a4a"/></g>`;
|
|
60751
|
+
const frame = spec5.line ? `<path d="${outline}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="${num8(stroke)}"${spec5.line.cmpd ? ` stroke-opacity="0.9"` : ""}/>${spec5.line.cmpd ? `<path d="${geometryPath(spec5.geom, x + stroke, y + stroke, w - stroke * 2, h - stroke * 2)}" fill="none" stroke="${safeColor(spec5.line.color, "#000000")}" stroke-width="0.8"/>` : ""}` : "";
|
|
60026
60752
|
const bevel = spec5.sp3d ? `<path d="${outline}" fill="none" stroke="#ffffff" stroke-opacity="0.45" stroke-width="1" transform="translate(-0.5 -0.5)"/>` : "";
|
|
60027
60753
|
const body = `${photo}${frame}${bevel}`;
|
|
60028
60754
|
let out = `<g${tiltTransform(spec5, width / 2, y + h / 2)}><g${filter}>${body}</g>`;
|
|
60029
60755
|
if (reflect) {
|
|
60030
60756
|
const gy = y + h + 1;
|
|
60031
|
-
defs += `<linearGradient id="${id}-rg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff" stop-opacity="${
|
|
60032
|
-
out += `<g mask="url(#${id}-m)"><g transform="translate(0 ${
|
|
60757
|
+
defs += `<linearGradient id="${id}-rg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#fff" stop-opacity="${num8((spec5.reflection?.stA ?? 3e4) / 1e5 + 0.2)}"/><stop offset="0.6" stop-color="#fff" stop-opacity="0"/></linearGradient><mask id="${id}-m"><rect x="0" y="${num8(gy)}" width="${width}" height="${num8(h)}" fill="url(#${id}-rg)"/></mask>`;
|
|
60758
|
+
out += `<g mask="url(#${id}-m)"><g transform="translate(0 ${num8(gy * 2)}) scale(1 -1)">${body}</g></g>`;
|
|
60033
60759
|
}
|
|
60034
60760
|
out += "</g>";
|
|
60035
60761
|
return svgTile(width, height, defs, out);
|
|
@@ -61179,7 +61905,7 @@ function hasReflection(style) {
|
|
|
61179
61905
|
}
|
|
61180
61906
|
|
|
61181
61907
|
// src/pptx/render/ribbon-galleries/effect-tile-svg.ts
|
|
61182
|
-
function
|
|
61908
|
+
function num9(value) {
|
|
61183
61909
|
return String(Math.round(value * 100) / 100);
|
|
61184
61910
|
}
|
|
61185
61911
|
var BEVEL_PROFILES = {
|
|
@@ -61206,8 +61932,8 @@ function bevelTileSvg(id, preset2, color, size2) {
|
|
|
61206
61932
|
const [lit, dark] = profile.inverted ? ["#000000", "#ffffff"] : ["#ffffff", "#000000"];
|
|
61207
61933
|
const fill3 = safeColor(color, "#4472c4");
|
|
61208
61934
|
const defs = `<linearGradient id="${sid}-l" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="${lit}" stop-opacity="0.65"/><stop offset="0.5" stop-color="${lit}" stop-opacity="0"/><stop offset="0.5" stop-color="${dark}" stop-opacity="0"/><stop offset="1" stop-color="${dark}" stop-opacity="0.45"/></linearGradient>`;
|
|
61209
|
-
const ring = (d) => `<rect x="${
|
|
61210
|
-
let body = `<rect x="${inset3}" y="${inset3}" width="${
|
|
61935
|
+
const ring = (d) => `<rect x="${num9(inset3 + d)}" y="${num9(inset3 + d)}" width="${num9(w - d * 2)}" height="${num9(h - d * 2)}" fill="none" stroke="url(#${sid}-l)" stroke-width="${num9(rim)}"/>`;
|
|
61936
|
+
let body = `<rect x="${inset3}" y="${inset3}" width="${num9(w)}" height="${num9(h)}" fill="${fill3}"/>`;
|
|
61211
61937
|
body += ring(rim / 2);
|
|
61212
61938
|
if (profile.double) {
|
|
61213
61939
|
body += ring(rim * 1.6);
|
|
@@ -61244,7 +61970,7 @@ function rotationTileSvg(preset2, color, size2) {
|
|
|
61244
61970
|
[1, -1],
|
|
61245
61971
|
[1, 1],
|
|
61246
61972
|
[-1, 1]
|
|
61247
|
-
].map(([x, y]) => `${
|
|
61973
|
+
].map(([x, y]) => `${num9(cx + (a * x + c * y) * half)},${num9(cy + (b * x + d * y) * half)}`);
|
|
61248
61974
|
const fill3 = safeColor(color, "#4472c4");
|
|
61249
61975
|
return svgTile(
|
|
61250
61976
|
size2.width,
|
|
@@ -62947,7 +63673,7 @@ function tableStyleTileOptions(tableData) {
|
|
|
62947
63673
|
bandedColumns: Boolean(tableData.bandedColumns)
|
|
62948
63674
|
};
|
|
62949
63675
|
}
|
|
62950
|
-
function
|
|
63676
|
+
function num10(value) {
|
|
62951
63677
|
return String(Math.round(value * 100) / 100);
|
|
62952
63678
|
}
|
|
62953
63679
|
function cellFill(css) {
|
|
@@ -62987,7 +63713,7 @@ function tableStyleTileSvg(styleId, colorScheme, size2, options = DEFAULT_OPTION
|
|
|
62987
63713
|
const stroke = tileBorderStroke(value);
|
|
62988
63714
|
if (stroke) {
|
|
62989
63715
|
lines.push(
|
|
62990
|
-
`<line x1="${
|
|
63716
|
+
`<line x1="${num10(x1)}" y1="${num10(y1)}" x2="${num10(x2)}" y2="${num10(y2)}" stroke="${stroke.color}" stroke-width="${num10(stroke.width)}"/>`
|
|
62991
63717
|
);
|
|
62992
63718
|
}
|
|
62993
63719
|
};
|
|
@@ -62999,13 +63725,13 @@ function tableStyleTileSvg(styleId, colorScheme, size2, options = DEFAULT_OPTION
|
|
|
62999
63725
|
const fill3 = cellFill(css);
|
|
63000
63726
|
if (fill3 !== "none") {
|
|
63001
63727
|
fills.push(
|
|
63002
|
-
`<rect x="${
|
|
63728
|
+
`<rect x="${num10(x)}" y="${num10(y)}" width="${num10(cw)}" height="${num10(rh)}" fill="${fill3}"/>`
|
|
63003
63729
|
);
|
|
63004
63730
|
}
|
|
63005
63731
|
const text4 = safeColor(typeof css.color === "string" ? css.color : void 0, "#000000");
|
|
63006
63732
|
const bold = css.fontWeight === 700;
|
|
63007
63733
|
fills.push(
|
|
63008
|
-
`<rect x="${
|
|
63734
|
+
`<rect x="${num10(x + cw * 0.25)}" y="${num10(y + rh * 0.42)}" width="${num10(cw * 0.5)}" height="${num10(Math.max(rh * 0.16, 0.8))}" fill="${text4}" opacity="${bold ? "0.9" : "0.55"}"/>`
|
|
63009
63735
|
);
|
|
63010
63736
|
edge(x, y, x + cw, y, css.borderTop);
|
|
63011
63737
|
edge(x, y + rh, x + cw, y + rh, css.borderBottom);
|
|
@@ -63419,7 +64145,7 @@ var THEME_COLORS_GALLERY = {
|
|
|
63419
64145
|
};
|
|
63420
64146
|
var TILE8 = { width: 52, height: 36 };
|
|
63421
64147
|
var LABEL_KEY = "pptx.gallery.themeBackgrounds.style";
|
|
63422
|
-
function
|
|
64148
|
+
function num11(value) {
|
|
63423
64149
|
return String(Math.round(value * 100) / 100);
|
|
63424
64150
|
}
|
|
63425
64151
|
function presetSlot(preset2) {
|
|
@@ -63440,7 +64166,7 @@ function backgroundPaint(id, style, fallback) {
|
|
|
63440
64166
|
const stops = style?.fillGradientStops ?? [];
|
|
63441
64167
|
if (style?.fillMode === "gradient" && stops.length > 1) {
|
|
63442
64168
|
const body = stops.map(
|
|
63443
|
-
(stop) => `<stop offset="${
|
|
64169
|
+
(stop) => `<stop offset="${num11(stop.position)}%" stop-color="${safeColor(stop.color, fallback)}"/>`
|
|
63444
64170
|
).join("");
|
|
63445
64171
|
if (style.fillGradientType === "radial") {
|
|
63446
64172
|
return {
|
|
@@ -63452,7 +64178,7 @@ function backgroundPaint(id, style, fallback) {
|
|
|
63452
64178
|
const x = Math.cos(rad) / 2;
|
|
63453
64179
|
const y = Math.sin(rad) / 2;
|
|
63454
64180
|
return {
|
|
63455
|
-
defs: `<linearGradient id="${id}" x1="${
|
|
64181
|
+
defs: `<linearGradient id="${id}" x1="${num11(0.5 - x)}" y1="${num11(0.5 - y)}" x2="${num11(0.5 + x)}" y2="${num11(0.5 + y)}">${body}</linearGradient>`,
|
|
63456
64182
|
fill: `url(#${id})`
|
|
63457
64183
|
};
|
|
63458
64184
|
}
|
|
@@ -63546,7 +64272,7 @@ var THEME_BACKGROUNDS_GALLERY = {
|
|
|
63546
64272
|
var TILE9 = { width: 76, height: 42 };
|
|
63547
64273
|
var SCHEME_LABEL_KEY2 = "pptx.gallery.themeEffects.scheme";
|
|
63548
64274
|
var CELLS = [0, 1, 2];
|
|
63549
|
-
function
|
|
64275
|
+
function num12(value) {
|
|
63550
64276
|
return String(Math.round(value * 100) / 100);
|
|
63551
64277
|
}
|
|
63552
64278
|
function styleXml(idx, accent) {
|
|
@@ -63571,7 +64297,7 @@ function sampleShape(id, style, x, size2) {
|
|
|
63571
64297
|
fillId
|
|
63572
64298
|
);
|
|
63573
64299
|
const strokeWidth = Math.min(Math.max(style.strokeWidth ?? 0, 0), 4);
|
|
63574
|
-
const stroke = strokeWidth > 0 && style.strokeColor && style.strokeColor !== "transparent" ? ` stroke="${safeColor(style.strokeColor, "#000000")}" stroke-width="${
|
|
64300
|
+
const stroke = strokeWidth > 0 && style.strokeColor && style.strokeColor !== "transparent" ? ` stroke="${safeColor(style.strokeColor, "#000000")}" stroke-width="${num12(Math.max(1, strokeWidth))}"` : "";
|
|
63575
64301
|
let defs = paint.defs;
|
|
63576
64302
|
let filter = "";
|
|
63577
64303
|
if (style.shadowColor) {
|
|
@@ -63579,11 +64305,11 @@ function sampleShape(id, style, x, size2) {
|
|
|
63579
64305
|
const dx = Math.max(-3, Math.min(3, style.shadowOffsetX ?? 0));
|
|
63580
64306
|
const dy = Math.max(-3, Math.min(3, style.shadowOffsetY ?? 2));
|
|
63581
64307
|
const blur = Math.min(style.shadowBlur ?? 3, 4) / 2;
|
|
63582
|
-
defs += `<filter id="${shadowId}" x="-30%" y="-30%" width="160%" height="170%"><feDropShadow dx="${
|
|
64308
|
+
defs += `<filter id="${shadowId}" x="-30%" y="-30%" width="160%" height="170%"><feDropShadow dx="${num12(dx)}" dy="${num12(dy)}" stdDeviation="${num12(blur)}" flood-color="${safeColor(style.shadowColor, "#000000")}" flood-opacity="${num12(style.shadowOpacity ?? 0.4)}"/></filter>`;
|
|
63583
64309
|
filter = ` filter="url(#${shadowId})"`;
|
|
63584
64310
|
}
|
|
63585
|
-
const fillOpacity = !gradient && style.fillOpacity !== void 0 && style.fillOpacity < 1 ? ` fill-opacity="${
|
|
63586
|
-
const rect3 = `<rect x="${
|
|
64311
|
+
const fillOpacity = !gradient && style.fillOpacity !== void 0 && style.fillOpacity < 1 ? ` fill-opacity="${num12(style.fillOpacity)}"` : "";
|
|
64312
|
+
const rect3 = `<rect x="${num12(x)}" y="${num12(TILE9.height / 2 - size2 / 2 - 2)}" width="${num12(size2)}" height="${num12(size2)}" rx="3" fill="${paint.fill}"${fillOpacity}${stroke}${filter}/>`;
|
|
63587
64313
|
return `${defs ? `<defs>${defs}</defs>` : ""}${rect3}`;
|
|
63588
64314
|
}
|
|
63589
64315
|
function effectSchemeTileSvg(schemeId, ctx, accent = "accent1") {
|
|
@@ -64005,7 +64731,7 @@ var THEME_FONTS_GALLERY = {
|
|
|
64005
64731
|
};
|
|
64006
64732
|
|
|
64007
64733
|
// src/pptx/render/ribbon-galleries/wordart-preview-svg.ts
|
|
64008
|
-
function
|
|
64734
|
+
function num13(value) {
|
|
64009
64735
|
return String(Math.round(value * 100) / 100);
|
|
64010
64736
|
}
|
|
64011
64737
|
function paintOf(style) {
|
|
@@ -64030,9 +64756,9 @@ function effectFilter(style, id) {
|
|
|
64030
64756
|
if (style.textGlowColor) {
|
|
64031
64757
|
const r = Math.min(3, (style.textGlowRadius ?? 4) / 2);
|
|
64032
64758
|
parts.push(
|
|
64033
|
-
`<feMorphology in="SourceAlpha" operator="dilate" radius="${
|
|
64034
|
-
`<feGaussianBlur in="gd" stdDeviation="${
|
|
64035
|
-
`<feFlood flood-color="${safeColor(style.textGlowColor, "#000000")}" flood-opacity="${
|
|
64759
|
+
`<feMorphology in="SourceAlpha" operator="dilate" radius="${num13(r / 2)}" result="gd"/>`,
|
|
64760
|
+
`<feGaussianBlur in="gd" stdDeviation="${num13(r / 2)}" result="gb"/>`,
|
|
64761
|
+
`<feFlood flood-color="${safeColor(style.textGlowColor, "#000000")}" flood-opacity="${num13(Math.min(0.8, (style.textGlowOpacity ?? 0.4) + 0.2))}"/>`,
|
|
64036
64762
|
'<feComposite in2="gb" operator="in" result="glow"/>'
|
|
64037
64763
|
);
|
|
64038
64764
|
merge.push('<feMergeNode in="glow"/>');
|
|
@@ -64040,7 +64766,7 @@ function effectFilter(style, id) {
|
|
|
64040
64766
|
if (style.textShadowColor) {
|
|
64041
64767
|
const clamp12 = (v) => Math.max(-2, Math.min(2, (v ?? 0) / 2));
|
|
64042
64768
|
parts.push(
|
|
64043
|
-
`<feDropShadow dx="${
|
|
64769
|
+
`<feDropShadow dx="${num13(clamp12(style.textShadowOffsetX))}" dy="${num13(clamp12(style.textShadowOffsetY))}" stdDeviation="${num13(Math.min(1.5, (style.textShadowBlur ?? 2) / 4))}" flood-color="${safeColor(style.textShadowColor, "#000000")}" flood-opacity="${num13(style.textShadowOpacity ?? 1)}" result="shadow"/>`
|
|
64044
64770
|
);
|
|
64045
64771
|
merge.push('<feMergeNode in="shadow"/>');
|
|
64046
64772
|
} else {
|
|
@@ -64058,13 +64784,13 @@ function wordArtTileSvg(rawId, style, size2) {
|
|
|
64058
64784
|
const id = svgId(rawId);
|
|
64059
64785
|
const paint = paintDefs(paintOf(style), `${id}-f`);
|
|
64060
64786
|
const filter = effectFilter(style, `${id}-x`);
|
|
64061
|
-
const stroke = style.textOutlineColor && (style.textOutlineWidth ?? 1) > 0 ? ` stroke="${safeColor(style.textOutlineColor, "#000000")}" stroke-width="${
|
|
64787
|
+
const stroke = style.textOutlineColor && (style.textOutlineWidth ?? 1) > 0 ? ` stroke="${safeColor(style.textOutlineColor, "#000000")}" stroke-width="${num13(Math.min(1.2, Math.max(0.4, (style.textOutlineWidth ?? 1) / 2)))}"` : "";
|
|
64062
64788
|
const fontSize = Math.round(size2.height * 0.46);
|
|
64063
64789
|
const baseline = style.textReflection ? size2.height * 0.56 : size2.height * 0.66;
|
|
64064
|
-
const text4 = (attrs) => `<text x="${
|
|
64790
|
+
const text4 = (attrs) => `<text x="${num13(size2.width / 2)}" y="${num13(baseline)}" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="${fontSize}"${style.bold ? ' font-weight="bold"' : ""} fill="${paint.fill}"${stroke}${attrs}>${style.textCaps === "all" ? "ABC" : "Abc"}</text>`;
|
|
64065
64791
|
let body = text4(filter.attr);
|
|
64066
64792
|
if (style.textReflection) {
|
|
64067
|
-
body += `<g opacity="${
|
|
64793
|
+
body += `<g opacity="${num13(Math.min(0.5, style.textReflectionStartOpacity ?? 0.4))}" transform="translate(0 ${num13(baseline * 2 + 2)}) scale(1 -1)">${text4("")}</g>`;
|
|
64068
64794
|
}
|
|
64069
64795
|
return svgTile(size2.width, size2.height, paint.defs + filter.defs, body);
|
|
64070
64796
|
}
|
|
@@ -65269,23 +65995,47 @@ function previewGalleryResult(result, base2, handler, target) {
|
|
|
65269
65995
|
return void 0;
|
|
65270
65996
|
}
|
|
65271
65997
|
}
|
|
65998
|
+
function commitsThroughDeckStyle(result) {
|
|
65999
|
+
switch (result.kind) {
|
|
66000
|
+
case "theme":
|
|
66001
|
+
case "themeColorScheme":
|
|
66002
|
+
case "themeFontScheme":
|
|
66003
|
+
case "themeEffects":
|
|
66004
|
+
case "backgroundStyle":
|
|
66005
|
+
case "sequence":
|
|
66006
|
+
return true;
|
|
66007
|
+
default:
|
|
66008
|
+
return false;
|
|
66009
|
+
}
|
|
66010
|
+
}
|
|
65272
66011
|
async function commitGalleryResult(result, base2, handler, target) {
|
|
65273
66012
|
if (!handler) {
|
|
65274
66013
|
return void 0;
|
|
65275
66014
|
}
|
|
65276
66015
|
switch (result.kind) {
|
|
65277
66016
|
case "theme": {
|
|
65278
|
-
await
|
|
66017
|
+
await queueThemeWrite(
|
|
66018
|
+
handler,
|
|
66019
|
+
() => handler.applyTheme(result.colorScheme, result.fontScheme, result.name)
|
|
66020
|
+
);
|
|
65279
66021
|
return previewGalleryResult(result, base2, handler, target);
|
|
65280
66022
|
}
|
|
65281
66023
|
case "themeColorScheme":
|
|
65282
|
-
await handler.updateThemeColorScheme(result.colorScheme);
|
|
66024
|
+
await queueThemeWrite(handler, () => handler.updateThemeColorScheme(result.colorScheme));
|
|
65283
66025
|
return previewGalleryResult(result, base2, handler, target);
|
|
65284
66026
|
case "themeFontScheme":
|
|
65285
|
-
await handler.updateThemeFontScheme(result.fontScheme);
|
|
66027
|
+
await queueThemeWrite(handler, () => handler.updateThemeFontScheme(result.fontScheme));
|
|
65286
66028
|
return previewGalleryResult(result, base2, handler, target);
|
|
65287
66029
|
case "themeEffects": {
|
|
65288
|
-
const scheme =
|
|
66030
|
+
const scheme = await queueThemeWrite(handler, async () => {
|
|
66031
|
+
if (result.schemeId) {
|
|
66032
|
+
return handler.applyThemeEffectScheme(result.schemeId);
|
|
66033
|
+
}
|
|
66034
|
+
if (result.fmtSchemeXml) {
|
|
66035
|
+
return handler.applyThemeFormatSchemeXml(result.fmtSchemeXml);
|
|
66036
|
+
}
|
|
66037
|
+
return void 0;
|
|
66038
|
+
});
|
|
65289
66039
|
if (!scheme) {
|
|
65290
66040
|
return void 0;
|
|
65291
66041
|
}
|
|
@@ -65429,6 +66179,111 @@ function createDeckStyleHost(options) {
|
|
|
65429
66179
|
}
|
|
65430
66180
|
};
|
|
65431
66181
|
}
|
|
66182
|
+
function layoutsOf(master) {
|
|
66183
|
+
return master.layoutPaths ?? master.layouts?.map((layout) => layout.path) ?? [];
|
|
66184
|
+
}
|
|
66185
|
+
function withPartTheme(theme, part) {
|
|
66186
|
+
const next = {
|
|
66187
|
+
...theme,
|
|
66188
|
+
colorScheme: part.colorScheme,
|
|
66189
|
+
fontScheme: part.fontScheme
|
|
66190
|
+
};
|
|
66191
|
+
for (const key of ["formatScheme", "name"]) {
|
|
66192
|
+
if (part[key]) {
|
|
66193
|
+
next[key] = part[key];
|
|
66194
|
+
} else {
|
|
66195
|
+
delete next[key];
|
|
66196
|
+
}
|
|
66197
|
+
}
|
|
66198
|
+
return next;
|
|
66199
|
+
}
|
|
66200
|
+
function reResolveElements(elements, from, to) {
|
|
66201
|
+
const colored = reResolveElementColors(
|
|
66202
|
+
elements,
|
|
66203
|
+
buildThemeColorMap(from.colorScheme),
|
|
66204
|
+
to.colorScheme
|
|
66205
|
+
);
|
|
66206
|
+
return reResolveElementFonts(colored, from.fontScheme, to.fontScheme);
|
|
66207
|
+
}
|
|
66208
|
+
function reResolveSlide(slide, from, to) {
|
|
66209
|
+
const [colored] = reResolveSlideColors(
|
|
66210
|
+
[slide],
|
|
66211
|
+
buildThemeColorMap(from.colorScheme),
|
|
66212
|
+
to.colorScheme
|
|
66213
|
+
);
|
|
66214
|
+
const [themed] = reResolveSlideFonts([colored ?? slide], from.fontScheme, to.fontScheme);
|
|
66215
|
+
return themed ?? slide;
|
|
66216
|
+
}
|
|
66217
|
+
function applyThemeByPath(handler, input) {
|
|
66218
|
+
const { themePath, slideMasters } = input;
|
|
66219
|
+
const candidates = input.applyToAllMasters ? slideMasters : slideMasters.slice(0, 1);
|
|
66220
|
+
const targets = candidates.filter((master) => master.themePath !== themePath);
|
|
66221
|
+
if (!handler || targets.length === 0) {
|
|
66222
|
+
return Promise.resolve(void 0);
|
|
66223
|
+
}
|
|
66224
|
+
return queueThemeWrite(handler, async () => {
|
|
66225
|
+
const next = await handler.getThemePartSchemes(themePath);
|
|
66226
|
+
if (!next) {
|
|
66227
|
+
return void 0;
|
|
66228
|
+
}
|
|
66229
|
+
const previous = /* @__PURE__ */ new Map();
|
|
66230
|
+
for (const master of targets) {
|
|
66231
|
+
previous.set(
|
|
66232
|
+
master.path,
|
|
66233
|
+
master.themePath ? await handler.getThemePartSchemes(master.themePath) : void 0
|
|
66234
|
+
);
|
|
66235
|
+
await handler.setSlideMasterTheme(master.path, themePath);
|
|
66236
|
+
}
|
|
66237
|
+
const masterOfLayout = /* @__PURE__ */ new Map();
|
|
66238
|
+
for (const master of slideMasters) {
|
|
66239
|
+
for (const layout of layoutsOf(master)) {
|
|
66240
|
+
masterOfLayout.set(layout, master.path);
|
|
66241
|
+
}
|
|
66242
|
+
}
|
|
66243
|
+
const fromOf = (slide) => {
|
|
66244
|
+
const layoutMaster = slide.layoutPath ? masterOfLayout.get(slide.layoutPath) : void 0;
|
|
66245
|
+
const masterPath = layoutMaster ?? slideMasters[0]?.path;
|
|
66246
|
+
return masterPath ? previous.get(masterPath) : void 0;
|
|
66247
|
+
};
|
|
66248
|
+
const templates = input.templateElementsBySlideId ?? {};
|
|
66249
|
+
const moved = [];
|
|
66250
|
+
const movedTemplates = {};
|
|
66251
|
+
const recoloured = input.slides.map((slide) => {
|
|
66252
|
+
const from = fromOf(slide);
|
|
66253
|
+
if (!from) {
|
|
66254
|
+
return slide;
|
|
66255
|
+
}
|
|
66256
|
+
const layer = templates[slide.id];
|
|
66257
|
+
if (layer) {
|
|
66258
|
+
movedTemplates[slide.id] = reResolveElements(layer, from, next);
|
|
66259
|
+
}
|
|
66260
|
+
const themed = reResolveSlide(slide, from, next);
|
|
66261
|
+
moved.push(themed);
|
|
66262
|
+
return themed;
|
|
66263
|
+
});
|
|
66264
|
+
const styled = handler.reResolveThemeStyleReferences(moved, movedTemplates);
|
|
66265
|
+
const styledById = new Map(styled.slides.map((slide) => [slide.id, slide]));
|
|
66266
|
+
const slides = recoloured.map((slide) => styledById.get(slide.id) ?? slide);
|
|
66267
|
+
const templateElementsBySlideId = {
|
|
66268
|
+
...templates,
|
|
66269
|
+
...styled.templateElementsBySlideId
|
|
66270
|
+
};
|
|
66271
|
+
const first = slideMasters[0];
|
|
66272
|
+
const change = {
|
|
66273
|
+
slides,
|
|
66274
|
+
templateElementsBySlideId,
|
|
66275
|
+
slideMasters: slideMasters.map(
|
|
66276
|
+
(master) => previous.has(master.path) ? { ...master, themePath } : master
|
|
66277
|
+
)
|
|
66278
|
+
};
|
|
66279
|
+
if (!first || !previous.has(first.path)) {
|
|
66280
|
+
return change;
|
|
66281
|
+
}
|
|
66282
|
+
const adopted = await handler.getThemePartSchemes(themePath) ?? next;
|
|
66283
|
+
const theme = withPartTheme(input.theme, adopted);
|
|
66284
|
+
return { ...change, deckTheme: { theme, themeColorMap: buildThemeColorMap(next.colorScheme) } };
|
|
66285
|
+
});
|
|
66286
|
+
}
|
|
65432
66287
|
var RIBBON_ADD_IN_TAB_ATTR = "data-ribbon-add-in-tab";
|
|
65433
66288
|
var RIBBON_RESERVED_TAB_IDS = [
|
|
65434
66289
|
...TOOLBAR_TABS.map((tab) => tab.id),
|
|
@@ -67234,8 +68089,8 @@ function fractionalAxis(client, offset, rect3, borderStart, borderEnd, cssSize,
|
|
|
67234
68089
|
}
|
|
67235
68090
|
const local = bordersKnown ? localBorderBox(cssSize, boxSizing, borders, paddingStart, paddingEnd) : void 0;
|
|
67236
68091
|
if (local) {
|
|
67237
|
-
const
|
|
67238
|
-
if (
|
|
68092
|
+
const plain2 = !zoomed && Number.isFinite(rect3) && rect3 >= local.low && rect3 <= local.high;
|
|
68093
|
+
if (plain2) {
|
|
67239
68094
|
const size2 = local.exact ? Math.min(rect3, local.floor + LAYOUT_UNIT) : local.floor;
|
|
67240
68095
|
return Math.max(0, size2 - borders);
|
|
67241
68096
|
}
|
|
@@ -68219,7 +69074,7 @@ var EDIT_POINTS_STYLE = {
|
|
|
68219
69074
|
handleSize: 7,
|
|
68220
69075
|
hitStrokeWidth: 10
|
|
68221
69076
|
};
|
|
68222
|
-
function
|
|
69077
|
+
function num14(value) {
|
|
68223
69078
|
return String(Math.round(value * 100) / 100);
|
|
68224
69079
|
}
|
|
68225
69080
|
function segmentD(frame, geometry, s, i) {
|
|
@@ -68228,17 +69083,17 @@ function segmentD(frame, geometry, s, i) {
|
|
|
68228
69083
|
const p0 = editLocalToSlide(frame, sub.nodes[i]);
|
|
68229
69084
|
const p3 = editLocalToSlide(frame, sub.nodes[segmentEndIndex(sub, i)]);
|
|
68230
69085
|
if (seg.kind === "line") {
|
|
68231
|
-
return `M ${
|
|
69086
|
+
return `M ${num14(p0.x)} ${num14(p0.y)} L ${num14(p3.x)} ${num14(p3.y)}`;
|
|
68232
69087
|
}
|
|
68233
69088
|
const c1 = editLocalToSlide(frame, seg.c1);
|
|
68234
69089
|
const c2 = editLocalToSlide(frame, seg.c2);
|
|
68235
|
-
return `M ${
|
|
69090
|
+
return `M ${num14(p0.x)} ${num14(p0.y)} C ${num14(c1.x)} ${num14(c1.y)} ${num14(c2.x)} ${num14(c2.y)} ${num14(p3.x)} ${num14(p3.y)}`;
|
|
68236
69091
|
}
|
|
68237
69092
|
function editGeometryToSlidePath(frame, geometry) {
|
|
68238
69093
|
const parts = [];
|
|
68239
69094
|
const at = (p) => {
|
|
68240
69095
|
const s = editLocalToSlide(frame, p);
|
|
68241
|
-
return `${
|
|
69096
|
+
return `${num14(s.x)} ${num14(s.y)}`;
|
|
68242
69097
|
};
|
|
68243
69098
|
for (const sub of geometry.subpaths) {
|
|
68244
69099
|
if (sub.nodes.length === 0) {
|
|
@@ -68999,7 +69854,7 @@ var HANDLE_ANCHORS = [
|
|
|
68999
69854
|
["sw", 0, 1],
|
|
69000
69855
|
["w", 0, 0.5]
|
|
69001
69856
|
];
|
|
69002
|
-
function
|
|
69857
|
+
function fmt6(n) {
|
|
69003
69858
|
return String(Math.round(n * 1e3) / 1e3);
|
|
69004
69859
|
}
|
|
69005
69860
|
function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
|
|
@@ -69008,7 +69863,7 @@ function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
|
|
|
69008
69863
|
const height = fy === 0.5 ? len : isCorner ? len : thick;
|
|
69009
69864
|
const left = fx2 === 0 ? 0 : fx2 === 1 ? frameW - width : frameW / 2 - width / 2;
|
|
69010
69865
|
const top = fy === 0 ? 0 : fy === 1 ? frameH - height : frameH / 2 - height / 2;
|
|
69011
|
-
let path = `M0 0 H${
|
|
69866
|
+
let path = `M0 0 H${fmt6(width)} V${fmt6(height)} H0 Z`;
|
|
69012
69867
|
if (isCorner) {
|
|
69013
69868
|
const x0 = fx2 === 0 ? 0 : len;
|
|
69014
69869
|
const y0 = fy === 0 ? 0 : len;
|
|
@@ -69022,7 +69877,7 @@ function handleFor(id, fx2, fy, frameW, frameH, len, thick) {
|
|
|
69022
69877
|
[x0 + sx * thick, y0 + sy * len],
|
|
69023
69878
|
[x0, y0 + sy * len]
|
|
69024
69879
|
];
|
|
69025
|
-
path = `M${pts.map(([x, y]) => `${
|
|
69880
|
+
path = `M${pts.map(([x, y]) => `${fmt6(x)} ${fmt6(y)}`).join(" L")} Z`;
|
|
69026
69881
|
}
|
|
69027
69882
|
return { id, left, top, width, height, path, cursor: CURSORS[id] };
|
|
69028
69883
|
}
|
|
@@ -69040,8 +69895,8 @@ function buildCropOverlay(el, zoom = 1) {
|
|
|
69040
69895
|
};
|
|
69041
69896
|
const hx = frame.x - image.x;
|
|
69042
69897
|
const hy = frame.y - image.y;
|
|
69043
|
-
const outer3 = `M0 0 H${
|
|
69044
|
-
const hole = `M${
|
|
69898
|
+
const outer3 = `M0 0 H${fmt6(image.width)} V${fmt6(image.height)} H0 Z`;
|
|
69899
|
+
const hole = `M${fmt6(hx)} ${fmt6(hy)} H${fmt6(hx + frame.width)} V${fmt6(hy + frame.height)} H${fmt6(hx)} Z`;
|
|
69045
69900
|
const flips = [
|
|
69046
69901
|
start.flipHorizontal ? "scaleX(-1)" : "",
|
|
69047
69902
|
start.flipVertical ? "scaleY(-1)" : ""
|
|
@@ -72650,6 +73505,14 @@ function sorterPasteInsertAt(indexes, active2, slideCount) {
|
|
|
72650
73505
|
return Math.min(slideCount, Math.max(0, (indexes.at(-1) ?? active2) + 1));
|
|
72651
73506
|
}
|
|
72652
73507
|
|
|
73508
|
+
// src/pptx/render/inserted-slide-layout.ts
|
|
73509
|
+
function insertedLayoutCompletion(current, placed) {
|
|
73510
|
+
if (current === placed) {
|
|
73511
|
+
return "replace";
|
|
73512
|
+
}
|
|
73513
|
+
return current?.id === placed.id ? "artwork" : "none";
|
|
73514
|
+
}
|
|
73515
|
+
|
|
72653
73516
|
// src/pptx/render/viewer-root-options.ts
|
|
72654
73517
|
var VIEWER_ROOT_OPTION_DEFAULTS = Object.freeze({
|
|
72655
73518
|
initialSlide: 0,
|
|
@@ -81243,7 +82106,7 @@ function definePptxInsertSmartArtDialog(registry2) {
|
|
|
81243
82106
|
if (this.#live || this.#draw) {
|
|
81244
82107
|
return;
|
|
81245
82108
|
}
|
|
81246
|
-
this.#live = import('./smartart-insert-preview-
|
|
82109
|
+
this.#live = import('./smartart-insert-preview-CGAZP5JP.mjs').then((module) => {
|
|
81247
82110
|
if (this.#draw || !this.#picker) {
|
|
81248
82111
|
return;
|
|
81249
82112
|
}
|
|
@@ -87890,6 +88753,119 @@ function openPrintWindow(htmlDocument) {
|
|
|
87890
88753
|
return true;
|
|
87891
88754
|
}
|
|
87892
88755
|
|
|
88756
|
+
// src/pptx/export/print-job.ts
|
|
88757
|
+
var PRINT_WHAT = ["slides", "handouts", "notes", "outline"];
|
|
88758
|
+
var SLIDE_RANGES = ["all", "current", "custom"];
|
|
88759
|
+
function printJobTitle(settings) {
|
|
88760
|
+
if (settings.printWhat === "notes") {
|
|
88761
|
+
return { key: "pptx.print.notesPages" };
|
|
88762
|
+
}
|
|
88763
|
+
if (settings.printWhat === "outline") {
|
|
88764
|
+
return { key: "pptx.print.outline" };
|
|
88765
|
+
}
|
|
88766
|
+
if (settings.printWhat === "handouts") {
|
|
88767
|
+
return { key: "pptx.print.handoutPerPageTitle", params: { count: settings.slidesPerPage } };
|
|
88768
|
+
}
|
|
88769
|
+
return { key: "pptx.sections.slides" };
|
|
88770
|
+
}
|
|
88771
|
+
function definedSettings(settings) {
|
|
88772
|
+
return Object.fromEntries(
|
|
88773
|
+
Object.entries(settings).filter(([, value]) => value !== void 0)
|
|
88774
|
+
);
|
|
88775
|
+
}
|
|
88776
|
+
function planPrintJob(settings, deck) {
|
|
88777
|
+
const slideCount = deck.slides.length;
|
|
88778
|
+
const validated = validatePrintSettings(definedSettings(settings), slideCount);
|
|
88779
|
+
if (!PRINT_WHAT.includes(validated.printWhat) || !SLIDE_RANGES.includes(validated.slideRange)) {
|
|
88780
|
+
return { ok: false, reason: "invalid-settings" };
|
|
88781
|
+
}
|
|
88782
|
+
const inDeck = computeSlideIndices(
|
|
88783
|
+
validated.slideRange,
|
|
88784
|
+
deck.activeSlideIndex,
|
|
88785
|
+
slideCount,
|
|
88786
|
+
validated.customRangeFrom,
|
|
88787
|
+
validated.customRangeTo
|
|
88788
|
+
).filter((index) => Number.isInteger(index) && index >= 0 && index < slideCount);
|
|
88789
|
+
const slideIndices = filterHiddenSlideIndices(
|
|
88790
|
+
inDeck,
|
|
88791
|
+
deck.slides,
|
|
88792
|
+
deck.includeHiddenSlides ?? false
|
|
88793
|
+
);
|
|
88794
|
+
if (slideIndices.length === 0) {
|
|
88795
|
+
return { ok: false, reason: "empty-selection" };
|
|
88796
|
+
}
|
|
88797
|
+
let output = "raster";
|
|
88798
|
+
if (validated.printWhat === "outline") {
|
|
88799
|
+
output = "outline";
|
|
88800
|
+
} else if (validated.printWhat === "slides") {
|
|
88801
|
+
output = "vector";
|
|
88802
|
+
}
|
|
88803
|
+
return {
|
|
88804
|
+
ok: true,
|
|
88805
|
+
settings: validated,
|
|
88806
|
+
printWhat: validated.printWhat,
|
|
88807
|
+
slideIndices,
|
|
88808
|
+
output,
|
|
88809
|
+
openWindowFirst: output === "raster",
|
|
88810
|
+
orientation: validated.orientation,
|
|
88811
|
+
title: printJobTitle(validated)
|
|
88812
|
+
};
|
|
88813
|
+
}
|
|
88814
|
+
function printJobRasterFallback(plan) {
|
|
88815
|
+
if (plan.output !== "vector") {
|
|
88816
|
+
return plan;
|
|
88817
|
+
}
|
|
88818
|
+
return { ...plan, output: "raster", openWindowFirst: true };
|
|
88819
|
+
}
|
|
88820
|
+
function frameSlideSvg(svg2, width, height) {
|
|
88821
|
+
const end = svg2.lastIndexOf("</svg>");
|
|
88822
|
+
if (end < 0) {
|
|
88823
|
+
return svg2;
|
|
88824
|
+
}
|
|
88825
|
+
const frameWidth = Math.max(0, sanitizePixelDimension(width) - 2);
|
|
88826
|
+
const frameHeight = Math.max(0, sanitizePixelDimension(height) - 2);
|
|
88827
|
+
const frame = `<rect x="1" y="1" width="${frameWidth}" height="${frameHeight}" fill="none" stroke="#000" stroke-width="2" />`;
|
|
88828
|
+
return `${svg2.slice(0, end)}${frame}${svg2.slice(end)}`;
|
|
88829
|
+
}
|
|
88830
|
+
function buildOutlinePrintJobDocument(plan, title, slides) {
|
|
88831
|
+
const outline = buildOutlineHtml([...plan.slideIndices], slides);
|
|
88832
|
+
return buildPrintHtmlDocument({
|
|
88833
|
+
title,
|
|
88834
|
+
bodyHtml: `<div class="outline-page">${outline}</div>`,
|
|
88835
|
+
orientation: plan.orientation,
|
|
88836
|
+
colorFilter: computeColorFilter(plan.settings.colorMode),
|
|
88837
|
+
frameSlides: plan.settings.frameSlides,
|
|
88838
|
+
scaleToFit: plan.settings.scaleToFit ?? true
|
|
88839
|
+
});
|
|
88840
|
+
}
|
|
88841
|
+
function buildVectorPrintJobDocument(plan, title, svgs, size2) {
|
|
88842
|
+
const pages = plan.settings.frameSlides ? svgs.map((svg2) => frameSlideSvg(svg2, size2.width, size2.height)) : [...svgs];
|
|
88843
|
+
return buildPrintDocument(pages, size2.width, size2.height, {
|
|
88844
|
+
title,
|
|
88845
|
+
orientation: plan.orientation,
|
|
88846
|
+
colorFilter: computeColorFilter(plan.settings.colorMode),
|
|
88847
|
+
scaleToFit: plan.settings.scaleToFit ?? true
|
|
88848
|
+
});
|
|
88849
|
+
}
|
|
88850
|
+
function buildRasterPrintJobDocument(plan, title, captures, slides, handoutMaster) {
|
|
88851
|
+
const images = captures.map((capture) => capture.dataUrl);
|
|
88852
|
+
const indices = captures.map((capture) => capture.slideIndex);
|
|
88853
|
+
let bodyHtml = buildSlidesHtml(images, indices);
|
|
88854
|
+
if (plan.printWhat === "notes") {
|
|
88855
|
+
bodyHtml = buildNotesHtml(images, indices, slides);
|
|
88856
|
+
} else if (plan.printWhat === "handouts") {
|
|
88857
|
+
bodyHtml = buildHandoutsHtml(images, indices, plan.settings.slidesPerPage, handoutMaster);
|
|
88858
|
+
}
|
|
88859
|
+
return buildPrintHtmlDocument({
|
|
88860
|
+
title,
|
|
88861
|
+
bodyHtml,
|
|
88862
|
+
orientation: plan.orientation,
|
|
88863
|
+
colorFilter: computeColorFilter(plan.settings.colorMode),
|
|
88864
|
+
frameSlides: plan.settings.frameSlides,
|
|
88865
|
+
scaleToFit: plan.settings.scaleToFit ?? true
|
|
88866
|
+
});
|
|
88867
|
+
}
|
|
88868
|
+
|
|
87893
88869
|
// src/pptx/export/png-crc32.ts
|
|
87894
88870
|
var table;
|
|
87895
88871
|
function getTable() {
|
|
@@ -88567,4 +89543,4 @@ async function rasterizeElementToDataUrl(node, naturalWidth, naturalHeight, doc,
|
|
|
88567
89543
|
// src/pptx/index.ts
|
|
88568
89544
|
registerPptxWebControls();
|
|
88569
89545
|
|
|
88570
|
-
export { ACCESSIBILITY_TAB, ACTION_AFFORDANCE_CSS, ACTION_BUTTON_DEFAULT_ACTIONS, ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ADD_INS_TAB, ADVANCED_TAB, AI_OPTIONS_CATEGORY, ALIGN_OPTIONS, ALL_CLASSIFIED_PRESETS, ANGLE_UNITS_PER_RADIAN, ANGLE_UNITS_PER_TURN, ANIMATION_COLOR_BASE_PROPERTIES, ANIMATION_KEYFRAMES_CSS, ARTISTIC_EFFECTS, AUDIENCE_FULLSCREEN_BOUNCE_MS, AUDIENCE_HASH, AUTOFIT_MIN_SHAPE_HEIGHT_PX, AUTOFIT_MODE_OPTIONS, AUTOSAVE_DB_NAME, AUTOSAVE_DB_VERSION, AUTOSAVE_DEFAULT_INTERVAL_MS, AUTOSAVE_DEFAULT_INTERVAL_SECONDS, AUTOSAVE_MIN_INTERVAL_SECONDS, AUTOSAVE_RECOVERY_WINDOW_MS, AUTOSAVE_STORE_NAME, AUTO_HIDE_DELAY_MS, AVATAR_COLOR_SWATCHES, AnimationSequencer, BACKSTAGE_BACK_CLASSES, BACKSTAGE_CARDS, BACKSTAGE_CARD_IDS, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_PAGE_CARDS, BACKSTAGE_PAGE_IDS, BACKSTAGE_SEARCH_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BARN_FILTER_TOKEN_TO_SUBTYPE, BASELINE_FONT_SCALE, BEVEL_PRESETS, BI_LEVEL_THRESHOLDS, BOTTOM_TRIGGER_FRACTION, BRIGHTNESS_CONTRAST_STEPS, BROADCAST_THROTTLE_MS, CANVAS_CONTEXT_MENU_COMMAND_IDS, CANVAS_DIMENSION_CANDIDATES, CATEGORIES, CHART_3D_TYPES, CHART_AXIS_TYPE_LABEL_KEYS, CHART_DATA_LABEL_POSITION_LABEL_KEYS, CHART_ERROR_BAR_DIRECTION_LABEL_KEYS, CHART_ERROR_BAR_VALTYPE_LABEL_KEYS, CHART_GRIDLINE_DASH_LABEL_KEYS, CHART_GROUPING_LABEL_KEYS, CHART_MARKER_SYMBOL_LABEL_KEYS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_SELECTION_ELEMENTS, CHART_SELECTION_FAMILY, CHART_SELECTION_FORMAT, CHART_SELECTION_RESET, CHART_TRENDLINE_LABEL_KEYS, CHART_TYPE_LABEL_KEYS, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, CLOSED_READING_VIEW, COLLABORATION_OFF, COLLAB_LEAVE_MESSAGE, COMBO_SERIES_TYPE_OPTIONS, COMBO_SUPPORTED_TYPES, COMMAND_SEARCH_ENTRIES, COMMENT_ACTIVE_ATTR, COMMENT_ID_ATTR, COMMENT_MARKER_COLOR, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMPAT_TOAST_METRICS, COMPAT_TOAST_VISIBLE_LIMIT, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_ARROW_CONTROLS, CONNECTOR_ARROW_SIZE_VALUES, CONNECTOR_ARROW_VALUES, CONNECTOR_HIT_MIN_WIDTH, CONNECTOR_SITE_SNAP_PX, CONTEXTUAL_TAB_GROUPS, CONTEXT_MENU_EDITOR_LAYER, CONTEXT_MENU_PRESENTATION_LAYER, CROP_ASPECT_GROUP_LABEL_KEYS, CROP_ASPECT_LABEL_KEY, CROP_ASPECT_PRESETS, CROP_FILL_LABEL_KEY, CROP_FIT_LABEL_KEY, CROP_GHOST_OPACITY, CROP_HANDLE_ARIA_KEY, CROP_HANDLE_LENGTH_PX, CROP_HANDLE_THICKNESS_PX, CROP_LABEL_KEY, CROP_MODE_HINT_KEY, CURSOR_PALETTE, DATA_LABEL_CONTENT_OPTIONS, DATA_LABEL_POSITION_OPTIONS, DEBOUNCE_MS, DEFAULT_ANIMATION_TIMING_CURVE, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_BUILD_LEVEL, DEFAULT_CHART_GLOW, DEFAULT_CHART_SHADOW, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_CURSOR_COLOR, DEFAULT_DENSE_BUTTON_PX, DEFAULT_INSERT_CHART_KIND, DEFAULT_INSERT_CHART_TYPE, DEFAULT_LINE_HEIGHT, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_DURATION_MS, DEFAULT_NOTES_FONT_SIZE_PT, DEFAULT_OWNED_USER_NAME, DEFAULT_PALETTE, DEFAULT_POINTER_PRESSURE, DEFAULT_PREVIEW_ELEMENT_CAP, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_RIBBON_TRANSITION_DURATION_SEC, DEFAULT_ROUND_RECT_ADJUSTMENT, DEFAULT_ROW_HEIGHT, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_WIDTH, DEFAULT_TAG_COLLECTION_PATH, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIEWER_SETTINGS, DEFAULT_VIEWER_ZOOM_STATE, DEFAULT_VIRTUAL_OVERSCAN, DESIGN_RIBBON_COMMANDS, DESIGN_RIBBON_GROUPS, DIALOG_ENTRY_POINTS, DISPLAY_UNITS_OPTIONS, DRAWING_TOOL_IDS, DRAW_RIBBON_TOOLS, DRAW_WIDTH_PRESETS, DUOTONE_PRESETS, EASE, EDITABLE_AXIS_ROWS, EDITOR_CHROME_CSS, EDITOR_SHORTCUT_ACTION_IDS, EDITOR_SHORTCUT_DESCRIPTIONS, EDITOR_SLIDE_RAIL_WIDTH, EDITOR_THUMBNAIL_GAP, EDITOR_THUMBNAIL_NUMBER_HEIGHT, EDITOR_THUMBNAIL_ROW_CHROME, EDITOR_THUMBNAIL_WIDTH, EDITOR_VIEWPORT_FIT, EDIT_LAYER_MARKER_ATTRS, EDIT_POINTS_COMMAND_IDS, EDIT_POINTS_DRAG_THRESHOLD_PX, EDIT_POINTS_MENU_COMMAND_IDS, EDIT_POINTS_PATH_SCALE, EDIT_POINTS_STYLE, EDIT_POINTS_TARGET_ATTR, EDIT_POINT_COINCIDENT_EPSILON, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, ELEMENT_CLIPBOARD_MARKER, ELEMENT_CLIPBOARD_MIME_TYPE, ELEMENT_CLIPBOARD_VERSION, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ELEMENT_GEOMETRY_SECTION, ELEMENT_GEOMETRY_SECTIONS, EMPH_FILTER_PRESETS, EMPTY_RESOLVED_CUSTOMIZATION, EMPTY_RIBBON_TRANSITION_DRAFT, EQUATION_TEMPLATES, ERASER_HIT_RADIUS, ERROR_BAR_SUPPORTED_TYPES, ERROR_BAR_TYPE_OPTIONS, ERROR_BAR_VALTYPE_OPTIONS, ERROR_BAR_VALUE_TYPES, EXCLUDED_STYLE_PROPERTIES, EXPANDED_MAX_HEIGHT, EXPLOSION_SUPPORTED_TYPES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EditGeometryPen, EditPointsSession, FEATURE_ENTRY_POINTS, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, FIXED_SPACING_RUN_LINE_HEIGHT, FIXED_TAB_GALLERIES, FLY_SUBTYPE_TO_EDGE, FONT_EMBEDDING_UNAVAILABLE_KEY, FOREIGN_OBJECT_SVG_DATA_URL_PREFIX, FRAGMENT_TRANSITION_KEYFRAMES, FREEFORM_CLOSE_TOLERANCE_FACTOR, FREEFORM_CLOSE_TOLERANCE_MIN_PX, FREEFORM_COORD_SCALE, FREEFORM_FREEHAND_TOLERANCE_PX, FREEFORM_MIN_POINTS, FREEFORM_TOOL_IDS, FREEFORM_TOOL_LABEL_KEYS, FREEFORM_TOOL_STYLE, ForeignObjectRasterError, FreeformToolSession, GENERAL_TAB, GENERIC_FALLBACK_FILTER_FAMILIES, GEOMETRY_MORPH_STEPS, GIF_POST_CAPTURE_MAX_SIDE, GLYPH_ENVELOPE_PRESETS, GOOGLE_FONTS_CSS2_BASE, GOOGLE_WEBFONT_AXIS, GRADIENT_TYPE_OPTIONS, GRIDLINE_DASH_OPTIONS, GROUPED_INSERT_CHART_KINDS, GROUPING_OPTIONS, GROUPING_SUPPORTED_TYPES, GlyphOutlineFontCache, HELP_RIBBON_COMMANDS, HIDDEN_SLIDE_ATTRIBUTE, HIDDEN_SLIDE_DIM_OPACITY, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, HIGHLIGHT_CLEAR_STYLE, HIGHLIGHT_CLICK_FLASH_DURATION_MS, HIGHLIGHT_CLICK_STYLE, HIGHLIGHT_HOVER_STYLE, HOLLOW_HIT_MIN_WIDTH, HOME_CHANGE_CASE_ITEMS, HOME_CHARACTER_SPACING_ITEMS, HOME_COLOUR_KEYS, HOME_COLUMN_ITEMS, HOME_CROP_ITEMS, HOME_DRAWING_ARRANGE_ITEMS, HOME_FONT_SIZE_ITEMS, HOME_HIGHLIGHT_PRESETS, HOME_LAUNCHER_GROUPS, HOME_LINE_SPACING_ITEMS, HOME_MERGE_ITEMS, HOME_SELECT_ITEMS, HOME_SHAPE_ITEMS, HOME_TEXT_DIRECTION_ITEMS, INDENT_PX, INITIAL_READ_ONLY_SESSION, INITIAL_SYNC_GRACE_MS, INLINE_GALLERY_TILE_COUNT, INSERT_CHART_GROUPINGS, INSERT_CHART_TYPES, INSERT_COMMANDS, INSERT_FIELDS, INSERT_GROUPS, INSERT_GROUP_CAPTIONS, INSERT_GROUP_SCALING, INSERT_TABLE_MAX, INSPECTOR_CARD_IDS, INSPECTOR_GALLERIES, INSPECTOR_PANEL_DEFAULT_WIDTH, INSPECTOR_RESET_ACTION_KEYS, INSPECTOR_SECTION_ATTRIBUTE, INSTANT, KEYBOARD_OPEN_THRESHOLD, LANGUAGE_TAB, LAYOUT_FAMILY_MAP, LBL, LEGEND_POSITION_OPTIONS, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINE_PITCH_EM, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LIVE_PATCH_THROTTLE_MS, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, MARKER_SUPPORTED_TYPES, MARKER_SYMBOL_OPTIONS, MATERIAL_PRESETS, MAX_COLOR_DISTANCE, MAX_ENVELOPE_GLYPH_SLICES, MAX_HEIGHT, MAX_INDENT_LEVEL, MAX_LABEL_CHARS, MAX_PARAGRAPH_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MEDIA_FALLBACK_ICONS, MEDIA_FULLSCREEN_OVERLAY_STYLE, MERGE_CURVE_SEGMENTS, MERGE_SHAPES_HINT_KEY, MERGE_SHAPES_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, MERGE_SHAPE_OPERATIONS, MIN_COLUMN_PROPORTION, MIN_COLUMN_WIDTH_FRACTION, MIN_CROP_FRAME_PX, MIN_ELEMENT_SIZE4 as MIN_ELEMENT_SIZE, MIN_ROW_HEIGHT, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOBILE_LANDSCAPE_MAX_HEIGHT, MOBILE_NEXT_THUMB_WIDTH, MODAL_FOCUSABLE_SELECTOR, MORPH_CROSSFADE_EASING, MORPH_CROSSFADE_GROUP_CSS_TEXT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_BLEND_MODE, MORPH_CROSSFADE_HALF_CSS_TEXT, MORPH_CROSSFADE_HALF_STYLE, MORPH_EASING, MORPH_EASING_POINTS, MORPH_FADE_IN_EASING, MORPH_FADE_IN_START_PERCENT, MORPH_FADE_OUT_END_PERCENT, MORPH_FADE_OUT_HOLD_PERCENT, NEUTRAL_SATURATION_PERCENT, NEUTRAL_TEMPERATURE_K, NOMINAL_ENVELOPE_BAND, NORM_AUTOFIT_STEPS, NOTES_BORDER_WIDTH, NOTES_CONTINUATION_HEADER_SIZE, NOTES_FONT_SIZE, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NOTES_GAP, NOTES_LINE_HEIGHT, NOTES_MARGIN, NOTES_PAGE_H, NOTES_PAGE_W, NOTES_SLIDE_FRACTION, NOTES_TOOLBAR_DEFAULT_STATE, NO_ADVANCE_AFTER_TEXT, NUDGE_LARGE, NUDGE_SMALL, NUDGE_STEP, NUDGE_STEP_LARGE, NUM, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, ONLINE_VIDEO_IFRAME_ALLOW, ONLINE_VIDEO_IFRAME_SANDBOX, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SAMPLE_COUNT, OUTLINE_SLIDE_ATTR, OUTLINE_TITLE_ELEMENT_NAME, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PALETTES, PANEL_ENTRY_POINTS, PASTE_OFFSET_PX, PASTE_SPECIAL_OPTIONS, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PICTURE_ADJUST_TILE, PICTURE_ARTISTIC_EFFECTS_GALLERY, PICTURE_ARTISTIC_EFFECT_NAMES, PICTURE_COLOR_GALLERY, PICTURE_CORRECTIONS_GALLERY, PIXELATE_FILTER_VALUES, PIXELATE_IN_KEYFRAMES, PIXELATE_LEVELS, PIXELATE_OUT_KEYFRAMES, PNG_COLOR_TYPE_RGBA, PNG_SIGNATURE, POWERPOINT_BROADCAST_PREFIX, PPTX_OPEN_ACCEPT, PRESENCE_HEARTBEAT_MS, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_INERT_CLICK_SELECTOR, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_CONSOLE_LABEL_KEYS, PRESENTER_CONSOLE_ORDER, PRESENTER_LAYOUT_METRICS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENTER_RAIL_CONTROLS, PRESENTER_RAIL_LABEL_KEYS, PRESENTER_TIMER_SEGMENT_MS, PRESENTER_ZOOM_MAX, PRESENTER_ZOOM_MIN, PRESENTER_ZOOM_STEP, PRESENT_ANNOTATION_OVER_BLACKOUT_Z, PRESENT_ANNOTATION_Z, PRESENT_BLACKOUT_Z, PRESENT_TOOLBAR_CLASSES, PRESENT_TOOLBAR_CONTROLS, PRESENT_TOOLBAR_LABEL_KEYS, PRESENT_TOOLBAR_METRICS, PRESENT_TOOLBAR_ORDER, PRESETS, PRESET_ID_TO_EFFECT, PROOFING_TAB, PROXIMITY_SIZE_RATIO_LIMIT, PROXIMITY_THRESHOLD, PX_PER_CM, PX_PER_INCH, PX_TO_PT, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, QUICK_ACCESS_TAB, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, RASTER_STRATEGY_FALLBACK_WARNING, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RECENT_COLOR_LIMIT, RECENT_SHAPES_HEADING_KEY, RECENT_SHAPES_KEY, RECENT_SHAPES_MAX, RECOLOR_ACCENTS, RECORD_COMMAND_GROUPS, REVIEW_COMMENT_COMMAND_IDS, RGBA_BYTES_PER_PIXEL, RIBBON_ADD_IN_TAB_ATTR, RIBBON_CONTEXTUAL_TABS, RIBBON_CONTEXTUAL_TAB_ATTR, RIBBON_CONTROL_ALIASES, RIBBON_CONTROL_ATTR, RIBBON_CONTROL_CATALOG, RIBBON_CONTROL_ICONS, RIBBON_CONTROL_IDS, RIBBON_GALLERY_ATTR, RIBBON_GALLERY_IDS, RIBBON_GALLERY_ITEM_ATTR, RIBBON_GALLERY_POPUP_ATTR, RIBBON_GROUPS, RIBBON_GROUP_ATTR, RIBBON_GROUP_IDS, RIBBON_HOME_FAMILIES, RIBBON_HOME_INDENT_STEP, RIBBON_MENU_COMMAND_IDS, RIBBON_RESERVED_TAB_IDS, RIBBON_SCOPE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TAB, RIBBON_TAB_IDS, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, RUN_HYPERLINK_ATTR, RUN_PROGRAM_NOTICE_METRICS, SATURATION_PERCENTS, SAVE_FAILED_TOAST, SAVE_FAILED_TOAST_CODE, SAVE_TAB, SCREEN_TIP_CHOICES, SECTION_HEADING, SEL, SELECTION_CONTROL_CSS_VARS, SEPIA_DUOTONE, SETTING_TOGGLES, SEVERITY_GROUPS, SEVERITY_LABELS, SEVERITY_LABEL_KEYS, SHAPE_ADJUSTMENT_MAX, SHAPE_ADJUSTMENT_MIN, SHAPE_BEVEL_OPTIONS, SHAPE_EFFECT_SECTIONS, SHAPE_GALLERY_ITEMS, SHAPE_LINE_SECTION, SHAPE_LINE_SECTIONS, SHAPE_PRESET_DEFS, SHAPE_PRESET_ROWS, SHAPE_PRESET_STYLE_ROWS, SHAPE_QUICK_STYLES, SHAPE_STYLE_COLUMNS, SHAPE_THEME_STYLE_ROWS, SHAPE_THUMB_VIEW_BOX, SHARPEN_SOFTEN_PERCENTS, SHORTCUT_REFERENCE_ITEMS, SLIDE_RAIL_FOOTER_ACTIONS, SLIDE_SHOW_COMMAND_GROUPS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_SORTER_MENU_LABEL_KEYS, SLIDE_TEMPLATES, SLIDE_TEMPLATES_ENTRY_ID, SLIDE_TEMPLATES_ENTRY_KEY, SLIDE_TEMPLATE_IDS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_LABEL_KEYS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_3D_EDIT_LAYER_ATTRIBUTE, SMARTART_CONNECTOR_OPACITY, SMARTART_CONNECTOR_STROKE, SMARTART_CONNECTOR_WIDTH, SMARTART_LABEL_COLOR, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_PREVIEW_FALLBACK_ITEMS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SPLIT_SUBTYPE_TO_VARIANT, STALE_PRESENCE_MS, STATUS_BAR_CLASSES, STATUS_BAR_METRICS, STROKE_DASH_OPTIONS, SUBTITLE_LANGUAGES, SURFACE_WIREFRAME_OPTIONS, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, TABLET_BREAKPOINT, TABLE_CELL_TEXT_DEFAULTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEMPERATURES_K, TEMPLATE_REF_HEIGHT_EMU, TEMPLATE_REF_WIDTH_EMU, TEXT_3D_DEFAULT_EXTRUSION_PT, TEXT_3D_EMU_PER_PT, TEXT_3D_MAX_BEVEL_PT, TEXT_3D_MAX_EXTRUSION_PT, TEXT_BOX_SECTION, TEXT_BOX_SECTIONS, TEXT_BUILD_ID_SEP, TEXT_DIRECTION_OPTIONS, TEXT_WARP_PRESETS, TEXT_WRAP_OPTIONS, THREE_VIEW_EVENTS, TICK_LABEL_POSITION_OPTIONS, TITLE_BAR_CLASSES, TITLE_BAR_DEDICATED_IDS, TITLE_BAR_DEFAULT_FILE_KEY, TITLE_BAR_METRICS, TOOLBAR_BUTTON_DESCRIPTIONS, TOOLBAR_BUTTON_IDS, TOOLBAR_TABS, TRACE_SIZE_PX, TRANSITION_DIR_ARROWS, TRANSITION_DIR_GRID_POSITIONS, TRANSITION_DURATION_MAX_SEC, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PREVIEW_ATTR, TRANSITION_SOUND_CURRENT_VALUE, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRENDLINE_SUPPORTED_TYPES, TRENDLINE_TYPE_OPTIONS, TRUST_TAB, TYPE_LABELS2 as TYPE_LABELS, TYPE_LABEL_KEYS, TimelineEngine, VALIGN_OPTIONS, VIEWER_ADDIN_CATALOG, VIEWER_BACKSTAGE_REGION_IDS, VIEWER_CAPABILITY_DESCRIPTIONS, VIEWER_CAPABILITY_IDS, VIEWER_DIALOG_DESCRIPTIONS, VIEWER_DIALOG_IDS, VIEWER_DIALOG_REGION_DESCRIPTIONS, VIEWER_DIALOG_REGION_IDS, VIEWER_EXPORT_FORMAT_DESCRIPTIONS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_DESCRIPTIONS, VIEWER_FEATURE_IDS, VIEWER_OPTIONS_TABS, VIEWER_PANEL_DESCRIPTIONS, VIEWER_PANEL_IDS, VIEWER_PANEL_REGION_DESCRIPTIONS, VIEWER_PANEL_REGION_IDS, VIEWER_PREFERENCE_TOGGLES, VIEWER_PREFS_STORAGE_KEY, VIEWER_REGION_ATTRIBUTE, VIEWER_REGION_IDS, VIEWER_ROOT_OPTION_DEFAULTS, VIEWER_SHORTCUT_REFERENCE, VIEW_EDITABLE_COMMANDS, ViewerRegionHost, WARP_PATH_GENERATORS, WARP_PRESET_DEFINITIONS, WASHOUT_LUM, WHEEL_SPOKE_COUNTS, WIPE_FILTER_TOKEN_TO_SUBTYPE, WIPE_SUBTYPE_TO_EDGE, ZOOM_MAX_PERCENT, ZOOM_MIN_PERCENT, ZOOM_STEP, _resetCanvasDimensionCache, _resetNativeImageSizeCacheForTests, accentDuotone, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, actionButtonLabelKey, actionTypeNeedsTarget, activateModalFocus, addCommentToList, addEditPoint, addGradientStopPatch, addQuickAccessCommand, addSiblingAfter, addTagToCollections, adjacentComment, adjustGalleryModule, adjustmentRange, advanceChartMarkDrag, advanceMainSequence, advanceStep, alignPatch, angularAdjustmentKeys, annotationCapturesPointer, annotationOverlayZIndex, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationGroupSteps, applyAnimationOpacity, applyAnimationTimelineOrder, applyAutoCorrect, applyChart3DDrag, applyChart3DSelect, applyChartBuildReveal, applyChartElementToggle, applyChartFormatEdit, applyChartFormatField, applyChartRevealDescriptor, applyChartStylePreset, applyColorChange, applyDiagramRevealDescriptor, applyDrawingColorTransforms, applyDuotone, applyElementActionAffordances, applyFontAlignmentFallback, applyHighlightClickStyle, applyInlineCommand, applyInlineTextDraft, applyListStyleUpdate, applyLockedOptions, applyMasterViewCrudAction, applyMediaCommandVerb, applyMediaEndedStep, applyMediaPlaybackAttributes, applyMergeShapesPlan, applyMotionPathPreset, applyNotesLevelDefaults, applyOutlineEdit, applyParagraphCommand, applyPasteSpecialFormat, applyPreferenceToOptions, applyReadOnlySessionEvent, applyReadingViewCommand, applyRehearsalTimings, applyRenderedElementAccessibility, applyReroutedConnectors, applyRibbonGalleryItem, applyRibbonTransitionDraft, applySlideTransitionSound, applySmartArtTextPaneRequest, applySorterAction, applySpatialLayout, applyStepBuildMetadata, applyStyleToSelectedSegments, applyTableCellFontWeight, applyTableStylePreset, applyTextStyleUpdate, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, applyUniformCellPaddingPatch, armEditorKeyboard, arrangeAlignAction, arrangeHomeControls, arrangePainterHomeControls, arrangeShapeHomeControls, asSelectionIds, assemblePng, assertElementUpdateTarget, assignUserColor, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachOverlayKeyboard, attachPresentationVisibilityPause, attachRibbonOverflow, attachRotateHandlePlacement, attachViewerHyperlinks, authorConnectorBetweenSites, authoredLetterSpacingPx, autoFitModeOf, autoFitModePatch, autosaveDisabledReasonKey, autosaveIntervalMs, autosaveRecoveryPrompt, autosaveSnapshotMark, autosaveSourcesChanged, autosaveStatusKind, availableQuickAccessCommands, backstageCardsFor, backstageNavEntries, bar3DShapePatch, beginChartMarkDrag, beginCropDrag, beginShapeAdjustment, beginZoomExcursion, bendEditSegment, bindInlineListParagraph, bindInlineListRun, bindPptxOptionsDialog, blindsDecl, bookmarkOptionValue, bookmarkTriggerPatch, booleanRegions, borrowExternalCollaborationAwareness, boundsOf, boxForAnimation, boxOverlapRatio, boxesOverlap, build3DExtrusionData, buildAbsoluteRotationKeyframe, buildAbsoluteScaleKeyframe, buildActionButtonElement, buildAnimationRibbonPreview, buildAnimationTimelineRows, buildBarActions, buildBehaviorPreview, buildBroadcastConfig, buildBroadcastViewerUrl, buildCacheKey, buildCanvasContextMenuEntries, buildChart3DSpecForElement, buildChartExInsertData, buildChartFormatPaneModel, buildChartQuickActionsDescriptor, buildChartStylePresets, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationShareUrl, buildCollaborationState, buildColorAnimationKeyframes, buildColorInterpolationProps, buildColorTavKeyframe, buildCommentMarkers, buildConnectorElementLookup, buildConnectorGeometry, buildConnectorPathD, buildContextMenuEntries, buildCreateCollaborationConfig, buildCropOverlay, buildCustomGeometryClipPath, buildCustomPathMarkers, buildDeckJson, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildDynamicKeyframe, buildDynamicKeyframes, buildEditPointsMenu, buildEditPointsView, buildElementClipboardPayload, buildEmbeddedFontStyles, buildFieldSubstitutionContext, buildFontFaceRule, buildForeignObjectSvgBody, buildFreeformShapeElement, buildFreeformStrokeGeometry, buildFreeformToolElement, buildFreeformToolGeometry, buildGlowBoxShadow, buildGlyphEnvelope, buildGlyphEnvelopeBlock, buildGoogleFontsFragment, buildGoogleFontsHref, buildHelpRibbon, buildHollowHitOutline, buildHyperlinkPatch, buildIdatChunk, buildIendChunk, buildIhdrChunk, buildImageBiLevelTable, buildImageFitTransform, buildImageLuminanceTransfer, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineStyleText, buildInlineTextCommitPatch, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildLineGlowFilter, buildLineShadowCss, buildLiveInkStrokeView, buildMirrorTiledBackground, buildMorphAnimationRules, buildMorphIncomingAnchoredOrder, buildMorphMergedOrder, buildMorphScopedCss, buildMorphTransitionPlan, buildMotionPathKeyframes, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesPdfBytes, buildNotesPrintHtml, buildNotesTextStream, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOpacityTavKeyframe, buildOptionsBaseline, buildOutline, buildParagraphs, buildPngChunk, buildPptxOptionCategories, buildPresentationAudienceUrl, buildPresentationClickGroups, buildPresentationTouchControlState, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintStyleSheet, buildQueryLinkUrl, buildQuickStylesGallery, buildRasterPictureElement, buildRecordRibbon, buildReviewRibbon, buildRibbonGallery, buildRunEffectStyle, buildRunProgramNotice, buildRunTabLines, buildSectionContextMenuEntries, buildShadowCssFromShapeStyle, buildShareConfig, buildShareUrl, buildSlideOverflowMap, buildSlidePaneContextMenuEntries, buildSlideSorterContextMenuEntries, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArt3DSpecForElement, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPresetNodes, buildSmartArtPreviewElement, buildStepCommand, buildStrokeInterpolationProps, buildStrokeOutline, buildStrokePathD, buildSummaryZoomView, buildSurfaceGeometry, buildSurfaceLabels, buildSvgGradientDef, buildSvgStrokeGradientDef, buildSvgStrokePatternDef, buildTabContext, buildTabRowActionsState, buildTableDataGrid, buildTextBlockStyle, buildTextBlurFilter, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextFillCss, buildTextGlowFilter, buildTextHslFilter, buildTextInnerShadowCss, buildTextRunFilterChain, buildTextShadowCss, buildTextSoftEdgeFilter, buildTextStyleHoldKeyframe, buildTextStyleOverrideCss, buildTextWarpGallery, buildTiledSlidesPdfBytes, buildTimeline, buildTitleBarState, buildTokenMorphAnimations, buildUserFontFaceStyles, buildWarpPath, buildWarpedGlyphOutlinePathD, buildWrapperStyle, buildZoomTransitionOverride, builtinTableStyleMap, calculateContinuationPageMaxLines, calculateNotesPageLayout, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canCreateCollaborationSession, canCropElement, canEditElementPoints, canGoNext, canGoPrevious, canGroupSelection, canJoinCollaborationSession, canMergeShapes, canRemoveTopLevelNode, canRequestDraw, canRequestHome, canRequestInsert, canRequestTransitions, canRequestView, canSetStrokeWidth, canStartBroadcast, canStartShare, canSweepAutosaveSnapshots, canUngroupSelection, canUseClipboard, cancelBuildReveal, cancelCropUpdate, canvasContextMenuLabelKey, canvasToJpegData, captionDisplayText, carryBuildState, cascadeDownPath, cascadeUpPath, cell3DBevelCss, cellImageFillCss, cellParagraphBlocks, cellPatternFillCss, cellRunStyle, cellStyleToCss, centeredSvgTextLines, characterSpacingPatch, chartAxesVisibilityPatch, chartAxesVisibilityState, chartAxisTitlesPatch, chartAxisTitlesState, chartDataLabelsTogglePatch, chartDataSheetLabels, chartEventPathElements, chartFormatContextMenuLabelKey, chartFormatPaneTitle2 as chartFormatPaneTitle, chartFormatTabs, chartFormatTargetAtPoint, chartFormatTargetFromEvent, chartFormatTargetLabel2 as chartFormatTargetLabel, chartPlaceholderLabel, chartSelectionHomeControls, chartStylePresetPalette, chartThreeViewSpec, checkModifyPassword, checkerboardDecl, choices2 as choices, circleOutline, clampCursorPosition, clampFlyoutPosition, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2 as clampPercent, clampPresenterZoom, clampScale, clampShapeAdjustmentValue, clampSorterZoom, clampStep, clampText3dPt, clampZoomScale, classifyExtraConnections, classifyMediaType, classifyTextWarp, clearActiveAnimationGroup, clearAllComments, clearAllLocalViewerData, clearAudienceContent, clearAutosaveRecoveryAcknowledgement, clearAutosaveSnapshots, clearColorChangeCache, clearDuotoneCache, clearLocalAwareness, clearMotionPath, clearNativeImageSizeCache, clearPlaybackTimers, clearPresentationDeck, clearSeriesColor, clearSlideComments, clearStoredViewerPrefs, clearTransitionSound, clientPointToViewBox, clientToChartPoint, clientToSlidePoint, clipPathToPolygon, clipboardHomeControls, cloneElementForPaste, cloneElementUpdates, cloneHeaderFooterDraft, cloneOptions, closeEditPath, closeReadingView, coerceInspectorFieldValue, collaborationStatesEqual, collectAccessibilityIssues, collectChartBuildInfo, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectDiagramBuildInfo, collectExternalFontFaceCss, collectFontFaceCss, collectFontsFromElement, collectReferencedFontFamilies, collectUsedFonts, colorDistance, columnHandleSegments, columnIndexAtFraction, combineTileRowPixels, commentCounts, commentMarkerTitle, commentMentionQuery, commentTextSegments, commitElementUpdateBatch, commitGalleryResult, commitSmartArtNodeFill, commitSmartArtNodeText, comparePresentation, compareSlide, compareSlides, compatToastStackStyle, compatToastStackStyleAttr, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeAutoFitShapeHeightPx, computeAutoFitTextStyle, computeBendingLayout, computeBuildProgress, computeCameraPlacement, computeColumnBoundaries, computeConnectorGeometry, computeCycleLayout, computeDocumentStatistics, computeDrawingViewBox, computeEntranceAnimationDelay, computeExportTilePlan, computeFunnelLayout, computeGearLayout, computeGridExtent, computeGridSpacingPx, computeHierarchyLayout, computeInlineEditorRect, computeKeyboardInset, computeListLayout, computeMarqueeHitIds, computeMatrixLayout, computeMoveFrame, computeNormAutofitShrink, computeNotesPageLayout, computeProcessLayout, computePyramidLayout, computeRadialLayout, computeReadingOrder, computeResizeFrame, computeResizedColumnWidths, computeResizedRowHeight, computeRotateFrame, computeScrollDelta, computeShadeToTitleFillToRect, computeSmartArtElementLayout, computeSmartArtLayout, computeTabSize, computeTabbedLayout, computeTableMergeCrossings, computeTargetLayout, computeTimelineLayout, computeTrendlinePoints, computeVennLayout, computeVirtualRange, computeZOrderSwaps, connectorAdjustmentFraction, connectorArrowPatch, connectorArrowValue, connectorBendFraction, connectorEndpointId, connectorEndpointPoint, connectorHitStrokeWidth, connectorKind, connectorNeedsPath, connectorPresetForSpan, connectorWrapperTransform, contextMenuInspectorAnchor, contextMenuLabelKey, contextMenuViewItems, contextualTabLabelKey, contextualTabsForElement, coordinatesAt, correspondingChildren, countAccessibilityIssues, countTextSegments, countTopLevel, countWords, crc32, createActiveAnimationGroup, createAutosaveController, createAutosaveRecoveryController, createBackstagePresentation, createCollabProvider, createCollaborationLivePatcher, createCollaborationSessionController, createCollaborationStateReporter, createCustomShow, createCustomizationController, createDeckStyleHost, createDefaultChartElement, createDefaultChartUserShapeGroupChild, createEditorHistoryController, createEnvelopeWarp, createGalleryPreviewController, createGestureController, createGlyphOutlineLookup, createGuide, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresencePublisher, createPresentationKeyBuffer, createPresentationSessionId, createPresenterPointer, createPresenterShowGuard, createPresenterTimer, createPreviewEditGuard, createRibbonControlIcon, createSheetDismissGesture, createSlidePackageClipboard, createSlideSorterState, createSyncGate, createTouchGestureRecognizer, createViewerCommandStore, createViewerOptionsStore, createViewerStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, createYjsFactories, cropControlSpec, cropFill, cropFit, cropFrameOf, cropHomeControls, cropModeKeyAction, cropResetPatch, cropResetState, cropSessionChanged, cropToAspectRatio, cropUpdateFromRects, cssCdata, cssEasingForAccelDecel, cssEasingForTimingCurve, cssFontWeightNumber, cssKeyframeName, cubicBounds, cubicPointAt, cursorForTool, customizeBackstageCards, customizeBackstageNav, customizeCanvasContextMenuEntries, customizeContextMenuEntries, customizeOptionsTabs, cycleSelectableElement, dataUrlToBlob, deckJsonFileName, defaultDuration, defaultGradientState, defaultMentionId, defaultRichEnabled, deleteAutosaveSnapshot, deleteEditPoint, deleteEditSegment, deleteMasterViewElements, deleteOldestAutosaveEntry, deleteTagFromCollections, deliverSavedPresentation, demote, derivePresenceList, derivePresetAdjustmentHandles, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeElementChange, describeFontEmbedding, describePptxChart, describeSmartArtBounds, describeSmartArtDiagram, deserializeElementClipboard, designCommandState, detectOrientation, detectTouchDevice, diffOptionsAgainstBaseline, diffSlideElements, diffTokens, diffViewerOptions, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, discardAutosaveRecovery, dispatchChartSelectionRequest, dispatchCropRequest, dispatchEditorKey, dispatchReadOnlyBannerIntent, dispatchStatusBarIntent, dominantDisplacement, downloadBlob, downloadDataUrl, dragCropHandle, drawLabel, drawingHomeControls, drawingShapeLabelColor, drawingShapesLayoutResult, driveBuildReveal, durationOf, eastAsianBreaksForRun, editCommentInList, editFrameFromElement, editGeometryBounds, editGeometryFromElement, editGeometryToElementPatch, editGeometryToPaths, editGeometryToSlidePath, editLocalToSlide, editPointsCommandLabelKey, editPointsElementSignature, editSlideToLocal, editingHomeControls, editorNudgeDelta, editorSlideStep, editorThumbnailHeight, editorThumbnailStep, editorThumbnailWidth, editorViewportFitFor, effectSoundCatalogueEntry, effectiveTextBuildType, effectiveTimingCurve, effectiveZoomScale, effectsStateOf, elementContainerHeightStyle, elementHasTextHyperlink, elementHitTargetStyle, elementIdSelector, elementInLocalFrame, elementOutlineLoops, elementPictureFilename, ellipseArcToCubics, embedImagesOnClone, embeddedFontSaveOptions, emphasisFilterKeyframeCss, emptyGalleryModule, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, encodePngFromPixels, encodePngFromRowBands, endAudienceDisplay, ensureActionAffordanceStyles, envelopeCurveAt, equalizePaths, erasePresentationInkAt, escapeCssAttributeValue2 as escapeCssAttributeValue, escapePdfText, escapeSvgAttr, escapeSvgText, escapeXml, evenColumnWidths, evenRowHeights, executeMediaCommandInDom, expandCapabilities, expandTextBuildAnimations, expandTextRangeAnimations, exportAbortError, exportDeckJson, externalSessionFromCollabSession, extraConnectionCount, extraQuickAccessCommands, extractCssUrl, extractGlyphOutlineCommands, extractStepGraphicElement, eyedropperAvailable, feedSvgPath, fetchAsDataUrl, fetchGoogleWebfontOutlineBytes, fillLeader, fillLeaderWithMeasure, fillModeForClass, filterCommands, filterMenuEntries, filterPixelBlock, filterRenderedElements, filterRowNone, filterVisibleTabs, finalizeClickGroup, findCanvasElementNode, findChartPartElementInEvent, findChartPartInEvent, findChartUserShapeNode, findCommentLocation, findConnectorSiteNear, findEffectSoundCatalogueEntry, findEraserHitElementId, findGoogleFontsFamily, findHighlightClickTarget, findMediaBookmarkGatedSteps, findMediaElementByElementId, findMediaEndGatedSteps, findMetricCompatibleGoogleFontsFamily, findOutlineRow, findPresentationActionTarget, findRibbonAddIn, findSlideStage, findSmartArtNodeText, finishAnimationGroupSteps, finishCropUpdate, finishDomAnimationsForGroup, finishPrintWindow, firstShowSlideIndex, fitGlyphEnvelopeAffine, fitTransformsFromInsets, flattenMorphElements, flattenOutline, flattenSlideElements, flattenTagCollections, flattenViewerOptions, followingText, fontAlignmentVerticalAlign, fontFamilyItems, fontHomeControls, fontMimeForFormat, fontPickerHomeControls, fontStyleShorthand, fontWeightAttribute, fontWeightShorthand, foreignObjectSvgToDataUrl, forgetSessionDeck, formatAdvanceAfterText, formatBackstageDate, formatBackstageSize, formatBytes, formatCursorLabel, formatEditPointsTarget, formatElapsed, formatIsoDate, formatMediaTime, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatSnapshotSize, formatTime, formatVersionTimestamp, fractionalClientSize, freeformCloseTolerance, galleryDeckView, galleryHasItems, galleryItemLabel, galleryTextLabel, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generateElementId, generateFullMorphTransition, generateGeometryMorphAnimation, generateImageCropGhostAnimations, generateImageCropMorphAnimations, generateMorphAnimations, generateMorphGhostAnimations, generateTextMorphAnimations, generateTicks, generateUnmatchedFadeInAnimations, generateUnmatchedFadeOutAnimations, get3DBevelShadow, get3DMaterialFilter, get3DTransformStyle, get3dTransformCss, getAcknowledgedAutosaveRecoveryTimestamp, getActiveInlineListSelection, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAnimationOpacity, getAriaLabel, getAriaRole, getAriaRoleDescription, getArtisticFilterId, getArtisticImageFilter, getAutosaveSnapshot, getBackgroundAnimationLayers, getBackgroundAnimationState, getBevelLightingFilterId, getBevelLightingFilterMarkup, getBevelLightingSvgFilter, getBevelStyle, getBoxShadowCss, getBuiltinTableStyle, getBuiltinTableStyleName, getCachedNativeImageSize, getCachedResult, getCameraTransform, getCellDiagonalBorders, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompositeOuterShadowFilterCss, getCompoundLineOffsets, getCompoundLineWidths, getComputed3dStyle, getComputedEffectStyle, getComputedImageStyle, getComputedStrokeStyle, getConnectionSites, getConnectorEndpointHandles, getContainerStyle, getContourBoxShadow, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetBox, getDensePanelTouchTargetPx, getDiagonalBorders, getDraggedShapeAdjustmentValue, getDraggedShapeAdjustments, getDuotoneCachedResult, getDuotoneFilterId, getDuotoneImageFilter, getDuotoneSvgFilter, getDuotoneSvgFilterMarkup, getEffectDagBlendMode, getEffectDagCssFilter, getEffectDagFillOverlay, getEffectDagFilter, getEffectDagOpacity, getEffectFilterCss, getEffectKeyframes, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementCreationId, getElementMorphName, getEnvelopeCssTransform, getExtrusionBoxShadow, getExtrusionShadow, getFragmentedTransitionDescriptor, getFrameEffectStyle, getFrameInverseTransform, getGlowBoxShadowCss, getGroupChildParentFill, getImageAlphaFilter, getImageAlphaFilterId, getImageBackgroundRemoval, getImageColorWashStyle, getImageCorrectionsFilterTokens, getImageDuotoneFilterId, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFillOverlayFilter, getImageFillOverlayFilterId, getImageFilterCss, getImageFitStyle, getImageOverflow, getImageSharpenFilter, getImageSharpenFilterId, getImageSrc, getImageSvgFilters, getImageTilingStyle, getInitialStyleForEffect, getInlineEditorSelection, getInlineEditorSelectionResult, getInnerShadowCss, getKinsokuLineBreakStyles, getLightAngleFromCamera, getLightRigCss, getLineGlowFilterCss, getLineShadowCss, getLineShadowParams, getLocalStorageUsageSummary, getMaterialCssOverrides, getMaterialFilter, getMaterialGradientOverlay, getMaxCanvasDimension, getMultiLayerShadowCss, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleIconShapes, getOleTypeColor, getOleTypeLabel, getOnlineVideoEmbed, getOuterShadowCss, getOverflowSegments, getP14TransitionAnimations, getPasswordStrength, getPendingSelectionRestore, getPictureFrameLayers, getPictureShadowFilter, getPlaceholderStyle, getPresentationContextMenuSections, getPresetShapeVectorGeometry, getQuickAccessCommand, getReducedMotionStyles, getReflectionWrapperStyle, getRegionRenderer, getResizeHandleHitAreaStyle, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getRoundRectAdjustmentValue, getRoundRectRadiusPx2 as getRoundRectRadiusPx, getSectionLayoutPlan, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSessionTabId, getShapeAdjustmentHandleDescriptor, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getShapeEffectAnimationLayerStyle, getShapeEffectLayerPlacement, getShapeFillOverlay, getSimpleCssTransform, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSpeechRecognitionCtor, getStrokeOnlyPresetPaths, getTableCellBandStyle, getTableResizeScale, getTextAlphaOpacity, getTextBodyRotationTransform, getTextReflectionWrapperStyle, getTouchDistance, getUnrotatedShapeConnectionSites, getViewerOptionsTab, getWarpCssTransform, getWarpPath, ghostMorphPairsHiddenByGhosts, glowStateOf, glowStyle, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, groupDrillChain, groupElementParagraphs, groupIntoParagraphs, groupIssuesBySeverity, groupParagraphsByBuildLevel, groupTilesByRow, handleEditorAnchorClick, handlePresentationStageClick, handleReadingViewKey, handleThreeViewChartEvent, hasAdvancedImageAlphaEffects, hasCommentMentions, hasCrop, hasEffectDagProperties, hasExistingLink, hasGlyphEnvelope, hasGradientFill, hasImageEffects, hasImageFillOverlayEffect, hasImageOverrides, hasMotionPath, hasMultipleSelectedTableCells, hasPersistentAudio, hasPictureFrame, hasShowSlideAfter, hasStrokePaint, hasText3dExtrusion, hasTextWarp, hasTiltData, hasWarpPresetDefinition, hexToRgb, hiddenSlideCue, hiddenSlideLabelId, hideChartSeries, hollowTextFillStyle, homeColourState, homeControlKey, homeFamilyControls, homeFamilyKeys, homeGalleryApply, homeGalleryControls, homeLabel, homeLaunchers, homeShapeGalleryItems, homeShapeValue, homeSnapshotTranslator, hostMenuLabel, hslToRgb, imageAdjustmentsPatch, imageAdjustmentsStateOf, imageCropPatch, imageCropStateOf, imageRectFromCrop, imageResetPatch, imageResetState, incomingSegmentIndex, inferNodeTypes, initialHiddenStyle, initialInspectorOpen, initializeInlineListDom, inkGroupViewBox, inlineComputedStylesOnClone, inlineElementPointerEvents, inlineGalleryItems, innerShadowStateOf, innerShadowStyle, insertChartPreviewSvg, insertCommentMention, insertControlStatus, insertEntryEnabled, insertHyperlinkAtSelection, insertLabel, inspectorFieldPatch, inspectorNumber, inspectorTogglePatch, interpolateColor, interpolateOutline, interpolatePaths, interpolateSmartArtPalette, isActionButton, isActionHidden, isAdditiveSelectionPress, isArrowedCustomPath, isArtisticEffectRendered, isAudienceDisplayHash, isAudienceDisplayTab, isAudienceTab, isBackstagePageVisible, isBlackboardActive, isBookmarkGated, isBrowserOpenableMime, isChart3DViewEnabled, isChartTitleEvent, isClickAdvanceAllowed, isColumnBoundaryMergedAt, isCornerHandle, isDensePanelCompact, isDialogAvailable, isDrawingToolVisible, isEastAsianChar, isEditPointsCandidate, isEditPointsEnabled, isEditableMotionPath, isEditingAllowed, isEditorControlTarget, isEditorTextInputTarget, isElementActionable, isElementHidden, isElementMarkedDecorative, isElementRendered, isEquationOnlyText, isExportAbortError, isFeatureEnabled, isFontFamilyAvailable, isFontFamilyInstalledLocally, isForwardedEditLayerEvent, isFreeformStrokeClosed, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isIdentityRectClip, isImageTiled, isInBottomTriggerZone, isInertMorphPair, isInjectableUrl, isKeyboardOpen, isKoreanLanguage, isLegacyBinaryPresentation, isLinkedTextBox, isLinkedTextBoxHead, isMasterViewEditable, isMediaCommandAnimation, isMediaEndGated, isMediaFullscreenActive, isMergeableElement, isMixedContentBlocked, isMobileViewport, isNavigationAction, isNoOpPresentationAction, isOptionLocked, isOptionsPageVisible, isOutlineViewDismissKey, isPanelVisible, isPatternPaint, isPeerToPeerShare, isPictureElement, isPointInRegion, isPresenceFresh, isPresentationAdvanceClick, isPresentationAudience, isPresentationSessionMessage, isRegionReplaced, isReviewCommentCommand, isRibbonControlId, isRibbonControlVisible, isRibbonGroupId, isRibbonGroupVisible, isRoutedToLegacyBevelShadow, isRowBoundaryMergedAt, isRunHyperlinkClickable, isSafeSvgMarkup, isSameArtisticEffect, isSameBrowserRoom, isSeriesUsingSecondaryAxis, isSettingLocked, isSettingVisible, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTabletViewport, isValidRoomId, isVerticalTextDirection, isWedgeCalloutPresetShape, issueTrackKey, issueTypeLabel, lastShowSlideIndex, latexToMathMl, layoutEnvelopeBlock, leaderGlyph, lerpColor, lineHeightToPx, lineSpacingPatch, listAutosaveSnapshots, listBackstageRecentFiles, listChartFormatTargets, listChartUserShapeRows, listCommentLocations, listMediaBookmarkOptions, listenForOutlineViewDismiss, loadAudienceContent, loadPresentationDeck, loadSessionDeck, lockResizeAspect, makeCloneId, mapAwarenessCursors, mapCustomizedEditorKey, mapDuotonePixels, mapEditingWheel, mapEditorKey, mapInlineEditorChord, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapReadingViewKey, mapSlideShowStartKey, mapSlideSorterKey, markAnimationGroupActive, markerPath, maskEdgeDecl, maskEdgeInitialStyle, maskEdgePartialDecl, maskShapeDecl, maskShapeInitialStyle, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewOwnerElementId, masterViewPartForElement, masterViewParts, masterViewPseudoSlide, matchCommentMentionAuthors, matchGoogleWebfontFragments, matchMorphElements, matchMorphElementsFull, matchSlideSizePreset, matchTextTokens, matchesShortcutChord, mayLeaveSlideShow, measureAutoFitContentHeightPx, measureGlyphAdvances, measureNormAutofitStepHeightPx, measurePreviewGeometry, measureSvgViewportRect, measureTextWidth, measureViewportClientSize, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaSurfaceOf, mediaTimeFromPointer, mediaTimelineGeometry, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mediaTrimRangeForDrag, mediaTrimResetPatch, mediaTrimResetState, mergeAdditiveSelection, mergeCaptionResults, mergeCoincidentHandles, mergeCustomization, mergeImageEffects, mergeOperationForCommand, mergePresentationSnapshot, mergeSegments, mergeText3d, mergeTextStyleOnStart, mergeViewerOptions, mixHex, mobileElapsedSince, mobileNextThumbSize, mobileSlideCounter, modalActiveElement, modalFocusableElements, morphGroupChildPairs, morphImageCropChanged, morphOptionToMode, morphPairIncomingFadesIn, morphPairNeedsCrossfade, morphTextReplacedInSlot, motionPathEndFraction, motionPathEndPixel, motionPathFor, motionPathFractionPoints, motionPathNativeAnimations, motionPathToSvgD, moveAnimationTimelineRowBy, moveEditHandle, moveEditNode, moveGuide, movePresenterPointer, moveQuickAccessCommand, moveSelection, mruColorsPatch, msToFrameDelayCs, nearestCubicParam, nearestLineParam, needsMorphFlattening, needsOwnedSession, needsSvgArtisticFilter, nestedTextDecorationStyle, newEquationElement, newFieldElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextAutosaveDelayMs, nextPresentedSlide, nextShowSlideIndex, normalizeAccelDecel, normalizeArrow, normalizeFontFormat, normalizeNotesLinkUrl, normalizeOutlinePair, normalizeRegion, normalizeSegments, normalizeSubtitleSettings, normalizeWheelDelta, notesSegmentsToSpans, nudgeDelta, numberControl, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeViewportClientSize, officeColorSwatchLabel, oleActionsVisible, ooxmlDashToCssBorderStyle, openAutosaveDb, openBoundaryRuns, openCollaborationYSession, openEditPathAtNode, openFilePicker, openNativeEyeDropper, openOwnedCollaboration, openPendingPrintWindow, openPptxFile, openPrintWindow, openReadingView, openUrlInNewTab, optionValueKey, optionsBlockSlot, optionsPaneSlot, optionsSettingIdOf, outerShadowStateOf, outerShadowStyle, outgoingSegmentIndex, outlineBounds, outlinePathData, outlineRowKey, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, overlayPointerInput, paintDefs, paintedElementSize, paintedStrokeWidth, paletteColour, panCropImage, paragraphGroupText, paragraphHomeAction, paragraphHomeAlign, paragraphHomeControls, paragraphsToSegments, parseAdvanceAfterMs, parseAudienceNonce, parseBookmarkOptionValue, parseCropValue, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseEditPointsTarget, parseFontWeightName, parseGradientCssStops, parseHexColor, parseHexToRgb, parseMediaCommand, parseOoxmlBezierCurve, parseOptionValueKey, parseOptionsSettingId, parsePathPoints, parsePolygonPoints, parsePresentationSessionId, parsePt, parseSegmentsFromRichEditor, parseShortcutChord, parseSvgPath, parseViewBox, partitionMasterViewElements, pasteElementHasText, patchChartData, patchHeaderFooterDraft, pathCoordinates, pauseAllPersistentAudio, pendingElementStyles, pickColorByClickFallback, pictureAdjustTileSvg, pictureArtisticSections, pictureColorSections, pictureCorrectionsSections, pictureEffects, pictureSizeHomeControls, pieceLetterSpacing, placeAudienceWindow, placeCaretAt, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, planGifFrames, planMergeShapes, playAnimationRibbonPreview, playFeedbackSound, playGroup, playSlideTransitionPreview, pointFromPointerEvent, pointsToSvgPathD, polygonRegionBounds, powerPointAccelDecelProgress, pptxChartFormatKey, pptxChartFormatSource, pptxOptionsLabels, prefersReducedMotion, prepareElementForInsertion, prepareElementUpdateBatch, prepareElementsForPaste, presenceEntriesEqual, presenceListsEqual, presenceToCursors, presentToolbarBlackboardActive, presentToolbarCssVars, presentToolbarStyleAttr, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presentationSaveMimeType, presentationSnapshotsEqual, presentationViewItems, presenterConsoleAction, presenterConsoleCssVars, presenterConsoleStyleAttr, presenterConsoleViewState, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previewGalleryResult, previousShowSlideIndex, primaryMasterViewPart, probeAutosaveRecovery, probeMaxCanvasDimension, probeNativeImageSize, projectDrawingShapes, projectSmartArtViewBoxRect, promote, proportionalLineHeight, pruneExpiredAutosaveSnapshots, publishLiveGeometry, publishLiveInlineText, pushRecentColor, pushRecentShape, px2 as px, quadToCubicControls, quickStyleShapeStyle, quickStyleSwatchCss, quickStyleSwatchStyleAttr, radarStylePatch, randomBarsBandDecl, rasterResultToPngBlob, rasterResultToPngDataUrl, rasterizeElement, rasterizeElementClampedToCanvas, rasterizeElementTiledToCanvas, rasterizeElementTiles, rasterizeElementToDataUrl, rasterizeForeignObjectSvg, rasterizeWindow, readBackstageRecentFile, readCropInsets, readEditPointsTarget, readEditableText, readEditorSegments, readElementParagraphs, readFontFileStyle, readInlineListNativeSnapshot, readInlineListSelection, readInlineListSnapshot, readListActivationSelection, readOnlyBannerState, readOnlyBannerVisible, readOnlyLocked, readOnlyRecommendation, readOnlySessionActions, readRecentShapes, readRibbonTransitionDraft, readSlideShowOption, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, reanchorEditFrame, rebaseOptions, rebuildDrawingShapesIfCleared, recentColorsGridView, recolorInheritedText, reconcileInlineListFormatting, reconcileInlineListSnapshot, recordProgressPercent, recordTableCellBold, redirectExitShapeByDirection, redirectMaskEffectByFilterSubtype, redistributeColumnWidth, reduceReadOnlySession, reduceViewerZoom, reflectionStateOf, reflectionStyle, reflowRibbon, reflowSmartArtData, reflowToDrawingShapes, regionArea, registerCollaborationTeardown, registerCrossSlideAudio, registerInlineListParagraphFormat, registerInlineListRunStyle, registerPersistentAudio, registerPptxWebControls, releasePptxRenderCaches, rememberSessionDeck, removeCommentFromList, removeCommentFromSlides, removeEmptyNode, removeGradientStopPatch, removeGuide, removeQuickAccessCommand, renderSparklineSvg, renderedImageCorrections, reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replacePixels, replyToCommentInList, reportInlineTextDraft, rerouteConnectorsForMovedElements, resamplePolygon, resetChartFormatTarget, resetGlyphEnvelopeMeasureCache, resetGlyphTraceCache, resetGoogleWebfontSessionCache, resetMetricTrackingCache, resetPresenterTimer, resetSlideLayoutPath, resizeSelection, resolve3DRenderingFlags, resolveAccentHex, resolveActionType, resolveActiveRibbonAddIn, resolveActiveRibbonTab, resolveAnimationCss, resolveAnimationEnd, resolveAnimationStart, resolveAnimationWheelSpokeCount, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveFileKey, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartBuildMode, resolveChartFormatTarget, resolveChartRevealDescriptor, resolveChartThreeViewSpec, resolveCollaborationConfig, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveColorAnimationTargets, resolveColorChangedImageSource, resolveConnectorEndpointUpdate, resolveCssProperties, resolveCssTextAlign, resolveCustomization, resolveDefaultPrintSettings, resolveDiagramBuildMode, resolveDiagramRevealDescriptor, resolveDirection, resolveDirection8, resolveDisplaySlideNumber, resolveDrawingShapeNodeId, resolveEastAsianBreakOptions, resolveEditPointsAvailability, resolveEffect, resolveEffectiveEndCondition, resolveEffectiveHiddenActions, resolveEffectiveStartCondition, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementOutline, resolveEmbeddedFontClearBytes, resolveExpiredAutosaveSnapshots, resolveExportBaseName, resolveExportCaptureDecision, resolveFieldDateText, resolveFilterEffect, resolveFilterPresetSubtype, resolveFontItalic, resolveFontKerning, resolveFontRefIdx, resolveFontVariant, resolveFontWeight, resolveForwardSlideWithZoomReturn, resolveGoogleFontsFace, resolveGoogleWebfontHref, resolveGroupChildFill, resolveGroupDoubleClickTarget, resolveGroupPressTarget, resolveHighlightClickForElementId, resolveHistoryDepth, resolveHyperlinkTargetAttrs, resolveImageResolutionPpi, resolveImageResolutionScale, resolveInitialSlideIndex, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveInsertSlideLayout, resolveInsertedFieldText, resolveInspectorSections, resolveKeyboardCustomization, resolveLayoutFamily, resolveLineHeight, resolveLiveCustomGeometryPath, resolveMediaBookmarkTimesMs, resolveMediaTimeNodeElementIds, resolveMetricTracking, resolveMetricTrackingPx, resolveMorphCrossfadeGroups, resolveMorphGhostIds, resolveMorphOverlayArrivals, resolveMorphOverlayLayers, resolveNotesLevelStyle, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleEditorKind, resolveOleType, resolveOleVerbTarget, resolveOnlineVideoEmbed, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphSpacing, resolveParagraphStrutFontSize, resolvePresentationAction, resolvePresentationClick, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveRunEquation, resolveRunFont, resolveRunHyperlink, resolveRunRuby, resolveSchemeColor, resolveScreenTip, resolveScriptFontSet, resolveSecondaryAxisId, resolveSelectionPaneRename, resolveShadeToTitleBackgroundImage, resolveShadeToTitleRect, resolveShapeGeometry, resolveShowBackward, resolveShowForward, resolveShowSlideIndexes, resolveSlideOutlineElements, resolveSlidePaneClick, resolveSlideSizeSelection, resolveSlideTitle, resolveSlideTransition, resolveSmartArt3DLayout, resolveSmartArtThreeViewSpec, resolveStatusBarSave, resolveStepBuildDescriptor, resolveStyleDiagonalBorders, resolveSummaryZoomNavigation, resolveSummaryZoomTileNavigationTarget, resolveTableStyleCell3D, resolveTableStyleEntry, resolveTemplateBackgroundRows, resolveTextAlignLast, resolveTextBodyColumns, resolveTextBodyRectPadding, resolveTextOutlineDashCss, resolveTextOverflowClip, resolveTextStyleAnimation, resolveTextStyleOnCleanup, resolveTitleBarStatusKey, resolveTitleBarStrip, resolveTrackedTextWidth, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveUnderlineLineDecoration, resolveUnlistedChartFormatTarget, resolveVertOverflowEllipsisStyle, resolveVerticalAnchorJustifyContent, resolveViewerAddinRows, resolveViewerAddinStatus, resolveViewerRootOptions, resolveViewportFitOptions, resolveVisibleRibbonTabs, resolveWheelSpokeCount, resolveZoomExcursionEndIndex, resolveZoomNavigationTarget, restoreEditorKeyboardFocus, restoreFilteredSeries, restoreInlineListBodySelection, restoreParagraphMetadata, restoreSegmentSelection, restoreSessionDeck, resumeAllPersistentAudio, revealComment, revealedElementStyles, revealedSmartArtNodeCount, revealedStageCount, rgbToHex, rgbToHsl, rgbaToHex, ribbonAddInControlId, ribbonAddInGroupViews, ribbonControlAttrs, ribbonCustomizationCss, ribbonGroupAttrs, ribbonGroupOfControl, ribbonGroupViews, ribbonTransitionStockSoundUrl, ribbonTransitionTargets, ribbonTransitionUpdates, ribbonTransitionsDraftPatch, ribbonTransitionsSoundChange, roundedRectOutline, routeEditLayerPointerToNodes, rowHandleSegments, rowIndexAtOffset, rulerDragToGuidePosition, runEditPointsCommand, runEquationMathMl, runMediaCommand, runPresentationAction, runProgramNoticeStackStyle, runProgramNoticeStackStyleAttr, runReadOnlyPasswordCheck, runReviewCommentCommand, runRibbonAddInCommand, safeColor, sameArray, sameHex, sameRegionContext2 as sameRegionContext, sameRenderer2 as sameRenderer, sampleColorFromSlide, sampleImageCropMorphSteps, sampleWarpPresetCurve, sanitizeAvatarUrl, sanitizeColor, sanitizeCssDeclaration, sanitizeDownloadFilename, sanitizeMathMl, sanitizeOrientation, sanitizePixelDimension, sanitizePresence, sanitizeSlideIndex, sanitizeUserName, saveAutosaveSnapshot, saveElementAsPicture, saveFailureMessage, saveViewerProfile, savedPresentationFileName, scaleFontSizeForAutoFit, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, scrollInspectorSectionIntoView, sectionAddAfterSlideIndex, sectionContextMenuLabelKey, secureRandomToken, secureRandomUuid, seedBroadcastFields, seedHyperlinkDraft, seedRecentColors, seedShareFields, seedShareSessionFields, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, select, selectGoogleWebfontFamilies, selectSorterSlide, selectTrustedEmbeddedFonts, selectedBookmarkOptionValue, selectedParagraphBulletKind, selectionBounds, selectionBulletKind, serializeElementClipboard, serializeShapeAdjustments, serializeSvgPath, seriesColorClearState, seriesSecondaryAxisPatch, setCachedResult, setDataLabelsRangeCache, setDuotoneCachedResult, setEditNodeType, setEditSegmentKind, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingCaretPoint, setPendingSelectionRestore, setSelectionBullets, setTriggerBookmark, shapeFillChange, shapeGalleryItem, shapeGalleryItemForValue, shapeGallerySections, shapeOutlineChange, shapeQuickStyleLabel, shapeQuickStylePatch, shapeStyleWithoutFormatting, shapeThumbnailPath, shapeTileSvg, sheetAfterNavigate, shortestRotationTarget, shouldAutoFollowBroadcaster, shouldAutoHide, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldGeometryMorph, shouldLoopContinuously, shouldOpenInProtectedView, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldSeekAnimationGroup, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, signedLoopArea, signedPercent, simplifyFreeformVertices, simplifyLoop, slideBackgroundClearPatch, slideBackgroundClearState, slideClipboardLabels, slidePaneContextMenuLabelKey, slidePaneViewItems, slideProgressPercent, slideShowOptionChange, slideSizeFromCanvasPx, slideSizeFromPreset, slideSizeOrientation, slideSizeToCanvasPx, slideSorterContextMenuLabel, slideSorterPasteIndexes, slideStatusLabel, slidesHomeControls, smartArtCategoryDescriptionKey, smartArtCategoryLabelKey, smartArtConnectorPaint, smartArtLayoutLabel, smartArtLayoutSwitchPatch, smartArtNodeAriaLabel, smartArtNodeAtPoint, smartArtNodeLabel, smartArtPresetLabelKey, smartArtTextPaneLabels, smartArtTextPaneView, smartArtThreeViewSpec, snapBoxToGrid, snapMoveToSpanGuides, softEdgeStateOf, solveShapeAdjustmentValue, solveShapeAdjustments, sortEntranceAnimations, sorterGridColumns, sorterMenuContext, sorterPasteInsertAt, sorterSelectionIndexes, splitCubic, splitEastAsianBreaks, splitEastAsianRunPieces, splitRegionComponents, splitRunByScriptFont, splitRunForMetrics, splitStyledRun, splitWordsForUnderline, splitsUnderlineIntoWords, startCropSession, startMediaAutoplay, startRotationFrame, statusBarState, statusBarViewMode, stepPresenterZoom, stitchContinuousGradientFill, stopAllPersistentAudio, storeAudienceContent, storePresentationDeck, straddlingStrokeWidth, stripEditLayerMarkers, stripUnderlineDecoration, strokeOnlyPresetPathData, strokeOutlineViewBox, strokeToInkElement, strokeWidthOf, styleShadowFilter, substituteFieldText, subtitleLanguageLabel, subtitleRecognitionLanguage, subtitleSettingsFromOptions, subtitleSettingsLabels, supportsAltTextField, supportsCssLinearEasing, supportsTitleField, suppressesCssBorder, surfaceVertexWorldPosition, surfaceWireframePatch, svgArcToCubics, svgGradientFillRef, svgGradientId, svgGradientMarkup, svgId, svgLineCap, svgTile, svgToDataUrl, swapPresentationWindows, switchSmartArtLayoutData, syncGoogleWebfontStylesheet, tabRowActionsAttributes, tableCellCss, tableCellFillColorCommitPatch, tableCellPointerIntent, tableCellTextColorCommitPatch, tableContainerCss, tableInspectorPatch, tableInspectorStateOf, tableLayoutCells, takePendingCaretPoint, templateSchemeFromTheme, text3dEmuToPt, text3dFieldsPatch, text3dInheritsFromTemplate, text3dPtToEmu, text3dStylePatch, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textBuildSpanStyle, textControl, textDirectionPatch, textWarpStyle, textWrapOf, textWrapPatch, themeColorGridCommit, themeColorGridView, themeShapeStyleXml, threeViewStateOf, tileRectToSourceRect, tileSpecFromShapeStyle, timingCurveToCss, titleBarCssVars, titleBarStyleAttr, titleBarTone, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toElementAxes, toGestureTransform, toSlideIndex, toggle, toggleBlackboard, toggleCommentResolvedInList, toggleInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, toggleText3dExtrusionPatch, tokenizeText, toleranceToThreshold, traceGlyphOutlineCommands, trackActiveComment, transformConnectionSite, transformInlineListCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, transitionsLabel, translateChartFormatText2 as translateChartFormatText, translateMotionPath, travelledBox, trimmedMediaDurationMs, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateMasterViewElement, updateOuterShadowPatch, updateReflectionPatch, updateSubtitleSettings, updateTagInCollections, updateViewerPreference, vAlignPatch, validateMediaTrimRange, validatePasswordPair, validateRoomId, viewLabel, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, viewerZoomPercent, visibleContextualTabs, visibleRibbonAddIns, warpPreviewPath, wasWrittenByThisPage, wheelDecl, wireMediaBookmarkSteps, wireMediaEndedSteps, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withHomeGalleries, withInlineListDecorationDefaults, withNodeAtPath, withRecordEntry, withSaveFailureToast, withSlideSizeOrientation, wrapForeignObjectSvg, wrapNotesText, writeBackReport, writeElementParagraphs, writeStoredViewerPrefs, zeroDelayCssAnimation, zoomInPercent, zoomInScale, zoomOutPercent, zoomOutScale };
|
|
89546
|
+
export { ACCESSIBILITY_TAB, ACTION_AFFORDANCE_CSS, ACTION_BUTTON_DEFAULT_ACTIONS, ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ADD_INS_TAB, ADVANCED_TAB, AI_OPTIONS_CATEGORY, ALIGN_OPTIONS, ALL_CLASSIFIED_PRESETS, ANGLE_UNITS_PER_RADIAN, ANGLE_UNITS_PER_TURN, ANIMATION_COLOR_BASE_PROPERTIES, ANIMATION_KEYFRAMES_CSS, ARTISTIC_EFFECTS, AUDIENCE_FULLSCREEN_BOUNCE_MS, AUDIENCE_HASH, AUTOFIT_MIN_SHAPE_HEIGHT_PX, AUTOFIT_MODE_OPTIONS, AUTOSAVE_DB_NAME, AUTOSAVE_DB_VERSION, AUTOSAVE_DEFAULT_INTERVAL_MS, AUTOSAVE_DEFAULT_INTERVAL_SECONDS, AUTOSAVE_MIN_INTERVAL_SECONDS, AUTOSAVE_RECOVERY_WINDOW_MS, AUTOSAVE_STORE_NAME, AUTO_HIDE_DELAY_MS, AVATAR_COLOR_SWATCHES, AnimationSequencer, BACKSTAGE_BACK_CLASSES, BACKSTAGE_CARDS, BACKSTAGE_CARD_IDS, BACKSTAGE_NAV, BACKSTAGE_NAV_CLASSES, BACKSTAGE_PAGE_CARDS, BACKSTAGE_PAGE_IDS, BACKSTAGE_SEARCH_CLASSES, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BARN_FILTER_TOKEN_TO_SUBTYPE, BASELINE_FONT_SCALE, BEVEL_PRESETS, BI_LEVEL_THRESHOLDS, BOTTOM_TRIGGER_FRACTION, BRIGHTNESS_CONTRAST_STEPS, BROADCAST_THROTTLE_MS, CANVAS_CONTEXT_MENU_COMMAND_IDS, CANVAS_DIMENSION_CANDIDATES, CATEGORIES, CHART_3D_TYPES, CHART_AXIS_TYPE_LABEL_KEYS, CHART_DATA_LABEL_POSITION_LABEL_KEYS, CHART_ERROR_BAR_DIRECTION_LABEL_KEYS, CHART_ERROR_BAR_VALTYPE_LABEL_KEYS, CHART_GRIDLINE_DASH_LABEL_KEYS, CHART_GROUPING_LABEL_KEYS, CHART_MARKER_SYMBOL_LABEL_KEYS, CHART_QUICK_ACTION_BUTTON_SIZE, CHART_SELECTION_ELEMENTS, CHART_SELECTION_FAMILY, CHART_SELECTION_FORMAT, CHART_SELECTION_RESET, CHART_TRENDLINE_LABEL_KEYS, CHART_TYPE_LABEL_KEYS, CHART_TYPE_OPTIONS, CINEMATIC_TRANSITION_KEYFRAMES, CLOSED_READING_VIEW, COLLABORATION_OFF, COLLAB_LEAVE_MESSAGE, COMBO_SERIES_TYPE_OPTIONS, COMBO_SUPPORTED_TYPES, COMMAND_SEARCH_ENTRIES, COMMENT_ACTIVE_ATTR, COMMENT_ID_ATTR, COMMENT_MARKER_COLOR, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMPAT_TOAST_METRICS, COMPAT_TOAST_VISIBLE_LIMIT, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_ARROW_CONTROLS, CONNECTOR_ARROW_SIZE_VALUES, CONNECTOR_ARROW_VALUES, CONNECTOR_HIT_MIN_WIDTH, CONNECTOR_SITE_SNAP_PX, CONTEXTUAL_TAB_GROUPS, CONTEXT_MENU_EDITOR_LAYER, CONTEXT_MENU_PRESENTATION_LAYER, CROP_ASPECT_GROUP_LABEL_KEYS, CROP_ASPECT_LABEL_KEY, CROP_ASPECT_PRESETS, CROP_FILL_LABEL_KEY, CROP_FIT_LABEL_KEY, CROP_GHOST_OPACITY, CROP_HANDLE_ARIA_KEY, CROP_HANDLE_LENGTH_PX, CROP_HANDLE_THICKNESS_PX, CROP_LABEL_KEY, CROP_MODE_HINT_KEY, CURSOR_PALETTE, DATA_LABEL_CONTENT_OPTIONS, DATA_LABEL_POSITION_OPTIONS, DEBOUNCE_MS, DEFAULT_ANIMATION_TIMING_CURVE, DEFAULT_BOUNDS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_BUILD_LEVEL, DEFAULT_CHART_GLOW, DEFAULT_CHART_SHADOW, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_CURSOR_COLOR, DEFAULT_DENSE_BUTTON_PX, DEFAULT_INSERT_CHART_KIND, DEFAULT_INSERT_CHART_TYPE, DEFAULT_LINE_HEIGHT, DEFAULT_MORPH_DURATION_MS, DEFAULT_MOTION_PATH_DURATION_MS, DEFAULT_NOTES_FONT_SIZE_PT, DEFAULT_OWNED_USER_NAME, DEFAULT_PALETTE, DEFAULT_POINTER_PRESSURE, DEFAULT_PREVIEW_ELEMENT_CAP, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_RIBBON_TRANSITION_DURATION_SEC, DEFAULT_ROUND_RECT_ADJUSTMENT, DEFAULT_ROW_HEIGHT, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_SLIDE_BACKGROUND, DEFAULT_STROKE_WIDTH, DEFAULT_TAG_COLLECTION_PATH, DEFAULT_TRANSITION_DURATION_MS, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIEWER_SETTINGS, DEFAULT_VIEWER_ZOOM_STATE, DEFAULT_VIRTUAL_OVERSCAN, DESIGN_RIBBON_COMMANDS, DESIGN_RIBBON_GROUPS, DIALOG_ENTRY_POINTS, DISPLAY_UNITS_OPTIONS, DRAWING_TOOL_IDS, DRAW_RIBBON_TOOLS, DRAW_WIDTH_PRESETS, DUOTONE_PRESETS, EASE, EDITABLE_AXIS_ROWS, EDITOR_CHROME_CSS, EDITOR_SHORTCUT_ACTION_IDS, EDITOR_SHORTCUT_DESCRIPTIONS, EDITOR_SLIDE_RAIL_WIDTH, EDITOR_THUMBNAIL_GAP, EDITOR_THUMBNAIL_NUMBER_HEIGHT, EDITOR_THUMBNAIL_ROW_CHROME, EDITOR_THUMBNAIL_WIDTH, EDITOR_VIEWPORT_FIT, EDIT_LAYER_MARKER_ATTRS, EDIT_POINTS_COMMAND_IDS, EDIT_POINTS_DRAG_THRESHOLD_PX, EDIT_POINTS_MENU_COMMAND_IDS, EDIT_POINTS_PATH_SCALE, EDIT_POINTS_STYLE, EDIT_POINTS_TARGET_ATTR, EDIT_POINT_COINCIDENT_EPSILON, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, ELEMENT_CLIPBOARD_MARKER, ELEMENT_CLIPBOARD_MIME_TYPE, ELEMENT_CLIPBOARD_VERSION, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ELEMENT_GEOMETRY_SECTION, ELEMENT_GEOMETRY_SECTIONS, EMPH_FILTER_PRESETS, EMPTY_RESOLVED_CUSTOMIZATION, EMPTY_RIBBON_TRANSITION_DRAFT, EQUATION_TEMPLATES, ERASER_HIT_RADIUS, ERROR_BAR_SUPPORTED_TYPES, ERROR_BAR_TYPE_OPTIONS, ERROR_BAR_VALTYPE_OPTIONS, ERROR_BAR_VALUE_TYPES, EXCLUDED_STYLE_PROPERTIES, EXPANDED_MAX_HEIGHT, EXPLOSION_SUPPORTED_TYPES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EditGeometryPen, EditPointsSession, FEATURE_ENTRY_POINTS, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, FIXED_SPACING_RUN_LINE_HEIGHT, FIXED_TAB_GALLERIES, FLY_SUBTYPE_TO_EDGE, FONT_EMBEDDING_UNAVAILABLE_KEY, FOREIGN_OBJECT_SVG_DATA_URL_PREFIX, FRAGMENT_TRANSITION_KEYFRAMES, FREEFORM_CLOSE_TOLERANCE_FACTOR, FREEFORM_CLOSE_TOLERANCE_MIN_PX, FREEFORM_COORD_SCALE, FREEFORM_FREEHAND_TOLERANCE_PX, FREEFORM_MIN_POINTS, FREEFORM_TOOL_IDS, FREEFORM_TOOL_LABEL_KEYS, FREEFORM_TOOL_STYLE, ForeignObjectRasterError, FreeformToolSession, GENERAL_TAB, GENERIC_FALLBACK_FILTER_FAMILIES, GEOMETRY_MORPH_STEPS, GIF_POST_CAPTURE_MAX_SIDE, GLYPH_ENVELOPE_PRESETS, GOOGLE_FONTS_CSS2_BASE, GOOGLE_WEBFONT_AXIS, GRADIENT_TYPE_OPTIONS, GRIDLINE_DASH_OPTIONS, GROUPED_INSERT_CHART_KINDS, GROUPING_OPTIONS, GROUPING_SUPPORTED_TYPES, GlyphOutlineFontCache, HELP_RIBBON_COMMANDS, HIDDEN_SLIDE_ATTRIBUTE, HIDDEN_SLIDE_DIM_OPACITY, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, HIGHLIGHT_CLEAR_STYLE, HIGHLIGHT_CLICK_FLASH_DURATION_MS, HIGHLIGHT_CLICK_STYLE, HIGHLIGHT_HOVER_STYLE, HOLLOW_HIT_MIN_WIDTH, HOME_CHANGE_CASE_ITEMS, HOME_CHARACTER_SPACING_ITEMS, HOME_COLOUR_KEYS, HOME_COLUMN_ITEMS, HOME_CROP_ITEMS, HOME_DRAWING_ARRANGE_ITEMS, HOME_FONT_SIZE_ITEMS, HOME_HIGHLIGHT_PRESETS, HOME_LAUNCHER_GROUPS, HOME_LINE_SPACING_ITEMS, HOME_MERGE_ITEMS, HOME_SELECT_ITEMS, HOME_SHAPE_ITEMS, HOME_TEXT_DIRECTION_ITEMS, INDENT_PX, INITIAL_READ_ONLY_SESSION, INITIAL_SYNC_GRACE_MS, INLINE_GALLERY_TILE_COUNT, INSERT_CHART_GROUPINGS, INSERT_CHART_TYPES, INSERT_COMMANDS, INSERT_FIELDS, INSERT_GROUPS, INSERT_GROUP_CAPTIONS, INSERT_GROUP_SCALING, INSERT_TABLE_MAX, INSPECTOR_CARD_IDS, INSPECTOR_GALLERIES, INSPECTOR_PANEL_DEFAULT_WIDTH, INSPECTOR_RESET_ACTION_KEYS, INSPECTOR_SECTION_ATTRIBUTE, INSTANT, KEYBOARD_OPEN_THRESHOLD, LANGUAGE_TAB, LAYOUT_FAMILY_MAP, LBL, LEGEND_POSITION_OPTIONS, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINE_PITCH_EM, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LIVE_PATCH_THROTTLE_MS, LONG_PRESS_DURATION_MS, LONG_PRESS_MOVE_TOLERANCE_PX, MARKER_SUPPORTED_TYPES, MARKER_SYMBOL_OPTIONS, MATERIAL_PRESETS, MAX_COLOR_DISTANCE, MAX_ENVELOPE_GLYPH_SLICES, MAX_HEIGHT, MAX_INDENT_LEVEL, MAX_LABEL_CHARS, MAX_PARAGRAPH_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MEDIA_FALLBACK_ICONS, MEDIA_FULLSCREEN_OVERLAY_STYLE, MERGE_CURVE_SEGMENTS, MERGE_SHAPES_HINT_KEY, MERGE_SHAPES_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, MERGE_SHAPE_OPERATIONS, MIN_COLUMN_PROPORTION, MIN_COLUMN_WIDTH_FRACTION, MIN_CROP_FRAME_PX, MIN_ELEMENT_SIZE4 as MIN_ELEMENT_SIZE, MIN_ROW_HEIGHT, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOBILE_LANDSCAPE_MAX_HEIGHT, MOBILE_NEXT_THUMB_WIDTH, MODAL_FOCUSABLE_SELECTOR, MORPH_CROSSFADE_EASING, MORPH_CROSSFADE_GROUP_CSS_TEXT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_BLEND_MODE, MORPH_CROSSFADE_HALF_CSS_TEXT, MORPH_CROSSFADE_HALF_STYLE, MORPH_EASING, MORPH_EASING_POINTS, MORPH_FADE_IN_EASING, MORPH_FADE_IN_START_PERCENT, MORPH_FADE_OUT_END_PERCENT, MORPH_FADE_OUT_HOLD_PERCENT, NEUTRAL_SATURATION_PERCENT, NEUTRAL_TEMPERATURE_K, NOMINAL_ENVELOPE_BAND, NORM_AUTOFIT_STEPS, NOTES_BORDER_WIDTH, NOTES_CONTINUATION_HEADER_SIZE, NOTES_FONT_SIZE, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NOTES_GAP, NOTES_LINE_HEIGHT, NOTES_MARGIN, NOTES_PAGE_H, NOTES_PAGE_W, NOTES_SLIDE_FRACTION, NOTES_TOOLBAR_DEFAULT_STATE, NO_ADVANCE_AFTER_TEXT, NUDGE_LARGE, NUDGE_SMALL, NUDGE_STEP, NUDGE_STEP_LARGE, NUM, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, ONLINE_VIDEO_IFRAME_ALLOW, ONLINE_VIDEO_IFRAME_SANDBOX, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SAMPLE_COUNT, OUTLINE_SLIDE_ATTR, OUTLINE_TITLE_ELEMENT_NAME, OUTLINE_VIEW_ATTR, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, PALETTES, PANEL_ENTRY_POINTS, PASTE_OFFSET_PX, PASTE_SPECIAL_OPTIONS, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PICTURE_ADJUST_TILE, PICTURE_ARTISTIC_EFFECTS_GALLERY, PICTURE_ARTISTIC_EFFECT_NAMES, PICTURE_COLOR_GALLERY, PICTURE_CORRECTIONS_GALLERY, PIXELATE_FILTER_VALUES, PIXELATE_IN_KEYFRAMES, PIXELATE_LEVELS, PIXELATE_OUT_KEYFRAMES, PNG_COLOR_TYPE_RGBA, PNG_SIGNATURE, POWERPOINT_BROADCAST_PREFIX, PPTX_OPEN_ACCEPT, PRESENCE_HEARTBEAT_MS, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_INERT_CLICK_SELECTOR, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_CONSOLE_LABEL_KEYS, PRESENTER_CONSOLE_ORDER, PRESENTER_LAYOUT_METRICS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENTER_RAIL_CONTROLS, PRESENTER_RAIL_LABEL_KEYS, PRESENTER_TIMER_SEGMENT_MS, PRESENTER_ZOOM_MAX, PRESENTER_ZOOM_MIN, PRESENTER_ZOOM_STEP, PRESENT_ANNOTATION_OVER_BLACKOUT_Z, PRESENT_ANNOTATION_Z, PRESENT_BLACKOUT_Z, PRESENT_TOOLBAR_CLASSES, PRESENT_TOOLBAR_CONTROLS, PRESENT_TOOLBAR_LABEL_KEYS, PRESENT_TOOLBAR_METRICS, PRESENT_TOOLBAR_ORDER, PRESETS, PRESET_ID_TO_EFFECT, PROOFING_TAB, PROXIMITY_SIZE_RATIO_LIMIT, PROXIMITY_THRESHOLD, PX_PER_CM, PX_PER_INCH, PX_TO_PT, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, QUICK_ACCESS_TAB, RADAR_STYLE_OPTIONS, RANDOM_ELIGIBLE_TYPES, RASTER_STRATEGY_FALLBACK_WARNING, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RECENT_COLOR_LIMIT, RECENT_SHAPES_HEADING_KEY, RECENT_SHAPES_KEY, RECENT_SHAPES_MAX, RECOLOR_ACCENTS, RECORD_COMMAND_GROUPS, REVIEW_COMMENT_COMMAND_IDS, RGBA_BYTES_PER_PIXEL, RIBBON_ADD_IN_TAB_ATTR, RIBBON_CONTEXTUAL_TABS, RIBBON_CONTEXTUAL_TAB_ATTR, RIBBON_CONTROL_ALIASES, RIBBON_CONTROL_ATTR, RIBBON_CONTROL_CATALOG, RIBBON_CONTROL_ICONS, RIBBON_CONTROL_IDS, RIBBON_GALLERY_ATTR, RIBBON_GALLERY_IDS, RIBBON_GALLERY_ITEM_ATTR, RIBBON_GALLERY_POPUP_ATTR, RIBBON_GROUPS, RIBBON_GROUP_ATTR, RIBBON_GROUP_IDS, RIBBON_HOME_FAMILIES, RIBBON_HOME_INDENT_STEP, RIBBON_MENU_COMMAND_IDS, RIBBON_RESERVED_TAB_IDS, RIBBON_SCOPE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TAB, RIBBON_TAB_IDS, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, RUN_HYPERLINK_ATTR, RUN_PROGRAM_NOTICE_METRICS, SATURATION_PERCENTS, SAVE_FAILED_TOAST, SAVE_FAILED_TOAST_CODE, SAVE_TAB, SCREEN_TIP_CHOICES, SECTION_HEADING, SEL, SELECTION_CONTROL_CSS_VARS, SEPIA_DUOTONE, SETTING_TOGGLES, SEVERITY_GROUPS, SEVERITY_LABELS, SEVERITY_LABEL_KEYS, SHAPE_ADJUSTMENT_MAX, SHAPE_ADJUSTMENT_MIN, SHAPE_BEVEL_OPTIONS, SHAPE_EFFECT_SECTIONS, SHAPE_GALLERY_ITEMS, SHAPE_LINE_SECTION, SHAPE_LINE_SECTIONS, SHAPE_PRESET_DEFS, SHAPE_PRESET_ROWS, SHAPE_PRESET_STYLE_ROWS, SHAPE_QUICK_STYLES, SHAPE_STYLE_COLUMNS, SHAPE_THEME_STYLE_ROWS, SHAPE_THUMB_VIEW_BOX, SHARPEN_SOFTEN_PERCENTS, SHORTCUT_REFERENCE_ITEMS, SLIDE_RAIL_FOOTER_ACTIONS, SLIDE_SHOW_COMMAND_GROUPS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_SORTER_MENU_LABEL_KEYS, SLIDE_TEMPLATES, SLIDE_TEMPLATES_ENTRY_ID, SLIDE_TEMPLATES_ENTRY_KEY, SLIDE_TEMPLATE_IDS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SLIDE_TRANSITION_LABEL_KEYS, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_3D_EDIT_LAYER_ATTRIBUTE, SMARTART_CONNECTOR_OPACITY, SMARTART_CONNECTOR_STROKE, SMARTART_CONNECTOR_WIDTH, SMARTART_LABEL_COLOR, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_PREVIEW_FALLBACK_ITEMS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SPLIT_SUBTYPE_TO_VARIANT, STALE_PRESENCE_MS, STATUS_BAR_CLASSES, STATUS_BAR_METRICS, STROKE_DASH_OPTIONS, SUBTITLE_LANGUAGES, SURFACE_WIREFRAME_OPTIONS, SVG_WARP_PRESETS, SWIPE_MAX_VERTICAL_PX, SWIPE_THRESHOLD_PX, TABLET_BREAKPOINT, TABLE_CELL_TEXT_DEFAULTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEMPERATURES_K, TEMPLATE_REF_HEIGHT_EMU, TEMPLATE_REF_WIDTH_EMU, TEXT_3D_DEFAULT_EXTRUSION_PT, TEXT_3D_EMU_PER_PT, TEXT_3D_MAX_BEVEL_PT, TEXT_3D_MAX_EXTRUSION_PT, TEXT_BOX_SECTION, TEXT_BOX_SECTIONS, TEXT_BUILD_ID_SEP, TEXT_DIRECTION_OPTIONS, TEXT_EFFECT_SECTIONS, TEXT_WARP_PRESETS, TEXT_WRAP_OPTIONS, THREE_VIEW_EVENTS, TICK_LABEL_POSITION_OPTIONS, TITLE_BAR_CLASSES, TITLE_BAR_DEDICATED_IDS, TITLE_BAR_DEFAULT_FILE_KEY, TITLE_BAR_METRICS, TOOLBAR_BUTTON_DESCRIPTIONS, TOOLBAR_BUTTON_IDS, TOOLBAR_TABS, TRACE_SIZE_PX, TRANSITION_DIR_ARROWS, TRANSITION_DIR_GRID_POSITIONS, TRANSITION_DURATION_MAX_SEC, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PREVIEW_ATTR, TRANSITION_SOUND_CURRENT_VALUE, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_DURATION_MS, TRANSITION_SPEED_OPTIONS, TRENDLINE_SUPPORTED_TYPES, TRENDLINE_TYPE_OPTIONS, TRUST_TAB, TYPE_LABELS2 as TYPE_LABELS, TYPE_LABEL_KEYS, TimelineEngine, VALIGN_OPTIONS, VIEWER_ADDIN_CATALOG, VIEWER_BACKSTAGE_REGION_IDS, VIEWER_CAPABILITY_DESCRIPTIONS, VIEWER_CAPABILITY_IDS, VIEWER_DIALOG_DESCRIPTIONS, VIEWER_DIALOG_IDS, VIEWER_DIALOG_REGION_DESCRIPTIONS, VIEWER_DIALOG_REGION_IDS, VIEWER_EXPORT_FORMAT_DESCRIPTIONS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_DESCRIPTIONS, VIEWER_FEATURE_IDS, VIEWER_OPTIONS_TABS, VIEWER_PANEL_DESCRIPTIONS, VIEWER_PANEL_IDS, VIEWER_PANEL_REGION_DESCRIPTIONS, VIEWER_PANEL_REGION_IDS, VIEWER_PREFERENCE_TOGGLES, VIEWER_PREFS_STORAGE_KEY, VIEWER_REGION_ATTRIBUTE, VIEWER_REGION_IDS, VIEWER_ROOT_OPTION_DEFAULTS, VIEWER_SHORTCUT_REFERENCE, VIEW_EDITABLE_COMMANDS, ViewerRegionHost, WARP_PATH_GENERATORS, WARP_PRESET_DEFINITIONS, WASHOUT_LUM, WHEEL_SPOKE_COUNTS, WIPE_FILTER_TOKEN_TO_SUBTYPE, WIPE_SUBTYPE_TO_EDGE, ZOOM_MAX_PERCENT, ZOOM_MIN_PERCENT, ZOOM_STEP, _resetCanvasDimensionCache, _resetNativeImageSizeCacheForTests, accentDuotone, acceptAutosaveRecovery, acceptsPresentationInput, acknowledgeAutosaveRecovery, actionAffordanceLabels, actionButtonLabelKey, actionTypeNeedsTarget, activateModalFocus, addCommentToList, addEditPoint, addGradientStopPatch, addQuickAccessCommand, addSiblingAfter, addTagToCollections, adjacentComment, adjustGalleryModule, adjustmentRange, advanceChartMarkDrag, advanceMainSequence, advanceStep, alignPatch, angularAdjustmentKeys, annotationCapturesPointer, annotationOverlayZIndex, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyActiveInlineListFormatting, applyAnimationGroupSteps, applyAnimationOpacity, applyAnimationTimelineOrder, applyAutoCorrect, applyChart3DDrag, applyChart3DSelect, applyChartBuildReveal, applyChartElementToggle, applyChartFormatEdit, applyChartFormatField, applyChartRevealDescriptor, applyChartStylePreset, applyColorChange, applyDiagramRevealDescriptor, applyDrawingColorTransforms, applyDuotone, applyElementActionAffordances, applyFontAlignmentFallback, applyHighlightClickStyle, applyInlineCommand, applyInlineTextDraft, applyListStyleUpdate, applyLockedOptions, applyMasterViewCrudAction, applyMediaCommandVerb, applyMediaEndedStep, applyMediaPlaybackAttributes, applyMergeShapesPlan, applyMotionPathPreset, applyNotesLevelDefaults, applyOutlineEdit, applyParagraphCommand, applyPasteSpecialFormat, applyPreferenceToOptions, applyReadOnlySessionEvent, applyReadingViewCommand, applyRehearsalTimings, applyRenderedElementAccessibility, applyReroutedConnectors, applyRibbonGalleryItem, applyRibbonTransitionDraft, applySlideTransitionSound, applySmartArtTextPaneRequest, applySorterAction, applySpatialLayout, applyStepBuildMetadata, applyStyleToSelectedSegments, applyTableCellFontWeight, applyTableStylePreset, applyTextStyleUpdate, applyThemeByPath, applyTransitionSoundFile, applyTransitionStockSound, applyUnderlineVariant, applyUniformCellPaddingPatch, armEditorKeyboard, arrangeAlignAction, arrangeHomeControls, arrangePainterHomeControls, arrangeShapeHomeControls, asSelectionIds, assemblePng, assertElementUpdateTarget, assignUserColor, attachCollaborationInlineEditor, attachEditorImagePaste, attachInlineListController, attachOverlayKeyboard, attachPresentationVisibilityPause, attachRibbonOverflow, attachRotateHandlePlacement, attachViewerHyperlinks, authorConnectorBetweenSites, authoredLetterSpacingPx, autoFitModeOf, autoFitModePatch, autosaveDisabledReasonKey, autosaveIntervalMs, autosaveRecoveryPrompt, autosaveSnapshotMark, autosaveSourcesChanged, autosaveStatusKind, availableQuickAccessCommands, backstageCardsFor, backstageNavEntries, bar3DShapePatch, beginChartMarkDrag, beginCropDrag, beginShapeAdjustment, beginZoomExcursion, bendEditSegment, bindInlineListParagraph, bindInlineListRun, bindPptxOptionsDialog, blindsDecl, bookmarkOptionValue, bookmarkTriggerPatch, booleanRegions, borrowExternalCollaborationAwareness, boundsOf, boxForAnimation, boxOverlapRatio, boxesOverlap, build3DExtrusionData, buildAbsoluteRotationKeyframe, buildAbsoluteScaleKeyframe, buildActionButtonElement, buildAnimationRibbonPreview, buildAnimationTimelineRows, buildBarActions, buildBehaviorPreview, buildBroadcastConfig, buildBroadcastViewerUrl, buildCacheKey, buildCanvasContextMenuEntries, buildChart3DSpecForElement, buildChartExInsertData, buildChartFormatPaneModel, buildChartQuickActionsDescriptor, buildChartStylePresets, buildChromeStyle, buildClearHyperlinkPatch, buildClickGroups, buildCollaborationShareUrl, buildCollaborationState, buildColorAnimationKeyframes, buildColorInterpolationProps, buildColorTavKeyframe, buildCommentMarkers, buildConnectorElementLookup, buildConnectorGeometry, buildConnectorPathD, buildContextMenuEntries, buildCreateCollaborationConfig, buildCropOverlay, buildCustomGeometryClipPath, buildCustomPathMarkers, buildDeckJson, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildDynamicKeyframe, buildDynamicKeyframes, buildEditPointsMenu, buildEditPointsView, buildElementClipboardPayload, buildEmbeddedFontStyles, buildFieldSubstitutionContext, buildFontFaceRule, buildForeignObjectSvgBody, buildFreeformShapeElement, buildFreeformStrokeGeometry, buildFreeformToolElement, buildFreeformToolGeometry, buildGlowBoxShadow, buildGlyphEnvelope, buildGlyphEnvelopeBlock, buildGoogleFontsFragment, buildGoogleFontsHref, buildHelpRibbon, buildHollowHitOutline, buildHyperlinkPatch, buildIdatChunk, buildIendChunk, buildIhdrChunk, buildImageBiLevelTable, buildImageFitTransform, buildImageLuminanceTransfer, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineStyleText, buildInlineTextCommitPatch, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildLineGlowFilter, buildLineShadowCss, buildLiveInkStrokeView, buildMirrorTiledBackground, buildMorphAnimationRules, buildMorphIncomingAnchoredOrder, buildMorphMergedOrder, buildMorphScopedCss, buildMorphTransitionPlan, buildMotionPathKeyframes, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesPdfBytes, buildNotesPrintHtml, buildNotesTextStream, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOpacityTavKeyframe, buildOptionsBaseline, buildOutline, buildOutlinePrintJobDocument, buildParagraphs, buildPngChunk, buildPptxOptionCategories, buildPresentationAudienceUrl, buildPresentationClickGroups, buildPresentationTouchControlState, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintStyleSheet, buildQueryLinkUrl, buildQuickStylesGallery, buildRasterPictureElement, buildRasterPrintJobDocument, buildRecordRibbon, buildReviewRibbon, buildRibbonGallery, buildRunEffectStyle, buildRunProgramNotice, buildRunTabLines, buildSectionContextMenuEntries, buildShadowCssFromShapeStyle, buildShareConfig, buildShareUrl, buildSlideOverflowMap, buildSlidePaneContextMenuEntries, buildSlideSorterContextMenuEntries, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArt3DSpecForElement, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPresetNodes, buildSmartArtPreviewElement, buildStepCommand, buildStrokeInterpolationProps, buildStrokeOutline, buildStrokePathD, buildSummaryZoomView, buildSurfaceGeometry, buildSurfaceLabels, buildSvgGradientDef, buildSvgStrokeGradientDef, buildSvgStrokePatternDef, buildTabContext, buildTabRowActionsState, buildTableDataGrid, buildTextBlockStyle, buildTextBlurFilter, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextFillCss, buildTextGlowFilter, buildTextHslFilter, buildTextInnerShadowCss, buildTextRunFilterChain, buildTextShadowCss, buildTextSoftEdgeFilter, buildTextStyleHoldKeyframe, buildTextStyleOverrideCss, buildTextWarpGallery, buildTiledSlidesPdfBytes, buildTimeline, buildTitleBarState, buildTokenMorphAnimations, buildUserFontFaceStyles, buildVectorPrintJobDocument, buildWarpPath, buildWarpedGlyphOutlinePathD, buildWrapperStyle, buildZoomTransitionOverride, builtinTableStyleMap, calculateContinuationPageMaxLines, calculateNotesPageLayout, calculateViewportFit, canAddTopLevelNode, canCommitActionType, canCreateCollaborationSession, canCropElement, canEditElementPoints, canGoNext, canGoPrevious, canGroupSelection, canJoinCollaborationSession, canMergeShapes, canRemoveTopLevelNode, canRequestDraw, canRequestHome, canRequestInsert, canRequestTransitions, canRequestView, canSetStrokeWidth, canStartBroadcast, canStartShare, canSweepAutosaveSnapshots, canUngroupSelection, canUseClipboard, cancelBuildReveal, cancelCropUpdate, canvasContextMenuLabelKey, canvasToJpegData, captionDisplayText, carryBuildState, cascadeDownPath, cascadeUpPath, cell3DBevelCss, cellImageFillCss, cellParagraphBlocks, cellPatternFillCss, cellRunStyle, cellStyleToCss, centeredSvgTextLines, characterSpacingPatch, chartAxesVisibilityPatch, chartAxesVisibilityState, chartAxisTitlesPatch, chartAxisTitlesState, chartDataLabelsTogglePatch, chartDataSheetLabels, chartEventPathElements, chartFormatContextMenuLabelKey, chartFormatPaneTitle2 as chartFormatPaneTitle, chartFormatTabs, chartFormatTargetAtPoint, chartFormatTargetFromEvent, chartFormatTargetLabel2 as chartFormatTargetLabel, chartPlaceholderLabel, chartSelectionHomeControls, chartStylePresetPalette, chartThreeViewSpec, checkModifyPassword, checkerboardDecl, choices2 as choices, circleOutline, clampCursorPosition, clampFlyoutPosition, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2 as clampPercent, clampPresenterZoom, clampScale, clampShapeAdjustmentValue, clampSorterZoom, clampStep, clampText3dPt, clampZoomScale, classifyExtraConnections, classifyMediaType, classifyTextWarp, clearActiveAnimationGroup, clearAllComments, clearAllLocalViewerData, clearAudienceContent, clearAutosaveRecoveryAcknowledgement, clearAutosaveSnapshots, clearColorChangeCache, clearDuotoneCache, clearLocalAwareness, clearMotionPath, clearNativeImageSizeCache, clearPlaybackTimers, clearPresentationDeck, clearSeriesColor, clearSlideComments, clearStoredViewerPrefs, clearTransitionSound, clientPointToViewBox, clientToChartPoint, clientToSlidePoint, clipPathToPolygon, clipboardHomeControls, cloneElementForPaste, cloneElementUpdates, cloneHeaderFooterDraft, cloneOptions, closeEditPath, closeReadingView, coerceInspectorFieldValue, collaborationStatesEqual, collectAccessibilityIssues, collectChartBuildInfo, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectDiagramBuildInfo, collectExternalFontFaceCss, collectFontFaceCss, collectFontsFromElement, collectReferencedFontFamilies, collectUsedFonts, colorDistance, columnHandleSegments, columnIndexAtFraction, combineTileRowPixels, commentCounts, commentMarkerTitle, commentMentionQuery, commentTextSegments, commitElementUpdateBatch, commitGalleryResult, commitSmartArtNodeFill, commitSmartArtNodeText, commitsThroughDeckStyle, comparePresentation, compareSlide, compareSlides, compatToastStackStyle, compatToastStackStyleAttr, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeAutoFitShapeHeightPx, computeAutoFitTextStyle, computeBendingLayout, computeBuildProgress, computeCameraPlacement, computeColumnBoundaries, computeConnectorGeometry, computeCycleLayout, computeDocumentStatistics, computeDrawingViewBox, computeEntranceAnimationDelay, computeExportTilePlan, computeFunnelLayout, computeGearLayout, computeGridExtent, computeGridSpacingPx, computeHierarchyLayout, computeInlineEditorRect, computeKeyboardInset, computeListLayout, computeMarqueeHitIds, computeMatrixLayout, computeMoveFrame, computeNormAutofitShrink, computeNotesPageLayout, computeProcessLayout, computePyramidLayout, computeRadialLayout, computeReadingOrder, computeResizeFrame, computeResizedColumnWidths, computeResizedRowHeight, computeRotateFrame, computeScrollDelta, computeShadeToTitleFillToRect, computeSmartArtElementLayout, computeSmartArtLayout, computeTabSize, computeTabbedLayout, computeTableMergeCrossings, computeTargetLayout, computeTimelineLayout, computeTrendlinePoints, computeVennLayout, computeVirtualRange, computeZOrderSwaps, connectorAdjustmentFraction, connectorArrowPatch, connectorArrowValue, connectorBendFraction, connectorEndpointId, connectorEndpointPoint, connectorHitStrokeWidth, connectorKind, connectorNeedsPath, connectorPresetForSpan, connectorWrapperTransform, contextMenuInspectorAnchor, contextMenuLabelKey, contextMenuViewItems, contextualTabLabelKey, contextualTabsForElement, coordinatesAt, correspondingChildren, countAccessibilityIssues, countTextSegments, countTopLevel, countWords, crc32, createActiveAnimationGroup, createAutosaveController, createAutosaveRecoveryController, createBackstagePresentation, createCollabProvider, createCollaborationLivePatcher, createCollaborationSessionController, createCollaborationStateReporter, createCustomShow, createCustomizationController, createDeckStyleHost, createDefaultChartElement, createDefaultChartUserShapeGroupChild, createEditorHistoryController, createEnvelopeWarp, createGalleryPreviewController, createGestureController, createGlyphOutlineLookup, createGuide, createInitialPresentationSnapshot, createInlineListModelObserver, createInlineListSeed, createPlainNotesSegments, createPresenceProjector, createPresencePublisher, createPresentationKeyBuffer, createPresentationSessionId, createPresenterPointer, createPresenterShowGuard, createPresenterTimer, createPreviewEditGuard, createRibbonControlIcon, createSheetDismissGesture, createSlidePackageClipboard, createSlideSorterState, createSyncGate, createTouchGestureRecognizer, createViewerCommandStore, createViewerOptionsStore, createViewerStore, createViewerZoomStore, createWheelStepBuffer, createWriteBackScheduler, createYjsFactories, cropControlSpec, cropFill, cropFit, cropFrameOf, cropHomeControls, cropModeKeyAction, cropResetPatch, cropResetState, cropSessionChanged, cropToAspectRatio, cropUpdateFromRects, crossedHistoryTheme, cssCdata, cssEasingForAccelDecel, cssEasingForTimingCurve, cssFontWeightNumber, cssKeyframeName, cubicBounds, cubicPointAt, cursorForTool, customizeBackstageCards, customizeBackstageNav, customizeCanvasContextMenuEntries, customizeContextMenuEntries, customizeOptionsTabs, cycleSelectableElement, dataUrlToBlob, deckJsonFileName, defaultDuration, defaultGradientState, defaultMentionId, defaultRichEnabled, deleteAutosaveSnapshot, deleteEditPoint, deleteEditSegment, deleteMasterViewElements, deleteOldestAutosaveEntry, deleteTagFromCollections, deliverSavedPresentation, demote, derivePresenceList, derivePresetAdjustmentHandles, deriveSlideFieldContext, deriveViewportBreakpoints, describeCollaborationShellState, describeElementChange, describeFontEmbedding, describePptxChart, describeSmartArtBounds, describeSmartArtDiagram, deserializeElementClipboard, designCommandState, detectOrientation, detectTouchDevice, diffOptionsAgainstBaseline, diffSlideElements, diffTokens, diffViewerOptions, disableGlowPatch, disableInnerShadowPatch, disableOuterShadowPatch, disableReflectionPatch, disableSoftEdgePatch, discardAutosaveRecovery, dispatchChartSelectionRequest, dispatchCropRequest, dispatchEditorKey, dispatchReadOnlyBannerIntent, dispatchStatusBarIntent, dominantDisplacement, downloadBlob, downloadDataUrl, dragCropHandle, drawLabel, drawingHomeControls, drawingShapeLabelColor, drawingShapesLayoutResult, driveBuildReveal, durationOf, eastAsianBreaksForRun, editCommentInList, editFrameFromElement, editGeometryBounds, editGeometryFromElement, editGeometryToElementPatch, editGeometryToPaths, editGeometryToSlidePath, editLocalToSlide, editPointsCommandLabelKey, editPointsElementSignature, editSlideToLocal, editingHomeControls, editorNudgeDelta, editorSlideStep, editorThumbnailHeight, editorThumbnailStep, editorThumbnailWidth, editorViewportFitFor, effectSoundCatalogueEntry, effectiveTextBuildType, effectiveTimingCurve, effectiveZoomScale, effectsStateOf, elementContainerHeightStyle, elementHasTextHyperlink, elementHitTargetStyle, elementIdSelector, elementInLocalFrame, elementOutlineLoops, elementPictureFilename, ellipseArcToCubics, embedImagesOnClone, embeddedFontSaveOptions, emphasisFilterKeyframeCss, emptyGalleryModule, enableGlowPatch, enableInnerShadowPatch, enableOuterShadowPatch, enableReflectionPatch, enableSoftEdgePatch, encodeGif, encodePngFromPixels, encodePngFromRowBands, endAudienceDisplay, ensureActionAffordanceStyles, envelopeCurveAt, equalizePaths, erasePresentationInkAt, escapeCssAttributeValue2 as escapeCssAttributeValue, escapePdfText, escapeSvgAttr, escapeSvgText, escapeXml, evenColumnWidths, evenRowHeights, executeMediaCommandInDom, expandCapabilities, expandTextBuildAnimations, expandTextRangeAnimations, exportAbortError, exportDeckJson, externalSessionFromCollabSession, extraConnectionCount, extraQuickAccessCommands, extractCssUrl, extractGlyphOutlineCommands, extractStepGraphicElement, eyedropperAvailable, feedSvgPath, fetchAsDataUrl, fetchGoogleWebfontOutlineBytes, fillLeader, fillLeaderWithMeasure, fillModeForClass, filterCommands, filterMenuEntries, filterPixelBlock, filterRenderedElements, filterRowNone, filterVisibleTabs, finalizeClickGroup, findCanvasElementNode, findChartPartElementInEvent, findChartPartInEvent, findChartUserShapeNode, findCommentLocation, findConnectorSiteNear, findEffectSoundCatalogueEntry, findEraserHitElementId, findGoogleFontsFamily, findHighlightClickTarget, findMediaBookmarkGatedSteps, findMediaElementByElementId, findMediaEndGatedSteps, findMetricCompatibleGoogleFontsFamily, findOutlineRow, findPresentationActionTarget, findRibbonAddIn, findSlideStage, findSmartArtNodeText, finishAnimationGroupSteps, finishCropUpdate, finishDomAnimationsForGroup, finishPrintWindow, firstShowSlideIndex, fitGlyphEnvelopeAffine, fitTransformsFromInsets, flattenMorphElements, flattenOutline, flattenSlideElements, flattenTagCollections, flattenViewerOptions, followingText, fontAlignmentVerticalAlign, fontFamilyItems, fontHomeControls, fontMimeForFormat, fontPickerHomeControls, fontStyleShorthand, fontWeightAttribute, fontWeightShorthand, foreignObjectSvgToDataUrl, forgetSessionDeck, forgetStepsUsingRemovedParts, formatAdvanceAfterText, formatBackstageDate, formatBackstageSize, formatBytes, formatCursorLabel, formatEditPointsTarget, formatElapsed, formatIsoDate, formatMediaTime, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatSnapshotSize, formatTime, formatVersionTimestamp, fractionalClientSize, frameSlideSvg, freeformCloseTolerance, galleryDeckView, galleryHasItems, galleryItemLabel, galleryTextLabel, generateBroadcastRoomId, generateCommentId, generateCustomShowId, generateElementId, generateFullMorphTransition, generateGeometryMorphAnimation, generateImageCropGhostAnimations, generateImageCropMorphAnimations, generateMorphAnimations, generateMorphGhostAnimations, generateTextMorphAnimations, generateTicks, generateUnmatchedFadeInAnimations, generateUnmatchedFadeOutAnimations, get3DBevelShadow, get3DMaterialFilter, get3DTransformStyle, get3dTransformCss, getAcknowledgedAutosaveRecoveryTimestamp, getActiveInlineListSelection, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAnimationOpacity, getAriaLabel, getAriaRole, getAriaRoleDescription, getArtisticFilterId, getArtisticImageFilter, getAutosaveSnapshot, getBackgroundAnimationLayers, getBackgroundAnimationState, getBevelLightingFilterId, getBevelLightingFilterMarkup, getBevelLightingSvgFilter, getBevelStyle, getBoxShadowCss, getBuiltinTableStyle, getBuiltinTableStyleName, getCachedNativeImageSize, getCachedResult, getCameraTransform, getCellDiagonalBorders, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCinematicTransitionAnimations, getCompositeOuterShadowFilterCss, getCompoundLineOffsets, getCompoundLineWidths, getComputed3dStyle, getComputedEffectStyle, getComputedImageStyle, getComputedStrokeStyle, getConnectionSites, getConnectorEndpointHandles, getContainerStyle, getContourBoxShadow, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetBox, getDensePanelTouchTargetPx, getDiagonalBorders, getDraggedShapeAdjustmentValue, getDraggedShapeAdjustments, getDuotoneCachedResult, getDuotoneFilterId, getDuotoneImageFilter, getDuotoneSvgFilter, getDuotoneSvgFilterMarkup, getEffectDagBlendMode, getEffectDagCssFilter, getEffectDagFillOverlay, getEffectDagFilter, getEffectDagOpacity, getEffectFilterCss, getEffectKeyframes, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementCreationId, getElementMorphName, getEnvelopeCssTransform, getExtrusionBoxShadow, getExtrusionShadow, getFragmentedTransitionDescriptor, getFrameEffectStyle, getFrameInverseTransform, getGlowBoxShadowCss, getGroupChildParentFill, getImageAlphaFilter, getImageAlphaFilterId, getImageBackgroundRemoval, getImageColorWashStyle, getImageCorrectionsFilterTokens, getImageDuotoneFilterId, getImageEffectsFilter, getImageEffectsOpacity, getImageFillCounterTransform, getImageFillOverlayFilter, getImageFillOverlayFilterId, getImageFilterCss, getImageFitStyle, getImageOverflow, getImageSharpenFilter, getImageSharpenFilterId, getImageSrc, getImageSvgFilters, getImageTilingStyle, getInitialStyleForEffect, getInlineEditorSelection, getInlineEditorSelectionResult, getInnerShadowCss, getKinsokuLineBreakStyles, getLightAngleFromCamera, getLightRigCss, getLineGlowFilterCss, getLineShadowCss, getLineShadowParams, getLocalStorageUsageSummary, getMaterialCssOverrides, getMaterialFilter, getMaterialGradientOverlay, getMaxCanvasDimension, getMultiLayerShadowCss, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleIconShapes, getOleTypeColor, getOleTypeLabel, getOnlineVideoEmbed, getOuterShadowCss, getOverflowSegments, getP14TransitionAnimations, getPasswordStrength, getPendingSelectionRestore, getPictureFrameLayers, getPictureShadowFilter, getPlaceholderStyle, getPresentationContextMenuSections, getPresetShapeVectorGeometry, getQuickAccessCommand, getReducedMotionStyles, getReflectionWrapperStyle, getRegionRenderer, getResizeHandleHitAreaStyle, getResolvedShapeClipPath, getResolvedShapeClipPathFor, getRoundRectAdjustmentValue, getRoundRectRadiusPx2 as getRoundRectRadiusPx, getSectionLayoutPlan, getSelectionControlArtworkStyle, getSelectionOutlineColor, getSessionTabId, getShapeAdjustmentHandleDescriptor, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getShapeEffectAnimationLayerStyle, getShapeEffectLayerPlacement, getShapeFillOverlay, getSimpleCssTransform, getSlideBackgroundStyle, getSlideTransitionAnimations, getSmartArtNodeBounds, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSpeechRecognitionCtor, getStrokeOnlyPresetPaths, getTableCellBandStyle, getTableResizeScale, getTextAlphaOpacity, getTextBodyRotationTransform, getTextReflectionWrapperStyle, getTouchDistance, getUnrotatedShapeConnectionSites, getViewerOptionsTab, getWarpCssTransform, getWarpPath, ghostMorphPairsHiddenByGhosts, glowStateOf, glowStyle, gradientStateFromStyle, gradientStateOf, gradientStatePatch, gradientStopColorCommitPatch, groupDrillChain, groupElementParagraphs, groupIntoParagraphs, groupIssuesBySeverity, groupParagraphsByBuildLevel, groupShortcutReference, groupTilesByRow, handleEditorAnchorClick, handlePresentationStageClick, handleReadingViewKey, handleThreeViewChartEvent, hasAdvancedImageAlphaEffects, hasCommentMentions, hasCrop, hasEffectDagProperties, hasExistingLink, hasGlyphEnvelope, hasGradientFill, hasImageEffects, hasImageFillOverlayEffect, hasImageOverrides, hasMotionPath, hasMultipleSelectedTableCells, hasPersistentAudio, hasPictureFrame, hasShowSlideAfter, hasStrokePaint, hasText3dExtrusion, hasTextWarp, hasTiltData, hasWarpPresetDefinition, hexToRgb, hiddenSlideCue, hiddenSlideLabelId, hideChartSeries, historyStepUsesParts, historyTheme, hollowTextFillStyle, homeColourState, homeControlKey, homeFamilyControls, homeFamilyKeys, homeGalleryApply, homeGalleryControls, homeLabel, homeLaunchers, homeShapeGalleryItems, homeShapeValue, homeSnapshotTranslator, hostMenuLabel, hslToRgb, imageAdjustmentsPatch, imageAdjustmentsStateOf, imageCropPatch, imageCropStateOf, imageRectFromCrop, imageResetPatch, imageResetState, incomingSegmentIndex, inferNodeTypes, initialHiddenStyle, initialInspectorOpen, initializeInlineListDom, inkGroupViewBox, inlineComputedStylesOnClone, inlineElementPointerEvents, inlineGalleryItems, innerShadowStateOf, innerShadowStyle, insertChartPreviewSvg, insertCommentMention, insertControlStatus, insertEntryEnabled, insertHyperlinkAtSelection, insertLabel, insertedLayoutCompletion, inspectorFieldPatch, inspectorNumber, inspectorTogglePatch, interpolateColor, interpolateOutline, interpolatePaths, interpolateSmartArtPalette, isActionButton, isActionHidden, isAdditiveSelectionPress, isArrowedCustomPath, isArtisticEffectRendered, isAudienceDisplayHash, isAudienceDisplayTab, isAudienceTab, isBackstagePageVisible, isBlackboardActive, isBookmarkGated, isBrowserOpenableMime, isChart3DViewEnabled, isChartTitleEvent, isClickAdvanceAllowed, isColumnBoundaryMergedAt, isCornerHandle, isDensePanelCompact, isDialogAvailable, isDrawingToolVisible, isEastAsianChar, isEditPointsCandidate, isEditPointsEnabled, isEditableMotionPath, isEditingAllowed, isEditorControlTarget, isEditorTextInputTarget, isElementActionable, isElementHidden, isElementMarkedDecorative, isElementRendered, isEquationOnlyText, isExportAbortError, isFeatureEnabled, isFontFamilyAvailable, isFontFamilyInstalledLocally, isForwardedEditLayerEvent, isFreeformStrokeClosed, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isIdentityRectClip, isImageTiled, isInBottomTriggerZone, isInertMorphPair, isInjectableUrl, isKeyboardOpen, isKoreanLanguage, isLegacyBinaryPresentation, isLinkedTextBox, isLinkedTextBoxHead, isMasterViewEditable, isMediaCommandAnimation, isMediaEndGated, isMediaFullscreenActive, isMergeableElement, isMixedContentBlocked, isMobileViewport, isNavigationAction, isNoOpPresentationAction, isOptionLocked, isOptionsPageVisible, isOutlineViewDismissKey, isPanelVisible, isPatternPaint, isPeerToPeerShare, isPictureElement, isPointInRegion, isPresenceFresh, isPresentationAdvanceClick, isPresentationAudience, isPresentationSessionMessage, isRegionReplaced, isReviewCommentCommand, isRibbonControlId, isRibbonControlVisible, isRibbonGroupId, isRibbonGroupVisible, isRoutedToLegacyBevelShadow, isRowBoundaryMergedAt, isRunHyperlinkClickable, isSafeSvgMarkup, isSameArtisticEffect, isSameBrowserRoom, isSeriesUsingSecondaryAxis, isSettingLocked, isSettingVisible, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTabletViewport, isValidRoomId, isVerticalTextDirection, isWedgeCalloutPresetShape, issueTrackKey, issueTypeLabel, lastShowSlideIndex, latexToMathMl, layoutEnvelopeBlock, leaderGlyph, lerpColor, lineHeightToPx, lineSpacingPatch, listAutosaveSnapshots, listBackstageRecentFiles, listChartFormatTargets, listChartUserShapeRows, listCommentLocations, listMediaBookmarkOptions, listenForOutlineViewDismiss, loadAudienceContent, loadPresentationDeck, loadSessionDeck, loadedThemeName, lockResizeAspect, makeCloneId, mapAwarenessCursors, mapCustomizedEditorKey, mapDuotonePixels, mapEditingWheel, mapEditorKey, mapInlineEditorChord, mapInlineTextFormatKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapReadingViewKey, mapSlideShowStartKey, mapSlideSorterKey, markAnimationGroupActive, markerPath, maskEdgeDecl, maskEdgeInitialStyle, maskEdgePartialDecl, maskShapeDecl, maskShapeInitialStyle, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewOwnerElementId, masterViewPartForElement, masterViewParts, masterViewPseudoSlide, matchCommentMentionAuthors, matchGoogleWebfontFragments, matchMorphElements, matchMorphElementsFull, matchSlideSizePreset, matchTextTokens, matchesShortcutChord, mayLeaveSlideShow, measureAutoFitContentHeightPx, measureGlyphAdvances, measureNormAutofitStepHeightPx, measurePreviewGeometry, measureSvgViewportRect, measureTextWidth, measureViewportClientSize, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaSurfaceOf, mediaTimeFromPointer, mediaTimelineGeometry, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mediaTrimRangeForDrag, mediaTrimResetPatch, mediaTrimResetState, mergeAdditiveSelection, mergeCaptionResults, mergeCoincidentHandles, mergeCustomization, mergeImageEffects, mergeOperationForCommand, mergePresentationSnapshot, mergeSegments, mergeText3d, mergeTextStyleOnStart, mergeViewerOptions, mixHex, mobileElapsedSince, mobileNextThumbSize, mobileSlideCounter, modalActiveElement, modalFocusableElements, morphGroupChildPairs, morphImageCropChanged, morphOptionToMode, morphPairIncomingFadesIn, morphPairNeedsCrossfade, morphTextReplacedInSlot, motionPathEndFraction, motionPathEndPixel, motionPathFor, motionPathFractionPoints, motionPathNativeAnimations, motionPathToSvgD, moveAnimationTimelineRowBy, moveEditHandle, moveEditNode, moveGuide, movePresenterPointer, moveQuickAccessCommand, moveSelection, mruColorsPatch, msToFrameDelayCs, nearestCubicParam, nearestLineParam, needsMorphFlattening, needsOwnedSession, needsSvgArtisticFilter, nestedTextDecorationStyle, newEquationElement, newFieldElement, newShapeElement, newSmartArtElement, newTableElement, newTextElement, nextAutosaveDelayMs, nextPresentedSlide, nextShowSlideIndex, normalizeAccelDecel, normalizeArrow, normalizeFontFormat, normalizeGoogleFontsBaseUrl, normalizeNotesLinkUrl, normalizeOutlinePair, normalizeRegion, normalizeSegments, normalizeSubtitleSettings, normalizeWheelDelta, notesSegmentsToSpans, nudgeDelta, numberControl, observeElementHeight, observeExternalCollaborationReadiness, observeExternalCollaborationSession, observeViewportClientSize, officeColorSwatchLabel, oleActionsVisible, ooxmlDashToCssBorderStyle, openAutosaveDb, openBoundaryRuns, openCollaborationYSession, openEditPathAtNode, openFilePicker, openNativeEyeDropper, openOwnedCollaboration, openPendingPrintWindow, openPptxFile, openPrintWindow, openReadingView, openUrlInNewTab, optionValueKey, optionsBlockSlot, optionsPaneSlot, optionsSettingIdOf, outerShadowStateOf, outerShadowStyle, outgoingSegmentIndex, outlineBounds, outlinePathData, outlineRowKey, outlineStrokeJoin, overlayInlineTextSnapshot, overlayMasterViewInlineSnapshot, overlayPointerInput, paintDefs, paintedElementSize, paintedStrokeWidth, paletteColour, panCropImage, paragraphGroupText, paragraphHomeAction, paragraphHomeAlign, paragraphHomeControls, paragraphsToSegments, parseAdvanceAfterMs, parseAudienceNonce, parseBookmarkOptionValue, parseCropValue, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseEditPointsTarget, parseFontWeightName, parseGradientCssStops, parseHexColor, parseHexToRgb, parseMediaCommand, parseOoxmlBezierCurve, parseOptionValueKey, parseOptionsSettingId, parsePathPoints, parsePolygonPoints, parsePresentationSessionId, parsePt, parseSegmentsFromRichEditor, parseShortcutChord, parseSvgPath, parseViewBox, partitionMasterViewElements, pasteElementHasText, patchChartData, patchHeaderFooterDraft, pathCoordinates, pauseAllPersistentAudio, pendingElementStyles, pickColorByClickFallback, pictureAdjustTileSvg, pictureArtisticSections, pictureColorSections, pictureCorrectionsSections, pictureEffects, pictureSizeHomeControls, pieceLetterSpacing, placeAudienceWindow, placeCaretAt, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, planGifFrames, planMergeShapes, planPrintJob, playAnimationRibbonPreview, playFeedbackSound, playGroup, playSlideTransitionPreview, pointFromPointerEvent, pointsToSvgPathD, polygonRegionBounds, powerPointAccelDecelProgress, pptxChartFormatKey, pptxChartFormatSource, pptxOptionsLabels, prefersReducedMotion, prepareElementForInsertion, prepareElementUpdateBatch, prepareElementsForPaste, presenceEntriesEqual, presenceListsEqual, presenceToCursors, presentToolbarBlackboardActive, presentToolbarCssVars, presentToolbarStyleAttr, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presentationSaveMimeType, presentationSnapshotsEqual, presentationViewItems, presenterConsoleAction, presenterConsoleCssVars, presenterConsoleStyleAttr, presenterConsoleViewState, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previewGalleryResult, previousShowSlideIndex, primaryMasterViewPart, printJobRasterFallback, probeAutosaveRecovery, probeMaxCanvasDimension, probeNativeImageSize, projectDrawingShapes, projectSmartArtViewBoxRect, promote, proportionalLineHeight, pruneExpiredAutosaveSnapshots, publishLiveGeometry, publishLiveInlineText, pushRecentColor, pushRecentShape, px2 as px, quadToCubicControls, queueThemeWrite, quickStyleShapeStyle, quickStyleSwatchCss, quickStyleSwatchStyleAttr, radarStylePatch, randomBarsBandDecl, rasterResultToPngBlob, rasterResultToPngDataUrl, rasterizeElement, rasterizeElementClampedToCanvas, rasterizeElementTiledToCanvas, rasterizeElementTiles, rasterizeElementToDataUrl, rasterizeForeignObjectSvg, rasterizeWindow, readBackstageRecentFile, readCropInsets, readEditPointsTarget, readEditableText, readEditorSegments, readElementParagraphs, readFontFileStyle, readInlineListNativeSnapshot, readInlineListSelection, readInlineListSnapshot, readListActivationSelection, readOnlyBannerState, readOnlyBannerVisible, readOnlyLocked, readOnlyRecommendation, readOnlySessionActions, readRecentShapes, readRibbonTransitionDraft, readSlideShowOption, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, reanchorEditFrame, rebaseOptions, rebuildDrawingShapesIfCleared, recentColorsGridView, recolorInheritedText, reconcileInlineListFormatting, reconcileInlineListSnapshot, recordProgressPercent, recordTableCellBold, redirectExitShapeByDirection, redirectMaskEffectByFilterSubtype, redistributeColumnWidth, reduceReadOnlySession, reduceViewerZoom, reflectionStateOf, reflectionStyle, reflowRibbon, reflowSmartArtData, reflowToDrawingShapes, regionArea, registerCollaborationTeardown, registerCrossSlideAudio, registerInlineListParagraphFormat, registerInlineListRunStyle, registerPersistentAudio, registerPptxWebControls, releasePptxRenderCaches, rememberSessionDeck, removeCommentFromList, removeCommentFromSlides, removeEmptyNode, removeGradientStopPatch, removeGuide, removeQuickAccessCommand, removedSlideMasterParts, renderSparklineSvg, renderedImageCorrections, reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replacePixels, replyToCommentInList, reportInlineTextDraft, rerouteConnectorsForMovedElements, resamplePolygon, resetChartFormatTarget, resetGlyphEnvelopeMeasureCache, resetGlyphTraceCache, resetGoogleWebfontSessionCache, resetMetricTrackingCache, resetPresenterTimer, resetSlideLayoutPath, resizeSelection, resolve3DRenderingFlags, resolveAccentHex, resolveActionType, resolveActiveRibbonAddIn, resolveActiveRibbonTab, resolveAnimationCss, resolveAnimationEnd, resolveAnimationStart, resolveAnimationWheelSpokeCount, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveFileKey, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartBuildMode, resolveChartFormatTarget, resolveChartRevealDescriptor, resolveChartThreeViewSpec, resolveCollaborationConfig, resolveCollaborationShellEditability, resolveCollaborationShellState, resolveColorAnimationTargets, resolveColorChangedImageSource, resolveConnectorEndpointUpdate, resolveCssProperties, resolveCssTextAlign, resolveCustomization, resolveDefaultPrintSettings, resolveDiagramBuildMode, resolveDiagramRevealDescriptor, resolveDirection, resolveDirection8, resolveDisplaySlideNumber, resolveDrawingShapeNodeId, resolveEastAsianBreakOptions, resolveEditPointsAvailability, resolveEffect, resolveEffectiveEndCondition, resolveEffectiveHiddenActions, resolveEffectiveStartCondition, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementOutline, resolveEmbeddedFontClearBytes, resolveExpiredAutosaveSnapshots, resolveExportBaseName, resolveExportCaptureDecision, resolveFieldDateText, resolveFilterEffect, resolveFilterPresetSubtype, resolveFontItalic, resolveFontKerning, resolveFontRefIdx, resolveFontVariant, resolveFontWeight, resolveForwardSlideWithZoomReturn, resolveGoogleFontsCss2Base, resolveGoogleFontsFace, resolveGoogleWebfontHref, resolveGroupChildFill, resolveGroupDoubleClickTarget, resolveGroupPressTarget, resolveHighlightClickForElementId, resolveHistoryDepth, resolveHyperlinkTargetAttrs, resolveImageResolutionPpi, resolveImageResolutionScale, resolveInitialSlideIndex, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveInsertSlideLayout, resolveInsertedFieldText, resolveInspectorSections, resolveKeyboardCustomization, resolveLayoutFamily, resolveLineHeight, resolveLiveCustomGeometryPath, resolveMediaBookmarkTimesMs, resolveMediaTimeNodeElementIds, resolveMetricTracking, resolveMetricTrackingPx, resolveMorphCrossfadeGroups, resolveMorphGhostIds, resolveMorphOverlayArrivals, resolveMorphOverlayLayers, resolveNotesLevelStyle, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleEditorKind, resolveOleType, resolveOleVerbTarget, resolveOnlineVideoEmbed, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphSpacing, resolveParagraphStrutFontSize, resolvePresentationAction, resolvePresentationClick, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveRunEquation, resolveRunFont, resolveRunHyperlink, resolveRunRuby, resolveSchemeColor, resolveScreenTip, resolveScriptFontSet, resolveSecondaryAxisId, resolveSelectionPaneRename, resolveShadeToTitleBackgroundImage, resolveShadeToTitleRect, resolveShapeGeometry, resolveShowBackward, resolveShowForward, resolveShowSlideIndexes, resolveSlideOutlineElements, resolveSlidePaneClick, resolveSlideSizeSelection, resolveSlideTitle, resolveSlideTransition, resolveSmartArt3DLayout, resolveSmartArtThreeViewSpec, resolveStatusBarSave, resolveStepBuildDescriptor, resolveStyleDiagonalBorders, resolveSummaryZoomNavigation, resolveSummaryZoomTileNavigationTarget, resolveTableStyleCell3D, resolveTableStyleEntry, resolveTemplateBackgroundRows, resolveTextAlignLast, resolveTextBodyColumns, resolveTextBodyRectPadding, resolveTextOutlineDashCss, resolveTextOverflowClip, resolveTextStyleAnimation, resolveTextStyleOnCleanup, resolveTitleBarStatusKey, resolveTitleBarStrip, resolveTrackedTextWidth, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveUnderlineLineDecoration, resolveUnlistedChartFormatTarget, resolveVertOverflowEllipsisStyle, resolveVerticalAnchorJustifyContent, resolveViewerAddinRows, resolveViewerAddinStatus, resolveViewerRootOptions, resolveViewportFitOptions, resolveVisibleRibbonTabs, resolveWheelSpokeCount, resolveZoomExcursionEndIndex, resolveZoomNavigationTarget, restoreCrossedTheme, restoreEditorKeyboardFocus, restoreFilteredSeries, restoreInlineListBodySelection, restoreParagraphMetadata, restoreSegmentSelection, restoreSessionDeck, resumeAllPersistentAudio, revealComment, revealedElementStyles, revealedSmartArtNodeCount, revealedStageCount, rgbToHex, rgbToHsl, rgbaToHex, ribbonAddInControlId, ribbonAddInGroupViews, ribbonControlAttrs, ribbonCustomizationCss, ribbonGroupAttrs, ribbonGroupOfControl, ribbonGroupViews, ribbonTransitionStockSoundUrl, ribbonTransitionTargets, ribbonTransitionUpdates, ribbonTransitionsDraftPatch, ribbonTransitionsSoundChange, roundedRectOutline, routeEditLayerPointerToNodes, rowHandleSegments, rowIndexAtOffset, rulerDragToGuidePosition, runEditPointsCommand, runEquationMathMl, runMediaCommand, runPresentationAction, runProgramNoticeStackStyle, runProgramNoticeStackStyleAttr, runReadOnlyPasswordCheck, runReviewCommentCommand, runRibbonAddInCommand, safeColor, sameArray, sameHex, sameRegionContext2 as sameRegionContext, sameRenderer2 as sameRenderer, sampleColorFromSlide, sampleImageCropMorphSteps, sampleWarpPresetCurve, sanitizeAvatarUrl, sanitizeColor, sanitizeCssDeclaration, sanitizeDownloadFilename, sanitizeMathMl, sanitizeOrientation, sanitizePixelDimension, sanitizePresence, sanitizeSlideIndex, sanitizeUserName, saveAutosaveSnapshot, saveDeckWithPassword, saveElementAsPicture, saveFailureMessage, saveViewerProfile, savedPresentationFileName, scaleFontSizeForAutoFit, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, scrollInspectorSectionIntoView, sectionAddAfterSlideIndex, sectionContextMenuLabelKey, secureRandomToken, secureRandomUuid, seedBroadcastFields, seedHyperlinkDraft, seedRecentColors, seedShareFields, seedShareSessionFields, segmentStyleToCss, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, select, selectGoogleWebfontFamilies, selectSorterSlide, selectTrustedEmbeddedFonts, selectedBookmarkOptionValue, selectedParagraphBulletKind, selectionBounds, selectionBulletKind, serializeElementClipboard, serializeShapeAdjustments, serializeSvgPath, seriesColorClearState, seriesSecondaryAxisPatch, setCachedResult, setDataLabelsRangeCache, setDuotoneCachedResult, setEditNodeType, setEditSegmentKind, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingCaretPoint, setPendingSelectionRestore, setSelectionBullets, setTriggerBookmark, settleThemeWrites, shapeFillChange, shapeGalleryItem, shapeGalleryItemForValue, shapeGallerySections, shapeOutlineChange, shapeQuickStyleLabel, shapeQuickStylePatch, shapeStyleWithoutFormatting, shapeThumbnailPath, shapeTileSvg, sheetAfterNavigate, shortestRotationTarget, shouldAutoFollowBroadcaster, shouldAutoHide, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldGeometryMorph, shouldLoopContinuously, shouldOpenInProtectedView, shouldProbeAutosaveRecovery, shouldRenderHitTarget, shouldSeekAnimationGroup, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldShowMediaFullscreenStopButton, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, signedLoopArea, signedPercent, simplifyFreeformVertices, simplifyLoop, slideBackgroundClearPatch, slideBackgroundClearState, slideClipboardLabels, slidePaneContextMenuLabelKey, slidePaneViewItems, slideProgressPercent, slideShowOptionChange, slideSizeFromCanvasPx, slideSizeFromPreset, slideSizeOrientation, slideSizeToCanvasPx, slideSorterContextMenuLabel, slideSorterPasteIndexes, slideStatusLabel, slidesHomeControls, smartArtCategoryDescriptionKey, smartArtCategoryLabelKey, smartArtConnectorPaint, smartArtLayoutLabel, smartArtLayoutSwitchPatch, smartArtNodeAriaLabel, smartArtNodeAtPoint, smartArtNodeLabel, smartArtPresetLabelKey, smartArtTextPaneLabels, smartArtTextPaneView, smartArtThreeViewSpec, snapBoxToGrid, snapMoveToSpanGuides, softEdgeStateOf, solveShapeAdjustmentValue, solveShapeAdjustments, sortEntranceAnimations, sorterGridColumns, sorterMenuContext, sorterPasteInsertAt, sorterSelectionIndexes, splitCubic, splitEastAsianBreaks, splitEastAsianRunPieces, splitRegionComponents, splitRunByScriptFont, splitRunForMetrics, splitStyledRun, splitWordsForUnderline, splitsUnderlineIntoWords, startCropSession, startMediaAutoplay, startRotationFrame, statusBarState, statusBarViewMode, stepPresenterZoom, stitchContinuousGradientFill, stopAllPersistentAudio, storeAudienceContent, storePresentationDeck, straddlingStrokeWidth, stripEditLayerMarkers, stripUnderlineDecoration, strokeMiterLimit, strokeOnlyPresetPathData, strokeOutlineViewBox, strokeToInkElement, strokeWidthOf, styleShadowFilter, substituteFieldText, subtitleLanguageLabel, subtitleRecognitionLanguage, subtitleSettingsFromOptions, subtitleSettingsLabels, supportsAltTextField, supportsCssLinearEasing, supportsTitleField, suppressesCssBorder, surfaceVertexWorldPosition, surfaceWireframePatch, svgArcToCubics, svgGradientFillRef, svgGradientId, svgGradientMarkup, svgId, svgLineCap, svgTile, svgToDataUrl, swapPresentationWindows, switchSmartArtLayoutData, syncGoogleWebfontStylesheet, tabRowActionsAttributes, tableCellCss, tableCellFillColorCommitPatch, tableCellPointerIntent, tableCellTextColorCommitPatch, tableContainerCss, tableInspectorPatch, tableInspectorStateOf, tableLayoutCells, takePendingCaretPoint, templateSchemeFromTheme, text3dEmuToPt, text3dFieldsPatch, text3dInheritsFromTemplate, text3dPtToEmu, text3dStylePatch, textAdvancedPatch, textAdvancedStateFromStyle, textAdvancedStateOf, textBuildSpanStyle, textControl, textDirectionPatch, textWarpStyle, textWrapOf, textWrapPatch, themeColorGridCommit, themeColorGridView, themePartWrites, themeShapeStyleXml, threeViewStateOf, tileRectToSourceRect, tileSpecFromShapeStyle, timingCurveToCss, titleBarCssVars, titleBarStyleAttr, titleBarTone, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toElementAxes, toGestureTransform, toSlideIndex, toggle, toggleBlackboard, toggleCommentResolvedInList, toggleInList, togglePresenterTimer, toggleSelectionBullets, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, toggleText3dExtrusionPatch, tokenizeText, toleranceToThreshold, traceGlyphOutlineCommands, trackActiveComment, transformConnectionSite, transformInlineListCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, transitionsLabel, translateChartFormatText2 as translateChartFormatText, translateMotionPath, travelledBox, trimmedMediaDurationMs, updateGlowPatch, updateGradientStopPatch, updateInnerShadowPatch, updateMasterViewElement, updateOuterShadowPatch, updateReflectionPatch, updateSubtitleSettings, updateTagInCollections, updateViewerPreference, vAlignPatch, validateMediaTrimRange, validatePasswordPair, validateRoomId, viewLabel, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, viewerZoomPercent, visibleContextualTabs, visibleRibbonAddIns, warpPreviewPath, wasWrittenByThisPage, wheelDecl, wireMediaBookmarkSteps, wireMediaEndedSteps, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withHistoryMasterThemes, withHistoryTheme, withHomeGalleries, withInlineListDecorationDefaults, withNodeAtPath, withRecordEntry, withSaveFailureToast, withSlideSizeOrientation, wrapForeignObjectSvg, wrapNotesText, writeBackReport, writeElementParagraphs, writeStoredViewerPrefs, writeThemeParts, zeroDelayCssAnimation, zoomInPercent, zoomInScale, zoomOutPercent, zoomOutScale };
|