pptx-vue-viewer 4.55.0 → 4.56.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.cjs.br +0 -0
  4. package/dist/index.cjs.gz +0 -0
  5. package/dist/index.d.ts +12 -0
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.br +0 -0
  8. package/dist/index.js.gz +0 -0
  9. package/dist/internals.cjs +1 -1
  10. package/dist/internals.cjs.br +0 -0
  11. package/dist/internals.cjs.gz +0 -0
  12. package/dist/internals.d.ts +6 -0
  13. package/dist/internals.js +1 -1
  14. package/dist/internals.js.br +0 -0
  15. package/dist/internals.js.gz +0 -0
  16. package/dist/pptx-vue-viewer.css +4 -4
  17. package/dist/pptx-vue-viewer.css.br +0 -0
  18. package/dist/pptx-vue-viewer.css.gz +0 -0
  19. package/dist/{useViewerSettingsDialog-D3eAqpfN.cjs → useViewerSettingsDialog-Cyltup2u.cjs} +4 -4
  20. package/dist/useViewerSettingsDialog-Cyltup2u.cjs.br +0 -0
  21. package/dist/{useViewerSettingsDialog-D3eAqpfN.cjs.gz → useViewerSettingsDialog-Cyltup2u.cjs.gz} +0 -0
  22. package/dist/{useViewerSettingsDialog-CUlY9pTL.js → useViewerSettingsDialog-Dyb9VLsa.js} +4 -4
  23. package/dist/useViewerSettingsDialog-Dyb9VLsa.js.br +0 -0
  24. package/dist/useViewerSettingsDialog-Dyb9VLsa.js.gz +0 -0
  25. package/dist/viewer/index.cjs +1 -1
  26. package/dist/viewer/index.cjs.br +0 -0
  27. package/dist/viewer/index.cjs.gz +0 -0
  28. package/dist/viewer/index.d.ts +12 -2
  29. package/dist/viewer/index.js +2 -2
  30. package/dist/viewer/index.js.br +0 -0
  31. package/dist/viewer/index.js.gz +0 -0
  32. package/dist/{viewer-DIyyXtzz.js → viewer-0PdJOxkz.js} +45 -40
  33. package/dist/viewer-0PdJOxkz.js.br +0 -0
  34. package/dist/viewer-0PdJOxkz.js.gz +0 -0
  35. package/dist/{viewer-U2e6K7pU.cjs → viewer-ap4ao7Jn.cjs} +44 -39
  36. package/dist/viewer-ap4ao7Jn.cjs.br +0 -0
  37. package/dist/viewer-ap4ao7Jn.cjs.gz +0 -0
  38. package/dist/{y-webrtc-DydN-o2m.cjs → y-webrtc-Ck7RALK0.cjs} +1 -1
  39. package/dist/y-webrtc-Ck7RALK0.cjs.br +0 -0
  40. package/dist/y-webrtc-Ck7RALK0.cjs.gz +0 -0
  41. package/dist/{y-webrtc-CSP7EHTG.js → y-webrtc-oyvdUhma.js} +1 -1
  42. package/dist/y-webrtc-oyvdUhma.js.br +0 -0
  43. package/dist/y-webrtc-oyvdUhma.js.gz +0 -0
  44. package/package.json +3 -3
  45. package/dist/useViewerSettingsDialog-CUlY9pTL.js.br +0 -0
  46. package/dist/useViewerSettingsDialog-CUlY9pTL.js.gz +0 -0
  47. package/dist/useViewerSettingsDialog-D3eAqpfN.cjs.br +0 -0
  48. package/dist/viewer-DIyyXtzz.js.br +0 -0
  49. package/dist/viewer-DIyyXtzz.js.gz +0 -0
  50. package/dist/viewer-U2e6K7pU.cjs.br +0 -0
  51. package/dist/viewer-U2e6K7pU.cjs.gz +0 -0
  52. package/dist/y-webrtc-CSP7EHTG.js.br +0 -0
  53. package/dist/y-webrtc-CSP7EHTG.js.gz +0 -0
  54. package/dist/y-webrtc-DydN-o2m.cjs.br +0 -0
  55. package/dist/y-webrtc-DydN-o2m.cjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,36 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs releases whenever any published file changes, not only on
8
8
  conventional commits.
9
9
 
10
+ ## [4.56.1](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.56.1) - 2026-10-29
11
+
12
+ ### Bug Fixes
13
+
14
+ - **docx:** Match Word equation heights and list indents, record caret x ([5e51378](https://github.com/ChristopherVR/ooxml/commit/5e51378d484b6f8538d29b7878f260ec8e97f233))
15
+
16
+ ### Testing
17
+
18
+ - **automation:** Snapshot mcp tool names and schemas ([6469eac](https://github.com/ChristopherVR/ooxml/commit/6469eace8bbcdb604c5d9681fccd59e6bc6e68a3))
19
+ - **chart:** Name the accepted native gradient raster gaps ([4b21b72](https://github.com/ChristopherVR/ooxml/commit/4b21b727d63cb6f29c7005cad1e270be388dc128))
20
+ - **chart:** Record native two-stop alpha weighting evidence ([2b0cb3a](https://github.com/ChristopherVR/ooxml/commit/2b0cb3a659c534c50a51e843d7da889edbc34bdd))
21
+ - **automation:** Keep the pptx schema snapshot out of the formatter ([21bac92](https://github.com/ChristopherVR/ooxml/commit/21bac92f9bb8d54b220d8240f53505a7000fed12))
22
+ - **chart:** Record translucent gradients over opaque backdrops ([7afd300](https://github.com/ChristopherVR/ooxml/commit/7afd300d057fea24b019efca945e83bf9b06d6a5))
23
+
24
+ ### Styling
25
+
26
+ - Format files from the stability work ([6ebb965](https://github.com/ChristopherVR/ooxml/commit/6ebb965ec54f2424db7297ff89a1fda5066ea280))
27
+
28
+ ## [4.56.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.56.0) - 2026-10-28
29
+
30
+ ### Features
31
+
32
+ - **pptx:** Add opt-in whole-list conversion with listConversionScope ([#229](https://github.com/ChristopherVR/ooxml/issues/229)) ([bf7be3e](https://github.com/ChristopherVR/ooxml/commit/bf7be3e5cedd7ff9ed9e6cc62b0bd5be7ec363c4))
33
+
34
+ ### Bug Fixes
35
+
36
+ - **pptx:** Resolve viewer lint errors and stale save refs ([4abc45b](https://github.com/ChristopherVR/ooxml/commit/4abc45b210fbf2ce2cd7c4673bdf9d8f14a254be))
37
+ - **pptx:** Stretch textPlain WordArt to fill its shape ([#226](https://github.com/ChristopherVR/ooxml/issues/226)) ([120d3ce](https://github.com/ChristopherVR/ooxml/commit/120d3ce4e4e4dd8c5830902230fabb5e2c8dcfe7))
38
+ - **pptx:** Keep the timed advance of a slide with no transition ([df75415](https://github.com/ChristopherVR/ooxml/commit/df75415df55557f9366732550540a149821ab939))
39
+
10
40
  ## [4.55.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.55.0) - 2026-10-28
11
41
 
12
42
  ### Features
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-D3eAqpfN.cjs"), r = require("./viewer-U2e6K7pU.cjs"), t = require("./useAiPanelController-aOhIHxkq.cjs");
2
+ const e = require("./useViewerSettingsDialog-Cyltup2u.cjs"), r = require("./viewer-ap4ao7Jn.cjs"), t = require("./useAiPanelController-aOhIHxkq.cjs");
3
3
  let n = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "AUDIENCE_HASH", {
5
5
  enumerable: !0,
package/dist/index.cjs.br CHANGED
Binary file
package/dist/index.cjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -51,6 +51,7 @@ import { isAudienceTab } from 'ooxml-ui/pptx';
51
51
  import { isLegacyBinaryPresentation } from 'ooxml-ui/pptx';
52
52
  import { isSupportedPresentationFile } from 'ooxml-ui/pptx';
53
53
  import { KeyboardCustomization } from 'ooxml-ui/pptx';
54
+ import { ListConversionScope } from 'ooxml-ui/pptx';
54
55
  import { loadAudienceContent } from 'ooxml-ui/pptx';
55
56
  import { loadSessionDeck } from 'ooxml-ui/pptx';
56
57
  import { LocaleCatalogEntry } from 'ooxml-ui/pptx/i18n';
@@ -688,6 +689,8 @@ export declare interface LayoutOption {
688
689
  name: string;
689
690
  }
690
691
 
692
+ export { ListConversionScope }
693
+
691
694
  export { loadAudienceContent }
692
695
 
693
696
  export { loadSessionDeck }
@@ -982,6 +985,15 @@ export declare interface PowerPointViewerProps {
982
985
  * invalid `baseUrl` disables the fallback (with a console warning).
983
986
  */
984
987
  googleFonts?: GoogleFontsOption;
988
+ /**
989
+ * How far Bullets / Numbering reaches when the text caret has no selection.
990
+ * `'paragraph'` (the default, PowerPoint behaviour): only the caret's
991
+ * paragraph changes. `'list'` (opt-in, word-processor behaviour): when the
992
+ * caret switches a list paragraph between bullets and numbering, the whole
993
+ * adjacent list converts with it. A range selection always affects exactly
994
+ * the selected paragraphs. Unset means `'paragraph'`.
995
+ */
996
+ listConversionScope?: ListConversionScope;
985
997
  /**
986
998
  * Host switch for content a deck links from another server (http(s)
987
999
  * relationship targets): pictures, picture fills and bullets, video, audio
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { An as a, C as s, S as o, ct as e, kn as r, pt as i, w as t, x as l } from "./useViewerSettingsDialog-CUlY9pTL.js";
2
- import { A as n, C as m, D as p, E as S, F as d, M as w, N as C, O as b, P as u, T as f, _ as P, a as c, b as g, c as j, d as v, f as x, g as A, h as R, i as k, j as y, k as D, l as E, m as F, o as M, p as O, s as T, u as V, v as h, w as B, y as I } from "./viewer-DIyyXtzz.js";
1
+ import { An as a, C as s, S as o, ct as e, kn as r, pt as i, w as t, x as l } from "./useViewerSettingsDialog-Dyb9VLsa.js";
2
+ import { A as n, C as m, D as p, E as S, F as d, M as w, N as C, O as b, P as u, T as f, _ as P, a as c, b as g, c as j, d as v, f as x, g as A, h as R, i as k, j as y, k as D, l as E, m as F, o as M, p as O, s as T, u as V, v as h, w as B, y as I } from "./viewer-0PdJOxkz.js";
3
3
  import { n as N } from "./useAiPanelController-B4pdPnXc.js";
4
4
  import { BACKSTAGE_CARD_IDS as _, BACKSTAGE_PAGE_IDS as q, CANVAS_CONTEXT_MENU_COMMAND_IDS as z, EDITOR_SHORTCUT_ACTION_IDS as G, ELEMENT_CONTEXT_MENU_COMMAND_IDS as H, OPTIONS_PAGE_IDS as J, OPTIONS_SECTION_IDS as K, OPTIONS_SETTING_IDS as L, PPTX_OPEN_ACCEPT as Q, PRESENTATION_OPEN_EXTENSIONS as U, RIBBON_TAB_IDS as W, TOOLBAR_BUTTON_IDS as X, VIEWER_DIALOG_IDS as Y, VIEWER_EXPORT_FORMAT_IDS as Z, VIEWER_FEATURE_IDS as $, VIEWER_PANEL_IDS as aa, createImageElementFromFile as sa, describeCollaborationShellState as oa, forgetSessionDeck as ea, getSessionTabId as ra, isLegacyBinaryPresentation as ia, isSupportedPresentationFile as ta, loadSessionDeck as la, parsePresentationSessionId as na, presentationBaseName as ma, rememberSessionDeck as pa, restoreSessionDeck as Sa, savedPresentationFileName as da } from "ooxml-ui/pptx";
5
5
  export { v as AUDIENCE_HASH, _ as BACKSTAGE_CARD_IDS, q as BACKSTAGE_PAGE_IDS, z as CANVAS_CONTEXT_MENU_COMMAND_IDS, h as CollaborationCursors, m as CollaborationStatusIndicator, G as EDITOR_SHORTCUT_ACTION_IDS, H as ELEMENT_CONTEXT_MENU_COMMAND_IDS, a as ElementRenderer, V as FollowModeBar, J as OPTIONS_PAGE_IDS, K as OPTIONS_SECTION_IDS, L as OPTIONS_SETTING_IDS, Q as PPTX_OPEN_ACCEPT, U as PRESENTATION_OPEN_EXTENSIONS, j as PowerPointViewer, W as RIBBON_TAB_IDS, P as RemoteSelectionOverlay, g as RibbonToolbar, I as SlideCanvas, r as SlideStage, E as SlidesPane, X as TOOLBAR_BUTTON_IDS, Y as VIEWER_DIALOG_IDS, Z as VIEWER_EXPORT_FORMAT_IDS, $ as VIEWER_FEATURE_IDS, aa as VIEWER_PANEL_IDS, x as clearAudienceContent, N as cn, sa as createImageElementFromFile, p as defaultCssVars, u as defaultRadius, d as defaultThemeColors, oa as describeCollaborationShellState, l as exportAllSlidesToSvg, o as exportAllSlidesToSvgBlobs, s as exportSlideToSvg, t as exportSlideToSvgBlob, ea as forgetSessionDeck, ra as getSessionTabId, O as isAudienceTab, ia as isLegacyBinaryPresentation, ta as isSupportedPresentationFile, F as loadAudienceContent, la as loadSessionDeck, R as parseAudienceNonce, na as parsePresentationSessionId, ma as presentationBaseName, B as provideViewerTheme, pa as rememberSessionDeck, e as renderToCanvas, Sa as restoreSessionDeck, da as savedPresentationFileName, A as storeAudienceContent, b as themeToCssVars, i as useCollaboration, k as useCollaborativeHistory, c as useCollaborativeState, M as usePresenceTracking, f as useThemeStyle, S as useViewerTheme, T as useYjsProvider, D as vermilionDarkColors, n as vermilionDarkTheme, y as vermilionLightColors, w as vermilionLightTheme, C as vermilionRadius };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-D3eAqpfN.cjs");
2
+ const e = require("./useViewerSettingsDialog-Cyltup2u.cjs");
3
3
  let t = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "CINEMATIC_TRANSITION_KEYFRAMES", {
5
5
  enumerable: !0,
Binary file
Binary file
@@ -65,6 +65,7 @@ import { InsertChartKind } from 'ooxml-ui/pptx';
65
65
  import { InsertChartOptions } from 'ooxml-ui/pptx';
66
66
  import { INSTANT } from 'ooxml-ui/pptx';
67
67
  import { isMobileViewport } from 'ooxml-ui/pptx';
68
+ import { ListConversionScope } from 'ooxml-ui/pptx';
68
69
  import { LoadLimitTranslate } from 'ooxml-ui/pptx';
69
70
  import { MasterViewTab } from 'ooxml-core/pptx';
70
71
  import { MaybeRefOrGetter } from 'vue';
@@ -3656,6 +3657,11 @@ export declare interface UseRibbonActionsInput {
3656
3657
  readInlineSnapshot?: () => InlineTextEditSnapshot | undefined;
3657
3658
  formatInlineSnapshot?: (snapshot: InlineTextEditSnapshot) => boolean;
3658
3659
  endInlineListSession?: () => void;
3660
+ /**
3661
+ * The host `listConversionScope` prop, read at command time. Unset keeps the
3662
+ * shared default (`'paragraph'`).
3663
+ */
3664
+ listConversionScope?: () => ListConversionScope | undefined;
3659
3665
  canEdit: () => boolean;
3660
3666
  presenting: Ref<boolean>;
3661
3667
  showMasterView: Ref<boolean>;
package/dist/internals.js CHANGED
@@ -1 +1 @@
1
- export { Dt as CINEMATIC_TRANSITION_KEYFRAMES, i as DEFAULT_MAX_VERSIONS, Ot as DEFAULT_MORPH_DURATION_MS, mr as DEFAULT_RENDERING_3D_FLAGS, kt as DEFAULT_TRANSITION_DURATION_MS, At as EASE, Zt as ERASER_RADIUS, Tt as FragmentedTransitionLayer, Qt as HIGHLIGHTER_OPACITY, $t as HIGHLIGHTER_WIDTH, jt as INSTANT, bn as MOBILE_BREAKPOINT, xn as MOBILE_LANDSCAPE_MAX_HEIGHT, wt as MorphExtraLayers, $ as NUDGE_LARGE, et as NUDGE_SMALL, Mt as P14_TRANSITION_KEYFRAMES, Nt as P14_TRANSITION_KEYFRAMES_2, Pt as P14_TRANSITION_KEYFRAMES_ALL, en as PEN_WIDTH, Ct as PresentationTransitionOverlay, Ft as RANDOM_ELIGIBLE_TYPES, _ as RIBBON_ALIGN, hr as Rendering3DFlagsKey, It as SLIDE_TRANSITION_KEYFRAMES, Lt as SLIDE_TRANSITION_KEYFRAMES_CSS, fn as SMARTART_COLOR_SCHEMES, pn as SMARTART_STYLE_OPTIONS, Sn as TABLET_BREAKPOINT, Rt as TRANSITION_SPEED_DURATION_MS, Vn as TableSelectionKey, zt as WHEEL_SPOKE_COUNTS, in as buildClickGroups, Hn as computeCellSelection, _n as computeDocumentStatistics, bt as computeElapsed, vn as countWords, tn as createStroke, nn as eraseStrokesAtPoint, xt as formatRehearseMs, ut as generateCommentId, Bt as getCinematicTransitionAnimations, Vt as getP14TransitionAnimations, Ht as getSlideTransitionAnimations, Un as injectTableSelection, Jn as inlineEditorRect, Cn as isMobileViewport, Yn as nodeIdsInRenderOrder, A as parseSignaturesFromBuffer, Wn as provideTableSelection, Ut as resolveDirection, Wt as resolveDirection8, Gt as resolveOrientation, tt as resolveShortcutAction, Kt as resolveSlideTransition, qt as resolveTransitionDurationMs, Jt as resolveWheelSpokeCount, mn as smartArtLayoutLabel, Xn as textNodeIdsInRenderOrder, v as toShapePreset, vt as useAccessibility, _t as useAlignGroup, an as useAnimationPlayback, gt as useAutosave, gn as useChartEditing, pt as useCollaboration, ft as useCollaborationWiring, sr as useColorChangeImage, dt as useComments, lt as useCommentsWiring, st as useContextMenu, ot as useCustomShows, at as useCustomShowsWiring, hn as useDebouncedCallback, it as useDocumentPropertiesDialog, yn as useDocumentStatistics, rt as useEditorHistory, Q as useEditorKeyboard, Z as useEditorOperations, X as useElementDrag, Y as useElementInsertion, J as useEmbeddedFonts, q as useExport, K as useExportProgress, W as useExportWiring, U as useFindReplace, H as useFontEmbedding, V as useFormatPainter, B as useHeaderFooterDialog, z as useInkDrawing, L as useInlineEditing, I as useInsertElementDialogs, wn as useIsMobile, F as useKeyboardInsets, nt as useKeyboardShortcuts, j as useLoadContent, k as useMasterViewState, G as useMediaExport, O as useMobileChrome, er as useModel3dScene, Et as useMorphTransitionOverlay, D as useMultiSelectOps, E as usePasswordProtection, rn as usePresentationAnnotations, T as usePresentationModeWiring, b as usePrint, St as useRehearseTimings, gr as useRendering3DFlags, y as useRibbonActions, n as useRibbonProps, g as useRibbonUiState, h as useSectionOperations, m as useSelectionPaneWiring, Ar as useSheetDismissDrag, p as useSignatureWorkflow, yt as useSignatures, f as useSlideMutations, d as useSlideOperations, u as useSlideShowSettings, l as useSlideTemplateInsertion, dn as useSmartArtEditing, qn as useSmartArtHoverRect, Zn as useSmartArtInlineEditState, c as useSmartArtNodeEditContext, s as useTableCellEditingContext, Gn as useTableCellSelection, o as useThemeEditing, Xt as useToolbarAutoHide, Dn as useToolbarVisibility, Yt as useTouchGestures, a as useVersionHistory, r as useVersionHistoryWiring, t as useViewerSettingsDialog } from "./useViewerSettingsDialog-CUlY9pTL.js";
1
+ export { Dt as CINEMATIC_TRANSITION_KEYFRAMES, i as DEFAULT_MAX_VERSIONS, Ot as DEFAULT_MORPH_DURATION_MS, mr as DEFAULT_RENDERING_3D_FLAGS, kt as DEFAULT_TRANSITION_DURATION_MS, At as EASE, Zt as ERASER_RADIUS, Tt as FragmentedTransitionLayer, Qt as HIGHLIGHTER_OPACITY, $t as HIGHLIGHTER_WIDTH, jt as INSTANT, bn as MOBILE_BREAKPOINT, xn as MOBILE_LANDSCAPE_MAX_HEIGHT, wt as MorphExtraLayers, $ as NUDGE_LARGE, et as NUDGE_SMALL, Mt as P14_TRANSITION_KEYFRAMES, Nt as P14_TRANSITION_KEYFRAMES_2, Pt as P14_TRANSITION_KEYFRAMES_ALL, en as PEN_WIDTH, Ct as PresentationTransitionOverlay, Ft as RANDOM_ELIGIBLE_TYPES, _ as RIBBON_ALIGN, hr as Rendering3DFlagsKey, It as SLIDE_TRANSITION_KEYFRAMES, Lt as SLIDE_TRANSITION_KEYFRAMES_CSS, fn as SMARTART_COLOR_SCHEMES, pn as SMARTART_STYLE_OPTIONS, Sn as TABLET_BREAKPOINT, Rt as TRANSITION_SPEED_DURATION_MS, Vn as TableSelectionKey, zt as WHEEL_SPOKE_COUNTS, in as buildClickGroups, Hn as computeCellSelection, _n as computeDocumentStatistics, bt as computeElapsed, vn as countWords, tn as createStroke, nn as eraseStrokesAtPoint, xt as formatRehearseMs, ut as generateCommentId, Bt as getCinematicTransitionAnimations, Vt as getP14TransitionAnimations, Ht as getSlideTransitionAnimations, Un as injectTableSelection, Jn as inlineEditorRect, Cn as isMobileViewport, Yn as nodeIdsInRenderOrder, A as parseSignaturesFromBuffer, Wn as provideTableSelection, Ut as resolveDirection, Wt as resolveDirection8, Gt as resolveOrientation, tt as resolveShortcutAction, Kt as resolveSlideTransition, qt as resolveTransitionDurationMs, Jt as resolveWheelSpokeCount, mn as smartArtLayoutLabel, Xn as textNodeIdsInRenderOrder, v as toShapePreset, vt as useAccessibility, _t as useAlignGroup, an as useAnimationPlayback, gt as useAutosave, gn as useChartEditing, pt as useCollaboration, ft as useCollaborationWiring, sr as useColorChangeImage, dt as useComments, lt as useCommentsWiring, st as useContextMenu, ot as useCustomShows, at as useCustomShowsWiring, hn as useDebouncedCallback, it as useDocumentPropertiesDialog, yn as useDocumentStatistics, rt as useEditorHistory, Q as useEditorKeyboard, Z as useEditorOperations, X as useElementDrag, Y as useElementInsertion, J as useEmbeddedFonts, q as useExport, K as useExportProgress, W as useExportWiring, U as useFindReplace, H as useFontEmbedding, V as useFormatPainter, B as useHeaderFooterDialog, z as useInkDrawing, L as useInlineEditing, I as useInsertElementDialogs, wn as useIsMobile, F as useKeyboardInsets, nt as useKeyboardShortcuts, j as useLoadContent, k as useMasterViewState, G as useMediaExport, O as useMobileChrome, er as useModel3dScene, Et as useMorphTransitionOverlay, D as useMultiSelectOps, E as usePasswordProtection, rn as usePresentationAnnotations, T as usePresentationModeWiring, b as usePrint, St as useRehearseTimings, gr as useRendering3DFlags, y as useRibbonActions, n as useRibbonProps, g as useRibbonUiState, h as useSectionOperations, m as useSelectionPaneWiring, Ar as useSheetDismissDrag, p as useSignatureWorkflow, yt as useSignatures, f as useSlideMutations, d as useSlideOperations, u as useSlideShowSettings, l as useSlideTemplateInsertion, dn as useSmartArtEditing, qn as useSmartArtHoverRect, Zn as useSmartArtInlineEditState, c as useSmartArtNodeEditContext, s as useTableCellEditingContext, Gn as useTableCellSelection, o as useThemeEditing, Xt as useToolbarAutoHide, Dn as useToolbarVisibility, Yt as useTouchGestures, a as useVersionHistory, r as useVersionHistoryWiring, t as useViewerSettingsDialog } from "./useViewerSettingsDialog-Dyb9VLsa.js";
Binary file
Binary file
@@ -593,7 +593,7 @@
593
593
  }
594
594
 
595
595
 
596
- .pptx-vue-wordart[data-v-78ebd404] {
596
+ .pptx-vue-wordart[data-v-b88e2f24] {
597
597
  position: absolute;
598
598
  inset: 0;
599
599
  overflow: visible;
@@ -1414,7 +1414,7 @@
1414
1414
  * in `PowerPointViewer.vue`; identical values, just no longer restated on every
1415
1415
  * render.
1416
1416
  */
1417
- .pptx-vue-master-overlay[data-v-8bf64893] {
1417
+ .pptx-vue-master-overlay[data-v-5995dd7c] {
1418
1418
  position: fixed;
1419
1419
  inset: 0;
1420
1420
  z-index: 1000;
@@ -1428,12 +1428,12 @@
1428
1428
  * The selection overlay positions its handles in scaled slide space, so it has
1429
1429
  * to share an origin with the stage it decorates.
1430
1430
  */
1431
- .pptx-vue-master-stage[data-v-8bf64893] {
1431
+ .pptx-vue-master-stage[data-v-5995dd7c] {
1432
1432
  position: relative;
1433
1433
  flex: none;
1434
1434
  }
1435
1435
 
1436
- .pptx-vue-master-canvas[data-v-8bf64893] {
1436
+ .pptx-vue-master-canvas[data-v-5995dd7c] {
1437
1437
  display: flex;
1438
1438
  flex: 1;
1439
1439
  min-width: 0;
Binary file
Binary file
@@ -4092,7 +4092,7 @@ var jl = ["d", "fill"], Ul = [
4092
4092
  text: e.text,
4093
4093
  font: m(e),
4094
4094
  segmentIndex: t
4095
- }))), l.value, a.value, t.value?.textStyle?.align, r.value, i.value, _l);
4095
+ }))), l.value, a.value, t.value?.textStyle?.align, r.value, i.value, _l, t.value?.textStyle);
4096
4096
  return o.value.map((t, n) => ({
4097
4097
  lineIndex: n,
4098
4098
  glyphs: e[n] ?? [],
@@ -4167,7 +4167,7 @@ var jl = ["d", "fill"], Ul = [
4167
4167
  "text-decoration": S(e).textDecoration
4168
4168
  }, (0, p.toDisplayString)(e.text), 9, Ql))), 128))], 8, Jl)], 8, Zl))), 128))], 12, Yl)) : (0, p.createCommentVNode)("", !0);
4169
4169
  }
4170
- }), [["__scopeId", "data-v-78ebd404"]]), na = Symbol("pptx-vue-zoom-navigation");
4170
+ }), [["__scopeId", "data-v-b88e2f24"]]), na = Symbol("pptx-vue-zoom-navigation");
4171
4171
  function oa(e) {
4172
4172
  (0, p.provide)(na, e);
4173
4173
  }
@@ -5753,7 +5753,7 @@ function yr(e) {
5753
5753
  var gr = {
5754
5754
  loadYjs: () => import("yjs"),
5755
5755
  loadWebsocket: () => import("y-websocket"),
5756
- loadWebrtc: () => Promise.resolve().then(() => require("./y-webrtc-DydN-o2m.cjs"))
5756
+ loadWebrtc: () => Promise.resolve().then(() => require("./y-webrtc-Ck7RALK0.cjs"))
5757
5757
  };
5758
5758
  function kr(e, t) {
5759
5759
  const n = (0, p.ref)(!1), o = (0, p.ref)(!1), l = (0, p.ref)(void 0), a = (0, d.createCollaborationLivePatcher)();
@@ -8358,7 +8358,7 @@ function Ri(e) {
8358
8358
  if (v?.textSegments && e.formatInlineSnapshot) {
8359
8359
  const t = (0, d.getInlineEditorSelectionResult)(v.textSegments, { preserveCaret: void 0 !== n.listType });
8360
8360
  if ("unsupported" === t.kind) return;
8361
- const l = (0, d.buildInlineListStylePatch)(h, n, t.selection), a = {
8361
+ const l = (0, d.buildInlineListStylePatch)(h, n, t.selection, { listConversionScope: e.listConversionScope?.() }), a = {
8362
8362
  ...h,
8363
8363
  ...l
8364
8364
  };
@@ -4095,7 +4095,7 @@ var um = ["d", "fill"], dm = [
4095
4095
  text: e.text,
4096
4096
  font: c(e),
4097
4097
  segmentIndex: t
4098
- }))), l.value, i.value, t.value?.textStyle?.align, o.value, r.value, sm);
4098
+ }))), l.value, i.value, t.value?.textStyle?.align, o.value, r.value, sm, t.value?.textStyle);
4099
4099
  return a.value.map((t, n) => ({
4100
4100
  lineIndex: n,
4101
4101
  glyphs: e[n] ?? [],
@@ -4170,7 +4170,7 @@ var um = ["d", "fill"], dm = [
4170
4170
  "text-decoration": x(e).textDecoration
4171
4171
  }, gs(e.text), 9, Sm))), 128))], 8, wm)], 8, xm))), 128))], 12, ym)) : jr("", !0);
4172
4172
  }
4173
- }), [["__scopeId", "data-v-78ebd404"]]), Em = Symbol("pptx-vue-zoom-navigation");
4173
+ }), [["__scopeId", "data-v-b88e2f24"]]), Em = Symbol("pptx-vue-zoom-navigation");
4174
4174
  function Im(e) {
4175
4175
  ds(Em, e);
4176
4176
  }
@@ -5755,7 +5755,7 @@ function Gf(e) {
5755
5755
  var jf = {
5756
5756
  loadYjs: () => import("yjs"),
5757
5757
  loadWebsocket: () => import("y-websocket"),
5758
- loadWebrtc: () => import("./y-webrtc-CSP7EHTG.js")
5758
+ loadWebrtc: () => import("./y-webrtc-oyvdUhma.js")
5759
5759
  };
5760
5760
  function Vf(e, t) {
5761
5761
  const n = vs(!1), a = vs(!1), l = vs(void 0), i = Jt();
@@ -8360,7 +8360,7 @@ function dy(e) {
8360
8360
  if (p?.textSegments && e.formatInlineSnapshot) {
8361
8361
  const t = Ia(p.textSegments, { preserveCaret: void 0 !== n.listType });
8362
8362
  if ("unsupported" === t.kind) return;
8363
- const l = Ue(f, n, t.selection), i = {
8363
+ const l = Ue(f, n, t.selection, { listConversionScope: e.listConversionScope?.() }), i = {
8364
8364
  ...f,
8365
8365
  ...l
8366
8366
  };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("../useViewerSettingsDialog-D3eAqpfN.cjs"), t = require("../viewer-U2e6K7pU.cjs");
2
+ const e = require("../useViewerSettingsDialog-Cyltup2u.cjs"), t = require("../viewer-ap4ao7Jn.cjs");
3
3
  let r = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "AUDIENCE_HASH", {
5
5
  enumerable: !0,
Binary file
Binary file
@@ -45,6 +45,7 @@ import { InlineTextEditSnapshot } from 'ooxml-ui/pptx';
45
45
  import { InsertChartKind } from 'ooxml-ui/pptx';
46
46
  import { InsertChartOptions } from 'ooxml-ui/pptx';
47
47
  import { isAudienceTab } from 'ooxml-ui/pptx';
48
+ import { ListConversionScope } from 'ooxml-ui/pptx';
48
49
  import { loadAudienceContent } from 'ooxml-ui/pptx';
49
50
  import { LoadLimitTranslate } from 'ooxml-ui/pptx';
50
51
  import { LocaleCatalogEntry } from 'ooxml-ui/pptx/i18n';
@@ -543,7 +544,7 @@ declare type __VLS_Props_13 = {
543
544
  * WordArtText - Vue port of the React `WarpedText` SVG renderer.
544
545
  *
545
546
  * Renders warped (WordArt) text. Every classified preset (`textNoShape` /
546
- * `textPlain` / unknown excluded) renders along an SVG `<textPath>` baseline
547
+ * unknown excluded) renders along an SVG `<textPath>` baseline
547
548
  * built by {@link shouldUseSvgWarp} + `buildWarpPath`: arch/wave/circle/
548
549
  * triangle/chevron/ring/curve, and (as of the WordArt envelope fidelity fix)
549
550
  * inflate/deflate/can/slant/fade/cascade too, matching React and Vanilla.
@@ -557,7 +558,7 @@ declare type __VLS_Props_13 = {
557
558
  * and Vanilla already rendered them as true SVG textPath - a cross-binding
558
559
  * parity bug this component no longer has.
559
560
  *
560
- * Presets that are not classified (`textNoShape`, `textPlain`, unknown values)
561
+ * Presets that are not classified (`textNoShape`, unknown values)
561
562
  * cause the component to render nothing; callers fall back to flat text. The
562
563
  * overlay is absolutely positioned to fill the host box and is
563
564
  * `pointer-events: none` so it overlays without intercepting interaction.
@@ -1596,6 +1597,15 @@ export declare interface PowerPointViewerProps {
1596
1597
  * invalid `baseUrl` disables the fallback (with a console warning).
1597
1598
  */
1598
1599
  googleFonts?: GoogleFontsOption;
1600
+ /**
1601
+ * How far Bullets / Numbering reaches when the text caret has no selection.
1602
+ * `'paragraph'` (the default, PowerPoint behaviour): only the caret's
1603
+ * paragraph changes. `'list'` (opt-in, word-processor behaviour): when the
1604
+ * caret switches a list paragraph between bullets and numbering, the whole
1605
+ * adjacent list converts with it. A range selection always affects exactly
1606
+ * the selected paragraphs. Unset means `'paragraph'`.
1607
+ */
1608
+ listConversionScope?: ListConversionScope;
1599
1609
  /**
1600
1610
  * Host switch for content a deck links from another server (http(s)
1601
1611
  * relationship targets): pictures, picture fills and bullets, video, audio
@@ -1,3 +1,3 @@
1
- import { $n as a, An as s, C as e, Cr as r, Er as n, Fn as o, Kn as t, L as l, M as i, N as d, P as R, Qn as S, Rn as m, S as C, Sr as b, Tr as w, X as c, Z as v, br as x, cr as p, d as u, h as T, j as g, jn as j, kn as y, lr as E, nr as P, pt as f, rt as h, tr as A, vr as I, w as M, wr as O, x as k, xr as D, yr as F } from "../useViewerSettingsDialog-CUlY9pTL.js";
2
- import { C as V, S as Z, _ as q, a as B, b as K, c as L, d as N, f as Q, g as W, h as X, i as $, l as _, m as z, n as G, o as H, p as J, r as U, s as Y, t as aa, u as sa, v as ea, x as ra, y as na } from "../viewer-DIyyXtzz.js";
1
+ import { $n as a, An as s, C as e, Cr as r, Er as n, Fn as o, Kn as t, L as l, M as i, N as d, P as R, Qn as S, Rn as m, S as C, Sr as b, Tr as w, X as c, Z as v, br as x, cr as p, d as u, h as T, j as g, jn as j, kn as y, lr as E, nr as P, pt as f, rt as h, tr as A, vr as I, w as M, wr as O, x as k, xr as D, yr as F } from "../useViewerSettingsDialog-Dyb9VLsa.js";
2
+ import { C as V, S as Z, _ as q, a as B, b as K, c as L, d as N, f as Q, g as W, h as X, i as $, l as _, m as z, n as G, o as H, p as J, r as U, s as Y, t as aa, u as sa, v as ea, x as ra, y as na } from "../viewer-0PdJOxkz.js";
3
3
  export { N as AUDIENCE_HASH, E as ChartRenderer, ea as CollaborationCursors, V as CollaborationStatusIndicator, p as ConnectorRenderer, b as DEFAULT_CANVAS_HEIGHT, r as DEFAULT_CANVAS_WIDTH, O as DEFAULT_FILL_COLOR, w as DEFAULT_STROKE_COLOR, n as DEFAULT_TEXT_COLOR, s as ElementRenderer, P as EquationRenderer, sa as FollowModeBar, A as InkRenderer, Z as InlineTextEditor, a as Model3DRenderer, S as OleRenderer, L as PowerPointViewer, q as RemoteSelectionOverlay, K as RibbonToolbar, ra as SelectionOverlay, na as SlideCanvas, y as SlideStage, _ as SlidesPane, t as SmartArtRenderer, m as TableRenderer, o as WordArtText, j as ZoomRenderer, i as buildInitialGuides, Q as clearAudienceContent, d as collectImagePaths, R as collectMediaElements, k as exportAllSlidesToSvg, C as exportAllSlidesToSvgBlobs, e as exportSlideToSvg, M as exportSlideToSvgBlob, I as getContainerStyle, F as getImageSrc, G as getResolvedShapeClipPath, U as getResolvedShapeClipPathFor, x as getShapeFillStrokeStyle, D as getTextBlockStyle, J as isAudienceTab, z as loadAudienceContent, aa as overlayInlineTextSnapshot, X as parseAudienceNonce, W as storeAudienceContent, f as useCollaboration, $ as useCollaborativeHistory, B as useCollaborativeState, h as useEditorHistory, v as useEditorOperations, c as useElementDrag, l as useInlineEditing, g as useLoadContent, H as usePresenceTracking, T as useSectionOperations, u as useSlideOperations, Y as useYjsProvider };
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { Ar as e, B as t, Bn as n, Ct as o, D as a, Dn as l, Dr as i, E as r, En as s, F as d, H as p, I as u, In as c, J as m, L as v, Ln as x, Mn as g, Nn as b, O as h, On as y, Or as f, Pn as S, Q as w, R as k, St as C, T as F, Tn as T, U as E, Un as P, V as I, W as A, X as _, Xt as M, Y as B, Yt as D, Z as O, _n as z, _r as R, _t as U, an as L, ar as H, at as N, b as V, c as $, cn as K, ct as G, d as j, dn as q, dr as W, f as Y, fn as X, fr as Z, ft as Q, g as J, gn as ee, gt as te, h as ne, hn as oe, hr as ae, ht as le, ir as ie, it as re, j as se, jr as de, k as pe, kn as ue, kr as ce, l as me, ln as ve, lt as xe, m as ge, mn as be, mt as he, n as ye, o as fe, on as Se, or as we, p as ke, pn as Ce, pr as Fe, pt as Te, r as Ee, rn as Pe, rr as Ie, rt as Ae, s as _e, sn as Me, st as Be, t as De, u as Oe, un as ze, ur as Re, vt as Ue, wn as Le, xt as He, y as Ne, yt as Ve, z as $e, zn as Ke } from "./useViewerSettingsDialog-CUlY9pTL.js";
1
+ import { Ar as e, B as t, Bn as n, Ct as o, D as a, Dn as l, Dr as i, E as r, En as s, F as d, H as p, I as u, In as c, J as m, L as v, Ln as x, Mn as g, Nn as b, O as h, On as y, Or as f, Pn as S, Q as w, R as k, St as C, T as F, Tn as T, U as E, Un as P, V as I, W as A, X as _, Xt as M, Y as B, Yt as D, Z as O, _n as z, _r as R, _t as U, an as L, ar as H, at as N, b as V, c as $, cn as K, ct as G, d as j, dn as q, dr as W, f as Y, fn as X, fr as Z, ft as Q, g as J, gn as ee, gt as te, h as ne, hn as oe, hr as ae, ht as le, ir as ie, it as re, j as se, jr as de, k as pe, kn as ue, kr as ce, l as me, ln as ve, lt as xe, m as ge, mn as be, mt as he, n as ye, o as fe, on as Se, or as we, p as ke, pn as Ce, pr as Fe, pt as Te, r as Ee, rn as Pe, rr as Ie, rt as Ae, s as _e, sn as Me, st as Be, t as De, u as Oe, un as ze, ur as Re, vt as Ue, wn as Le, xt as He, y as Ne, yt as Ve, z as $e, zn as Ke } from "./useViewerSettingsDialog-Dyb9VLsa.js";
2
2
  import { n as Ge, t as je } from "./useController-DFsGhUrb.js";
3
3
  import { n as qe, t as We } from "./ai-Cc4rHzx2.js";
4
4
  import { n as Ye, t as Xe } from "./useAiPanelController-B4pdPnXc.js";
@@ -1548,55 +1548,56 @@ var Py = ["data-selection-for"], Iy = ["onPointerdown"], Ay = ["aria-label", "on
1548
1548
  notesMaster: {},
1549
1549
  notesCanvasSize: {},
1550
1550
  handoutMaster: {},
1551
- canEdit: { type: Boolean }
1551
+ canEdit: { type: Boolean },
1552
+ listConversionScope: {}
1552
1553
  },
1553
1554
  setup(e, { expose: t }) {
1554
- const n = e, { t: o } = Ge(), a = fx([]), { editingId: l, editingText: i, editingElement: r, listSession: s, formatText: d, updateEditingText: p, beginInlineEdit: u, commitInlineEdit: c, cancelInlineEdit: m, readInlineSnapshot: v } = function(e, t) {
1555
- const n = fx(null), o = fx(""), a = Cx(), l = Yv(() => n.value ? e().activeMasterViewElements.value.find((e) => e.id === n.value) : void 0), i = ce(() => l.value, r);
1556
- function r() {
1557
- n.value = null, a.value = void 0;
1555
+ const n = e, { t: o } = Ge(), a = fx([]), { editingId: l, editingText: i, editingElement: r, listSession: s, formatText: d, updateEditingText: p, beginInlineEdit: u, commitInlineEdit: c, cancelInlineEdit: m, readInlineSnapshot: v } = function(e, t, n = () => {}) {
1556
+ const o = fx(null), a = fx(""), l = Cx(), i = Yv(() => o.value ? e().activeMasterViewElements.value.find((e) => e.id === o.value) : void 0), r = ce(() => i.value, s);
1557
+ function s() {
1558
+ o.value = null, l.value = void 0;
1558
1559
  }
1559
1560
  return {
1560
- editingId: n,
1561
- editingText: o,
1562
- editingElement: l,
1563
- listSession: i,
1564
- formatText: function(n) {
1565
- const o = l.value, r = a.value;
1566
- if (!(t() && o && (0, de.hasTextProperties)(o) && r?.textSegments && r.elementId === o.id)) return;
1567
- const s = ys(r.textSegments, { preserveCaret: void 0 !== n.listType });
1568
- if ("supported" !== s.kind) return;
1569
- const d = Xa({
1570
- ...o,
1571
- text: r.text,
1572
- textSegments: r.textSegments
1573
- }, n, s.selection);
1574
- d?.textSegments && i.format({
1575
- ...r,
1576
- textSegments: d.textSegments
1577
- }) && e().onMasterViewElementUpdate(o.id, {
1578
- text: r.text,
1579
- ...d
1561
+ editingId: o,
1562
+ editingText: a,
1563
+ editingElement: i,
1564
+ listSession: r,
1565
+ formatText: function(o) {
1566
+ const a = i.value, s = l.value;
1567
+ if (!(t() && a && (0, de.hasTextProperties)(a) && s?.textSegments && s.elementId === a.id)) return;
1568
+ const d = ys(s.textSegments, { preserveCaret: void 0 !== o.listType });
1569
+ if ("supported" !== d.kind) return;
1570
+ const p = Xa({
1571
+ ...a,
1572
+ text: s.text,
1573
+ textSegments: s.textSegments
1574
+ }, o, d.selection, { listConversionScope: n() });
1575
+ p?.textSegments && r.format({
1576
+ ...s,
1577
+ textSegments: p.textSegments
1578
+ }) && e().onMasterViewElementUpdate(a.id, {
1579
+ text: s.text,
1580
+ ...p
1580
1581
  });
1581
1582
  },
1582
1583
  updateEditingText: function(e, t) {
1583
- o.value = e, a.value = t?.elementId === n.value && t.text === e ? t : void 0;
1584
+ a.value = e, l.value = t?.elementId === o.value && t.text === e ? t : void 0;
1584
1585
  },
1585
- beginInlineEdit: function(l) {
1586
- if (!t() || !l) return;
1587
- const i = e().activeMasterViewElements.value.find((e) => e.id === l);
1588
- i && (0, de.hasTextProperties)(i) && (i.textSegments?.some((e) => e.equationXml) || (n.value = i.id, a.value = void 0, o.value = i.text ?? ""));
1586
+ beginInlineEdit: function(n) {
1587
+ if (!t() || !n) return;
1588
+ const i = e().activeMasterViewElements.value.find((e) => e.id === n);
1589
+ i && (0, de.hasTextProperties)(i) && (i.textSegments?.some((e) => e.equationXml) || (o.value = i.id, l.value = void 0, a.value = i.text ?? ""));
1589
1590
  },
1590
1591
  commitInlineEdit: function() {
1591
- const t = n.value, l = a.value;
1592
- n.value = null, t && e().onMasterViewTextCommit(t, o.value, l), a.value = void 0;
1592
+ const t = o.value, n = l.value;
1593
+ o.value = null, t && e().onMasterViewTextCommit(t, a.value, n), l.value = void 0;
1593
1594
  },
1594
- cancelInlineEdit: r,
1595
+ cancelInlineEdit: s,
1595
1596
  readInlineSnapshot: function() {
1596
- return i.read() ?? (a.value?.elementId === n.value ? a.value : void 0);
1597
+ return r.read() ?? (l.value?.elementId === o.value ? l.value : void 0);
1597
1598
  }
1598
1599
  };
1599
- }(() => n.state, () => Boolean(n.canEdit));
1600
+ }(() => n.state, () => Boolean(n.canEdit), () => n.listConversionScope);
1600
1601
  function x(e) {
1601
1602
  const o = e.target?.closest?.("[data-element-id]")?.getAttribute("data-element-id") ?? null;
1602
1603
  return $d(n.state.activeMasterViewElements.value, o);
@@ -1740,7 +1741,7 @@ var Py = ["data-selection-for"], Iy = ["onPointerdown"], Ay = ["aria-label", "on
1740
1741
  "interactive"
1741
1742
  ])], 36)) : Zv("", !0)], 8, Oy)], 40, Dy));
1742
1743
  }
1743
- }), [["__scopeId", "data-v-8bf64893"]]), Uy = {
1744
+ }), [["__scopeId", "data-v-5995dd7c"]]), Uy = {
1744
1745
  key: 0,
1745
1746
  class: "pptx-vue-msheet fixed inset-x-0 top-0 bottom-14 z-[69] flex flex-col justify-end"
1746
1747
  }, Ly = ["aria-label"], Hy = ["aria-label", "data-pptx-inspector"], Ny = {
@@ -2871,7 +2872,7 @@ var Wf = [".state"], Yf = ox({
2871
2872
  function Zf() {
2872
2873
  return ix(Xf, () => {});
2873
2874
  }
2874
- var Qf = "4.55.0", Jf = Symbol("pptx-account-auth");
2875
+ var Qf = "4.56.1", Jf = Symbol("pptx-account-auth");
2875
2876
  var eS = { class: "pptx-vue-account mt-8 flex max-w-[760px] flex-col gap-6" }, tS = { class: "pptx-vue-account-section border border-border bg-card p-6 text-card-foreground" }, nS = { class: "text-base font-semibold" }, oS = { class: "mt-4 flex items-center gap-4" }, aS = { class: "min-w-0 flex-1" }, lS = { class: "block text-xs font-medium text-muted-foreground" }, iS = ["value", "placeholder"], rS = { class: "mt-4" }, sS = { class: "block text-xs font-medium text-muted-foreground" }, dS = { class: "mt-2 flex gap-2" }, pS = [
2876
2877
  "aria-pressed",
2877
2878
  "aria-label",
@@ -26112,6 +26113,7 @@ var B6 = ["aria-busy", "tabindex"], D6 = {
26112
26113
  type: [Boolean, Object],
26113
26114
  default: void 0
26114
26115
  },
26116
+ listConversionScope: {},
26115
26117
  allowExternalContent: {
26116
26118
  type: Boolean,
26117
26119
  default: void 0
@@ -27554,6 +27556,7 @@ var B6 = ["aria-busy", "tabindex"], D6 = {
27554
27556
  readInlineSnapshot: dn.readInlineSnapshot,
27555
27557
  formatInlineSnapshot: dn.formatInlineSnapshot,
27556
27558
  endInlineListSession: dn.endInlineListSession,
27559
+ listConversionScope: () => s.listConversionScope,
27557
27560
  canEdit: () => ft.value,
27558
27561
  presenting: On.presenting,
27559
27562
  showMasterView: ma.showMasterView,
@@ -28888,7 +28891,8 @@ var B6 = ["aria-busy", "tabindex"], D6 = {
28888
28891
  "notes-master": Ix(st),
28889
28892
  "notes-canvas-size": Ix(be).notesCanvasSize.value,
28890
28893
  "handout-master": Ix(dt),
28891
- "can-edit": ft.value
28894
+ "can-edit": ft.value,
28895
+ "list-conversion-scope": s.listConversionScope
28892
28896
  }, null, 8, [
28893
28897
  "state",
28894
28898
  "crud",
@@ -28898,7 +28902,8 @@ var B6 = ["aria-busy", "tabindex"], D6 = {
28898
28902
  "notes-master",
28899
28903
  "notes-canvas-size",
28900
28904
  "handout-master",
28901
- "can-edit"
28905
+ "can-edit",
28906
+ "list-conversion-scope"
28902
28907
  ])) : Zv("", !0),
28903
28908
  nx(uI, {
28904
28909
  collaboration: Ix(Zo),
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-D3eAqpfN.cjs"), t = require("./useController-CYBNpWy-.cjs"), n = require("./ai-8VTpsXre.cjs"), o = require("./useAiPanelController-aOhIHxkq.cjs");
1
+ const e = require("./useViewerSettingsDialog-Cyltup2u.cjs"), t = require("./useController-CYBNpWy-.cjs"), n = require("./ai-8VTpsXre.cjs"), o = require("./useAiPanelController-aOhIHxkq.cjs");
2
2
  require("./i18n.cjs");
3
3
  let a = require("ooxml-ui/pptx"), l = require("vue"), r = require("lucide-vue-next"), i = require("ooxml-ui/pptx/ai/host"), s = require("ooxml-ui/pptx/i18n");
4
4
  var c = Symbol("pptx-viewer-theme");
@@ -1542,55 +1542,56 @@ var At = ["data-selection-for"], zt = ["onPointerdown"], Mt = ["aria-label", "on
1542
1542
  notesMaster: {},
1543
1543
  notesCanvasSize: {},
1544
1544
  handoutMaster: {},
1545
- canEdit: { type: Boolean }
1545
+ canEdit: { type: Boolean },
1546
+ listConversionScope: {}
1546
1547
  },
1547
1548
  setup(n, { expose: o }) {
1548
- const r = n, { t: i } = t.useI18n(), s = (0, l.ref)([]), { editingId: c, editingText: d, editingElement: p, listSession: u, formatText: m, updateEditingText: v, beginInlineEdit: g, commitInlineEdit: f, cancelInlineEdit: x, readInlineSnapshot: y } = function(t, n) {
1549
- const o = (0, l.ref)(null), r = (0, l.ref)(""), i = (0, l.shallowRef)(), s = (0, l.computed)(() => o.value ? t().activeMasterViewElements.value.find((e) => e.id === o.value) : void 0), c = e.useInlineListSession(() => s.value, d);
1550
- function d() {
1551
- o.value = null, i.value = void 0;
1549
+ const r = n, { t: i } = t.useI18n(), s = (0, l.ref)([]), { editingId: c, editingText: d, editingElement: p, listSession: u, formatText: m, updateEditingText: v, beginInlineEdit: g, commitInlineEdit: f, cancelInlineEdit: x, readInlineSnapshot: y } = function(t, n, o = () => {}) {
1550
+ const r = (0, l.ref)(null), i = (0, l.ref)(""), s = (0, l.shallowRef)(), c = (0, l.computed)(() => r.value ? t().activeMasterViewElements.value.find((e) => e.id === r.value) : void 0), d = e.useInlineListSession(() => c.value, p);
1551
+ function p() {
1552
+ r.value = null, s.value = void 0;
1552
1553
  }
1553
1554
  return {
1554
- editingId: o,
1555
- editingText: r,
1556
- editingElement: s,
1557
- listSession: c,
1558
- formatText: function(o) {
1559
- const l = s.value, r = i.value;
1560
- if (!(n() && l && (0, e.dist_exports.hasTextProperties)(l) && r?.textSegments && r.elementId === l.id)) return;
1561
- const d = (0, a.getInlineEditorSelectionResult)(r.textSegments, { preserveCaret: void 0 !== o.listType });
1562
- if ("supported" !== d.kind) return;
1563
- const p = (0, a.buildInlineListStylePatch)({
1564
- ...l,
1565
- text: r.text,
1566
- textSegments: r.textSegments
1567
- }, o, d.selection);
1568
- p?.textSegments && c.format({
1555
+ editingId: r,
1556
+ editingText: i,
1557
+ editingElement: c,
1558
+ listSession: d,
1559
+ formatText: function(l) {
1560
+ const r = c.value, i = s.value;
1561
+ if (!(n() && r && (0, e.dist_exports.hasTextProperties)(r) && i?.textSegments && i.elementId === r.id)) return;
1562
+ const p = (0, a.getInlineEditorSelectionResult)(i.textSegments, { preserveCaret: void 0 !== l.listType });
1563
+ if ("supported" !== p.kind) return;
1564
+ const u = (0, a.buildInlineListStylePatch)({
1569
1565
  ...r,
1570
- textSegments: p.textSegments
1571
- }) && t().onMasterViewElementUpdate(l.id, {
1572
- text: r.text,
1573
- ...p
1566
+ text: i.text,
1567
+ textSegments: i.textSegments
1568
+ }, l, p.selection, { listConversionScope: o() });
1569
+ u?.textSegments && d.format({
1570
+ ...i,
1571
+ textSegments: u.textSegments
1572
+ }) && t().onMasterViewElementUpdate(r.id, {
1573
+ text: i.text,
1574
+ ...u
1574
1575
  });
1575
1576
  },
1576
1577
  updateEditingText: function(e, t) {
1577
- r.value = e, i.value = t?.elementId === o.value && t.text === e ? t : void 0;
1578
+ i.value = e, s.value = t?.elementId === r.value && t.text === e ? t : void 0;
1578
1579
  },
1579
- beginInlineEdit: function(a) {
1580
- if (!n() || !a) return;
1581
- const l = t().activeMasterViewElements.value.find((e) => e.id === a);
1582
- l && (0, e.dist_exports.hasTextProperties)(l) && (l.textSegments?.some((e) => e.equationXml) || (o.value = l.id, i.value = void 0, r.value = l.text ?? ""));
1580
+ beginInlineEdit: function(o) {
1581
+ if (!n() || !o) return;
1582
+ const a = t().activeMasterViewElements.value.find((e) => e.id === o);
1583
+ a && (0, e.dist_exports.hasTextProperties)(a) && (a.textSegments?.some((e) => e.equationXml) || (r.value = a.id, s.value = void 0, i.value = a.text ?? ""));
1583
1584
  },
1584
1585
  commitInlineEdit: function() {
1585
- const e = o.value, n = i.value;
1586
- o.value = null, e && t().onMasterViewTextCommit(e, r.value, n), i.value = void 0;
1586
+ const e = r.value, n = s.value;
1587
+ r.value = null, e && t().onMasterViewTextCommit(e, i.value, n), s.value = void 0;
1587
1588
  },
1588
- cancelInlineEdit: d,
1589
+ cancelInlineEdit: p,
1589
1590
  readInlineSnapshot: function() {
1590
- return c.read() ?? (i.value?.elementId === o.value ? i.value : void 0);
1591
+ return d.read() ?? (s.value?.elementId === r.value ? s.value : void 0);
1591
1592
  }
1592
1593
  };
1593
- }(() => r.state, () => Boolean(r.canEdit));
1594
+ }(() => r.state, () => Boolean(r.canEdit), () => r.listConversionScope);
1594
1595
  function h(e) {
1595
1596
  const n = e.target?.closest?.("[data-element-id]")?.getAttribute("data-element-id") ?? null;
1596
1597
  return (0, a.masterViewOwnerElementId)(r.state.activeMasterViewElements.value, n);
@@ -1734,7 +1735,7 @@ var At = ["data-selection-for"], zt = ["onPointerdown"], Mt = ["aria-label", "on
1734
1735
  "interactive"
1735
1736
  ])], 36)) : (0, l.createCommentVNode)("", !0)], 8, Gt)], 40, Ht));
1736
1737
  }
1737
- }), jt = e._plugin_vue_export_helper_default($t, [["__scopeId", "data-v-8bf64893"]]), Wt = {
1738
+ }), jt = e._plugin_vue_export_helper_default($t, [["__scopeId", "data-v-5995dd7c"]]), Wt = {
1738
1739
  key: 0,
1739
1740
  class: "pptx-vue-msheet fixed inset-x-0 top-0 bottom-14 z-[69] flex flex-col justify-end"
1740
1741
  }, qt = ["aria-label"], Yt = ["aria-label", "data-pptx-inspector"], Xt = {
@@ -2865,7 +2866,7 @@ var oo = [".state"], ao = (0, l.defineComponent)({
2865
2866
  function ro() {
2866
2867
  return (0, l.inject)(lo, () => {});
2867
2868
  }
2868
- var io = "4.55.0", so = Symbol("pptx-account-auth");
2869
+ var io = "4.56.1", so = Symbol("pptx-account-auth");
2869
2870
  var co = { class: "pptx-vue-account mt-8 flex max-w-[760px] flex-col gap-6" }, po = { class: "pptx-vue-account-section border border-border bg-card p-6 text-card-foreground" }, uo = { class: "text-base font-semibold" }, mo = { class: "mt-4 flex items-center gap-4" }, vo = { class: "min-w-0 flex-1" }, go = { class: "block text-xs font-medium text-muted-foreground" }, fo = ["value", "placeholder"], xo = { class: "mt-4" }, yo = { class: "block text-xs font-medium text-muted-foreground" }, ho = { class: "mt-2 flex gap-2" }, bo = [
2870
2871
  "aria-pressed",
2871
2872
  "aria-label",
@@ -26124,6 +26125,7 @@ var QG = ["aria-busy", "tabindex"], JG = {
26124
26125
  type: [Boolean, Object],
26125
26126
  default: void 0
26126
26127
  },
26128
+ listConversionScope: {},
26127
26129
  allowExternalContent: {
26128
26130
  type: Boolean,
26129
26131
  default: void 0
@@ -27566,6 +27568,7 @@ var QG = ["aria-busy", "tabindex"], JG = {
27566
27568
  readInlineSnapshot: ut.readInlineSnapshot,
27567
27569
  formatInlineSnapshot: ut.formatInlineSnapshot,
27568
27570
  endInlineListSession: ut.endInlineListSession,
27571
+ listConversionScope: () => v.listConversionScope,
27569
27572
  canEdit: () => Ce.value,
27570
27573
  presenting: _t.presenting,
27571
27574
  showMasterView: mo.showMasterView,
@@ -28900,7 +28903,8 @@ var QG = ["aria-busy", "tabindex"], JG = {
28900
28903
  "notes-master": (0, l.unref)(me),
28901
28904
  "notes-canvas-size": (0, l.unref)(G).notesCanvasSize.value,
28902
28905
  "handout-master": (0, l.unref)(ve),
28903
- "can-edit": Ce.value
28906
+ "can-edit": Ce.value,
28907
+ "list-conversion-scope": v.listConversionScope
28904
28908
  }, null, 8, [
28905
28909
  "state",
28906
28910
  "crud",
@@ -28910,7 +28914,8 @@ var QG = ["aria-busy", "tabindex"], JG = {
28910
28914
  "notes-master",
28911
28915
  "notes-canvas-size",
28912
28916
  "handout-master",
28913
- "can-edit"
28917
+ "can-edit",
28918
+ "list-conversion-scope"
28914
28919
  ])) : (0, l.createCommentVNode)("", !0),
28915
28920
  (0, l.createVNode)(yp, {
28916
28921
  collaboration: (0, l.unref)(Xn),
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-D3eAqpfN.cjs");
1
+ const e = require("./useViewerSettingsDialog-Cyltup2u.cjs");
2
2
  let t = require("yjs");
3
3
  t = e.__toESM(t, 1);
4
4
  var n = () => /* @__PURE__ */ new Map(), r = (e, t, n) => {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { Mr as e, Nr as t, Pr as n } from "./useViewerSettingsDialog-CUlY9pTL.js";
1
+ import { Mr as e, Nr as t, Pr as n } from "./useViewerSettingsDialog-Dyb9VLsa.js";
2
2
  import * as r from "yjs";
3
3
  var i = () => /* @__PURE__ */ new Map(), s = (e, t, n) => {
4
4
  let r = e.get(t);
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-vue-viewer",
3
- "version": "4.55.0",
3
+ "version": "4.56.1",
4
4
  "description": "pptx-viewer for Vue 3: a PowerPoint viewer and editor component to render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
@@ -124,8 +124,8 @@
124
124
  "html2canvas-pro": "^2.5.2",
125
125
  "jspdf": "^4.2.1",
126
126
  "lucide-vue-next": "^1.0.0",
127
- "ooxml-core": "^1.30.0",
128
- "ooxml-ui": "^1.31.0",
127
+ "ooxml-core": "^1.31.0",
128
+ "ooxml-ui": "^1.33.0",
129
129
  "opentype.js": "^2.0.0",
130
130
  "tailwind-merge": "^3.7.0"
131
131
  },
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file