ooxml-ui 0.31.0 → 1.0.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/README.md +14 -0
- package/custom-elements.json +10 -0
- package/dist/{chunk-RAZAJMHK.js → chunk-4QQASR5A.js} +2 -2
- package/dist/{chunk-HZ422LTR.js → chunk-BOX43CZD.js} +1 -0
- package/dist/{chunk-3GE2NHNG.js → chunk-FLHM5Q4O.js} +119 -81
- package/dist/{chunk-2QW4QE56.js → chunk-T3HB5LMH.js} +103 -68
- package/dist/controls.js +2 -2
- package/dist/docx/hard-break-command.d.ts +1 -3
- package/dist/docx/link-commands.d.ts +4 -15
- package/dist/docx/note-editor.d.ts +3 -2
- package/dist/docx/run-styles.d.ts +1 -1
- package/dist/docx/schema.d.ts +1 -1
- package/dist/docx/toggle-commands.d.ts +2 -8
- package/dist/docx.js +109 -302
- package/dist/form/gradient-direction-gallery.d.ts +19 -0
- package/dist/form/gradient-gallery-preview.d.ts +3 -0
- package/dist/form/gradient-preset-gallery.d.ts +16 -0
- package/dist/form/gradient-stop-track.d.ts +20 -0
- package/dist/form/number-range.d.ts +12 -0
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.js +4 -4
- package/dist/menu/menu-button.d.ts +10 -0
- package/dist/menu/menu-button.d.ts.map +1 -1
- package/dist/pptx/{chart-3d-view-scene-IANLDFIE.mjs → chart-3d-view-scene-2KRQ5667.mjs} +2 -2
- package/dist/pptx/{chart-3d-view-scene-3DK5TUBZ.cjs → chart-3d-view-scene-36DMZWZ3.cjs} +37 -37
- package/dist/pptx/{chunk-C42ZL35K.mjs → chunk-ADOC5JLI.mjs} +1 -1
- package/dist/pptx/{chunk-QM4FGZG4.cjs → chunk-AIL3BNZS.cjs} +31 -131
- package/dist/pptx/{chunk-WLETAW3T.cjs → chunk-CJU4P5FT.cjs} +33 -13
- package/dist/pptx/{chunk-6SCK57RJ.cjs → chunk-FEFQTZDM.cjs} +158 -245
- package/dist/pptx/{chunk-EVGSFPUV.mjs → chunk-XWE5GSE7.mjs} +16 -109
- package/dist/pptx/{chunk-7JEMQW6R.mjs → chunk-YARCML7O.mjs} +11 -122
- package/dist/pptx/{chunk-OHE5UXST.cjs → chunk-YHA6XAB3.cjs} +1 -1
- package/dist/pptx/{chunk-X2F6PA2D.mjs → chunk-YOGDIDPB.mjs} +22 -3
- package/dist/pptx/dom/index.cjs +235 -235
- package/dist/pptx/dom/index.mjs +6 -6
- package/dist/pptx/export/html2canvas-clone.cjs +2 -2
- package/dist/pptx/export/html2canvas-clone.mjs +1 -1
- package/dist/pptx/index.cjs +2993 -2989
- package/dist/pptx/index.mjs +4 -4
- package/dist/pptx/render/chart-combo-stock.cjs +3 -3
- package/dist/pptx/render/chart-combo-stock.mjs +1 -1
- package/dist/pptx/render/chart-manual-layout.d.ts +2 -20
- package/dist/pptx/render/chart-manual-layout.d.ts.map +1 -1
- package/dist/pptx/render/chart-overlays.cjs +7 -7
- package/dist/pptx/render/chart-overlays.mjs +1 -1
- package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
- package/dist/pptx/render/chart-svg-def-types.d.ts +6 -1
- package/dist/pptx/render/chart-svg-def-types.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model-dom-helpers.d.ts +1 -1
- package/dist/pptx/render/chart-view-model-dom-helpers.d.ts.map +1 -1
- package/dist/pptx/render/chart-view-model.cjs +41 -41
- package/dist/pptx/render/chart-view-model.mjs +1 -1
- package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
- package/dist/pptx/render/element-interaction.d.ts +1 -1
- package/dist/pptx/render/element-interaction.d.ts.map +1 -1
- package/dist/pptx/render/gradient-picker.d.ts.map +1 -1
- package/dist/pptx/render/index.d.ts +1 -0
- package/dist/pptx/render/index.d.ts.map +1 -1
- package/dist/pptx/render/path-gradient-rect.d.ts +1 -75
- package/dist/pptx/render/path-gradient-rect.d.ts.map +1 -1
- package/dist/pptx/render/rotate-handle-placement.d.ts +1 -27
- package/dist/pptx/render/rotate-handle-placement.d.ts.map +1 -1
- package/dist/pptx/render/rotation-drag.d.ts +1 -7
- package/dist/pptx/render/rotation-drag.d.ts.map +1 -1
- package/dist/teams/app/files-panel.d.ts +8 -3
- package/dist/teams/app/teams-app.d.ts +1 -0
- package/dist/teams/app/teams-settings.d.ts +6 -0
- package/dist/teams.js +3 -3
- package/dist/visio/render-fill.d.ts +2 -1
- package/dist/visio/render-svg.d.ts +2 -0
- package/dist/visio/ribbon-action.d.ts +8 -1
- package/dist/visio/ribbon-parts.d.ts +2 -1
- package/dist/visio/ribbon-router.d.ts +4 -2
- package/dist/visio/viewer-commands.d.ts +3 -3
- package/dist/visio/viewer-draw-tool.d.ts +16 -6
- package/dist/visio/viewer-handle-events.d.ts +19 -0
- package/dist/visio/viewer-line-endpoints.d.ts +14 -0
- package/dist/visio/viewer-rotation-handle.d.ts +14 -0
- package/dist/visio/viewer-rotation-preview.d.ts +7 -0
- package/dist/visio.js +734 -88
- package/dist/xlsx/chart-area-pane.d.ts +9 -0
- package/dist/xlsx/chart-fill-binding.d.ts +23 -0
- package/dist/xlsx/chart-gradient-preview.d.ts +8 -0
- package/dist/xlsx/chart-series-fill.d.ts +2 -1
- package/dist/xlsx/chart-series-gradient-type.d.ts +9 -0
- package/dist/xlsx/chart-series-gradient.d.ts +8 -0
- package/dist/xlsx/chart-series-pane.d.ts +2 -1
- package/dist/xlsx/chart-series-range-preview.d.ts +7 -0
- package/dist/xlsx/chart-series-transparency.d.ts +2 -1
- package/dist/xlsx/grid/measure.d.ts +5 -0
- package/dist/xlsx/grid/styles.d.ts +1 -1
- package/dist/xlsx.js +962 -102
- package/package.json +2 -2
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ChartGradientFill } from 'ooxml-core/chart';
|
|
2
|
+
import { type RectGradientDirection } from 'ooxml-core/diagram';
|
|
3
|
+
import { type OfficeUiGallery } from '../ribbon/gallery.js';
|
|
4
|
+
interface DirectionOptions {
|
|
5
|
+
gradient: ChartGradientFill;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
translate(label: string): string;
|
|
9
|
+
onPick(angle: number): void;
|
|
10
|
+
onRectPick?(direction: RectGradientDirection): void;
|
|
11
|
+
onPathPick?(direction: RectGradientDirection): void;
|
|
12
|
+
}
|
|
13
|
+
/** Shared Office gallery and chart painter provide previews, focus and popup behavior. */
|
|
14
|
+
export declare function createGradientDirectionGallery(doc: Document): {
|
|
15
|
+
element: OfficeUiGallery;
|
|
16
|
+
update: (options: DirectionOptions) => void;
|
|
17
|
+
close: () => void;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type DiagramFill } from 'ooxml-core/diagram';
|
|
2
|
+
import { type OfficeUiGallery } from '../ribbon/gallery.js';
|
|
3
|
+
interface PresetOptions {
|
|
4
|
+
fill: DiagramFill;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
label: string;
|
|
7
|
+
translate(label: string): string;
|
|
8
|
+
onPick(id: number): void;
|
|
9
|
+
}
|
|
10
|
+
/** Native preset paint with the shared Office popup and keyboard navigation. */
|
|
11
|
+
export declare function createGradientPresetGallery(doc: Document): {
|
|
12
|
+
element: OfficeUiGallery;
|
|
13
|
+
close: () => void;
|
|
14
|
+
update(options: PresetOptions): void;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface GradientStopTrackOptions {
|
|
2
|
+
stops: readonly {
|
|
3
|
+
position: number;
|
|
4
|
+
color: string;
|
|
5
|
+
}[];
|
|
6
|
+
selected: number;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
label: string;
|
|
9
|
+
stopLabel(index: number): string;
|
|
10
|
+
onSelect(index: number): void;
|
|
11
|
+
onMove?(index: number, position: number): void;
|
|
12
|
+
onPreview?(index: number, position: number | undefined): void;
|
|
13
|
+
}
|
|
14
|
+
/** Native buttons provide keyboard navigation and focus for the shared Office gradient strip. */
|
|
15
|
+
export declare function createGradientStopTrack(doc: Document): {
|
|
16
|
+
element: HTMLDivElement;
|
|
17
|
+
update: (options: GradientStopTrackOptions) => void;
|
|
18
|
+
cancel: () => void;
|
|
19
|
+
preview: (stops: GradientStopTrackOptions['stops']) => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface NumberRangeOptions {
|
|
2
|
+
label(): string;
|
|
3
|
+
enabled?(): boolean;
|
|
4
|
+
onPreview?(value: number | undefined): void;
|
|
5
|
+
}
|
|
6
|
+
/** Pair a native range with a number field, committing once through the field's change handler. */
|
|
7
|
+
export declare function createNumberRange(input: HTMLInputElement, options: NumberRangeOptions): {
|
|
8
|
+
element: HTMLDivElement;
|
|
9
|
+
cancel: () => void;
|
|
10
|
+
refresh: () => void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
package/dist/icons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAoFD,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAK7E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAE/E;AAED,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAEpC;AAID,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAI1D;AAED,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAmBnF"}
|
package/dist/icons.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-
|
|
1
|
+
export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-BOX43CZD.js';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-
|
|
1
|
+
export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-4QQASR5A.js';
|
|
2
2
|
export { OfficeUiSmartArt, defineSmartArt, renderDiagramDrawing } from './chunk-XDUYS4KK.js';
|
|
3
|
-
export { EMOJI, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, applyTeamsProps, colorFor, createTeams, dayLabel, defineAppRail, defineAvatar, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-
|
|
3
|
+
export { EMOJI, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, applyTeamsProps, colorFor, createTeams, dayLabel, defineAppRail, defineAvatar, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-FLHM5Q4O.js';
|
|
4
4
|
export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-SNV6YKPC.js';
|
|
5
5
|
export { THEME_CSS, THEME_STYLE_ID, installOfficeUiTheme, shadcnBridge, themeBridge } from './chunk-X7RINDJQ.js';
|
|
6
|
-
export { CONTROL_DEFINERS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineCheckbox, defineCommandSearch, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineTabStrip, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, glyph, nextEnabledIndex, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-
|
|
7
|
-
export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-
|
|
6
|
+
export { CONTROL_DEFINERS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineCheckbox, defineCommandSearch, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineTabStrip, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, glyph, nextEnabledIndex, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-T3HB5LMH.js';
|
|
7
|
+
export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-BOX43CZD.js';
|
|
8
8
|
export { OfficeUiPresence, definePresence, initialsOf, participantsFromAwareness } from './chunk-OXKWNNNJ.js';
|
|
9
9
|
export { CONTRACT_REVISION, OfficeElement, controlStyles, flag, readFlag, triState, valueOn, withTokens } from './chunk-ZV2Z4IWH.js';
|
|
10
10
|
export { COMPACT, FOCUS_RING, OFFICE_TOKENS, TOUCH, tok } from './chunk-JFJXBYRD.js';
|
|
@@ -32,6 +32,14 @@ export declare class OfficeUiMenuButton extends OfficeElement {
|
|
|
32
32
|
toAttribute: (value: unknown) => string | null;
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
+
submenu: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
reflect: true;
|
|
38
|
+
converter: {
|
|
39
|
+
fromAttribute: (value: string | null) => boolean;
|
|
40
|
+
toAttribute: (value: unknown) => string | null;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
35
43
|
iconOnly: {
|
|
36
44
|
type: BooleanConstructor;
|
|
37
45
|
reflect: true;
|
|
@@ -50,6 +58,7 @@ export declare class OfficeUiMenuButton extends OfficeElement {
|
|
|
50
58
|
command: string | null;
|
|
51
59
|
keyshortcuts: string | null;
|
|
52
60
|
disabled: boolean;
|
|
61
|
+
submenu: boolean;
|
|
53
62
|
iconOnly: boolean;
|
|
54
63
|
open: boolean;
|
|
55
64
|
private outside;
|
|
@@ -62,6 +71,7 @@ export declare class OfficeUiMenuButton extends OfficeElement {
|
|
|
62
71
|
private get split();
|
|
63
72
|
private get nativePopover();
|
|
64
73
|
private items;
|
|
74
|
+
focus(options?: FocusOptions): void;
|
|
65
75
|
private toggle;
|
|
66
76
|
private show;
|
|
67
77
|
/** Keep the open menu inside the viewport: flip left of the trigger's right edge if needed. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-button.d.ts","sourceRoot":"","sources":["../../src/menu/menu-button.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"menu-button.d.ts","sourceRoot":"","sources":["../../src/menu/menu-button.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAc7D;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACpD,OAAgB,MAAM,4BAAsB;IAC5C,OAAgB,UAAU;;YAChB,IAAI;;;YACL,IAAI;;;YACD,IAAI;YAAU,OAAO;;;YAChB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAIZ,KAAK;;MACZ;IACM,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,OAAO,CAAuC;IAEtD,0FAA0F;IAC1F,WAAoB,kBAAkB,IAAI,MAAM,EAAE,CAEjD;IAED,cAcC;IAEQ,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAG9F;IAEQ,oBAAoB,IAAI,IAAI,CAGpC;IAED,OAAO,KAAK,KAAK,GAEhB;IACD,OAAO,KAAK,KAAK,GAEhB;IACD,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,KAAK;IAWJ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAED,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,IAAI;IA2BZ,+FAA+F;IAC/F,OAAO,CAAC,KAAK;IAoBb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IAqBjB,UAAmB,UAAU,IAAI,IAAI,CAEpC;IAED,UAAmB,MAAM,oCAqDxB;CACD;AAED,eAAO,MAAM,gBAAgB,+BAA6D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { widenPieViewModel, buildPerspCamera, createSvgEl, appendChartLegendSvg, renderChartLineSvg, renderChartTextSvg, perspBoxMatrix, pieRimPoint, perspScreenToPlaneY, resolvePieSliceShareValue, perspToScreen, roundDragValue, buildBarChart3DHoverTooltip, isChartInteractionArmed, computePieChartLayout, obliqueBarTaper } from './chunk-
|
|
2
|
-
import { DEFAULT_PALETTE, shade } from './chunk-
|
|
1
|
+
import { widenPieViewModel, buildPerspCamera, createSvgEl, appendChartLegendSvg, renderChartLineSvg, renderChartTextSvg, perspBoxMatrix, pieRimPoint, perspScreenToPlaneY, resolvePieSliceShareValue, perspToScreen, roundDragValue, buildBarChart3DHoverTooltip, isChartInteractionArmed, computePieChartLayout, obliqueBarTaper } from './chunk-YOGDIDPB.mjs';
|
|
2
|
+
import { DEFAULT_PALETTE, shade } from './chunk-YARCML7O.mjs';
|
|
3
3
|
|
|
4
4
|
// src/pptx/render/chart-3d-shading.ts
|
|
5
5
|
var FACE_SHADE_AMOUNT = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkCJU4P5FT_cjs = require('./chunk-CJU4P5FT.cjs');
|
|
4
|
+
var chunkAIL3BNZS_cjs = require('./chunk-AIL3BNZS.cjs');
|
|
5
5
|
|
|
6
6
|
// src/pptx/render/chart-3d-shading.ts
|
|
7
7
|
var FACE_SHADE_AMOUNT = {
|
|
@@ -14,7 +14,7 @@ var FACE_SHADE_AMOUNT = {
|
|
|
14
14
|
};
|
|
15
15
|
function shadeChart3DFace(baseColor, face) {
|
|
16
16
|
const amount = FACE_SHADE_AMOUNT[face];
|
|
17
|
-
return amount === 0 ? baseColor :
|
|
17
|
+
return amount === 0 ? baseColor : chunkAIL3BNZS_cjs.shade(baseColor, amount);
|
|
18
18
|
}
|
|
19
19
|
function buildChart3DBoxFaceColors(baseColor) {
|
|
20
20
|
return [
|
|
@@ -203,7 +203,7 @@ function buildChart3DBarMeshes(three, layout, svgWidth, svgHeight) {
|
|
|
203
203
|
// src/pptx/render/chart-3d-chrome-overlay.ts
|
|
204
204
|
function renderChart3DChromeOverlaySvg(doc, source, box) {
|
|
205
205
|
const vm = box ? withBoxChromePositions(source) : source;
|
|
206
|
-
const svg =
|
|
206
|
+
const svg = chunkCJU4P5FT_cjs.createSvgEl(doc, "svg", {
|
|
207
207
|
class: "pptxv-chart-3d-chrome",
|
|
208
208
|
viewBox: `0 0 ${vm.svgWidth} ${vm.svgHeight}`,
|
|
209
209
|
preserveAspectRatio: "none"
|
|
@@ -216,7 +216,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
|
|
|
216
216
|
svg.style.setProperty("pointer-events", "none");
|
|
217
217
|
if (vm.areaFill) {
|
|
218
218
|
svg.appendChild(
|
|
219
|
-
|
|
219
|
+
chunkCJU4P5FT_cjs.createSvgEl(doc, "rect", {
|
|
220
220
|
x: 0,
|
|
221
221
|
y: 0,
|
|
222
222
|
width: vm.svgWidth,
|
|
@@ -227,7 +227,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
|
|
|
227
227
|
);
|
|
228
228
|
}
|
|
229
229
|
if (vm.title) {
|
|
230
|
-
const title =
|
|
230
|
+
const title = chunkCJU4P5FT_cjs.createSvgEl(doc, "text", {
|
|
231
231
|
x: vm.titleX,
|
|
232
232
|
y: vm.titleY,
|
|
233
233
|
"text-anchor": "middle",
|
|
@@ -239,7 +239,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
|
|
|
239
239
|
});
|
|
240
240
|
if (vm.titleRunSpans && vm.titleRunSpans.length > 0) {
|
|
241
241
|
for (const run of vm.titleRunSpans) {
|
|
242
|
-
const tspan =
|
|
242
|
+
const tspan = chunkCJU4P5FT_cjs.createSvgEl(doc, "tspan", {
|
|
243
243
|
"font-size": run.fontSize,
|
|
244
244
|
"font-weight": run.fontWeight,
|
|
245
245
|
"font-style": run.fontStyle,
|
|
@@ -258,28 +258,28 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
|
|
|
258
258
|
appendBoxLabels(doc, svg, vm, box.labels);
|
|
259
259
|
const legend = box.legend ?? vm.legend.map((item) => ({ ...item, lineSwatch: void 0 }));
|
|
260
260
|
const legendVm = { ...vm, legend: box.reverseLegend ? legend.reverse() : legend };
|
|
261
|
-
|
|
261
|
+
chunkCJU4P5FT_cjs.appendChartLegendSvg(doc, svg, legendVm);
|
|
262
262
|
return svg;
|
|
263
263
|
}
|
|
264
264
|
for (const gl of vm.gridlines) {
|
|
265
|
-
svg.appendChild(
|
|
265
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartLineSvg(doc, gl));
|
|
266
266
|
}
|
|
267
267
|
for (const gl of vm.secondaryGridlines ?? []) {
|
|
268
|
-
svg.appendChild(
|
|
268
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartLineSvg(doc, gl));
|
|
269
269
|
}
|
|
270
270
|
for (const lbl of vm.axisLabels) {
|
|
271
|
-
svg.appendChild(
|
|
271
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartTextSvg(doc, lbl));
|
|
272
272
|
}
|
|
273
273
|
for (const lbl of vm.secondaryAxisLabels ?? []) {
|
|
274
|
-
svg.appendChild(
|
|
274
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartTextSvg(doc, lbl));
|
|
275
275
|
}
|
|
276
276
|
if (vm.zeroLine) {
|
|
277
|
-
svg.appendChild(
|
|
277
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartLineSvg(doc, vm.zeroLine));
|
|
278
278
|
}
|
|
279
279
|
for (const lbl of vm.categoryLabels) {
|
|
280
|
-
svg.appendChild(
|
|
280
|
+
svg.appendChild(chunkCJU4P5FT_cjs.renderChartTextSvg(doc, lbl));
|
|
281
281
|
}
|
|
282
|
-
|
|
282
|
+
chunkCJU4P5FT_cjs.appendChartLegendSvg(doc, svg, vm);
|
|
283
283
|
return svg;
|
|
284
284
|
}
|
|
285
285
|
var PT = 4 / 3;
|
|
@@ -298,7 +298,7 @@ function appendBoxLabels(doc, svg, vm, labels) {
|
|
|
298
298
|
const style = vm.axisLabels[0];
|
|
299
299
|
for (const label of labels) {
|
|
300
300
|
svg.appendChild(
|
|
301
|
-
|
|
301
|
+
chunkCJU4P5FT_cjs.renderChartTextSvg(doc, {
|
|
302
302
|
kind: "text",
|
|
303
303
|
x: label.x,
|
|
304
304
|
y: label.y,
|
|
@@ -368,7 +368,7 @@ function attachChart3DMarkInteraction(options) {
|
|
|
368
368
|
}
|
|
369
369
|
const point = pointAt(event.clientX, event.clientY);
|
|
370
370
|
const value = point ? adapter.valueOf(point) : void 0;
|
|
371
|
-
const tooltip = point && value !== void 0 ?
|
|
371
|
+
const tooltip = point && value !== void 0 ? chunkCJU4P5FT_cjs.buildBarChart3DHoverTooltip(
|
|
372
372
|
{ seriesIndex: point.seriesIndex, categoryIndex: point.pointIndex, value },
|
|
373
373
|
{
|
|
374
374
|
categoryLabels: options.categoryLabels,
|
|
@@ -386,7 +386,7 @@ function attachChart3DMarkInteraction(options) {
|
|
|
386
386
|
return;
|
|
387
387
|
}
|
|
388
388
|
const point = pointAt(event.clientX, event.clientY);
|
|
389
|
-
const armed = point !== null &&
|
|
389
|
+
const armed = point !== null && chunkCJU4P5FT_cjs.isChartInteractionArmed(target);
|
|
390
390
|
if (armed) {
|
|
391
391
|
event.stopPropagation();
|
|
392
392
|
}
|
|
@@ -462,7 +462,7 @@ function obliqueDragValue(layout, startValue, dx, dy) {
|
|
|
462
462
|
const along = layout.horizontal ? dx : -dy;
|
|
463
463
|
const raw = startValue + along / layout.valueScale;
|
|
464
464
|
const span = layout.range.max - layout.range.min;
|
|
465
|
-
return
|
|
465
|
+
return chunkCJU4P5FT_cjs.roundDragValue(raw, { min: layout.range.min, max: layout.range.max, span });
|
|
466
466
|
}
|
|
467
467
|
function obliqueDraggedExtent(layout, value) {
|
|
468
468
|
const { min, max } = layout.range;
|
|
@@ -475,7 +475,7 @@ function obliqueDraggedExtent(layout, value) {
|
|
|
475
475
|
function obliqueBarAtValue(layout, bar, value) {
|
|
476
476
|
const { from, length } = obliqueDraggedExtent(layout, value);
|
|
477
477
|
const extent = (layout.range.max - layout.range.min) * layout.valueScale;
|
|
478
|
-
const taper =
|
|
478
|
+
const taper = chunkCJU4P5FT_cjs.obliqueBarTaper(bar.shape, from, from + length, extent, value);
|
|
479
479
|
return layout.horizontal ? { ...bar, x: from, w: length, value, taper } : { ...bar, y: from, h: length, value, taper };
|
|
480
480
|
}
|
|
481
481
|
|
|
@@ -621,7 +621,7 @@ function buildPerspBarPrisms(chartData, layout, override) {
|
|
|
621
621
|
z0,
|
|
622
622
|
z1: z0 + depth,
|
|
623
623
|
shape,
|
|
624
|
-
taper:
|
|
624
|
+
taper: chunkCJU4P5FT_cjs.obliqueBarTaper(
|
|
625
625
|
shape,
|
|
626
626
|
v0,
|
|
627
627
|
v1,
|
|
@@ -816,7 +816,7 @@ function buildPerspGridlines(three, layout) {
|
|
|
816
816
|
function buildPerspMeshes(three, layout, prisms) {
|
|
817
817
|
const group = new three.Group();
|
|
818
818
|
group.matrixAutoUpdate = false;
|
|
819
|
-
group.matrix.copy(
|
|
819
|
+
group.matrix.copy(chunkCJU4P5FT_cjs.perspBoxMatrix(three, layout.view));
|
|
820
820
|
const gridlines = buildPerspGridlines(three, layout);
|
|
821
821
|
group.add(gridlines);
|
|
822
822
|
const material = new three.MeshBasicMaterial({ vertexColors: true, side: three.DoubleSide });
|
|
@@ -871,7 +871,7 @@ function surfaceBands(chartData, range, palette) {
|
|
|
871
871
|
const fmt = chartData.bandFmts?.find((b) => b.index === i)?.spPr;
|
|
872
872
|
const cycle = palette.length > 0 ? palette : ["#4472C4"];
|
|
873
873
|
const base = cycle[i % cycle.length];
|
|
874
|
-
const fallback = Math.floor(i / cycle.length) % 2 === 1 ?
|
|
874
|
+
const fallback = Math.floor(i / cycle.length) % 2 === 1 ? chunkAIL3BNZS_cjs.shade(base, 0.4) : base;
|
|
875
875
|
return {
|
|
876
876
|
label: `${formatEdge(lo)}-${formatEdge(edges[i + 1])}`,
|
|
877
877
|
color: fmt?.fillColor ?? fmt?.strokeColor ?? fallback
|
|
@@ -1055,7 +1055,7 @@ function disposeObject(object) {
|
|
|
1055
1055
|
function buildSurfaceMarks(three, chartData, layout, palette) {
|
|
1056
1056
|
const group = new three.Group();
|
|
1057
1057
|
group.matrixAutoUpdate = false;
|
|
1058
|
-
group.matrix.copy(
|
|
1058
|
+
group.matrix.copy(chunkCJU4P5FT_cjs.perspBoxMatrix(three, layout.view));
|
|
1059
1059
|
const gridlines = buildPerspGridlines(three, layout);
|
|
1060
1060
|
group.add(gridlines);
|
|
1061
1061
|
let visual = buildVisual(three, chartData, layout, palette);
|
|
@@ -1195,8 +1195,8 @@ function surfaceLegend(chartData, layout, palette, background, textStyle) {
|
|
|
1195
1195
|
function mountPerspChartView(input, ctx) {
|
|
1196
1196
|
const three = ctx.three;
|
|
1197
1197
|
const { vm, layout, chartData } = input;
|
|
1198
|
-
const palette = chartData.colorPalette?.length ? chartData.colorPalette :
|
|
1199
|
-
const camera =
|
|
1198
|
+
const palette = chartData.colorPalette?.length ? chartData.colorPalette : chunkAIL3BNZS_cjs.DEFAULT_PALETTE;
|
|
1199
|
+
const camera = chunkCJU4P5FT_cjs.buildPerspCamera(three, layout.view, vm.svgWidth, vm.svgHeight);
|
|
1200
1200
|
const scene = new three.Scene();
|
|
1201
1201
|
const marks = buildPerspMarkSet(three, chartData, layout, palette);
|
|
1202
1202
|
scene.add(marks.group);
|
|
@@ -1245,15 +1245,15 @@ function mountPerspChartView(input, ctx) {
|
|
|
1245
1245
|
const a = marks.anchor(point, start);
|
|
1246
1246
|
const step = unit * layout.valueScale;
|
|
1247
1247
|
const b = layout.horizontal ? [a[0] + step, a[1], a[2]] : [a[0], a[1] + step, a[2]];
|
|
1248
|
-
const s0 =
|
|
1249
|
-
const s1 =
|
|
1248
|
+
const s0 = chunkCJU4P5FT_cjs.perspToScreen(layout.view, a);
|
|
1249
|
+
const s1 = chunkCJU4P5FT_cjs.perspToScreen(layout.view, b);
|
|
1250
1250
|
const ux = (s1.x - s0.x) / unit;
|
|
1251
1251
|
const uy = (s1.y - s0.y) / unit;
|
|
1252
1252
|
const len2 = ux * ux + uy * uy || 1;
|
|
1253
1253
|
const span = layout.range.max - layout.range.min;
|
|
1254
1254
|
return {
|
|
1255
1255
|
preview(dx, dy) {
|
|
1256
|
-
const value =
|
|
1256
|
+
const value = chunkCJU4P5FT_cjs.roundDragValue(start + (dx * ux + dy * uy) / len2, {
|
|
1257
1257
|
min: layout.range.min,
|
|
1258
1258
|
max: layout.range.max,
|
|
1259
1259
|
span
|
|
@@ -1341,7 +1341,7 @@ function sliceBuffers(three, layout, slice) {
|
|
|
1341
1341
|
const steps = Math.max(2, Math.ceil(span / (Math.PI * 2) * SEGMENTS_PER_TURN));
|
|
1342
1342
|
const angles = Array.from({ length: steps + 1 }, (_, i) => slice.startAngle + span * i / steps);
|
|
1343
1343
|
const rim = (a, y) => {
|
|
1344
|
-
const p =
|
|
1344
|
+
const p = chunkCJU4P5FT_cjs.pieRimPoint(cx, cz, r, a);
|
|
1345
1345
|
return [p.x, y, p.z];
|
|
1346
1346
|
};
|
|
1347
1347
|
const radial = (a) => [Math.sin(a), 0, Math.cos(a)];
|
|
@@ -1385,7 +1385,7 @@ function sliceBuffers(three, layout, slice) {
|
|
|
1385
1385
|
function buildPieMarks(three, layout) {
|
|
1386
1386
|
const group = new three.Group();
|
|
1387
1387
|
group.matrixAutoUpdate = false;
|
|
1388
|
-
group.matrix.copy(
|
|
1388
|
+
group.matrix.copy(chunkCJU4P5FT_cjs.perspBoxMatrix(three, layout.view));
|
|
1389
1389
|
const material = new three.MeshBasicMaterial({
|
|
1390
1390
|
vertexColors: true,
|
|
1391
1391
|
side: three.DoubleSide,
|
|
@@ -1449,12 +1449,12 @@ function slicesWith(input, pointIndex, value) {
|
|
|
1449
1449
|
...input.element,
|
|
1450
1450
|
chartData: { ...input.chartData, series }
|
|
1451
1451
|
};
|
|
1452
|
-
return
|
|
1452
|
+
return chunkCJU4P5FT_cjs.computePieChartLayout(element, input.vm)?.slices ?? input.layout.slices;
|
|
1453
1453
|
}
|
|
1454
1454
|
function mountPieChartView(input, ctx) {
|
|
1455
1455
|
const three = ctx.three;
|
|
1456
1456
|
const { vm, layout, chartData } = input;
|
|
1457
|
-
const camera =
|
|
1457
|
+
const camera = chunkCJU4P5FT_cjs.buildPerspCamera(three, layout.view, vm.svgWidth, vm.svgHeight);
|
|
1458
1458
|
const scene = new three.Scene();
|
|
1459
1459
|
const marks = buildPieMarks(three, layout);
|
|
1460
1460
|
scene.add(marks.group);
|
|
@@ -1495,7 +1495,7 @@ function mountPieChartView(input, ctx) {
|
|
|
1495
1495
|
const start = values();
|
|
1496
1496
|
return {
|
|
1497
1497
|
preview(_dx, _dy, at) {
|
|
1498
|
-
const hit =
|
|
1498
|
+
const hit = chunkCJU4P5FT_cjs.perspScreenToPlaneY(layout.view, at.x, at.y, layout.center.y);
|
|
1499
1499
|
if (!hit) {
|
|
1500
1500
|
return start[point.pointIndex];
|
|
1501
1501
|
}
|
|
@@ -1503,7 +1503,7 @@ function mountPieChartView(input, ctx) {
|
|
|
1503
1503
|
hit.x - layout.center.x - slice.offset.x,
|
|
1504
1504
|
hit.z - layout.center.z - slice.offset.z
|
|
1505
1505
|
);
|
|
1506
|
-
const value =
|
|
1506
|
+
const value = chunkCJU4P5FT_cjs.resolvePieSliceShareValue(
|
|
1507
1507
|
angle,
|
|
1508
1508
|
slice.startAngle,
|
|
1509
1509
|
start,
|
|
@@ -1519,7 +1519,7 @@ function mountPieChartView(input, ctx) {
|
|
|
1519
1519
|
marker.visible = slice !== void 0;
|
|
1520
1520
|
if (slice) {
|
|
1521
1521
|
const mid = (slice.startAngle + slice.endAngle) / 2;
|
|
1522
|
-
const p =
|
|
1522
|
+
const p = chunkCJU4P5FT_cjs.pieRimPoint(
|
|
1523
1523
|
layout.center.x + slice.offset.x,
|
|
1524
1524
|
layout.center.z + slice.offset.z,
|
|
1525
1525
|
layout.radius * 0.6,
|
|
@@ -1584,7 +1584,7 @@ async function mountChart3DView(spec, ctx) {
|
|
|
1584
1584
|
return mountPieChartView(
|
|
1585
1585
|
{
|
|
1586
1586
|
element: spec.element,
|
|
1587
|
-
vm:
|
|
1587
|
+
vm: chunkCJU4P5FT_cjs.widenPieViewModel(spec.vm, spec.element),
|
|
1588
1588
|
layout: spec.geometry.layout,
|
|
1589
1589
|
chartData: chartData2,
|
|
1590
1590
|
categoryLabels: spec.categoryLabels
|
|
@@ -30,7 +30,7 @@ async function loadChart3DThree() {
|
|
|
30
30
|
|
|
31
31
|
// src/pptx/three-view/scene-registry.ts
|
|
32
32
|
var loaders = {
|
|
33
|
-
chart: async () => (await import('./chart-3d-view-scene-
|
|
33
|
+
chart: async () => (await import('./chart-3d-view-scene-2KRQ5667.mjs')).mountChart3DView,
|
|
34
34
|
smartart: async () => (await import('./view-scene-GHBN7QMR.mjs')).mountSmartArt3DView
|
|
35
35
|
};
|
|
36
36
|
async function loadThreeViewScene(kind) {
|