ooxml-core 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -43
- package/dist/automation/index.cjs +195 -193
- package/dist/automation/index.mjs +195 -193
- package/dist/chart/axis-nice.d.ts +97 -0
- package/dist/chart/axis-nice.d.ts.map +1 -0
- package/dist/chart/histogram-binning.d.ts +40 -0
- package/dist/chart/histogram-binning.d.ts.map +1 -0
- package/dist/chart/index.cjs +167 -0
- package/dist/chart/index.d.ts +2 -0
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.mjs +162 -1
- package/dist/diagram/index.cjs +2 -1
- package/dist/diagram/index.mjs +2 -1
- package/dist/docx/attr-units.d.ts +11 -0
- package/dist/docx/attr-units.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/case-transform.d.ts +9 -0
- package/dist/docx/case-transform.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +2 -1
- package/dist/docx/embedded.mjs +2 -1
- package/dist/docx/index.cjs +289 -3
- package/dist/docx/index.d.ts +5 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +269 -4
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/table-layout.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +2 -1
- package/dist/docx/load/index.mjs +2 -1
- package/dist/docx/page-setup-model.d.ts +29 -0
- package/dist/docx/page-setup-model.d.ts.map +1 -0
- package/dist/docx/page-size.d.ts +11 -0
- package/dist/docx/page-size.d.ts.map +1 -0
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/section-edit.d.ts +19 -0
- package/dist/docx/section-edit.d.ts.map +1 -0
- package/dist/docx/tab-stops.d.ts.map +1 -1
- package/dist/docx/ui/backstage-focus.d.ts +6 -0
- package/dist/docx/ui/backstage-focus.d.ts.map +1 -0
- package/dist/docx/ui/break-note-schema.d.ts +11 -0
- package/dist/docx/ui/break-note-schema.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-authority.d.ts +31 -0
- package/dist/docx/ui/collaboration-authority.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-identity.d.ts +8 -0
- package/dist/docx/ui/collaboration-identity.d.ts.map +1 -0
- package/dist/docx/ui/collaboration-protocol.d.ts +25 -0
- package/dist/docx/ui/collaboration-protocol.d.ts.map +1 -0
- package/dist/docx/ui/collaboration.d.ts +30 -0
- package/dist/docx/ui/collaboration.d.ts.map +1 -0
- package/dist/docx/ui/defined.d.ts +3 -0
- package/dist/docx/ui/defined.d.ts.map +1 -0
- package/dist/docx/ui/dirty-state.d.ts +9 -0
- package/dist/docx/ui/dirty-state.d.ts.map +1 -0
- package/dist/docx/ui/field-guard.d.ts +21 -0
- package/dist/docx/ui/field-guard.d.ts.map +1 -0
- package/dist/docx/ui/header-footer-history.d.ts +15 -0
- package/dist/docx/ui/header-footer-history.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +2380 -0
- package/dist/docx/ui/index.d.ts +30 -0
- package/dist/docx/ui/index.d.ts.map +1 -0
- package/dist/docx/ui/index.mjs +2317 -0
- package/dist/docx/ui/inline-content-schema.d.ts +15 -0
- package/dist/docx/ui/inline-content-schema.d.ts.map +1 -0
- package/dist/docx/ui/ligature-style.d.ts +4 -0
- package/dist/docx/ui/ligature-style.d.ts.map +1 -0
- package/dist/docx/ui/node-numbering.d.ts +8 -0
- package/dist/docx/ui/node-numbering.d.ts.map +1 -0
- package/dist/docx/ui/review-schema.d.ts +90 -0
- package/dist/docx/ui/review-schema.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts +26 -0
- package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-colors.d.ts +3 -0
- package/dist/docx/ui/ribbon-colors.d.ts.map +1 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts +6 -0
- package/dist/docx/ui/ribbon-legacy-labels.d.ts.map +1 -0
- package/dist/docx/ui/run-compare.d.ts +5 -0
- package/dist/docx/ui/run-compare.d.ts.map +1 -0
- package/dist/docx/ui/run-extra-mark.d.ts +17 -0
- package/dist/docx/ui/run-extra-mark.d.ts.map +1 -0
- package/dist/docx/ui/schema-marks.d.ts +273 -0
- package/dist/docx/ui/schema-marks.d.ts.map +1 -0
- package/dist/docx/ui/smartart-theme.d.ts +21 -0
- package/dist/docx/ui/smartart-theme.d.ts.map +1 -0
- package/dist/docx/ui/table-render.d.ts +24 -0
- package/dist/docx/ui/table-render.d.ts.map +1 -0
- package/dist/docx/ui/table-visuals.d.ts +3 -0
- package/dist/docx/ui/table-visuals.d.ts.map +1 -0
- package/dist/docx/ui/theme/css-vars.d.ts +6 -0
- package/dist/docx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/docx/ui/theme/defaults.d.ts +12 -0
- package/dist/docx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/docx/ui/theme/element.d.ts +9 -0
- package/dist/docx/ui/theme/element.d.ts.map +1 -0
- package/dist/docx/ui/theme/index.d.ts +5 -0
- package/dist/docx/ui/theme/index.d.ts.map +1 -0
- package/dist/docx/ui/theme/types.d.ts +42 -0
- package/dist/docx/ui/theme/types.d.ts.map +1 -0
- package/dist/docx/ui/word-count.d.ts +3 -0
- package/dist/docx/ui/word-count.d.ts.map +1 -0
- package/dist/docx/ui/zoom-fit.d.ts +16 -0
- package/dist/docx/ui/zoom-fit.d.ts.map +1 -0
- package/dist/docx/validate-paragraph.d.ts.map +1 -1
- package/dist/index.cjs +169 -1
- package/dist/index.mjs +169 -1
- package/dist/math/index.cjs +2 -1
- package/dist/math/index.mjs +2 -1
- package/dist/opc/index.cjs +2 -1
- package/dist/opc/index.mjs +2 -1
- package/dist/pptx/automation/index.cjs +1572 -863
- package/dist/pptx/automation/index.d.ts +4 -3
- package/dist/pptx/automation/index.d.ts.map +1 -1
- package/dist/pptx/automation/index.mjs +1572 -863
- package/dist/pptx/chunks/color-ref-BM66NGFP.d.ts +42 -0
- package/dist/pptx/chunks/color-ref-BM66NGFP.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-D0yGoLyw.d.ts → index-CcQTCBnT.d.ts} +63 -479
- package/dist/pptx/chunks/index-CcQTCBnT.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-BtBj3VG1.d.ts → index-DHoPgFcH.d.ts} +529 -11
- package/dist/pptx/chunks/index-DHoPgFcH.d.ts.map +1 -0
- package/dist/pptx/chunks/{text-operations-GuisjlbR.d.ts → text-operations-BzdehTeY.d.ts} +50 -51
- package/dist/pptx/chunks/text-operations-BzdehTeY.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +1204 -489
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +1204 -489
- package/dist/pptx/converter/index.cjs +8 -5
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +8 -5
- package/dist/pptx/index.cjs +1699 -989
- package/dist/pptx/index.d.ts +5 -4
- package/dist/pptx/index.mjs +1698 -990
- package/dist/pptx/ui/index.cjs +510 -0
- package/dist/pptx/ui/index.d.ts +80 -0
- package/dist/pptx/ui/index.d.ts.map +1 -0
- package/dist/pptx/ui/index.mjs +499 -0
- package/dist/visio/index.cjs +2 -1
- package/dist/visio/index.mjs +2 -1
- package/dist/visio/ui/contract.d.ts +33 -0
- package/dist/visio/ui/contract.d.ts.map +1 -0
- package/dist/visio/ui/demo-document.d.ts +4 -0
- package/dist/visio/ui/demo-document.d.ts.map +1 -0
- package/dist/visio/ui/diagnostics.d.ts +10 -0
- package/dist/visio/ui/diagnostics.d.ts.map +1 -0
- package/dist/visio/ui/document-history.d.ts +43 -0
- package/dist/visio/ui/document-history.d.ts.map +1 -0
- package/dist/visio/ui/document-text-search.d.ts +45 -0
- package/dist/visio/ui/document-text-search.d.ts.map +1 -0
- package/dist/visio/ui/edit-commands.d.ts +4 -0
- package/dist/visio/ui/edit-commands.d.ts.map +1 -0
- package/dist/visio/ui/edit-error.d.ts +5 -0
- package/dist/visio/ui/edit-error.d.ts.map +1 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts +25 -0
- package/dist/visio/ui/foreign-vector-budget.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +1523 -0
- package/dist/visio/ui/index.d.ts +12 -0
- package/dist/visio/ui/index.d.ts.map +1 -0
- package/dist/visio/ui/index.mjs +1498 -0
- package/dist/visio/ui/scene-details.d.ts +8 -0
- package/dist/visio/ui/scene-details.d.ts.map +1 -0
- package/dist/visio/ui/scene-validation.d.ts +5 -0
- package/dist/visio/ui/scene-validation.d.ts.map +1 -0
- package/dist/visio/ui/snapshot-scene.d.ts +9 -0
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +100 -98
- package/dist/xlsx/index.mjs +100 -98
- package/dist/xlsx/load/index.cjs +68 -66
- package/dist/xlsx/load/index.mjs +68 -66
- package/dist/xlsx/ui/backstage/templates.d.ts +16 -0
- package/dist/xlsx/ui/backstage/templates.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/alignment.d.ts +4 -0
- package/dist/xlsx/ui/commands/alignment.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts +15 -0
- package/dist/xlsx/ui/commands/cf-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts +22 -0
- package/dist/xlsx/ui/commands/clipboard.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/contextual.d.ts +13 -0
- package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/data.d.ts +3 -0
- package/dist/xlsx/ui/commands/data.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/editing.d.ts +13 -0
- package/dist/xlsx/ui/commands/editing.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/font.d.ts +21 -0
- package/dist/xlsx/ui/commands/font.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/formulas.d.ts +15 -0
- package/dist/xlsx/ui/commands/formulas.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/format-cells.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts +4 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/messages.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-home.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/rules.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/tools.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts +5 -0
- package/dist/xlsx/ui/commands/i18n/types.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/icons.d.ts +4 -0
- package/dist/xlsx/ui/commands/icons.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/number.d.ts +11 -0
- package/dist/xlsx/ui/commands/number.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts +10 -0
- package/dist/xlsx/ui/commands/page-layout.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/select-special.d.ts +12 -0
- package/dist/xlsx/ui/commands/select-special.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts +3 -0
- package/dist/xlsx/ui/commands/sort-filter.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts +21 -0
- package/dist/xlsx/ui/commands/style-presets.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/util.d.ts +59 -0
- package/dist/xlsx/ui/commands/util.d.ts.map +1 -0
- package/dist/xlsx/ui/commands.d.ts +36 -0
- package/dist/xlsx/ui/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/context-menu/items.d.ts +36 -0
- package/dist/xlsx/ui/context-menu/items.d.ts.map +1 -0
- package/dist/xlsx/ui/context.d.ts +65 -0
- package/dist/xlsx/ui/context.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts +28 -0
- package/dist/xlsx/ui/dialogs/format-cells/number-categories.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts +40 -0
- package/dist/xlsx/ui/dialogs/format-cells/types.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts +9 -0
- package/dist/xlsx/ui/dialogs/insert-chart-model.d.ts.map +1 -0
- package/dist/xlsx/ui/dialogs.d.ts +9 -0
- package/dist/xlsx/ui/dialogs.d.ts.map +1 -0
- package/dist/xlsx/ui/dirty-state.d.ts +9 -0
- package/dist/xlsx/ui/dirty-state.d.ts.map +1 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts +23 -0
- package/dist/xlsx/ui/formula-bar/name-resolve.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts +42 -0
- package/dist/xlsx/ui/grid/cell-items.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts +26 -0
- package/dist/xlsx/ui/grid/cell-paint.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts +47 -0
- package/dist/xlsx/ui/grid/edit-bridge.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/geometry.d.ts +76 -0
- package/dist/xlsx/ui/grid/geometry.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts +3 -0
- package/dist/xlsx/ui/grid/icon-sets.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts +3 -0
- package/dist/xlsx/ui/grid/number-fit.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts +32 -0
- package/dist/xlsx/ui/grid/selection-ops.d.ts.map +1 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts +15 -0
- package/dist/xlsx/ui/grid/view-cache.d.ts.map +1 -0
- package/dist/xlsx/ui/index.cjs +28484 -0
- package/dist/xlsx/ui/index.d.ts +56 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -0
- package/dist/xlsx/ui/index.mjs +28290 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/merge.d.ts +7 -0
- package/dist/xlsx/ui/locales/merge.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/commands.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/grid.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -0
- package/dist/xlsx/ui/localization.d.ts +23 -0
- package/dist/xlsx/ui/localization.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts +9 -0
- package/dist/xlsx/ui/ribbon/icon-paths.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts +88 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts +21 -0
- package/dist/xlsx/ui/ribbon/tab-api.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts +5 -0
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts +8 -0
- package/dist/xlsx/ui/ribbon/tabs/theme-palette.d.ts.map +1 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts +16 -0
- package/dist/xlsx/ui/ribbon/tell-me.d.ts.map +1 -0
- package/dist/xlsx/ui/selection.d.ts +34 -0
- package/dist/xlsx/ui/selection.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts +6 -0
- package/dist/xlsx/ui/theme/css-vars.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/defaults.d.ts +6 -0
- package/dist/xlsx/ui/theme/defaults.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/element.d.ts +9 -0
- package/dist/xlsx/ui/theme/element.d.ts.map +1 -0
- package/dist/xlsx/ui/theme/types.d.ts +54 -0
- package/dist/xlsx/ui/theme/types.d.ts.map +1 -0
- package/dist/xml/index.cjs +2 -1
- package/dist/xml/index.mjs +2 -1
- package/package.json +42 -4
- package/dist/pptx/chunks/index-BtBj3VG1.d.ts.map +0 -1
- package/dist/pptx/chunks/index-D0yGoLyw.d.ts.map +0 -1
- package/dist/pptx/chunks/text-operations-GuisjlbR.d.ts.map +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editor theme tokens.
|
|
3
|
+
*
|
|
4
|
+
* Provenance: the semantic key set mirrors the shared theme of pptx-viewer
|
|
5
|
+
* (packages/shared/src/theme/types.ts, `ViewerThemeColors` plus `radius`), which follows the
|
|
6
|
+
* shadcn/ui naming convention. Keys are camelCase here and become `--dve-*` custom properties
|
|
7
|
+
* (kebab-case). Values accept any CSS color. Only editor chrome is themed: the document paper
|
|
8
|
+
* stays white like Word's page.
|
|
9
|
+
*/
|
|
10
|
+
export interface EditorTheme {
|
|
11
|
+
/** Application chrome background (title bar, window). */
|
|
12
|
+
background: string;
|
|
13
|
+
foreground: string;
|
|
14
|
+
/** Ribbon, panel and status-bar surface. */
|
|
15
|
+
card: string;
|
|
16
|
+
cardForeground: string;
|
|
17
|
+
/** Menus, dialogs and other floating surfaces. */
|
|
18
|
+
popover: string;
|
|
19
|
+
popoverForeground: string;
|
|
20
|
+
/** Brand and primary action color. */
|
|
21
|
+
primary: string;
|
|
22
|
+
primaryForeground: string;
|
|
23
|
+
secondary: string;
|
|
24
|
+
secondaryForeground: string;
|
|
25
|
+
/** Muted surface; also the area behind the document pages. */
|
|
26
|
+
muted: string;
|
|
27
|
+
mutedForeground: string;
|
|
28
|
+
/** Hover and selected highlight. */
|
|
29
|
+
accent: string;
|
|
30
|
+
accentForeground: string;
|
|
31
|
+
destructive: string;
|
|
32
|
+
destructiveForeground: string;
|
|
33
|
+
border: string;
|
|
34
|
+
input: string;
|
|
35
|
+
/** Focus ring. */
|
|
36
|
+
ring: string;
|
|
37
|
+
/** Base corner radius, e.g. `4px`. */
|
|
38
|
+
radius: string;
|
|
39
|
+
}
|
|
40
|
+
export type EditorThemeMode = 'light' | 'dark' | 'auto';
|
|
41
|
+
export declare const EDITOR_THEME_MODES: readonly EditorThemeMode[];
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/docx/ui/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC3B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;CACf;AACD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AACxD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"word-count.d.ts","sourceRoot":"","sources":["../../../src/docx/ui/word-count.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAYhE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ZoomFit = 'actual' | 'width' | 'page' | 'pages';
|
|
2
|
+
/** The gap between pages laid side by side in Print Layout, in CSS pixels. */
|
|
3
|
+
export declare const PAGE_GAP = 24;
|
|
4
|
+
/**
|
|
5
|
+
* The zoom percentage that makes a page fit its viewport: 100% for `actual`, the viewport's width
|
|
6
|
+
* for `width`, and both dimensions for `page`. Sizes are in the same CSS-pixel units; the result
|
|
7
|
+
* is a whole percent clamped to the 10-500% range Word allows.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fitZoomPercent(mode: ZoomFit, viewport: {
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
}, page: {
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
}): number;
|
|
16
|
+
//# sourceMappingURL=zoom-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-fit.d.ts","sourceRoot":"","sources":["../../../src/docx/ui/zoom-fit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,KAAK,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3C,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CAUR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-paragraph.d.ts","sourceRoot":"","sources":["../../src/docx/validate-paragraph.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAW,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"validate-paragraph.d.ts","sourceRoot":"","sources":["../../src/docx/validate-paragraph.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAW,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAM/C,6FAA6F;AAC7F,wBAAgB,sBAAsB,CACrC,CAAC,EAAE,OAAO,EACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACpC,IAAI,CAMN;AAED,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAGhG;AAYD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA6D1D;AAQD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CA2DxE"}
|
package/dist/index.cjs
CHANGED
|
@@ -191,13 +191,19 @@ function linearToSrgb255(linear) {
|
|
|
191
191
|
// src/chart/index.ts
|
|
192
192
|
var chart_exports = {};
|
|
193
193
|
__export(chart_exports, {
|
|
194
|
+
aggregateByCategory: () => aggregateByCategory,
|
|
195
|
+
axisTargetIntervals: () => axisTargetIntervals,
|
|
194
196
|
computeBoxStats: () => computeBoxStats,
|
|
197
|
+
computeHistogramBins: () => computeHistogramBins,
|
|
195
198
|
computeLinearRegression: () => computeLinearRegression,
|
|
196
199
|
computeRSquared: () => computeRSquared,
|
|
197
200
|
computeStackedSeriesPlots: () => computeStackedSeriesPlots,
|
|
198
201
|
fitPolynomial: () => fitPolynomial,
|
|
199
202
|
groupRowsByCategory: () => groupRowsByCategory,
|
|
203
|
+
niceAxisStep: () => niceAxisStep,
|
|
204
|
+
niceValueAxisBounds: () => niceValueAxisBounds,
|
|
200
205
|
resolveBlankDisplay: () => resolveBlankDisplay,
|
|
206
|
+
scottBinCount: () => scottBinCount,
|
|
201
207
|
visibleRuns: () => visibleRuns
|
|
202
208
|
});
|
|
203
209
|
|
|
@@ -420,6 +426,167 @@ function computeStackedSeriesPlots(seriesValues, catCount, percent) {
|
|
|
420
426
|
});
|
|
421
427
|
}
|
|
422
428
|
|
|
429
|
+
// src/chart/axis-nice.ts
|
|
430
|
+
var NICE_STEPS = [1, 2, 2.5, 5, 10];
|
|
431
|
+
var HEADROOM = 0.05;
|
|
432
|
+
var POINTS_PER_GRIDLINE = 20;
|
|
433
|
+
var MIN_TARGET_INTERVALS = 1;
|
|
434
|
+
var MAX_TARGET_INTERVALS = 10;
|
|
435
|
+
var PX_PER_POINT = 4 / 3;
|
|
436
|
+
var DEFAULT_TARGET_INTERVALS = 4;
|
|
437
|
+
var ZERO_ANCHOR_RATIO = 5 / 6;
|
|
438
|
+
function axisTargetIntervals(plotHeightPx) {
|
|
439
|
+
if (!Number.isFinite(plotHeightPx) || plotHeightPx <= 0) {
|
|
440
|
+
return DEFAULT_TARGET_INTERVALS;
|
|
441
|
+
}
|
|
442
|
+
const plotHeightPt = plotHeightPx / PX_PER_POINT;
|
|
443
|
+
const raw = Math.round(plotHeightPt / POINTS_PER_GRIDLINE);
|
|
444
|
+
return Math.min(MAX_TARGET_INTERVALS, Math.max(MIN_TARGET_INTERVALS, raw));
|
|
445
|
+
}
|
|
446
|
+
function niceAxisStep(value) {
|
|
447
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
448
|
+
return 1;
|
|
449
|
+
}
|
|
450
|
+
const exponent = Math.floor(Math.log10(value));
|
|
451
|
+
const power = 10 ** exponent;
|
|
452
|
+
const mantissa = value / power;
|
|
453
|
+
const step = NICE_STEPS.find((candidate) => mantissa <= candidate + 1e-12) ?? 10;
|
|
454
|
+
return step * power;
|
|
455
|
+
}
|
|
456
|
+
function snap(value, unit, direction) {
|
|
457
|
+
const scaled = value / unit;
|
|
458
|
+
const rounded = direction === "up" ? Math.ceil(scaled - 1e-9) : Math.floor(scaled + 1e-9);
|
|
459
|
+
return rounded * unit;
|
|
460
|
+
}
|
|
461
|
+
function niceValueAxisBounds(dataMin, dataMax, targetIntervals = DEFAULT_TARGET_INTERVALS, headroom = HEADROOM) {
|
|
462
|
+
if (!Number.isFinite(dataMin) || !Number.isFinite(dataMax)) {
|
|
463
|
+
return { min: 0, max: 1, majorUnit: 0.5 };
|
|
464
|
+
}
|
|
465
|
+
const low = Math.min(dataMin, dataMax);
|
|
466
|
+
const high = Math.max(dataMin, dataMax);
|
|
467
|
+
const intervals = Math.max(1, Math.round(targetIntervals));
|
|
468
|
+
if (low === high) {
|
|
469
|
+
if (low === 0) {
|
|
470
|
+
return { min: 0, max: 1, majorUnit: 1 / intervals };
|
|
471
|
+
}
|
|
472
|
+
const unit2 = niceAxisStep(Math.abs(low) / intervals);
|
|
473
|
+
return low > 0 ? { min: 0, max: snap(low, unit2, "up") || unit2, majorUnit: unit2 } : { min: snap(low, unit2, "down"), max: 0, majorUnit: unit2 };
|
|
474
|
+
}
|
|
475
|
+
const dataSpan = high - low;
|
|
476
|
+
const padding = dataSpan * headroom;
|
|
477
|
+
let paddedMin;
|
|
478
|
+
let paddedMax;
|
|
479
|
+
if (low >= 0) {
|
|
480
|
+
paddedMin = low < high * ZERO_ANCHOR_RATIO ? 0 : low - padding;
|
|
481
|
+
paddedMax = high + padding;
|
|
482
|
+
} else if (high <= 0) {
|
|
483
|
+
paddedMax = high > low * ZERO_ANCHOR_RATIO ? 0 : high + padding;
|
|
484
|
+
paddedMin = low - padding;
|
|
485
|
+
} else {
|
|
486
|
+
paddedMin = low - padding;
|
|
487
|
+
paddedMax = high + padding;
|
|
488
|
+
}
|
|
489
|
+
const unit = niceAxisStep((paddedMax - paddedMin) / intervals);
|
|
490
|
+
const min = paddedMin === 0 ? 0 : snap(paddedMin, unit, "down");
|
|
491
|
+
let max = paddedMax === 0 ? 0 : snap(paddedMax, unit, "up");
|
|
492
|
+
if (max <= min) {
|
|
493
|
+
max = min + unit;
|
|
494
|
+
}
|
|
495
|
+
return { min, max, majorUnit: unit };
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// src/chart/histogram-binning.ts
|
|
499
|
+
function binLabel(lower, upper, closed, format) {
|
|
500
|
+
return closed === "r" ? `(${format(lower)}, ${format(upper)}]` : `[${format(lower)}, ${format(upper)})`;
|
|
501
|
+
}
|
|
502
|
+
function scottBinCount(values, min, max) {
|
|
503
|
+
if (values.length < 2 || max <= min) {
|
|
504
|
+
return 1;
|
|
505
|
+
}
|
|
506
|
+
const mean = values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
507
|
+
const variance = values.reduce((sum, value) => sum + (value - mean) ** 2, 0) / (values.length - 1);
|
|
508
|
+
const sd = Math.sqrt(variance);
|
|
509
|
+
if (!(sd > 0)) {
|
|
510
|
+
return 1;
|
|
511
|
+
}
|
|
512
|
+
const width = 3.49 * sd * values.length ** (-1 / 3);
|
|
513
|
+
return Math.max(1, Math.ceil((max - min) / width));
|
|
514
|
+
}
|
|
515
|
+
function computeHistogramBins(values, options, format = String) {
|
|
516
|
+
const closed = options.intervalClosed ?? "l";
|
|
517
|
+
const finite2 = values.map((value, sourceIndex) => ({ value, sourceIndex })).filter((item) => Number.isFinite(item.value));
|
|
518
|
+
if (finite2.length === 0) {
|
|
519
|
+
return [];
|
|
520
|
+
}
|
|
521
|
+
const underflow = typeof options.underflow === "number" ? options.underflow : void 0;
|
|
522
|
+
const overflow = typeof options.overflow === "number" ? options.overflow : void 0;
|
|
523
|
+
const under = underflow === void 0 ? [] : finite2.filter(
|
|
524
|
+
(item) => closed === "r" ? item.value <= underflow : item.value < underflow
|
|
525
|
+
);
|
|
526
|
+
const over = overflow === void 0 ? [] : finite2.filter((item) => closed === "l" ? item.value >= overflow : item.value > overflow);
|
|
527
|
+
const regular = finite2.filter((item) => !under.includes(item) && !over.includes(item));
|
|
528
|
+
const result = [];
|
|
529
|
+
if (underflow !== void 0) {
|
|
530
|
+
result.push({
|
|
531
|
+
value: under.length,
|
|
532
|
+
label: `${closed === "r" ? "\u2264" : "<"} ${format(underflow)}`,
|
|
533
|
+
sourceIndices: under.map((item) => item.sourceIndex)
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
if (regular.length > 0) {
|
|
537
|
+
const min = Math.min(...regular.map((item) => item.value));
|
|
538
|
+
const max = Math.max(...regular.map((item) => item.value));
|
|
539
|
+
const requestedSize = options.binSize && options.binSize > 0 ? options.binSize : void 0;
|
|
540
|
+
const requestedCount = options.binCount && options.binCount > 0 ? options.binCount : void 0;
|
|
541
|
+
const start = requestedSize ? Math.floor(min / requestedSize) * requestedSize : min;
|
|
542
|
+
const count = requestedSize ? Math.max(
|
|
543
|
+
closed === "l" ? Math.floor((max - start) / requestedSize) + 1 : Math.ceil((max - start) / requestedSize),
|
|
544
|
+
1
|
|
545
|
+
) : Math.max(
|
|
546
|
+
requestedCount ?? scottBinCount(
|
|
547
|
+
regular.map((item) => item.value),
|
|
548
|
+
min,
|
|
549
|
+
max
|
|
550
|
+
),
|
|
551
|
+
1
|
|
552
|
+
);
|
|
553
|
+
const width = requestedSize ?? Math.max((max - start) / count, 1);
|
|
554
|
+
const bins = Array.from({ length: count }, (_, index) => ({
|
|
555
|
+
value: 0,
|
|
556
|
+
label: binLabel(start + index * width, start + (index + 1) * width, closed, format),
|
|
557
|
+
sourceIndices: []
|
|
558
|
+
}));
|
|
559
|
+
for (const item of regular) {
|
|
560
|
+
const rawIndex = closed === "r" ? Math.ceil((item.value - start) / width) - 1 : Math.floor((item.value - start) / width);
|
|
561
|
+
const index = Math.max(0, Math.min(rawIndex, bins.length - 1));
|
|
562
|
+
const bin = bins[index];
|
|
563
|
+
if (!bin) continue;
|
|
564
|
+
bin.value += 1;
|
|
565
|
+
bin.sourceIndices.push(item.sourceIndex);
|
|
566
|
+
}
|
|
567
|
+
result.push(...bins);
|
|
568
|
+
}
|
|
569
|
+
if (overflow !== void 0) {
|
|
570
|
+
result.push({
|
|
571
|
+
value: over.length,
|
|
572
|
+
label: `${closed === "l" ? "\u2265" : ">"} ${format(overflow)}`,
|
|
573
|
+
sourceIndices: over.map((item) => item.sourceIndex)
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
return result;
|
|
577
|
+
}
|
|
578
|
+
function aggregateByCategory(values, rawCategories) {
|
|
579
|
+
const { uniqueCategories, rowIndexesByCategory } = groupRowsByCategory(rawCategories);
|
|
580
|
+
return uniqueCategories.map((label) => {
|
|
581
|
+
const rows = rowIndexesByCategory.get(label) ?? [];
|
|
582
|
+
return {
|
|
583
|
+
value: rows.reduce((sum, row) => sum + (values[row] ?? 0), 0),
|
|
584
|
+
label,
|
|
585
|
+
sourceIndices: rows
|
|
586
|
+
};
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
|
|
423
590
|
// src/text/index.ts
|
|
424
591
|
var text_exports = {};
|
|
425
592
|
__export(text_exports, {
|
|
@@ -880,7 +1047,8 @@ function parseXml(xml, options = {}) {
|
|
|
880
1047
|
}).parseFromString(xml, "application/xml");
|
|
881
1048
|
} catch (error) {
|
|
882
1049
|
throw new Error(
|
|
883
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1050
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1051
|
+
{ cause: error }
|
|
884
1052
|
);
|
|
885
1053
|
}
|
|
886
1054
|
if (parseError || !parsed.documentElement)
|
package/dist/index.mjs
CHANGED
|
@@ -189,13 +189,19 @@ function linearToSrgb255(linear) {
|
|
|
189
189
|
// src/chart/index.ts
|
|
190
190
|
var chart_exports = {};
|
|
191
191
|
__export(chart_exports, {
|
|
192
|
+
aggregateByCategory: () => aggregateByCategory,
|
|
193
|
+
axisTargetIntervals: () => axisTargetIntervals,
|
|
192
194
|
computeBoxStats: () => computeBoxStats,
|
|
195
|
+
computeHistogramBins: () => computeHistogramBins,
|
|
193
196
|
computeLinearRegression: () => computeLinearRegression,
|
|
194
197
|
computeRSquared: () => computeRSquared,
|
|
195
198
|
computeStackedSeriesPlots: () => computeStackedSeriesPlots,
|
|
196
199
|
fitPolynomial: () => fitPolynomial,
|
|
197
200
|
groupRowsByCategory: () => groupRowsByCategory,
|
|
201
|
+
niceAxisStep: () => niceAxisStep,
|
|
202
|
+
niceValueAxisBounds: () => niceValueAxisBounds,
|
|
198
203
|
resolveBlankDisplay: () => resolveBlankDisplay,
|
|
204
|
+
scottBinCount: () => scottBinCount,
|
|
199
205
|
visibleRuns: () => visibleRuns
|
|
200
206
|
});
|
|
201
207
|
|
|
@@ -418,6 +424,167 @@ function computeStackedSeriesPlots(seriesValues, catCount, percent) {
|
|
|
418
424
|
});
|
|
419
425
|
}
|
|
420
426
|
|
|
427
|
+
// src/chart/axis-nice.ts
|
|
428
|
+
var NICE_STEPS = [1, 2, 2.5, 5, 10];
|
|
429
|
+
var HEADROOM = 0.05;
|
|
430
|
+
var POINTS_PER_GRIDLINE = 20;
|
|
431
|
+
var MIN_TARGET_INTERVALS = 1;
|
|
432
|
+
var MAX_TARGET_INTERVALS = 10;
|
|
433
|
+
var PX_PER_POINT = 4 / 3;
|
|
434
|
+
var DEFAULT_TARGET_INTERVALS = 4;
|
|
435
|
+
var ZERO_ANCHOR_RATIO = 5 / 6;
|
|
436
|
+
function axisTargetIntervals(plotHeightPx) {
|
|
437
|
+
if (!Number.isFinite(plotHeightPx) || plotHeightPx <= 0) {
|
|
438
|
+
return DEFAULT_TARGET_INTERVALS;
|
|
439
|
+
}
|
|
440
|
+
const plotHeightPt = plotHeightPx / PX_PER_POINT;
|
|
441
|
+
const raw = Math.round(plotHeightPt / POINTS_PER_GRIDLINE);
|
|
442
|
+
return Math.min(MAX_TARGET_INTERVALS, Math.max(MIN_TARGET_INTERVALS, raw));
|
|
443
|
+
}
|
|
444
|
+
function niceAxisStep(value) {
|
|
445
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
446
|
+
return 1;
|
|
447
|
+
}
|
|
448
|
+
const exponent = Math.floor(Math.log10(value));
|
|
449
|
+
const power = 10 ** exponent;
|
|
450
|
+
const mantissa = value / power;
|
|
451
|
+
const step = NICE_STEPS.find((candidate) => mantissa <= candidate + 1e-12) ?? 10;
|
|
452
|
+
return step * power;
|
|
453
|
+
}
|
|
454
|
+
function snap(value, unit, direction) {
|
|
455
|
+
const scaled = value / unit;
|
|
456
|
+
const rounded = direction === "up" ? Math.ceil(scaled - 1e-9) : Math.floor(scaled + 1e-9);
|
|
457
|
+
return rounded * unit;
|
|
458
|
+
}
|
|
459
|
+
function niceValueAxisBounds(dataMin, dataMax, targetIntervals = DEFAULT_TARGET_INTERVALS, headroom = HEADROOM) {
|
|
460
|
+
if (!Number.isFinite(dataMin) || !Number.isFinite(dataMax)) {
|
|
461
|
+
return { min: 0, max: 1, majorUnit: 0.5 };
|
|
462
|
+
}
|
|
463
|
+
const low = Math.min(dataMin, dataMax);
|
|
464
|
+
const high = Math.max(dataMin, dataMax);
|
|
465
|
+
const intervals = Math.max(1, Math.round(targetIntervals));
|
|
466
|
+
if (low === high) {
|
|
467
|
+
if (low === 0) {
|
|
468
|
+
return { min: 0, max: 1, majorUnit: 1 / intervals };
|
|
469
|
+
}
|
|
470
|
+
const unit2 = niceAxisStep(Math.abs(low) / intervals);
|
|
471
|
+
return low > 0 ? { min: 0, max: snap(low, unit2, "up") || unit2, majorUnit: unit2 } : { min: snap(low, unit2, "down"), max: 0, majorUnit: unit2 };
|
|
472
|
+
}
|
|
473
|
+
const dataSpan = high - low;
|
|
474
|
+
const padding = dataSpan * headroom;
|
|
475
|
+
let paddedMin;
|
|
476
|
+
let paddedMax;
|
|
477
|
+
if (low >= 0) {
|
|
478
|
+
paddedMin = low < high * ZERO_ANCHOR_RATIO ? 0 : low - padding;
|
|
479
|
+
paddedMax = high + padding;
|
|
480
|
+
} else if (high <= 0) {
|
|
481
|
+
paddedMax = high > low * ZERO_ANCHOR_RATIO ? 0 : high + padding;
|
|
482
|
+
paddedMin = low - padding;
|
|
483
|
+
} else {
|
|
484
|
+
paddedMin = low - padding;
|
|
485
|
+
paddedMax = high + padding;
|
|
486
|
+
}
|
|
487
|
+
const unit = niceAxisStep((paddedMax - paddedMin) / intervals);
|
|
488
|
+
const min = paddedMin === 0 ? 0 : snap(paddedMin, unit, "down");
|
|
489
|
+
let max = paddedMax === 0 ? 0 : snap(paddedMax, unit, "up");
|
|
490
|
+
if (max <= min) {
|
|
491
|
+
max = min + unit;
|
|
492
|
+
}
|
|
493
|
+
return { min, max, majorUnit: unit };
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
// src/chart/histogram-binning.ts
|
|
497
|
+
function binLabel(lower, upper, closed, format) {
|
|
498
|
+
return closed === "r" ? `(${format(lower)}, ${format(upper)}]` : `[${format(lower)}, ${format(upper)})`;
|
|
499
|
+
}
|
|
500
|
+
function scottBinCount(values, min, max) {
|
|
501
|
+
if (values.length < 2 || max <= min) {
|
|
502
|
+
return 1;
|
|
503
|
+
}
|
|
504
|
+
const mean = values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
505
|
+
const variance = values.reduce((sum, value) => sum + (value - mean) ** 2, 0) / (values.length - 1);
|
|
506
|
+
const sd = Math.sqrt(variance);
|
|
507
|
+
if (!(sd > 0)) {
|
|
508
|
+
return 1;
|
|
509
|
+
}
|
|
510
|
+
const width = 3.49 * sd * values.length ** (-1 / 3);
|
|
511
|
+
return Math.max(1, Math.ceil((max - min) / width));
|
|
512
|
+
}
|
|
513
|
+
function computeHistogramBins(values, options, format = String) {
|
|
514
|
+
const closed = options.intervalClosed ?? "l";
|
|
515
|
+
const finite2 = values.map((value, sourceIndex) => ({ value, sourceIndex })).filter((item) => Number.isFinite(item.value));
|
|
516
|
+
if (finite2.length === 0) {
|
|
517
|
+
return [];
|
|
518
|
+
}
|
|
519
|
+
const underflow = typeof options.underflow === "number" ? options.underflow : void 0;
|
|
520
|
+
const overflow = typeof options.overflow === "number" ? options.overflow : void 0;
|
|
521
|
+
const under = underflow === void 0 ? [] : finite2.filter(
|
|
522
|
+
(item) => closed === "r" ? item.value <= underflow : item.value < underflow
|
|
523
|
+
);
|
|
524
|
+
const over = overflow === void 0 ? [] : finite2.filter((item) => closed === "l" ? item.value >= overflow : item.value > overflow);
|
|
525
|
+
const regular = finite2.filter((item) => !under.includes(item) && !over.includes(item));
|
|
526
|
+
const result = [];
|
|
527
|
+
if (underflow !== void 0) {
|
|
528
|
+
result.push({
|
|
529
|
+
value: under.length,
|
|
530
|
+
label: `${closed === "r" ? "\u2264" : "<"} ${format(underflow)}`,
|
|
531
|
+
sourceIndices: under.map((item) => item.sourceIndex)
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
if (regular.length > 0) {
|
|
535
|
+
const min = Math.min(...regular.map((item) => item.value));
|
|
536
|
+
const max = Math.max(...regular.map((item) => item.value));
|
|
537
|
+
const requestedSize = options.binSize && options.binSize > 0 ? options.binSize : void 0;
|
|
538
|
+
const requestedCount = options.binCount && options.binCount > 0 ? options.binCount : void 0;
|
|
539
|
+
const start = requestedSize ? Math.floor(min / requestedSize) * requestedSize : min;
|
|
540
|
+
const count = requestedSize ? Math.max(
|
|
541
|
+
closed === "l" ? Math.floor((max - start) / requestedSize) + 1 : Math.ceil((max - start) / requestedSize),
|
|
542
|
+
1
|
|
543
|
+
) : Math.max(
|
|
544
|
+
requestedCount ?? scottBinCount(
|
|
545
|
+
regular.map((item) => item.value),
|
|
546
|
+
min,
|
|
547
|
+
max
|
|
548
|
+
),
|
|
549
|
+
1
|
|
550
|
+
);
|
|
551
|
+
const width = requestedSize ?? Math.max((max - start) / count, 1);
|
|
552
|
+
const bins = Array.from({ length: count }, (_, index) => ({
|
|
553
|
+
value: 0,
|
|
554
|
+
label: binLabel(start + index * width, start + (index + 1) * width, closed, format),
|
|
555
|
+
sourceIndices: []
|
|
556
|
+
}));
|
|
557
|
+
for (const item of regular) {
|
|
558
|
+
const rawIndex = closed === "r" ? Math.ceil((item.value - start) / width) - 1 : Math.floor((item.value - start) / width);
|
|
559
|
+
const index = Math.max(0, Math.min(rawIndex, bins.length - 1));
|
|
560
|
+
const bin = bins[index];
|
|
561
|
+
if (!bin) continue;
|
|
562
|
+
bin.value += 1;
|
|
563
|
+
bin.sourceIndices.push(item.sourceIndex);
|
|
564
|
+
}
|
|
565
|
+
result.push(...bins);
|
|
566
|
+
}
|
|
567
|
+
if (overflow !== void 0) {
|
|
568
|
+
result.push({
|
|
569
|
+
value: over.length,
|
|
570
|
+
label: `${closed === "l" ? "\u2265" : ">"} ${format(overflow)}`,
|
|
571
|
+
sourceIndices: over.map((item) => item.sourceIndex)
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
return result;
|
|
575
|
+
}
|
|
576
|
+
function aggregateByCategory(values, rawCategories) {
|
|
577
|
+
const { uniqueCategories, rowIndexesByCategory } = groupRowsByCategory(rawCategories);
|
|
578
|
+
return uniqueCategories.map((label) => {
|
|
579
|
+
const rows = rowIndexesByCategory.get(label) ?? [];
|
|
580
|
+
return {
|
|
581
|
+
value: rows.reduce((sum, row) => sum + (values[row] ?? 0), 0),
|
|
582
|
+
label,
|
|
583
|
+
sourceIndices: rows
|
|
584
|
+
};
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
|
|
421
588
|
// src/text/index.ts
|
|
422
589
|
var text_exports = {};
|
|
423
590
|
__export(text_exports, {
|
|
@@ -878,7 +1045,8 @@ function parseXml(xml, options = {}) {
|
|
|
878
1045
|
}).parseFromString(xml, "application/xml");
|
|
879
1046
|
} catch (error) {
|
|
880
1047
|
throw new Error(
|
|
881
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1048
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1049
|
+
{ cause: error }
|
|
882
1050
|
);
|
|
883
1051
|
}
|
|
884
1052
|
if (parseError || !parsed.documentElement)
|
package/dist/math/index.cjs
CHANGED
|
@@ -1948,7 +1948,8 @@ function parseXml(xml, options = {}) {
|
|
|
1948
1948
|
}).parseFromString(xml, "application/xml");
|
|
1949
1949
|
} catch (error) {
|
|
1950
1950
|
throw new Error(
|
|
1951
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1951
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1952
|
+
{ cause: error }
|
|
1952
1953
|
);
|
|
1953
1954
|
}
|
|
1954
1955
|
if (parseError || !parsed.documentElement)
|
package/dist/math/index.mjs
CHANGED
|
@@ -1946,7 +1946,8 @@ function parseXml(xml, options = {}) {
|
|
|
1946
1946
|
}).parseFromString(xml, "application/xml");
|
|
1947
1947
|
} catch (error) {
|
|
1948
1948
|
throw new Error(
|
|
1949
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
1949
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
1950
|
+
{ cause: error }
|
|
1950
1951
|
);
|
|
1951
1952
|
}
|
|
1952
1953
|
if (parseError || !parsed.documentElement)
|
package/dist/opc/index.cjs
CHANGED
|
@@ -139,7 +139,8 @@ function parseXml(xml, options = {}) {
|
|
|
139
139
|
}).parseFromString(xml, "application/xml");
|
|
140
140
|
} catch (error) {
|
|
141
141
|
throw new Error(
|
|
142
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
142
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
143
|
+
{ cause: error }
|
|
143
144
|
);
|
|
144
145
|
}
|
|
145
146
|
if (parseError || !parsed.documentElement)
|
package/dist/opc/index.mjs
CHANGED
|
@@ -137,7 +137,8 @@ function parseXml(xml, options = {}) {
|
|
|
137
137
|
}).parseFromString(xml, "application/xml");
|
|
138
138
|
} catch (error) {
|
|
139
139
|
throw new Error(
|
|
140
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}
|
|
140
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
141
|
+
{ cause: error }
|
|
141
142
|
);
|
|
142
143
|
}
|
|
143
144
|
if (parseError || !parsed.documentElement)
|