ooxml-ui 1.17.0 → 1.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +28 -0
  2. package/dist/{chunk-CQ5BMX2Z.js → chunk-EVL7GFC7.js} +2 -2
  3. package/dist/{chunk-GSWCAZQ3.js → chunk-FHO7TEWA.js} +1 -0
  4. package/dist/{chunk-VCXKKGQZ.js → chunk-MSXUCINT.js} +3 -3
  5. package/dist/{chunk-KRQ5T2GX.js → chunk-SPRZIHUH.js} +40 -7
  6. package/dist/{chunk-VUSDTDZS.js → chunk-SVRIVUWC.js} +1 -1
  7. package/dist/controls.js +1 -1
  8. package/dist/docx.js +3 -3
  9. package/dist/index.js +5 -5
  10. package/dist/pptx/{chart-3d-view-scene-NMFMG76N.mjs → chart-3d-view-scene-6LQRJAM3.mjs} +2 -2
  11. package/dist/pptx/{chart-3d-view-scene-3HDRDXX6.cjs → chart-3d-view-scene-FAKI4QKT.cjs} +38 -38
  12. package/dist/pptx/{chunk-KTHBMVMQ.cjs → chunk-2VEV6HFP.cjs} +840 -781
  13. package/dist/pptx/{chunk-GCHJRKXZ.mjs → chunk-73OUATE4.mjs} +1 -1
  14. package/dist/pptx/{chunk-XOMYHWQ3.mjs → chunk-75S3RTSS.mjs} +1 -1
  15. package/dist/pptx/{chunk-CEH63AZB.cjs → chunk-G3UVZ5FO.cjs} +149 -467
  16. package/dist/pptx/{chunk-RACO4FQT.mjs → chunk-GTZI5TRN.mjs} +88 -33
  17. package/dist/pptx/{chunk-L2LK7TEC.cjs → chunk-LCB46TH2.cjs} +12 -12
  18. package/dist/pptx/{chunk-HL53SH7C.mjs → chunk-PIIYTRLE.mjs} +96 -437
  19. package/dist/pptx/{chunk-3DGTZWI5.cjs → chunk-W7CBPO77.cjs} +1 -1
  20. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts +7 -0
  21. package/dist/pptx/dom/chart-pixel-subscriptions.d.ts.map +1 -0
  22. package/dist/pptx/dom/elements/chart.d.ts.map +1 -1
  23. package/dist/pptx/dom/index.cjs +329 -283
  24. package/dist/pptx/dom/index.d.ts +1 -0
  25. package/dist/pptx/dom/index.d.ts.map +1 -1
  26. package/dist/pptx/dom/index.mjs +85 -44
  27. package/dist/pptx/dom/presentation-rerender.d.ts.map +1 -1
  28. package/dist/pptx/dom/slide-stage.d.ts +5 -0
  29. package/dist/pptx/dom/slide-stage.d.ts.map +1 -1
  30. package/dist/pptx/export/html2canvas-clone.cjs +2 -2
  31. package/dist/pptx/export/html2canvas-clone.mjs +1 -1
  32. package/dist/pptx/index.cjs +3194 -3174
  33. package/dist/pptx/index.mjs +4 -4
  34. package/dist/pptx/render/chart-axis-range.d.ts +2 -36
  35. package/dist/pptx/render/chart-axis-range.d.ts.map +1 -1
  36. package/dist/pptx/render/chart-axis-style.d.ts.map +1 -1
  37. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts +5 -0
  38. package/dist/pptx/render/chart-bar3d-face-picture-sample.d.ts.map +1 -1
  39. package/dist/pptx/render/chart-combo-stock.cjs +3 -3
  40. package/dist/pptx/render/chart-combo-stock.mjs +1 -1
  41. package/dist/pptx/render/chart-data-label-text.d.ts.map +1 -1
  42. package/dist/pptx/render/chart-helpers.d.ts +2 -1
  43. package/dist/pptx/render/chart-helpers.d.ts.map +1 -1
  44. package/dist/pptx/render/chart-marker-shape.d.ts +4 -50
  45. package/dist/pptx/render/chart-marker-shape.d.ts.map +1 -1
  46. package/dist/pptx/render/chart-overlays.cjs +7 -7
  47. package/dist/pptx/render/chart-overlays.mjs +1 -1
  48. package/dist/pptx/render/chart-surface-treemap.cjs +4 -4
  49. package/dist/pptx/render/chart-surface-treemap.mjs +1 -1
  50. package/dist/pptx/render/chart-view-model-scale.d.ts +3 -2
  51. package/dist/pptx/render/chart-view-model-scale.d.ts.map +1 -1
  52. package/dist/pptx/render/chart-view-model.cjs +44 -44
  53. package/dist/pptx/render/chart-view-model.mjs +1 -1
  54. package/dist/pptx/render/chart-waterfall-map.cjs +6 -6
  55. package/dist/pptx/render/chart-waterfall-map.mjs +1 -1
  56. package/dist/pptx/render/image-color-change.d.ts +3 -1
  57. package/dist/pptx/render/image-color-change.d.ts.map +1 -1
  58. package/dist/pptx/render/image-duotone-canvas.d.ts +3 -1
  59. package/dist/pptx/render/image-duotone-canvas.d.ts.map +1 -1
  60. package/dist/pptx/render/image-native-size.d.ts +3 -1
  61. package/dist/pptx/render/image-native-size.d.ts.map +1 -1
  62. package/dist/pptx/render/image-source-effects.d.ts.map +1 -1
  63. package/dist/pptx/render/index.d.ts +1 -0
  64. package/dist/pptx/render/index.d.ts.map +1 -1
  65. package/dist/pptx/render/render-cache-lifecycle.d.ts +10 -0
  66. package/dist/pptx/render/render-cache-lifecycle.d.ts.map +1 -0
  67. package/dist/pptx/render/render-cache.d.ts +8 -0
  68. package/dist/pptx/render/render-cache.d.ts.map +1 -0
  69. package/dist/{presentation-preview-HMEBDYEL.js → presentation-preview-KY56TONW.js} +1 -1
  70. package/dist/ribbon/gallery.d.ts +8 -0
  71. package/dist/ribbon/gallery.d.ts.map +1 -1
  72. package/dist/teams.js +3 -3
  73. package/dist/visio/controller.d.ts +12 -0
  74. package/dist/visio/render-embedded-chart.d.ts +8 -0
  75. package/dist/visio/title-bar.d.ts +4 -1
  76. package/dist/visio/viewer-autorecover.d.ts +65 -0
  77. package/dist/visio/viewer-behaviour.d.ts +55 -0
  78. package/dist/visio/viewer-context-menu.d.ts +3 -1
  79. package/dist/visio/viewer-inline-text.d.ts +12 -0
  80. package/dist/visio/viewer-insert-chart.d.ts +30 -8
  81. package/dist/visio/viewer-insert.d.ts +2 -0
  82. package/dist/visio/viewer-live-preview.d.ts +27 -0
  83. package/dist/visio/viewer-mini-toolbar.d.ts +30 -0
  84. package/dist/visio/viewer-options-categories.d.ts +8 -6
  85. package/dist/visio/viewer-options.d.ts +4 -11
  86. package/dist/visio/viewer-recover-dialog.d.ts +23 -0
  87. package/dist/visio.js +1074 -155
  88. package/dist/xlsx.js +7 -7
  89. package/package.json +2 -2
package/README.md CHANGED
@@ -336,3 +336,31 @@ content and native media controls without editing overlays.
336
336
 
337
337
  Apache-2.0. Several controls are derived from `pptx-viewer`; see
338
338
  `PROVENANCE.md` at the repository root.
339
+
340
+ ## Raw PowerPoint DOM lifecycle
341
+
342
+ Custom hosts using `ooxml-ui/pptx/dom` own the returned stage. Before replacing
343
+ or removing a stage (including thumbnails and offscreen export stages), call
344
+ `disposePptxRenderStage(stage)`, then remove its DOM. Disposal is idempotent and
345
+ releases that subtree's chart-sampler subscriptions immediately, even if no
346
+ later image-sample event occurs. It does not clear another stage's subscriptions,
347
+ remove nodes or revoke URLs owned by the host.
348
+
349
+ After closing all viewers/documents sharing the module instance, a host may call
350
+ `releasePptxRenderCaches()` to discard intrinsic-size, chart-picture-sample,
351
+ colour-change and duotone memoisation. This global operation invalidates pending
352
+ library-managed cache writes and chart notifications; pending decodes can still return results
353
+ to their original caller. Do not call it to close one viewer while another needs
354
+ pending samples. It cannot purge browser-internal decoded-image caches.
355
+
356
+ Intrinsic-size memoisation keeps at most 128 entries; colour-change and duotone
357
+ keep at most 64 each. These FIFO caches each have an 8 MiB conservative UTF-16
358
+ key/value budget. Oversized effect results still render without memoisation.
359
+
360
+ Bar-face picture sampling uses admission rather than eviction: completed samples
361
+ and pending requests together reserve at most 128 entries and 8 MiB (URL keys and
362
+ sample colours) for one cache epoch. Keeping admitted samples prevents a sample
363
+ notification/repaint from endlessly re-decoding a just-evicted image. If full or
364
+ a source key exceeds the budget, additional async sampling uses the existing
365
+ point/series-colour fallback until `releasePptxRenderCaches()` starts a new epoch.
366
+ Synchronously decoded colours still render even when they cannot be memoised.
@@ -1,7 +1,7 @@
1
1
  import { defineSmartArt } from './chunk-ANPFMQ6E.js';
2
- import { TEAMS_TAGS, registerTeams } from './chunk-VCXKKGQZ.js';
2
+ import { TEAMS_TAGS, registerTeams } from './chunk-MSXUCINT.js';
3
3
  import { installOfficeUiTheme } from './chunk-7E3HU7RL.js';
4
- import { registerControls } from './chunk-KRQ5T2GX.js';
4
+ import { registerControls } from './chunk-SPRZIHUH.js';
5
5
  import { definePresence } from './chunk-KNC2UEUR.js';
6
6
 
7
7
  // src/index.ts
@@ -3404,6 +3404,7 @@ var TeamsPresentationPreview = class extends TeamsLitElement {
3404
3404
  player.removeAttribute("src");
3405
3405
  player.load();
3406
3406
  }
3407
+ if (this.stageNode) this.renderer?.disposePptxRenderStage(this.stageNode);
3407
3408
  this.stageNode?.remove();
3408
3409
  this.stageNode = null;
3409
3410
  }
@@ -1,6 +1,6 @@
1
- import { TeamsLitElement, LOCALE_HOST, teamsI18n, inheritLocale, pushLocale } from './chunk-GSWCAZQ3.js';
1
+ import { TeamsLitElement, LOCALE_HOST, teamsI18n, inheritLocale, pushLocale } from './chunk-FHO7TEWA.js';
2
2
  import { THEME_CSS, installOfficeUiTheme } from './chunk-7E3HU7RL.js';
3
- import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-KRQ5T2GX.js';
3
+ import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-SPRZIHUH.js';
4
4
  import { registerIcon, getIcon } from './chunk-M6GF5ED2.js';
5
5
  import { initialsOf, definePresence } from './chunk-KNC2UEUR.js';
6
6
  import { definer, OfficeElement, controlStyles } from './chunk-CWBSXK7P.js';
@@ -2253,7 +2253,7 @@ var TeamsContentPreview = class extends TeamsLitElement {
2253
2253
  if (kind === "xlsx") (await import('./xlsx.js')).defineXlsxEditor();
2254
2254
  if (kind === "vsdx") (await import('./visio.js')).registerVisioViewer();
2255
2255
  if (kind === "pptx")
2256
- (await import('./presentation-preview-HMEBDYEL.js')).defineTeamsPresentationPreview();
2256
+ (await import('./presentation-preview-KY56TONW.js')).defineTeamsPresentationPreview();
2257
2257
  if (request.signal.aborted) return;
2258
2258
  this.native = kind;
2259
2259
  await this.updateComplete;
@@ -2232,9 +2232,34 @@ var OfficeUiGallery = class extends OfficeElement {
2232
2232
  return this.model;
2233
2233
  }
2234
2234
  set state(value) {
2235
- this.model = value ?? void 0;
2235
+ const next = value ?? void 0;
2236
+ const json = next ? JSON.stringify(next) : "";
2237
+ if (this.stateJson === json && this.hasUpdated) return;
2238
+ this.stateJson = json;
2239
+ this.model = next;
2240
+ this.pruneParsed(next);
2236
2241
  this.requestUpdate("state");
2237
2242
  }
2243
+ stateJson = "";
2244
+ /** The parsed preview of each tile, kept while its markup is unchanged so Lit leaves it alone. */
2245
+ parsed = /* @__PURE__ */ new Map();
2246
+ parsedPreview(slot, item) {
2247
+ if (!item.preview) return null;
2248
+ const key = `${slot}::${item.id}`;
2249
+ const cached = this.parsed.get(key);
2250
+ if (cached?.markup === item.preview) return cached.node;
2251
+ const node = parseSvgPreview(this.ownerDocument, item.preview);
2252
+ this.parsed.set(key, { markup: item.preview, node });
2253
+ return node;
2254
+ }
2255
+ /** Forget previews of tiles the new state no longer has. */
2256
+ pruneParsed(state) {
2257
+ const keep = /* @__PURE__ */ new Set();
2258
+ for (const item of state?.inline ?? []) keep.add(`inline::${item.id}`);
2259
+ for (const section of state?.sections ?? [])
2260
+ for (const item of section.items) keep.add(`${section.title ?? ""}::${item.id}`);
2261
+ for (const key of this.parsed.keys()) if (!keep.has(key)) this.parsed.delete(key);
2262
+ }
2238
2263
  get disabled() {
2239
2264
  return this.locked;
2240
2265
  }
@@ -2410,9 +2435,11 @@ var OfficeUiGallery = class extends OfficeElement {
2410
2435
  triggerIcon() {
2411
2436
  const name = this.model?.command?.icon ?? this.getAttribute("icon");
2412
2437
  if (!name) return null;
2413
- const svg2 = createIconSvg(this.ownerDocument);
2438
+ const svg2 = this.iconNode ??= createIconSvg(this.ownerDocument);
2414
2439
  return paintIcon(svg2, name) ? svg2 : null;
2415
2440
  }
2441
+ iconNode;
2442
+ emptyIcon;
2416
2443
  connectedCallback() {
2417
2444
  this.setAttribute("data-office-gallery", "");
2418
2445
  attachGalleryStyles(this);
@@ -2540,9 +2567,9 @@ var OfficeUiGallery = class extends OfficeElement {
2540
2567
  doc.removeEventListener("scroll", this.position, true);
2541
2568
  }
2542
2569
  // ---- Light-DOM template ---------------------------------------------------------------
2543
- tile(item, width, height, disabled) {
2570
+ tile(slot, item, width, height, disabled) {
2544
2571
  const { itemAttribute, compactAttribute } = this.constructor;
2545
- const preview = item.preview ? parseSvgPreview(this.ownerDocument, item.preview) : null;
2572
+ const preview = this.parsedPreview(slot, item);
2546
2573
  return html$1`<button
2547
2574
  type="button"
2548
2575
  class="tile"
@@ -2586,7 +2613,7 @@ var OfficeUiGallery = class extends OfficeElement {
2586
2613
  const first = state?.sections[0];
2587
2614
  const inlineItems = state?.inline ?? first?.items ?? [];
2588
2615
  const triggerTitle = command ? command.hint ?? title : inline ? state?.moreLabel ?? `More ${title}` : title;
2589
- const icon = this.triggerIcon() ?? createIconSvg(this.ownerDocument);
2616
+ const icon = this.triggerIcon() ?? (this.emptyIcon ??= createIconSvg(this.ownerDocument));
2590
2617
  const trigger = html$1`<button
2591
2618
  type="button"
2592
2619
  class="trigger${command ? " command" : ""}${command?.large ? " command-large" : ""}"
@@ -2610,7 +2637,13 @@ var OfficeUiGallery = class extends OfficeElement {
2610
2637
  ${inline ? repeat(
2611
2638
  inlineItems,
2612
2639
  (item) => item.id,
2613
- (item) => this.tile(item, first?.tileWidth ?? 40, first?.tileHeight ?? 30, disabled)
2640
+ (item) => this.tile(
2641
+ "inline",
2642
+ item,
2643
+ first?.tileWidth ?? 40,
2644
+ first?.tileHeight ?? 30,
2645
+ disabled
2646
+ )
2614
2647
  ) : ""}
2615
2648
  </div>
2616
2649
  ${trigger}${this.opened ? popup : ""}${this.menuTemplate()}
@@ -2639,7 +2672,7 @@ var OfficeUiGallery = class extends OfficeElement {
2639
2672
  ${repeat(
2640
2673
  section.items,
2641
2674
  (item) => item.id,
2642
- (item) => this.tile(item, section.tileWidth, section.tileHeight, disabled)
2675
+ (item) => this.tile(section.title ?? "", item, section.tileWidth, section.tileHeight, disabled)
2643
2676
  )}
2644
2677
  </div>
2645
2678
  </section>`;
@@ -1,4 +1,4 @@
1
- import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-KRQ5T2GX.js';
1
+ import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-SPRZIHUH.js';
2
2
  import { acceptedRibbonAddIns, findRibbonAddInCommand, RIBBON_ADD_IN_EVENT } from 'ooxml-core/ribbon';
3
3
  export { RIBBON_ADD_IN_EVENT } from 'ooxml-core/ribbon';
4
4
 
package/dist/controls.js CHANGED
@@ -1,4 +1,4 @@
1
- export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineChartPicker, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-KRQ5T2GX.js';
1
+ export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineChartPicker, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-SPRZIHUH.js';
2
2
  import './chunk-M6GF5ED2.js';
3
3
  import './chunk-KNC2UEUR.js';
4
4
  import './chunk-CWBSXK7P.js';
package/dist/docx.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { statusLayout, watchStatusWidth, compactPageText } from './chunk-UBBC5FH7.js';
2
- import { syncRibbonAddIns } from './chunk-VUSDTDZS.js';
3
- export { RIBBON_ADD_IN_EVENT } from './chunk-VUSDTDZS.js';
2
+ import { syncRibbonAddIns } from './chunk-SVRIVUWC.js';
3
+ export { RIBBON_ADD_IN_EVENT } from './chunk-SVRIVUWC.js';
4
4
  import { defineSmartArt } from './chunk-ANPFMQ6E.js';
5
5
  import { shadcnBridge } from './chunk-7E3HU7RL.js';
6
- import { createRibbonOverflow, defineRibbon, defineRuler, defineCommentsPane, defineDialog, defineSearchField, defineSwitch, defineTitleBar, defineRibbonActions, defineBackstage, defineStatusBar, defineZoomSlider, defineContextMenu, defineColorGrid, runKeyTips, defineOptionsDialog, assignKeyTips, optionsLabels, userInterfaceSection, personalizeSection, optionText, unavailableCategory } from './chunk-KRQ5T2GX.js';
6
+ import { createRibbonOverflow, defineRibbon, defineRuler, defineCommentsPane, defineDialog, defineSearchField, defineSwitch, defineTitleBar, defineRibbonActions, defineBackstage, defineStatusBar, defineZoomSlider, defineContextMenu, defineColorGrid, runKeyTips, defineOptionsDialog, assignKeyTips, optionsLabels, userInterfaceSection, personalizeSection, optionText, unavailableCategory } from './chunk-SPRZIHUH.js';
7
7
  import { registerIcon } from './chunk-M6GF5ED2.js';
8
8
  import './chunk-KNC2UEUR.js';
9
9
  import './chunk-CWBSXK7P.js';
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-CQ5BMX2Z.js';
2
- export { RIBBON_ADD_IN_EVENT, defineRibbonAddInElements, syncRibbonAddIns } from './chunk-VUSDTDZS.js';
1
+ export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-EVL7GFC7.js';
2
+ export { RIBBON_ADD_IN_EVENT, defineRibbonAddInElements, syncRibbonAddIns } from './chunk-SVRIVUWC.js';
3
3
  export { OfficeUiSmartArt, defineSmartArt, renderDiagramDrawing } from './chunk-ANPFMQ6E.js';
4
- export { EMOJI, OfficeUiActivityFeed, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCalendarAgenda, OfficeUiCalendarView, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiChatSidebar, OfficeUiPeoplePicker, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, activityTime, applyTeamsProps, colorFor, createTeams, dayKind, dayLabel, defineActivityFeed, defineAppRail, defineAvatar, defineCalendarAgenda, defineCalendarView, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, defineChatSidebar, definePeoplePicker, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, formatWhen, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-VCXKKGQZ.js';
5
- export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-GSWCAZQ3.js';
4
+ export { EMOJI, OfficeUiActivityFeed, OfficeUiAppRail, OfficeUiAvatar, OfficeUiCalendarAgenda, OfficeUiCalendarView, OfficeUiCallControls, OfficeUiCallGrid, OfficeUiChannelList, OfficeUiChatComposer, OfficeUiChatList, OfficeUiChatSidebar, OfficeUiPeoplePicker, OfficeUiPrejoin, QUICK_REACTIONS, TEAMS_TAGS, TeamsApp, TeamsChannelTab, TeamsContentPreview, TeamsController, TeamsElement, TeamsFilesPanel, TeamsSettings, activityTime, applyTeamsProps, colorFor, createTeams, dayKind, dayLabel, defineActivityFeed, defineAppRail, defineAvatar, defineCalendarAgenda, defineCalendarView, defineCallControls, defineCallGrid, defineChannelList, defineChatComposer, defineChatList, defineChatSidebar, definePeoplePicker, definePrejoin, defineTeamsApp, defineTeamsChannelTab, defineTeamsContentPreview, defineTeamsFilesPanel, defineTeamsSettings, formatElapsed, formatSize, formatTime, formatWhen, icon, listenTeamsEvents, loadConfig, loadIdentity, parseIceLines, registerTeams, safeStorage, saveConfig, saveIdentity, withStyles } from './chunk-MSXUCINT.js';
5
+ export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-FHO7TEWA.js';
6
6
  export { THEME_CSS, THEME_STYLE_ID, installOfficeUiTheme, shadcnBridge, themeBridge } from './chunk-7E3HU7RL.js';
7
- export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineChartPicker, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, glyph, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-KRQ5T2GX.js';
7
+ export { CONTROL_DEFINERS, DEFAULT_COMMENTS_LABELS, DEFAULT_OFFICE_PROFILE, EMPTY_MENU_STATE, OFFICE_AVATAR_SWATCHES, OFFICE_COLOR_SWATCHES, OFFICE_COLOR_SWATCH_HEXES, OFFICE_PROFILE_STORAGE_KEY, OFFICE_SYMBOLS, OFFICE_TITLE_BAR_SEARCH_LIMIT, OFFICE_TOAST_VISIBLE_LIMIT, assignKeyTips, attachKeyTips, attachRibbonGroupOverflow, clampFlyoutPosition, clampOptionNumber, clearOfficeProfile, commentInitials, createRibbonOverflow, defineAccount, defineBackstage, defineButton, defineChartPicker, defineCheckbox, defineColorCustom, defineColorGrid, defineCommandSearch, defineCommentsPane, defineContextMenu, defineDialog, defineDialogFooter, defineFindBar, defineGallery, defineIcon, defineMenuButton, defineMenuItem, defineMenuSeparator, defineOptionsDialog, definePasteOptions, definePrintPreview, defineRadio, defineReadOnlyBanner, defineRibbon, defineRibbonActions, defineRibbonGroup, defineRibbonSection, defineRibbonStack, defineRibbonToggle, defineRuler, defineSearchField, defineSelect, defineStatusBar, defineStatusItem, defineSwitch, defineSymbolPicker, defineTabStrip, defineTaskPane, defineTitleBar, defineToasts, defineToolbar, defineZoomSlider, fitRibbonGroups, formatCommentTime, glyph, nextEnabledIndex, optionText, optionsLabels, parseOfficeSymbolCode, parseSvgPreview, personalizeSection, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, unavailableCategory, unavailableControl, userInterfaceSection, writeOfficeProfile } from './chunk-SPRZIHUH.js';
8
8
  export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-M6GF5ED2.js';
9
9
  export { OfficeUiPresence, definePresence, initialsOf, participantsFromAwareness } from './chunk-KNC2UEUR.js';
10
10
  export { CONTRACT_REVISION, OfficeElement, controlStyles, flag, readFlag, triState, valueOn, withTokens } from './chunk-CWBSXK7P.js';
@@ -1,5 +1,5 @@
1
- import { widenPieViewModel, buildPerspCamera, createSvgEl, appendChartLegendSvg, renderChartLineSvg, renderChartTextSvg, perspBoxMatrix, pieRimPoint, perspScreenToPlaneY, resolvePieSliceShareValue, perspToScreen, roundDragValue, buildBarChart3DHoverTooltip, isChartInteractionArmed, computePieChartLayout, obliqueBarTaper } from './chunk-GCHJRKXZ.mjs';
2
- import { resolveChartPalette, shade, DEFAULT_BAR_GAP_WIDTH } from './chunk-HL53SH7C.mjs';
1
+ import { widenPieViewModel, buildPerspCamera, createSvgEl, appendChartLegendSvg, renderChartLineSvg, renderChartTextSvg, perspBoxMatrix, pieRimPoint, perspScreenToPlaneY, resolvePieSliceShareValue, perspToScreen, roundDragValue, buildBarChart3DHoverTooltip, isChartInteractionArmed, computePieChartLayout, obliqueBarTaper } from './chunk-73OUATE4.mjs';
2
+ import { resolveChartPalette, shade, DEFAULT_BAR_GAP_WIDTH } from './chunk-PIIYTRLE.mjs';
3
3
  import './chunk-U5DDQYSF.mjs';
4
4
 
5
5
  // src/pptx/render/chart-3d-shading.ts
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkL2LK7TEC_cjs = require('./chunk-L2LK7TEC.cjs');
4
- var chunkCEH63AZB_cjs = require('./chunk-CEH63AZB.cjs');
3
+ var chunkLCB46TH2_cjs = require('./chunk-LCB46TH2.cjs');
4
+ var chunkG3UVZ5FO_cjs = require('./chunk-G3UVZ5FO.cjs');
5
5
  require('./chunk-MF3JURQN.cjs');
6
6
 
7
7
  // src/pptx/render/chart-3d-shading.ts
@@ -15,7 +15,7 @@ var FACE_SHADE_AMOUNT = {
15
15
  };
16
16
  function shadeChart3DFace(baseColor, face) {
17
17
  const amount = FACE_SHADE_AMOUNT[face];
18
- return amount === 0 ? baseColor : chunkCEH63AZB_cjs.shade(baseColor, amount);
18
+ return amount === 0 ? baseColor : chunkG3UVZ5FO_cjs.shade(baseColor, amount);
19
19
  }
20
20
  function buildChart3DBoxFaceColors(baseColor) {
21
21
  return [
@@ -204,7 +204,7 @@ function buildChart3DBarMeshes(three, layout, svgWidth, svgHeight) {
204
204
  // src/pptx/render/chart-3d-chrome-overlay.ts
205
205
  function renderChart3DChromeOverlaySvg(doc, source, box) {
206
206
  const vm = box ? withBoxChromePositions(source) : source;
207
- const svg = chunkL2LK7TEC_cjs.createSvgEl(doc, "svg", {
207
+ const svg = chunkLCB46TH2_cjs.createSvgEl(doc, "svg", {
208
208
  class: "pptxv-chart-3d-chrome",
209
209
  viewBox: `0 0 ${vm.svgWidth} ${vm.svgHeight}`,
210
210
  preserveAspectRatio: "none"
@@ -217,7 +217,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
217
217
  svg.style.setProperty("pointer-events", "none");
218
218
  if (vm.areaFill) {
219
219
  svg.appendChild(
220
- chunkL2LK7TEC_cjs.createSvgEl(doc, "rect", {
220
+ chunkLCB46TH2_cjs.createSvgEl(doc, "rect", {
221
221
  x: 0,
222
222
  y: 0,
223
223
  width: vm.svgWidth,
@@ -228,7 +228,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
228
228
  );
229
229
  }
230
230
  if (vm.title) {
231
- const title = chunkL2LK7TEC_cjs.createSvgEl(doc, "text", {
231
+ const title = chunkLCB46TH2_cjs.createSvgEl(doc, "text", {
232
232
  x: vm.titleX,
233
233
  y: vm.titleY,
234
234
  "text-anchor": "middle",
@@ -240,7 +240,7 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
240
240
  });
241
241
  if (vm.titleRunSpans && vm.titleRunSpans.length > 0) {
242
242
  for (const run of vm.titleRunSpans) {
243
- const tspan = chunkL2LK7TEC_cjs.createSvgEl(doc, "tspan", {
243
+ const tspan = chunkLCB46TH2_cjs.createSvgEl(doc, "tspan", {
244
244
  "font-size": run.fontSize,
245
245
  "font-weight": run.fontWeight,
246
246
  "font-style": run.fontStyle,
@@ -259,28 +259,28 @@ function renderChart3DChromeOverlaySvg(doc, source, box) {
259
259
  appendBoxLabels(doc, svg, vm, box.labels);
260
260
  const legend = box.legend ?? vm.legend.map((item) => ({ ...item, lineSwatch: void 0 }));
261
261
  const legendVm = { ...vm, legend: box.reverseLegend ? legend.reverse() : legend };
262
- chunkL2LK7TEC_cjs.appendChartLegendSvg(doc, svg, legendVm);
262
+ chunkLCB46TH2_cjs.appendChartLegendSvg(doc, svg, legendVm);
263
263
  return svg;
264
264
  }
265
265
  for (const gl of vm.gridlines) {
266
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartLineSvg(doc, gl));
266
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartLineSvg(doc, gl));
267
267
  }
268
268
  for (const gl of vm.secondaryGridlines ?? []) {
269
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartLineSvg(doc, gl));
269
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartLineSvg(doc, gl));
270
270
  }
271
271
  for (const lbl of vm.axisLabels) {
272
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartTextSvg(doc, lbl));
272
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartTextSvg(doc, lbl));
273
273
  }
274
274
  for (const lbl of vm.secondaryAxisLabels ?? []) {
275
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartTextSvg(doc, lbl));
275
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartTextSvg(doc, lbl));
276
276
  }
277
277
  if (vm.zeroLine) {
278
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartLineSvg(doc, vm.zeroLine));
278
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartLineSvg(doc, vm.zeroLine));
279
279
  }
280
280
  for (const lbl of vm.categoryLabels) {
281
- svg.appendChild(chunkL2LK7TEC_cjs.renderChartTextSvg(doc, lbl));
281
+ svg.appendChild(chunkLCB46TH2_cjs.renderChartTextSvg(doc, lbl));
282
282
  }
283
- chunkL2LK7TEC_cjs.appendChartLegendSvg(doc, svg, vm);
283
+ chunkLCB46TH2_cjs.appendChartLegendSvg(doc, svg, vm);
284
284
  return svg;
285
285
  }
286
286
  var PT = 4 / 3;
@@ -299,7 +299,7 @@ function appendBoxLabels(doc, svg, vm, labels) {
299
299
  const style = vm.axisLabels[0];
300
300
  for (const label of labels) {
301
301
  svg.appendChild(
302
- chunkL2LK7TEC_cjs.renderChartTextSvg(doc, {
302
+ chunkLCB46TH2_cjs.renderChartTextSvg(doc, {
303
303
  kind: "text",
304
304
  x: label.x,
305
305
  y: label.y,
@@ -369,7 +369,7 @@ function attachChart3DMarkInteraction(options) {
369
369
  }
370
370
  const point = pointAt(event.clientX, event.clientY);
371
371
  const value = point ? adapter.valueOf(point) : void 0;
372
- const tooltip = point && value !== void 0 ? chunkL2LK7TEC_cjs.buildBarChart3DHoverTooltip(
372
+ const tooltip = point && value !== void 0 ? chunkLCB46TH2_cjs.buildBarChart3DHoverTooltip(
373
373
  { seriesIndex: point.seriesIndex, categoryIndex: point.pointIndex, value },
374
374
  {
375
375
  categoryLabels: options.categoryLabels,
@@ -387,7 +387,7 @@ function attachChart3DMarkInteraction(options) {
387
387
  return;
388
388
  }
389
389
  const point = pointAt(event.clientX, event.clientY);
390
- const armed = point !== null && chunkL2LK7TEC_cjs.isChartInteractionArmed(target);
390
+ const armed = point !== null && chunkLCB46TH2_cjs.isChartInteractionArmed(target);
391
391
  if (armed) {
392
392
  event.stopPropagation();
393
393
  }
@@ -463,7 +463,7 @@ function obliqueDragValue(layout, startValue, dx, dy) {
463
463
  const along = layout.horizontal ? dx : -dy;
464
464
  const raw = startValue + along / layout.valueScale;
465
465
  const span = layout.range.max - layout.range.min;
466
- return chunkL2LK7TEC_cjs.roundDragValue(raw, { min: layout.range.min, max: layout.range.max, span });
466
+ return chunkLCB46TH2_cjs.roundDragValue(raw, { min: layout.range.min, max: layout.range.max, span });
467
467
  }
468
468
  function obliqueDraggedExtent(layout, value) {
469
469
  const { min, max } = layout.range;
@@ -476,7 +476,7 @@ function obliqueDraggedExtent(layout, value) {
476
476
  function obliqueBarAtValue(layout, bar, value) {
477
477
  const { from, length } = obliqueDraggedExtent(layout, value);
478
478
  const extent = (layout.range.max - layout.range.min) * layout.valueScale;
479
- const taper = chunkL2LK7TEC_cjs.obliqueBarTaper(bar.shape, from, from + length, extent, value);
479
+ const taper = chunkLCB46TH2_cjs.obliqueBarTaper(bar.shape, from, from + length, extent, value);
480
480
  return layout.horizontal ? { ...bar, x: from, w: length, value, taper } : { ...bar, y: from, h: length, value, taper };
481
481
  }
482
482
 
@@ -568,7 +568,7 @@ function buildPerspBarPrisms(chartData, layout, override) {
568
568
  const nSer = chartData.series.length;
569
569
  const catExtent = layout.horizontal ? layout.view.box.h : layout.view.box.w;
570
570
  const slot = nCat > 0 ? catExtent / nCat : catExtent;
571
- const gapWidth = (chartData.barGapWidth ?? chunkCEH63AZB_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
571
+ const gapWidth = (chartData.barGapWidth ?? chunkG3UVZ5FO_cjs.DEFAULT_BAR_GAP_WIDTH) / 100;
572
572
  const slots = layout.grouping === "clustered" ? nSer : 1;
573
573
  const barW = slot / (slots + gapWidth);
574
574
  const depth = Math.min(barW, layout.rowDepth);
@@ -621,7 +621,7 @@ function buildPerspBarPrisms(chartData, layout, override) {
621
621
  z0,
622
622
  z1: z0 + depth,
623
623
  shape,
624
- taper: chunkL2LK7TEC_cjs.obliqueBarTaper(
624
+ taper: chunkLCB46TH2_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(chunkL2LK7TEC_cjs.perspBoxMatrix(three, layout.view));
819
+ group.matrix.copy(chunkLCB46TH2_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 ? chunkCEH63AZB_cjs.shade(base, 0.4) : base;
874
+ const fallback = Math.floor(i / cycle.length) % 2 === 1 ? chunkG3UVZ5FO_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(chunkL2LK7TEC_cjs.perspBoxMatrix(three, layout.view));
1058
+ group.matrix.copy(chunkLCB46TH2_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 = chunkCEH63AZB_cjs.resolveChartPalette(chartData);
1199
- const camera = chunkL2LK7TEC_cjs.buildPerspCamera(three, layout.view, vm.svgWidth, vm.svgHeight);
1198
+ const palette = chunkG3UVZ5FO_cjs.resolveChartPalette(chartData);
1199
+ const camera = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.perspToScreen(layout.view, a);
1249
- const s1 = chunkL2LK7TEC_cjs.perspToScreen(layout.view, b);
1248
+ const s0 = chunkLCB46TH2_cjs.perspToScreen(layout.view, a);
1249
+ const s1 = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.roundDragValue(start + (dx * ux + dy * uy) / len2, {
1256
+ const value = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.pieRimPoint(cx, cz, r, a);
1344
+ const p = chunkLCB46TH2_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(chunkL2LK7TEC_cjs.perspBoxMatrix(three, layout.view));
1388
+ group.matrix.copy(chunkLCB46TH2_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 chunkL2LK7TEC_cjs.computePieChartLayout(element, input.vm)?.slices ?? input.layout.slices;
1452
+ return chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.buildPerspCamera(three, layout.view, vm.svgWidth, vm.svgHeight);
1457
+ const camera = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.perspScreenToPlaneY(layout.view, at.x, at.y, layout.center.y);
1498
+ const hit = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.resolvePieSliceShareValue(
1506
+ const value = chunkLCB46TH2_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 = chunkL2LK7TEC_cjs.pieRimPoint(
1522
+ const p = chunkLCB46TH2_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: chunkL2LK7TEC_cjs.widenPieViewModel(spec.vm, spec.element),
1587
+ vm: chunkLCB46TH2_cjs.widenPieViewModel(spec.vm, spec.element),
1588
1588
  layout: spec.geometry.layout,
1589
1589
  chartData: chartData2,
1590
1590
  categoryLabels: spec.categoryLabels