pptx-react-viewer 4.56.0 → 4.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{chunk-NESLWTLG.mjs → chunk-7NWM7HWP.mjs} +5 -3
  3. package/dist/chunk-7NWM7HWP.mjs.br +0 -0
  4. package/dist/chunk-7NWM7HWP.mjs.gz +0 -0
  5. package/dist/{chunk-CNCPFDFS.js → chunk-M52H5M5R.js} +123 -121
  6. package/dist/chunk-M52H5M5R.js.br +0 -0
  7. package/dist/chunk-M52H5M5R.js.gz +0 -0
  8. package/dist/{chunk-EZRO5ETF.mjs → chunk-MO4FI3EX.mjs} +33 -16
  9. package/dist/chunk-MO4FI3EX.mjs.br +0 -0
  10. package/dist/chunk-MO4FI3EX.mjs.gz +0 -0
  11. package/dist/{chunk-BL2P6K67.js → chunk-PUXJT6AD.js} +33 -16
  12. package/dist/chunk-PUXJT6AD.js.br +0 -0
  13. package/dist/chunk-PUXJT6AD.js.gz +0 -0
  14. package/dist/index.d.ts +18 -2
  15. package/dist/index.js +24 -24
  16. package/dist/index.js.br +0 -0
  17. package/dist/index.js.gz +0 -0
  18. package/dist/index.mjs +2 -2
  19. package/dist/index.mjs.br +0 -0
  20. package/dist/index.mjs.gz +0 -0
  21. package/dist/internals.d.ts +15 -1
  22. package/dist/internals.js +80 -80
  23. package/dist/internals.js.br +0 -0
  24. package/dist/internals.js.gz +0 -0
  25. package/dist/internals.mjs +1 -1
  26. package/dist/internals.mjs.br +0 -0
  27. package/dist/internals.mjs.gz +0 -0
  28. package/dist/viewer/index.d.ts +10 -1
  29. package/dist/viewer/index.js +18 -18
  30. package/dist/viewer/index.js.br +0 -0
  31. package/dist/viewer/index.js.gz +0 -0
  32. package/dist/viewer/index.mjs +2 -2
  33. package/dist/viewer/index.mjs.br +0 -0
  34. package/dist/viewer/index.mjs.gz +0 -0
  35. package/package.json +3 -3
  36. package/dist/chunk-BL2P6K67.js.br +0 -0
  37. package/dist/chunk-BL2P6K67.js.gz +0 -0
  38. package/dist/chunk-CNCPFDFS.js.br +0 -0
  39. package/dist/chunk-CNCPFDFS.js.gz +0 -0
  40. package/dist/chunk-EZRO5ETF.mjs.br +0 -0
  41. package/dist/chunk-EZRO5ETF.mjs.gz +0 -0
  42. package/dist/chunk-NESLWTLG.mjs.br +0 -0
  43. package/dist/chunk-NESLWTLG.mjs.gz +0 -0
Binary file
Binary file
@@ -93,6 +93,7 @@ function useYjsProvider({ config: inputConfig }) {
93
93
  );
94
94
  const state = useController(controller);
95
95
  const signalingKey = config?.signaling?.join("\n");
96
+ const enabled = Boolean(config);
96
97
  useEffect(() => {
97
98
  if (!config) {
98
99
  controller.stop();
@@ -114,7 +115,7 @@ function useYjsProvider({ config: inputConfig }) {
114
115
  config?.authToken,
115
116
  config?.transport,
116
117
  signalingKey,
117
- Boolean(config)
118
+ enabled
118
119
  ]);
119
120
  const session = state.active ? controller.getSession() : null;
120
121
  return {
@@ -4651,7 +4652,8 @@ function useTextElementOperations(input) {
4651
4652
  inlineEditingText,
4652
4653
  inlineEditingSnapshotRef,
4653
4654
  setInlineEditingElementId,
4654
- updateSelectedElement
4655
+ updateSelectedElement,
4656
+ listConversionScope
4655
4657
  } = input;
4656
4658
  const liveTextSegments = useCallback(() => {
4657
4659
  if (!selectedElement || !hasTextProperties(selectedElement)) {
@@ -4694,7 +4696,8 @@ function useTextElementOperations(input) {
4694
4696
  textSegments: currentSegments
4695
4697
  },
4696
4698
  updates,
4697
- inlineSel
4699
+ inlineSel,
4700
+ { listConversionScope }
4698
4701
  );
4699
4702
  if (!patch2 || !("textSegments" in patch2)) {
4700
4703
  return;
@@ -4717,7 +4720,8 @@ function useTextElementOperations(input) {
4717
4720
  const result = applyListStyleUpdate(
4718
4721
  { ...selectedElement, textSegments: currentSegments },
4719
4722
  updates,
4720
- inlineSel
4723
+ inlineSel,
4724
+ { listConversionScope }
4721
4725
  );
4722
4726
  setPendingSelectionRestore(result.selection);
4723
4727
  updateSelectedElement({
@@ -4745,7 +4749,8 @@ function useTextElementOperations(input) {
4745
4749
  updateSelectedElement,
4746
4750
  inlineEditingElementId,
4747
4751
  inlineEditingText,
4748
- liveTextSegments
4752
+ liveTextSegments,
4753
+ listConversionScope
4749
4754
  ]
4750
4755
  );
4751
4756
  const toggleSelectedBullets = useCallback(
@@ -4763,7 +4768,8 @@ function useTextElementOperations(input) {
4763
4768
  selectedElement,
4764
4769
  kind,
4765
4770
  result.selection,
4766
- draft?.textSegments ?? currentSegments
4771
+ draft?.textSegments ?? currentSegments,
4772
+ { listConversionScope }
4767
4773
  );
4768
4774
  if (draft) {
4769
4775
  if (!("textSegments" in patch) || !patch.textSegments) {
@@ -4796,7 +4802,8 @@ function useTextElementOperations(input) {
4796
4802
  liveTextSegments,
4797
4803
  updateSelectedElement,
4798
4804
  inlineEditingElementId,
4799
- inlineEditingText
4805
+ inlineEditingText,
4806
+ listConversionScope
4800
4807
  ]
4801
4808
  );
4802
4809
  const updateSelectedTextCase = useCallback(
@@ -4876,7 +4883,8 @@ function useElementOperations(input) {
4876
4883
  setContextMenuState,
4877
4884
  inlineEditingElementId,
4878
4885
  inlineEditingText,
4879
- inlineEditingSnapshotRef
4886
+ inlineEditingSnapshotRef,
4887
+ listConversionScope
4880
4888
  } = input;
4881
4889
  const applySelection = useCallback(
4882
4890
  (primaryId, ids = []) => {
@@ -4968,7 +4976,8 @@ function useElementOperations(input) {
4968
4976
  inlineEditingText,
4969
4977
  inlineEditingSnapshotRef,
4970
4978
  setInlineEditingElementId,
4971
- updateSelectedElement
4979
+ updateSelectedElement,
4980
+ listConversionScope
4972
4981
  });
4973
4982
  const updateSlides = useCallback(
4974
4983
  (updater) => {
@@ -9231,10 +9240,11 @@ function useSerialize(input) {
9231
9240
  }
9232
9241
  const pendingEditText = read?.snapshot.text ?? inlineEditingTextRef.current;
9233
9242
  const pendingSnapshot = read?.snapshot ?? inlineEditingSnapshotRef?.current;
9243
+ const heldDeck = heldDeckRef?.current;
9234
9244
  const pending = overlayPendingInlineEdit(
9235
9245
  {
9236
- slides: heldDeckRef?.current?.slides ?? slides,
9237
- templateElementsBySlideId: heldDeckRef?.current?.templateElementsBySlideId ?? templateElementsBySlideId,
9246
+ slides: heldDeck?.slides ?? slides,
9247
+ templateElementsBySlideId: heldDeck?.templateElementsBySlideId ?? templateElementsBySlideId,
9238
9248
  activeSlideIndex,
9239
9249
  editTemplateMode,
9240
9250
  masterViewTarget,
@@ -9312,6 +9322,7 @@ function useSerialize(input) {
9312
9322
  editTemplateMode,
9313
9323
  masterViewTarget,
9314
9324
  handlerRef,
9325
+ heldDeckRef,
9315
9326
  inlineEditingElementIdRef,
9316
9327
  inlineEditingTextRef,
9317
9328
  inlineEditingSnapshotRef,
@@ -9735,7 +9746,8 @@ function useEditorOperations(input) {
9735
9746
  userName,
9736
9747
  handlerRef,
9737
9748
  transformCommittedText,
9738
- keyboard
9749
+ keyboard,
9750
+ listConversionScope
9739
9751
  } = input;
9740
9752
  const masterView = useMemo(
9741
9753
  () => ({
@@ -9781,7 +9793,8 @@ function useEditorOperations(input) {
9781
9793
  setContextMenuState: state.setContextMenuState,
9782
9794
  inlineEditingElementId: state.inlineEditingElementId,
9783
9795
  inlineEditingText: state.inlineEditingText,
9784
- inlineEditingSnapshotRef: state.inlineEditingSnapshotRef
9796
+ inlineEditingSnapshotRef: state.inlineEditingSnapshotRef,
9797
+ listConversionScope
9785
9798
  });
9786
9799
  const sectionOps = useSectionOperations({
9787
9800
  sections: state.sections,
@@ -12897,7 +12910,7 @@ function useViewPreferencesSync(input) {
12897
12910
  // src/viewer/hooks/useViewerBuildingBlocksState.ts
12898
12911
  function useViewerBuildingBlocksState(input) {
12899
12912
  const { core, content, canEdit, filePath, autosaveEnabled, userName, handle, setContent } = input;
12900
- const { initialSlide, googleFonts, allowExternalContent, limits } = input;
12913
+ const { initialSlide, googleFonts, listConversionScope, allowExternalContent, limits } = input;
12901
12914
  const externalContentLockedRef = useRef(false);
12902
12915
  const { optionsStore } = core;
12903
12916
  useLayoutEffect(() => {
@@ -12983,7 +12996,8 @@ function useViewerBuildingBlocksState(input) {
12983
12996
  dialogs,
12984
12997
  presentation,
12985
12998
  userName,
12986
- handlerRef: actionSoundHandlerRef
12999
+ handlerRef: actionSoundHandlerRef,
13000
+ listConversionScope
12987
13001
  });
12988
13002
  const {
12989
13003
  exportHandlers,
@@ -13075,6 +13089,7 @@ function useViewerBuildingBlocks(input) {
13075
13089
  fileName,
13076
13090
  initialSlide,
13077
13091
  googleFonts,
13092
+ listConversionScope,
13078
13093
  allowExternalContent,
13079
13094
  limits,
13080
13095
  autosaveEnabled = true,
@@ -13168,6 +13183,7 @@ function useViewerBuildingBlocks(input) {
13168
13183
  filePath,
13169
13184
  initialSlide,
13170
13185
  googleFonts,
13186
+ listConversionScope,
13171
13187
  allowExternalContent,
13172
13188
  limits,
13173
13189
  autosaveEnabled,
@@ -17423,7 +17439,8 @@ function WarpedText({
17423
17439
  align,
17424
17440
  warpAdj,
17425
17441
  warpAdj2,
17426
- getGlyphOutline
17442
+ getGlyphOutline,
17443
+ textEl.textStyle
17427
17444
  );
17428
17445
  return /* @__PURE__ */ jsx(
17429
17446
  "svg",
Binary file
Binary file
@@ -98,6 +98,7 @@ function useYjsProvider({ config: inputConfig }) {
98
98
  );
99
99
  const state = useController(controller);
100
100
  const signalingKey = config?.signaling?.join("\n");
101
+ const enabled = Boolean(config);
101
102
  React17.useEffect(() => {
102
103
  if (!config) {
103
104
  controller.stop();
@@ -119,7 +120,7 @@ function useYjsProvider({ config: inputConfig }) {
119
120
  config?.authToken,
120
121
  config?.transport,
121
122
  signalingKey,
122
- Boolean(config)
123
+ enabled
123
124
  ]);
124
125
  const session = state.active ? controller.getSession() : null;
125
126
  return {
@@ -4656,7 +4657,8 @@ function useTextElementOperations(input) {
4656
4657
  inlineEditingText,
4657
4658
  inlineEditingSnapshotRef,
4658
4659
  setInlineEditingElementId,
4659
- updateSelectedElement
4660
+ updateSelectedElement,
4661
+ listConversionScope
4660
4662
  } = input;
4661
4663
  const liveTextSegments = React17.useCallback(() => {
4662
4664
  if (!selectedElement || !pptx$1.hasTextProperties(selectedElement)) {
@@ -4699,7 +4701,8 @@ function useTextElementOperations(input) {
4699
4701
  textSegments: currentSegments
4700
4702
  },
4701
4703
  updates,
4702
- inlineSel
4704
+ inlineSel,
4705
+ { listConversionScope }
4703
4706
  );
4704
4707
  if (!patch2 || !("textSegments" in patch2)) {
4705
4708
  return;
@@ -4722,7 +4725,8 @@ function useTextElementOperations(input) {
4722
4725
  const result = pptx.applyListStyleUpdate(
4723
4726
  { ...selectedElement, textSegments: currentSegments },
4724
4727
  updates,
4725
- inlineSel
4728
+ inlineSel,
4729
+ { listConversionScope }
4726
4730
  );
4727
4731
  pptx.setPendingSelectionRestore(result.selection);
4728
4732
  updateSelectedElement({
@@ -4750,7 +4754,8 @@ function useTextElementOperations(input) {
4750
4754
  updateSelectedElement,
4751
4755
  inlineEditingElementId,
4752
4756
  inlineEditingText,
4753
- liveTextSegments
4757
+ liveTextSegments,
4758
+ listConversionScope
4754
4759
  ]
4755
4760
  );
4756
4761
  const toggleSelectedBullets = React17.useCallback(
@@ -4768,7 +4773,8 @@ function useTextElementOperations(input) {
4768
4773
  selectedElement,
4769
4774
  kind,
4770
4775
  result.selection,
4771
- draft?.textSegments ?? currentSegments
4776
+ draft?.textSegments ?? currentSegments,
4777
+ { listConversionScope }
4772
4778
  );
4773
4779
  if (draft) {
4774
4780
  if (!("textSegments" in patch) || !patch.textSegments) {
@@ -4801,7 +4807,8 @@ function useTextElementOperations(input) {
4801
4807
  liveTextSegments,
4802
4808
  updateSelectedElement,
4803
4809
  inlineEditingElementId,
4804
- inlineEditingText
4810
+ inlineEditingText,
4811
+ listConversionScope
4805
4812
  ]
4806
4813
  );
4807
4814
  const updateSelectedTextCase = React17.useCallback(
@@ -4881,7 +4888,8 @@ function useElementOperations(input) {
4881
4888
  setContextMenuState,
4882
4889
  inlineEditingElementId,
4883
4890
  inlineEditingText,
4884
- inlineEditingSnapshotRef
4891
+ inlineEditingSnapshotRef,
4892
+ listConversionScope
4885
4893
  } = input;
4886
4894
  const applySelection = React17.useCallback(
4887
4895
  (primaryId, ids = []) => {
@@ -4973,7 +4981,8 @@ function useElementOperations(input) {
4973
4981
  inlineEditingText,
4974
4982
  inlineEditingSnapshotRef,
4975
4983
  setInlineEditingElementId,
4976
- updateSelectedElement
4984
+ updateSelectedElement,
4985
+ listConversionScope
4977
4986
  });
4978
4987
  const updateSlides = React17.useCallback(
4979
4988
  (updater) => {
@@ -9236,10 +9245,11 @@ function useSerialize(input) {
9236
9245
  }
9237
9246
  const pendingEditText = read?.snapshot.text ?? inlineEditingTextRef.current;
9238
9247
  const pendingSnapshot = read?.snapshot ?? inlineEditingSnapshotRef?.current;
9248
+ const heldDeck = heldDeckRef?.current;
9239
9249
  const pending = overlayPendingInlineEdit(
9240
9250
  {
9241
- slides: heldDeckRef?.current?.slides ?? slides,
9242
- templateElementsBySlideId: heldDeckRef?.current?.templateElementsBySlideId ?? templateElementsBySlideId,
9251
+ slides: heldDeck?.slides ?? slides,
9252
+ templateElementsBySlideId: heldDeck?.templateElementsBySlideId ?? templateElementsBySlideId,
9243
9253
  activeSlideIndex,
9244
9254
  editTemplateMode,
9245
9255
  masterViewTarget,
@@ -9317,6 +9327,7 @@ function useSerialize(input) {
9317
9327
  editTemplateMode,
9318
9328
  masterViewTarget,
9319
9329
  handlerRef,
9330
+ heldDeckRef,
9320
9331
  inlineEditingElementIdRef,
9321
9332
  inlineEditingTextRef,
9322
9333
  inlineEditingSnapshotRef,
@@ -9740,7 +9751,8 @@ function useEditorOperations(input) {
9740
9751
  userName,
9741
9752
  handlerRef,
9742
9753
  transformCommittedText,
9743
- keyboard
9754
+ keyboard,
9755
+ listConversionScope
9744
9756
  } = input;
9745
9757
  const masterView = React17.useMemo(
9746
9758
  () => ({
@@ -9786,7 +9798,8 @@ function useEditorOperations(input) {
9786
9798
  setContextMenuState: state.setContextMenuState,
9787
9799
  inlineEditingElementId: state.inlineEditingElementId,
9788
9800
  inlineEditingText: state.inlineEditingText,
9789
- inlineEditingSnapshotRef: state.inlineEditingSnapshotRef
9801
+ inlineEditingSnapshotRef: state.inlineEditingSnapshotRef,
9802
+ listConversionScope
9790
9803
  });
9791
9804
  const sectionOps = useSectionOperations({
9792
9805
  sections: state.sections,
@@ -12902,7 +12915,7 @@ function useViewPreferencesSync(input) {
12902
12915
  // src/viewer/hooks/useViewerBuildingBlocksState.ts
12903
12916
  function useViewerBuildingBlocksState(input) {
12904
12917
  const { core, content, canEdit, filePath, autosaveEnabled, userName, handle, setContent } = input;
12905
- const { initialSlide, googleFonts, allowExternalContent, limits } = input;
12918
+ const { initialSlide, googleFonts, listConversionScope, allowExternalContent, limits } = input;
12906
12919
  const externalContentLockedRef = React17.useRef(false);
12907
12920
  const { optionsStore } = core;
12908
12921
  React17.useLayoutEffect(() => {
@@ -12988,7 +13001,8 @@ function useViewerBuildingBlocksState(input) {
12988
13001
  dialogs,
12989
13002
  presentation,
12990
13003
  userName,
12991
- handlerRef: actionSoundHandlerRef
13004
+ handlerRef: actionSoundHandlerRef,
13005
+ listConversionScope
12992
13006
  });
12993
13007
  const {
12994
13008
  exportHandlers,
@@ -13080,6 +13094,7 @@ function useViewerBuildingBlocks(input) {
13080
13094
  fileName,
13081
13095
  initialSlide,
13082
13096
  googleFonts,
13097
+ listConversionScope,
13083
13098
  allowExternalContent,
13084
13099
  limits,
13085
13100
  autosaveEnabled = true,
@@ -13173,6 +13188,7 @@ function useViewerBuildingBlocks(input) {
13173
13188
  filePath,
13174
13189
  initialSlide,
13175
13190
  googleFonts,
13191
+ listConversionScope,
13176
13192
  allowExternalContent,
13177
13193
  limits,
13178
13194
  autosaveEnabled,
@@ -17428,7 +17444,8 @@ function WarpedText({
17428
17444
  align,
17429
17445
  warpAdj,
17430
17446
  warpAdj2,
17431
- getGlyphOutline
17447
+ getGlyphOutline,
17448
+ textEl.textStyle
17432
17449
  );
17433
17450
  return /* @__PURE__ */ jsxRuntime.jsx(
17434
17451
  "svg",
Binary file
Binary file
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as React$1 from 'react';
2
2
  import React$1__default, { ReactNode, ReactElement } from 'react';
3
3
  import * as ooxml_ui_pptx from 'ooxml-ui/pptx';
4
- import { CollaborationRole, CollaborationConfig, ViewportFitOptions, ViewerFontSource, CanvasSize, DocumentStorage, ViewerAutosaveStatus, AutosaveRecord, ConnectionStatus, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, CollaborationInput, GoogleFontsOption, ToolbarActionId, RibbonAddInTab, ViewerCustomization, PptxLoadLimits, PowerPointViewerAPI, ViewerCustomizationApi, CollaborationLivePatcher, InlineListReadResult, EditorImagePasteOptions, ViewerMode, RulerUnit, ElementAnimationState, ShapeAdjustmentHandleDescriptor, InlineTextEditSnapshot, ZoomNavigationTarget, FieldSubstitutionContext, EditPointsCommandId, EditPointsElementPatch, FreeformToolKind, ElementClipboardPayload, AnimationApplyGroup, InsertChartKind, ChangeCaseMode, SlideTemplateId, ReviewCommentsHost, SlidesPaneLayoutGalleryRequest, CollaborationShellState, PptxAutosaveStatus } from 'ooxml-ui/pptx';
5
- export { AVATAR_COLOR_SWATCHES, AccountAuthConfig, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, BackstageCustomization, CANVAS_CONTEXT_MENU_COMMAND_IDS, CollaborationConfig, CollaborationShellState, ContextMenuCustomization, DEFAULT_VIEWER_PROFILE, EDITOR_SHORTCUT_ACTION_IDS, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ElementUpdate, ElementUpdateOptions, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, HostCanvasMenuContext, HostElementMenuContext, HostMenuCommand, KeyboardCustomization, LocalStorageUsageSummary, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OptionsCustomization, OptionsPageId, OptionsSectionId, OptionsSettingId, OptionsSettingValues, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PowerPointViewerAPI, RIBBON_TAB_IDS, ResolvedCustomization, RibbonCustomization, SLIDE_TEMPLATES, SavedPresentationFormat, ShortcutChord, SlideTemplateId, SlideTemplateSpec, SlidesPaneLayoutGalleryRequest, StoredViewerPrefs, THEME_CATALOG, TOOLBAR_BUTTON_IDS, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarTabId, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_PREFS_STORAGE_KEY, ViewerCustomization, ViewerCustomizationApi, ViewerDialogId, ViewerExportFormatId, ViewerFeatureId, ViewerMode, ViewerPanelId, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, describeCollaborationShellState, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from 'ooxml-ui/pptx';
4
+ import { CollaborationRole, CollaborationConfig, ViewportFitOptions, ViewerFontSource, CanvasSize, DocumentStorage, ViewerAutosaveStatus, AutosaveRecord, ConnectionStatus, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, CollaborationInput, GoogleFontsOption, ListConversionScope, ToolbarActionId, RibbonAddInTab, ViewerCustomization, PptxLoadLimits, PowerPointViewerAPI, ViewerCustomizationApi, CollaborationLivePatcher, InlineListReadResult, EditorImagePasteOptions, ViewerMode, RulerUnit, ElementAnimationState, ShapeAdjustmentHandleDescriptor, InlineTextEditSnapshot, ZoomNavigationTarget, FieldSubstitutionContext, EditPointsCommandId, EditPointsElementPatch, FreeformToolKind, ElementClipboardPayload, AnimationApplyGroup, InsertChartKind, ChangeCaseMode, SlideTemplateId, ReviewCommentsHost, SlidesPaneLayoutGalleryRequest, CollaborationShellState, PptxAutosaveStatus } from 'ooxml-ui/pptx';
5
+ export { AVATAR_COLOR_SWATCHES, AccountAuthConfig, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, BackstageCustomization, CANVAS_CONTEXT_MENU_COMMAND_IDS, CollaborationConfig, CollaborationShellState, ContextMenuCustomization, DEFAULT_VIEWER_PROFILE, EDITOR_SHORTCUT_ACTION_IDS, ELEMENT_CONTEXT_MENU_COMMAND_IDS, ElementUpdate, ElementUpdateOptions, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, HostCanvasMenuContext, HostElementMenuContext, HostMenuCommand, KeyboardCustomization, ListConversionScope, LocalStorageUsageSummary, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, OptionsCustomization, OptionsPageId, OptionsSectionId, OptionsSettingId, OptionsSettingValues, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PowerPointViewerAPI, RIBBON_TAB_IDS, ResolvedCustomization, RibbonCustomization, SLIDE_TEMPLATES, SavedPresentationFormat, ShortcutChord, SlideTemplateId, SlideTemplateSpec, SlidesPaneLayoutGalleryRequest, StoredViewerPrefs, THEME_CATALOG, TOOLBAR_BUTTON_IDS, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarTabId, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_PREFS_STORAGE_KEY, ViewerCustomization, ViewerCustomizationApi, ViewerDialogId, ViewerExportFormatId, ViewerFeatureId, ViewerMode, ViewerPanelId, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, describeCollaborationShellState, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from 'ooxml-ui/pptx';
6
6
  import { PptxAiConfig } from 'ooxml-ui/pptx/ai';
7
7
  export { PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy } from 'ooxml-ui/pptx/ai';
8
8
  import { PptxAiAssistant } from 'ooxml-ui/pptx/ai/host';
@@ -474,6 +474,15 @@ interface PowerPointViewerProps extends ViewportFitOptions {
474
474
  * invalid `baseUrl` disables the fallback (with a console warning).
475
475
  */
476
476
  googleFonts?: GoogleFontsOption;
477
+ /**
478
+ * How far Bullets / Numbering reach from a bare caret (no text selected).
479
+ * `'paragraph'` (default, PowerPoint behaviour): only the caret's paragraph
480
+ * changes. `'list'` (Word / Google Docs behaviour): when the caret's
481
+ * paragraph is already a list item and the command switches it between
482
+ * bullets and numbering, every adjacent item of that list converts with it.
483
+ * A range selection always affects only the paragraphs it touches.
484
+ */
485
+ listConversionScope?: ListConversionScope;
477
486
  /**
478
487
  * Show the editor chrome: title bar, ribbon and toolbar, protected-view
479
488
  * and read-only banners, the mobile toolbar and the status bar. Default
@@ -1161,6 +1170,13 @@ interface UseViewerBuildingBlocksInput extends ViewportFitOptions {
1161
1170
  initialSlide?: number;
1162
1171
  /** As `PowerPointViewer`'s `googleFonts`: the Google Fonts fallback policy (off, or a self-hosted mirror). */
1163
1172
  googleFonts?: GoogleFontsOption;
1173
+ /**
1174
+ * As `PowerPointViewer`'s `listConversionScope`: how far Bullets / Numbering reach from a
1175
+ * bare caret. `'paragraph'` (default, PowerPoint behaviour) changes only the caret's
1176
+ * paragraph; `'list'` (Word / Google Docs behaviour) converts the whole adjacent list when
1177
+ * the caret switches a list paragraph between bullets and numbering.
1178
+ */
1179
+ listConversionScope?: ListConversionScope;
1164
1180
  /**
1165
1181
  * As `PowerPointViewer`'s `allowExternalContent`: `false` fetches no linked
1166
1182
  * http(s) content, `true` allows it, either value locks the Trust Center
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkCNCPFDFS_js = require('./chunk-CNCPFDFS.js');
3
+ var chunkM52H5M5R_js = require('./chunk-M52H5M5R.js');
4
4
  require('./chunk-F6WCYCHV.js');
5
- var chunkBL2P6K67_js = require('./chunk-BL2P6K67.js');
5
+ var chunkPUXJT6AD_js = require('./chunk-PUXJT6AD.js');
6
6
  var chunk5KFSMXI4_js = require('./chunk-5KFSMXI4.js');
7
7
  require('./chunk-PIRHQTI4.js');
8
8
  var pptx = require('ooxml-ui/pptx');
@@ -12,91 +12,91 @@ var i18n = require('ooxml-ui/pptx/i18n');
12
12
 
13
13
  Object.defineProperty(exports, "PowerPointViewer", {
14
14
  enumerable: true,
15
- get: function () { return chunkCNCPFDFS_js.PowerPointViewer; }
15
+ get: function () { return chunkM52H5M5R_js.PowerPointViewer; }
16
16
  });
17
17
  Object.defineProperty(exports, "PptxI18nProvider", {
18
18
  enumerable: true,
19
- get: function () { return chunkCNCPFDFS_js.PptxI18nProvider; }
19
+ get: function () { return chunkM52H5M5R_js.PptxI18nProvider; }
20
20
  });
21
21
  Object.defineProperty(exports, "SlideCanvas", {
22
22
  enumerable: true,
23
- get: function () { return chunkCNCPFDFS_js.SlideCanvas; }
23
+ get: function () { return chunkM52H5M5R_js.SlideCanvas; }
24
24
  });
25
25
  Object.defineProperty(exports, "SlideTemplateGalleryDialog", {
26
26
  enumerable: true,
27
- get: function () { return chunkCNCPFDFS_js.SlideTemplateGalleryDialog; }
27
+ get: function () { return chunkM52H5M5R_js.SlideTemplateGalleryDialog; }
28
28
  });
29
29
  Object.defineProperty(exports, "SlideTemplatePreview", {
30
30
  enumerable: true,
31
- get: function () { return chunkCNCPFDFS_js.SlideTemplatePreview; }
31
+ get: function () { return chunkM52H5M5R_js.SlideTemplatePreview; }
32
32
  });
33
33
  Object.defineProperty(exports, "SlidesPane", {
34
34
  enumerable: true,
35
- get: function () { return chunkCNCPFDFS_js.SlidesPaneSidebar; }
35
+ get: function () { return chunkM52H5M5R_js.SlidesPaneSidebar; }
36
36
  });
37
37
  Object.defineProperty(exports, "THEME_CATALOG", {
38
38
  enumerable: true,
39
- get: function () { return chunkCNCPFDFS_js.THEME_CATALOG; }
39
+ get: function () { return chunkM52H5M5R_js.THEME_CATALOG; }
40
40
  });
41
41
  Object.defineProperty(exports, "Toolbar", {
42
42
  enumerable: true,
43
- get: function () { return chunkCNCPFDFS_js.Toolbar; }
43
+ get: function () { return chunkM52H5M5R_js.Toolbar; }
44
44
  });
45
45
  Object.defineProperty(exports, "ViewerThemeProvider", {
46
46
  enumerable: true,
47
- get: function () { return chunkCNCPFDFS_js.ViewerThemeProvider; }
47
+ get: function () { return chunkM52H5M5R_js.ViewerThemeProvider; }
48
48
  });
49
49
  Object.defineProperty(exports, "defaultCssVars", {
50
50
  enumerable: true,
51
- get: function () { return chunkCNCPFDFS_js.defaultCssVars; }
51
+ get: function () { return chunkM52H5M5R_js.defaultCssVars; }
52
52
  });
53
53
  Object.defineProperty(exports, "defaultRadius", {
54
54
  enumerable: true,
55
- get: function () { return chunkCNCPFDFS_js.defaultRadius; }
55
+ get: function () { return chunkM52H5M5R_js.defaultRadius; }
56
56
  });
57
57
  Object.defineProperty(exports, "defaultThemeColors", {
58
58
  enumerable: true,
59
- get: function () { return chunkCNCPFDFS_js.defaultThemeColors; }
59
+ get: function () { return chunkM52H5M5R_js.defaultThemeColors; }
60
60
  });
61
61
  Object.defineProperty(exports, "resolveThemeCatalogEntry", {
62
62
  enumerable: true,
63
- get: function () { return chunkCNCPFDFS_js.resolveThemeCatalogEntry; }
63
+ get: function () { return chunkM52H5M5R_js.resolveThemeCatalogEntry; }
64
64
  });
65
65
  Object.defineProperty(exports, "themeToCssVars", {
66
66
  enumerable: true,
67
- get: function () { return chunkCNCPFDFS_js.themeToCssVars; }
67
+ get: function () { return chunkM52H5M5R_js.themeToCssVars; }
68
68
  });
69
69
  Object.defineProperty(exports, "useViewerTheme", {
70
70
  enumerable: true,
71
- get: function () { return chunkCNCPFDFS_js.useViewerTheme; }
71
+ get: function () { return chunkM52H5M5R_js.useViewerTheme; }
72
72
  });
73
73
  Object.defineProperty(exports, "vermilionDarkColors", {
74
74
  enumerable: true,
75
- get: function () { return chunkCNCPFDFS_js.vermilionDarkColors; }
75
+ get: function () { return chunkM52H5M5R_js.vermilionDarkColors; }
76
76
  });
77
77
  Object.defineProperty(exports, "vermilionDarkTheme", {
78
78
  enumerable: true,
79
- get: function () { return chunkCNCPFDFS_js.vermilionDarkTheme; }
79
+ get: function () { return chunkM52H5M5R_js.vermilionDarkTheme; }
80
80
  });
81
81
  Object.defineProperty(exports, "vermilionLightColors", {
82
82
  enumerable: true,
83
- get: function () { return chunkCNCPFDFS_js.vermilionLightColors; }
83
+ get: function () { return chunkM52H5M5R_js.vermilionLightColors; }
84
84
  });
85
85
  Object.defineProperty(exports, "vermilionLightTheme", {
86
86
  enumerable: true,
87
- get: function () { return chunkCNCPFDFS_js.vermilionLightTheme; }
87
+ get: function () { return chunkM52H5M5R_js.vermilionLightTheme; }
88
88
  });
89
89
  Object.defineProperty(exports, "vermilionRadius", {
90
90
  enumerable: true,
91
- get: function () { return chunkCNCPFDFS_js.vermilionRadius; }
91
+ get: function () { return chunkM52H5M5R_js.vermilionRadius; }
92
92
  });
93
93
  Object.defineProperty(exports, "renderToCanvas", {
94
94
  enumerable: true,
95
- get: function () { return chunkBL2P6K67_js.renderToCanvas; }
95
+ get: function () { return chunkPUXJT6AD_js.renderToCanvas; }
96
96
  });
97
97
  Object.defineProperty(exports, "useViewerBuildingBlocks", {
98
98
  enumerable: true,
99
- get: function () { return chunkBL2P6K67_js.useViewerBuildingBlocks; }
99
+ get: function () { return chunkPUXJT6AD_js.useViewerBuildingBlocks; }
100
100
  });
101
101
  Object.defineProperty(exports, "getAnimationInitialStyle", {
102
102
  enumerable: true,
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- export { PowerPointViewer, PptxI18nProvider, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, SlidesPaneSidebar as SlidesPane, THEME_CATALOG, Toolbar, ViewerThemeProvider, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, useViewerTheme, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from './chunk-NESLWTLG.mjs';
1
+ export { PowerPointViewer, PptxI18nProvider, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, SlidesPaneSidebar as SlidesPane, THEME_CATALOG, Toolbar, ViewerThemeProvider, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, useViewerTheme, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from './chunk-7NWM7HWP.mjs';
2
2
  import './chunk-NE5JQMED.mjs';
3
- export { renderToCanvas, useViewerBuildingBlocks } from './chunk-EZRO5ETF.mjs';
3
+ export { renderToCanvas, useViewerBuildingBlocks } from './chunk-MO4FI3EX.mjs';
4
4
  export { getAnimationInitialStyle } from './chunk-MR3ZSEHS.mjs';
5
5
  import './chunk-UV2HVMKZ.mjs';
6
6
  export { AVATAR_COLOR_SWATCHES, BACKSTAGE_CARD_IDS, BACKSTAGE_PAGE_IDS, CANVAS_CONTEXT_MENU_COMMAND_IDS, DEFAULT_VIEWER_PROFILE, EDITOR_SHORTCUT_ACTION_IDS, ELEMENT_CONTEXT_MENU_COMMAND_IDS, OPTIONS_PAGE_IDS, OPTIONS_SECTION_IDS, OPTIONS_SETTING_IDS, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, RIBBON_TAB_IDS, SLIDE_TEMPLATES, TOOLBAR_BUTTON_IDS, VIEWER_DIALOG_IDS, VIEWER_EXPORT_FORMAT_IDS, VIEWER_FEATURE_IDS, VIEWER_PANEL_IDS, VIEWER_PREFS_STORAGE_KEY, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, describeCollaborationShellState, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, resolveProfileInitial, saveViewerProfile, savedPresentationFileName, writeStoredViewerPrefs } from 'ooxml-ui/pptx';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file
@@ -1,4 +1,4 @@
1
- import { CollaborationRole, CollaborationConfig, HistoryTheme, PowerPointViewerAPI, ViewerCustomizationApi, PptxAutosaveStatus, ShapeAdjustmentHandleDescriptor, EditorHistoryController, ChangeCaseMode, ResolvedKeyboardCustomization, FindResult, EditorImagePasteOptions, InsertChartKind, InsertChartOptions, PasteSpecialFormat, SlidePasteRequest, SlideTemplateId, MorphTransitionPlan, ElementAnimationState, ZoomNavigationTarget, PresentationSnapshot, DocumentStorage, InlineTextDraftSink, ViewerMode, ShapeAdjustmentDragState, GestureKind, PointerLike, InlineTextEditSnapshot, InlineListReadResult, FreeformToolKind, CollaborationLivePatcher, SlideSizeEmu, ElementClipboardPayload, CropSession, FontEmbeddingDescriptor, MasterViewTarget, ViewportFitOptions, CollaborationInput, GoogleFontsOption, PptxLoadLimits, ToolbarActionId, SlidesPaneLayoutGalleryRequest, CollaborationShellState, AnimationApplyGroup, ReviewCommentsHost, RulerUnit, FieldSubstitutionContext, EditPointsCommandId, EditPointsElementPatch, PresentationPointerTool, RunProgramNotice, BorrowedCollaborationAwareness, CollabLoadOrigin, AuthoredSlideRange, DocumentSaveReason, FragmentedLayer, PrintSettings, ThemeEditorEdit, CompareResult, ReadOnlyRecommendation, CompatibilityWarningToast, DeviceOrientation, ResolvedCustomization, AutosaveRecord, DeckSavePurpose, ZoomExcursion, TouchGestureCallbacks, ViewerAutosaveStatus, ViewerOptionsStore, ViewerOptions, AutosaveRecoveryPrompt, VirtualizedRange, ToolbarTabId } from 'ooxml-ui/pptx';
1
+ import { CollaborationRole, CollaborationConfig, HistoryTheme, PowerPointViewerAPI, ViewerCustomizationApi, PptxAutosaveStatus, ShapeAdjustmentHandleDescriptor, EditorHistoryController, ChangeCaseMode, ResolvedKeyboardCustomization, FindResult, EditorImagePasteOptions, InsertChartKind, InsertChartOptions, PasteSpecialFormat, SlidePasteRequest, SlideTemplateId, MorphTransitionPlan, ElementAnimationState, ZoomNavigationTarget, PresentationSnapshot, DocumentStorage, InlineTextDraftSink, ViewerMode, ShapeAdjustmentDragState, GestureKind, PointerLike, InlineTextEditSnapshot, InlineListReadResult, FreeformToolKind, CollaborationLivePatcher, SlideSizeEmu, ElementClipboardPayload, CropSession, FontEmbeddingDescriptor, ListConversionScope, MasterViewTarget, ViewportFitOptions, CollaborationInput, GoogleFontsOption, PptxLoadLimits, ToolbarActionId, SlidesPaneLayoutGalleryRequest, CollaborationShellState, AnimationApplyGroup, ReviewCommentsHost, RulerUnit, FieldSubstitutionContext, EditPointsCommandId, EditPointsElementPatch, PresentationPointerTool, RunProgramNotice, BorrowedCollaborationAwareness, CollabLoadOrigin, AuthoredSlideRange, DocumentSaveReason, FragmentedLayer, PrintSettings, ThemeEditorEdit, CompareResult, ReadOnlyRecommendation, CompatibilityWarningToast, DeviceOrientation, ResolvedCustomization, AutosaveRecord, DeckSavePurpose, ZoomExcursion, TouchGestureCallbacks, ViewerAutosaveStatus, ViewerOptionsStore, ViewerOptions, AutosaveRecoveryPrompt, VirtualizedRange, ToolbarTabId } from 'ooxml-ui/pptx';
2
2
  export { CINEMATIC_TRANSITION_KEYFRAMES, CollaborationConfig, DEFAULT_MORPH_DURATION_MS, DEFAULT_TRANSITION_DURATION_MS, DeviceOrientation, EASE, INSTANT, MOBILE_BREAKPOINT, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, RANDOM_ELIGIBLE_TYPES, ResolvedDirection, ResolvedDirection8, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, SlideTransitionAnimations, TABLET_BREAKPOINT, TRANSITION_SPEED_DURATION_MS, TouchGestureCallbacks, VirtualizedRange, WHEEL_SPOKE_COUNTS, computeVirtualRange, getCinematicTransitionAnimations, getP14TransitionAnimations, getSlideTransitionAnimations, resolveDirection, resolveDirection8, resolveOrientation, resolveSlideTransition, resolveTransitionDurationMs, resolveWheelSpokeCount } from 'ooxml-ui/pptx';
3
3
  import { PptxSlide, PptxElement, PptxElementAnimation, TextStyle, PptxHeaderFooter, PptxTheme, PptxSlideMaster, ShapeStyle, PptxCommentMention, SmartArtLayout, InkPptxElement, ShapePptxElement, MergeShapeOperation, PptxSlideTransition, PptxAction, PptxModernCommentAuthor, ParsedTableStyleMap, PptxThemeOption, PptxCustomShow, PptxSection, PptxPresentationProperties, PptxViewProperties, PptxNotesMaster, PptxHandoutMaster, PptxCustomProperty, PptxTagCollection, PptxCoreProperties, PptxAppProperties, PptxEmbeddedFont, MasterViewTab, PptxSlideLayout, PptxHandler, PptxLayoutOption, PptxLayoutPreview, PptxComment, ConnectorPptxElement, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme, PptxData, PptxHandlerSaveOptions, PptxSaveFormat, TextSegment, PptxModifyVerifier } from 'ooxml-core/pptx';
4
4
  import { CollaborationWriteBackState } from 'ooxml-core/collab';
@@ -760,6 +760,11 @@ interface UseElementOperationsInput {
760
760
  inlineEditingElementId: string | null;
761
761
  inlineEditingText: string;
762
762
  inlineEditingSnapshotRef?: React.MutableRefObject<InlineTextEditSnapshot | undefined>;
763
+ /**
764
+ * Host `listConversionScope`: how far a bare caret's Bullets / Numbering reach.
765
+ * Unset keeps the shared default, `'paragraph'` (PowerPoint behaviour).
766
+ */
767
+ listConversionScope?: ListConversionScope | undefined;
763
768
  setContextMenuState: React.Dispatch<React.SetStateAction<ElementContextMenuState | null>>;
764
769
  }
765
770
  interface ElementOperations {
@@ -2093,6 +2098,8 @@ interface UseEditorOperationsInput {
2093
2098
  transformCommittedText?: (text: string, previous?: string) => string;
2094
2099
  /** Host keyboard customisation, forwarded to the Find shortcut. */
2095
2100
  keyboard?: ResolvedKeyboardCustomization;
2101
+ /** Host `listConversionScope`: bare-caret Bullets / Numbering reach; forwarded to the text ops. */
2102
+ listConversionScope?: ListConversionScope;
2096
2103
  }
2097
2104
  interface EditorOperationsResult {
2098
2105
  ops: ElementOperations;
@@ -2427,6 +2434,13 @@ interface UseViewerBuildingBlocksInput extends ViewportFitOptions {
2427
2434
  initialSlide?: number;
2428
2435
  /** As `PowerPointViewer`'s `googleFonts`: the Google Fonts fallback policy (off, or a self-hosted mirror). */
2429
2436
  googleFonts?: GoogleFontsOption;
2437
+ /**
2438
+ * As `PowerPointViewer`'s `listConversionScope`: how far Bullets / Numbering reach from a
2439
+ * bare caret. `'paragraph'` (default, PowerPoint behaviour) changes only the caret's
2440
+ * paragraph; `'list'` (Word / Google Docs behaviour) converts the whole adjacent list when
2441
+ * the caret switches a list paragraph between bullets and numbering.
2442
+ */
2443
+ listConversionScope?: ListConversionScope;
2430
2444
  /**
2431
2445
  * As `PowerPointViewer`'s `allowExternalContent`: `false` fetches no linked
2432
2446
  * http(s) content, `true` allows it, either value locks the Trust Center