pptx-react-viewer 4.17.1 → 4.19.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 +41 -0
- package/dist/{AiChatPanel-4VMAZWMA.js → AiChatPanel-6ABOTMI4.js} +28 -28
- package/dist/AiChatPanel-6ABOTMI4.js.br +0 -0
- package/dist/AiChatPanel-6ABOTMI4.js.gz +0 -0
- package/dist/{AiChatPanel-Z455OA7S.mjs → AiChatPanel-QEOFQGNY.mjs} +4 -4
- package/dist/AiChatPanel-QEOFQGNY.mjs.br +0 -0
- package/dist/AiChatPanel-QEOFQGNY.mjs.gz +0 -0
- package/dist/{Model3DScene-DTWVQCBT.mjs → Model3DScene-CKBO4RI2.mjs} +1 -1
- package/dist/{Model3DScene-DTWVQCBT.mjs.br → Model3DScene-CKBO4RI2.mjs.br} +0 -0
- package/dist/Model3DScene-CKBO4RI2.mjs.gz +0 -0
- package/dist/{Model3DScene-MFLMJAQX.js → Model3DScene-ESGCOB2O.js} +2 -2
- package/dist/{Model3DScene-MFLMJAQX.js.br → Model3DScene-ESGCOB2O.js.br} +0 -0
- package/dist/Model3DScene-ESGCOB2O.js.gz +0 -0
- package/dist/{chunk-24UNI4EL.js → chunk-E3TLDJPS.js} +9114 -2963
- package/dist/chunk-E3TLDJPS.js.br +0 -0
- package/dist/chunk-E3TLDJPS.js.gz +0 -0
- package/dist/{chunk-24CSDBXI.js → chunk-FNO4C3LU.js} +831 -831
- package/dist/chunk-FNO4C3LU.js.br +0 -0
- package/dist/chunk-FNO4C3LU.js.gz +0 -0
- package/dist/{chunk-I23JEAUE.js → chunk-H7FXW2Q3.js} +5 -5
- package/dist/chunk-H7FXW2Q3.js.br +0 -0
- package/dist/chunk-H7FXW2Q3.js.gz +0 -0
- package/dist/{chunk-HUNX22TC.mjs → chunk-LE3JUNIR.mjs} +2 -2
- package/dist/chunk-LE3JUNIR.mjs.br +0 -0
- package/dist/chunk-LE3JUNIR.mjs.gz +0 -0
- package/dist/{chunk-QWQADOJZ.js → chunk-LKL6DQ55.js} +25 -13
- package/dist/chunk-LKL6DQ55.js.br +0 -0
- package/dist/chunk-LKL6DQ55.js.gz +0 -0
- package/dist/{chunk-UKR42GJS.mjs → chunk-OCUCBRXU.mjs} +4 -4
- package/dist/chunk-OCUCBRXU.mjs.br +0 -0
- package/dist/chunk-OCUCBRXU.mjs.gz +0 -0
- package/dist/{chunk-GLLEZR4U.mjs → chunk-Q4HRYUEP.mjs} +26 -13
- package/dist/chunk-Q4HRYUEP.mjs.br +0 -0
- package/dist/chunk-Q4HRYUEP.mjs.gz +0 -0
- package/dist/{chunk-QDVMTPYQ.js → chunk-QSBL4SL6.js} +3742 -6104
- package/dist/chunk-QSBL4SL6.js.br +0 -0
- package/dist/chunk-QSBL4SL6.js.gz +0 -0
- package/dist/{chunk-YMVJOQIS.mjs → chunk-VX52VUBD.mjs} +1 -1
- package/dist/chunk-VX52VUBD.mjs.br +0 -0
- package/dist/chunk-VX52VUBD.mjs.gz +0 -0
- package/dist/{chunk-I6VNRB6R.js → chunk-WAUDRNBY.js} +197 -197
- package/dist/chunk-WAUDRNBY.js.br +0 -0
- package/dist/chunk-WAUDRNBY.js.gz +0 -0
- package/dist/{chunk-JSMKHCKC.mjs → chunk-YL7IPY2B.mjs} +1906 -4268
- package/dist/chunk-YL7IPY2B.mjs.br +0 -0
- package/dist/chunk-YL7IPY2B.mjs.gz +0 -0
- package/dist/{chunk-26EMM7IE.mjs → chunk-YYVPC6KI.mjs} +9079 -2938
- package/dist/chunk-YYVPC6KI.mjs.br +0 -0
- package/dist/chunk-YYVPC6KI.mjs.gz +0 -0
- package/dist/i18n/de.cjs +21 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +21 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +21 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +21 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +21 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +21 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +21 -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 +21 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +586 -3
- package/dist/index.js +63 -63
- 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 +541 -3
- package/dist/internals.js +105 -105
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.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 +586 -3
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-4VMAZWMA.js.br +0 -0
- package/dist/AiChatPanel-4VMAZWMA.js.gz +0 -0
- package/dist/AiChatPanel-Z455OA7S.mjs.br +0 -0
- package/dist/AiChatPanel-Z455OA7S.mjs.gz +0 -0
- package/dist/Model3DScene-DTWVQCBT.mjs.gz +0 -0
- package/dist/Model3DScene-MFLMJAQX.js.gz +0 -0
- package/dist/chunk-24CSDBXI.js.br +0 -0
- package/dist/chunk-24CSDBXI.js.gz +0 -0
- package/dist/chunk-24UNI4EL.js.br +0 -0
- package/dist/chunk-24UNI4EL.js.gz +0 -0
- package/dist/chunk-26EMM7IE.mjs.br +0 -0
- package/dist/chunk-26EMM7IE.mjs.gz +0 -0
- package/dist/chunk-GLLEZR4U.mjs.br +0 -0
- package/dist/chunk-GLLEZR4U.mjs.gz +0 -0
- package/dist/chunk-HUNX22TC.mjs.br +0 -0
- package/dist/chunk-HUNX22TC.mjs.gz +0 -0
- package/dist/chunk-I23JEAUE.js.br +0 -0
- package/dist/chunk-I23JEAUE.js.gz +0 -0
- package/dist/chunk-I6VNRB6R.js.br +0 -0
- package/dist/chunk-I6VNRB6R.js.gz +0 -0
- package/dist/chunk-JSMKHCKC.mjs.br +0 -0
- package/dist/chunk-JSMKHCKC.mjs.gz +0 -0
- package/dist/chunk-QDVMTPYQ.js.br +0 -0
- package/dist/chunk-QDVMTPYQ.js.gz +0 -0
- package/dist/chunk-QWQADOJZ.js.br +0 -0
- package/dist/chunk-QWQADOJZ.js.gz +0 -0
- package/dist/chunk-UKR42GJS.mjs.br +0 -0
- package/dist/chunk-UKR42GJS.mjs.gz +0 -0
- package/dist/chunk-YMVJOQIS.mjs.br +0 -0
- package/dist/chunk-YMVJOQIS.mjs.gz +0 -0
package/dist/viewer/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PptxTheme, PptxTransitionType, PptxSlideTransition, PptxElement, PptxSlide, PptxAnimationPreset, ConnectorArrowType, XmlObject, PptxHandler, PptxData, PptxElementAnimation, ShapeStyle, StrokeDashType, PptxNativeAnimation, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme } from '
|
|
1
|
+
import { PptxTheme, PptxThemeColorRef, PptxLayoutPreview, PptxTransitionType, PptxSlideTransition, PptxElement, PptxSlide, PptxAnimationPreset, ConnectorArrowType, XmlObject, PptxHandler, PptxData, PptxElementAnimation, ShapeStyle, StrokeDashType, PptxNativeAnimation, PptxThemePreset, PptxThemeColorScheme, PptxThemeFontScheme } from 'ooxml-core/pptx';
|
|
2
2
|
import * as Y from 'yjs';
|
|
3
3
|
import { Doc } from 'yjs';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -1207,6 +1207,25 @@ declare const RIBBON_CONTROL_CATALOG: {
|
|
|
1207
1207
|
};
|
|
1208
1208
|
};
|
|
1209
1209
|
readonly smartArtDesign: {
|
|
1210
|
+
readonly createGraphic: {
|
|
1211
|
+
readonly label: 'Create Graphic';
|
|
1212
|
+
readonly controls: {
|
|
1213
|
+
readonly addShape: 'Add Shape';
|
|
1214
|
+
readonly addBullet: 'Add Bullet';
|
|
1215
|
+
readonly textPane: 'Text Pane';
|
|
1216
|
+
readonly promote: 'Promote';
|
|
1217
|
+
readonly demote: 'Demote';
|
|
1218
|
+
readonly rightToLeft: 'Right to Left';
|
|
1219
|
+
readonly moveUp: 'Move Up';
|
|
1220
|
+
readonly moveDown: 'Move Down';
|
|
1221
|
+
};
|
|
1222
|
+
};
|
|
1223
|
+
readonly layouts: {
|
|
1224
|
+
readonly label: 'Layouts';
|
|
1225
|
+
readonly controls: {
|
|
1226
|
+
readonly gallery: 'Layouts gallery';
|
|
1227
|
+
};
|
|
1228
|
+
};
|
|
1210
1229
|
readonly smartArtStyles: {
|
|
1211
1230
|
readonly label: 'SmartArt Styles';
|
|
1212
1231
|
readonly controls: {
|
|
@@ -1214,6 +1233,13 @@ declare const RIBBON_CONTROL_CATALOG: {
|
|
|
1214
1233
|
readonly gallery: 'SmartArt Styles gallery';
|
|
1215
1234
|
};
|
|
1216
1235
|
};
|
|
1236
|
+
readonly reset: {
|
|
1237
|
+
readonly label: 'Reset';
|
|
1238
|
+
readonly controls: {
|
|
1239
|
+
readonly resetGraphic: 'Reset Graphic';
|
|
1240
|
+
readonly convert: 'Convert';
|
|
1241
|
+
};
|
|
1242
|
+
};
|
|
1217
1243
|
};
|
|
1218
1244
|
};
|
|
1219
1245
|
//#endregion
|
|
@@ -1431,6 +1457,8 @@ interface RibbonCommandView {
|
|
|
1431
1457
|
expanded?: boolean;
|
|
1432
1458
|
hidden?: boolean;
|
|
1433
1459
|
compact?: boolean;
|
|
1460
|
+
/** Opens a menu or panel: draws PowerPoint's drop-down chevron after the label. */
|
|
1461
|
+
caret?: boolean;
|
|
1434
1462
|
badge?: number;
|
|
1435
1463
|
/** Commands with the same column share a vertical stack. */
|
|
1436
1464
|
column?: number;
|
|
@@ -1509,6 +1537,51 @@ declare function forgetSessionDeck(): Promise<void>;
|
|
|
1509
1537
|
* presentation back to the state it was opened in.
|
|
1510
1538
|
*/
|
|
1511
1539
|
declare function restoreSessionDeck(): Promise<SessionDeck | null>;
|
|
1540
|
+
//#endregion
|
|
1541
|
+
//#region src/render/presentation-session-types.d.ts
|
|
1542
|
+
interface PresentationSnapshot {
|
|
1543
|
+
slideIndex: number;
|
|
1544
|
+
buildStep: number;
|
|
1545
|
+
sequence: number;
|
|
1546
|
+
blackout: 'none' | 'black' | 'white';
|
|
1547
|
+
paused: boolean;
|
|
1548
|
+
elapsedMs: number;
|
|
1549
|
+
zoom?: PresentationZoomState;
|
|
1550
|
+
pointer?: PresentationPointerState;
|
|
1551
|
+
inkStrokes?: PresentationInkStroke[];
|
|
1552
|
+
/**
|
|
1553
|
+
* Whether ink markup is drawn (PowerPoint's Ctrl+M). Undefined means visible,
|
|
1554
|
+
* so existing snapshots keep showing their ink. Hiding never discards the
|
|
1555
|
+
* strokes, which stay in `inkStrokes` and can be kept on exit.
|
|
1556
|
+
*/
|
|
1557
|
+
inkMarkupVisible?: boolean;
|
|
1558
|
+
caption?: string;
|
|
1559
|
+
subtitlesVisible?: boolean;
|
|
1560
|
+
}
|
|
1561
|
+
interface PresentationZoomState {
|
|
1562
|
+
scale: number;
|
|
1563
|
+
originX: number;
|
|
1564
|
+
originY: number;
|
|
1565
|
+
}
|
|
1566
|
+
type PresentationPointerTool = 'none' | 'laser' | 'pen' | 'highlighter' | 'eraser';
|
|
1567
|
+
interface PresentationPointerState {
|
|
1568
|
+
tool: PresentationPointerTool;
|
|
1569
|
+
x: number;
|
|
1570
|
+
y: number;
|
|
1571
|
+
color: string;
|
|
1572
|
+
}
|
|
1573
|
+
interface PresentationInkPoint {
|
|
1574
|
+
x: number;
|
|
1575
|
+
y: number;
|
|
1576
|
+
}
|
|
1577
|
+
interface PresentationInkStroke {
|
|
1578
|
+
id: string;
|
|
1579
|
+
slideIndex: number;
|
|
1580
|
+
tool: 'pen' | 'highlighter';
|
|
1581
|
+
color: string;
|
|
1582
|
+
width: number;
|
|
1583
|
+
points: PresentationInkPoint[];
|
|
1584
|
+
}
|
|
1512
1585
|
/**
|
|
1513
1586
|
* Store PPTX content bytes so the audience tab can retrieve them.
|
|
1514
1587
|
* Called by the presenter before opening the audience window.
|
|
@@ -1523,11 +1596,184 @@ declare function loadAudienceContent(sessionId?: string): Promise<Uint8Array | n
|
|
|
1523
1596
|
* Remove stored audience content (cleanup).
|
|
1524
1597
|
*/
|
|
1525
1598
|
declare function clearAudienceContent(sessionId?: string): Promise<void>;
|
|
1599
|
+
//#endregion
|
|
1600
|
+
//#region src/render/presentation-blackboard.d.ts
|
|
1601
|
+
/** Blackout state, as carried by {@link PresentationSnapshot}. */
|
|
1602
|
+
type PresentationBlackout = PresentationSnapshot['blackout'];
|
|
1603
|
+
//#endregion
|
|
1604
|
+
//#region src/render/chrome-controls-state.d.ts
|
|
1605
|
+
type ChromeTranslate = (key: string, params?: Record<string, string | number>) => string;
|
|
1606
|
+
type ReadOnlyBannerPasswordError = 'wrong-password' | 'unsupported-algorithm';
|
|
1607
|
+
interface ReadOnlyBannerViewState {
|
|
1608
|
+
/** `ReadOnlyRecommendation.kind`; mirrored onto the host's `data-kind`. */
|
|
1609
|
+
kind: string | null;
|
|
1610
|
+
/** `ReadOnlyRecommendation.messageKey`, translated by `translate`. */
|
|
1611
|
+
messageKey: string;
|
|
1612
|
+
/** Swap the Edit anyway / Dismiss pair for the inline password form. */
|
|
1613
|
+
passwordPromptOpen?: boolean;
|
|
1614
|
+
passwordError?: ReadOnlyBannerPasswordError | null;
|
|
1615
|
+
/** Disables the form while a submitted password is being checked. */
|
|
1616
|
+
checkingPassword?: boolean;
|
|
1617
|
+
translate?: ChromeTranslate;
|
|
1618
|
+
}
|
|
1619
|
+
interface PasteOptionsViewState {
|
|
1620
|
+
/** Right edge of the pasted element in viewport pixels. */
|
|
1621
|
+
left: number;
|
|
1622
|
+
/** Bottom edge of the pasted element in viewport pixels. */
|
|
1623
|
+
top: number;
|
|
1624
|
+
translate?: ChromeTranslate;
|
|
1625
|
+
}
|
|
1626
|
+
interface CompatToastViewItem {
|
|
1627
|
+
readonly id: string;
|
|
1628
|
+
readonly code: string;
|
|
1629
|
+
readonly severity: 'info' | 'warning';
|
|
1630
|
+
readonly messageKey: string;
|
|
1631
|
+
readonly params?: Readonly<Record<string, string>>;
|
|
1632
|
+
}
|
|
1633
|
+
interface CompatToastsViewState {
|
|
1634
|
+
/** Dismiss-filtered toasts. The element shows the first {@link COMPAT_TOAST_VISIBLE_LIMIT}. */
|
|
1635
|
+
toasts: readonly CompatToastViewItem[];
|
|
1636
|
+
/** Extra toasts a host already trimmed off the list it passes. */
|
|
1637
|
+
overflowCount?: number;
|
|
1638
|
+
/** Width of the open right-docked panel (see `compatToastStackStyle`). */
|
|
1639
|
+
rightInset?: number;
|
|
1640
|
+
/** Live height of the docked notes strip (see `compatToastStackStyle`). */
|
|
1641
|
+
bottomInset?: number;
|
|
1642
|
+
translate?: ChromeTranslate;
|
|
1643
|
+
}
|
|
1644
|
+
type DialogFooterVariant = 'secondary' | 'primary' | 'warning' | 'danger';
|
|
1645
|
+
type DialogFooterIcon = 'trash' | 'pen' | 'restore' | 'print' | 'check';
|
|
1646
|
+
interface DialogFooterAction {
|
|
1647
|
+
/** Stable id echoed back in the `dialog-footer-request` intent. */
|
|
1648
|
+
id: string;
|
|
1649
|
+
/** Already-translated visible label and accessible name. */
|
|
1650
|
+
label: string;
|
|
1651
|
+
variant?: DialogFooterVariant;
|
|
1652
|
+
icon?: DialogFooterIcon;
|
|
1653
|
+
disabled?: boolean;
|
|
1654
|
+
/** Work in flight: the button is disabled, `aria-busy` and shows a spinner. */
|
|
1655
|
+
busy?: boolean;
|
|
1656
|
+
/** Tooltip (`title`) for an action whose label needs a longer hint. */
|
|
1657
|
+
title?: string;
|
|
1658
|
+
/** `start` pins a tertiary action (Remove link, Reset all) to the left edge. */
|
|
1659
|
+
align?: 'start' | 'end';
|
|
1660
|
+
/** Optional `data-testid` stamped on the button. */
|
|
1661
|
+
testId?: string;
|
|
1662
|
+
}
|
|
1663
|
+
interface DialogFooterViewState {
|
|
1664
|
+
actions: readonly DialogFooterAction[];
|
|
1665
|
+
}
|
|
1666
|
+
type MobileBarId = 'slides' | 'insert' | 'inspector' | 'comments' | 'notes';
|
|
1667
|
+
interface MobileBarViewState {
|
|
1668
|
+
/** Every button disables at 0 (see `buildBarActions`). */
|
|
1669
|
+
slideCount: number;
|
|
1670
|
+
/** The button whose sheet is open; reflected as `aria-pressed` and a top pill. */
|
|
1671
|
+
activeSheet?: MobileBarId | null;
|
|
1672
|
+
/** Comment count on the badge of Comments (`99+` above 99). */
|
|
1673
|
+
commentCount?: number;
|
|
1674
|
+
/** Buttons dropped entirely, such as Notes when `hiddenActions` hides it. */
|
|
1675
|
+
hidden?: readonly MobileBarId[];
|
|
1676
|
+
/** Buttons disabled beyond the no-slides rule, such as edit-only ones in view mode. */
|
|
1677
|
+
disabled?: readonly MobileBarId[];
|
|
1678
|
+
translate?: ChromeTranslate;
|
|
1679
|
+
}
|
|
1680
|
+
type MobileToolbarId = 'menu' | 'undo' | 'redo' | 'ai' | 'save' | 'present' | 'share';
|
|
1681
|
+
interface MobileToolbarViewState {
|
|
1682
|
+
/** Menu, Undo, Redo, AI and Share only show while editing. */
|
|
1683
|
+
editable: boolean;
|
|
1684
|
+
canUndo: boolean;
|
|
1685
|
+
canRedo: boolean;
|
|
1686
|
+
/** Host opted into the AI assistant; the element draws its toggle. */
|
|
1687
|
+
aiVisible?: boolean;
|
|
1688
|
+
aiActive?: boolean;
|
|
1689
|
+
/** Reflected as `aria-expanded` on Menu when given. */
|
|
1690
|
+
menuOpen?: boolean;
|
|
1691
|
+
/** Buttons dropped entirely (`hiddenActions`, or Share when the host has none). */
|
|
1692
|
+
hidden?: readonly MobileToolbarId[];
|
|
1693
|
+
/** Buttons disabled, such as Present while there is nothing to present. */
|
|
1694
|
+
disabled?: readonly MobileToolbarId[];
|
|
1695
|
+
translate?: ChromeTranslate;
|
|
1696
|
+
}
|
|
1697
|
+
interface PresentToolbarViewState {
|
|
1698
|
+
/** Zero-based slide on screen. */
|
|
1699
|
+
current: number;
|
|
1700
|
+
total: number;
|
|
1701
|
+
/** The armed annotation tool; `none` leaves every tool unpressed. */
|
|
1702
|
+
tool: PresentationPointerTool;
|
|
1703
|
+
penColor: string;
|
|
1704
|
+
highlighterColor: string;
|
|
1705
|
+
hasAnnotations: boolean;
|
|
1706
|
+
/** With the pen, marks the Blackboard toggle active (`isBlackboardActive`). */
|
|
1707
|
+
blackout: PresentationBlackout;
|
|
1708
|
+
/** Show the presenter-view toggle (default false). */
|
|
1709
|
+
presenterViewVisible?: boolean;
|
|
1710
|
+
presenterViewActive?: boolean;
|
|
1711
|
+
/** Epoch ms the show started. The element ticks the readout; null shows 00:00. */
|
|
1712
|
+
startTime: number | null;
|
|
1713
|
+
translate?: ChromeTranslate;
|
|
1714
|
+
}
|
|
1715
|
+
interface PresenterConsoleViewState {
|
|
1716
|
+
/** Ids of toggles that read as on (and the resume / close-window variants). */
|
|
1717
|
+
active: readonly string[];
|
|
1718
|
+
/** Ids of controls that are disabled. */
|
|
1719
|
+
disabled: readonly string[];
|
|
1720
|
+
translate?: ChromeTranslate;
|
|
1721
|
+
}
|
|
1526
1722
|
/** In-memory clipboard payload stored when an element is copied or cut. */
|
|
1527
1723
|
interface ElementClipboardPayload {
|
|
1528
1724
|
element: PptxElement;
|
|
1529
1725
|
isTemplate: boolean;
|
|
1530
1726
|
}
|
|
1727
|
+
/** One placeholder outline, already positioned in unscaled slide space. */
|
|
1728
|
+
interface LayoutPreviewFrame {
|
|
1729
|
+
/** Stable key for list rendering. */
|
|
1730
|
+
key: string;
|
|
1731
|
+
type: string;
|
|
1732
|
+
left: number;
|
|
1733
|
+
top: number;
|
|
1734
|
+
width: number;
|
|
1735
|
+
height: number;
|
|
1736
|
+
}
|
|
1737
|
+
/** Everything a binding needs to render one thumbnail. */
|
|
1738
|
+
interface LayoutPreviewGeometry {
|
|
1739
|
+
/** Outer box, in CSS pixels. */
|
|
1740
|
+
boxWidth: number;
|
|
1741
|
+
boxHeight: number;
|
|
1742
|
+
/** Inner surface size, in unscaled slide pixels. */
|
|
1743
|
+
surfaceWidth: number;
|
|
1744
|
+
surfaceHeight: number;
|
|
1745
|
+
/** Factor to apply as `transform: scale(...)` on the inner surface. */
|
|
1746
|
+
scale: number;
|
|
1747
|
+
backgroundColor: string;
|
|
1748
|
+
/**
|
|
1749
|
+
* Border width for placeholder outlines, pre-divided by {@link scale}.
|
|
1750
|
+
*
|
|
1751
|
+
* The outlines live inside the scaled surface, so a plain 1.5px border
|
|
1752
|
+
* would be multiplied down to a hairline that vanishes at thumbnail size.
|
|
1753
|
+
* Dividing here keeps the drawn width constant on screen whatever the
|
|
1754
|
+
* slide dimensions are.
|
|
1755
|
+
*/
|
|
1756
|
+
frameBorderWidth: number;
|
|
1757
|
+
frames: LayoutPreviewFrame[];
|
|
1758
|
+
}
|
|
1759
|
+
//#endregion
|
|
1760
|
+
//#region src/render/command-search.d.ts
|
|
1761
|
+
/**
|
|
1762
|
+
* Command-search data for the PowerPoint-style "Tell me what you want to do"
|
|
1763
|
+
* search bar. Provides searchable command entries grouped by category, each
|
|
1764
|
+
* mapping a label translation key to a command identifier that bindings can
|
|
1765
|
+
* dispatch.
|
|
1766
|
+
*/
|
|
1767
|
+
interface CommandSearchEntry {
|
|
1768
|
+
/** Translation key for the display label. */
|
|
1769
|
+
labelKey: string;
|
|
1770
|
+
/** Command identifier dispatched to the host binding. */
|
|
1771
|
+
command: string;
|
|
1772
|
+
/** Optional icon hint (binding resolves to framework icon component). */
|
|
1773
|
+
icon?: string;
|
|
1774
|
+
/** Category grouping key; hosts with their own short list may omit it. */
|
|
1775
|
+
category?: 'format' | 'insert' | 'view' | 'slideShow' | 'design' | 'arrange';
|
|
1776
|
+
}
|
|
1531
1777
|
interface SubtitleSettings {
|
|
1532
1778
|
spokenLanguage: string;
|
|
1533
1779
|
}
|
|
@@ -1557,7 +1803,7 @@ interface AccountAuthConfig {
|
|
|
1557
1803
|
//#endregion
|
|
1558
1804
|
//#region src/render/ribbon-galleries/gallery-types.d.ts
|
|
1559
1805
|
/** Every gallery the ribbon offers. */
|
|
1560
|
-
type RibbonGalleryId = 'shapeStyles' | 'shapeEffects' | 'wordArtStyles' | 'pictureStyles' | 'pictureCorrections' | 'pictureColor' | 'pictureArtisticEffects' | 'bullets' | 'numbering' | 'tableStyles' | 'chartStyles' | 'chartColors' | 'chartQuickLayout' | 'smartArtStyles' | 'smartArtColors' | 'themeColors' | 'themeFonts';
|
|
1806
|
+
type RibbonGalleryId = 'shapeStyles' | 'shapeEffects' | 'wordArtStyles' | 'pictureStyles' | 'pictureCorrections' | 'pictureColor' | 'pictureArtisticEffects' | 'bullets' | 'numbering' | 'tableStyles' | 'chartStyles' | 'chartColors' | 'chartQuickLayout' | 'smartArtStyles' | 'smartArtColors' | 'smartArtLayouts' | 'smartArtAddShape' | 'smartArtAddBullet' | 'smartArtTextPane' | 'smartArtPromote' | 'smartArtDemote' | 'smartArtRightToLeft' | 'smartArtMoveUp' | 'smartArtMoveDown' | 'smartArtResetGraphic' | 'smartArtConvert' | 'themeColors' | 'themeFonts';
|
|
1561
1807
|
/** One tile. */
|
|
1562
1808
|
interface RibbonGalleryItem {
|
|
1563
1809
|
/** Stable within its gallery; what `applyRibbonGalleryItem` takes. */
|
|
@@ -1604,6 +1850,22 @@ interface RibbonGalleryDescriptor {
|
|
|
1604
1850
|
sections: RibbonGallerySection[];
|
|
1605
1851
|
/** True when the selection cannot take this gallery (trigger disabled). */
|
|
1606
1852
|
disabled: boolean;
|
|
1853
|
+
/**
|
|
1854
|
+
* Set when the entry is a one-button command (PowerPoint's Add Shape, Reset
|
|
1855
|
+
* Graphic, ...) rather than a gallery: the element draws a plain command, a
|
|
1856
|
+
* click picks its only item and no panel opens.
|
|
1857
|
+
*/
|
|
1858
|
+
command?: RibbonGalleryCommandView;
|
|
1859
|
+
}
|
|
1860
|
+
/** How a command-style entry draws (see {@link RibbonGalleryDescriptor.command}). */
|
|
1861
|
+
interface RibbonGalleryCommandView {
|
|
1862
|
+
/** SVG path data on a 20px grid. */
|
|
1863
|
+
iconPath: string;
|
|
1864
|
+
/** Icon above the label (PowerPoint's large button) instead of beside it. */
|
|
1865
|
+
large?: boolean;
|
|
1866
|
+
/** i18n key and English fallback of the tooltip, e.g. why the command is unavailable. */
|
|
1867
|
+
hintKey?: string;
|
|
1868
|
+
hint?: string;
|
|
1607
1869
|
}
|
|
1608
1870
|
//#endregion
|
|
1609
1871
|
//#region src/render/viewport-fit.d.ts
|
|
@@ -1668,15 +1930,73 @@ interface RibbonInsertState {
|
|
|
1668
1930
|
headerFooterAvailable?: boolean;
|
|
1669
1931
|
translate?: (key: string) => string;
|
|
1670
1932
|
}
|
|
1933
|
+
/** One row of a menu or select; labels are translated by the view unless `label` is set. */
|
|
1934
|
+
interface RibbonHomeItem {
|
|
1935
|
+
readonly value: string;
|
|
1936
|
+
/** Ready-made text (a font family, a layout name); wins over `labelKey`. */
|
|
1937
|
+
readonly label?: string;
|
|
1938
|
+
readonly labelKey?: string;
|
|
1939
|
+
readonly fallback?: string;
|
|
1940
|
+
readonly description?: string;
|
|
1941
|
+
readonly descriptionKey?: string;
|
|
1942
|
+
/** Heading of the group this row opens; consecutive rows share one heading. */
|
|
1943
|
+
readonly group?: string;
|
|
1944
|
+
readonly groupKey?: string;
|
|
1945
|
+
readonly checked?: boolean;
|
|
1946
|
+
readonly disabled?: boolean;
|
|
1947
|
+
/** Preview typeface of a font row. */
|
|
1948
|
+
readonly fontFamily?: string;
|
|
1949
|
+
/** Shared artwork key shown before the label (a shape glyph or ribbon icon). */
|
|
1950
|
+
readonly icon?: string;
|
|
1951
|
+
/** Preserved test or automation hooks (`data-pptx-merge-op`, ...). */
|
|
1952
|
+
readonly attrs?: Readonly<Record<string, string>>;
|
|
1953
|
+
/** Draws a divider above the row. */
|
|
1954
|
+
readonly separator?: boolean;
|
|
1955
|
+
}
|
|
1671
1956
|
interface RibbonHomeControlState {
|
|
1672
1957
|
disabled?: boolean;
|
|
1673
1958
|
/** Omit for ordinary commands; a boolean reflects `aria-pressed`. */
|
|
1674
1959
|
pressed?: boolean;
|
|
1960
|
+
/** Reserved for hosts that mirror their own popover; shared popovers set it themselves. */
|
|
1961
|
+
expanded?: boolean;
|
|
1675
1962
|
hidden?: boolean;
|
|
1963
|
+
/** Select, number, colour bar and checked menu row. */
|
|
1964
|
+
value?: string | number;
|
|
1965
|
+
/** Menu or select rows that replace the spec's static ones. */
|
|
1966
|
+
items?: readonly RibbonHomeItem[];
|
|
1967
|
+
/** Colour popover content; the trigger shows `value` in its bar. */
|
|
1968
|
+
colour?: RibbonHomeColourModel;
|
|
1969
|
+
/** Layout gallery content. */
|
|
1970
|
+
layouts?: RibbonHomeLayoutModel;
|
|
1971
|
+
/** Embedded gallery content. */
|
|
1972
|
+
gallery?: {
|
|
1973
|
+
descriptor: RibbonGalleryDescriptor | undefined;
|
|
1974
|
+
disabled?: boolean;
|
|
1975
|
+
};
|
|
1676
1976
|
}
|
|
1977
|
+
interface RibbonHomeColourModel {
|
|
1978
|
+
/** The deck's theme colour map; the popover derives the theme palette from it. */
|
|
1979
|
+
themeColors?: Readonly<Record<string, string>>;
|
|
1980
|
+
/** Theme reference of the current colour (highlights its swatch). */
|
|
1981
|
+
selectedRef?: PptxThemeColorRef;
|
|
1982
|
+
/** Recently used colours, newest first. */
|
|
1983
|
+
recent?: readonly string[];
|
|
1984
|
+
}
|
|
1985
|
+
interface RibbonHomeLayoutModel {
|
|
1986
|
+
layouts: readonly {
|
|
1987
|
+
path: string;
|
|
1988
|
+
name: string;
|
|
1989
|
+
}[];
|
|
1990
|
+
/** Marks the active tile; omitted by New Slide. */
|
|
1991
|
+
current?: string;
|
|
1992
|
+
/** Artwork data by layout path; tiles render name-only until it arrives. */
|
|
1993
|
+
previews?: Readonly<Record<string, PptxLayoutPreview>> | ReadonlyMap<string, PptxLayoutPreview>;
|
|
1994
|
+
}
|
|
1995
|
+
/** State key of a control: its id, or `id#part` when several buttons share one id. */
|
|
1996
|
+
type RibbonHomeKey = RibbonControlId | `${RibbonControlId}#${string}`;
|
|
1677
1997
|
interface RibbonHomeViewState {
|
|
1678
1998
|
/** Missing entries are enabled, unpressed and visible. */
|
|
1679
|
-
controls: Readonly<Partial<Record<
|
|
1999
|
+
controls: Readonly<Partial<Record<RibbonHomeKey, RibbonHomeControlState>>>;
|
|
1680
2000
|
translate?: (key: string) => string;
|
|
1681
2001
|
}
|
|
1682
2002
|
/** Controlled View tab state. Native viewers own the values and every side effect. */
|
|
@@ -1709,6 +2029,113 @@ interface RibbonTransitionsViewState {
|
|
|
1709
2029
|
translate?: RibbonTransitionsTranslate;
|
|
1710
2030
|
}
|
|
1711
2031
|
//#endregion
|
|
2032
|
+
//#region src/render/status-bar-state.d.ts
|
|
2033
|
+
/**
|
|
2034
|
+
* Shared model for the bottom status bar (`pptx-ui-status-bar`).
|
|
2035
|
+
*
|
|
2036
|
+
* The slide counter, save indicator, notes toggle, view-mode buttons and zoom
|
|
2037
|
+
* cluster were hand-built five times. The view owns the markup, pressed state
|
|
2038
|
+
* and gating; hosts own every effect (notes panel, view switching, zoom).
|
|
2039
|
+
*/
|
|
2040
|
+
type StatusBarTranslate = (key: string, params?: Record<string, string | number>) => string;
|
|
2041
|
+
type StatusBarSaveKind = 'idle' | 'saving' | 'error';
|
|
2042
|
+
type StatusBarViewMode = 'normal' | 'sorter' | 'slideShow';
|
|
2043
|
+
interface StatusBarViewState {
|
|
2044
|
+
slideCount: number;
|
|
2045
|
+
/** Zero-based active slide; clamped into range for display. */
|
|
2046
|
+
activeSlideIndex: number;
|
|
2047
|
+
/** Already-translated save indicator, see {@link resolveStatusBarSave}. */
|
|
2048
|
+
saveText: string;
|
|
2049
|
+
saveKind?: StatusBarSaveKind;
|
|
2050
|
+
/** Omit to hide the whole zoom cluster. */
|
|
2051
|
+
zoomPercent?: number;
|
|
2052
|
+
showNotes?: boolean;
|
|
2053
|
+
notesExpanded?: boolean;
|
|
2054
|
+
/** Default true. False drops the Normal / Sorter / Slide Show cluster. */
|
|
2055
|
+
showViewModes?: boolean;
|
|
2056
|
+
/** Default true. */
|
|
2057
|
+
showSorter?: boolean;
|
|
2058
|
+
/** Default true. */
|
|
2059
|
+
showSlideShow?: boolean;
|
|
2060
|
+
/** The pressed view button; omit when none is active. */
|
|
2061
|
+
viewMode?: StatusBarViewMode;
|
|
2062
|
+
translate?: StatusBarTranslate;
|
|
2063
|
+
}
|
|
2064
|
+
//#endregion
|
|
2065
|
+
//#region src/render/notes-toolbar-state.d.ts
|
|
2066
|
+
/**
|
|
2067
|
+
* Shared model for the speaker-notes formatting toolbar (`pptx-ui-notes-toolbar`).
|
|
2068
|
+
*
|
|
2069
|
+
* The toolbar owns the buttons, their order, icons, labels, enabled state and
|
|
2070
|
+
* the hyperlink popover. Hosts own the contenteditable editor, selection-based
|
|
2071
|
+
* edits, history, printing and persistence, and route typed intents to them.
|
|
2072
|
+
*/
|
|
2073
|
+
type NotesToolbarTranslate = (key: string, params?: Record<string, string | number>) => string;
|
|
2074
|
+
interface NotesToolbarViewState {
|
|
2075
|
+
/** True while the rich (contenteditable) surface is active. Drives the mode button label. */
|
|
2076
|
+
rich: boolean;
|
|
2077
|
+
/** Enables the formatting buttons. False in the plain editor, where they cannot act. */
|
|
2078
|
+
canFormat: boolean;
|
|
2079
|
+
/** Shows the Print button. */
|
|
2080
|
+
showPrint: boolean;
|
|
2081
|
+
/** Disables every button, for example while no slide is selected. */
|
|
2082
|
+
disabled?: boolean;
|
|
2083
|
+
/** Host translator; keys are the canonical `pptx.notes.*` set. Omitted: keys are shown. */
|
|
2084
|
+
translate?: NotesToolbarTranslate;
|
|
2085
|
+
}
|
|
2086
|
+
//#endregion
|
|
2087
|
+
//#region src/render/title-bar-state.d.ts
|
|
2088
|
+
type TitleBarTranslate = (key: string, params?: Record<string, string | number>) => string;
|
|
2089
|
+
type TitleBarPlacement = 'titleBar' | 'belowRibbon';
|
|
2090
|
+
type TitleBarTone = 'idle' | 'saving' | 'error';
|
|
2091
|
+
interface TitleBarAutosaveView {
|
|
2092
|
+
enabled: boolean;
|
|
2093
|
+
/** Default true. False renders the switch inert (host policy `autosave: false`). */
|
|
2094
|
+
toggleAvailable?: boolean;
|
|
2095
|
+
/** Translation key from `resolveTitleBarStatusKey`. */
|
|
2096
|
+
statusKey: string;
|
|
2097
|
+
/** Colour of the status text; only meaningful while `enabled`. */
|
|
2098
|
+
tone?: TitleBarTone;
|
|
2099
|
+
}
|
|
2100
|
+
interface TitleBarHistoryState {
|
|
2101
|
+
canUndo: boolean;
|
|
2102
|
+
canRedo: boolean;
|
|
2103
|
+
/** Description of the pending action, e.g. "Delete shape". */
|
|
2104
|
+
undoLabel?: string | null;
|
|
2105
|
+
redoLabel?: string | null;
|
|
2106
|
+
/** Default true. Maps to `hiddenActions: ['undo']`. */
|
|
2107
|
+
showUndo?: boolean;
|
|
2108
|
+
/** Default true. Maps to `hiddenActions: ['redo']`. */
|
|
2109
|
+
showRedo?: boolean;
|
|
2110
|
+
}
|
|
2111
|
+
interface TitleBarQuickAccessView {
|
|
2112
|
+
visible: boolean;
|
|
2113
|
+
position: QuickAccessPosition;
|
|
2114
|
+
showCommandLabels: boolean;
|
|
2115
|
+
/** Ordered catalog ids (File > Options > Quick Access Toolbar). */
|
|
2116
|
+
commandIds: readonly string[];
|
|
2117
|
+
}
|
|
2118
|
+
interface TitleBarViewState {
|
|
2119
|
+
/** Edit mode with an editable deck. Gates AutoSave, the strip, status and search. */
|
|
2120
|
+
editing: boolean;
|
|
2121
|
+
/** Whether the command search shows; hosts pass `editing`. */
|
|
2122
|
+
searchVisible: boolean;
|
|
2123
|
+
/** Display name; the translated default shows when empty. */
|
|
2124
|
+
fileName?: string;
|
|
2125
|
+
autosave: TitleBarAutosaveView;
|
|
2126
|
+
history: TitleBarHistoryState;
|
|
2127
|
+
/** Default true. */
|
|
2128
|
+
showSave?: boolean;
|
|
2129
|
+
quickAccess: TitleBarQuickAccessView;
|
|
2130
|
+
/** Search catalogue; defaults to the shared `COMMAND_SEARCH_ENTRIES`. */
|
|
2131
|
+
commands?: readonly CommandSearchEntry[];
|
|
2132
|
+
/** Default true. False drops the "Find in Slides" fallback row. */
|
|
2133
|
+
contentSearch?: boolean;
|
|
2134
|
+
/** ScreenTip rule (Options > General); returning undefined suppresses the title. */
|
|
2135
|
+
screenTip?: (label: string) => string | undefined;
|
|
2136
|
+
translate?: TitleBarTranslate;
|
|
2137
|
+
}
|
|
2138
|
+
//#endregion
|
|
1712
2139
|
//#region src/web-components/theme-editor.d.ts
|
|
1713
2140
|
interface PptxUiThemeEditorElement extends HTMLElement {
|
|
1714
2141
|
theme: PptxTheme | undefined;
|
|
@@ -1720,6 +2147,74 @@ declare global {
|
|
|
1720
2147
|
'pptx-ui-theme-editor': PptxUiThemeEditorElement;
|
|
1721
2148
|
}
|
|
1722
2149
|
}
|
|
2150
|
+
interface PptxUiCompatToastsElement extends HTMLElement {
|
|
2151
|
+
state: CompatToastsViewState;
|
|
2152
|
+
}
|
|
2153
|
+
declare global {
|
|
2154
|
+
interface HTMLElementTagNameMap {
|
|
2155
|
+
'pptx-ui-compat-toasts': PptxUiCompatToastsElement;
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
interface PptxUiDialogFooterElement extends HTMLElement {
|
|
2159
|
+
state: DialogFooterViewState;
|
|
2160
|
+
/** Move keyboard focus to an action, e.g. the primary one when a dialog opens. */
|
|
2161
|
+
focusAction(id: string): void;
|
|
2162
|
+
}
|
|
2163
|
+
declare global {
|
|
2164
|
+
interface HTMLElementTagNameMap {
|
|
2165
|
+
'pptx-ui-dialog-footer': PptxUiDialogFooterElement;
|
|
2166
|
+
}
|
|
2167
|
+
}
|
|
2168
|
+
interface PptxUiMobileBarElement extends HTMLElement {
|
|
2169
|
+
state: MobileBarViewState;
|
|
2170
|
+
}
|
|
2171
|
+
declare global {
|
|
2172
|
+
interface HTMLElementTagNameMap {
|
|
2173
|
+
'pptx-ui-mobile-bar': PptxUiMobileBarElement;
|
|
2174
|
+
}
|
|
2175
|
+
}
|
|
2176
|
+
interface PptxUiMobileToolbarElement extends HTMLElement {
|
|
2177
|
+
state: MobileToolbarViewState;
|
|
2178
|
+
}
|
|
2179
|
+
declare global {
|
|
2180
|
+
interface HTMLElementTagNameMap {
|
|
2181
|
+
'pptx-ui-mobile-toolbar': PptxUiMobileToolbarElement;
|
|
2182
|
+
}
|
|
2183
|
+
}
|
|
2184
|
+
interface PptxUiPasteOptionsElement extends HTMLElement {
|
|
2185
|
+
state: PasteOptionsViewState;
|
|
2186
|
+
}
|
|
2187
|
+
declare global {
|
|
2188
|
+
interface HTMLElementTagNameMap {
|
|
2189
|
+
'pptx-ui-paste-options': PptxUiPasteOptionsElement;
|
|
2190
|
+
}
|
|
2191
|
+
}
|
|
2192
|
+
interface PptxUiPresentToolbarElement extends HTMLElement {
|
|
2193
|
+
state: PresentToolbarViewState;
|
|
2194
|
+
/** Close an open colour palette, e.g. when the host auto-hides the bar. */
|
|
2195
|
+
closePalettes(): void;
|
|
2196
|
+
}
|
|
2197
|
+
declare global {
|
|
2198
|
+
interface HTMLElementTagNameMap {
|
|
2199
|
+
'pptx-ui-present-toolbar': PptxUiPresentToolbarElement;
|
|
2200
|
+
}
|
|
2201
|
+
}
|
|
2202
|
+
interface PptxUiPresenterConsoleElement extends HTMLElement {
|
|
2203
|
+
state: PresenterConsoleViewState;
|
|
2204
|
+
}
|
|
2205
|
+
declare global {
|
|
2206
|
+
interface HTMLElementTagNameMap {
|
|
2207
|
+
'pptx-ui-presenter-console': PptxUiPresenterConsoleElement;
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
interface PptxUiReadOnlyBannerElement extends HTMLElement {
|
|
2211
|
+
state: ReadOnlyBannerViewState;
|
|
2212
|
+
}
|
|
2213
|
+
declare global {
|
|
2214
|
+
interface HTMLElementTagNameMap {
|
|
2215
|
+
'pptx-ui-read-only-banner': PptxUiReadOnlyBannerElement;
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
1723
2218
|
interface PptxUiRibbonAnimationsElement extends HTMLElement {
|
|
1724
2219
|
state: RibbonAnimationsViewState;
|
|
1725
2220
|
}
|
|
@@ -1736,8 +2231,19 @@ declare global {
|
|
|
1736
2231
|
'pptx-ui-ribbon-draw': PptxUiRibbonDrawElement;
|
|
1737
2232
|
}
|
|
1738
2233
|
}
|
|
2234
|
+
//#endregion
|
|
2235
|
+
//#region src/web-components/ribbon-home-layout.d.ts
|
|
2236
|
+
/**
|
|
2237
|
+
* Draws a layout's real artwork inside a tile's scaled surface. The artwork is
|
|
2238
|
+
* element rendering that each binding owns; return a disposer to release it.
|
|
2239
|
+
*/
|
|
2240
|
+
type HomeLayoutArtwork = (preview: PptxLayoutPreview, geometry: LayoutPreviewGeometry, container: HTMLElement) => (() => void) | void;
|
|
1739
2241
|
interface PptxUiRibbonHomeElement extends HTMLElement {
|
|
1740
2242
|
state: RibbonHomeViewState;
|
|
2243
|
+
/** Draws a layout's real artwork inside a gallery tile; the host owns element rendering. */
|
|
2244
|
+
layoutArtwork: HomeLayoutArtwork | undefined;
|
|
2245
|
+
/** Wrapper (or button) of a control id. */
|
|
2246
|
+
anchor(id: string): HTMLElement | undefined;
|
|
1741
2247
|
}
|
|
1742
2248
|
declare global {
|
|
1743
2249
|
interface HTMLElementTagNameMap {
|
|
@@ -1745,6 +2251,15 @@ declare global {
|
|
|
1745
2251
|
'pptx-ui-ribbon-home-font': PptxUiRibbonHomeElement;
|
|
1746
2252
|
'pptx-ui-ribbon-home-paragraph': PptxUiRibbonHomeElement;
|
|
1747
2253
|
'pptx-ui-ribbon-home-editing': PptxUiRibbonHomeElement;
|
|
2254
|
+
'pptx-ui-ribbon-home-slides': PptxUiRibbonHomeElement;
|
|
2255
|
+
'pptx-ui-ribbon-home-drawing': PptxUiRibbonHomeElement;
|
|
2256
|
+
'pptx-ui-ribbon-home-arrange-align': PptxUiRibbonHomeElement;
|
|
2257
|
+
'pptx-ui-ribbon-home-arrange-flip': PptxUiRibbonHomeElement;
|
|
2258
|
+
'pptx-ui-ribbon-home-arrange-order': PptxUiRibbonHomeElement;
|
|
2259
|
+
'pptx-ui-ribbon-home-arrange-edit': PptxUiRibbonHomeElement;
|
|
2260
|
+
'pptx-ui-ribbon-home-font-picker': PptxUiRibbonHomeElement;
|
|
2261
|
+
'pptx-ui-ribbon-home-arrange-painter': PptxUiRibbonHomeElement;
|
|
2262
|
+
'pptx-ui-ribbon-home-arrange-shape': PptxUiRibbonHomeElement;
|
|
1748
2263
|
}
|
|
1749
2264
|
}
|
|
1750
2265
|
interface PptxUiRibbonTransitionsElement extends HTMLElement {
|
|
@@ -1812,6 +2327,74 @@ declare global {
|
|
|
1812
2327
|
'pptx-ui-subtitle-settings': PptxUiSubtitleSettingsElement;
|
|
1813
2328
|
}
|
|
1814
2329
|
}
|
|
2330
|
+
interface PptxUiStatusBarElement extends HTMLElement {
|
|
2331
|
+
state: StatusBarViewState;
|
|
2332
|
+
}
|
|
2333
|
+
declare global {
|
|
2334
|
+
interface HTMLElementTagNameMap {
|
|
2335
|
+
'pptx-ui-status-bar': PptxUiStatusBarElement;
|
|
2336
|
+
}
|
|
2337
|
+
}
|
|
2338
|
+
interface PptxUiNotesToolbarElement extends HTMLElement {
|
|
2339
|
+
state: NotesToolbarViewState;
|
|
2340
|
+
}
|
|
2341
|
+
declare global {
|
|
2342
|
+
interface HTMLElementTagNameMap {
|
|
2343
|
+
'pptx-ui-notes-toolbar': PptxUiNotesToolbarElement;
|
|
2344
|
+
}
|
|
2345
|
+
}
|
|
2346
|
+
interface PptxUiTitleBarElement extends HTMLElement {
|
|
2347
|
+
state: TitleBarViewState | undefined;
|
|
2348
|
+
placement: TitleBarPlacement;
|
|
2349
|
+
}
|
|
2350
|
+
declare global {
|
|
2351
|
+
interface HTMLElementTagNameMap {
|
|
2352
|
+
'pptx-ui-title-bar': PptxUiTitleBarElement;
|
|
2353
|
+
}
|
|
2354
|
+
}
|
|
2355
|
+
/** One row of a context menu. Hosts decide `id`, wording, gating and what activation does. */
|
|
2356
|
+
interface ContextMenuViewItem {
|
|
2357
|
+
/** Stable command id, echoed by `menu-request`. */
|
|
2358
|
+
id: string;
|
|
2359
|
+
/** Already-translated visible label. */
|
|
2360
|
+
label: string;
|
|
2361
|
+
/** Draw a rule before this row. */
|
|
2362
|
+
separatorBefore?: boolean;
|
|
2363
|
+
/** Group heading shown before this row; the row and the ones after it join that group. */
|
|
2364
|
+
heading?: string;
|
|
2365
|
+
/** Destructive command (Delete): tinted. */
|
|
2366
|
+
danger?: boolean;
|
|
2367
|
+
/** Offered but unavailable: announced and drawn dim, skipped by arrow keys. */
|
|
2368
|
+
disabled?: boolean;
|
|
2369
|
+
/** A toggle (Grid and Guides, Ruler) in this state; omitted for one-shot commands. */
|
|
2370
|
+
checked?: boolean;
|
|
2371
|
+
}
|
|
2372
|
+
/** Everything the controlled element needs to draw one menu. */
|
|
2373
|
+
interface ContextMenuViewState {
|
|
2374
|
+
/** Pointer position, in viewport pixels. The element clamps it into the window. */
|
|
2375
|
+
x: number;
|
|
2376
|
+
y: number;
|
|
2377
|
+
/** Accessible name of the menu. */
|
|
2378
|
+
label: string;
|
|
2379
|
+
items: readonly ContextMenuViewItem[];
|
|
2380
|
+
/**
|
|
2381
|
+
* Test-hook attributes copied onto the host element (`data-pptx-context-menu`,
|
|
2382
|
+
* `data-pptx-canvas-context-menu`, ...). Only `data-pptx-*` names are accepted.
|
|
2383
|
+
*/
|
|
2384
|
+
markers?: readonly string[];
|
|
2385
|
+
/** Stacking order; defaults to {@link CONTEXT_MENU_EDITOR_LAYER}. */
|
|
2386
|
+
zIndex?: number;
|
|
2387
|
+
/** Move focus onto the first command on open. Default true. */
|
|
2388
|
+
autoFocus?: boolean;
|
|
2389
|
+
}
|
|
2390
|
+
interface PptxUiContextMenuElement extends HTMLElement {
|
|
2391
|
+
state: ContextMenuViewState;
|
|
2392
|
+
}
|
|
2393
|
+
declare global {
|
|
2394
|
+
interface HTMLElementTagNameMap {
|
|
2395
|
+
'pptx-ui-context-menu': PptxUiContextMenuElement;
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
1815
2398
|
//#endregion
|
|
1816
2399
|
//#region src/web-components/select-value.d.ts
|
|
1817
2400
|
/** Public DOM shape used by all bindings; the element is not a native select. */
|