pptx-react-viewer 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,50 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs re-releases a package whenever any of its files
8
8
  change, not only on conventional ones.
9
9
 
10
+ ## [3.0.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@3.0.0) - 2026-08-22
11
+
12
+ ### Features
13
+
14
+ - **core:** Unify SmartArt layout onto one DiagramML interpreter (by @ChristopherVR) ([89116b1](https://github.com/ChristopherVR/pptx-viewer/commit/89116b131a3f13fb6b65789c46d3f9a7814d04db))
15
+ - **core:** Write chart edits back to the embedded workbook (by @ChristopherVR) ([dee19fc](https://github.com/ChristopherVR/pptx-viewer/commit/dee19fc69b02ad36eadd39f48e589de9e76689fa))
16
+ - **core:** Solve relative SmartArt constraints and apply org-chart hints (by @ChristopherVR) ([65eee20](https://github.com/ChristopherVR/pptx-viewer/commit/65eee20e9e772ab40317df0ba1acf0c26a412973))
17
+ - **shared:** Print notes pages in every binding, and honour notesStyle in the master preview (by @ChristopherVR) ([6f2f54d](https://github.com/ChristopherVR/pptx-viewer/commit/6f2f54d503806054ae48bfc8f0d0c0ee565977ce))
18
+ - **core:** Author tag elements, model embedTrueTypeFonts, and add a text-style edit path (by @ChristopherVR) ([0048d16](https://github.com/ChristopherVR/pptx-viewer/commit/0048d163c6dd87d7a0bdc3207cbcbd4db39f8d0e))
19
+ - **core,shared:** Serialize data-table styling, and paint 3D chart surfaces (by @ChristopherVR) ([bd9595a](https://github.com/ChristopherVR/pptx-viewer/commit/bd9595a7bae6c545a649ff8e1929b27a638fcb5b))
20
+ - **core:** Honour per-node shapes, style roles and connector text in SmartArt (by @ChristopherVR) ([c823fca](https://github.com/ChristopherVR/pptx-viewer/commit/c823fca506f99e3c4f42ec11513e56cdb30f9a68))
21
+ - **core,shared:** Model timing templates and play animEffect filters (by @ChristopherVR) ([8bf91f2](https://github.com/ChristopherVR/pptx-viewer/commit/8bf91f20c907f9d92abbcd5a59fb424ddfabdbd8))
22
+ - **core,shared:** Cross-browser reflections, overlay fills, and remaining text gaps (by @ChristopherVR) ([c0b0d6d](https://github.com/ChristopherVR/pptx-viewer/commit/c0b0d6d6805c6383ba2a01da3c8a22792eb22cdb))
23
+
24
+ ### Bug Fixes
25
+
26
+ - **core:** Close five OpenXML parse and serialize fidelity gaps (by @ChristopherVR) ([641b0b2](https://github.com/ChristopherVR/pptx-viewer/commit/641b0b21d82442262f3f2d0e4ed2894cd71c07e9))
27
+ - **core,shared:** Correct animation preset IDs against PowerPoint COM ground truth (by @ChristopherVR) ([61b0014](https://github.com/ChristopherVR/pptx-viewer/commit/61b001440de0bf73bfcd6efd21c8df21bd47e5c8))
28
+ - **shared:** Honour a:ln/@algn and per-subpath fill modes (by @ChristopherVR) ([d049a8f](https://github.com/ChristopherVR/pptx-viewer/commit/d049a8f7806b7efb85e643e12643393372ccf603))
29
+ - **shared:** Correct autofit and paragraph-spacing semantics (by @ChristopherVR) ([86f61e9](https://github.com/ChristopherVR/pptx-viewer/commit/86f61e9b6e2cb0fe34f2e958273f35702f58fc6a))
30
+ - **shared:** Move per-script fonts and measured tab layout out of React (by @ChristopherVR) ([dbd3442](https://github.com/ChristopherVR/pptx-viewer/commit/dbd3442e2173a8b8b397af592f01e39daad95ff8))
31
+ - **shared:** Render table cell image fill, zero margins and authored grid spacing (by @ChristopherVR) ([d4079d2](https://github.com/ChristopherVR/pptx-viewer/commit/d4079d20b6517a0aac4655882e27228abc06ae09))
32
+ - **react:** Consume the shared render decisions and fix a swallowed load error (by @ChristopherVR) ([7ec6892](https://github.com/ChristopherVR/pptx-viewer/commit/7ec6892d445980597d584166c905d2bd26375752))
33
+ - **core,shared:** Honour cTn timing attributes, after-animation and effect sound (by @ChristopherVR) ([07ee51f](https://github.com/ChristopherVR/pptx-viewer/commit/07ee51f8b11431153e9ce2553c4c11a51e15316e))
34
+ - **core:** Close slide-structure, notes-style and DrawingML parse gaps (by @ChristopherVR) ([ee1dbcd](https://github.com/ChristopherVR/pptx-viewer/commit/ee1dbcd3278e2bde7b066c4085a82f56cc818f6a))
35
+ - **shared:** Render data tables, legend entries, image overlays and 3D text (by @ChristopherVR) ([ecec502](https://github.com/ChristopherVR/pptx-viewer/commit/ecec502e205f06c1bb7dec042f7693ac4fd8a74e))
36
+ - **react:** Consume the shared decisions for the second parity wave (by @ChristopherVR) ([7238a36](https://github.com/ChristopherVR/pptx-viewer/commit/7238a36e63c639376f241316b5d8c661e824fedb))
37
+
38
+ ### Refactor
39
+
40
+ - **shared:** Split oversized text modules and add the circle-in keyframe (by @ChristopherVR) ([1c0797f](https://github.com/ChristopherVR/pptx-viewer/commit/1c0797f7d5468dca16f6cb53c1ad413db4fc29e0))
41
+
42
+ ### Documentation
43
+
44
+ - **core:** Record audited OpenXML construct coverage in the manifest (by @ChristopherVR) ([812fe61](https://github.com/ChristopherVR/pptx-viewer/commit/812fe61e66687a48c2cd19eeb0c502767c25e3c1))
45
+
46
+ ### Testing
47
+
48
+ - **core:** Evidence previously unverified OpenXML constructs, and record what is not implemented (by @ChristopherVR) ([4dc6028](https://github.com/ChristopherVR/pptx-viewer/commit/4dc602876bd49cdb03b084f9f4fa2268aa01f22f))
49
+
50
+ ### Chores
51
+
52
+ - **core:** Complete barrel and runtime wiring for the preceding two changes (by @ChristopherVR) ([115379e](https://github.com/ChristopherVR/pptx-viewer/commit/115379e9a757b029fbc0cbb74ae51628f7fb3e27))
53
+
10
54
  ## [2.22.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-react-viewer@2.22.0) - 2026-08-21
11
55
 
12
56
  ### Features
@@ -1591,6 +1591,23 @@ function getContainerStyle({
1591
1591
  ...templateEditing ? { outline: "2px dashed rgb(217, 119, 6)", outlineOffset: "1px", opacity: opacity ?? 0.95 } : {}
1592
1592
  };
1593
1593
  }
1594
+ function getHandleHostStyle({
1595
+ el,
1596
+ isFullscreenMedia,
1597
+ zIndex
1598
+ }) {
1599
+ return {
1600
+ position: "absolute",
1601
+ left: isFullscreenMedia ? 0 : el.x,
1602
+ top: isFullscreenMedia ? 0 : el.y,
1603
+ width: isFullscreenMedia ? "100%" : Math.max(el.width, chunkXMLPTDPM_js.MIN_ELEMENT_SIZE),
1604
+ height: isFullscreenMedia ? "100%" : Math.max(el.height, chunkXMLPTDPM_js.MIN_ELEMENT_SIZE),
1605
+ transform: isFullscreenMedia ? "none" : chunkSDOQKSKI_js.getElementTransform(el),
1606
+ transformOrigin: "center",
1607
+ zIndex: isFullscreenMedia ? 21 : zIndex,
1608
+ pointerEvents: "none"
1609
+ };
1610
+ }
1594
1611
 
1595
1612
  // src/viewer/components/elements/element-shape-params.ts
1596
1613
  function shapeParams(element) {
@@ -1968,135 +1985,144 @@ var ElementRenderer = React15__default.default.memo(
1968
1985
  onInlineEditCancel,
1969
1986
  onActionClick
1970
1987
  });
1971
- return /* @__PURE__ */ jsxRuntime.jsxs(
1972
- "div",
1973
- {
1974
- "data-pptx-element": "true",
1975
- "data-element-id": el.id,
1976
- "data-pptx-action": isActionable ? "click" : void 0,
1977
- role: ariaRole,
1978
- "aria-label": ariaLabel,
1979
- "aria-roledescription": ariaRoleDescription,
1980
- "aria-selected": isSelected ? true : void 0,
1981
- tabIndex: isFocusable ? 0 : -1,
1982
- className: chunkXMLPTDPM_js.cn(
1983
- "absolute",
1984
- "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1985
- cur,
1986
- // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1987
- // (injected by `PresentationStage`) owns hit-testing there, because
1988
- // it is the only form that can re-enable an action shape nested
1989
- // inside inert scenery - an inline `pointer-events: none` on the
1990
- // group could never do that, and React was the one binding that
1991
- // wrote it. Off the show stage the inline rule still applies.
1992
- chunkSDOQKSKI_js.inlineElementPointerEvents({
1993
- interactive: effectiveCanInteract || isActionable,
1994
- presenting: presenting === true
1995
- }) === "none" ? "pointer-events-none" : "",
1996
- // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
1997
- // outline only, so its interior must not swallow clicks meant for what it
1998
- // is drawn over. ShapeEffectOverlay paints a transparent
1999
- // pointer-events:stroke band that opts the outline back in.
2000
- chunkSDOQKSKI_js.isHollowShapeElement(el) ? "pointer-events-none" : "",
2001
- isFullscreenMedia ? "pointer-events-auto" : "",
2002
- selB,
2003
- // Shared class the tooltip's `:hover` rule keys off (see
2004
- // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
2005
- // so the four non-Tailwind bindings reveal it the same way.
2006
- actionAffordance.showLinkTooltip && chunkSDOQKSKI_js.LINK_TOOLTIP_HOST_CLASS
2007
- ),
2008
- style: getContainerStyle({
2009
- el,
2010
- isFullscreenMedia,
2011
- isImg: isImg || isModel3D,
2012
- zIndex,
2013
- opacity,
2014
- animationState,
2015
- shapeVisualStyle: ss,
2016
- has3DExtrusion: extrusionData.hasExtrusion,
2017
- templateEditing
2018
- }),
2019
- ...interactionProps,
2020
- children: [
2021
- renderDagDuotoneFilterForElement(el),
2022
- /* @__PURE__ */ jsxRuntime.jsx(ShapeEffectOverlay, { element: el }),
2023
- extrusionData.hasExtrusion && /* @__PURE__ */ jsxRuntime.jsx(Extrusion3DOverlay, { data: extrusionData }),
2024
- renderBody({
1988
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1989
+ /* @__PURE__ */ jsxRuntime.jsxs(
1990
+ "div",
1991
+ {
1992
+ "data-pptx-element": "true",
1993
+ "data-element-id": el.id,
1994
+ "data-pptx-action": isActionable ? "click" : void 0,
1995
+ role: ariaRole,
1996
+ "aria-label": ariaLabel,
1997
+ "aria-roledescription": ariaRoleDescription,
1998
+ "aria-selected": isSelected ? true : void 0,
1999
+ tabIndex: isFocusable ? 0 : -1,
2000
+ className: chunkXMLPTDPM_js.cn(
2001
+ "absolute",
2002
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
2003
+ cur,
2004
+ // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
2005
+ // (injected by `PresentationStage`) owns hit-testing there, because
2006
+ // it is the only form that can re-enable an action shape nested
2007
+ // inside inert scenery - an inline `pointer-events: none` on the
2008
+ // group could never do that, and React was the one binding that
2009
+ // wrote it. Off the show stage the inline rule still applies.
2010
+ chunkSDOQKSKI_js.inlineElementPointerEvents({
2011
+ interactive: effectiveCanInteract || isActionable,
2012
+ presenting: presenting === true
2013
+ }) === "none" ? "pointer-events-none" : "",
2014
+ // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
2015
+ // outline only, so its interior must not swallow clicks meant for what it
2016
+ // is drawn over. ShapeEffectOverlay paints a transparent
2017
+ // pointer-events:stroke band that opts the outline back in.
2018
+ chunkSDOQKSKI_js.isHollowShapeElement(el) ? "pointer-events-none" : "",
2019
+ isFullscreenMedia ? "pointer-events-auto" : "",
2020
+ selB,
2021
+ // Shared class the tooltip's `:hover` rule keys off (see
2022
+ // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
2023
+ // so the four non-Tailwind bindings reveal it the same way.
2024
+ actionAffordance.showLinkTooltip && chunkSDOQKSKI_js.LINK_TOOLTIP_HOST_CLASS
2025
+ ),
2026
+ style: getContainerStyle({
2025
2027
  el,
2026
- isImg,
2027
- isEditing: effectiveIsInlineEditing,
2028
- editText: inlineEditingText,
2029
- spellCheck: spellCheckEnabled,
2030
- txtSE,
2031
- txtS: ts,
2032
- vecShape: vs,
2033
- imgStyle: chunkXMLPTDPM_js.getImageRenderStyle(el),
2034
- imgFilter: chunkSDOQKSKI_js.getImageEffectsFilter(el),
2035
- imgOpacity: chunkSDOQKSKI_js.getImageEffectsOpacity(el),
2036
- imgAlt: imageAltText,
2037
- isTxtEl: isTxt,
2038
- media: mediaDataUrls,
2039
- tableSt: tableEditorState,
2040
- isSel: isSelected,
2041
- doInk,
2042
- doGrp,
2043
- renderGroupChild: (child, index) => /* @__PURE__ */ jsxRuntime.jsx(
2044
- StaticElementRenderer,
2045
- {
2046
- element: child,
2047
- activeSlide,
2048
- allSlides,
2049
- mediaDataUrls,
2050
- sourceSlideIndex,
2051
- zIndex: index,
2052
- animation: presentationElementStates?.get(child.id)?.cssAnimation,
2053
- exposeElementId: true,
2054
- parentGroupFill: chunkSDOQKSKI_js.getGroupChildParentFill(el),
2055
- onActionClick: el.actionClick ? void 0 : onActionClick,
2056
- actionRequiresModifier: effectiveCanInteract
2057
- },
2058
- child.id
2059
- ),
2060
- onEditChange: onInlineEditChange,
2061
- onCommit: onInlineEditCommit,
2062
- onCancel: onInlineEditCancel,
2063
- onCellSel: cellSelectHandler,
2064
- onCellCommit: cellCommitHandler,
2065
- onColResize: colResizeHandler,
2066
- onRowResize: rowResizeHandler,
2067
- findHl: findHighlights,
2068
- onHyperlinkClick,
2069
- isPresentationPassive,
2070
- handleMediaPlayStateChange,
2071
- presentationElementStates,
2072
- slideElements: activeSlide?.elements,
2073
- allSlides,
2074
- onZoomClick,
2075
- sourceSlideIndex,
2076
- fieldContext,
2077
- tableStyleContext,
2078
- canEditSmartArt,
2079
- onUpdateSmartArtElement: smartArtUpdateHandler,
2080
- canEditChart,
2081
- onUpdateChartElement: chartUpdateHandler,
2082
- onFormatText
2028
+ isFullscreenMedia,
2029
+ isImg: isImg || isModel3D,
2030
+ zIndex,
2031
+ opacity,
2032
+ animationState,
2033
+ shapeVisualStyle: ss,
2034
+ has3DExtrusion: extrusionData.hasExtrusion,
2035
+ templateEditing
2083
2036
  }),
2084
- /* @__PURE__ */ jsxRuntime.jsx(ActionAffordances, { affordance: actionAffordance }),
2085
- effectiveShowResizeHandles && !effectiveIsInlineEditing && /* @__PURE__ */ jsxRuntime.jsx(
2086
- ResizeHandles,
2087
- {
2088
- elementId: el.id,
2089
- adjustmentHandles: adjH,
2090
- onResizePointerDown,
2091
- onAdjustmentPointerDown,
2092
- rotation: el.rotation,
2093
- nonRotationTransform: chunkSDOQKSKI_js.getElementTransformWithoutRotation(el),
2094
- onRotate: allow.rotatable ? onRotate : void 0
2095
- }
2096
- )
2097
- ]
2098
- }
2099
- );
2037
+ ...interactionProps,
2038
+ children: [
2039
+ renderDagDuotoneFilterForElement(el),
2040
+ /* @__PURE__ */ jsxRuntime.jsx(ShapeEffectOverlay, { element: el }),
2041
+ extrusionData.hasExtrusion && /* @__PURE__ */ jsxRuntime.jsx(Extrusion3DOverlay, { data: extrusionData }),
2042
+ renderBody({
2043
+ el,
2044
+ isImg,
2045
+ isEditing: effectiveIsInlineEditing,
2046
+ editText: inlineEditingText,
2047
+ spellCheck: spellCheckEnabled,
2048
+ txtSE,
2049
+ txtS: ts,
2050
+ vecShape: vs,
2051
+ imgStyle: chunkXMLPTDPM_js.getImageRenderStyle(el),
2052
+ imgFilter: chunkSDOQKSKI_js.getImageEffectsFilter(el),
2053
+ imgOpacity: chunkSDOQKSKI_js.getImageEffectsOpacity(el),
2054
+ imgAlt: imageAltText,
2055
+ isTxtEl: isTxt,
2056
+ media: mediaDataUrls,
2057
+ tableSt: tableEditorState,
2058
+ isSel: isSelected,
2059
+ doInk,
2060
+ doGrp,
2061
+ renderGroupChild: (child, index) => /* @__PURE__ */ jsxRuntime.jsx(
2062
+ StaticElementRenderer,
2063
+ {
2064
+ element: child,
2065
+ activeSlide,
2066
+ allSlides,
2067
+ mediaDataUrls,
2068
+ sourceSlideIndex,
2069
+ zIndex: index,
2070
+ animation: presentationElementStates?.get(child.id)?.cssAnimation,
2071
+ exposeElementId: true,
2072
+ parentGroupFill: chunkSDOQKSKI_js.getGroupChildParentFill(el),
2073
+ onActionClick: el.actionClick ? void 0 : onActionClick,
2074
+ actionRequiresModifier: effectiveCanInteract
2075
+ },
2076
+ child.id
2077
+ ),
2078
+ onEditChange: onInlineEditChange,
2079
+ onCommit: onInlineEditCommit,
2080
+ onCancel: onInlineEditCancel,
2081
+ onCellSel: cellSelectHandler,
2082
+ onCellCommit: cellCommitHandler,
2083
+ onColResize: colResizeHandler,
2084
+ onRowResize: rowResizeHandler,
2085
+ findHl: findHighlights,
2086
+ onHyperlinkClick,
2087
+ isPresentationPassive,
2088
+ handleMediaPlayStateChange,
2089
+ presentationElementStates,
2090
+ slideElements: activeSlide?.elements,
2091
+ allSlides,
2092
+ onZoomClick,
2093
+ sourceSlideIndex,
2094
+ fieldContext,
2095
+ tableStyleContext,
2096
+ canEditSmartArt,
2097
+ onUpdateSmartArtElement: smartArtUpdateHandler,
2098
+ canEditChart,
2099
+ onUpdateChartElement: chartUpdateHandler,
2100
+ onFormatText
2101
+ }),
2102
+ /* @__PURE__ */ jsxRuntime.jsx(ActionAffordances, { affordance: actionAffordance })
2103
+ ]
2104
+ }
2105
+ ),
2106
+ effectiveShowResizeHandles && !effectiveIsInlineEditing && // A SIBLING of the shape's own (possibly clip-path'd) container, not a
2107
+ // child: `clip-path` excludes every descendant from hit-testing, not
2108
+ // just paint, so a handle measured onto a preset vertex outside the
2109
+ // shape's silhouette (see `getHandleHostStyle`) would be unclickable
2110
+ // if nested inside it. `pointerEvents: 'none'` on the host keeps every
2111
+ // non-handle pixel click-through to whatever is actually under it.
2112
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: getHandleHostStyle({ el, isFullscreenMedia, zIndex }), children: /* @__PURE__ */ jsxRuntime.jsx(
2113
+ ResizeHandles,
2114
+ {
2115
+ elementId: el.id,
2116
+ adjustmentHandles: adjH,
2117
+ onResizePointerDown,
2118
+ onAdjustmentPointerDown,
2119
+ rotation: el.rotation,
2120
+ nonRotationTransform: chunkSDOQKSKI_js.getElementTransformWithoutRotation(el),
2121
+ onRotate: allow.rotatable ? onRotate : void 0,
2122
+ forcePointerEvents: true
2123
+ }
2124
+ ) })
2125
+ ] });
2100
2126
  }
2101
2127
  );
2102
2128
  function renderPressureStroke(pathD, widths, baseWidth, color, opacity, keyPrefix) {
@@ -5852,7 +5878,7 @@ function AccountPage() {
5852
5878
  return void 0;
5853
5879
  });
5854
5880
  };
5855
- const version = "2.22.0" ;
5881
+ const version = "3.0.0" ;
5856
5882
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
5857
5883
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cardClass, children: [
5858
5884
  /* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
Binary file
Binary file
@@ -2,7 +2,7 @@ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChat
2
2
  import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-BGAJLL4N.mjs';
3
3
  import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-S6PFSR7I.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-L5MNLIQF.mjs';
5
- import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OXPD2UYI.mjs';
5
+ import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OXPD2UYI.mjs';
6
6
  import React15, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, Fragment as Fragment$1, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -1585,6 +1585,23 @@ function getContainerStyle({
1585
1585
  ...templateEditing ? { outline: "2px dashed rgb(217, 119, 6)", outlineOffset: "1px", opacity: opacity ?? 0.95 } : {}
1586
1586
  };
1587
1587
  }
1588
+ function getHandleHostStyle({
1589
+ el,
1590
+ isFullscreenMedia,
1591
+ zIndex
1592
+ }) {
1593
+ return {
1594
+ position: "absolute",
1595
+ left: isFullscreenMedia ? 0 : el.x,
1596
+ top: isFullscreenMedia ? 0 : el.y,
1597
+ width: isFullscreenMedia ? "100%" : Math.max(el.width, MIN_ELEMENT_SIZE),
1598
+ height: isFullscreenMedia ? "100%" : Math.max(el.height, MIN_ELEMENT_SIZE),
1599
+ transform: isFullscreenMedia ? "none" : getElementTransform(el),
1600
+ transformOrigin: "center",
1601
+ zIndex: isFullscreenMedia ? 21 : zIndex,
1602
+ pointerEvents: "none"
1603
+ };
1604
+ }
1588
1605
 
1589
1606
  // src/viewer/components/elements/element-shape-params.ts
1590
1607
  function shapeParams(element) {
@@ -1962,135 +1979,144 @@ var ElementRenderer = React15.memo(
1962
1979
  onInlineEditCancel,
1963
1980
  onActionClick
1964
1981
  });
1965
- return /* @__PURE__ */ jsxs(
1966
- "div",
1967
- {
1968
- "data-pptx-element": "true",
1969
- "data-element-id": el.id,
1970
- "data-pptx-action": isActionable ? "click" : void 0,
1971
- role: ariaRole,
1972
- "aria-label": ariaLabel,
1973
- "aria-roledescription": ariaRoleDescription,
1974
- "aria-selected": isSelected ? true : void 0,
1975
- tabIndex: isFocusable ? 0 : -1,
1976
- className: cn(
1977
- "absolute",
1978
- "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1979
- cur,
1980
- // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1981
- // (injected by `PresentationStage`) owns hit-testing there, because
1982
- // it is the only form that can re-enable an action shape nested
1983
- // inside inert scenery - an inline `pointer-events: none` on the
1984
- // group could never do that, and React was the one binding that
1985
- // wrote it. Off the show stage the inline rule still applies.
1986
- inlineElementPointerEvents({
1987
- interactive: effectiveCanInteract || isActionable,
1988
- presenting: presenting === true
1989
- }) === "none" ? "pointer-events-none" : "",
1990
- // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
1991
- // outline only, so its interior must not swallow clicks meant for what it
1992
- // is drawn over. ShapeEffectOverlay paints a transparent
1993
- // pointer-events:stroke band that opts the outline back in.
1994
- isHollowShapeElement(el) ? "pointer-events-none" : "",
1995
- isFullscreenMedia ? "pointer-events-auto" : "",
1996
- selB,
1997
- // Shared class the tooltip's `:hover` rule keys off (see
1998
- // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
1999
- // so the four non-Tailwind bindings reveal it the same way.
2000
- actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
2001
- ),
2002
- style: getContainerStyle({
2003
- el,
2004
- isFullscreenMedia,
2005
- isImg: isImg || isModel3D,
2006
- zIndex,
2007
- opacity,
2008
- animationState,
2009
- shapeVisualStyle: ss,
2010
- has3DExtrusion: extrusionData.hasExtrusion,
2011
- templateEditing
2012
- }),
2013
- ...interactionProps,
2014
- children: [
2015
- renderDagDuotoneFilterForElement(el),
2016
- /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
2017
- extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
2018
- renderBody({
1982
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1983
+ /* @__PURE__ */ jsxs(
1984
+ "div",
1985
+ {
1986
+ "data-pptx-element": "true",
1987
+ "data-element-id": el.id,
1988
+ "data-pptx-action": isActionable ? "click" : void 0,
1989
+ role: ariaRole,
1990
+ "aria-label": ariaLabel,
1991
+ "aria-roledescription": ariaRoleDescription,
1992
+ "aria-selected": isSelected ? true : void 0,
1993
+ tabIndex: isFocusable ? 0 : -1,
1994
+ className: cn(
1995
+ "absolute",
1996
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1997
+ cur,
1998
+ // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1999
+ // (injected by `PresentationStage`) owns hit-testing there, because
2000
+ // it is the only form that can re-enable an action shape nested
2001
+ // inside inert scenery - an inline `pointer-events: none` on the
2002
+ // group could never do that, and React was the one binding that
2003
+ // wrote it. Off the show stage the inline rule still applies.
2004
+ inlineElementPointerEvents({
2005
+ interactive: effectiveCanInteract || isActionable,
2006
+ presenting: presenting === true
2007
+ }) === "none" ? "pointer-events-none" : "",
2008
+ // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
2009
+ // outline only, so its interior must not swallow clicks meant for what it
2010
+ // is drawn over. ShapeEffectOverlay paints a transparent
2011
+ // pointer-events:stroke band that opts the outline back in.
2012
+ isHollowShapeElement(el) ? "pointer-events-none" : "",
2013
+ isFullscreenMedia ? "pointer-events-auto" : "",
2014
+ selB,
2015
+ // Shared class the tooltip's `:hover` rule keys off (see
2016
+ // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
2017
+ // so the four non-Tailwind bindings reveal it the same way.
2018
+ actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
2019
+ ),
2020
+ style: getContainerStyle({
2019
2021
  el,
2020
- isImg,
2021
- isEditing: effectiveIsInlineEditing,
2022
- editText: inlineEditingText,
2023
- spellCheck: spellCheckEnabled,
2024
- txtSE,
2025
- txtS: ts,
2026
- vecShape: vs,
2027
- imgStyle: getImageRenderStyle(el),
2028
- imgFilter: getImageEffectsFilter(el),
2029
- imgOpacity: getImageEffectsOpacity(el),
2030
- imgAlt: imageAltText,
2031
- isTxtEl: isTxt,
2032
- media: mediaDataUrls,
2033
- tableSt: tableEditorState,
2034
- isSel: isSelected,
2035
- doInk,
2036
- doGrp,
2037
- renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
2038
- StaticElementRenderer,
2039
- {
2040
- element: child,
2041
- activeSlide,
2042
- allSlides,
2043
- mediaDataUrls,
2044
- sourceSlideIndex,
2045
- zIndex: index,
2046
- animation: presentationElementStates?.get(child.id)?.cssAnimation,
2047
- exposeElementId: true,
2048
- parentGroupFill: getGroupChildParentFill(el),
2049
- onActionClick: el.actionClick ? void 0 : onActionClick,
2050
- actionRequiresModifier: effectiveCanInteract
2051
- },
2052
- child.id
2053
- ),
2054
- onEditChange: onInlineEditChange,
2055
- onCommit: onInlineEditCommit,
2056
- onCancel: onInlineEditCancel,
2057
- onCellSel: cellSelectHandler,
2058
- onCellCommit: cellCommitHandler,
2059
- onColResize: colResizeHandler,
2060
- onRowResize: rowResizeHandler,
2061
- findHl: findHighlights,
2062
- onHyperlinkClick,
2063
- isPresentationPassive,
2064
- handleMediaPlayStateChange,
2065
- presentationElementStates,
2066
- slideElements: activeSlide?.elements,
2067
- allSlides,
2068
- onZoomClick,
2069
- sourceSlideIndex,
2070
- fieldContext,
2071
- tableStyleContext,
2072
- canEditSmartArt,
2073
- onUpdateSmartArtElement: smartArtUpdateHandler,
2074
- canEditChart,
2075
- onUpdateChartElement: chartUpdateHandler,
2076
- onFormatText
2022
+ isFullscreenMedia,
2023
+ isImg: isImg || isModel3D,
2024
+ zIndex,
2025
+ opacity,
2026
+ animationState,
2027
+ shapeVisualStyle: ss,
2028
+ has3DExtrusion: extrusionData.hasExtrusion,
2029
+ templateEditing
2077
2030
  }),
2078
- /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance }),
2079
- effectiveShowResizeHandles && !effectiveIsInlineEditing && /* @__PURE__ */ jsx(
2080
- ResizeHandles,
2081
- {
2082
- elementId: el.id,
2083
- adjustmentHandles: adjH,
2084
- onResizePointerDown,
2085
- onAdjustmentPointerDown,
2086
- rotation: el.rotation,
2087
- nonRotationTransform: getElementTransformWithoutRotation(el),
2088
- onRotate: allow.rotatable ? onRotate : void 0
2089
- }
2090
- )
2091
- ]
2092
- }
2093
- );
2031
+ ...interactionProps,
2032
+ children: [
2033
+ renderDagDuotoneFilterForElement(el),
2034
+ /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
2035
+ extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
2036
+ renderBody({
2037
+ el,
2038
+ isImg,
2039
+ isEditing: effectiveIsInlineEditing,
2040
+ editText: inlineEditingText,
2041
+ spellCheck: spellCheckEnabled,
2042
+ txtSE,
2043
+ txtS: ts,
2044
+ vecShape: vs,
2045
+ imgStyle: getImageRenderStyle(el),
2046
+ imgFilter: getImageEffectsFilter(el),
2047
+ imgOpacity: getImageEffectsOpacity(el),
2048
+ imgAlt: imageAltText,
2049
+ isTxtEl: isTxt,
2050
+ media: mediaDataUrls,
2051
+ tableSt: tableEditorState,
2052
+ isSel: isSelected,
2053
+ doInk,
2054
+ doGrp,
2055
+ renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
2056
+ StaticElementRenderer,
2057
+ {
2058
+ element: child,
2059
+ activeSlide,
2060
+ allSlides,
2061
+ mediaDataUrls,
2062
+ sourceSlideIndex,
2063
+ zIndex: index,
2064
+ animation: presentationElementStates?.get(child.id)?.cssAnimation,
2065
+ exposeElementId: true,
2066
+ parentGroupFill: getGroupChildParentFill(el),
2067
+ onActionClick: el.actionClick ? void 0 : onActionClick,
2068
+ actionRequiresModifier: effectiveCanInteract
2069
+ },
2070
+ child.id
2071
+ ),
2072
+ onEditChange: onInlineEditChange,
2073
+ onCommit: onInlineEditCommit,
2074
+ onCancel: onInlineEditCancel,
2075
+ onCellSel: cellSelectHandler,
2076
+ onCellCommit: cellCommitHandler,
2077
+ onColResize: colResizeHandler,
2078
+ onRowResize: rowResizeHandler,
2079
+ findHl: findHighlights,
2080
+ onHyperlinkClick,
2081
+ isPresentationPassive,
2082
+ handleMediaPlayStateChange,
2083
+ presentationElementStates,
2084
+ slideElements: activeSlide?.elements,
2085
+ allSlides,
2086
+ onZoomClick,
2087
+ sourceSlideIndex,
2088
+ fieldContext,
2089
+ tableStyleContext,
2090
+ canEditSmartArt,
2091
+ onUpdateSmartArtElement: smartArtUpdateHandler,
2092
+ canEditChart,
2093
+ onUpdateChartElement: chartUpdateHandler,
2094
+ onFormatText
2095
+ }),
2096
+ /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance })
2097
+ ]
2098
+ }
2099
+ ),
2100
+ effectiveShowResizeHandles && !effectiveIsInlineEditing && // A SIBLING of the shape's own (possibly clip-path'd) container, not a
2101
+ // child: `clip-path` excludes every descendant from hit-testing, not
2102
+ // just paint, so a handle measured onto a preset vertex outside the
2103
+ // shape's silhouette (see `getHandleHostStyle`) would be unclickable
2104
+ // if nested inside it. `pointerEvents: 'none'` on the host keeps every
2105
+ // non-handle pixel click-through to whatever is actually under it.
2106
+ /* @__PURE__ */ jsx("div", { style: getHandleHostStyle({ el, isFullscreenMedia, zIndex }), children: /* @__PURE__ */ jsx(
2107
+ ResizeHandles,
2108
+ {
2109
+ elementId: el.id,
2110
+ adjustmentHandles: adjH,
2111
+ onResizePointerDown,
2112
+ onAdjustmentPointerDown,
2113
+ rotation: el.rotation,
2114
+ nonRotationTransform: getElementTransformWithoutRotation(el),
2115
+ onRotate: allow.rotatable ? onRotate : void 0,
2116
+ forcePointerEvents: true
2117
+ }
2118
+ ) })
2119
+ ] });
2094
2120
  }
2095
2121
  );
2096
2122
  function renderPressureStroke(pathD, widths, baseWidth, color, opacity, keyPrefix) {
@@ -5846,7 +5872,7 @@ function AccountPage() {
5846
5872
  return void 0;
5847
5873
  });
5848
5874
  };
5849
- const version = "2.22.0" ;
5875
+ const version = "3.0.0" ;
5850
5876
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
5851
5877
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
5852
5878
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
Binary file
Binary file
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRSEZYBKT_js = require('./chunk-RSEZYBKT.js');
3
+ var chunk54SDLPJY_js = require('./chunk-54SDLPJY.js');
4
4
  require('./chunk-WFMSDYVQ.js');
5
5
  var chunk3MW6F3K7_js = require('./chunk-3MW6F3K7.js');
6
6
  var chunkXMLPTDPM_js = require('./chunk-XMLPTDPM.js');
@@ -12,31 +12,31 @@ require('./chunk-4VNS5WPM.js');
12
12
 
13
13
  Object.defineProperty(exports, "PowerPointViewer", {
14
14
  enumerable: true,
15
- get: function () { return chunkRSEZYBKT_js.PowerPointViewer; }
15
+ get: function () { return chunk54SDLPJY_js.PowerPointViewer; }
16
16
  });
17
17
  Object.defineProperty(exports, "SlideCanvas", {
18
18
  enumerable: true,
19
- get: function () { return chunkRSEZYBKT_js.SlideCanvas; }
19
+ get: function () { return chunk54SDLPJY_js.SlideCanvas; }
20
20
  });
21
21
  Object.defineProperty(exports, "SlideTemplateGalleryDialog", {
22
22
  enumerable: true,
23
- get: function () { return chunkRSEZYBKT_js.SlideTemplateGalleryDialog; }
23
+ get: function () { return chunk54SDLPJY_js.SlideTemplateGalleryDialog; }
24
24
  });
25
25
  Object.defineProperty(exports, "SlideTemplatePreview", {
26
26
  enumerable: true,
27
- get: function () { return chunkRSEZYBKT_js.SlideTemplatePreview; }
27
+ get: function () { return chunk54SDLPJY_js.SlideTemplatePreview; }
28
28
  });
29
29
  Object.defineProperty(exports, "Toolbar", {
30
30
  enumerable: true,
31
- get: function () { return chunkRSEZYBKT_js.Toolbar; }
31
+ get: function () { return chunk54SDLPJY_js.Toolbar; }
32
32
  });
33
33
  Object.defineProperty(exports, "ViewerThemeProvider", {
34
34
  enumerable: true,
35
- get: function () { return chunkRSEZYBKT_js.ViewerThemeProvider; }
35
+ get: function () { return chunk54SDLPJY_js.ViewerThemeProvider; }
36
36
  });
37
37
  Object.defineProperty(exports, "useViewerTheme", {
38
38
  enumerable: true,
39
- get: function () { return chunkRSEZYBKT_js.useViewerTheme; }
39
+ get: function () { return chunk54SDLPJY_js.useViewerTheme; }
40
40
  });
41
41
  Object.defineProperty(exports, "renderToCanvas", {
42
42
  enumerable: true,
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-H2ONCGFZ.mjs';
1
+ export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-VGHEHM66.mjs';
2
2
  import './chunk-OB4PKKIN.mjs';
3
3
  export { renderToCanvas, useViewerBuildingBlocks } from './chunk-BGAJLL4N.mjs';
4
4
  export { getAnimationInitialStyle } from './chunk-S6PFSR7I.mjs';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRSEZYBKT_js = require('../chunk-RSEZYBKT.js');
3
+ var chunk54SDLPJY_js = require('../chunk-54SDLPJY.js');
4
4
  require('../chunk-WFMSDYVQ.js');
5
5
  var chunk3MW6F3K7_js = require('../chunk-3MW6F3K7.js');
6
6
  var chunkXMLPTDPM_js = require('../chunk-XMLPTDPM.js');
@@ -12,23 +12,23 @@ require('../chunk-4VNS5WPM.js');
12
12
 
13
13
  Object.defineProperty(exports, "CollaborationProvider", {
14
14
  enumerable: true,
15
- get: function () { return chunkRSEZYBKT_js.CollaborationProvider; }
15
+ get: function () { return chunk54SDLPJY_js.CollaborationProvider; }
16
16
  });
17
17
  Object.defineProperty(exports, "CollaborationStatusIndicator", {
18
18
  enumerable: true,
19
- get: function () { return chunkRSEZYBKT_js.CollaborationStatusIndicator; }
19
+ get: function () { return chunk54SDLPJY_js.CollaborationStatusIndicator; }
20
20
  });
21
21
  Object.defineProperty(exports, "PowerPointViewer", {
22
22
  enumerable: true,
23
- get: function () { return chunkRSEZYBKT_js.PowerPointViewer; }
23
+ get: function () { return chunk54SDLPJY_js.PowerPointViewer; }
24
24
  });
25
25
  Object.defineProperty(exports, "RemoteUserCursors", {
26
26
  enumerable: true,
27
- get: function () { return chunkRSEZYBKT_js.RemoteUserCursors; }
27
+ get: function () { return chunk54SDLPJY_js.RemoteUserCursors; }
28
28
  });
29
29
  Object.defineProperty(exports, "UserAvatarBar", {
30
30
  enumerable: true,
31
- get: function () { return chunkRSEZYBKT_js.UserAvatarBar; }
31
+ get: function () { return chunk54SDLPJY_js.UserAvatarBar; }
32
32
  });
33
33
  Object.defineProperty(exports, "isAudienceTab", {
34
34
  enumerable: true,
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar } from '../chunk-H2ONCGFZ.mjs';
1
+ export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar } from '../chunk-VGHEHM66.mjs';
2
2
  import '../chunk-OB4PKKIN.mjs';
3
3
  export { isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-BGAJLL4N.mjs';
4
4
  export { getAnimationInitialStyle } from '../chunk-S6PFSR7I.mjs';
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "React PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
@@ -78,7 +78,7 @@
78
78
  "clsx": "^2.1.1",
79
79
  "dompurify": "^3.4.13",
80
80
  "html2canvas-pro": "^2.3.2",
81
- "pptx-viewer-mcp": "^2.1.4",
81
+ "pptx-viewer-mcp": "^2.1.5",
82
82
  "tailwind-merge": "^3.6.0"
83
83
  },
84
84
  "devDependencies": {
Binary file
Binary file
Binary file
Binary file