pptx-react-viewer 4.29.0 → 4.30.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 (63) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +37 -36
  3. package/dist/{AiChatPanel-AK6X4NJD.js → AiChatPanel-7XZQQZ4P.js} +9 -9
  4. package/dist/AiChatPanel-7XZQQZ4P.js.br +0 -0
  5. package/dist/AiChatPanel-7XZQQZ4P.js.gz +0 -0
  6. package/dist/{AiChatPanel-6EIOUV7J.mjs → AiChatPanel-XI272UTZ.mjs} +1 -1
  7. package/dist/AiChatPanel-XI272UTZ.mjs.br +0 -0
  8. package/dist/AiChatPanel-XI272UTZ.mjs.gz +0 -0
  9. package/dist/{chunk-K3EGXT6W.js → chunk-355ICDU6.js} +262 -258
  10. package/dist/chunk-355ICDU6.js.br +0 -0
  11. package/dist/chunk-355ICDU6.js.gz +0 -0
  12. package/dist/{chunk-VI575UU6.mjs → chunk-ATGP75C4.mjs} +66 -56
  13. package/dist/chunk-ATGP75C4.mjs.br +0 -0
  14. package/dist/chunk-ATGP75C4.mjs.gz +0 -0
  15. package/dist/{chunk-EW45F35P.mjs → chunk-CHZJORUW.mjs} +19 -15
  16. package/dist/chunk-CHZJORUW.mjs.br +0 -0
  17. package/dist/chunk-CHZJORUW.mjs.gz +0 -0
  18. package/dist/{chunk-6YOFWVII.mjs → chunk-FPACF36E.mjs} +16 -15
  19. package/dist/chunk-FPACF36E.mjs.br +0 -0
  20. package/dist/chunk-FPACF36E.mjs.gz +0 -0
  21. package/dist/{chunk-7JMO6R6B.js → chunk-M2AKDETN.js} +396 -395
  22. package/dist/chunk-M2AKDETN.js.br +0 -0
  23. package/dist/chunk-M2AKDETN.js.gz +0 -0
  24. package/dist/{chunk-CTL42ZRR.js → chunk-XRFJ7TAF.js} +65 -55
  25. package/dist/chunk-XRFJ7TAF.js.br +0 -0
  26. package/dist/chunk-XRFJ7TAF.js.gz +0 -0
  27. package/dist/index.d.ts +5 -0
  28. package/dist/index.js +24 -24
  29. package/dist/index.js.br +0 -0
  30. package/dist/index.js.gz +0 -0
  31. package/dist/index.mjs +3 -3
  32. package/dist/index.mjs.br +0 -0
  33. package/dist/index.mjs.gz +0 -0
  34. package/dist/internals.js +81 -81
  35. package/dist/internals.js.br +0 -0
  36. package/dist/internals.js.gz +0 -0
  37. package/dist/internals.mjs +2 -2
  38. package/dist/internals.mjs.br +0 -0
  39. package/dist/internals.mjs.gz +0 -0
  40. package/dist/viewer/index.d.ts +5 -0
  41. package/dist/viewer/index.js +19 -19
  42. package/dist/viewer/index.js.br +0 -0
  43. package/dist/viewer/index.js.gz +0 -0
  44. package/dist/viewer/index.mjs +3 -3
  45. package/dist/viewer/index.mjs.br +0 -0
  46. package/dist/viewer/index.mjs.gz +0 -0
  47. package/package.json +3 -3
  48. package/dist/AiChatPanel-6EIOUV7J.mjs.br +0 -0
  49. package/dist/AiChatPanel-6EIOUV7J.mjs.gz +0 -0
  50. package/dist/AiChatPanel-AK6X4NJD.js.br +0 -0
  51. package/dist/AiChatPanel-AK6X4NJD.js.gz +0 -0
  52. package/dist/chunk-6YOFWVII.mjs.br +0 -0
  53. package/dist/chunk-6YOFWVII.mjs.gz +0 -0
  54. package/dist/chunk-7JMO6R6B.js.br +0 -0
  55. package/dist/chunk-7JMO6R6B.js.gz +0 -0
  56. package/dist/chunk-CTL42ZRR.js.br +0 -0
  57. package/dist/chunk-CTL42ZRR.js.gz +0 -0
  58. package/dist/chunk-EW45F35P.mjs.br +0 -0
  59. package/dist/chunk-EW45F35P.mjs.gz +0 -0
  60. package/dist/chunk-K3EGXT6W.js.br +0 -0
  61. package/dist/chunk-K3EGXT6W.js.gz +0 -0
  62. package/dist/chunk-VI575UU6.mjs.br +0 -0
  63. package/dist/chunk-VI575UU6.mjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,78 @@ 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.30.1](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.30.1) - 2026-10-08
11
+
12
+ ### Bug Fixes
13
+
14
+ - **ui:** Keep thin pptx strokes at least one device pixel on screen ([bb1df44](https://github.com/ChristopherVR/ooxml/commit/bb1df4463b9321ce6b57214037ac938bb1d33296))
15
+ - **pptx:** Keep unedited empty table cells free of a:tcPr ([01d4f3d](https://github.com/ChristopherVR/ooxml/commit/01d4f3d36d5acd4fb795b4f33018efa0e3482b06))
16
+ - **pptx:** Default an absent c:gapWidth to 150 ([e16f565](https://github.com/ChristopherVR/ooxml/commit/e16f5651541cfbba9b7a1280e58463c041e507d9))
17
+
18
+ ### Refactor
19
+
20
+ - **pptx:** Share the chart XML presence check for a:noFill ([ad7bae0](https://github.com/ChristopherVR/ooxml/commit/ad7bae0ea91758a2e7dcb581c2f472da394e5eb4))
21
+
22
+ ## [4.30.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.30.0) - 2026-10-08
23
+
24
+ ### Features
25
+
26
+ - **chart:** Add the neutral chartSpace model ([2544c31](https://github.com/ChristopherVR/ooxml/commit/2544c31319b5cc723b26a2c37b519719693f62b8))
27
+ - **chart:** Parse chart parts from the shared DOM ([49c1b76](https://github.com/ChristopherVR/ooxml/commit/49c1b76e41b5fac972c52a5d8169e9ad14478cfd))
28
+ - **opc:** Patch property parts in place and model app statistics ([66c4cf1](https://github.com/ChristopherVR/ooxml/commit/66c4cf1043d73a6df05131d813cbae7f5af6e35e))
29
+ - **chart:** Write chartSpace parts from the neutral model ([bf6920f](https://github.com/ChristopherVR/ooxml/commit/bf6920fb553ff32c32c3edf9bff652cad3bd71ac))
30
+ - **chart:** Accept text bodies given as XML and drop invalid characters ([816830f](https://github.com/ChristopherVR/ooxml/commit/816830fa29a42491d72b835a9b6eb7b5a617f234))
31
+ - **chart:** Render chartSpace parts to svg ([eb2c12f](https://github.com/ChristopherVR/ooxml/commit/eb2c12f877c0f4c7521a9d71e323120fb9084ca6))
32
+ - **chart:** Model display units, data tables and walls ([b95531a](https://github.com/ChristopherVR/ooxml/commit/b95531a3ff55f09c83676291c4b4857d1943189c))
33
+ - **ui:** Add showCompatibilityToasts root option ([992adda](https://github.com/ChristopherVR/ooxml/commit/992adda597325f8d2c9ca5fcbf612ac4da1b65c0))
34
+ - **opc:** Support shared suite files and embedded editing ([41614b1](https://github.com/ChristopherVR/ooxml/commit/41614b10ef62522fe2dceae695b478b53cca293a))
35
+
36
+ ### Bug Fixes
37
+
38
+ - **chart:** Paint coincident linear stops as the native one-step ramp ([eabbc5e](https://github.com/ChristopherVR/ooxml/commit/eabbc5e3dc968f0d40246293238ef88ae7b004f4))
39
+ - **pptx:** List line breaks in slide titles as spaces in app.xml ([45f496a](https://github.com/ChristopherVR/ooxml/commit/45f496ab747f90f7b8764a295c8d0df8414141c0))
40
+ - **pptx:** Export the neutral SmartArt type names from the public entry ([0f081d2](https://github.com/ChristopherVR/ooxml/commit/0f081d260fbaf034129114fcba6137c900dbf846))
41
+ - **chart:** Read the line chart group's own c:smooth ([a5cfd0d](https://github.com/ChristopherVR/ooxml/commit/a5cfd0d45af11e2b2214a9abdc86ce33ba5312be))
42
+ - **ui:** Map chart style numbers to the palettes office uses ([c16145d](https://github.com/ChristopherVR/ooxml/commit/c16145de0c649e401259f25a0cacc06a3f5c409d))
43
+ - **pptx:** Read chart style numbers from the mc:Fallback ([045faf7](https://github.com/ChristopherVR/ooxml/commit/045faf71cadf05f1c9bc4b3155003abe9520b764))
44
+ - **pptx:** Treat a bare data-label switch as on ([637f938](https://github.com/ChristopherVR/ooxml/commit/637f938814baced0d2f72aeca7142e2281db0ca3))
45
+ - **pptx:** Declare c15 and c16 prefixes in chart extension writers ([7b93a01](https://github.com/ChristopherVR/ooxml/commit/7b93a010a77c1ef8433f75fc8d2f3ad810659c75))
46
+ - **pptx:** Repair chart parts this library once saved with undeclared prefixes ([a5f77af](https://github.com/ChristopherVR/ooxml/commit/a5f77af3bf0a2661af35091da920ca707e4fcb96))
47
+ - **pptx:** Paint chart label fonts in every binding ([13493fc](https://github.com/ChristopherVR/ooxml/commit/13493fc180d39cb2622d5f22fd331a9e0abbb781))
48
+ - **pptx:** Build chart style palettes over the deck theme ([7ab9527](https://github.com/ChristopherVR/ooxml/commit/7ab9527743dbb1dc1438d2d3e6e73553b13e54b7))
49
+ - **pptx:** Read each table cell paragraph's own layout ([bcc61f3](https://github.com/ChristopherVR/ooxml/commit/bcc61f3b3e98564e50d018a4a37576f3b237fb57))
50
+ - **pptx:** Lay out table cell paragraphs with their own spacing ([c3db7c5](https://github.com/ChristopherVR/ooxml/commit/c3db7c57596d8f31e24b2d556ed1eea8dddad90a))
51
+ - **pptx:** Save each table cell paragraph's own alignment ([0d43f35](https://github.com/ChristopherVR/ooxml/commit/0d43f3530d5cefd52b98193be98329b4ec66547b))
52
+ - **pptx:** Align every paragraph when a table cell is aligned ([1bb7e7d](https://github.com/ChristopherVR/ooxml/commit/1bb7e7de568a0d8a6808862fd6dc4367782e9686))
53
+ - **pptx:** Skip chart axis lines and gridlines set to no line ([c6a9fcb](https://github.com/ChristopherVR/ooxml/commit/c6a9fcb0fb07498acf6db64d9ee9417339a6f2ac))
54
+ - **pptx:** Apply a table cell run's character spacing ([6d1ee14](https://github.com/ChristopherVR/ooxml/commit/6d1ee148cbd0ea058ae032a7a3b8fe9cdace1ce1))
55
+ - **pptx:** Size an empty table cell from its end paragraph properties ([30da656](https://github.com/ChristopherVR/ooxml/commit/30da656aa60039fff3c912c20cd286dc49055adf))
56
+
57
+ ### Performance
58
+
59
+ - **xml:** Add a lightweight reader for large plain fragments ([5e0318f](https://github.com/ChristopherVR/ooxml/commit/5e0318facba5e0766dd6d1f26172eb94177fe471))
60
+
61
+ ### Refactor
62
+
63
+ - **pptx:** Compile the ui helpers under the strict project ([edbff0a](https://github.com/ChristopherVR/ooxml/commit/edbff0a3fd1863efa394da6c9fe826514fda5f7c))
64
+ - **chart:** Use the Drawing type names ([76bf49c](https://github.com/ChristopherVR/ooxml/commit/76bf49c0a96519816c79375eed1aa9ead84f8b10))
65
+ - **diagram:** Add the neutral SmartArt model types ([b8f4e74](https://github.com/ChristopherVR/ooxml/commit/b8f4e7406362570e085c701dd1e342d534fcc048))
66
+ - **geometry:** Move the preset shape evaluator out of pptx ([c670910](https://github.com/ChristopherVR/ooxml/commit/c670910349b7f6d6d02c335a551518265efde6a9))
67
+ - **diagram:** Move the layout engine out of pptx ([91767c0](https://github.com/ChristopherVR/ooxml/commit/91767c03d4ec9fb2225c47eddd0adc850f187022))
68
+ - **pptx:** Update document properties through opc/properties ([a295f6a](https://github.com/ChristopherVR/ooxml/commit/a295f6a2182eb344e6c9e9a6fe70ba5366268b9c))
69
+ - **diagram:** Port the dgm:choose walkers to ordered XML ([2dfc037](https://github.com/ChristopherVR/ooxml/commit/2dfc0371bb0d4b72e5a3ef4b4cb71bd1a5cb7f81))
70
+ - **diagram:** Move the SmartArt constraint solver into diagram ([bd91ad8](https://github.com/ChristopherVR/ooxml/commit/bd91ad884cf00947957b9620309c885df21d6985))
71
+ - **diagram:** Move the SmartArt interpreter model into diagram ([b24d320](https://github.com/ChristopherVR/ooxml/commit/b24d3200af42eda7c1d7fcc7dcf592202e2fc0f8))
72
+ - **chart:** Move the svg painter into the chart area ([0f9169d](https://github.com/ChristopherVR/ooxml/commit/0f9169d11c5bf92342bc291fdb3f8ef8d84927c5))
73
+ - **pptx:** Build chart models from the neutral parser ([1e38985](https://github.com/ChristopherVR/ooxml/commit/1e389856ae308843d0d86c83b41f6a62284ef1d2))
74
+ - **pptx:** Delete the legacy object-tree chart parser ([b4f0f4f](https://github.com/ChristopherVR/ooxml/commit/b4f0f4f8af4b2eefe49749f5b3c1b1ee7492dba9))
75
+ - **diagram:** Move the SmartArt hierarchy arranger into diagram ([989744c](https://github.com/ChristopherVR/ooxml/commit/989744c5a2ed121eda9b2b11a37815e295c14740))
76
+ - **diagram:** Move the SmartArt layout interpreters into diagram ([3725b73](https://github.com/ChristopherVR/ooxml/commit/3725b7359b5d845012fa7b84b3cddc421446cfbd))
77
+
78
+ ### Testing
79
+
80
+ - **pptx:** Compare chart parts with the neutral parser on every deck ([58b16be](https://github.com/ChristopherVR/ooxml/commit/58b16be72bdcf27e291ff5b9bebc139db9cd3607))
81
+
10
82
  ## [4.29.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.29.0) - 2026-10-08
11
83
 
12
84
  ### Features
package/README.md CHANGED
@@ -91,43 +91,44 @@ const bytes = await viewerRef.current?.getContent(); // Uint8Array of a valid .p
91
91
 
92
92
  ### `PowerPointViewer` props
93
93
 
94
- | Prop | Type | Default | Description |
95
- | -------------------------------------------------------------------------- | --------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
96
- | `content` | `Uint8Array` | required | Raw .pptx file bytes |
97
- | `filePath` | `string` | n/a | Optional file path (for display and autosave recovery) |
98
- | `fileName` | `string` | n/a | Display name of the open document, shown in the title bar |
99
- | `className` | `string` | n/a | Class applied to the root element |
100
- | `canEdit` | `boolean` | `false` | Enable editing mode |
101
- | `initialSlide` | `number` | `0` | Zero-based slide shown after each load, clamped into the deck. |
102
- | `showToolbar` | `boolean` | `true` | Editor chrome: title bar, ribbon, toolbar, banners and status bar. |
103
- | `showThumbnails` | `boolean` | `true` | Slide thumbnail pane. |
104
- | `fonts` | `ViewerFontSource[]` | n/a | Licensed font sources supplied by the host application |
105
- | `authorName` | `string` | n/a | Author name for comments/annotations and collaboration presence |
106
- | `collaboration` | `CollaborationConfig` | n/a | Yjs real-time collaboration config (server URL, room, role) |
107
- | `shareDefaults` | `{ roomId?, userName?, serverUrl? }` | n/a | Seed values for the Share dialog fields |
108
- | `smartArt3D` | `boolean` | `false` | Opt-in Three.js 3D SmartArt renderer (needs the optional `three` dependency; falls back to SVG without it) |
109
- | `surfaceChart3D`, `barChart3D`, `lineChart3D`, `areaChart3D`, `pieChart3D` | `boolean` | `false` | Independently opt in to interactive Three.js renderers for the matching 3D chart kinds; each falls back to SVG when WebGL is unavailable. |
110
- | `ai` | `PptxAiConfig` | n/a | Optional AI assistant configuration. The SDK peers load only when its panel is opened. |
111
- | `onOpenFile` | `() => void` | n/a | Host override for File > Open; bypasses the built-in file picker |
112
- | `onContentChange` | `(content: Uint8Array) => void` | n/a | Called with freshly serialised `.pptx` bytes when the content changes |
113
- | `onDirtyChange` | `(isDirty: boolean) => void` | n/a | Called when dirty state changes |
114
- | `onActiveSlideChange` | `(index: number) => void` | n/a | Called when the active slide changes |
115
- | `onModeChange` | `(mode: ViewerMode) => void` | n/a | Called when the viewer mode changes |
116
- | `onZoomChange` | `(zoom: number) => void` | n/a | Called when the zoom level changes |
117
- | `onSelectionChange` | `(ids: string[]) => void` | n/a | Called when element selection changes |
118
- | `onSlideCountChange` | `(count: number) => void` | n/a | Called when the total slide count changes |
119
- | `onStartCollaboration` | `(config: CollaborationConfig) => void` | n/a | Called when the user starts a collaboration session from the Share dialog |
120
- | `onStopCollaboration` | `() => void` | n/a | Called when the collaboration session stops |
121
- | `theme` | `ViewerTheme` | n/a | Theme configuration for customising colours, radius, and CSS vars |
122
- | `hiddenActions` | `ToolbarActionId[]` | n/a | Hide individual toolbar buttons and/or ribbon tabs (e.g. `['share', 'broadcast']`) instead of the whole toolbar; omitted hides nothing |
94
+ | Prop | Type | Default | Description |
95
+ | -------------------------------------------------------------------------- | --------------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
96
+ | `content` | `Uint8Array` | required | Raw .pptx file bytes |
97
+ | `filePath` | `string` | n/a | Optional file path (for display and autosave recovery) |
98
+ | `fileName` | `string` | n/a | Display name of the open document, shown in the title bar |
99
+ | `className` | `string` | n/a | Class applied to the root element |
100
+ | `canEdit` | `boolean` | `false` | Enable editing mode |
101
+ | `initialSlide` | `number` | `0` | Zero-based slide shown after each load, clamped into the deck. |
102
+ | `showToolbar` | `boolean` | `true` | Editor chrome: title bar, ribbon, toolbar, banners and status bar. |
103
+ | `showThumbnails` | `boolean` | `true` | Slide thumbnail pane. |
104
+ | `showCompatibilityToasts` | `boolean` | `true` | Compatibility warning toast stack; `false` hides it, warnings are still collected. |
105
+ | `fonts` | `ViewerFontSource[]` | n/a | Licensed font sources supplied by the host application |
106
+ | `authorName` | `string` | n/a | Author name for comments/annotations and collaboration presence |
107
+ | `collaboration` | `CollaborationConfig` | n/a | Yjs real-time collaboration config (server URL, room, role) |
108
+ | `shareDefaults` | `{ roomId?, userName?, serverUrl? }` | n/a | Seed values for the Share dialog fields |
109
+ | `smartArt3D` | `boolean` | `false` | Opt-in Three.js 3D SmartArt renderer (needs the optional `three` dependency; falls back to SVG without it) |
110
+ | `surfaceChart3D`, `barChart3D`, `lineChart3D`, `areaChart3D`, `pieChart3D` | `boolean` | `false` | Independently opt in to interactive Three.js renderers for the matching 3D chart kinds; each falls back to SVG when WebGL is unavailable. |
111
+ | `ai` | `PptxAiConfig` | n/a | Optional AI assistant configuration. The SDK peers load only when its panel is opened. |
112
+ | `onOpenFile` | `() => void` | n/a | Host override for File > Open; bypasses the built-in file picker |
113
+ | `onContentChange` | `(content: Uint8Array) => void` | n/a | Called with freshly serialised `.pptx` bytes when the content changes |
114
+ | `onDirtyChange` | `(isDirty: boolean) => void` | n/a | Called when dirty state changes |
115
+ | `onActiveSlideChange` | `(index: number) => void` | n/a | Called when the active slide changes |
116
+ | `onModeChange` | `(mode: ViewerMode) => void` | n/a | Called when the viewer mode changes |
117
+ | `onZoomChange` | `(zoom: number) => void` | n/a | Called when the zoom level changes |
118
+ | `onSelectionChange` | `(ids: string[]) => void` | n/a | Called when element selection changes |
119
+ | `onSlideCountChange` | `(count: number) => void` | n/a | Called when the total slide count changes |
120
+ | `onStartCollaboration` | `(config: CollaborationConfig) => void` | n/a | Called when the user starts a collaboration session from the Share dialog |
121
+ | `onStopCollaboration` | `() => void` | n/a | Called when the collaboration session stops |
122
+ | `theme` | `ViewerTheme` | n/a | Theme configuration for customising colours, radius, and CSS vars |
123
+ | `hiddenActions` | `ToolbarActionId[]` | n/a | Hide individual toolbar buttons and/or ribbon tabs (e.g. `['share', 'broadcast']`) instead of the whole toolbar; omitted hides nothing |
123
124
  | `customization` | `ViewerCustomization` | - | Hide, lock or remap any part of the UI (ribbon tabs/buttons, File > Options pages/sections/settings, File tab, context menus, shortcuts, panels, AI/collaboration, dialogs); the same helpers (`hideRibbonTab`, `lockSetting`, ...) are on the `ref` handle. See the [UI Customization guide](https://christophervr.github.io/ooxml/pptx/guide/customization). |
124
- | `defaultThemeKey` | `string` | n/a | Initial File > Options > Appearance selection when no persisted preference exists |
125
- | `availableThemes` | `ThemeCatalogEntry[]` | n/a | Theme choices offered by File > Options > Appearance (defaults to the built-in catalog) |
126
- | `onThemeChange` | `(key: string) => void` | n/a | Host hook for the appearance picker; when set, the host owns persisting the choice |
127
- | `defaultLocale` | `string` | n/a | Initial locale code when no persisted preference exists |
128
- | `availableLocales` | `LocaleCatalogEntry[]` | n/a | Locale choices offered by File > Options > Language (defaults to the registered i18next locales) |
129
- | `onLocaleChange` | `(code: string) => void` | n/a | Host hook for the language picker; when set, the host owns applying/persisting the switch |
130
- | `accountAuth` | `AccountAuthConfig` | n/a | Optional sign-in hook point for File > Account (disabled unless `enabled: true`) |
125
+ | `defaultThemeKey` | `string` | n/a | Initial File > Options > Appearance selection when no persisted preference exists |
126
+ | `availableThemes` | `ThemeCatalogEntry[]` | n/a | Theme choices offered by File > Options > Appearance (defaults to the built-in catalog) |
127
+ | `onThemeChange` | `(key: string) => void` | n/a | Host hook for the appearance picker; when set, the host owns persisting the choice |
128
+ | `defaultLocale` | `string` | n/a | Initial locale code when no persisted preference exists |
129
+ | `availableLocales` | `LocaleCatalogEntry[]` | n/a | Locale choices offered by File > Options > Language (defaults to the registered i18next locales) |
130
+ | `onLocaleChange` | `(code: string) => void` | n/a | Host hook for the language picker; when set, the host owns applying/persisting the switch |
131
+ | `accountAuth` | `AccountAuthConfig` | n/a | Optional sign-in hook point for File > Account (disabled unless `enabled: true`) |
131
132
 
132
133
  ### `PowerPointViewerHandle` (via `ref`)
133
134
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkCTL42ZRR_js = require('./chunk-CTL42ZRR.js');
3
+ var chunkXRFJ7TAF_js = require('./chunk-XRFJ7TAF.js');
4
4
  require('./chunk-DFFCFNK2.js');
5
5
  var react = require('react');
6
6
  var reactI18next = require('react-i18next');
@@ -365,7 +365,7 @@ function AiComposer({
365
365
  disabled: value.trim().length === 0,
366
366
  title: t("pptx.ai.send"),
367
367
  "aria-label": t("pptx.ai.send"),
368
- className: chunkCTL42ZRR_js.cn(
368
+ className: chunkXRFJ7TAF_js.cn(
369
369
  "shrink-0 rounded-sm p-1.5 transition-colors",
370
370
  value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
371
371
  ),
@@ -396,7 +396,7 @@ function AiFocusBar({
396
396
  chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
397
397
  "span",
398
398
  {
399
- className: chunkCTL42ZRR_js.cn(
399
+ className: chunkXRFJ7TAF_js.cn(
400
400
  "inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
401
401
  hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
402
402
  ),
@@ -433,7 +433,7 @@ function AiFocusBar({
433
433
  title: t("pptx.ai.pickElement"),
434
434
  "aria-label": t("pptx.ai.pickAria"),
435
435
  "aria-pressed": pickMode,
436
- className: chunkCTL42ZRR_js.cn(
436
+ className: chunkXRFJ7TAF_js.cn(
437
437
  "rounded-sm p-1 max-md:min-w-[44px]! max-md:min-h-[44px]! flex items-center justify-center",
438
438
  pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
439
439
  ),
@@ -512,7 +512,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
512
512
  {
513
513
  type: "button",
514
514
  onClick: () => onResume(chat.id),
515
- className: chunkCTL42ZRR_js.cn(
515
+ className: chunkXRFJ7TAF_js.cn(
516
516
  "flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
517
517
  chat.id === activeChatId && "bg-accent/60"
518
518
  ),
@@ -676,17 +676,17 @@ function AiToolCallCard({ part }) {
676
676
  /* @__PURE__ */ jsxRuntime.jsx(
677
677
  Icon,
678
678
  {
679
- className: chunkCTL42ZRR_js.cn(
679
+ className: chunkXRFJ7TAF_js.cn(
680
680
  "w-3.5 h-3.5 shrink-0",
681
681
  failed ? "text-destructive" : "text-muted-foreground"
682
682
  )
683
683
  }
684
684
  ),
685
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkCTL42ZRR_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
685
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkXRFJ7TAF_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
686
686
  /* @__PURE__ */ jsxRuntime.jsxs(
687
687
  "span",
688
688
  {
689
- className: chunkCTL42ZRR_js.cn(
689
+ className: chunkXRFJ7TAF_js.cn(
690
690
  "ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
691
691
  failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
692
692
  ),
@@ -734,7 +734,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
734
734
  /* @__PURE__ */ jsxRuntime.jsx(
735
735
  "div",
736
736
  {
737
- className: chunkCTL42ZRR_js.cn(
737
+ className: chunkXRFJ7TAF_js.cn(
738
738
  "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
739
739
  isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
740
740
  ),
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-VI575UU6.mjs';
1
+ import { cn } from './chunk-ATGP75C4.mjs';
2
2
  import './chunk-GDQSMJQZ.mjs';
3
3
  import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
Binary file
Binary file