ooxml-core 1.0.0 → 1.1.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/dist/{PptxHandler-G63S6YZU.mjs → PptxHandler-75LOVF7I.mjs} +2 -2
- package/dist/automation/index.cjs +2559 -1169
- package/dist/automation/index.mjs +2559 -1169
- package/dist/chart/gradient-definition.d.ts +2 -2
- package/dist/chart/gradient-definition.d.ts.map +1 -1
- package/dist/chart/index.cjs +7 -7
- package/dist/chart/index.mjs +7 -7
- package/dist/{chunk-BICQYRPW.mjs → chunk-75LA7H3F.mjs} +1339 -1435
- package/dist/{chunk-CKJSWE7N.mjs → chunk-LA7D6ZYQ.mjs} +244 -115
- package/dist/{chunk-ROM5MZ7O.mjs → chunk-OMGH6IKY.mjs} +3 -3
- package/dist/{chunk-RWXFQJVF.mjs → chunk-Q27H4HFS.mjs} +1 -1
- package/dist/{chunk-DDG5HTGX.mjs → chunk-RFX7AJDZ.mjs} +1 -1
- package/dist/crypto/index.cjs +1406 -184
- package/dist/crypto/index.mjs +1406 -184
- package/dist/diagram/dom.d.ts +1 -14
- package/dist/diagram/dom.d.ts.map +1 -1
- package/dist/diagram/index.cjs +15 -15
- package/dist/diagram/index.d.ts +12 -12
- package/dist/diagram/index.d.ts.map +1 -1
- package/dist/diagram/index.mjs +15 -15
- package/dist/diagram/types.d.ts +12 -148
- package/dist/diagram/types.d.ts.map +1 -1
- package/dist/digest/algorithm-names.d.ts +2 -2
- package/dist/digest/algorithm-names.d.ts.map +1 -1
- package/dist/digest/bit-ops.d.ts +30 -0
- package/dist/digest/bit-ops.d.ts.map +1 -0
- package/dist/digest/digest.d.ts +2 -2
- package/dist/digest/digest.d.ts.map +1 -1
- package/dist/digest/index.cjs +1319 -90
- package/dist/digest/index.d.ts +7 -1
- package/dist/digest/index.d.ts.map +1 -1
- package/dist/digest/index.mjs +1313 -91
- package/dist/digest/md2.d.ts +22 -0
- package/dist/digest/md2.d.ts.map +1 -0
- package/dist/digest/md4.d.ts +3 -0
- package/dist/digest/md4.d.ts.map +1 -0
- package/dist/digest/md5.d.ts +3 -0
- package/dist/digest/md5.d.ts.map +1 -0
- package/dist/digest/password-hash.d.ts +7 -0
- package/dist/digest/password-hash.d.ts.map +1 -1
- package/dist/digest/ripemd-functions.d.ts +18 -0
- package/dist/digest/ripemd-functions.d.ts.map +1 -0
- package/dist/digest/ripemd128.d.ts +3 -0
- package/dist/digest/ripemd128.d.ts.map +1 -0
- package/dist/digest/ripemd160.d.ts +3 -0
- package/dist/digest/ripemd160.d.ts.map +1 -0
- package/dist/digest/whirlpool-sbox.d.ts +15 -0
- package/dist/digest/whirlpool-sbox.d.ts.map +1 -0
- package/dist/digest/whirlpool-table.d.ts +12 -0
- package/dist/digest/whirlpool-table.d.ts.map +1 -0
- package/dist/digest/whirlpool.d.ts +3 -0
- package/dist/digest/whirlpool.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/diagram-theme.d.ts +3 -3
- package/dist/docx/diagram-theme.d.ts.map +1 -1
- package/dist/docx/embedded.cjs +470 -276
- package/dist/docx/embedded.mjs +470 -276
- package/dist/docx/field-flags.d.ts +8 -0
- package/dist/docx/field-flags.d.ts.map +1 -0
- package/dist/docx/field-lock.d.ts +6 -0
- package/dist/docx/field-lock.d.ts.map +1 -0
- package/dist/docx/field-runs.d.ts +4 -1
- package/dist/docx/field-runs.d.ts.map +1 -1
- package/dist/docx/index.cjs +1029 -850
- package/dist/docx/index.d.ts +2 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +1027 -850
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/index.cjs +61 -47
- package/dist/docx/layout/index.mjs +61 -47
- package/dist/docx/layout/page-fields.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +1883 -467
- package/dist/docx/load/index.mjs +1883 -467
- package/dist/docx/model-run.d.ts +5 -0
- package/dist/docx/model-run.d.ts.map +1 -1
- package/dist/docx/numbering-model.d.ts +1 -1
- package/dist/docx/numbering-model.d.ts.map +1 -1
- package/dist/docx/numbering-package.d.ts +4 -4
- package/dist/docx/numbering-package.d.ts.map +1 -1
- package/dist/docx/numbering-start-edit.d.ts +8 -0
- package/dist/docx/numbering-start-edit.d.ts.map +1 -0
- package/dist/docx/numbering-start-patch.d.ts +13 -0
- package/dist/docx/numbering-start-patch.d.ts.map +1 -0
- package/dist/docx/theme-color.d.ts.map +1 -1
- package/dist/docx/theme-model.d.ts +3 -2
- package/dist/docx/theme-model.d.ts.map +1 -1
- package/dist/docx/theme.d.ts +5 -1
- package/dist/docx/theme.d.ts.map +1 -1
- package/dist/docx/ui/field-guard.d.ts +2 -0
- package/dist/docx/ui/field-guard.d.ts.map +1 -1
- package/dist/docx/ui/field-results.d.ts.map +1 -1
- package/dist/docx/ui/index.cjs +547 -375
- package/dist/docx/ui/index.mjs +547 -376
- package/dist/docx/ui/review-commands.d.ts.map +1 -1
- package/dist/docx/ui/run-extra-mark.d.ts +1 -1
- package/dist/docx/ui/run-extra-mark.d.ts.map +1 -1
- package/dist/docx/ui/simple-field-input.d.ts +3 -0
- package/dist/docx/ui/simple-field-input.d.ts.map +1 -1
- package/dist/docx/ui/track-changes-mode.d.ts.map +1 -1
- package/dist/docx/ui/track-paragraph-boundaries.d.ts +5 -0
- package/dist/docx/ui/track-paragraph-boundaries.d.ts.map +1 -0
- package/dist/docx/write-inline.d.ts.map +1 -1
- package/dist/docx/write-run.d.ts.map +1 -1
- package/dist/drawingml/dom.d.ts +15 -0
- package/dist/drawingml/dom.d.ts.map +1 -0
- package/dist/drawingml/drawing-color-brightness.d.ts +6 -0
- package/dist/drawingml/drawing-color-brightness.d.ts.map +1 -0
- package/dist/drawingml/drawing-color-css.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/drawing-color.d.ts +5 -5
- package/dist/drawingml/drawing-color.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/drawing-fill.d.ts +3 -3
- package/dist/drawingml/drawing-fill.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/drawing-geometry.d.ts +4 -4
- package/dist/drawingml/drawing-geometry.d.ts.map +1 -0
- package/dist/drawingml/drawing-shadow.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/drawing-text.d.ts +2 -2
- package/dist/drawingml/drawing-text.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/gradient-geometry.d.ts +2 -2
- package/dist/drawingml/gradient-geometry.d.ts.map +1 -0
- package/dist/drawingml/gradient-preset-data.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/gradient-presets.d.ts +3 -3
- package/dist/drawingml/gradient-presets.d.ts.map +1 -0
- package/dist/drawingml/index.cjs +1545 -0
- package/dist/drawingml/index.d.ts +19 -0
- package/dist/drawingml/index.d.ts.map +1 -0
- package/dist/drawingml/index.mjs +1497 -0
- package/dist/{diagram → drawingml}/ordered-color-transforms.d.ts +2 -2
- package/dist/drawingml/ordered-color-transforms.d.ts.map +1 -0
- package/dist/drawingml/rect-path-gradient.d.ts.map +1 -0
- package/dist/drawingml/theme-color.d.ts +19 -0
- package/dist/drawingml/theme-color.d.ts.map +1 -0
- package/dist/drawingml/theme-model.d.ts +40 -0
- package/dist/drawingml/theme-model.d.ts.map +1 -0
- package/dist/drawingml/theme.d.ts +21 -0
- package/dist/drawingml/theme.d.ts.map +1 -0
- package/dist/drawingml/types.d.ts +152 -0
- package/dist/drawingml/types.d.ts.map +1 -0
- package/dist/drawingml/write-color.d.ts +4 -0
- package/dist/drawingml/write-color.d.ts.map +1 -0
- package/dist/{diagram → drawingml}/write-fill.d.ts +2 -2
- package/dist/drawingml/write-fill.d.ts.map +1 -0
- package/dist/geometry/connector-elbow-geometry.d.ts +14 -0
- package/dist/geometry/connector-elbow-geometry.d.ts.map +1 -1
- package/dist/geometry/index.cjs +43 -0
- package/dist/geometry/index.mjs +42 -1
- package/dist/i18n/dictionary.d.ts +13 -0
- package/dist/i18n/dictionary.d.ts.map +1 -0
- package/dist/i18n/index.cjs +68 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.mjs +60 -0
- package/dist/i18n/locale.d.ts +17 -0
- package/dist/i18n/locale.d.ts.map +1 -0
- package/dist/i18n/translator.d.ts +18 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/index.cjs +3712 -2178
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +3711 -2179
- package/dist/pptx/automation/index.cjs +2852 -1568
- package/dist/pptx/automation/index.d.ts +3 -3
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/chunks/{index-C4mfzVoY.d.ts → index-BHqL5KXH.d.ts} +2 -2
- package/dist/pptx/chunks/{index-C4mfzVoY.d.ts.map → index-BHqL5KXH.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-lk7dyOPS.d.ts → index-BYkdcS8J.d.ts} +12 -16
- package/dist/pptx/chunks/index-BYkdcS8J.d.ts.map +1 -0
- package/dist/pptx/chunks/smart-art-CO2jmJFf.d.ts.map +1 -1
- package/dist/pptx/chunks/{text-operations-CDLx4hD5.d.ts → text-operations-DEJ7alZR.d.ts} +2 -2
- package/dist/pptx/chunks/text-operations-DEJ7alZR.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +2680 -1396
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/index.cjs +1771 -1756
- package/dist/pptx/index.d.ts +3 -3
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/index.cjs +144 -74
- package/dist/teams/index.mjs +144 -74
- package/dist/visio/ui/index.cjs +14 -3
- package/dist/visio/ui/index.mjs +14 -3
- package/dist/visio/ui/shape-rotation.d.ts +1 -1
- package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-series-gradient.d.ts +1 -1
- package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
- package/dist/xlsx/edit/protection.d.ts +1 -1
- package/dist/xlsx/index.cjs +3222 -1886
- package/dist/xlsx/index.mjs +3222 -1886
- package/dist/xlsx/layout/chart-appearance.d.ts +1 -1
- package/dist/xlsx/layout/chart-appearance.d.ts.map +1 -1
- package/dist/xlsx/layout/chart-scale.d.ts +5 -1
- package/dist/xlsx/layout/chart-scale.d.ts.map +1 -1
- package/dist/xlsx/layout/chart-svg-legend.d.ts +13 -0
- package/dist/xlsx/layout/chart-svg-legend.d.ts.map +1 -0
- package/dist/xlsx/layout/chart-svg.d.ts.map +1 -1
- package/dist/xlsx/layout/chart-view.d.ts +3 -1
- package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
- package/dist/xlsx/load/index.cjs +2110 -838
- package/dist/xlsx/load/index.mjs +2110 -838
- package/dist/xlsx/read/theme.d.ts +2 -4
- package/dist/xlsx/read/theme.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +2017 -771
- package/dist/xlsx/ui/index.mjs +2017 -771
- package/dist/xlsx/ui/locales/merge.d.ts +2 -1
- package/dist/xlsx/ui/locales/merge.d.ts.map +1 -1
- package/dist/xlsx/ui/localization.d.ts.map +1 -1
- package/dist/xlsx/write/theme.d.ts.map +1 -1
- package/package.json +11 -1
- package/dist/diagram/drawing-color-brightness.d.ts +0 -6
- package/dist/diagram/drawing-color-brightness.d.ts.map +0 -1
- package/dist/diagram/drawing-color-css.d.ts.map +0 -1
- package/dist/diagram/drawing-color.d.ts.map +0 -1
- package/dist/diagram/drawing-fill.d.ts.map +0 -1
- package/dist/diagram/drawing-geometry.d.ts.map +0 -1
- package/dist/diagram/drawing-shadow.d.ts.map +0 -1
- package/dist/diagram/drawing-text.d.ts.map +0 -1
- package/dist/diagram/gradient-geometry.d.ts.map +0 -1
- package/dist/diagram/gradient-preset-data.d.ts.map +0 -1
- package/dist/diagram/gradient-presets.d.ts.map +0 -1
- package/dist/diagram/ordered-color-transforms.d.ts.map +0 -1
- package/dist/diagram/rect-path-gradient.d.ts.map +0 -1
- package/dist/diagram/write-color.d.ts +0 -4
- package/dist/diagram/write-color.d.ts.map +0 -1
- package/dist/diagram/write-fill.d.ts.map +0 -1
- package/dist/pptx/chunks/index-lk7dyOPS.d.ts.map +0 -1
- package/dist/pptx/chunks/text-operations-CDLx4hD5.d.ts.map +0 -1
- /package/dist/{diagram → drawingml}/drawing-color-css.d.ts +0 -0
- /package/dist/{diagram → drawingml}/drawing-shadow.d.ts +0 -0
- /package/dist/{diagram → drawingml}/gradient-preset-data.d.ts +0 -0
- /package/dist/{diagram → drawingml}/rect-path-gradient.d.ts +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DrawingColor } from './types.js';
|
|
2
2
|
/** Apply transforms in document order, keeping fractional channels until the final quantization. */
|
|
3
3
|
export declare function orderedColorTransforms(channels: {
|
|
4
4
|
r: number;
|
|
5
5
|
g: number;
|
|
6
6
|
b: number;
|
|
7
|
-
}, transforms:
|
|
7
|
+
}, transforms: DrawingColor['transforms']): {
|
|
8
8
|
r: number;
|
|
9
9
|
g: number;
|
|
10
10
|
b: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ordered-color-transforms.d.ts","sourceRoot":"","sources":["../../drawingml/ordered-color-transforms.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,oGAAoG;AACpG,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,GACpC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgDpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rect-path-gradient.d.ts","sourceRoot":"","sources":["../../drawingml/rect-path-gradient.ts"],"names":[],"mappings":"AA6CA,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uFAAuF;AACvF,MAAM,WAAW,0BAA0B;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,0DAA0D;AAC1D,MAAM,WAAW,0BAA0B;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA6HD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,UAAU,CAAC,EAAE,0BAA0B,EACvC,UAAU,CAAC,EAAE,0BAA0B,EACvC,OAAO,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD,MAAM,CA6CR;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,UAAU,CAAC,EAAE,0BAA0B,EACvC,UAAU,CAAC,EAAE,0BAA0B,GACrC,MAAM,CAGR"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DrawingColorTheme } from './drawing-color.js';
|
|
2
|
+
import { type ThemeColorMap, type ThemeColorScheme, type ThemeColorSlot } from './theme-model.js';
|
|
3
|
+
import type { DrawingColor } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* The scheme slot a scheme colour name uses. `bg1`/`tx1`/`bg2`/`tx2` go through `colorMap`,
|
|
6
|
+
* falling back to the conventional mapping; slot names (`dk1`, `accent3`) stand for themselves
|
|
7
|
+
* unless the map reassigns them; anything else (`phClr`) has no slot.
|
|
8
|
+
*/
|
|
9
|
+
export declare function themeColorSlotFor(name: string, colorMap?: ThemeColorMap): ThemeColorSlot | undefined;
|
|
10
|
+
/** The colour of a scheme name, through the colour map; `undefined` when the scheme lacks it. */
|
|
11
|
+
export declare function resolveSchemeColor(scheme: ThemeColorScheme, name: string, colorMap?: ThemeColorMap): DrawingColor | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* The `RRGGBB` (upper case, no `#`) a scheme slot colour stands for: an `srgbClr` value or a
|
|
14
|
+
* `sysClr`'s `lastClr`. Other kinds are not plain values in a scheme and give `undefined`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function themeSlotHex(color: DrawingColor | undefined): string | undefined;
|
|
17
|
+
/** A `DrawingColorTheme` (`#RRGGBB` per scheme name) over a colour scheme and optional colour map. */
|
|
18
|
+
export declare function themeDrawingColorTheme(scheme: ThemeColorScheme | undefined, colorMap?: ThemeColorMap): DrawingColorTheme;
|
|
19
|
+
//# sourceMappingURL=theme-color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-color.d.ts","sourceRoot":"","sources":["../../drawingml/theme-color.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAM5C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,aAAkB,GAC1B,cAAc,GAAG,SAAS,CAK5B;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,aAAa,GACtB,YAAY,GAAG,SAAS,CAG1B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,QAAQ,CAAC,EAAE,aAAa,GACtB,iBAAiB,CAOnB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DrawingColor } from './types.js';
|
|
2
|
+
/** The twelve `a:clrScheme` slots, in schema order. */
|
|
3
|
+
export type ThemeColorSlot = 'dk1' | 'lt1' | 'dk2' | 'lt2' | 'accent1' | 'accent2' | 'accent3' | 'accent4' | 'accent5' | 'accent6' | 'hlink' | 'folHlink';
|
|
4
|
+
/** The colour scheme slots in schema order. */
|
|
5
|
+
export declare const THEME_COLOR_SLOTS: readonly ThemeColorSlot[];
|
|
6
|
+
/** The four logical background and text names. */
|
|
7
|
+
export type ThemeLogicalColor = 'bg1' | 'tx1' | 'bg2' | 'tx2';
|
|
8
|
+
/** The names a colour map (`p:clrMap`, `a:overrideClrMapping`) assigns to scheme slots. */
|
|
9
|
+
export type ThemeColorMapKey = ThemeLogicalColor | Exclude<ThemeColorSlot, 'dk1' | 'lt1' | 'dk2' | 'lt2'>;
|
|
10
|
+
/** A colour map: which scheme slot each name uses. Missing keys use `DEFAULT_THEME_COLOR_MAP`. */
|
|
11
|
+
export type ThemeColorMap = Partial<Record<ThemeColorMapKey, ThemeColorSlot>>;
|
|
12
|
+
/** The conventional mapping (light background, dark text) every Office default master uses. */
|
|
13
|
+
export declare const DEFAULT_THEME_COLOR_MAP: Readonly<Record<ThemeLogicalColor, ThemeColorSlot>>;
|
|
14
|
+
/** A parsed `a:clrScheme`. Colours stay as written (a `sysClr` keeps its `lastClr` as `fallback`). */
|
|
15
|
+
export interface ThemeColorScheme {
|
|
16
|
+
name?: string;
|
|
17
|
+
colors: Partial<Record<ThemeColorSlot, DrawingColor>>;
|
|
18
|
+
}
|
|
19
|
+
/** One `a:majorFont` or `a:minorFont`. Empty typefaces are omitted. */
|
|
20
|
+
export interface ThemeFontCollection {
|
|
21
|
+
latin?: string;
|
|
22
|
+
eastAsia?: string;
|
|
23
|
+
complexScript?: string;
|
|
24
|
+
/** `a:font` overrides by script tag (`Jpan`, `Arab`...). */
|
|
25
|
+
scripts: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
/** A parsed `a:fontScheme`. */
|
|
28
|
+
export interface ThemeFontScheme {
|
|
29
|
+
name?: string;
|
|
30
|
+
major: ThemeFontCollection;
|
|
31
|
+
minor: ThemeFontCollection;
|
|
32
|
+
}
|
|
33
|
+
/** A parsed `a:theme` (or `a:themeOverride`): the parts every format shares. */
|
|
34
|
+
export interface DrawingTheme {
|
|
35
|
+
/** `a:theme/@name`. */
|
|
36
|
+
name?: string;
|
|
37
|
+
colorScheme: ThemeColorScheme;
|
|
38
|
+
fontScheme: ThemeFontScheme;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=theme-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-model.d.ts","sourceRoot":"","sources":["../../drawingml/theme-model.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,uDAAuD;AACvD,MAAM,MAAM,cAAc,GACvB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,UAAU,CAAC;AAEd,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAatD,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9D,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GACzB,iBAAiB,GACjB,OAAO,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE1D,kGAAkG;AAClG,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;AAE9E,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAKvF,CAAC;AAEF,sGAAsG;AACtG,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;CACtD;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC5B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;CAC5B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type XmlDocument, type XmlElement } from '../xml/index.js';
|
|
2
|
+
import { type DrawingTheme, type ThemeColorMap, type ThemeColorScheme, type ThemeColorSlot, type ThemeFontScheme } from './theme-model.js';
|
|
3
|
+
/** Whether `value` names one of the twelve colour scheme slots. */
|
|
4
|
+
export declare function isThemeColorSlot(value: string): value is ThemeColorSlot;
|
|
5
|
+
/** Reads an `a:clrScheme`. */
|
|
6
|
+
export declare function parseThemeColorScheme(scheme: XmlElement | undefined): ThemeColorScheme;
|
|
7
|
+
/** Reads an `a:fontScheme`. */
|
|
8
|
+
export declare function parseThemeFontScheme(scheme: XmlElement | undefined): ThemeFontScheme;
|
|
9
|
+
/**
|
|
10
|
+
* Reads a theme part: `a:theme` (schemes under `a:themeElements`) or `a:themeOverride` (schemes
|
|
11
|
+
* directly under the root). Missing schemes give empty ones; nothing is defaulted.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseTheme(source: XmlDocument | XmlElement): DrawingTheme;
|
|
14
|
+
/** Parses theme part text; `label` names the format in parse errors (`XLSX theme`). */
|
|
15
|
+
export declare function parseThemeXml(xml: string, label?: string): DrawingTheme;
|
|
16
|
+
/**
|
|
17
|
+
* Reads a colour map element (`p:clrMap`, `a:overrideClrMapping`): each name to the scheme slot
|
|
18
|
+
* it uses. Unknown names and slots are skipped.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseThemeColorMap(element: XmlElement | undefined): ThemeColorMap;
|
|
21
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../drawingml/theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhG,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,aAAa,EAElB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,eAAe,EACpB,MAAM,eAAe,CAAC;AAkBvB,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAMD,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAUtF;AAsBD,+BAA+B;AAC/B,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,eAAe,CAQpF;AAMD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,CAUzE;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAoB,GAAG,YAAY,CAElF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,CAQjF"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/** Reads one attribute by local name; `undefined` when absent. Lets one parser serve a DOM element and an object tree. */
|
|
2
|
+
export type AttributeReader = (name: string) => string | undefined;
|
|
3
|
+
/** A theme-independent DrawingML colour as written in a part. */
|
|
4
|
+
export interface DrawingColor {
|
|
5
|
+
kind: 'srgb' | 'scheme' | 'system' | 'preset' | 'scrgb' | 'hsl';
|
|
6
|
+
/** Hex for `srgb`, the scheme/preset/system name, or the serialized channels for `scrgb`/`hsl`. */
|
|
7
|
+
value: string;
|
|
8
|
+
/** Colour transforms in document order (`alpha`, `lumMod`, `shade`...), raw attribute values. */
|
|
9
|
+
transforms: {
|
|
10
|
+
name: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[];
|
|
13
|
+
/** `lastClr` of a system colour: the value the producer saw. */
|
|
14
|
+
fallback?: string;
|
|
15
|
+
}
|
|
16
|
+
/** A DrawingML fill (`a:noFill`, `a:solidFill`, `a:gradFill`, `a:pattFill`, `a:blipFill`). */
|
|
17
|
+
export type DrawingFill = {
|
|
18
|
+
kind: 'none';
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'solid';
|
|
21
|
+
color: DrawingColor;
|
|
22
|
+
} | {
|
|
23
|
+
kind: 'gradient';
|
|
24
|
+
/** Original gradient XML, retaining flags and unsupported properties for editing. */
|
|
25
|
+
sourceXml?: string;
|
|
26
|
+
stops: {
|
|
27
|
+
position: number;
|
|
28
|
+
color: DrawingColor;
|
|
29
|
+
}[];
|
|
30
|
+
/** Linear angle in degrees, when `a:lin` is present. */
|
|
31
|
+
angle?: number;
|
|
32
|
+
/** Whether the linear vector scales with the shape's bounding box. */
|
|
33
|
+
scaled?: boolean;
|
|
34
|
+
path?: string;
|
|
35
|
+
/** DrawingML path-gradient focus rectangle, as fractions of the shape box. */
|
|
36
|
+
fillToRect?: {
|
|
37
|
+
l: number;
|
|
38
|
+
t: number;
|
|
39
|
+
r: number;
|
|
40
|
+
b: number;
|
|
41
|
+
};
|
|
42
|
+
/** Gradient tile insets; corner directions can extend beyond the shape box. */
|
|
43
|
+
tileRect?: {
|
|
44
|
+
l: number;
|
|
45
|
+
t: number;
|
|
46
|
+
r: number;
|
|
47
|
+
b: number;
|
|
48
|
+
};
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'pattern';
|
|
51
|
+
preset: string;
|
|
52
|
+
foreground?: DrawingColor;
|
|
53
|
+
background?: DrawingColor;
|
|
54
|
+
} | {
|
|
55
|
+
kind: 'picture';
|
|
56
|
+
relId?: string;
|
|
57
|
+
} | {
|
|
58
|
+
kind: 'unsupported';
|
|
59
|
+
element: string;
|
|
60
|
+
};
|
|
61
|
+
/** A DrawingML outline (`a:ln`). */
|
|
62
|
+
export interface DrawingLine {
|
|
63
|
+
/** Width in EMU. */
|
|
64
|
+
widthEmu?: number;
|
|
65
|
+
fill?: DrawingFill;
|
|
66
|
+
dash?: string;
|
|
67
|
+
cap?: string;
|
|
68
|
+
}
|
|
69
|
+
/** One run of a DrawingML text body. */
|
|
70
|
+
export interface DrawingTextRun {
|
|
71
|
+
text: string;
|
|
72
|
+
/** Font size in points. */
|
|
73
|
+
sizePt?: number;
|
|
74
|
+
bold?: boolean;
|
|
75
|
+
italic?: boolean;
|
|
76
|
+
underline?: boolean;
|
|
77
|
+
color?: DrawingColor;
|
|
78
|
+
typeface?: string;
|
|
79
|
+
}
|
|
80
|
+
/** DrawingML spacing, retaining absolute points or a fractional percentage. */
|
|
81
|
+
export interface DrawingTextSpacing {
|
|
82
|
+
unit: 'points' | 'percent';
|
|
83
|
+
value: number;
|
|
84
|
+
}
|
|
85
|
+
export interface DrawingTextParagraph {
|
|
86
|
+
/** Paragraph default run properties, inherited by individual runs. */
|
|
87
|
+
defaultProperties?: Omit<DrawingTextRun, 'text'>;
|
|
88
|
+
/** `l`, `ctr`, `r`, `just`... */
|
|
89
|
+
align?: string;
|
|
90
|
+
lineSpacing?: DrawingTextSpacing;
|
|
91
|
+
spaceBefore?: DrawingTextSpacing;
|
|
92
|
+
spaceAfter?: DrawingTextSpacing;
|
|
93
|
+
runs: DrawingTextRun[];
|
|
94
|
+
}
|
|
95
|
+
/** A DrawingML text body (`a:txBody`, `dsp:txBody`, `c:txPr`...). */
|
|
96
|
+
export interface DrawingTextBody {
|
|
97
|
+
/** `t`, `ctr`, `b`... */
|
|
98
|
+
anchor?: string;
|
|
99
|
+
/** Insets in EMU: left, top, right, bottom. */
|
|
100
|
+
insetsEmu?: {
|
|
101
|
+
left?: number;
|
|
102
|
+
top?: number;
|
|
103
|
+
right?: number;
|
|
104
|
+
bottom?: number;
|
|
105
|
+
};
|
|
106
|
+
paragraphs: DrawingTextParagraph[];
|
|
107
|
+
/** Paragraph texts joined by a newline. */
|
|
108
|
+
text: string;
|
|
109
|
+
}
|
|
110
|
+
/** Position and size in EMU. */
|
|
111
|
+
export interface DrawingFrame {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
width: number;
|
|
115
|
+
height: number;
|
|
116
|
+
}
|
|
117
|
+
export type DrawingPathCommand = {
|
|
118
|
+
op: 'M' | 'L';
|
|
119
|
+
x: number;
|
|
120
|
+
y: number;
|
|
121
|
+
} | {
|
|
122
|
+
op: 'C';
|
|
123
|
+
x1: number;
|
|
124
|
+
y1: number;
|
|
125
|
+
x2: number;
|
|
126
|
+
y2: number;
|
|
127
|
+
x: number;
|
|
128
|
+
y: number;
|
|
129
|
+
} | {
|
|
130
|
+
op: 'Q';
|
|
131
|
+
x1: number;
|
|
132
|
+
y1: number;
|
|
133
|
+
x: number;
|
|
134
|
+
y: number;
|
|
135
|
+
} | {
|
|
136
|
+
op: 'A';
|
|
137
|
+
wR: number;
|
|
138
|
+
hR: number;
|
|
139
|
+
startAngle: number;
|
|
140
|
+
swingAngle: number;
|
|
141
|
+
} | {
|
|
142
|
+
op: 'Z';
|
|
143
|
+
};
|
|
144
|
+
/** One `a:path` of a custom geometry, in the path's own coordinate space. */
|
|
145
|
+
export interface DrawingPath {
|
|
146
|
+
width?: number;
|
|
147
|
+
height?: number;
|
|
148
|
+
fill?: string;
|
|
149
|
+
stroke?: boolean;
|
|
150
|
+
commands: DrawingPathCommand[];
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../drawingml/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-color.d.ts","sourceRoot":"","sources":["../../drawingml/write-color.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAW5C,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAmB3D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type XmlElement } from '../xml/index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { DrawingFill } from './types.js';
|
|
3
3
|
/** Replace only the DrawingML fill, retaining geometry, outlines, effects and extensions. */
|
|
4
4
|
export declare function setDrawingFillXml(properties: XmlElement, xml: string): void;
|
|
5
5
|
/** Serializes modelled DrawingML fills, retaining imported gradient flags and extensions. */
|
|
6
|
-
export declare function drawingFillXml(fill:
|
|
6
|
+
export declare function drawingFillXml(fill: DrawingFill): string | undefined;
|
|
7
7
|
//# sourceMappingURL=write-fill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-fill.d.ts","sourceRoot":"","sources":["../../drawingml/write-fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CA2B3E;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CA+EpE"}
|
|
@@ -38,4 +38,18 @@ export declare function elbowWaypoints(startX: number, startY: number, endX: num
|
|
|
38
38
|
* yields `segments - 1` curve segments.
|
|
39
39
|
*/
|
|
40
40
|
export declare function elbowCurveSegments(startX: number, startY: number, endX: number, endY: number, width: number, height: number, segments: ElbowSegments, adj1: number, adj2: number, adj3: number): ElbowCurveSegment[];
|
|
41
|
+
/**
|
|
42
|
+
* Segment count implied by a lower-cased `bentConnector*` / `curvedConnector*`
|
|
43
|
+
* shape type. Unknown or missing suffixes fall back to `3` (the Z-shape).
|
|
44
|
+
*/
|
|
45
|
+
export declare function elbowSegmentCount(lowerShapeType: string): ElbowSegments;
|
|
46
|
+
/**
|
|
47
|
+
* Render a `segments`-segment elbow as a smooth SVG path: cubic Beziers whose
|
|
48
|
+
* control points sit on the elbow's own corners, so curved connectors get the
|
|
49
|
+
* same horizontal-first routing as {@link elbowWaypoints} without a sharp
|
|
50
|
+
* corner. `3` emits one cubic through the two corner points; `4` and `5`
|
|
51
|
+
* insert one breakpoint per interior corner (halfway along the secondary
|
|
52
|
+
* axis) so the curve bends near the corner instead of overshooting it.
|
|
53
|
+
*/
|
|
54
|
+
export declare function curvedElbowPathD(startX: number, startY: number, endX: number, endY: number, segments: ElbowSegments, adj1: number, adj2: number, adj3: number): string;
|
|
41
55
|
//# sourceMappingURL=connector-elbow-geometry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-elbow-geometry.d.ts","sourceRoot":"","sources":["../../geometry/connector-elbow-geometry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,6BAA6B;AAC7B,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhF;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,UAAU,EAAE,CA6Bd;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,iBAAiB,EAAE,CAkCrB"}
|
|
1
|
+
{"version":3,"file":"connector-elbow-geometry.d.ts","sourceRoot":"","sources":["../../geometry/connector-elbow-geometry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,6BAA6B;AAC7B,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhF;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,UAAU,EAAE,CA6Bd;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,iBAAiB,EAAE,CAkCrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAQvE;AAUD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,MAAM,CA6BR"}
|
package/dist/geometry/index.cjs
CHANGED
|
@@ -905,6 +905,47 @@ function elbowCurveSegments(startX, startY, endX, endY, width, height, segments,
|
|
|
905
905
|
{ control: toXY(mid2, secondaryEnd), end: toXY(primaryEnd, secondaryEnd) }
|
|
906
906
|
];
|
|
907
907
|
}
|
|
908
|
+
function elbowSegmentCount(lowerShapeType) {
|
|
909
|
+
if (lowerShapeType.includes("connector4")) {
|
|
910
|
+
return 4;
|
|
911
|
+
}
|
|
912
|
+
if (lowerShapeType.includes("connector5")) {
|
|
913
|
+
return 5;
|
|
914
|
+
}
|
|
915
|
+
return 3;
|
|
916
|
+
}
|
|
917
|
+
function fmtPoint(p) {
|
|
918
|
+
return `${p[0]},${p[1]}`;
|
|
919
|
+
}
|
|
920
|
+
function cubicTo(control, end) {
|
|
921
|
+
return `C${fmtPoint(control)} ${fmtPoint(control)} ${fmtPoint(end)}`;
|
|
922
|
+
}
|
|
923
|
+
function curvedElbowPathD(startX, startY, endX, endY, segments, adj1, adj2, adj3) {
|
|
924
|
+
const start = [startX, startY];
|
|
925
|
+
const mu1 = startX + (endX - startX) * adj1;
|
|
926
|
+
if (segments === 3) {
|
|
927
|
+
return `M${fmtPoint(start)} C${fmtPoint([mu1, startY])} ${fmtPoint([mu1, endY])} ${fmtPoint([endX, endY])}`;
|
|
928
|
+
}
|
|
929
|
+
const mv = startY + (endY - startY) * adj2;
|
|
930
|
+
const vq1 = startY + (mv - startY) * 0.5;
|
|
931
|
+
if (segments === 4) {
|
|
932
|
+
return [
|
|
933
|
+
`M${fmtPoint(start)}`,
|
|
934
|
+
cubicTo([mu1, startY], [mu1, vq1]),
|
|
935
|
+
cubicTo([mu1, mv], [(mu1 + endX) / 2, mv]),
|
|
936
|
+
cubicTo([endX, mv], [endX, endY])
|
|
937
|
+
].join(" ");
|
|
938
|
+
}
|
|
939
|
+
const mu2 = startX + (endX - startX) * adj3;
|
|
940
|
+
const vq2 = mv + (endY - mv) * 0.5;
|
|
941
|
+
return [
|
|
942
|
+
`M${fmtPoint(start)}`,
|
|
943
|
+
cubicTo([mu1, startY], [mu1, vq1]),
|
|
944
|
+
cubicTo([mu1, mv], [(mu1 + mu2) / 2, mv]),
|
|
945
|
+
cubicTo([mu2, mv], [mu2, vq2]),
|
|
946
|
+
cubicTo([mu2, endY], [endX, endY])
|
|
947
|
+
].join(" ");
|
|
948
|
+
}
|
|
908
949
|
|
|
909
950
|
// geometry/guide-formula-eval.ts
|
|
910
951
|
var ANGLE_SCALE = 6e4;
|
|
@@ -15585,10 +15626,12 @@ exports.convexHull = convexHull;
|
|
|
15585
15626
|
exports.createBuiltinVariables = createBuiltinVariables;
|
|
15586
15627
|
exports.createRotationDrag = createRotationDrag;
|
|
15587
15628
|
exports.cross2 = cross2;
|
|
15629
|
+
exports.curvedElbowPathD = curvedElbowPathD;
|
|
15588
15630
|
exports.cxn = cxn;
|
|
15589
15631
|
exports.dedupPoly = dedupPoly;
|
|
15590
15632
|
exports.distributeElements = distributeElements;
|
|
15591
15633
|
exports.elbowCurveSegments = elbowCurveSegments;
|
|
15634
|
+
exports.elbowSegmentCount = elbowSegmentCount;
|
|
15592
15635
|
exports.elbowWaypoints = elbowWaypoints;
|
|
15593
15636
|
exports.ensureCCW = ensureCCW;
|
|
15594
15637
|
exports.ensureCW = ensureCW;
|
package/dist/geometry/index.mjs
CHANGED
|
@@ -903,6 +903,47 @@ function elbowCurveSegments(startX, startY, endX, endY, width, height, segments,
|
|
|
903
903
|
{ control: toXY(mid2, secondaryEnd), end: toXY(primaryEnd, secondaryEnd) }
|
|
904
904
|
];
|
|
905
905
|
}
|
|
906
|
+
function elbowSegmentCount(lowerShapeType) {
|
|
907
|
+
if (lowerShapeType.includes("connector4")) {
|
|
908
|
+
return 4;
|
|
909
|
+
}
|
|
910
|
+
if (lowerShapeType.includes("connector5")) {
|
|
911
|
+
return 5;
|
|
912
|
+
}
|
|
913
|
+
return 3;
|
|
914
|
+
}
|
|
915
|
+
function fmtPoint(p) {
|
|
916
|
+
return `${p[0]},${p[1]}`;
|
|
917
|
+
}
|
|
918
|
+
function cubicTo(control, end) {
|
|
919
|
+
return `C${fmtPoint(control)} ${fmtPoint(control)} ${fmtPoint(end)}`;
|
|
920
|
+
}
|
|
921
|
+
function curvedElbowPathD(startX, startY, endX, endY, segments, adj1, adj2, adj3) {
|
|
922
|
+
const start = [startX, startY];
|
|
923
|
+
const mu1 = startX + (endX - startX) * adj1;
|
|
924
|
+
if (segments === 3) {
|
|
925
|
+
return `M${fmtPoint(start)} C${fmtPoint([mu1, startY])} ${fmtPoint([mu1, endY])} ${fmtPoint([endX, endY])}`;
|
|
926
|
+
}
|
|
927
|
+
const mv = startY + (endY - startY) * adj2;
|
|
928
|
+
const vq1 = startY + (mv - startY) * 0.5;
|
|
929
|
+
if (segments === 4) {
|
|
930
|
+
return [
|
|
931
|
+
`M${fmtPoint(start)}`,
|
|
932
|
+
cubicTo([mu1, startY], [mu1, vq1]),
|
|
933
|
+
cubicTo([mu1, mv], [(mu1 + endX) / 2, mv]),
|
|
934
|
+
cubicTo([endX, mv], [endX, endY])
|
|
935
|
+
].join(" ");
|
|
936
|
+
}
|
|
937
|
+
const mu2 = startX + (endX - startX) * adj3;
|
|
938
|
+
const vq2 = mv + (endY - mv) * 0.5;
|
|
939
|
+
return [
|
|
940
|
+
`M${fmtPoint(start)}`,
|
|
941
|
+
cubicTo([mu1, startY], [mu1, vq1]),
|
|
942
|
+
cubicTo([mu1, mv], [(mu1 + mu2) / 2, mv]),
|
|
943
|
+
cubicTo([mu2, mv], [mu2, vq2]),
|
|
944
|
+
cubicTo([mu2, endY], [endX, endY])
|
|
945
|
+
].join(" ");
|
|
946
|
+
}
|
|
906
947
|
|
|
907
948
|
// geometry/guide-formula-eval.ts
|
|
908
949
|
var ANGLE_SCALE = 6e4;
|
|
@@ -15498,4 +15539,4 @@ function resolveRotateHandlePlacement(input) {
|
|
|
15498
15539
|
})[0] ?? null;
|
|
15499
15540
|
}
|
|
15500
15541
|
|
|
15501
|
-
export { ACTION_BUTTON_CONNECTION_SITES, ACTION_BUTTON_PRESET_DEFINITIONS, ACTION_BUTTON_TEXT_RECTS, ANGLE_SCALE, ARROW_CALLOUT_CONNECTION_SITES, ARROW_CALLOUT_PRESET_DEFINITIONS, ARROW_CONNECTION_SITES, ARROW_PRESET_DEFINITIONS, ARROW_TEXT_RECTS, BASIC_SHAPE_CONNECTION_SITES_A, BASIC_SHAPE_CONNECTION_SITES_B, BRACE_CONNECTION_SITES, BRACE_TEXT_RECTS, CALLOUT_CONNECTION_SITES, CALLOUT_TEXT_RECTS, CARDINAL_SITES, CHART_MARK_PRESET_DEFINITIONS, CIRCULAR_ARROW_CONNECTION_SITES, CIRCULAR_ARROW_TEXT_RECTS, CLIP_PATHS_CORE, CLIP_PATHS_EXTENDED, CLOUD_CALLOUT_PRESET_DEFINITIONS, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COM_AVLST_GROUND_TRUTH, CONNECTORS_BRACKETS_PRESET_DEFINITIONS, CURVED_ARROWS_CONNECTORS_PRESET_DEFINITIONS, CURVED_ARROW_CONNECTION_SITES, EPSILON, EXACT_CURVED_ARROW_PRESET_DEFINITIONS, EXTENDED_SHAPE_DEFINITIONS, FLOWCHART_CONNECTION_SITES, FLOWCHART_PRESET_DEFINITIONS, FLOWCHART_TEXT_RECTS, GEAR9_CONNECTION_SITES, IDENTITY_AFFINE, LEFT_CIRCULAR_ARROW_CONNECTION_SITES, LEFT_RIGHT_CIRCULAR_ARROW_CONNECTION_SITES, MATH_SYMBOL_CONNECTION_SITES, MISC_ARROW_CONNECTION_SITES, MISC_PRESET_DEFINITIONS, MISC_SHAPE_CONNECTION_SITES, MISC_TEXT_RECTS_A, MISC_TEXT_RECTS_B, POLYGON_CONNECTION_SITES, POLYGON_TEXT_RECTS, PRESET_GEOMETRY_ALIASES, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRIMARY_SHAPE_DEFINITIONS, QUAD_CONNECTION_SITES, QUAD_TEXT_RECTS, RECTS_SNIPS_PRESET_DEFINITIONS, RECT_VARIANT_CONNECTION_SITES, REFINED_ARROW_PRESET_DEFINITIONS, RIBBON_CONNECTION_SITES, RIBBON_TEXT_RECTS, SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS, SNAP_THRESHOLD, STAR_CONNECTION_SITES, STAR_TEXT_RECTS, ST_SHAPE_TYPE_VALUES, TABS_DECORATIONS_PRESET_DEFINITIONS, TAB_CONNECTION_SITES, TAB_TEXT_RECTS, _internalForTests, alignElements, angleToRadians, at, buildCalloutLeaderLineSvgPath, clipPolygons, combineShapes, composeAffine, computeAlign, computeDistribute, computeRotation, computeSnap, computeSnapToShape, computeUnionWalk, convexHull, createBuiltinVariables, createRotationDrag, cross2, cxn, dedupPoly, distributeElements, elbowCurveSegments, elbowWaypoints, ensureCCW, ensureCW, evaluateFormula, evaluateGuides, findAllIntersections, flattenSvgPath, fmtNum, fragmentShapes, gd, gear6, gear9, getAdjustmentAwareClipPath, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getPresetConnectionSites, getPresetShapeClipPath, getPresetTextRect, insertIntersections, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConvex, isHorizontalPrimaryAxis, isStShapeType, lineIntersection, lookupPresetConnectionSites, lookupPresetTextRectOverride, mergeOverlappingPolygons, mergeShapes, normalizeStShapeType, parseAdjustmentValues, parseFormula, parseGuideDefinitions, pointInPolygon, pointInTriangle, polygonArea, polygonsToSvgPath, resolveAlignReferenceBox, resolveCoordinate, resolveOperand, resolveRotateHandlePlacement, segmentIntersection, signedArea, snapBox, snapToGridStep, snapValue, subtractPolygons, subtractShapes, subtractSvgPaths, sutherlandHodgman, svgPathToPolygons, triangulate, unionPolygons, unionShapes, unionSvgPaths, usesSlideReference, vec2Eq };
|
|
15542
|
+
export { ACTION_BUTTON_CONNECTION_SITES, ACTION_BUTTON_PRESET_DEFINITIONS, ACTION_BUTTON_TEXT_RECTS, ANGLE_SCALE, ARROW_CALLOUT_CONNECTION_SITES, ARROW_CALLOUT_PRESET_DEFINITIONS, ARROW_CONNECTION_SITES, ARROW_PRESET_DEFINITIONS, ARROW_TEXT_RECTS, BASIC_SHAPE_CONNECTION_SITES_A, BASIC_SHAPE_CONNECTION_SITES_B, BRACE_CONNECTION_SITES, BRACE_TEXT_RECTS, CALLOUT_CONNECTION_SITES, CALLOUT_TEXT_RECTS, CARDINAL_SITES, CHART_MARK_PRESET_DEFINITIONS, CIRCULAR_ARROW_CONNECTION_SITES, CIRCULAR_ARROW_TEXT_RECTS, CLIP_PATHS_CORE, CLIP_PATHS_EXTENDED, CLOUD_CALLOUT_PRESET_DEFINITIONS, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COM_AVLST_GROUND_TRUTH, CONNECTORS_BRACKETS_PRESET_DEFINITIONS, CURVED_ARROWS_CONNECTORS_PRESET_DEFINITIONS, CURVED_ARROW_CONNECTION_SITES, EPSILON, EXACT_CURVED_ARROW_PRESET_DEFINITIONS, EXTENDED_SHAPE_DEFINITIONS, FLOWCHART_CONNECTION_SITES, FLOWCHART_PRESET_DEFINITIONS, FLOWCHART_TEXT_RECTS, GEAR9_CONNECTION_SITES, IDENTITY_AFFINE, LEFT_CIRCULAR_ARROW_CONNECTION_SITES, LEFT_RIGHT_CIRCULAR_ARROW_CONNECTION_SITES, MATH_SYMBOL_CONNECTION_SITES, MISC_ARROW_CONNECTION_SITES, MISC_PRESET_DEFINITIONS, MISC_SHAPE_CONNECTION_SITES, MISC_TEXT_RECTS_A, MISC_TEXT_RECTS_B, POLYGON_CONNECTION_SITES, POLYGON_TEXT_RECTS, PRESET_GEOMETRY_ALIASES, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRIMARY_SHAPE_DEFINITIONS, QUAD_CONNECTION_SITES, QUAD_TEXT_RECTS, RECTS_SNIPS_PRESET_DEFINITIONS, RECT_VARIANT_CONNECTION_SITES, REFINED_ARROW_PRESET_DEFINITIONS, RIBBON_CONNECTION_SITES, RIBBON_TEXT_RECTS, SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS, SNAP_THRESHOLD, STAR_CONNECTION_SITES, STAR_TEXT_RECTS, ST_SHAPE_TYPE_VALUES, TABS_DECORATIONS_PRESET_DEFINITIONS, TAB_CONNECTION_SITES, TAB_TEXT_RECTS, _internalForTests, alignElements, angleToRadians, at, buildCalloutLeaderLineSvgPath, clipPolygons, combineShapes, composeAffine, computeAlign, computeDistribute, computeRotation, computeSnap, computeSnapToShape, computeUnionWalk, convexHull, createBuiltinVariables, createRotationDrag, cross2, curvedElbowPathD, cxn, dedupPoly, distributeElements, elbowCurveSegments, elbowSegmentCount, elbowWaypoints, ensureCCW, ensureCW, evaluateFormula, evaluateGuides, findAllIntersections, flattenSvgPath, fmtNum, fragmentShapes, gd, gear6, gear9, getAdjustmentAwareClipPath, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getPresetConnectionSites, getPresetShapeClipPath, getPresetTextRect, insertIntersections, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConvex, isHorizontalPrimaryAxis, isStShapeType, lineIntersection, lookupPresetConnectionSites, lookupPresetTextRectOverride, mergeOverlappingPolygons, mergeShapes, normalizeStShapeType, parseAdjustmentValues, parseFormula, parseGuideDefinitions, pointInPolygon, pointInTriangle, polygonArea, polygonsToSvgPath, resolveAlignReferenceBox, resolveCoordinate, resolveOperand, resolveRotateHandlePlacement, segmentIntersection, signedArea, snapBox, snapToGridStep, snapValue, subtractPolygons, subtractShapes, subtractSvgPaths, sutherlandHodgman, svgPathToPolygons, triangulate, unionPolygons, unionShapes, unionSvgPaths, usesSlideReference, vec2Eq };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** A flat dictionary keyed by an English phrase or a dotted id (`ribbon.home.paste`). */
|
|
2
|
+
export type MessageDictionary = Readonly<Record<string, string>>;
|
|
3
|
+
/** Every locale's dictionary, keyed by its code. */
|
|
4
|
+
export type LocaleDictionaries<L extends string = string> = Readonly<Record<L, MessageDictionary>>;
|
|
5
|
+
/**
|
|
6
|
+
* Merges the string files of one locale folder (`shell.ts`, `grid.ts`, ...). Each module may export
|
|
7
|
+
* its table under any name (or as default); every exported plain object whose values are all
|
|
8
|
+
* strings is merged, in module-path order, so files can be added independently. Later keys win.
|
|
9
|
+
*/
|
|
10
|
+
export declare function mergeMessageModules(modules: Record<string, Record<string, unknown>>): MessageDictionary;
|
|
11
|
+
/** Keys of `baseline` that `dictionary` does not define (for locale completeness tests). */
|
|
12
|
+
export declare function missingMessageKeys(baseline: MessageDictionary, dictionary: MessageDictionary): string[];
|
|
13
|
+
//# sourceMappingURL=dictionary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../i18n/dictionary.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE,oDAAoD;AACpD,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEnG;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,iBAAiB,CAanB;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,iBAAiB,GAC3B,MAAM,EAAE,CAEV"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// i18n/locale.ts
|
|
4
|
+
var SUPPORTED_OFFICE_LOCALES = ["en", "fr", "de", "es", "zh-CN"];
|
|
5
|
+
var DEFAULT_REJECTED_SUBTAGS = ["hant", "tw", "hk", "mo"];
|
|
6
|
+
function normalizeLocale(input, supported, fallback, options = {}) {
|
|
7
|
+
const parts = (input ?? "").trim().toLowerCase().split(/[-_]/).filter(Boolean);
|
|
8
|
+
const language = parts[0];
|
|
9
|
+
if (!language) return fallback;
|
|
10
|
+
const find = (tag) => supported.find((item) => item.toLowerCase() === tag);
|
|
11
|
+
const exact = find(parts.join("-"));
|
|
12
|
+
if (exact) return exact;
|
|
13
|
+
const base = find(language);
|
|
14
|
+
if (base) return base;
|
|
15
|
+
const rejected = options.rejectedSubtags ?? DEFAULT_REJECTED_SUBTAGS;
|
|
16
|
+
if (parts.slice(1).some((part) => rejected.includes(part))) return fallback;
|
|
17
|
+
return supported.find((item) => item.toLowerCase().split("-")[0] === language && item.includes("-")) ?? fallback;
|
|
18
|
+
}
|
|
19
|
+
function normalizeOfficeLocale(input) {
|
|
20
|
+
return normalizeLocale(input, SUPPORTED_OFFICE_LOCALES, "en");
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// i18n/dictionary.ts
|
|
24
|
+
function mergeMessageModules(modules) {
|
|
25
|
+
const merged = {};
|
|
26
|
+
for (const path of Object.keys(modules).sort()) {
|
|
27
|
+
const module = modules[path];
|
|
28
|
+
if (!module) continue;
|
|
29
|
+
for (const value of Object.values(module)) {
|
|
30
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) continue;
|
|
31
|
+
const entries = Object.entries(value);
|
|
32
|
+
if (!entries.every(([, text]) => typeof text === "string")) continue;
|
|
33
|
+
for (const [key, text] of entries) merged[key] = text;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return merged;
|
|
37
|
+
}
|
|
38
|
+
function missingMessageKeys(baseline, dictionary) {
|
|
39
|
+
return Object.keys(baseline).filter((key) => !(key in dictionary));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// i18n/translator.ts
|
|
43
|
+
var SINGLE = /\{(\w+)\}/g;
|
|
44
|
+
var DOUBLE = /\{\{\s*(\w+)\s*\}\}/g;
|
|
45
|
+
function interpolate(template, params, placeholder = "single") {
|
|
46
|
+
if (!params) return template;
|
|
47
|
+
const pattern = placeholder === "double" ? DOUBLE : SINGLE;
|
|
48
|
+
return template.replace(
|
|
49
|
+
pattern,
|
|
50
|
+
(match, name) => Object.prototype.hasOwnProperty.call(params, name) && params[name] !== void 0 ? String(params[name]) : match
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function createTranslator(messages, fallbacks = [], options = {}) {
|
|
54
|
+
const placeholder = options.placeholder ?? "single";
|
|
55
|
+
return (key, params) => {
|
|
56
|
+
let text = messages?.[key];
|
|
57
|
+
for (let i = 0; text === void 0 && i < fallbacks.length; i++) text = fallbacks[i]?.[key];
|
|
58
|
+
return interpolate(text ?? options.missing?.(key) ?? key, params, placeholder);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports.SUPPORTED_OFFICE_LOCALES = SUPPORTED_OFFICE_LOCALES;
|
|
63
|
+
exports.createTranslator = createTranslator;
|
|
64
|
+
exports.interpolate = interpolate;
|
|
65
|
+
exports.mergeMessageModules = mergeMessageModules;
|
|
66
|
+
exports.missingMessageKeys = missingMessageKeys;
|
|
67
|
+
exports.normalizeLocale = normalizeLocale;
|
|
68
|
+
exports.normalizeOfficeLocale = normalizeOfficeLocale;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../i18n/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// i18n/locale.ts
|
|
2
|
+
var SUPPORTED_OFFICE_LOCALES = ["en", "fr", "de", "es", "zh-CN"];
|
|
3
|
+
var DEFAULT_REJECTED_SUBTAGS = ["hant", "tw", "hk", "mo"];
|
|
4
|
+
function normalizeLocale(input, supported, fallback, options = {}) {
|
|
5
|
+
const parts = (input ?? "").trim().toLowerCase().split(/[-_]/).filter(Boolean);
|
|
6
|
+
const language = parts[0];
|
|
7
|
+
if (!language) return fallback;
|
|
8
|
+
const find = (tag) => supported.find((item) => item.toLowerCase() === tag);
|
|
9
|
+
const exact = find(parts.join("-"));
|
|
10
|
+
if (exact) return exact;
|
|
11
|
+
const base = find(language);
|
|
12
|
+
if (base) return base;
|
|
13
|
+
const rejected = options.rejectedSubtags ?? DEFAULT_REJECTED_SUBTAGS;
|
|
14
|
+
if (parts.slice(1).some((part) => rejected.includes(part))) return fallback;
|
|
15
|
+
return supported.find((item) => item.toLowerCase().split("-")[0] === language && item.includes("-")) ?? fallback;
|
|
16
|
+
}
|
|
17
|
+
function normalizeOfficeLocale(input) {
|
|
18
|
+
return normalizeLocale(input, SUPPORTED_OFFICE_LOCALES, "en");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// i18n/dictionary.ts
|
|
22
|
+
function mergeMessageModules(modules) {
|
|
23
|
+
const merged = {};
|
|
24
|
+
for (const path of Object.keys(modules).sort()) {
|
|
25
|
+
const module = modules[path];
|
|
26
|
+
if (!module) continue;
|
|
27
|
+
for (const value of Object.values(module)) {
|
|
28
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) continue;
|
|
29
|
+
const entries = Object.entries(value);
|
|
30
|
+
if (!entries.every(([, text]) => typeof text === "string")) continue;
|
|
31
|
+
for (const [key, text] of entries) merged[key] = text;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return merged;
|
|
35
|
+
}
|
|
36
|
+
function missingMessageKeys(baseline, dictionary) {
|
|
37
|
+
return Object.keys(baseline).filter((key) => !(key in dictionary));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// i18n/translator.ts
|
|
41
|
+
var SINGLE = /\{(\w+)\}/g;
|
|
42
|
+
var DOUBLE = /\{\{\s*(\w+)\s*\}\}/g;
|
|
43
|
+
function interpolate(template, params, placeholder = "single") {
|
|
44
|
+
if (!params) return template;
|
|
45
|
+
const pattern = placeholder === "double" ? DOUBLE : SINGLE;
|
|
46
|
+
return template.replace(
|
|
47
|
+
pattern,
|
|
48
|
+
(match, name) => Object.prototype.hasOwnProperty.call(params, name) && params[name] !== void 0 ? String(params[name]) : match
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
function createTranslator(messages, fallbacks = [], options = {}) {
|
|
52
|
+
const placeholder = options.placeholder ?? "single";
|
|
53
|
+
return (key, params) => {
|
|
54
|
+
let text = messages?.[key];
|
|
55
|
+
for (let i = 0; text === void 0 && i < fallbacks.length; i++) text = fallbacks[i]?.[key];
|
|
56
|
+
return interpolate(text ?? options.missing?.(key) ?? key, params, placeholder);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { SUPPORTED_OFFICE_LOCALES, createTranslator, interpolate, mergeMessageModules, missingMessageKeys, normalizeLocale, normalizeOfficeLocale };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** The five display languages every Office product UI ships. */
|
|
2
|
+
export declare const SUPPORTED_OFFICE_LOCALES: readonly ['en', 'fr', 'de', 'es', 'zh-CN'];
|
|
3
|
+
export type OfficeLocale = (typeof SUPPORTED_OFFICE_LOCALES)[number];
|
|
4
|
+
export interface NormalizeLocaleOptions {
|
|
5
|
+
/** Subtags that make a tag fall back instead of matching a regional entry (`zh-TW`). */
|
|
6
|
+
readonly rejectedSubtags?: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Maps any BCP 47 tag (`_` or `-`, any case) to one of `supported`, else `fallback`. Resolution:
|
|
10
|
+
* the exact tag; then its language alone (`de-AT` -> `de`); then a regional entry of the same
|
|
11
|
+
* language (`zh`, `zh-Hans-CN`, `zh-SG` -> `zh-CN`) unless the tag carries a rejected subtag
|
|
12
|
+
* (`zh-TW`, `zh-Hant`).
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeLocale<T extends string>(input: string | null | undefined, supported: readonly T[], fallback: T, options?: NormalizeLocaleOptions): T;
|
|
15
|
+
/** `normalizeLocale` over the five shared Office locales, falling back to English. */
|
|
16
|
+
export declare function normalizeOfficeLocale(input: string | null | undefined): OfficeLocale;
|
|
17
|
+
//# sourceMappingURL=locale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../i18n/locale.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,eAAO,MAAM,wBAAwB,YAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAU,CAAC;AAEnF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKrE,MAAM,WAAW,sBAAsB;IACtC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC/C,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,SAAS,EAAE,SAAS,CAAC,EAAE,EACvB,QAAQ,EAAE,CAAC,EACX,OAAO,GAAE,sBAA2B,GAClC,CAAC,CAeH;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAEpF"}
|