pptx-svelte-viewer 2.8.0 → 2.9.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 (112) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/AiChatPanel-CWB7jYUa.js +1108 -0
  3. package/dist/{export-BbJv-tva.js → export-CAW_l1TQ.js} +44625 -39074
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.d.ts +21 -0
  6. package/dist/index.js +20 -20
  7. package/dist/pptx-svelte-viewer.css +1 -1
  8. package/dist/{translator-DL83W_OP.js → translator-0iRuc5gX.js} +240 -19
  9. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts +23 -0
  10. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts.map +1 -0
  11. package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts +47 -0
  12. package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts.map +1 -0
  13. package/dist/viewer/components/props-chrome.d.ts +104 -0
  14. package/dist/viewer/components/props-chrome.d.ts.map +1 -0
  15. package/dist/viewer/components/props-editing.d.ts +86 -0
  16. package/dist/viewer/components/props-editing.d.ts.map +1 -0
  17. package/dist/viewer/components/props-elements.d.ts +65 -0
  18. package/dist/viewer/components/props-elements.d.ts.map +1 -0
  19. package/dist/viewer/components/props-stage.d.ts +84 -0
  20. package/dist/viewer/components/props-stage.d.ts.map +1 -0
  21. package/dist/viewer/components/props.d.ts +10 -283
  22. package/dist/viewer/components/props.d.ts.map +1 -1
  23. package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts +23 -0
  24. package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts.map +1 -0
  25. package/dist/viewer/components/ribbon/ribbon-types.d.ts +2 -0
  26. package/dist/viewer/components/ribbon/ribbon-types.d.ts.map +1 -1
  27. package/dist/viewer/components/viewer-body-commits.d.ts +18 -0
  28. package/dist/viewer/components/viewer-body-commits.d.ts.map +1 -0
  29. package/dist/viewer/components/viewer-body-props.d.ts +125 -0
  30. package/dist/viewer/components/viewer-body-props.d.ts.map +1 -0
  31. package/dist/viewer/editor/context-menu-dispatch.d.ts +45 -0
  32. package/dist/viewer/editor/context-menu-dispatch.d.ts.map +1 -0
  33. package/dist/viewer/editor/deck-api.d.ts +31 -0
  34. package/dist/viewer/editor/deck-api.d.ts.map +1 -0
  35. package/dist/viewer/editor/editor-controller-deps.d.ts +21 -1
  36. package/dist/viewer/editor/editor-controller-deps.d.ts.map +1 -1
  37. package/dist/viewer/editor/editor-controller-wiring.d.ts +35 -0
  38. package/dist/viewer/editor/editor-controller-wiring.d.ts.map +1 -0
  39. package/dist/viewer/editor/editor-controller.svelte.d.ts.map +1 -1
  40. package/dist/viewer/editor/editor-document-lifecycle.d.ts +68 -0
  41. package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -0
  42. package/dist/viewer/editor/editor-document-state.d.ts +3 -1
  43. package/dist/viewer/editor/editor-document-state.d.ts.map +1 -1
  44. package/dist/viewer/editor/editor-freeform.d.ts +4 -0
  45. package/dist/viewer/editor/editor-freeform.d.ts.map +1 -0
  46. package/dist/viewer/editor/editor-history-state.svelte.d.ts +31 -0
  47. package/dist/viewer/editor/editor-history-state.svelte.d.ts.map +1 -0
  48. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts +10 -6
  49. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -1
  50. package/dist/viewer/editor/editor-keyboard.d.ts +18 -11
  51. package/dist/viewer/editor/editor-keyboard.d.ts.map +1 -1
  52. package/dist/viewer/editor/editor-selection.svelte.d.ts +10 -10
  53. package/dist/viewer/editor/editor-selection.svelte.d.ts.map +1 -1
  54. package/dist/viewer/editor/editor-state.svelte.d.ts +26 -19
  55. package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
  56. package/dist/viewer/editor/editor-text-body-mutations.d.ts +17 -0
  57. package/dist/viewer/editor/editor-text-body-mutations.d.ts.map +1 -0
  58. package/dist/viewer/editor/element-hit.d.ts +8 -26
  59. package/dist/viewer/editor/element-hit.d.ts.map +1 -1
  60. package/dist/viewer/editor/index.d.ts +2 -0
  61. package/dist/viewer/editor/index.d.ts.map +1 -1
  62. package/dist/viewer/export/export-wiring.svelte.d.ts +8 -1
  63. package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -1
  64. package/dist/viewer/export/rasterize-slide.d.ts +8 -1
  65. package/dist/viewer/export/rasterize-slide.d.ts.map +1 -1
  66. package/dist/viewer/index.d.ts +897 -342
  67. package/dist/viewer/index.js +20 -398
  68. package/dist/viewer/presentation/animation-media-commands.d.ts +4 -0
  69. package/dist/viewer/presentation/animation-media-commands.d.ts.map +1 -0
  70. package/dist/viewer/presentation/animation-playback-helpers.d.ts.map +1 -1
  71. package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts +42 -0
  72. package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts.map +1 -0
  73. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts +13 -0
  74. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts.map +1 -1
  75. package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts +38 -0
  76. package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts.map +1 -0
  77. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts +21 -13
  78. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts.map +1 -1
  79. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts +6 -1
  80. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts.map +1 -1
  81. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts +3 -1
  82. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
  83. package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts +31 -0
  84. package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts.map +1 -0
  85. package/dist/viewer/state/create-viewer-state-types.d.ts +43 -6
  86. package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
  87. package/dist/viewer/state/create-viewer-state.svelte.d.ts +17 -16
  88. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  89. package/dist/viewer/state/field-context.d.ts +38 -0
  90. package/dist/viewer/state/field-context.d.ts.map +1 -0
  91. package/dist/viewer/state/index.d.ts +4 -0
  92. package/dist/viewer/state/index.d.ts.map +1 -1
  93. package/dist/viewer/state/navigation.d.ts +9 -7
  94. package/dist/viewer/state/navigation.d.ts.map +1 -1
  95. package/dist/viewer/state/open-file.d.ts +15 -0
  96. package/dist/viewer/state/open-file.d.ts.map +1 -0
  97. package/dist/viewer/state/presentation-loader.svelte.d.ts +3 -1
  98. package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -1
  99. package/dist/viewer/state/quick-access-commands.d.ts +19 -0
  100. package/dist/viewer/state/quick-access-commands.d.ts.map +1 -0
  101. package/dist/viewer/state/slide-elements.d.ts +51 -0
  102. package/dist/viewer/state/slide-elements.d.ts.map +1 -0
  103. package/dist/viewer/state/theme-locale.svelte.d.ts +68 -0
  104. package/dist/viewer/state/theme-locale.svelte.d.ts.map +1 -0
  105. package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -1
  106. package/dist/viewer/state/viewer-state-options.d.ts +31 -0
  107. package/dist/viewer/state/viewer-state-options.d.ts.map +1 -0
  108. package/dist/viewer/style/element-style.d.ts.map +1 -1
  109. package/dist/viewer/style/text-style.d.ts +15 -0
  110. package/dist/viewer/style/text-style.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/dist/AiChatPanel-De82mmHA.js +0 -1082
@@ -369,16 +369,9 @@ var r = {
369
369
  "pptx.encryptedFile.title": "Encrypted File",
370
370
  "pptx.encryptedFile.message": "This file is encrypted.",
371
371
  "pptx.encryptedFile.instructions": "Enter the password to open it.",
372
- "common.close": "Close",
373
- "common.cancel": "Cancel",
374
- "common.apply": "Apply",
375
- "common.delete": "Delete",
376
- "common.done": "Done",
377
- "common.loading": "Loading…",
378
- "common.ok": "OK",
379
- "common.remove": "Remove",
380
- "common.reset": "Reset",
381
- "common.save": "Save",
372
+ "pptx.common.apply": "Apply",
373
+ "pptx.common.loading": "Loading…",
374
+ "pptx.common.remove": "Remove",
382
375
  "pptx.accessibility.heading": "Accessibility",
383
376
  "pptx.accessibility.noIssuesFound": "No issues found",
384
377
  "pptx.accessibility.noIssuesHint": "This presentation passes all accessibility checks.",
@@ -602,6 +595,10 @@ var r = {
602
595
  "pptx.slideShow.broadcast": "Broadcast",
603
596
  "pptx.slideShow.subtitlesTooltip": "Toggle subtitles",
604
597
  "pptx.slideShow.subtitles": "Subtitles",
598
+ "pptx.record.cameo": "Cameo",
599
+ "pptx.record.clear": "Clear",
600
+ "pptx.record.learnMore": "Learn More",
601
+ "pptx.record.resetToCameo": "Reset to Cameo",
605
602
  "pptx.slideMenu.duplicate": "Duplicate slide",
606
603
  "pptx.slideMenu.show": "Show slide",
607
604
  "pptx.slideMenu.hide": "Hide slide",
@@ -622,9 +619,9 @@ var r = {
622
619
  "pptx.zoom.ariaLabel": "Zoom to slide {{number}}",
623
620
  "pptx.zoom.ariaLabelSection": "Zoom to slide {{number}} (section: {{section}})",
624
621
  "pptx.canvas.slide": "Slide",
625
- "powerpoint.toolbar.themes.gallery.title": "Themes",
626
- "powerpoint.toolbar.themes.gallery.description": "Pick a built-in theme to recolour every slide in the deck.",
627
- "powerpoint.toolbar.themes.gallery.ariaLabel": "Theme gallery",
622
+ "pptx.themes.gallery.title": "Themes",
623
+ "pptx.themes.gallery.description": "Pick a built-in theme to recolour every slide in the deck.",
624
+ "pptx.themes.gallery.ariaLabel": "Theme gallery",
628
625
  "pptx.smartArt.setFill": "Set fill to {{color}}",
629
626
  "pptx.smartArt.placeholder": "SmartArt",
630
627
  "pptx.smartArt.editNodeText": "Edit SmartArt node text",
@@ -842,7 +839,7 @@ var r = {
842
839
  "pptx.presentationSettings.showAnimation": "Show animation",
843
840
  "pptx.presentationSettings.frameSlides": "Frame slides",
844
841
  "pptx.presentationSettings.slidesPerPage": "Slides / page",
845
- "powerpoint.toolbar.themes.gallery.importTheme": "Import Theme",
842
+ "pptx.themes.gallery.importTheme": "Import Theme",
846
843
  "pptx.action.onClick": "On Click",
847
844
  "pptx.action.onHover": "On Hover",
848
845
  "pptx.action.title": "Action",
@@ -2646,12 +2643,236 @@ Item 3`,
2646
2643
  "pptx.options.trust.protectedViewInfo": "Documents open read-only; use Enable Editing to make changes.",
2647
2644
  "pptx.options.trust.allowExternalContent": "Allow external content (remote images and media)",
2648
2645
  "pptx.options.trust.allowExternalContentInfo": "When off, only content embedded in the file is displayed.",
2649
- "pptx.options.trust.confirmHyperlinks": "Confirm before opening external hyperlinks"
2646
+ "pptx.options.trust.confirmHyperlinks": "Confirm before opening external hyperlinks",
2647
+ "pptx.animations.advanced": "Advanced Animation",
2648
+ "pptx.animations.afterPrevious": "After Previous",
2649
+ "pptx.animations.duration": "Duration",
2650
+ "pptx.animations.effectOptions": "Effect Options",
2651
+ "pptx.animations.exitEffects": "Exit Effects",
2652
+ "pptx.animations.onClick": "On Click",
2653
+ "pptx.animations.painter": "Animation Painter",
2654
+ "pptx.animations.pathAnimation": "Path Animation",
2655
+ "pptx.animations.start": "Start",
2656
+ "pptx.animations.withPrevious": "With Previous",
2657
+ "pptx.review.accessibility": "Accessibility",
2658
+ "pptx.review.changes": "Changes",
2659
+ "pptx.review.hideInk": "Hide Ink",
2660
+ "pptx.review.markAllRead": "Mark All as Read",
2661
+ "pptx.review.proofing": "Proofing",
2662
+ "pptx.review.protect": "Protect",
2663
+ "pptx.review.readOnly": "Always Open Read-Only",
2664
+ "pptx.review.restrictPermission": "Restrict Permission",
2665
+ "pptx.review.showComments": "Show Comments",
2666
+ "pptx.review.thesaurus": "Thesaurus",
2667
+ "pptx.slideShow.hideSlide": "Hide Slide",
2668
+ "pptx.slideShow.keepUpdated": "Keep Slides Updated",
2669
+ "pptx.slideShow.mediaControls": "Show Media Controls",
2670
+ "pptx.slideShow.options": "Options",
2671
+ "pptx.slideShow.playNarrations": "Play Narrations",
2672
+ "pptx.slideShow.present": "Present",
2673
+ "pptx.slideShow.rehearseCoach": "Rehearse with Coach",
2674
+ "pptx.slideShow.setUpGroup": "Set Up",
2675
+ "pptx.slideShow.start": "Start Slide Show",
2676
+ "pptx.slideShow.subtitleSettings": "Subtitle Settings",
2677
+ "pptx.transition.dir.l": "Left",
2678
+ "pptx.transition.dir.r": "Right",
2679
+ "pptx.transition.dir.u": "Up",
2680
+ "pptx.transition.dir.d": "Down",
2681
+ "pptx.transition.dir.lu": "Left Up",
2682
+ "pptx.transition.dir.ld": "Left Down",
2683
+ "pptx.transition.dir.ru": "Right Up",
2684
+ "pptx.transition.dir.rd": "Right Down",
2685
+ "pptx.transition.dir.in": "In",
2686
+ "pptx.transition.dir.out": "Out",
2687
+ "pptx.transition.dir.horz": "Horizontal",
2688
+ "pptx.transition.dir.vert": "Vertical",
2689
+ "pptx.view.guides": "Guides",
2690
+ "pptx.view.macros": "Macros",
2691
+ "pptx.view.show": "Show",
2692
+ "pptx.view.slideSorter": "Slide Sorter",
2693
+ "pptx.view.snapToGrid": "Snap to Grid",
2694
+ "pptx.view.snapToShape": "Snap to Shape",
2695
+ "pptx.view.window": "Window",
2696
+ "pptx.common.back": "Back",
2697
+ "pptx.common.clear": "Clear",
2698
+ "pptx.common.delete": "Delete",
2699
+ "pptx.common.done": "Done",
2700
+ "pptx.common.next": "Next",
2701
+ "pptx.common.previous": "Previous",
2702
+ "pptx.common.reset": "Reset",
2703
+ "pptx.ribbon.editing": "Editing",
2704
+ "pptx.ribbon.selectionPane": "Selection Pane",
2705
+ "pptx.ribbon.slides": "Slides",
2706
+ "pptx.chart.axis": "Axis",
2707
+ "pptx.chart.axisColor": "Axis Color",
2708
+ "pptx.chart.axisFontColor": "Axis Font Color",
2709
+ "pptx.chart.axisFontSize": "Axis Font Size",
2710
+ "pptx.chart.axisMaximum": "Maximum Bound",
2711
+ "pptx.chart.axisMinimum": "Minimum Bound",
2712
+ "pptx.chart.customMinus": "Negative Error Value",
2713
+ "pptx.chart.customPlus": "Positive Error Value",
2714
+ "pptx.chart.dataLabelPosition": "Data Label Position",
2715
+ "pptx.chart.dataPointColor": "Data Point Color",
2716
+ "pptx.chart.dataPointIndex": "Data Point Index",
2717
+ "pptx.chart.dataPointMarker": "Data Point Marker",
2718
+ "pptx.chart.errorBarColor": "Error Bar Color",
2719
+ "pptx.chart.errorBarDirection": "Error Bar Direction",
2720
+ "pptx.chart.errorBarType": "Error Bar Type",
2721
+ "pptx.chart.forecastBackward": "Forecast Backward",
2722
+ "pptx.chart.forecastForward": "Forecast Forward",
2723
+ "pptx.chart.invertIfNegative": "Invert if Negative",
2724
+ "pptx.chart.marker": "Marker Type",
2725
+ "pptx.chart.markerOutline": "Marker Outline",
2726
+ "pptx.chart.noEndCap": "No End Cap",
2727
+ "pptx.chart.reverseOrder": "Values in Reverse Order",
2728
+ "pptx.chart.secondaryAxis": "Secondary Axis",
2729
+ "pptx.chart.seriesType": "Series Chart Type",
2730
+ "pptx.chart.showCategory": "Show Category Name",
2731
+ "pptx.chart.showLeaderLines": "Show Leader Lines",
2732
+ "pptx.chart.showPercentage": "Show Percentage",
2733
+ "pptx.chart.showSeriesName": "Show Series Name",
2734
+ "pptx.chart.showValue": "Show Value",
2735
+ "pptx.chart.tickLabelPosition": "Tick Label Position",
2736
+ "pptx.chart.trendlineColor": "Trendline Color",
2737
+ "pptx.chart.trendlineIntercept": "Trendline Intercept",
2738
+ "pptx.chart.trendlineOrder": "Trendline Order",
2739
+ "pptx.chart.trendlinePeriod": "Trendline Period",
2740
+ "pptx.table.alignment": "Alignment",
2741
+ "pptx.table.borderColor": "Border Color",
2742
+ "pptx.table.borderWidth": "Border Width",
2743
+ "pptx.table.gradientEnd": "Gradient End",
2744
+ "pptx.table.gradientStart": "Gradient Start",
2745
+ "pptx.table.styleId": "Style ID",
2746
+ "pptx.table.totalRow": "Total Row",
2747
+ "pptx.table.verticalAlignment": "Vertical Alignment",
2748
+ "pptx.format.bold": "Bold",
2749
+ "pptx.format.italic": "Italic",
2750
+ "pptx.format.underline": "Underline",
2751
+ "pptx.textAdvanced.characterSpacing": "Character Spacing",
2752
+ "pptx.textAdvanced.direction": "Text Direction",
2753
+ "pptx.textAdvanced.direction.horizontal": "Horizontal",
2754
+ "pptx.textAdvanced.direction.vertical": "Rotate all text 90°",
2755
+ "pptx.textAdvanced.direction.vertical270": "Rotate all text 270°",
2756
+ "pptx.textAdvanced.direction.eaVert": "East Asian vertical",
2757
+ "pptx.textAdvanced.direction.wordArtVert": "Stacked",
2758
+ "pptx.textAdvanced.direction.wordArtVertRtl": "Stacked, right to left",
2759
+ "pptx.textAdvanced.direction.mongolianVert": "Mongolian vertical",
2760
+ "pptx.textAdvanced.lineSpacing": "Line Spacing",
2761
+ "pptx.textAdvanced.lineSpacingExact": "Line Spacing (Exact)",
2762
+ "pptx.textAdvanced.marginLeft": "Left Margin",
2763
+ "pptx.textEffects.adjustment": "Adjustment",
2764
+ "pptx.textEffects.glowColor": "Glow Color",
2765
+ "pptx.textEffects.outline": "Text Outline",
2766
+ "pptx.textEffects.outlineWidth": "Outline Width",
2767
+ "pptx.textEffects.shadowColor": "Shadow Color",
2768
+ "pptx.textEffects.transform": "Transform",
2769
+ "pptx.textFormatting.columns": "Columns",
2770
+ "pptx.textFormatting.columnSpacing": "Column Spacing",
2771
+ "pptx.textFormatting.strikethrough": "Strikethrough",
2772
+ "pptx.shape.shadowDistance": "Shadow Distance",
2773
+ "pptx.shape.softEdges": "Soft Edges",
2774
+ "pptx.image.duotoneDark": "Duotone Dark",
2775
+ "pptx.image.duotoneLight": "Duotone Light",
2776
+ "pptx.media.autoPlay": "Play Automatically",
2777
+ "pptx.media.captions": "Captions",
2778
+ "pptx.media.playbackSpeed": "Playback Speed",
2779
+ "pptx.media.trimEnd": "Trim End",
2780
+ "pptx.media.trimStart": "Trim Start",
2781
+ "pptx.smartArt.fillColor": "Fill Color",
2782
+ "pptx.theme.primary": "Primary",
2783
+ "pptx.theme.background": "Background",
2784
+ "pptx.theme.foreground": "Foreground",
2785
+ "pptx.theme.border": "Border",
2786
+ "pptx.print.range": "Slide Range",
2787
+ "pptx.print.pureBlackWhite": "Pure Black and White",
2788
+ "pptx.documentProperties.summary.title": "Title",
2789
+ "pptx.documentProperties.summary.subject": "Subject",
2790
+ "pptx.documentProperties.summary.author": "Author",
2791
+ "pptx.documentProperties.summary.keywords": "Keywords",
2792
+ "pptx.animations.galleryAria": "Add Animation: Entrance, Emphasis, and Exit effects",
2793
+ "pptx.backstage.nav.home": "Home",
2794
+ "pptx.backstage.nav.new": "New",
2795
+ "pptx.backstage.nav.open": "Open",
2796
+ "pptx.backstage.nav.info": "Info",
2797
+ "pptx.backstage.nav.save": "Save",
2798
+ "pptx.backstage.nav.saveAs": "Save As",
2799
+ "pptx.backstage.nav.print": "Print",
2800
+ "pptx.backstage.nav.share": "Share",
2801
+ "pptx.backstage.nav.export": "Export",
2802
+ "pptx.backstage.nav.close": "Close",
2803
+ "pptx.backstage.nav.account": "Account",
2804
+ "pptx.backstage.nav.options": "Options",
2805
+ "pptx.backstage.title": "File",
2806
+ "pptx.backstage.back": "Back to presentation",
2807
+ "pptx.backstage.greeting": "Good evening",
2808
+ "pptx.backstage.newHeading": "New",
2809
+ "pptx.backstage.searchPlaceholder": "Search recent presentations",
2810
+ "pptx.backstage.browseDevice": "Browse this device",
2811
+ "pptx.backstage.recentHeading": "Recent",
2812
+ "pptx.backstage.columnName": "Name",
2813
+ "pptx.backstage.columnModified": "Date modified",
2814
+ "pptx.backstage.columnSize": "Size",
2815
+ "pptx.backstage.noRecent": "No recent presentations yet.",
2816
+ "pptx.backstage.untitled": "Untitled Presentation.pptx",
2817
+ "pptx.backstage.savedToBrowser": "Saved to this browser",
2818
+ "pptx.backstage.browserStorage": "Browser storage",
2819
+ "pptx.backstage.justNow": "Just now",
2820
+ "pptx.backstage.minutesAgo": "{{count}} min ago",
2821
+ "pptx.backstage.hoursAgo": "{{count}} hr ago",
2822
+ "pptx.backstage.optionsTitle": "PowerPoint Options",
2823
+ "pptx.backstage.optionsBody": "Configure autosave, proofing, grid, rulers, language, theme, and keyboard shortcuts.",
2824
+ "pptx.backstage.openOptions": "Open Options",
2825
+ "pptx.backstage.template.blank.name": "Blank Presentation",
2826
+ "pptx.backstage.template.blank.description": "Start with a clean canvas",
2827
+ "pptx.backstage.template.warm.name": "Warm Welcome",
2828
+ "pptx.backstage.template.warm.description": "Bold editorial title slides",
2829
+ "pptx.backstage.template.geometry.name": "Geometric",
2830
+ "pptx.backstage.template.geometry.description": "Modern shapes and strong contrast",
2831
+ "pptx.backstage.template.mono.name": "Urban Monochrome",
2832
+ "pptx.backstage.template.mono.description": "Architectural black and white",
2833
+ "pptx.backstage.template.earth.name": "Earthy Inspiration",
2834
+ "pptx.backstage.template.earth.description": "Natural, calm presentation system",
2835
+ "pptx.backstage.template.future.name": "Future Forward",
2836
+ "pptx.backstage.template.future.description": "Clean technology storytelling",
2837
+ "pptx.backstage.card.protect.title": "Protect Presentation",
2838
+ "pptx.backstage.card.protect.body": "Control what changes people can make to this presentation.",
2839
+ "pptx.backstage.card.inspect.title": "Inspect Presentation",
2840
+ "pptx.backstage.card.inspect.body": "Review document properties, accessibility, and hidden content.",
2841
+ "pptx.backstage.card.embedFonts.title": "Embed Fonts",
2842
+ "pptx.backstage.card.embedFonts.body": "Keep typography consistent when the file moves between devices.",
2843
+ "pptx.backstage.card.signatures.title": "Digital Signatures",
2844
+ "pptx.backstage.card.signatures.body": "View and manage signatures attached to this presentation.",
2845
+ "pptx.backstage.card.versionHistory.title": "Version History",
2846
+ "pptx.backstage.card.versionHistory.body": "Restore or remove the latest recovery snapshot.",
2847
+ "pptx.backstage.card.saveAsPptx.title": "PowerPoint Presentation",
2848
+ "pptx.backstage.card.saveAsPptx.body": "Save an editable .pptx copy.",
2849
+ "pptx.backstage.card.saveAsPpsx.title": "PowerPoint Show",
2850
+ "pptx.backstage.card.saveAsPpsx.body": "Save a .ppsx file that opens directly in slide show.",
2851
+ "pptx.backstage.card.saveAsPptm.title": "Macro-Enabled Presentation",
2852
+ "pptx.backstage.card.saveAsPptm.body": "Preserve VBA content in a .pptm file.",
2853
+ "pptx.backstage.card.package.title": "Package for Sharing",
2854
+ "pptx.backstage.card.package.body": "Bundle the presentation and linked assets.",
2855
+ "pptx.backstage.card.pdf.title": "Create PDF",
2856
+ "pptx.backstage.card.pdf.body": "Publish a portable document with one page per slide.",
2857
+ "pptx.backstage.card.png.title": "Export current slide",
2858
+ "pptx.backstage.card.png.body": "Create a high-quality PNG image.",
2859
+ "pptx.backstage.card.video.title": "Create a Video",
2860
+ "pptx.backstage.card.video.body": "Export slide timings and animations as WebM.",
2861
+ "pptx.backstage.card.gif.title": "Create an Animated GIF",
2862
+ "pptx.backstage.card.gif.body": "Make a compact looping preview.",
2863
+ "pptx.backstage.card.copyImage.title": "Copy as Image",
2864
+ "pptx.backstage.card.copyImage.body": "Copy the current slide to the clipboard.",
2865
+ "pptx.backstage.card.print.title": "Print Presentation",
2866
+ "pptx.backstage.card.print.body": "Choose a printer, layout, copies, and output settings in your browser print dialog.",
2867
+ "pptx.backstage.card.share.title": "Share with People",
2868
+ "pptx.backstage.card.share.body": "Invite collaborators and work on the presentation together.",
2869
+ "pptx.backstage.card.sharePackage.title": "Package for Sharing",
2870
+ "pptx.backstage.card.sharePackage.body": "Download a self-contained package for offline sharing."
2650
2871
  };
2651
2872
  function n(e) {
2652
2873
  return (e.split(".").pop() ?? e).replace(/(?<lower>[a-z])(?<upper>[A-Z])/gu, "$<lower> $<upper>").replace(/^./u, (t) => t.toUpperCase());
2653
2874
  }
2654
- var x = [
2875
+ var d = [
2655
2876
  {
2656
2877
  code: "en",
2657
2878
  label: "English",
@@ -2673,7 +2894,7 @@ var x = [
2673
2894
  nativeLabel: "Deutsch"
2674
2895
  }
2675
2896
  ], i = /* @__PURE__ */ new Map([["en", r]]);
2676
- function d(e, t) {
2897
+ function x(e, t) {
2677
2898
  const p = i.get(e);
2678
2899
  i.set(e, p ? {
2679
2900
  ...p,
@@ -2699,9 +2920,9 @@ function m(e) {
2699
2920
  export {
2700
2921
  l as a,
2701
2922
  r as c,
2702
- d as i,
2923
+ x as i,
2703
2924
  c as n,
2704
- x as o,
2925
+ d as o,
2705
2926
  s as r,
2706
2927
  n as s,
2707
2928
  m as t
@@ -0,0 +1,23 @@
1
+ import { PptxAiBridge, PptxAiUIMessage } from 'pptx-viewer-shared/ai';
2
+ export interface ChatHistoryPersistenceDeps {
3
+ bridge: PptxAiBridge;
4
+ /** The live transcript (read reactively). */
5
+ getMessages(): PptxAiUIMessage[];
6
+ /** Title used until the transcript has enough text to derive one from. */
7
+ getUntitledLabel(): string;
8
+ }
9
+ /**
10
+ * Persist the running transcript to the shared chat-history store.
11
+ *
12
+ * Write half only: the export in File > Options > AI is what reads it back.
13
+ * The deck id and chat id are captured once (`untrack`) so every save in a
14
+ * session updates the same record instead of spawning a new one per keystroke,
15
+ * and the write is debounced because the transcript changes on every streamed
16
+ * token.
17
+ *
18
+ * Registers an `$effect`, so it must be called during component
19
+ * initialization. Extracted from `AiChatPanel.svelte` to keep that file within
20
+ * the repo's file-size budget.
21
+ */
22
+ export declare function useChatHistoryPersistence(deps: ChatHistoryPersistenceDeps): void;
23
+ //# sourceMappingURL=ai-chat-persistence.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-chat-persistence.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/ai/ai-chat-persistence.svelte.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQ3E,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,6CAA6C;IAC7C,WAAW,IAAI,eAAe,EAAE,CAAC;IACjC,0EAA0E;IAC1E,gBAAgB,IAAI,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAyBhF"}
@@ -0,0 +1,47 @@
1
+ import { PptxTheme, PptxThemeColorScheme } from 'pptx-viewer-core';
2
+ import { PresetTheme } from 'pptx-viewer-shared';
3
+ /** The three commit channels the panel pushes each edit out through. */
4
+ export interface ThemeEditorCommits {
5
+ onupdatecolorscheme: (colorScheme: PptxThemeColorScheme) => void;
6
+ onupdatefontscheme: (fontScheme: {
7
+ majorFont: {
8
+ latin: string;
9
+ };
10
+ minorFont: {
11
+ latin: string;
12
+ };
13
+ }) => void;
14
+ onupdatename: (name: string) => void;
15
+ }
16
+ /**
17
+ * The theme editor's working copy.
18
+ *
19
+ * The panel edits this copy and pushes every change out through the
20
+ * `onupdate*` callbacks, exactly like React's `ThemeEditorPanel`: the host owns
21
+ * the committed theme, so the panel never mutates the `theme` prop.
22
+ *
23
+ * `initialTheme` is captured with `untrack` at construction, which is
24
+ * load-bearing twice over: it seeds the working copy without the read counting
25
+ * as a reactive dependency (Svelte warns otherwise), and it pins the value
26
+ * {@link reset} reverts to, so Reset still restores the file's theme after a
27
+ * dozen edits have flowed back in through the `theme` prop.
28
+ */
29
+ export declare class ThemeEditorState {
30
+ #private;
31
+ colors: PptxThemeColorScheme;
32
+ majorFont: string;
33
+ minorFont: string;
34
+ name: string;
35
+ /** The swatch whose colour picker is open, or null when none is. */
36
+ activePickerKey: keyof PptxThemeColorScheme | null;
37
+ constructor(getTheme: () => PptxTheme | undefined, commits: ThemeEditorCommits);
38
+ setColor(key: keyof PptxThemeColorScheme, hex: string): void;
39
+ /** Accept a typed hex only once it is a complete 6-digit value. */
40
+ setColorText(hex: string): void;
41
+ setFonts(major: string, minor: string): void;
42
+ setName(name: string): void;
43
+ selectPreset(preset: PresetTheme): void;
44
+ /** Revert the working copy to the theme as loaded from the file. */
45
+ reset(): void;
46
+ }
47
+ //# sourceMappingURL=theme-editor-state.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-editor-state.svelte.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/inspector/theme-editor-state.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IAClC,mBAAmB,EAAE,CAAC,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACjE,kBAAkB,EAAE,CAAC,UAAU,EAAE;QAChC,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,KAAK,IAAI,CAAC;IACX,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;;IAI5B,MAAM,uBAA8D;IACpE,SAAS,SAAyB;IAClC,SAAS,SAAyB;IAClC,IAAI,SAA0B;IAC9B,oEAAoE;IACpE,eAAe,oCAAmD;gBAEtD,QAAQ,EAAE,MAAM,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE,kBAAkB;IAU9E,QAAQ,CAAC,GAAG,EAAE,MAAM,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK5D,mEAAmE;IACnE,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM/B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAS5C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAQvC,oEAAoE;IACpE,KAAK,IAAI,IAAI;CAcb"}
@@ -0,0 +1,104 @@
1
+ import { PptxSection, PptxSlide, TextSegment } from 'pptx-viewer-core';
2
+ import { CanvasSize, ToolbarActionId } from 'pptx-viewer-shared';
3
+ import { ExportUiState } from '../export/export-ui.svelte';
4
+ import { AutosaveStatus } from '../state/autosave.svelte';
5
+ /**
6
+ * Prop contracts for the viewer chrome around the canvas: the compact
7
+ * toolbar, the thumbnail rail, and the speaker-notes panel. Split out of
8
+ * `props.ts` for the repo's file-size budget; import them from `./props`,
9
+ * which re-exports this module.
10
+ */
11
+ export interface ViewerToolbarProps {
12
+ /** Active slide (0-based). */
13
+ current: number;
14
+ total: number;
15
+ /** Currently-effective zoom percent (rounded). */
16
+ zoomPercent: number;
17
+ isFullscreen: boolean;
18
+ onprev: () => void;
19
+ onnext: () => void;
20
+ onzoomin: () => void;
21
+ onzoomout: () => void;
22
+ onzoomfit: () => void;
23
+ onfullscreen: () => void;
24
+ /** Whether the Notes toggle button is shown (host has a notes panel). */
25
+ showNotes?: boolean;
26
+ /** Whether the notes panel is currently expanded (drives the pressed state). */
27
+ notesExpanded?: boolean;
28
+ onnotestoggle?: () => void;
29
+ /** Show the editing action group (Undo / Redo / Save). Default false. */
30
+ editable?: boolean;
31
+ /** Whether an undo step is available (drives the Undo button's disabled state). */
32
+ canUndo?: boolean;
33
+ /** Whether a redo step is available (drives the Redo button's disabled state). */
34
+ canRedo?: boolean;
35
+ /** Whether there are unsaved edits (drives the Save button's emphasis). */
36
+ dirty?: boolean;
37
+ onundo?: () => void;
38
+ onredo?: () => void;
39
+ onsave?: () => void;
40
+ ondownload?: () => void;
41
+ /**
42
+ * Autosave lifecycle status; when set (host opted into `autosave`) a small
43
+ * status pill renders in the editing group. Omit to hide the pill entirely.
44
+ */
45
+ autosaveStatus?: AutosaveStatus;
46
+ /** Whether there are unsaved autosave edits (drives the pill's "dirty" tone). */
47
+ autosaveDirty?: boolean;
48
+ /**
49
+ * Export menu state (PNG / PDF / GIF / video / print). When set, the
50
+ * toolbar renders the `ExportMenu` dropdown in its right-hand group,
51
+ * matching the export affordance the React/Vue/Angular chrome exposes.
52
+ * Omit to hide the menu (e.g. while no presentation is loaded).
53
+ */
54
+ exportUi?: ExportUiState;
55
+ /** Opens the Share (collaboration) dialog. Omit to hide the button. */
56
+ onshare?: () => void;
57
+ /** Opens the Broadcast dialog. Omit to hide the button. */
58
+ onbroadcast?: () => void;
59
+ /** Whether a collaboration session is currently active (highlights the Share button). */
60
+ collabActive?: boolean;
61
+ /** Toolbar buttons to hide; see `PowerPointViewerProps.hiddenActions`. Default undefined: nothing hidden. */
62
+ hiddenActions?: ToolbarActionId[];
63
+ }
64
+ export interface ThumbnailRailProps {
65
+ slides: PptxSlide[];
66
+ canvasSize: CanvasSize;
67
+ mediaDataUrls: Map<string, string>;
68
+ current: number;
69
+ onselect: (index: number) => void;
70
+ /** Enables native thumbnail drag-and-drop slide reordering. */
71
+ editable?: boolean;
72
+ onmove?: (fromIndex: number, toIndex: number) => void;
73
+ /**
74
+ * Inserts a new blank slide (React's sidebar "+ Add Slide" button). The
75
+ * button is pinned below the scrollable list and only renders while
76
+ * `editable` is set and this callback is provided.
77
+ */
78
+ onaddslide?: () => void;
79
+ sections?: PptxSection[];
80
+ onsectiontoggle?: (sectionId: string) => void;
81
+ onsectionrename?: (sectionId: string, name: string) => void;
82
+ onsectiondelete?: (sectionId: string) => void;
83
+ onsectionmove?: (sectionId: string, direction: 'up' | 'down') => void;
84
+ }
85
+ export interface NotesPanelProps {
86
+ /** Active slide; the panel reads/edits its plain-text speaker notes. */
87
+ slide: PptxSlide | undefined;
88
+ /**
89
+ * Whether the panel body is expanded. Controlled by the host so the
90
+ * toolbar's Notes toggle and the panel's own header stay in sync.
91
+ */
92
+ expanded?: boolean;
93
+ /**
94
+ * Called with the committed plain-text notes (on `change` / `blur`) when
95
+ * the user edits the textarea. This binding has no built-in slide-mutation
96
+ * channel, so omit this to render a read-only panel; when provided, the
97
+ * host is responsible for writing the text back onto the slide. Mirrors
98
+ * the Vue notes panel's plain-text `update` emit contract.
99
+ */
100
+ onupdate?: (notes: string, segments?: TextSegment[]) => void;
101
+ /** Called when the header is clicked to expand/collapse the panel. */
102
+ ontoggle?: () => void;
103
+ }
104
+ //# sourceMappingURL=props-chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props-chrome.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/props-chrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IAClC,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yFAAyF;IACzF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6GAA6G;IAC7G,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,eAAe;IAC/B,wEAAwE;IACxE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -0,0 +1,86 @@
1
+ import { PptxElement } from 'pptx-viewer-core';
2
+ import { ResizeHandleId, SnapLine } from 'pptx-viewer-shared';
3
+ import { ContextMenuCellTarget } from '../editor/context-menu-dispatch';
4
+ import { EditorController } from '../editor/editor-controller.svelte';
5
+ import { EditorMarqueeRect } from '../editor/editor-selection-gestures';
6
+ import { EditorState } from '../editor/editor-state.svelte';
7
+ import { OverlayBox } from '../editor/types';
8
+ /**
9
+ * Prop contracts for the on-canvas editing layer: the selection overlay, the
10
+ * inline text editor, and the right-click context menu. Split out of
11
+ * `props.ts` for the repo's file-size budget; import them from `./props`,
12
+ * which re-exports this module.
13
+ */
14
+ /** Props for the selection overlay (box + 8 resize handles + rotate handle). */
15
+ export interface SelectionOverlayProps {
16
+ /** Selection box in element (unscaled slide) px, or null to hide it. */
17
+ box: OverlayBox | null;
18
+ /** Stage scale (screen px per element px) applied when positioning. */
19
+ scale: number;
20
+ /** Transient snap-alignment lines (element px). */
21
+ snapLines: readonly SnapLine[];
22
+ /** Hide the box/handles while the inline text editor is open. */
23
+ editing?: boolean;
24
+ /** Number of selected elements; collective boxes do not expose rotation. */
25
+ selectionCount?: number;
26
+ /** In-progress empty-canvas marquee rectangle. */
27
+ marquee?: EditorMarqueeRect | null;
28
+ onhandlepointerdown: (handle: ResizeHandleId, event: PointerEvent) => void;
29
+ onrotatepointerdown: (event: PointerEvent) => void;
30
+ }
31
+ /** Props for the inline (double-click) text editing surface. */
32
+ export interface InlineTextEditorProps {
33
+ /** The element being edited (seeds the initial text + font hints). */
34
+ element: PptxElement;
35
+ /** The element's box in element px (positioning). */
36
+ box: OverlayBox;
37
+ /** Stage scale (screen px per element px). */
38
+ scale: number;
39
+ spellCheck?: boolean;
40
+ /** Called with the edited plain text on every keystroke (live preview only). */
41
+ oninput?: (text: string) => void;
42
+ /** Called with the edited plain text on commit (only when it changed). */
43
+ oncommit: (text: string) => void;
44
+ /** Called after the surface closes (commit or cancel). */
45
+ onclose: () => void;
46
+ }
47
+ /** Props for the editing layer (selection overlay + inline editor over the stage). */
48
+ export interface EditorLayerProps {
49
+ /** The reactive editing orchestrator (owns overlay/snap/inline state). */
50
+ controller: EditorController;
51
+ /** Stage scale (screen px per element px). */
52
+ scale: number;
53
+ spellCheck?: boolean;
54
+ }
55
+ /**
56
+ * Where the canvas context menu opened, and on which table cell.
57
+ *
58
+ * Owned by the viewer shell and handed straight to `ElementContextMenu`; the
59
+ * cell is what turns the shared menu's table block on and gives it a target.
60
+ */
61
+ export interface StageContextMenu {
62
+ x: number;
63
+ y: number;
64
+ cell: ContextMenuCellTarget | null;
65
+ }
66
+ /** Position and callbacks for the editable element context menu. */
67
+ export interface ElementContextMenuProps {
68
+ x: number;
69
+ y: number;
70
+ editor: EditorState;
71
+ /**
72
+ * The table cell the right-click landed on, which is what gates (and
73
+ * targets) the row / column / merge commands. Null for every other click.
74
+ */
75
+ cell?: ContextMenuCellTarget | null;
76
+ /** "Ask AI about this" action (shown only when the host enables the `ai` prop). */
77
+ onaskai?: () => void;
78
+ /** "Fix with AI" action (shown only when the host enables the `ai` prop). */
79
+ onfixai?: () => void;
80
+ /** "Add Comment": opens the inspector's Comments tab (mirrors React). */
81
+ oncomment?: () => void;
82
+ /** "Edit Hyperlink": opens the hyperlink dialog for the selected element. */
83
+ onhyperlink?: () => void;
84
+ onclose: () => void;
85
+ }
86
+ //# sourceMappingURL=props-editing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props-editing.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/props-editing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AAEH,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACrC,wEAAwE;IACxE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3E,mBAAmB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACnD;AAED,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACrC,sEAAsE;IACtE,OAAO,EAAE,WAAW,CAAC;IACrB,qDAAqD;IACrD,GAAG,EAAE,UAAU,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAChC,0EAA0E;IAC1E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACnC;AAED,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpC,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB"}