ooxml-ui 1.10.0 → 1.11.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.
Files changed (152) hide show
  1. package/custom-elements.json +4 -1
  2. package/dist/{chunk-O7APCA5N.js → chunk-FUQYUUIQ.js} +2 -2
  3. package/dist/{chunk-W6AV3GHC.js → chunk-GI3WX6LZ.js} +1 -1
  4. package/dist/{chunk-IXLJNVUD.js → chunk-JZP5L2AZ.js} +1 -1
  5. package/dist/{chunk-WMGMZIMM.js → chunk-QVPO35YI.js} +2 -2
  6. package/dist/controls.js +1 -1
  7. package/dist/docx.js +3 -3
  8. package/dist/form/select.d.ts +3 -0
  9. package/dist/form/select.d.ts.map +1 -1
  10. package/dist/index.js +4 -4
  11. package/dist/pptx/ai/index.cjs +7 -6
  12. package/dist/pptx/ai/index.mjs +4 -3
  13. package/dist/pptx/{chart-3d-view-scene-P6MAFEGL.mjs → chart-3d-view-scene-MYQRQDNF.mjs} +1 -0
  14. package/dist/pptx/{chart-3d-view-scene-V74F7ZOC.cjs → chart-3d-view-scene-WX23DR2E.cjs} +1 -0
  15. package/dist/pptx/{chat-history-idb-PGLJPVOI.cjs → chat-history-idb-FJWHIDOK.cjs} +3 -2
  16. package/dist/pptx/{chat-history-idb-XXPB3Q4U.mjs → chat-history-idb-XWRFLX2R.mjs} +2 -1
  17. package/dist/pptx/{chunk-OBRLAW6C.mjs → chunk-3IN66FIL.mjs} +1 -1
  18. package/dist/pptx/chunk-ANKJE2PT.mjs +147 -0
  19. package/dist/pptx/{chunk-OCNECNJS.cjs → chunk-BPQVJLHW.cjs} +6690 -143
  20. package/dist/pptx/{chunk-TSSWTBJQ.cjs → chunk-C22MU5CA.cjs} +2 -2
  21. package/dist/pptx/{chunk-526IHNIH.cjs → chunk-C5OJXCCB.cjs} +2 -2
  22. package/dist/pptx/{chunk-A5MANNJR.cjs → chunk-G2LGZNTI.cjs} +1 -1
  23. package/dist/pptx/{chunk-6NFW2AQA.mjs → chunk-J3T77ZMS.mjs} +6645 -143
  24. package/dist/pptx/{chunk-LVDF75JU.mjs → chunk-LLENQTWZ.mjs} +1 -1
  25. package/dist/pptx/chunk-MF3JURQN.cjs +22 -0
  26. package/dist/pptx/chunk-PBZWDEXQ.cjs +10 -0
  27. package/dist/pptx/chunk-PEDGPFLR.mjs +1 -0
  28. package/dist/pptx/{chunk-ZAOYPCAM.mjs → chunk-QCP2XYJW.mjs} +2 -2
  29. package/dist/pptx/chunk-T34B6TZT.cjs +199 -0
  30. package/dist/pptx/chunk-U5DDQYSF.mjs +19 -0
  31. package/dist/pptx/dom/index.cjs +215 -214
  32. package/dist/pptx/dom/index.mjs +7 -6
  33. package/dist/pptx/export/canvas-color-fix.cjs +1 -0
  34. package/dist/pptx/export/canvas-color-fix.mjs +1 -0
  35. package/dist/pptx/export/handout-layout.cjs +1 -0
  36. package/dist/pptx/export/handout-layout.mjs +1 -0
  37. package/dist/pptx/export/handout-master-chrome.cjs +1 -0
  38. package/dist/pptx/export/handout-master-chrome.mjs +1 -0
  39. package/dist/pptx/export/html-escape.cjs +1 -0
  40. package/dist/pptx/export/html-escape.mjs +1 -0
  41. package/dist/pptx/export/html2canvas-clone.cjs +3 -2
  42. package/dist/pptx/export/html2canvas-clone.mjs +2 -1
  43. package/dist/pptx/export/pdf-page-size.cjs +1 -0
  44. package/dist/pptx/export/pdf-page-size.mjs +1 -0
  45. package/dist/pptx/export/print-document.cjs +1 -0
  46. package/dist/pptx/export/print-document.mjs +1 -0
  47. package/dist/pptx/export/video-plan.cjs +1 -0
  48. package/dist/pptx/export/video-plan.mjs +1 -0
  49. package/dist/pptx/i18n/index.cjs +1 -0
  50. package/dist/pptx/i18n/index.mjs +1 -0
  51. package/dist/pptx/index.cjs +2861 -2888
  52. package/dist/pptx/index.mjs +6 -5
  53. package/dist/pptx/loader/index.cjs +1 -0
  54. package/dist/pptx/loader/index.mjs +1 -0
  55. package/dist/pptx/render/animation-authoring.cjs +1 -0
  56. package/dist/pptx/render/animation-authoring.mjs +1 -0
  57. package/dist/pptx/render/animation-fill-repeat.d.ts +3 -53
  58. package/dist/pptx/render/animation-fill-repeat.d.ts.map +1 -1
  59. package/dist/pptx/render/animation-parallel-composition.d.ts.map +1 -1
  60. package/dist/pptx/render/animation-preset-labels.cjs +1 -0
  61. package/dist/pptx/render/animation-preset-labels.mjs +1 -0
  62. package/dist/pptx/render/animation-timeline-step-effect.d.ts.map +1 -1
  63. package/dist/pptx/render/animation-visibility-keyframe.d.ts +8 -0
  64. package/dist/pptx/render/animation-visibility-keyframe.d.ts.map +1 -0
  65. package/dist/pptx/render/chart-combo-stock.cjs +1 -0
  66. package/dist/pptx/render/chart-combo-stock.mjs +1 -0
  67. package/dist/pptx/render/chart-overlays.cjs +1 -0
  68. package/dist/pptx/render/chart-overlays.mjs +1 -0
  69. package/dist/pptx/render/chart-surface-treemap.cjs +1 -0
  70. package/dist/pptx/render/chart-surface-treemap.mjs +1 -0
  71. package/dist/pptx/render/chart-view-model.cjs +1 -0
  72. package/dist/pptx/render/chart-view-model.mjs +1 -0
  73. package/dist/pptx/render/chart-waterfall-map.cjs +1 -0
  74. package/dist/pptx/render/chart-waterfall-map.mjs +1 -0
  75. package/dist/pptx/render/content-part-strokes.cjs +1 -0
  76. package/dist/pptx/render/content-part-strokes.mjs +1 -0
  77. package/dist/pptx/render/context-menu-target.cjs +1 -0
  78. package/dist/pptx/render/context-menu-target.mjs +1 -0
  79. package/dist/pptx/render/custom-fonts.cjs +1 -0
  80. package/dist/pptx/render/custom-fonts.mjs +1 -0
  81. package/dist/pptx/render/customization/customization-resolve.d.ts +1 -0
  82. package/dist/pptx/render/customization/customization-resolve.d.ts.map +1 -1
  83. package/dist/pptx/render/customization/customization-types.d.ts +4 -0
  84. package/dist/pptx/render/customization/customization-types.d.ts.map +1 -1
  85. package/dist/pptx/render/customization/index.d.ts +1 -0
  86. package/dist/pptx/render/customization/index.d.ts.map +1 -1
  87. package/dist/pptx/render/customization/inspector-customization.d.ts +6 -0
  88. package/dist/pptx/render/customization/inspector-customization.d.ts.map +1 -0
  89. package/dist/pptx/render/customization/ribbon-control-visibility.d.ts +0 -20
  90. package/dist/pptx/render/customization/ribbon-control-visibility.d.ts.map +1 -1
  91. package/dist/pptx/render/element-hit-test.cjs +1 -0
  92. package/dist/pptx/render/element-hit-test.mjs +1 -0
  93. package/dist/pptx/render/font-catalog.cjs +1 -0
  94. package/dist/pptx/render/font-catalog.mjs +1 -0
  95. package/dist/pptx/render/font-family-update.d.ts +1 -44
  96. package/dist/pptx/render/font-family-update.d.ts.map +1 -1
  97. package/dist/pptx/render/format-painter.cjs +7 -6
  98. package/dist/pptx/render/format-painter.mjs +4 -3
  99. package/dist/pptx/render/hyperlink-security.cjs +1 -0
  100. package/dist/pptx/render/hyperlink-security.mjs +1 -0
  101. package/dist/pptx/render/image-file-insertion.cjs +1 -0
  102. package/dist/pptx/render/image-file-insertion.mjs +1 -0
  103. package/dist/pptx/render/ink-rendering.cjs +1 -0
  104. package/dist/pptx/render/ink-rendering.mjs +1 -0
  105. package/dist/pptx/render/inspector-helpers.cjs +15 -14
  106. package/dist/pptx/render/inspector-helpers.d.ts.map +1 -1
  107. package/dist/pptx/render/inspector-helpers.mjs +3 -2
  108. package/dist/pptx/render/layout-gallery.cjs +1 -0
  109. package/dist/pptx/render/layout-gallery.mjs +1 -0
  110. package/dist/pptx/render/layout-preview.cjs +1 -0
  111. package/dist/pptx/render/layout-preview.mjs +1 -0
  112. package/dist/pptx/render/model3d-scene.cjs +1 -0
  113. package/dist/pptx/render/model3d-scene.mjs +1 -0
  114. package/dist/pptx/render/paragraph-geometry-overrides.d.ts +1 -33
  115. package/dist/pptx/render/paragraph-geometry-overrides.d.ts.map +1 -1
  116. package/dist/pptx/render/paragraph-spacing.d.ts +2 -0
  117. package/dist/pptx/render/paragraph-spacing.d.ts.map +1 -1
  118. package/dist/pptx/render/presentation-print-settings.cjs +1 -0
  119. package/dist/pptx/render/presentation-print-settings.mjs +1 -0
  120. package/dist/pptx/render/remap-text.cjs +1 -0
  121. package/dist/pptx/render/remap-text.mjs +1 -0
  122. package/dist/pptx/render/ribbon-animations-state.cjs +1 -0
  123. package/dist/pptx/render/ribbon-animations-state.mjs +1 -0
  124. package/dist/pptx/render/selection-format-state.d.ts +3 -5
  125. package/dist/pptx/render/selection-format-state.d.ts.map +1 -1
  126. package/dist/pptx/render/text-case-transform.cjs +1 -0
  127. package/dist/pptx/render/text-case-transform.mjs +1 -0
  128. package/dist/pptx/render/text-paragraphs.d.ts.map +1 -1
  129. package/dist/pptx/render/text-style-scope.d.ts +1 -87
  130. package/dist/pptx/render/text-style-scope.d.ts.map +1 -1
  131. package/dist/pptx/render/text-style-update.d.ts.map +1 -1
  132. package/dist/pptx/render/update-text-segment-style.d.ts +1 -11
  133. package/dist/pptx/render/update-text-segment-style.d.ts.map +1 -1
  134. package/dist/pptx/render/viewer-root-options.d.ts +2 -0
  135. package/dist/pptx/render/viewer-root-options.d.ts.map +1 -1
  136. package/dist/pptx/theme/index.cjs +1 -0
  137. package/dist/pptx/theme/index.mjs +1 -0
  138. package/dist/pptx/{view-scene-GHBN7QMR.mjs → view-scene-BSTOVMHA.mjs} +1 -0
  139. package/dist/pptx/{view-scene-4ZFUCP6S.cjs → view-scene-CKYHS2OP.cjs} +1 -0
  140. package/dist/pptx/web-components/ribbon-home-controls.d.ts.map +1 -1
  141. package/dist/pptx/web-components/title-bar.d.ts.map +1 -1
  142. package/dist/teams.js +2 -2
  143. package/dist/visio/viewer-field-choice.d.ts +7 -0
  144. package/dist/visio.js +94 -9
  145. package/dist/xlsx/dialogs/help-dialogs.d.ts +2 -2
  146. package/dist/xlsx/dialogs/pivot-page-filter.d.ts +9 -0
  147. package/dist/xlsx.js +97 -12
  148. package/package.json +5 -5
  149. package/dist/pptx/chunk-EYPNQ3FG.cjs +0 -59
  150. package/dist/pptx/chunk-FFIYFHBO.mjs +0 -55
  151. package/dist/pptx/chunk-JRCK6CFI.cjs +0 -373
  152. package/dist/pptx/chunk-WFEN6SHA.mjs +0 -295
@@ -3070,11 +3070,14 @@
3070
3070
  "name": "OfficeUiSelect",
3071
3071
  "tagName": "office-ui-select",
3072
3072
  "customElement": true,
3073
- "description": "Single-select combobox. Moved from pptx-viewer `pptx-ui-select` (the declarative, most complete implementation). Choices come from `<option>` / `<optgroup>` children (with `data-display-label`, `data-description` and font previews through `style=\"font-family\"`), or from the `options` property when there are none. `value`, `disabled`, `selectedIndex`, `aria-label`; `variant=\"ribbon-font\"` (compact ribbon combo that accepts unlisted values, such as a typed font size) or `\"ribbon-icon\"`; `data-font-picker=\"family|size\"`; an `icon` slot and a `custom` slot at the top of the popup. Keyboard: arrows, Home, End, PageUp/PageDown (8 options), typeahead, Enter/Space, Escape, Tab; disabled and hidden choices are skipped. The popup is a top-layer `popover`, flipped above the trigger when there is more room. `input` then `change` bubble on a user choice; setting a property is silent. Form-associated.",
3073
+ "description": "Single-select combobox. Moved from pptx-viewer `pptx-ui-select` (the declarative, most complete implementation). Choices come from `<option>` / `<optgroup>` children (with `data-display-label`, `data-description` and font previews through `style=\"font-family\"`), or from the `options` property when there are none. `value`, `disabled`, `selectedIndex`, `aria-label`; `variant=\"ribbon-font\"` (compact ribbon combo that accepts unlisted values, such as a typed font size) or `\"ribbon-icon\"`; `data-font-picker=\"family|size\"`; an `icon` slot and a `custom` slot at the top of the popup. Keyboard: arrows, Home, End, PageUp/PageDown (8 options), typeahead, Enter/Space, Escape, Tab; disabled and hidden choices are skipped. The popup is a top-layer `popover`, flipped above the trigger when there is more room. `input` then `change` bubble on a user choice; setting a property is silent. Form-associated. The presence of `commit-on-reselect` opts into one bubbling input/change pair when the user chooses the current value (pointer or keyboard). Programmatic value writes stay silent, and disabled controls cannot commit. Omitted: change-only select.",
3074
3074
  "attributes": [
3075
3075
  {
3076
3076
  "name": "aria-label"
3077
3077
  },
3078
+ {
3079
+ "name": "commit-on-reselect"
3080
+ },
3078
3081
  {
3079
3082
  "name": "data-font-picker"
3080
3083
  },
@@ -4112,7 +4112,7 @@ var OfficeUiSelect = class extends OfficeElement {
4112
4112
  opened: { state: true }
4113
4113
  };
4114
4114
  /** Attributes the trigger renders from: a change repaints it (a relabel on a language switch). */
4115
- static watched = ["aria-label", "variant", "data-font-picker"];
4115
+ static watched = ["aria-label", "variant", "data-font-picker", "commit-on-reselect"];
4116
4116
  internals;
4117
4117
  observer;
4118
4118
  menuId = `office-ui-select-options-${++uid2}`;
@@ -4281,7 +4281,7 @@ var OfficeUiSelect = class extends OfficeElement {
4281
4281
  this.value = choice.value;
4282
4282
  this.close();
4283
4283
  this.trigger?.focus();
4284
- if (changed) {
4284
+ if (changed || this.hasAttribute("commit-on-reselect")) {
4285
4285
  this.dispatchEvent(new Event("input", { bubbles: true, composed: true }));
4286
4286
  this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
4287
4287
  }
@@ -1,4 +1,4 @@
1
- import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-O7APCA5N.js';
1
+ import { defineRibbonGroup, defineRibbonStack, defineButton, defineMenuItem, defineMenuButton } from './chunk-FUQYUUIQ.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
 
@@ -1,5 +1,5 @@
1
1
  import { THEME_CSS, installOfficeUiTheme } from './chunk-S6ZXU442.js';
2
- import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-O7APCA5N.js';
2
+ import { defineMenuButton, defineMenuItem, registerControls, defineSwitch } from './chunk-FUQYUUIQ.js';
3
3
  import { registerIcon, getIcon } from './chunk-M6GF5ED2.js';
4
4
  import { initialsOf, definePresence } from './chunk-L7JV5FVE.js';
5
5
  import { definer, OfficeElement, controlStyles } from './chunk-OGNNNTKI.js';
@@ -1,7 +1,7 @@
1
1
  import { defineSmartArt } from './chunk-PXIYHFZ5.js';
2
- import { TEAMS_TAGS, registerTeams } from './chunk-IXLJNVUD.js';
2
+ import { TEAMS_TAGS, registerTeams } from './chunk-JZP5L2AZ.js';
3
3
  import { installOfficeUiTheme } from './chunk-S6ZXU442.js';
4
- import { registerControls } from './chunk-O7APCA5N.js';
4
+ import { registerControls } from './chunk-FUQYUUIQ.js';
5
5
  import { definePresence } from './chunk-L7JV5FVE.js';
6
6
 
7
7
  // src/index.ts
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, 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, parseOfficeSymbolCode, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-O7APCA5N.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, 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, parseOfficeSymbolCode, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-FUQYUUIQ.js';
2
2
  import './chunk-M6GF5ED2.js';
3
3
  import './chunk-L7JV5FVE.js';
4
4
  import './chunk-OGNNNTKI.js';
package/dist/docx.js CHANGED
@@ -1,8 +1,8 @@
1
- import { syncRibbonAddIns } from './chunk-W6AV3GHC.js';
2
- export { RIBBON_ADD_IN_EVENT } from './chunk-W6AV3GHC.js';
1
+ import { syncRibbonAddIns } from './chunk-GI3WX6LZ.js';
2
+ export { RIBBON_ADD_IN_EVENT } from './chunk-GI3WX6LZ.js';
3
3
  import { defineSmartArt } from './chunk-PXIYHFZ5.js';
4
4
  import { shadcnBridge } from './chunk-S6ZXU442.js';
5
- import { createRibbonOverflow, defineRibbon, defineRuler, defineCommentsPane, defineDialog, defineSearchField, defineSwitch, defineTitleBar, defineRibbonActions, defineBackstage, defineStatusBar, defineZoomSlider, defineContextMenu, defineColorGrid, runKeyTips, assignKeyTips } from './chunk-O7APCA5N.js';
5
+ import { createRibbonOverflow, defineRibbon, defineRuler, defineCommentsPane, defineDialog, defineSearchField, defineSwitch, defineTitleBar, defineRibbonActions, defineBackstage, defineStatusBar, defineZoomSlider, defineContextMenu, defineColorGrid, runKeyTips, assignKeyTips } from './chunk-FUQYUUIQ.js';
6
6
  import { registerIcon } from './chunk-M6GF5ED2.js';
7
7
  import './chunk-L7JV5FVE.js';
8
8
  import './chunk-OGNNNTKI.js';
@@ -18,6 +18,9 @@ export interface OfficeSelectOption {
18
18
  * Enter/Space, Escape, Tab; disabled and hidden choices are skipped. The popup is a top-layer
19
19
  * `popover`, flipped above the trigger when there is more room. `input` then `change` bubble on a
20
20
  * user choice; setting a property is silent. Form-associated.
21
+ * The presence of `commit-on-reselect` opts into one bubbling input/change pair when the user
22
+ * chooses the current value (pointer or keyboard). Programmatic value writes stay silent,
23
+ * and disabled controls cannot commit. Omitted: change-only select.
21
24
  */
22
25
  export declare class OfficeUiSelect extends OfficeElement {
23
26
  static formAssociated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/form/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAE7D,OAAO,EAMN,KAAK,YAAY,EACjB,MAAM,eAAe,CAAC;AAGvB,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAChD,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAgB,iBAAiB;;;;;;;MAA6D;IAC9F,OAAgB,MAAM,4BAAsB;IAC5C,OAAgB,UAAU;QAEzB,KAAK;YAAI,IAAI;YAAU,OAAO;YAAQ,UAAU;;QAChD,QAAQ;;;;;;;;QACR,IAAI;;;;;;;;QACJ,MAAM;YAAI,KAAK;;QACf,OAAO;YAAI,KAAK;;QAChB,MAAM;YAAI,KAAK;;MACd;IACM,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAExB,kGAAkG;IAClG,OAAgB,OAAO,WAAiD;IAExE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAM;IAE1B,cAwBC;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAGlC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAGrC;IAED,IAAI,KAAK,IAAI,MAAM,CAalB;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAIrB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAED,iBAAiB,IAAI,IAAI,CAExB;IAED,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAE5C;IAEQ,iBAAiB,IAAI,IAAI,CAWjC;IAEQ,oBAAoB,IAAI,IAAI,CAWpC;IAED,OAAO,CAAC,OAAO;IAYf,uFAAuF;IACvF,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;IAIb,2EAA2E;IAC3E,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGvB;IAEF,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,SAAS;IAejB,UAAmB,UAAU,IAAI,IAAI,CAUpC;IAED,UAAmB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAW9D;IAED,OAAO,CAAC,eAAe;IA2BvB,UAAmB,MAAM,oCAwDxB;CACD;AAED,eAAO,MAAM,YAAY,+BAAoD,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/form/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAE7D,OAAO,EAMN,KAAK,YAAY,EACjB,MAAM,eAAe,CAAC;AAGvB,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAChD,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAgB,iBAAiB;;;;;;;MAA6D;IAC9F,OAAgB,MAAM,4BAAsB;IAC5C,OAAgB,UAAU;QAEzB,KAAK;YAAI,IAAI;YAAU,OAAO;YAAQ,UAAU;;QAChD,QAAQ;;;;;;;;QACR,IAAI;;;;;;;;QACJ,MAAM;YAAI,KAAK;;QACf,OAAO;YAAI,KAAK;;QAChB,MAAM;YAAI,KAAK;;MACd;IACM,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAExB,kGAAkG;IAClG,OAAgB,OAAO,WAAuE;IAE9F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAM;IAE1B,cAwBC;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAGlC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAGrC;IAED,IAAI,KAAK,IAAI,MAAM,CAalB;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAIrB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,OAAO,KAAK,IAAI,GAEf;IACD,OAAO,KAAK,OAAO,GAElB;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAED,iBAAiB,IAAI,IAAI,CAExB;IAED,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAE5C;IAEQ,iBAAiB,IAAI,IAAI,CAWjC;IAEQ,oBAAoB,IAAI,IAAI,CAWpC;IAED,OAAO,CAAC,OAAO;IAYf,uFAAuF;IACvF,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,KAAK;IAIb,2EAA2E;IAC3E,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGvB;IAEF,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,SAAS;IAmCjB,OAAO,CAAC,SAAS;IAejB,UAAmB,UAAU,IAAI,IAAI,CAUpC;IAED,UAAmB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAW9D;IAED,OAAO,CAAC,eAAe;IA2BvB,UAAmB,MAAM,oCAwDxB;CACD;AAED,eAAO,MAAM,YAAY,+BAAoD,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-WMGMZIMM.js';
2
- export { RIBBON_ADD_IN_EVENT, defineRibbonAddInElements, syncRibbonAddIns } from './chunk-W6AV3GHC.js';
1
+ export { OFFICE_UI_TAGS, registerOfficeUi } from './chunk-QVPO35YI.js';
2
+ export { RIBBON_ADD_IN_EVENT, defineRibbonAddInElements, syncRibbonAddIns } from './chunk-GI3WX6LZ.js';
3
3
  export { OfficeUiSmartArt, defineSmartArt, renderDiagramDrawing } from './chunk-PXIYHFZ5.js';
4
- 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-IXLJNVUD.js';
4
+ 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-JZP5L2AZ.js';
5
5
  export { TeamsPresentationPreview, defineTeamsPresentationPreview } from './chunk-HZSYGNNB.js';
6
6
  export { THEME_CSS, THEME_STYLE_ID, installOfficeUiTheme, shadcnBridge, themeBridge } from './chunk-S6ZXU442.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, 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, parseOfficeSymbolCode, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-O7APCA5N.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, 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, parseOfficeSymbolCode, parseSvgPreview, profileInitials, readOfficeProfile, registerControls, rulerDivisions, runKeyTips, sanitizeOfficeProfile, typeAheadIndex, writeOfficeProfile } from './chunk-FUQYUUIQ.js';
8
8
  export { createIconSvg, getIcon, listIcons, paintIcon, registerIcon } from './chunk-M6GF5ED2.js';
9
9
  export { OfficeUiPresence, definePresence, initialsOf, participantsFromAwareness } from './chunk-L7JV5FVE.js';
10
10
  export { CONTRACT_REVISION, OfficeElement, controlStyles, flag, readFlag, triState, valueOn, withTokens } from './chunk-OGNNNTKI.js';
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkA5MANNJR_cjs = require('../chunk-A5MANNJR.cjs');
4
- var chunkEYPNQ3FG_cjs = require('../chunk-EYPNQ3FG.cjs');
3
+ var chunkG2LGZNTI_cjs = require('../chunk-G2LGZNTI.cjs');
4
+ var chunkPBZWDEXQ_cjs = require('../chunk-PBZWDEXQ.cjs');
5
+ require('../chunk-MF3JURQN.cjs');
5
6
  var pptx = require('ooxml-core/pptx');
6
7
  var zod = require('zod');
7
8
  var tableMerge = require('ooxml-core/pptx/editor/ai/table-merge');
@@ -1687,7 +1688,7 @@ function buildChatLogMarkdown(doc) {
1687
1688
  }
1688
1689
  return out.join("\n");
1689
1690
  }
1690
- async function collectStoredChats(store = chunkA5MANNJR_cjs.createChatHistoryStore()) {
1691
+ async function collectStoredChats(store = chunkG2LGZNTI_cjs.createChatHistoryStore()) {
1691
1692
  const summaries = await store.listChats();
1692
1693
  const chats = [];
1693
1694
  for (const summary of summaries) {
@@ -1813,7 +1814,7 @@ function deckIdFromBridge(bridge) {
1813
1814
  return `${title || "deck"}::${meta.slideCount}`;
1814
1815
  }
1815
1816
  function createAiChatHistoryController(deps) {
1816
- const store = deps.store ?? chunkA5MANNJR_cjs.createChatHistoryStore();
1817
+ const store = deps.store ?? chunkG2LGZNTI_cjs.createChatHistoryStore();
1817
1818
  let chats = [];
1818
1819
  let activeChatId = newChatId();
1819
1820
  let createdAt = Date.now();
@@ -2083,7 +2084,7 @@ function applyTextUpdate(el, u) {
2083
2084
  }
2084
2085
  textEl.textStyle = { ...textEl.textStyle, ...textStyle };
2085
2086
  if (textEl.textSegments) {
2086
- textEl.textSegments = textEl.textSegments.map((seg) => chunkEYPNQ3FG_cjs.updateTextSegmentStyle(seg, textStyle));
2087
+ textEl.textSegments = textEl.textSegments.map((seg) => chunkPBZWDEXQ_cjs.updateTextSegmentStyle(seg, textStyle));
2087
2088
  }
2088
2089
  }
2089
2090
  function applyShapeStyleUpdate(el, u) {
@@ -2513,7 +2514,7 @@ function toolCanvasTarget(toolName, input) {
2513
2514
 
2514
2515
  Object.defineProperty(exports, "createChatHistoryStore", {
2515
2516
  enumerable: true,
2516
- get: function () { return chunkA5MANNJR_cjs.createChatHistoryStore; }
2517
+ get: function () { return chunkG2LGZNTI_cjs.createChatHistoryStore; }
2517
2518
  });
2518
2519
  Object.defineProperty(exports, "mergeTableElements", {
2519
2520
  enumerable: true,
@@ -1,6 +1,7 @@
1
- import { createChatHistoryStore } from '../chunk-LVDF75JU.mjs';
2
- export { createChatHistoryStore } from '../chunk-LVDF75JU.mjs';
3
- import { updateTextSegmentStyle } from '../chunk-FFIYFHBO.mjs';
1
+ import { createChatHistoryStore } from '../chunk-LLENQTWZ.mjs';
2
+ export { createChatHistoryStore } from '../chunk-LLENQTWZ.mjs';
3
+ import { updateTextSegmentStyle } from '../chunk-PEDGPFLR.mjs';
4
+ import '../chunk-U5DDQYSF.mjs';
4
5
  import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from 'ooxml-core/pptx';
5
6
  import { z } from 'zod';
6
7
  import { mergeTableElements } from 'ooxml-core/pptx/editor/ai/table-merge';
@@ -1,5 +1,6 @@
1
1
  import { widenPieViewModel, buildPerspCamera, createSvgEl, appendChartLegendSvg, renderChartLineSvg, renderChartTextSvg, perspBoxMatrix, pieRimPoint, perspScreenToPlaneY, resolvePieSliceShareValue, perspToScreen, roundDragValue, buildBarChart3DHoverTooltip, isChartInteractionArmed, computePieChartLayout, obliqueBarTaper } from './chunk-NAFUYAQP.mjs';
2
2
  import { resolveChartPalette, shade, DEFAULT_BAR_GAP_WIDTH } from './chunk-DPOES4WM.mjs';
3
+ import './chunk-U5DDQYSF.mjs';
3
4
 
4
5
  // src/pptx/render/chart-3d-shading.ts
5
6
  var FACE_SHADE_AMOUNT = {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var chunkK3S2A64B_cjs = require('./chunk-K3S2A64B.cjs');
4
4
  var chunkVFPVEVF4_cjs = require('./chunk-VFPVEVF4.cjs');
5
+ require('./chunk-MF3JURQN.cjs');
5
6
 
6
7
  // src/pptx/render/chart-3d-shading.ts
7
8
  var FACE_SHADE_AMOUNT = {
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkA5MANNJR_cjs = require('./chunk-A5MANNJR.cjs');
3
+ var chunkG2LGZNTI_cjs = require('./chunk-G2LGZNTI.cjs');
4
+ require('./chunk-MF3JURQN.cjs');
4
5
 
5
6
  // src/pptx/ai/chat-history-idb.ts
6
7
  var CHAT_STORE = "chats";
@@ -49,7 +50,7 @@ function createIdbBackend(db) {
49
50
  return {
50
51
  async list(deckId) {
51
52
  const rows = await readAll(db, deckId);
52
- return rows.map(chunkA5MANNJR_cjs.toChatSummary).sort((a, b) => b.updatedAt - a.updatedAt);
53
+ return rows.map(chunkG2LGZNTI_cjs.toChatSummary).sort((a, b) => b.updatedAt - a.updatedAt);
53
54
  },
54
55
  async load(id) {
55
56
  const tx = db.transaction(CHAT_STORE, "readonly");
@@ -1,4 +1,5 @@
1
- import { toChatSummary } from './chunk-LVDF75JU.mjs';
1
+ import { toChatSummary } from './chunk-LLENQTWZ.mjs';
2
+ import './chunk-U5DDQYSF.mjs';
2
3
 
3
4
  // src/pptx/ai/chat-history-idb.ts
4
5
  var CHAT_STORE = "chats";
@@ -1,4 +1,4 @@
1
- import { textStylePatch } from './chunk-WFEN6SHA.mjs';
1
+ import { textStylePatch } from './chunk-ANKJE2PT.mjs';
2
2
  import { hasShapeProperties, hasTextProperties } from 'ooxml-core/pptx';
3
3
 
4
4
  function copyFormatFromElement(element) {
@@ -0,0 +1,147 @@
1
+ import { textFontSizePxToPt } from './chunk-SMSCEGAE.mjs';
2
+ import { updateTextSegmentStyle } from './chunk-PEDGPFLR.mjs';
3
+ import { __reExport } from './chunk-U5DDQYSF.mjs';
4
+ import { hasTextProperties, hasShapeProperties } from 'ooxml-core/pptx';
5
+ import { textRunsStylePatch } from 'ooxml-core/pptx/editor/render/text-runs-style-patch';
6
+ import { mergeTextStyleUpdate } from 'ooxml-core/pptx/editor/render/font-family-update';
7
+ export { fontFamilyStyleUpdates, mergeTextStyleUpdate } from 'ooxml-core/pptx/editor/render/font-family-update';
8
+ import { isContentSegment, TEXT_DECORATION_FLAGS } from 'ooxml-core/pptx/editor/render/text-content-style';
9
+ export { TEXT_DECORATION_FLAGS, isContentSegment } from 'ooxml-core/pptx/editor/render/text-content-style';
10
+ import * as text_style_scope_star from 'ooxml-core/pptx/editor/render/text-style-scope';
11
+
12
+ function contentSegmentsInSelection(segments, selection) {
13
+ if (!segments) {
14
+ return [];
15
+ }
16
+ return segments.filter((segment, index) => {
17
+ if (!isContentSegment(segment)) {
18
+ return false;
19
+ }
20
+ if (!selection) {
21
+ return true;
22
+ }
23
+ if (index < selection.startSegIdx || index > selection.endSegIdx) {
24
+ return false;
25
+ }
26
+ if (selection.startSegIdx === selection.endSegIdx && selection.startOffset === selection.endOffset) {
27
+ return true;
28
+ }
29
+ const start = index === selection.startSegIdx ? selection.startOffset : 0;
30
+ const end = index === selection.endSegIdx ? selection.endOffset : segment.text.length;
31
+ return end > start;
32
+ });
33
+ }
34
+ function flagState(values) {
35
+ if (values.every((value) => value)) {
36
+ return "on";
37
+ }
38
+ return values.some((value) => value) ? "mixed" : "off";
39
+ }
40
+ function getSelectionTextStyleFlags(segments, selection, elementTextStyle) {
41
+ const runs = contentSegmentsInSelection(segments, selection);
42
+ const flags = {};
43
+ for (const flag of TEXT_DECORATION_FLAGS) {
44
+ const body = elementTextStyle?.[flag] ?? false;
45
+ flags[flag] = runs.length === 0 ? flagState([body]) : flagState(runs.map((run) => run.style?.[flag] ?? body));
46
+ }
47
+ return flags;
48
+ }
49
+ function nextToggleValue(state) {
50
+ return state !== "on";
51
+ }
52
+ function textStyleFlagsOf(element, selection = null, segments) {
53
+ if (!element || !hasTextProperties(element)) {
54
+ return { bold: "off", italic: "off", underline: "off", strikethrough: "off" };
55
+ }
56
+ return getSelectionTextStyleFlags(segments ?? element.textSegments, selection, element.textStyle);
57
+ }
58
+
59
+ // src/pptx/render/text-style-scope.ts
60
+ var text_style_scope_exports = {};
61
+ __reExport(text_style_scope_exports, text_style_scope_star);
62
+
63
+ // src/pptx/render/inspector-helpers.ts
64
+ var DEFAULT_FILL = "#ffffff";
65
+ var DEFAULT_STROKE = "#000000";
66
+ var DEFAULT_TEXT_COLOR = "#000000";
67
+ var DEFAULT_FONT_SIZE = 18;
68
+ function fillColorOf(el) {
69
+ if (hasShapeProperties(el)) {
70
+ return el.shapeStyle?.fillColor ?? DEFAULT_FILL;
71
+ }
72
+ return DEFAULT_FILL;
73
+ }
74
+ function strokeColorOf(el) {
75
+ if (hasShapeProperties(el)) {
76
+ return el.shapeStyle?.strokeColor ?? DEFAULT_STROKE;
77
+ }
78
+ return DEFAULT_STROKE;
79
+ }
80
+ function textColorOf(el) {
81
+ if (hasTextProperties(el)) {
82
+ return el.textStyle?.color ?? DEFAULT_TEXT_COLOR;
83
+ }
84
+ return DEFAULT_TEXT_COLOR;
85
+ }
86
+ function fontSizeOf(el, presentationDefault) {
87
+ if (hasTextProperties(el) && el.textStyle?.fontSize !== void 0) {
88
+ return textFontSizePxToPt(el.textStyle.fontSize);
89
+ }
90
+ const deckDefault = presentationDefault?.levelStyles?.[0]?.fontSize;
91
+ return deckDefault === void 0 ? DEFAULT_FONT_SIZE : textFontSizePxToPt(deckDefault);
92
+ }
93
+ function isBold(el) {
94
+ return textStyleFlagsOf(el).bold === "on";
95
+ }
96
+ function isItalic(el) {
97
+ return textStyleFlagsOf(el).italic === "on";
98
+ }
99
+ function isUnderline(el) {
100
+ return textStyleFlagsOf(el).underline === "on";
101
+ }
102
+ function shapeStylePatch(el, changes) {
103
+ const base = hasShapeProperties(el) ? el.shapeStyle ?? {} : {};
104
+ return {
105
+ shapeStyle: {
106
+ ...base,
107
+ ...changes
108
+ }
109
+ };
110
+ }
111
+ function textStylePatch(el, changes) {
112
+ const base = hasTextProperties(el) ? el.textStyle ?? {} : {};
113
+ const exclusive = (0, text_style_scope_exports.withExclusiveLineSpacing)(changes);
114
+ const paragraphs = (0, text_style_scope_exports.paragraphOverridePatch)(el, exclusive);
115
+ const segments = paragraphs.textSegments ?? (hasTextProperties(el) ? el.textSegments : void 0);
116
+ return {
117
+ ...paragraphs,
118
+ ...segments?.some((segment) => segment.paragraphInsertionStyle) ? {
119
+ textSegments: segments.map(
120
+ (segment) => updateTextSegmentStyle(segment, exclusive, {
121
+ updateBodyStyle: false,
122
+ inherited: base
123
+ })
124
+ )
125
+ } : {},
126
+ textStyle: mergeTextStyleUpdate(base, exclusive)
127
+ };
128
+ }
129
+ function textRunsPatch(el, updates) {
130
+ const patch = textStylePatch(el, updates);
131
+ if (!hasTextProperties(el) || !el.textSegments) {
132
+ return patch;
133
+ }
134
+ const runs = textRunsStylePatch(el, updates);
135
+ return {
136
+ ...patch,
137
+ textSegments: runs.textSegments
138
+ };
139
+ }
140
+ function textFontSizePatch(el, fontSize) {
141
+ return textRunsPatch(el, { fontSize });
142
+ }
143
+ function textFontFamilyPatch(el, fontFamily) {
144
+ return textRunsPatch(el, { fontFamily });
145
+ }
146
+
147
+ export { DEFAULT_FONT_SIZE, contentSegmentsInSelection, fillColorOf, fontSizeOf, getSelectionTextStyleFlags, isBold, isItalic, isUnderline, nextToggleValue, shapeStylePatch, strokeColorOf, textColorOf, textFontFamilyPatch, textFontSizePatch, textStyleFlagsOf, textStylePatch, text_style_scope_exports };