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.
- package/custom-elements.json +4 -1
- package/dist/{chunk-O7APCA5N.js → chunk-FUQYUUIQ.js} +2 -2
- package/dist/{chunk-W6AV3GHC.js → chunk-GI3WX6LZ.js} +1 -1
- package/dist/{chunk-IXLJNVUD.js → chunk-JZP5L2AZ.js} +1 -1
- package/dist/{chunk-WMGMZIMM.js → chunk-QVPO35YI.js} +2 -2
- package/dist/controls.js +1 -1
- package/dist/docx.js +3 -3
- package/dist/form/select.d.ts +3 -0
- package/dist/form/select.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/pptx/ai/index.cjs +7 -6
- package/dist/pptx/ai/index.mjs +4 -3
- package/dist/pptx/{chart-3d-view-scene-P6MAFEGL.mjs → chart-3d-view-scene-MYQRQDNF.mjs} +1 -0
- package/dist/pptx/{chart-3d-view-scene-V74F7ZOC.cjs → chart-3d-view-scene-WX23DR2E.cjs} +1 -0
- package/dist/pptx/{chat-history-idb-PGLJPVOI.cjs → chat-history-idb-FJWHIDOK.cjs} +3 -2
- package/dist/pptx/{chat-history-idb-XXPB3Q4U.mjs → chat-history-idb-XWRFLX2R.mjs} +2 -1
- package/dist/pptx/{chunk-OBRLAW6C.mjs → chunk-3IN66FIL.mjs} +1 -1
- package/dist/pptx/chunk-ANKJE2PT.mjs +147 -0
- package/dist/pptx/{chunk-OCNECNJS.cjs → chunk-BPQVJLHW.cjs} +6690 -143
- package/dist/pptx/{chunk-TSSWTBJQ.cjs → chunk-C22MU5CA.cjs} +2 -2
- package/dist/pptx/{chunk-526IHNIH.cjs → chunk-C5OJXCCB.cjs} +2 -2
- package/dist/pptx/{chunk-A5MANNJR.cjs → chunk-G2LGZNTI.cjs} +1 -1
- package/dist/pptx/{chunk-6NFW2AQA.mjs → chunk-J3T77ZMS.mjs} +6645 -143
- package/dist/pptx/{chunk-LVDF75JU.mjs → chunk-LLENQTWZ.mjs} +1 -1
- package/dist/pptx/chunk-MF3JURQN.cjs +22 -0
- package/dist/pptx/chunk-PBZWDEXQ.cjs +10 -0
- package/dist/pptx/chunk-PEDGPFLR.mjs +1 -0
- package/dist/pptx/{chunk-ZAOYPCAM.mjs → chunk-QCP2XYJW.mjs} +2 -2
- package/dist/pptx/chunk-T34B6TZT.cjs +199 -0
- package/dist/pptx/chunk-U5DDQYSF.mjs +19 -0
- package/dist/pptx/dom/index.cjs +215 -214
- package/dist/pptx/dom/index.mjs +7 -6
- package/dist/pptx/export/canvas-color-fix.cjs +1 -0
- package/dist/pptx/export/canvas-color-fix.mjs +1 -0
- package/dist/pptx/export/handout-layout.cjs +1 -0
- package/dist/pptx/export/handout-layout.mjs +1 -0
- package/dist/pptx/export/handout-master-chrome.cjs +1 -0
- package/dist/pptx/export/handout-master-chrome.mjs +1 -0
- package/dist/pptx/export/html-escape.cjs +1 -0
- package/dist/pptx/export/html-escape.mjs +1 -0
- package/dist/pptx/export/html2canvas-clone.cjs +3 -2
- package/dist/pptx/export/html2canvas-clone.mjs +2 -1
- package/dist/pptx/export/pdf-page-size.cjs +1 -0
- package/dist/pptx/export/pdf-page-size.mjs +1 -0
- package/dist/pptx/export/print-document.cjs +1 -0
- package/dist/pptx/export/print-document.mjs +1 -0
- package/dist/pptx/export/video-plan.cjs +1 -0
- package/dist/pptx/export/video-plan.mjs +1 -0
- package/dist/pptx/i18n/index.cjs +1 -0
- package/dist/pptx/i18n/index.mjs +1 -0
- package/dist/pptx/index.cjs +2861 -2888
- package/dist/pptx/index.mjs +6 -5
- package/dist/pptx/loader/index.cjs +1 -0
- package/dist/pptx/loader/index.mjs +1 -0
- package/dist/pptx/render/animation-authoring.cjs +1 -0
- package/dist/pptx/render/animation-authoring.mjs +1 -0
- package/dist/pptx/render/animation-fill-repeat.d.ts +3 -53
- package/dist/pptx/render/animation-fill-repeat.d.ts.map +1 -1
- package/dist/pptx/render/animation-parallel-composition.d.ts.map +1 -1
- package/dist/pptx/render/animation-preset-labels.cjs +1 -0
- package/dist/pptx/render/animation-preset-labels.mjs +1 -0
- package/dist/pptx/render/animation-timeline-step-effect.d.ts.map +1 -1
- package/dist/pptx/render/animation-visibility-keyframe.d.ts +8 -0
- package/dist/pptx/render/animation-visibility-keyframe.d.ts.map +1 -0
- package/dist/pptx/render/chart-combo-stock.cjs +1 -0
- package/dist/pptx/render/chart-combo-stock.mjs +1 -0
- package/dist/pptx/render/chart-overlays.cjs +1 -0
- package/dist/pptx/render/chart-overlays.mjs +1 -0
- package/dist/pptx/render/chart-surface-treemap.cjs +1 -0
- package/dist/pptx/render/chart-surface-treemap.mjs +1 -0
- package/dist/pptx/render/chart-view-model.cjs +1 -0
- package/dist/pptx/render/chart-view-model.mjs +1 -0
- package/dist/pptx/render/chart-waterfall-map.cjs +1 -0
- package/dist/pptx/render/chart-waterfall-map.mjs +1 -0
- package/dist/pptx/render/content-part-strokes.cjs +1 -0
- package/dist/pptx/render/content-part-strokes.mjs +1 -0
- package/dist/pptx/render/context-menu-target.cjs +1 -0
- package/dist/pptx/render/context-menu-target.mjs +1 -0
- package/dist/pptx/render/custom-fonts.cjs +1 -0
- package/dist/pptx/render/custom-fonts.mjs +1 -0
- package/dist/pptx/render/customization/customization-resolve.d.ts +1 -0
- package/dist/pptx/render/customization/customization-resolve.d.ts.map +1 -1
- package/dist/pptx/render/customization/customization-types.d.ts +4 -0
- package/dist/pptx/render/customization/customization-types.d.ts.map +1 -1
- package/dist/pptx/render/customization/index.d.ts +1 -0
- package/dist/pptx/render/customization/index.d.ts.map +1 -1
- package/dist/pptx/render/customization/inspector-customization.d.ts +6 -0
- package/dist/pptx/render/customization/inspector-customization.d.ts.map +1 -0
- package/dist/pptx/render/customization/ribbon-control-visibility.d.ts +0 -20
- package/dist/pptx/render/customization/ribbon-control-visibility.d.ts.map +1 -1
- package/dist/pptx/render/element-hit-test.cjs +1 -0
- package/dist/pptx/render/element-hit-test.mjs +1 -0
- package/dist/pptx/render/font-catalog.cjs +1 -0
- package/dist/pptx/render/font-catalog.mjs +1 -0
- package/dist/pptx/render/font-family-update.d.ts +1 -44
- package/dist/pptx/render/font-family-update.d.ts.map +1 -1
- package/dist/pptx/render/format-painter.cjs +7 -6
- package/dist/pptx/render/format-painter.mjs +4 -3
- package/dist/pptx/render/hyperlink-security.cjs +1 -0
- package/dist/pptx/render/hyperlink-security.mjs +1 -0
- package/dist/pptx/render/image-file-insertion.cjs +1 -0
- package/dist/pptx/render/image-file-insertion.mjs +1 -0
- package/dist/pptx/render/ink-rendering.cjs +1 -0
- package/dist/pptx/render/ink-rendering.mjs +1 -0
- package/dist/pptx/render/inspector-helpers.cjs +15 -14
- package/dist/pptx/render/inspector-helpers.d.ts.map +1 -1
- package/dist/pptx/render/inspector-helpers.mjs +3 -2
- package/dist/pptx/render/layout-gallery.cjs +1 -0
- package/dist/pptx/render/layout-gallery.mjs +1 -0
- package/dist/pptx/render/layout-preview.cjs +1 -0
- package/dist/pptx/render/layout-preview.mjs +1 -0
- package/dist/pptx/render/model3d-scene.cjs +1 -0
- package/dist/pptx/render/model3d-scene.mjs +1 -0
- package/dist/pptx/render/paragraph-geometry-overrides.d.ts +1 -33
- package/dist/pptx/render/paragraph-geometry-overrides.d.ts.map +1 -1
- package/dist/pptx/render/paragraph-spacing.d.ts +2 -0
- package/dist/pptx/render/paragraph-spacing.d.ts.map +1 -1
- package/dist/pptx/render/presentation-print-settings.cjs +1 -0
- package/dist/pptx/render/presentation-print-settings.mjs +1 -0
- package/dist/pptx/render/remap-text.cjs +1 -0
- package/dist/pptx/render/remap-text.mjs +1 -0
- package/dist/pptx/render/ribbon-animations-state.cjs +1 -0
- package/dist/pptx/render/ribbon-animations-state.mjs +1 -0
- package/dist/pptx/render/selection-format-state.d.ts +3 -5
- package/dist/pptx/render/selection-format-state.d.ts.map +1 -1
- package/dist/pptx/render/text-case-transform.cjs +1 -0
- package/dist/pptx/render/text-case-transform.mjs +1 -0
- package/dist/pptx/render/text-paragraphs.d.ts.map +1 -1
- package/dist/pptx/render/text-style-scope.d.ts +1 -87
- package/dist/pptx/render/text-style-scope.d.ts.map +1 -1
- package/dist/pptx/render/text-style-update.d.ts.map +1 -1
- package/dist/pptx/render/update-text-segment-style.d.ts +1 -11
- package/dist/pptx/render/update-text-segment-style.d.ts.map +1 -1
- package/dist/pptx/render/viewer-root-options.d.ts +2 -0
- package/dist/pptx/render/viewer-root-options.d.ts.map +1 -1
- package/dist/pptx/theme/index.cjs +1 -0
- package/dist/pptx/theme/index.mjs +1 -0
- package/dist/pptx/{view-scene-GHBN7QMR.mjs → view-scene-BSTOVMHA.mjs} +1 -0
- package/dist/pptx/{view-scene-4ZFUCP6S.cjs → view-scene-CKYHS2OP.cjs} +1 -0
- package/dist/pptx/web-components/ribbon-home-controls.d.ts.map +1 -1
- package/dist/pptx/web-components/title-bar.d.ts.map +1 -1
- package/dist/teams.js +2 -2
- package/dist/visio/viewer-field-choice.d.ts +7 -0
- package/dist/visio.js +94 -9
- package/dist/xlsx/dialogs/help-dialogs.d.ts +2 -2
- package/dist/xlsx/dialogs/pivot-page-filter.d.ts +9 -0
- package/dist/xlsx.js +97 -12
- package/package.json +5 -5
- package/dist/pptx/chunk-EYPNQ3FG.cjs +0 -59
- package/dist/pptx/chunk-FFIYFHBO.mjs +0 -55
- package/dist/pptx/chunk-JRCK6CFI.cjs +0 -373
- package/dist/pptx/chunk-WFEN6SHA.mjs +0 -295
package/custom-elements.json
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
2
|
+
import { TEAMS_TAGS, registerTeams } from './chunk-JZP5L2AZ.js';
|
|
3
3
|
import { installOfficeUiTheme } from './chunk-S6ZXU442.js';
|
|
4
|
-
import { registerControls } from './chunk-
|
|
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-
|
|
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-
|
|
2
|
-
export { RIBBON_ADD_IN_EVENT } from './chunk-
|
|
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-
|
|
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';
|
package/dist/form/select.d.ts
CHANGED
|
@@ -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
|
|
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-
|
|
2
|
-
export { RIBBON_ADD_IN_EVENT, defineRibbonAddInElements, syncRibbonAddIns } from './chunk-
|
|
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-
|
|
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-
|
|
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';
|
package/dist/pptx/ai/index.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
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 =
|
|
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 ??
|
|
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) =>
|
|
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
|
|
2517
|
+
get: function () { return chunkG2LGZNTI_cjs.createChatHistoryStore; }
|
|
2517
2518
|
});
|
|
2518
2519
|
Object.defineProperty(exports, "mergeTableElements", {
|
|
2519
2520
|
enumerable: true,
|
package/dist/pptx/ai/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { createChatHistoryStore } from '../chunk-
|
|
2
|
-
export { createChatHistoryStore } from '../chunk-
|
|
3
|
-
import { updateTextSegmentStyle } from '../chunk-
|
|
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 = {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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(
|
|
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");
|
|
@@ -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 };
|