pptx-react-viewer 4.74.0 → 4.76.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.
- package/CHANGELOG.md +50 -0
- package/README.md +1 -1
- package/dist/{AiChatPanel-PLQ3NBTK.js → AiChatPanel-4V7QB5Z3.js} +19 -19
- package/dist/AiChatPanel-4V7QB5Z3.js.br +0 -0
- package/dist/AiChatPanel-4V7QB5Z3.js.gz +0 -0
- package/dist/{AiChatPanel-E7CJSTW7.mjs → AiChatPanel-6ML3VLIX.mjs} +1 -1
- package/dist/AiChatPanel-6ML3VLIX.mjs.br +0 -0
- package/dist/AiChatPanel-6ML3VLIX.mjs.gz +0 -0
- package/dist/ai.js +2 -2
- package/dist/ai.js.br +0 -0
- package/dist/ai.js.gz +0 -0
- package/dist/ai.mjs +1 -1
- package/dist/ai.mjs.br +0 -0
- package/dist/ai.mjs.gz +0 -0
- package/dist/{chunk-P2COO2QO.js → chunk-6GFSF2ML.js} +65 -13
- package/dist/chunk-6GFSF2ML.js.br +0 -0
- package/dist/chunk-6GFSF2ML.js.gz +0 -0
- package/dist/chunk-FFTZYNL4.mjs +2 -0
- package/dist/chunk-FFTZYNL4.mjs.br +6 -0
- package/dist/chunk-FFTZYNL4.mjs.gz +0 -0
- package/dist/chunk-LWGPHJHC.js +151 -0
- package/dist/chunk-LWGPHJHC.js.br +0 -0
- package/dist/chunk-LWGPHJHC.js.gz +0 -0
- package/dist/{chunk-LVEFHZ76.js → chunk-MU3BIZ2U.js} +1 -1
- package/dist/chunk-MU3BIZ2U.js.br +0 -0
- package/dist/chunk-MU3BIZ2U.js.gz +0 -0
- package/dist/{chunk-FBSPQYRE.mjs → chunk-N3YK2BCA.mjs} +61 -14
- package/dist/chunk-N3YK2BCA.mjs.br +0 -0
- package/dist/chunk-N3YK2BCA.mjs.gz +0 -0
- package/dist/{chunk-SQ7OASDY.mjs → chunk-OC4RP2CB.mjs} +590 -392
- package/dist/chunk-OC4RP2CB.mjs.br +0 -0
- package/dist/chunk-OC4RP2CB.mjs.gz +0 -0
- package/dist/chunk-P2IEKYVG.js +29 -0
- package/dist/chunk-P2IEKYVG.js.br +0 -0
- package/dist/chunk-P2IEKYVG.js.gz +0 -0
- package/dist/{chunk-CRC3V4UG.mjs → chunk-PPOGAZ53.mjs} +646 -263
- package/dist/chunk-PPOGAZ53.mjs.br +0 -0
- package/dist/chunk-PPOGAZ53.mjs.gz +0 -0
- package/dist/{chunk-JZE6BORE.mjs → chunk-RMEWSJZU.mjs} +1 -1
- package/dist/chunk-RMEWSJZU.mjs.br +0 -0
- package/dist/chunk-RMEWSJZU.mjs.gz +0 -0
- package/dist/{chunk-XG4WSJ4O.js → chunk-SEIVQGH5.js} +1632 -1240
- package/dist/chunk-SEIVQGH5.js.br +0 -0
- package/dist/chunk-SEIVQGH5.js.gz +0 -0
- package/dist/{chunk-D4WC35PL.js → chunk-XTYBIJ2S.js} +1136 -939
- package/dist/chunk-XTYBIJ2S.js.br +0 -0
- package/dist/chunk-XTYBIJ2S.js.gz +0 -0
- package/dist/chunk-Y53EC3JU.mjs +27 -0
- package/dist/chunk-Y53EC3JU.mjs.br +0 -0
- package/dist/chunk-Y53EC3JU.mjs.gz +0 -0
- package/dist/i18n/de.cjs +5 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +5 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +5 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +5 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +5 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +5 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +5 -0
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +5 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/index.d.ts +76 -26
- package/dist/index.js +126 -126
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +52 -24
- package/dist/internals.js +82 -81
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -2
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/no-i18next.d.ts +1343 -0
- package/dist/no-i18next.js +251 -0
- package/dist/no-i18next.js.br +0 -0
- package/dist/no-i18next.js.gz +0 -0
- package/dist/no-i18next.mjs +6 -0
- package/dist/no-i18next.mjs.br +0 -0
- package/dist/no-i18next.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +37 -18
- package/dist/viewer/index.js +25 -24
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +9 -4
- package/dist/AiChatPanel-E7CJSTW7.mjs.br +0 -0
- package/dist/AiChatPanel-E7CJSTW7.mjs.gz +0 -0
- package/dist/AiChatPanel-PLQ3NBTK.js.br +0 -0
- package/dist/AiChatPanel-PLQ3NBTK.js.gz +0 -0
- package/dist/chunk-CRC3V4UG.mjs.br +0 -0
- package/dist/chunk-CRC3V4UG.mjs.gz +0 -0
- package/dist/chunk-D4WC35PL.js.br +0 -0
- package/dist/chunk-D4WC35PL.js.gz +0 -0
- package/dist/chunk-FBSPQYRE.mjs.br +0 -0
- package/dist/chunk-FBSPQYRE.mjs.gz +0 -0
- package/dist/chunk-JZE6BORE.mjs.br +0 -0
- package/dist/chunk-JZE6BORE.mjs.gz +0 -0
- package/dist/chunk-LVEFHZ76.js.br +0 -0
- package/dist/chunk-LVEFHZ76.js.gz +0 -0
- package/dist/chunk-P2COO2QO.js.br +0 -0
- package/dist/chunk-P2COO2QO.js.gz +0 -0
- package/dist/chunk-SQ7OASDY.mjs.br +0 -0
- package/dist/chunk-SQ7OASDY.mjs.gz +0 -0
- package/dist/chunk-XG4WSJ4O.js.br +0 -0
- package/dist/chunk-XG4WSJ4O.js.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,56 @@ 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.76.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.76.0) - 2026-11-13
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- **pptx:** Add ribbon display options to every binding ([b374382](https://github.com/ChristopherVR/ooxml/commit/b374382d21e8d1c1e23068c339883ec4cff2849a))
|
|
15
|
+
- **pptx:** Zoom at the pointer and drag to pan the slide viewport ([73bc446](https://github.com/ChristopherVR/ooxml/commit/73bc4465d33c6c9ba2e2b77b3b36a77dde37a658))
|
|
16
|
+
- **pptx:** Zoom out to 10% and show a new slide from its top-left ([20cbb04](https://github.com/ChristopherVR/ooxml/commit/20cbb044810058cf282af27efd387bd4983f3375))
|
|
17
|
+
- **pptx:** Offer supported font weight variants ([#280](https://github.com/ChristopherVR/ooxml/issues/280)) ([c66bb54](https://github.com/ChristopherVR/ooxml/commit/c66bb54b85a8165969f6e4a6549ddd53b00fcc09))
|
|
18
|
+
- **pptx:** Host-owned workflows in useViewerBuildingBlocks ([781b14f](https://github.com/ChristopherVR/ooxml/commit/781b14f0d2e1c07746b9d9da9afedf499e30fc02))
|
|
19
|
+
- **pptx:** Acknowledge asynchronous saves by revision ([7a581e9](https://github.com/ChristopherVR/ooxml/commit/7a581e9436000ee16ac8612f7fa8b6d6b20086be))
|
|
20
|
+
- **pptx:** Host-owned chart insertion in useViewerBuildingBlocks ([24b8ad6](https://github.com/ChristopherVR/ooxml/commit/24b8ad6b9144f01f26d79e0ad02178becedcbed7))
|
|
21
|
+
- **pptx:** Host operations for protection, properties, fonts and signatures ([6bb4c28](https://github.com/ChristopherVR/ooxml/commit/6bb4c28a12b00e709aec5daf3a679910915bf98a))
|
|
22
|
+
- **pptx:** Host-owned slide show dialogs in building blocks ([e758425](https://github.com/ChristopherVR/ooxml/commit/e7584257450d4042d8099cf386e2b23dd75fd0fe))
|
|
23
|
+
- **vanilla:** Add building blocks on the shared session ([a96b599](https://github.com/ChristopherVR/ooxml/commit/a96b5992770d4c9a3aa4d082735a76a18de24789))
|
|
24
|
+
- **ui:** Register the pptx dialog operations as building-block groups ([2226646](https://github.com/ChristopherVR/ooxml/commit/2226646334bc76e04d722d8d93207117501883df))
|
|
25
|
+
- **vanilla:** Add dialog groups and live options to building blocks ([2e6355e](https://github.com/ChristopherVR/ooxml/commit/2e6355eaa4702910224319274a5d2184880563dd))
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
- **pptx:** Preserve slide zoom when saving tool edits ([#282](https://github.com/ChristopherVR/ooxml/issues/282)) ([7af7b5e](https://github.com/ChristopherVR/ooxml/commit/7af7b5ea3c9d4c5c30aefe7ccfb9c5955058fabb))
|
|
30
|
+
- **pptx:** Guard stale media inserts and mirror hooks docs in zh ([89adf24](https://github.com/ChristopherVR/ooxml/commit/89adf24d14c24414e49b4a7fb478b4ca52b219c9))
|
|
31
|
+
- **pptx:** Drop an unused import in the building-block actions ([5e2db99](https://github.com/ChristopherVR/ooxml/commit/5e2db99face2b5d837ff0fbc324ddec3df12b937))
|
|
32
|
+
- **react:** Isolate element rendering failures ([#288](https://github.com/ChristopherVR/ooxml/issues/288)) ([1d62335](https://github.com/ChristopherVR/ooxml/commit/1d62335c3b565610f5d5dd912037a62b528bb43a))
|
|
33
|
+
- **react:** Stop dialog flag requests from looping under React 18 ([f6bf9b9](https://github.com/ChristopherVR/ooxml/commit/f6bf9b9add8171e184c6c5bee862aed081ec1903))
|
|
34
|
+
|
|
35
|
+
### Refactor
|
|
36
|
+
|
|
37
|
+
- **pptx:** Share signature parsing and password rules across bindings ([234881c](https://github.com/ChristopherVR/ooxml/commit/234881cd9d4d147fb297c73f66b3fc3116aae4e2))
|
|
38
|
+
- **react:** Run building blocks on the shared session and groups ([7501b95](https://github.com/ChristopherVR/ooxml/commit/7501b951fc6d97a20f21401b32d574104aef8d89))
|
|
39
|
+
|
|
40
|
+
### Testing
|
|
41
|
+
|
|
42
|
+
- **react:** Run building blocks against the shared parity contract ([daf3d35](https://github.com/ChristopherVR/ooxml/commit/daf3d3583e42fd01900c16ecf526b9cb2fcbd82a))
|
|
43
|
+
|
|
44
|
+
## [4.75.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.75.0) - 2026-11-12
|
|
45
|
+
|
|
46
|
+
### Features
|
|
47
|
+
|
|
48
|
+
- **pptx:** Add rich table cells, custom geometry and new chart parts ([#278](https://github.com/ChristopherVR/ooxml/issues/278)) ([d6c6786](https://github.com/ChristopherVR/ooxml/commit/d6c6786b56b4642eaec1af6c78cd21a067eb0c17))
|
|
49
|
+
- **react:** Add a no-i18next entry for hosts using PptxI18nProvider ([eee7d7c](https://github.com/ChristopherVR/ooxml/commit/eee7d7c169447c5378205455a0ec3f4e6025f674))
|
|
50
|
+
|
|
51
|
+
### Bug Fixes
|
|
52
|
+
|
|
53
|
+
- **chart:** Offer only the label positions a chart group accepts ([c6894c9](https://github.com/ChristopherVR/ooxml/commit/c6894c9b2bda96dc49b77a0a9e76b48e9903f2bd))
|
|
54
|
+
- **react:** Show built-in English when react-i18next has no instance ([7d825a3](https://github.com/ChristopherVR/ooxml/commit/7d825a34a496f1684300827c9357a334c3525960))
|
|
55
|
+
|
|
56
|
+
### Testing
|
|
57
|
+
|
|
58
|
+
- **react:** Give the cold no-i18next imports a 60s hook budget ([3df9e20](https://github.com/ChristopherVR/ooxml/commit/3df9e209401d79d0d6b4ea5456cbd2ef5ac9de92))
|
|
59
|
+
|
|
10
60
|
## [4.74.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.74.0) - 2026-11-11
|
|
11
61
|
|
|
12
62
|
### Features
|
package/README.md
CHANGED
|
@@ -316,7 +316,7 @@ function TranslatedViewer({ content }: { content: Uint8Array }) {
|
|
|
316
316
|
|
|
317
317
|
`translate` receives the viewer's params unchanged: `defaultValue`, `count` and the values of the `{{name}}` placeholders. Use the same names in your catalog (`{name}` in ICU syntax); `count` is a plain value, so pluralise in your catalog. `{{name}}` placeholders left in the text you return are filled too, so the shipped dictionaries work as they are: `const translate: PptxTranslate = (key) => translationsFr[key];`. A miss (the key itself, an empty string, nothing, or a throw) shows the built-in English text, then the call's default text, then a label derived from the key, never a raw key. Keep `translate` stable (a module-level function or `useCallback`): the viewer re-translates whenever `translate` or `locale` changes.
|
|
318
318
|
|
|
319
|
-
Inside a provider the host owns the language: the viewer never calls `changeLanguage`, ignores `defaultLocale` and never restores a stored language choice. File > Options > Language appears only with `onLocaleChange` and two or more `availableLocales`; a pick calls `onLocaleChange`, and the selection follows `locale` (`fr-CA` selects an offered `fr`). A `PowerPointViewer` reads the provider nearest above it; a provider rendered inside the viewer is ignored. `i18next` and `react-i18next` stay required peer dependencies in 4.x: install them, but inside a provider the viewer does not use them. `PptxI18nProvider` is React-only: the Vue and Angular bindings delegate to vue-i18n and ngx-translate, and Vanilla and Svelte take `messages` dictionaries.
|
|
319
|
+
Inside a provider the host owns the language: the viewer never calls `changeLanguage`, ignores `defaultLocale` and never restores a stored language choice. File > Options > Language appears only with `onLocaleChange` and two or more `availableLocales`; a pick calls `onLocaleChange`, and the selection follows `locale` (`fr-CA` selects an offered `fr`). A `PowerPointViewer` reads the provider nearest above it; a provider rendered inside the viewer is ignored. `i18next` and `react-i18next` stay required peer dependencies in 4.x: install them, but inside a provider the viewer does not use them. To build without them, import from `pptx-react-viewer/no-i18next`: the same exports and types, with nothing that imports either library; outside a provider it shows the built-in English text and leaves File > Options > Language out (see [Without react-i18next](https://christophervr.github.io/ooxml/pptx/guide/localization#without-react-i18next)). `PptxI18nProvider` is React-only: the Vue and Angular bindings delegate to vue-i18n and ngx-translate, and Vanilla and Svelte take `messages` dictionaries.
|
|
320
320
|
|
|
321
321
|
## How it's built
|
|
322
322
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk6GFSF2ML_js = require('./chunk-6GFSF2ML.js');
|
|
4
4
|
require('./chunk-PIRHQTI4.js');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var lu = require('react-icons/lu');
|
|
@@ -301,7 +301,7 @@ function AiComposer({
|
|
|
301
301
|
prefillText,
|
|
302
302
|
prefillNonce
|
|
303
303
|
}) {
|
|
304
|
-
const { t } =
|
|
304
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
305
305
|
const [value, setValue] = react.useState("");
|
|
306
306
|
const textareaRef = react.useRef(null);
|
|
307
307
|
const appliedNonce = react.useRef(void 0);
|
|
@@ -364,7 +364,7 @@ function AiComposer({
|
|
|
364
364
|
disabled: value.trim().length === 0,
|
|
365
365
|
title: t("pptx.ai.send"),
|
|
366
366
|
"aria-label": t("pptx.ai.send"),
|
|
367
|
-
className:
|
|
367
|
+
className: chunk6GFSF2ML_js.cn(
|
|
368
368
|
"shrink-0 rounded-sm p-1.5 transition-colors",
|
|
369
369
|
value.trim().length === 0 ? "text-muted-foreground/50" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
370
370
|
),
|
|
@@ -386,7 +386,7 @@ function AiFocusBar({
|
|
|
386
386
|
onStopPick,
|
|
387
387
|
onClearPicks
|
|
388
388
|
}) {
|
|
389
|
-
const { t } =
|
|
389
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
390
390
|
const chips = ai.focusTargetChips(targets, slides);
|
|
391
391
|
const twoTables = ai.isTwoTableFocus(targets, slides);
|
|
392
392
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-b border-border bg-secondary/30", children: [
|
|
@@ -395,7 +395,7 @@ function AiFocusBar({
|
|
|
395
395
|
chips.map((chip) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
396
396
|
"span",
|
|
397
397
|
{
|
|
398
|
-
className:
|
|
398
|
+
className: chunk6GFSF2ML_js.cn(
|
|
399
399
|
"inline-flex max-w-[10rem] items-center rounded-full px-2 py-0.5 text-[11px]",
|
|
400
400
|
hasPicks || isPinned ? "bg-primary/15 text-primary" : "bg-muted text-muted-foreground"
|
|
401
401
|
),
|
|
@@ -432,7 +432,7 @@ function AiFocusBar({
|
|
|
432
432
|
title: t("pptx.ai.pickElement"),
|
|
433
433
|
"aria-label": t("pptx.ai.pickAria"),
|
|
434
434
|
"aria-pressed": pickMode,
|
|
435
|
-
className:
|
|
435
|
+
className: chunk6GFSF2ML_js.cn(
|
|
436
436
|
"rounded-sm p-1 max-md:min-w-[44px]! max-md:min-h-[44px]! flex items-center justify-center",
|
|
437
437
|
pickMode ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-accent"
|
|
438
438
|
),
|
|
@@ -501,7 +501,7 @@ function relativeTime(from, now = Date.now()) {
|
|
|
501
501
|
return `${weeks}w ago`;
|
|
502
502
|
}
|
|
503
503
|
function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
504
|
-
const { t } =
|
|
504
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
505
505
|
if (chats.length === 0) {
|
|
506
506
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-4 text-center text-[12px] text-muted-foreground", children: t("pptx.ai.historyEmpty") });
|
|
507
507
|
}
|
|
@@ -511,7 +511,7 @@ function AiHistoryList({ chats, activeChatId, onResume, onDelete }) {
|
|
|
511
511
|
{
|
|
512
512
|
type: "button",
|
|
513
513
|
onClick: () => onResume(chat.id),
|
|
514
|
-
className:
|
|
514
|
+
className: chunk6GFSF2ML_js.cn(
|
|
515
515
|
"flex min-w-0 flex-1 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent",
|
|
516
516
|
chat.id === activeChatId && "bg-accent/60"
|
|
517
517
|
),
|
|
@@ -550,7 +550,7 @@ function AiHistoryMenu({
|
|
|
550
550
|
onNewChat,
|
|
551
551
|
onClose
|
|
552
552
|
}) {
|
|
553
|
-
const { t } =
|
|
553
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
554
554
|
const ref = react.useRef(null);
|
|
555
555
|
react.useEffect(() => {
|
|
556
556
|
const handler = (e) => {
|
|
@@ -616,7 +616,7 @@ function appliedThemeFromPart(part) {
|
|
|
616
616
|
return { summary: out.summary ?? "Theme updated", previous: out.previous ?? {} };
|
|
617
617
|
}
|
|
618
618
|
function AiAppliedThemeCard({ summary, onUndo }) {
|
|
619
|
-
const { t } =
|
|
619
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
620
620
|
const [undone, setUndone] = react.useState(false);
|
|
621
621
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 rounded-md border border-primary/30 bg-primary/5 px-2.5 py-1.5 text-[12px]", children: [
|
|
622
622
|
/* @__PURE__ */ jsxRuntime.jsx(lu.LuPalette, { className: "w-3.5 h-3.5 shrink-0 text-primary" }),
|
|
@@ -662,7 +662,7 @@ var ICONS = {
|
|
|
662
662
|
tool: lu.LuWrench
|
|
663
663
|
};
|
|
664
664
|
function AiToolCallCard({ part }) {
|
|
665
|
-
const { t } =
|
|
665
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
666
666
|
const failed = part.state === "output-error";
|
|
667
667
|
const done = part.state === "output-available";
|
|
668
668
|
const running = !failed && !done;
|
|
@@ -675,17 +675,17 @@ function AiToolCallCard({ part }) {
|
|
|
675
675
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
676
676
|
Icon,
|
|
677
677
|
{
|
|
678
|
-
className:
|
|
678
|
+
className: chunk6GFSF2ML_js.cn(
|
|
679
679
|
"w-3.5 h-3.5 shrink-0",
|
|
680
680
|
failed ? "text-destructive" : "text-muted-foreground"
|
|
681
681
|
)
|
|
682
682
|
}
|
|
683
683
|
),
|
|
684
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
684
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk6GFSF2ML_js.cn("truncate", failed ? "text-destructive" : "text-foreground"), children: activity.label }),
|
|
685
685
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
686
686
|
"span",
|
|
687
687
|
{
|
|
688
|
-
className:
|
|
688
|
+
className: chunk6GFSF2ML_js.cn(
|
|
689
689
|
"ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]",
|
|
690
690
|
failed ? "bg-destructive/15 text-destructive" : done ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
691
691
|
),
|
|
@@ -710,7 +710,7 @@ function AiToolCallCard({ part }) {
|
|
|
710
710
|
] });
|
|
711
711
|
}
|
|
712
712
|
function AiMessageList({ messages, isStreaming, bridge }) {
|
|
713
|
-
const { t } =
|
|
713
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
714
714
|
const endRef = react.useRef(null);
|
|
715
715
|
react.useEffect(() => {
|
|
716
716
|
endRef.current?.scrollIntoView({ block: "end" });
|
|
@@ -733,7 +733,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
733
733
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
734
734
|
"div",
|
|
735
735
|
{
|
|
736
|
-
className:
|
|
736
|
+
className: chunk6GFSF2ML_js.cn(
|
|
737
737
|
"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full",
|
|
738
738
|
isUser ? "bg-secondary text-muted-foreground" : "bg-primary/15 text-primary"
|
|
739
739
|
),
|
|
@@ -779,7 +779,7 @@ function AiMessageList({ messages, isStreaming, bridge }) {
|
|
|
779
779
|
] });
|
|
780
780
|
}
|
|
781
781
|
function AiProposalCard({ proposal, onAccept, onReject }) {
|
|
782
|
-
const { t } =
|
|
782
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
783
783
|
const lines = proposal.summary.map(ai.humanizeDiffLine);
|
|
784
784
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-primary/40 bg-primary/5 p-2.5", children: [
|
|
785
785
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary", children: t("pptx.ai.proposedChange") }),
|
|
@@ -821,7 +821,7 @@ function AiConversation({
|
|
|
821
821
|
aiPanel,
|
|
822
822
|
deckId
|
|
823
823
|
}) {
|
|
824
|
-
const { t } =
|
|
824
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
825
825
|
const chat = useAiConversation(useChat, session, config, bridge, {
|
|
826
826
|
// Live "AI as a collaborator" focus: as each tool runs, navigate to and
|
|
827
827
|
// highlight the slide / element(s) it touches so the canvas mirrors the
|
|
@@ -986,7 +986,7 @@ function AiChatPanel({
|
|
|
986
986
|
onClose,
|
|
987
987
|
panelWidth
|
|
988
988
|
}) {
|
|
989
|
-
const { t } =
|
|
989
|
+
const { t } = chunk6GFSF2ML_js.useTranslation();
|
|
990
990
|
const { state, session, initError } = useAiChat(bridge, config);
|
|
991
991
|
const deckId = react.useMemo(() => ai.deckIdFromBridge(bridge), [bridge]);
|
|
992
992
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useTranslation, cn } from './chunk-
|
|
1
|
+
import { useTranslation, cn } from './chunk-N3YK2BCA.mjs';
|
|
2
2
|
import './chunk-UV2HVMKZ.mjs';
|
|
3
3
|
import { useMemo, useRef, useState, useEffect, useReducer, useCallback } from 'react';
|
|
4
4
|
import { LuSparkles, LuX, LuLoaderCircle, LuTriangleAlert, LuHistory, LuMessageSquarePlus, LuTrash2, LuPlus, LuGitMerge, LuCrosshair, LuPinOff, LuPin, LuUser, LuBot, LuCheck, LuSquare, LuSend, LuMessageSquare, LuPalette, LuUndo2, LuWrench, LuStickyNote, LuFilm, LuNavigation, LuSearch, LuMove, LuChartColumn, LuLayoutTemplate, LuTable, LuShapes, LuType, LuEye } from 'react-icons/lu';
|
|
Binary file
|
|
Binary file
|
package/dist/ai.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMU3BIZ2U_js = require('./chunk-MU3BIZ2U.js');
|
|
4
4
|
require('./chunk-PIRHQTI4.js');
|
|
5
5
|
|
|
6
6
|
// src/ai.ts
|
|
7
7
|
function createAiAssistant(config) {
|
|
8
|
-
return
|
|
8
|
+
return chunkMU3BIZ2U_js.aiAssistants.register(config, chunkMU3BIZ2U_js.AiChatPanelLazy);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
exports.createAiAssistant = createAiAssistant;
|
package/dist/ai.js.br
CHANGED
|
Binary file
|
package/dist/ai.js.gz
CHANGED
|
Binary file
|
package/dist/ai.mjs
CHANGED
package/dist/ai.mjs.br
CHANGED
|
Binary file
|
package/dist/ai.mjs.gz
CHANGED
|
Binary file
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var i18n$1 = require('ooxml-core/i18n');
|
|
3
4
|
var i18n = require('ooxml-ui/pptx/i18n');
|
|
4
5
|
var React8 = require('react');
|
|
5
|
-
var
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
var pptx = require('ooxml-ui/pptx');
|
|
7
8
|
var clsx = require('clsx');
|
|
8
9
|
var tailwindMerge = require('tailwind-merge');
|
|
9
10
|
var lu = require('react-icons/lu');
|
|
10
11
|
var pptx$1 = require('ooxml-core/pptx');
|
|
11
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
12
12
|
|
|
13
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
|
|
15
15
|
var React8__default = /*#__PURE__*/_interopDefault(React8);
|
|
16
16
|
|
|
17
|
-
// src/viewer/i18n/
|
|
17
|
+
// src/viewer/i18n/provider.tsx
|
|
18
18
|
var ViewerI18nContext = /* @__PURE__ */ React8.createContext(null);
|
|
19
19
|
var PptxI18nContext = /* @__PURE__ */ React8.createContext(null);
|
|
20
20
|
var NO_LOCALE_CONTROLS = {
|
|
@@ -25,25 +25,72 @@ var NO_LOCALE_CONTROLS = {
|
|
|
25
25
|
languageSelectable: true
|
|
26
26
|
};
|
|
27
27
|
var ViewerLocaleControlsContext = /* @__PURE__ */ React8.createContext(NO_LOCALE_CONTROLS);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
28
|
+
var asMessageParams = (params) => params;
|
|
29
|
+
function withEnglishFallback(translate) {
|
|
30
|
+
return (key, defaultOrParams) => {
|
|
31
|
+
const params = typeof defaultOrParams === "string" ? { defaultValue: defaultOrParams } : defaultOrParams;
|
|
32
|
+
let text;
|
|
33
|
+
try {
|
|
34
|
+
text = params === void 0 ? translate(key) : translate(key, params);
|
|
35
|
+
} catch {
|
|
36
|
+
text = void 0;
|
|
37
|
+
}
|
|
38
|
+
const found = text && text !== key ? text : i18n.translationsEn[key] ?? params?.defaultValue;
|
|
39
|
+
return typeof found === "string" ? i18n$1.interpolate(found, asMessageParams(params), "double") : i18n.keyToLabel(key);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
var BUILT_IN_ENGLISH = {
|
|
43
|
+
t: withEnglishFallback(() => void 0),
|
|
44
|
+
locale: "en"
|
|
45
|
+
};
|
|
46
|
+
function PptxI18nProvider({
|
|
47
|
+
translate,
|
|
48
|
+
locale,
|
|
49
|
+
children
|
|
50
|
+
}) {
|
|
51
|
+
const state = React8.useMemo(
|
|
52
|
+
() => ({ t: withEnglishFallback(translate), locale }),
|
|
53
|
+
[translate, locale]
|
|
54
|
+
);
|
|
55
|
+
return /* @__PURE__ */ jsxRuntime.jsx(PptxI18nContext.Provider, { value: state, children });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/viewer/i18n/host-i18next.ts
|
|
59
|
+
var registered = null;
|
|
60
|
+
function registerHostI18next(useHostI18next) {
|
|
61
|
+
registered ??= useHostI18next;
|
|
62
|
+
}
|
|
63
|
+
function registeredHostI18next() {
|
|
64
|
+
return registered;
|
|
65
|
+
}
|
|
66
|
+
function hostInstanceLanguage(i18n) {
|
|
67
|
+
const { resolvedLanguage, language } = i18n;
|
|
68
|
+
if (typeof resolvedLanguage === "string") {
|
|
69
|
+
return resolvedLanguage;
|
|
70
|
+
}
|
|
71
|
+
return typeof language === "string" ? language : void 0;
|
|
72
|
+
}
|
|
73
|
+
function useRegisteredHostI18next() {
|
|
74
|
+
if (!registered) {
|
|
75
|
+
throw new Error("No react-i18next source is registered");
|
|
76
|
+
}
|
|
77
|
+
return registered();
|
|
31
78
|
}
|
|
32
79
|
|
|
33
80
|
// src/viewer/i18n/use-translation.ts
|
|
34
|
-
var LABELS_ONLY = { t: (key) => i18n.keyToLabel(key), locale: "en" };
|
|
35
81
|
function useHostTranslation() {
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
82
|
+
const host = useRegisteredHostI18next();
|
|
83
|
+
const t = host?.t;
|
|
84
|
+
const language = (host && hostInstanceLanguage(host.i18n)) ?? "en";
|
|
85
|
+
return React8.useMemo(() => t ? { t, locale: language } : null, [t, language]);
|
|
39
86
|
}
|
|
40
87
|
function useTranslation() {
|
|
41
88
|
const fromRoot = React8.useContext(ViewerI18nContext);
|
|
42
89
|
const provided = React8.useContext(PptxI18nContext);
|
|
43
90
|
const resolved = fromRoot ?? provided;
|
|
44
|
-
const [readsHost] = React8.useState(resolved === null);
|
|
91
|
+
const [readsHost] = React8.useState(() => resolved === null && registeredHostI18next() !== null);
|
|
45
92
|
const host = readsHost ? useHostTranslation() : null;
|
|
46
|
-
return resolved ?? host ??
|
|
93
|
+
return resolved ?? host ?? BUILT_IN_ENGLISH;
|
|
47
94
|
}
|
|
48
95
|
function getAnimationInitialStyle(preset, nativeAnimation) {
|
|
49
96
|
return pptx.getAnimationInitialStyle(preset, nativeAnimation);
|
|
@@ -3571,6 +3618,7 @@ Object.defineProperty(exports, "updateMergeAttrsInRawXml", {
|
|
|
3571
3618
|
});
|
|
3572
3619
|
exports.ANIMATION_PRESET_OPTIONS = ANIMATION_PRESET_OPTIONS;
|
|
3573
3620
|
exports.ARROW_SIZE_OPTIONS = ARROW_SIZE_OPTIONS;
|
|
3621
|
+
exports.BUILT_IN_ENGLISH = BUILT_IN_ENGLISH;
|
|
3574
3622
|
exports.CONNECTOR_ARROW_OPTIONS = CONNECTOR_ARROW_OPTIONS;
|
|
3575
3623
|
exports.DEFAULT_CANVAS_HEIGHT = DEFAULT_CANVAS_HEIGHT;
|
|
3576
3624
|
exports.DEFAULT_CANVAS_WIDTH = DEFAULT_CANVAS_WIDTH;
|
|
@@ -3585,6 +3633,7 @@ exports.DEFAULT_TEXT_FONT_SIZE = DEFAULT_TEXT_FONT_SIZE;
|
|
|
3585
3633
|
exports.GRID_SIZE = GRID_SIZE;
|
|
3586
3634
|
exports.MIN_ELEMENT_SIZE = MIN_ELEMENT_SIZE;
|
|
3587
3635
|
exports.PptxI18nContext = PptxI18nContext;
|
|
3636
|
+
exports.PptxI18nProvider = PptxI18nProvider;
|
|
3588
3637
|
exports.SHAPE_PRESETS = SHAPE_PRESETS;
|
|
3589
3638
|
exports.SHORTCUT_REFERENCE_ITEMS = SHORTCUT_REFERENCE_ITEMS;
|
|
3590
3639
|
exports.SLIDE_NAV_THUMBNAIL_WIDTH = SLIDE_NAV_THUMBNAIL_WIDTH;
|
|
@@ -3615,7 +3664,10 @@ exports.getTextLayoutStyle = getTextLayoutStyle;
|
|
|
3615
3664
|
exports.getTextStyleForElement = getTextStyleForElement;
|
|
3616
3665
|
exports.getTextWarpStyle = getTextWarpStyle;
|
|
3617
3666
|
exports.hasDagDuotoneEffect = hasDagDuotoneEffect;
|
|
3667
|
+
exports.hostInstanceLanguage = hostInstanceLanguage;
|
|
3618
3668
|
exports.isConnectorOrLineElement = isConnectorOrLineElement;
|
|
3669
|
+
exports.registerHostI18next = registerHostI18next;
|
|
3670
|
+
exports.registeredHostI18next = registeredHostI18next;
|
|
3619
3671
|
exports.renderChartElement = renderChartElement;
|
|
3620
3672
|
exports.renderConnectorMarker = renderConnectorMarker;
|
|
3621
3673
|
exports.renderDagDuotoneSvgFilter = renderDagDuotoneSvgFilter;
|
|
@@ -3629,5 +3681,5 @@ exports.shouldRenderFallbackLabel = shouldRenderFallbackLabel;
|
|
|
3629
3681
|
exports.startMotionPathPreview = startMotionPathPreview;
|
|
3630
3682
|
exports.startPreviewAnimation = startPreviewAnimation;
|
|
3631
3683
|
exports.stopPreviewAnimation = stopPreviewAnimation;
|
|
3632
|
-
exports.
|
|
3684
|
+
exports.useRegisteredHostI18next = useRegisteredHostI18next;
|
|
3633
3685
|
exports.useTranslation = useTranslation;
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
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';
|
|
2
|
+
export { LOCALE_CATALOG } from 'ooxml-ui/pptx/i18n';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
� �S�I�L�Sٺv@n6�M�
|
|
2
|
+
*�'�9�A������%'X{X�E�Džw2��&�vpل!̹!0���,�3��+�Xe�ê+��k��B�UF" Ad�aڵ Bc��;��(=�*
|
|
3
|
+
�膣<�q�KˉpH�H�x���OJ2n�ZzQ~
|
|
4
|
+
��
|
|
5
|
+
͊v;�1+����:� ��,E����~�D����,�l��ѽ��|��6��j9��E�X2���������XDaP�����.�<�P6b|��@l5��h����i7�*�QQJ�ΐ��
|
|
6
|
+
�����������s_�N��K���5� �5r�C�z���
|
|
Binary file
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var pptx = require('ooxml-ui/pptx');
|
|
4
|
+
var i18n = require('ooxml-ui/pptx/i18n');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return pptx.AVATAR_COLOR_SWATCHES; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "BACKSTAGE_CARD_IDS", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return pptx.BACKSTAGE_CARD_IDS; }
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "BACKSTAGE_PAGE_IDS", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return pptx.BACKSTAGE_PAGE_IDS; }
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "CANVAS_CONTEXT_MENU_COMMAND_IDS", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return pptx.CANVAS_CONTEXT_MENU_COMMAND_IDS; }
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return pptx.DEFAULT_VIEWER_PROFILE; }
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports, "EDITOR_SHORTCUT_ACTION_IDS", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return pptx.EDITOR_SHORTCUT_ACTION_IDS; }
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "ELEMENT_CONTEXT_MENU_COMMAND_IDS", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return pptx.ELEMENT_CONTEXT_MENU_COMMAND_IDS; }
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "OPTIONS_PAGE_IDS", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return pptx.OPTIONS_PAGE_IDS; }
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(exports, "OPTIONS_SECTION_IDS", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () { return pptx.OPTIONS_SECTION_IDS; }
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "OPTIONS_SETTING_IDS", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return pptx.OPTIONS_SETTING_IDS; }
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "PPTX_OPEN_ACCEPT", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () { return pptx.PPTX_OPEN_ACCEPT; }
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, "PRESENTATION_OPEN_EXTENSIONS", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return pptx.PRESENTATION_OPEN_EXTENSIONS; }
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(exports, "RIBBON_TAB_IDS", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function () { return pptx.RIBBON_TAB_IDS; }
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "SLIDE_TEMPLATES", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () { return pptx.SLIDE_TEMPLATES; }
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(exports, "TOOLBAR_BUTTON_IDS", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function () { return pptx.TOOLBAR_BUTTON_IDS; }
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(exports, "VIEWER_DIALOG_IDS", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function () { return pptx.VIEWER_DIALOG_IDS; }
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "VIEWER_EXPORT_FORMAT_IDS", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () { return pptx.VIEWER_EXPORT_FORMAT_IDS; }
|
|
75
|
+
});
|
|
76
|
+
Object.defineProperty(exports, "VIEWER_FEATURE_IDS", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () { return pptx.VIEWER_FEATURE_IDS; }
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "VIEWER_PANEL_IDS", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function () { return pptx.VIEWER_PANEL_IDS; }
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () { return pptx.VIEWER_PREFS_STORAGE_KEY; }
|
|
87
|
+
});
|
|
88
|
+
Object.defineProperty(exports, "buildSlideTemplateContent", {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
get: function () { return pptx.buildSlideTemplateContent; }
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "buildSlideTemplateSlide", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function () { return pptx.buildSlideTemplateSlide; }
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "clearAllLocalViewerData", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () { return pptx.clearAllLocalViewerData; }
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(exports, "clearStoredViewerPrefs", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
get: function () { return pptx.clearStoredViewerPrefs; }
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "createImageElementFromFile", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function () { return pptx.createImageElementFromFile; }
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "describeCollaborationShellState", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () { return pptx.describeCollaborationShellState; }
|
|
111
|
+
});
|
|
112
|
+
Object.defineProperty(exports, "getLocalStorageUsageSummary", {
|
|
113
|
+
enumerable: true,
|
|
114
|
+
get: function () { return pptx.getLocalStorageUsageSummary; }
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(exports, "isLegacyBinaryPresentation", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function () { return pptx.isLegacyBinaryPresentation; }
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "isSupportedPresentationFile", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () { return pptx.isSupportedPresentationFile; }
|
|
123
|
+
});
|
|
124
|
+
Object.defineProperty(exports, "presentationBaseName", {
|
|
125
|
+
enumerable: true,
|
|
126
|
+
get: function () { return pptx.presentationBaseName; }
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, "readStoredViewerPrefs", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function () { return pptx.readStoredViewerPrefs; }
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(exports, "resolveProfileInitial", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () { return pptx.resolveProfileInitial; }
|
|
135
|
+
});
|
|
136
|
+
Object.defineProperty(exports, "saveViewerProfile", {
|
|
137
|
+
enumerable: true,
|
|
138
|
+
get: function () { return pptx.saveViewerProfile; }
|
|
139
|
+
});
|
|
140
|
+
Object.defineProperty(exports, "savedPresentationFileName", {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
get: function () { return pptx.savedPresentationFileName; }
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(exports, "writeStoredViewerPrefs", {
|
|
145
|
+
enumerable: true,
|
|
146
|
+
get: function () { return pptx.writeStoredViewerPrefs; }
|
|
147
|
+
});
|
|
148
|
+
Object.defineProperty(exports, "LOCALE_CATALOG", {
|
|
149
|
+
enumerable: true,
|
|
150
|
+
get: function () { return i18n.LOCALE_CATALOG; }
|
|
151
|
+
});
|
|
Binary file
|
|
Binary file
|
|
@@ -12,7 +12,7 @@ var aiAssistants = host.createAiAssistantRegistry({
|
|
|
12
12
|
var AiChatPanel = /* @__PURE__ */ react.lazy(async () => {
|
|
13
13
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
14
14
|
import('@ai-sdk/react'),
|
|
15
|
-
import('./AiChatPanel-
|
|
15
|
+
import('./AiChatPanel-4V7QB5Z3.js')
|
|
16
16
|
]);
|
|
17
17
|
function BoundAiChatPanel(props) {
|
|
18
18
|
return /* @__PURE__ */ jsxRuntime.jsx(Panel, { ...props, useChat });
|
|
Binary file
|
|
Binary file
|