ooxml-core 1.4.0 → 1.6.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-ZPJNHEZZ.mjs → PptxHandler-DDEJ6CKU.mjs} +2 -2
- package/dist/automation/index.cjs +14809 -7789
- package/dist/automation/index.mjs +14809 -7789
- package/dist/{chunk-XGLKW3JJ.mjs → chunk-5L4DHJV3.mjs} +23 -3
- package/dist/{chunk-IVDC75E5.mjs → chunk-EPNLABIU.mjs} +1 -1
- package/dist/{chunk-BB55ASTX.mjs → chunk-Q52O7SXQ.mjs} +3 -3
- package/dist/{chunk-QPQDLSJQ.mjs → chunk-QXZJOUW4.mjs} +1 -1
- package/dist/{chunk-H4TPDZV4.mjs → chunk-UQQGC6O3.mjs} +1 -1
- package/dist/drawingml/index.cjs +102 -24
- package/dist/drawingml/index.d.ts +1 -0
- package/dist/drawingml/index.d.ts.map +1 -1
- package/dist/drawingml/index.mjs +102 -25
- package/dist/drawingml/write-theme.d.ts +17 -0
- package/dist/drawingml/write-theme.d.ts.map +1 -0
- package/dist/geometry/auto-align.d.ts +32 -0
- package/dist/geometry/auto-align.d.ts.map +1 -0
- package/dist/geometry/graph-layout.d.ts +37 -0
- package/dist/geometry/graph-layout.d.ts.map +1 -0
- package/dist/geometry/index.cjs +361 -7
- package/dist/geometry/index.d.ts +2 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +359 -8
- package/dist/index.cjs +624 -122
- package/dist/index.mjs +624 -122
- package/dist/pptx/automation/index.cjs +23 -2
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/cli/index.cjs +23 -2
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/index.cjs +23 -2
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/index.cjs +3 -2
- package/dist/teams/index.mjs +3 -2
- package/dist/text/change-case.d.ts +20 -0
- package/dist/text/change-case.d.ts.map +1 -0
- package/dist/text/index.cjs +70 -0
- package/dist/text/index.d.ts +1 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.mjs +68 -1
- package/dist/visio/arrow-shapes.d.ts +16 -0
- package/dist/visio/arrow-shapes.d.ts.map +1 -0
- package/dist/visio/basic-shapes.d.ts +20 -0
- package/dist/visio/basic-shapes.d.ts.map +1 -0
- package/dist/visio/comments.d.ts +39 -0
- package/dist/visio/comments.d.ts.map +1 -0
- package/dist/visio/connector-route.d.ts +31 -0
- package/dist/visio/connector-route.d.ts.map +1 -0
- package/dist/visio/data-recordsets.d.ts +66 -0
- package/dist/visio/data-recordsets.d.ts.map +1 -0
- package/dist/visio/edit-change-shape-commands.d.ts +17 -0
- package/dist/visio/edit-change-shape-commands.d.ts.map +1 -0
- package/dist/visio/edit-change-shape.d.ts +4 -0
- package/dist/visio/edit-change-shape.d.ts.map +1 -0
- package/dist/visio/edit-commands.d.ts +41 -4
- package/dist/visio/edit-commands.d.ts.map +1 -1
- package/dist/visio/edit-comment-commands.d.ts +32 -0
- package/dist/visio/edit-comment-commands.d.ts.map +1 -0
- package/dist/visio/edit-comments.d.ts +7 -0
- package/dist/visio/edit-comments.d.ts.map +1 -0
- package/dist/visio/edit-connection-points.d.ts +19 -0
- package/dist/visio/edit-connection-points.d.ts.map +1 -0
- package/dist/visio/edit-connector-commands.d.ts +57 -0
- package/dist/visio/edit-connector-commands.d.ts.map +1 -0
- package/dist/visio/edit-connector-glue.d.ts +43 -0
- package/dist/visio/edit-connector-glue.d.ts.map +1 -0
- package/dist/visio/edit-connector-layout.d.ts +37 -0
- package/dist/visio/edit-connector-layout.d.ts.map +1 -0
- package/dist/visio/edit-connector-reroute.d.ts +30 -0
- package/dist/visio/edit-connector-reroute.d.ts.map +1 -0
- package/dist/visio/edit-connector.d.ts +42 -0
- package/dist/visio/edit-connector.d.ts.map +1 -0
- package/dist/visio/edit-data-commands.d.ts +49 -0
- package/dist/visio/edit-data-commands.d.ts.map +1 -0
- package/dist/visio/edit-data-parts.d.ts +34 -0
- package/dist/visio/edit-data-parts.d.ts.map +1 -0
- package/dist/visio/edit-data.d.ts +8 -0
- package/dist/visio/edit-data.d.ts.map +1 -0
- package/dist/visio/edit-delete.d.ts.map +1 -1
- package/dist/visio/edit-diagram-parts-commands.d.ts +55 -0
- package/dist/visio/edit-diagram-parts-commands.d.ts.map +1 -0
- package/dist/visio/edit-diagram-parts.d.ts +16 -0
- package/dist/visio/edit-diagram-parts.d.ts.map +1 -0
- package/dist/visio/edit-ellipse-geometry.d.ts +2 -0
- package/dist/visio/edit-ellipse-geometry.d.ts.map +1 -1
- package/dist/visio/edit-foreign-bitmap.d.ts +7 -0
- package/dist/visio/edit-foreign-bitmap.d.ts.map +1 -0
- package/dist/visio/edit-formatting-cell-admission.d.ts +2 -0
- package/dist/visio/edit-formatting-cell-admission.d.ts.map +1 -1
- package/dist/visio/edit-formatting-commands.d.ts +14 -1
- package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
- package/dist/visio/edit-formatting-effects.d.ts +50 -0
- package/dist/visio/edit-formatting-effects.d.ts.map +1 -0
- package/dist/visio/edit-formatting-glow.d.ts +43 -0
- package/dist/visio/edit-formatting-glow.d.ts.map +1 -0
- package/dist/visio/edit-formatting-paint-scope.d.ts.map +1 -1
- package/dist/visio/edit-formatting-paint.d.ts +6 -0
- package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
- package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
- package/dist/visio/edit-formatting-text-commands.d.ts +56 -0
- package/dist/visio/edit-formatting-text-commands.d.ts.map +1 -0
- package/dist/visio/edit-formatting-text-extra.d.ts +11 -0
- package/dist/visio/edit-formatting-text-extra.d.ts.map +1 -0
- package/dist/visio/edit-formatting-text.d.ts.map +1 -1
- package/dist/visio/edit-formatting-theme-context.d.ts +14 -0
- package/dist/visio/edit-formatting-theme-context.d.ts.map +1 -0
- package/dist/visio/edit-formatting.d.ts +2 -0
- package/dist/visio/edit-formatting.d.ts.map +1 -1
- package/dist/visio/edit-geometry-admission.d.ts +1 -1
- package/dist/visio/edit-geometry-admission.d.ts.map +1 -1
- package/dist/visio/edit-geometry.d.ts.map +1 -1
- package/dist/visio/edit-group-commands.d.ts +22 -0
- package/dist/visio/edit-group-commands.d.ts.map +1 -0
- package/dist/visio/edit-group-rotation.d.ts +7 -1
- package/dist/visio/edit-group-rotation.d.ts.map +1 -1
- package/dist/visio/edit-group.d.ts +17 -0
- package/dist/visio/edit-group.d.ts.map +1 -0
- package/dist/visio/edit-guide-commands.d.ts +26 -0
- package/dist/visio/edit-guide-commands.d.ts.map +1 -0
- package/dist/visio/edit-guides.d.ts +4 -0
- package/dist/visio/edit-guides.d.ts.map +1 -0
- package/dist/visio/edit-layer-commands.d.ts +20 -0
- package/dist/visio/edit-layer-commands.d.ts.map +1 -0
- package/dist/visio/edit-layers.d.ts +7 -0
- package/dist/visio/edit-layers.d.ts.map +1 -0
- package/dist/visio/edit-metadata-commands.d.ts +46 -0
- package/dist/visio/edit-metadata-commands.d.ts.map +1 -0
- package/dist/visio/edit-metadata.d.ts +4 -0
- package/dist/visio/edit-metadata.d.ts.map +1 -0
- package/dist/visio/edit-page-auto-size.d.ts +19 -0
- package/dist/visio/edit-page-auto-size.d.ts.map +1 -0
- package/dist/visio/edit-page-create.d.ts +24 -0
- package/dist/visio/edit-page-create.d.ts.map +1 -0
- package/dist/visio/edit-page-decoration.d.ts +14 -0
- package/dist/visio/edit-page-decoration.d.ts.map +1 -0
- package/dist/visio/edit-page-setup-commands.d.ts +57 -0
- package/dist/visio/edit-page-setup-commands.d.ts.map +1 -0
- package/dist/visio/edit-page-setup.d.ts +13 -0
- package/dist/visio/edit-page-setup.d.ts.map +1 -0
- package/dist/visio/edit-page-size.d.ts +4 -0
- package/dist/visio/edit-page-size.d.ts.map +1 -1
- package/dist/visio/edit-page-theme-commands.d.ts +15 -0
- package/dist/visio/edit-page-theme-commands.d.ts.map +1 -0
- package/dist/visio/edit-page-theme-recolor.d.ts +3 -0
- package/dist/visio/edit-page-theme-recolor.d.ts.map +1 -0
- package/dist/visio/edit-page-theme.d.ts +10 -0
- package/dist/visio/edit-page-theme.d.ts.map +1 -0
- package/dist/visio/edit-pages.d.ts.map +1 -1
- package/dist/visio/edit-path-commands.d.ts +19 -0
- package/dist/visio/edit-path-commands.d.ts.map +1 -0
- package/dist/visio/edit-path-create.d.ts +23 -0
- package/dist/visio/edit-path-create.d.ts.map +1 -0
- package/dist/visio/edit-picture.d.ts +7 -0
- package/dist/visio/edit-picture.d.ts.map +1 -0
- package/dist/visio/edit-recalculate-index.d.ts +2 -0
- package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
- package/dist/visio/edit-resize-anchor.d.ts +1 -1
- package/dist/visio/edit-resize-anchor.d.ts.map +1 -1
- package/dist/visio/edit-scope.d.ts.map +1 -1
- package/dist/visio/edit-shape-create.d.ts +8 -0
- package/dist/visio/edit-shape-create.d.ts.map +1 -1
- package/dist/visio/edit-shape-data-commands.d.ts +34 -0
- package/dist/visio/edit-shape-data-commands.d.ts.map +1 -0
- package/dist/visio/edit-shape-data.d.ts +22 -0
- package/dist/visio/edit-shape-data.d.ts.map +1 -0
- package/dist/visio/edit-shape-order.d.ts.map +1 -1
- package/dist/visio/edit-subprocess-commands.d.ts +27 -0
- package/dist/visio/edit-subprocess-commands.d.ts.map +1 -0
- package/dist/visio/edit-subprocess.d.ts +9 -0
- package/dist/visio/edit-subprocess.d.ts.map +1 -0
- package/dist/visio/edit-text-field-commands.d.ts +21 -0
- package/dist/visio/edit-text-field-commands.d.ts.map +1 -0
- package/dist/visio/edit-text-field.d.ts +5 -0
- package/dist/visio/edit-text-field.d.ts.map +1 -0
- package/dist/visio/edit-text-range-plan.d.ts.map +1 -1
- package/dist/visio/edit-text-ranges.d.ts.map +1 -1
- package/dist/visio/edit-text.d.ts.map +1 -1
- package/dist/visio/edit.d.ts +2 -1
- package/dist/visio/edit.d.ts.map +1 -1
- package/dist/visio/effects.d.ts +13 -0
- package/dist/visio/effects.d.ts.map +1 -0
- package/dist/visio/formula-evaluate.d.ts.map +1 -1
- package/dist/visio/index.cjs +27020 -19658
- package/dist/visio/index.d.ts +26 -1
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +26949 -19659
- package/dist/visio/model.d.ts +125 -0
- package/dist/visio/model.d.ts.map +1 -1
- package/dist/visio/page-decoration.d.ts +66 -0
- package/dist/visio/page-decoration.d.ts.map +1 -0
- package/dist/visio/page-scale.d.ts.map +1 -1
- package/dist/visio/page-setup.d.ts +8 -0
- package/dist/visio/page-setup.d.ts.map +1 -0
- package/dist/visio/page-theme.d.ts +9 -0
- package/dist/visio/page-theme.d.ts.map +1 -0
- package/dist/visio/paper-sizes.d.ts +24 -0
- package/dist/visio/paper-sizes.d.ts.map +1 -0
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/path-fit.d.ts +69 -0
- package/dist/visio/path-fit.d.ts.map +1 -0
- package/dist/visio/shadow.d.ts +9 -0
- package/dist/visio/shadow.d.ts.map +1 -0
- package/dist/visio/shape-connections.d.ts +5 -0
- package/dist/visio/shape-connections.d.ts.map +1 -0
- package/dist/visio/shape-metadata.d.ts +3 -0
- package/dist/visio/shape-metadata.d.ts.map +1 -1
- package/dist/visio/shape-structure.d.ts +10 -0
- package/dist/visio/shape-structure.d.ts.map +1 -0
- package/dist/visio/shapes.d.ts.map +1 -1
- package/dist/visio/stencil-shapes.d.ts +20 -0
- package/dist/visio/stencil-shapes.d.ts.map +1 -0
- package/dist/visio/stencils.d.ts +30 -0
- package/dist/visio/stencils.d.ts.map +1 -0
- package/dist/visio/style.d.ts +3 -0
- package/dist/visio/style.d.ts.map +1 -1
- package/dist/visio/text-character.d.ts +5 -0
- package/dist/visio/text-character.d.ts.map +1 -0
- package/dist/visio/text-field-context.d.ts +6 -0
- package/dist/visio/text-field-context.d.ts.map +1 -0
- package/dist/visio/text-field-display.d.ts +12 -0
- package/dist/visio/text-field-display.d.ts.map +1 -0
- package/dist/visio/text-fields.d.ts +65 -0
- package/dist/visio/text-fields.d.ts.map +1 -0
- package/dist/visio/theme-builtins.d.ts +32 -0
- package/dist/visio/theme-builtins.d.ts.map +1 -0
- package/dist/visio/theme-write.d.ts +4 -0
- package/dist/visio/theme-write.d.ts.map +1 -0
- package/dist/visio/theme.d.ts +2 -0
- package/dist/visio/theme.d.ts.map +1 -1
- package/dist/visio/ui/auto-layout.d.ts +38 -0
- package/dist/visio/ui/auto-layout.d.ts.map +1 -0
- package/dist/visio/ui/change-case.d.ts +12 -0
- package/dist/visio/ui/change-case.d.ts.map +1 -0
- package/dist/visio/ui/connection-points.d.ts +45 -0
- package/dist/visio/ui/connection-points.d.ts.map +1 -0
- package/dist/visio/ui/connector-preview.d.ts +24 -0
- package/dist/visio/ui/connector-preview.d.ts.map +1 -0
- package/dist/visio/ui/data-graphic-rules.d.ts +45 -0
- package/dist/visio/ui/data-graphic-rules.d.ts.map +1 -0
- package/dist/visio/ui/data-graphics.d.ts +15 -0
- package/dist/visio/ui/data-graphics.d.ts.map +1 -0
- package/dist/visio/ui/data-table.d.ts +33 -0
- package/dist/visio/ui/data-table.d.ts.map +1 -0
- package/dist/visio/ui/diagram-check.d.ts +32 -0
- package/dist/visio/ui/diagram-check.d.ts.map +1 -0
- package/dist/visio/ui/diagram-parts.d.ts +20 -0
- package/dist/visio/ui/diagram-parts.d.ts.map +1 -0
- package/dist/visio/ui/draw-path-plan.d.ts +21 -0
- package/dist/visio/ui/draw-path-plan.d.ts.map +1 -0
- package/dist/visio/ui/draw-plan.d.ts +13 -2
- package/dist/visio/ui/draw-plan.d.ts.map +1 -1
- package/dist/visio/ui/edit-commands.d.ts.map +1 -1
- package/dist/visio/ui/format-painter.d.ts +25 -0
- package/dist/visio/ui/format-painter.d.ts.map +1 -0
- package/dist/visio/ui/guides.d.ts +34 -0
- package/dist/visio/ui/guides.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +8010 -2707
- package/dist/visio/ui/index.d.ts +25 -0
- package/dist/visio/ui/index.d.ts.map +1 -1
- package/dist/visio/ui/index.mjs +7898 -2708
- package/dist/visio/ui/insert.d.ts +26 -0
- package/dist/visio/ui/insert.d.ts.map +1 -0
- package/dist/visio/ui/layer-assign.d.ts +31 -0
- package/dist/visio/ui/layer-assign.d.ts.map +1 -0
- package/dist/visio/ui/page-edit.d.ts.map +1 -1
- package/dist/visio/ui/page-setup.d.ts +50 -0
- package/dist/visio/ui/page-setup.d.ts.map +1 -0
- package/dist/visio/ui/page-size.d.ts +2 -11
- package/dist/visio/ui/page-size.d.ts.map +1 -1
- package/dist/visio/ui/paste-text.d.ts +13 -0
- package/dist/visio/ui/paste-text.d.ts.map +1 -0
- package/dist/visio/ui/scene-data.d.ts +4 -0
- package/dist/visio/ui/scene-data.d.ts.map +1 -0
- package/dist/visio/ui/scene-details.d.ts.map +1 -1
- package/dist/visio/ui/scene-validation-text.d.ts +8 -0
- package/dist/visio/ui/scene-validation-text.d.ts.map +1 -0
- package/dist/visio/ui/scene-validation.d.ts.map +1 -1
- package/dist/visio/ui/select-by-type.d.ts +35 -0
- package/dist/visio/ui/select-by-type.d.ts.map +1 -0
- package/dist/visio/ui/shape-arrange.d.ts.map +1 -1
- package/dist/visio/ui/shape-change.d.ts +11 -0
- package/dist/visio/ui/shape-change.d.ts.map +1 -0
- package/dist/visio/ui/shape-effects.d.ts +14 -0
- package/dist/visio/ui/shape-effects.d.ts.map +1 -0
- package/dist/visio/ui/shape-formatting.d.ts +5 -0
- package/dist/visio/ui/shape-formatting.d.ts.map +1 -1
- package/dist/visio/ui/shape-group.d.ts +9 -0
- package/dist/visio/ui/shape-group.d.ts.map +1 -0
- package/dist/visio/ui/shape-move.d.ts +5 -2
- package/dist/visio/ui/shape-move.d.ts.map +1 -1
- package/dist/visio/ui/shape-report.d.ts +37 -0
- package/dist/visio/ui/shape-report.d.ts.map +1 -0
- package/dist/visio/ui/shape-resize.d.ts.map +1 -1
- package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
- package/dist/visio/ui/subprocess.d.ts +13 -0
- package/dist/visio/ui/subprocess.d.ts.map +1 -0
- package/dist/visio/ui/text-block.d.ts +42 -0
- package/dist/visio/ui/text-block.d.ts.map +1 -0
- package/dist/visio/ui/text-dialog.d.ts +54 -0
- package/dist/visio/ui/text-dialog.d.ts.map +1 -0
- package/dist/visio/ui/text-draft.d.ts +25 -0
- package/dist/visio/ui/text-draft.d.ts.map +1 -0
- package/dist/visio/ui/text-field-catalog.d.ts +17 -0
- package/dist/visio/ui/text-field-catalog.d.ts.map +1 -0
- package/dist/xlsx/edit/dimensions.d.ts.map +1 -1
- package/dist/xlsx/edit/filter.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
- package/dist/xlsx/edit/structure.d.ts +1 -1
- package/dist/xlsx/edit/structure.d.ts.map +1 -1
- package/dist/xlsx/filter-rows.d.ts +4 -0
- package/dist/xlsx/filter-rows.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +37 -22
- package/dist/xlsx/index.mjs +37 -22
- package/dist/xlsx/load/index.cjs +3 -2
- package/dist/xlsx/load/index.mjs +3 -2
- package/dist/xlsx/ui/index.cjs +37 -22
- package/dist/xlsx/ui/index.mjs +37 -22
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, escAttr, escText, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, OOXML_PERCENT_UNITS, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesTrendlines, parseSeriesErrBars, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, EMU_PER_POINT, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices } from './chunk-
|
|
1
|
+
import { SMART_ART_DEFINITION_PARTS, VML_SHAPE_TAGS, isAlternateContentChoiceXmlSupported, parseVmlElement, unwrapAlternateContent, xmlChild, xmlAttr, parseDrawingMediaReference, cropShapeForPresetGeometry, isHeaderFooterPlaceholder, xmlPath, inheritedPlaceholderFieldType, parseParagraphLevel, xmlHasChild, parseParagraphExtraAttributes, parseParagraphMargins, parseAlignmentAttr, parseParagraphRtl, parseTabStops, resolveParagraphAlignment, xmlText, parseBodyPrBooleanAttrs, selectAlternateContentBranch, parseBulletSizePercent, extractColorChoiceXml, formatAutoNumberMarker, parseParagraphSpacingPx, createBuiltinVariables, resolveCoordinate, parseStructuredCustomGeometry, parseAdjustmentValues, parseGuideDefinitions, evaluateGuides, evaluateGeometryPaths, inheritCustomGeometryCommandOrder, parseInkMlContent, parseModel3DScene, remapElementShapeIds, parseShapeId, isTemplateElementId, remapShapeIdReferences, reapplyAlternateContentToTree, buildOle2, SHAPE_TREE_ELEMENT_TAGS, MAX_SHAPE_ID, orderedXmlKey, safeResolveZipPath, parseDataUrlToBytes, base64Decode, EMU_PER_PX, reorderObjectKeys, encodeCompressedPng, zlibStore, hash, concatArrays, encodePasswordUtf16LE, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, uint32LE, pptxActionToElementAction, buildClrMapOverrideXml, applyActiveXControlsToSlide, BLIP_FILL_ORDER, SP_PR_ORDER, hasShapeProperties, ensureXmlChild, hasTextProperties, inkElementToStrokes, buildInkMlContent, ensureXmlChildOrCreate, isXmlNode, applyChartLayouts, stripXmlOrderSuffix, serializeTabStop, colorsEqual, generateFontGuid, applyBubbleChartOptions, applyChartUpDownBars, applyDataLabelsRangeToDLbls, applyChartAxisScaling, applyChartAxisLabelFormatting, upsertChartAxisChild, applyChartDateAxisUnits, applyChartAxisDisplayUnitsToXml, writeChartShapeProps, resolveTxPrDefRPr, buildDefRPrTextProperties, buildChartGradFillXml, applySeriesMarkerToXml, applySeriesDataPointsToXml, chartColorHex, applyChartManualLayout, buildTrendlineLabel, serializeColorChoice, replaceOleEmbedding, findKey, collectAllText, buildNodeGuidMap, buildPresentationGuidMap, regenerateSmartArtDrawingShapes, buildFabricatedDrawingXml, buildFabricatedDiagramDataXml, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, applyDiagramRelationshipIds, buildSaveTimeCustomGeometryXml, applyCustomGeometryGuideOverrides, avLstForPreset, filterValidShapeAdjustmentEntries, applyDrawingMediaReference, XML_PROLOG, DGM_XMLNS, xmlEscape, writeBodyPrBooleanAttrs, applyTextBodySp3d, writeShapeEffects, SHAPE_STYLE_ORDER, roundCoordinate, scaleVectorToIntegers, EMU_PER_PIXEL, P14_GUIDE_URI, P15_GUIDE_URI, buildGuideListExtension, resetSpPrFormattingForStyleMatrix, fillIsPurelyStyleMatrix, serializeColorChoiceWithRef, createLineStyleGate, applyDrawingLineDash, getSignaturePathsToStrip, mergeSmartArtPointXml, mergeSmartArtConnectionXml, obfuscateFont, containsConvertibleStrictNamespaceAttribute, convertXmlToStrict, applySeriesPictureOptionsToXml, findChartExtByUri, findChildByLocalName, regenerateClonedUniqueId, buildChartUniqueIdExtLst, createOfficeGuid, isContentPoint, newSmartArtGuid, parseChartUserShapesDrawing, xmlChildren, applyChartGradientToSpPr, setAutoTitleDeleted, insertAt, replaceFirstText, shouldRebuildFromParagraphs, buildPointFromParagraphs, shouldRebuildFromRuns, buildPointFromRuns, buildPointText, ensureXmlChildren, TC_PR_BORDERS_ORDER, writeChartColorChoice, parseChartFormulaRange, expandRangeAddresses, applyCellWritesToWorksheet, stripParentDirSegments, parseChartUniqueId, buildChartMarkerXml, chartGradientsEqual, chartColorChoiceValue, preservesSpreadsheetXmlWhitespace, buildEffectDagTreeFromXml, syncPictureShapeTypeWithCropShape, buildSrgbColorChoice, fetchUrlToBytes, parseChartWideTextStyle, parseDefRPrTextStyle, parseChartDataLabelOptions, shadowOffsetToDistanceAndDirection, positiveFixedAngleAttribute, xmlAttrNumber, parseCustomShows, parseShapeProps, parseActiveXControlsFromSlide, convertMetafileToDataUrl, blobUrlToDataUrl, ooxmlGradientAngleToCssDegrees, isAlternateContentChoiceSupported, SvgExporter, detectStrictConformance, normalizeStrictXml, DEFAULT_CHART_GRADIENT_ANGLE, supportsChartGradientFill, svgToCustomGeometryPaths, normalizeStShapeType, applyCustomShows, applySections, reorderObjectKeysByLocalName, PRESENTATION_CHILD_ORDER, applyKinsokuToXml, normalizeNamespaceUri, captureStyleBaseline, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, STYLE_MATRIX_EFFECT_KEYS, detectOleObjectType, inferOleExtensionFromTarget, deriveSlideTitles, parseSlideDrawingGuides, parseP14DirectChild, parseP14FromExtLst, P14_TRANSITION_TYPES, decodeXmlEntities, preservesXmlWhitespace, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, encodeXmlAttributeValue, encodeXmlTextValue, stripXmlOrderMarkers, MIN_ELEMENT_SIZE, createDrawingObjectId, DEFAULT_TEXT_FONT_SIZE, EncryptedFileError, decodePptxJsonText, deserializePptxFromJson, applyImportedPptxData, MIN_TABLE_DIMENSION, MAX_TABLE_DIMENSION, escAttr, escText, SYSTEM_COLOR_MAP, PRESET_COLOR_MAP, effectChild, mergeEffectNode, mergeAttributeEffectNode, estimateMediaDurationMs, parseVmlElements, prismFamilyFlags, prismFamilyTypeOfNode, prismFamilyTypeForFlags, P14_DIR_IS_ORIENTATION_TYPE, IncorrectPasswordError, applyThemeToData, detectFileFormat, parseOle2, decryptPptx, encryptPptx, OOXML_PERCENT_UNITS, parseDrawingLineDash, parseLineSpacingMultiplier, parseLineSpacingExactPt, parseEncryptionInfo, RC4_ALG_ID, isOle2CompoundFile, ENTRY_TYPE_ROOT, PML_XMLNS, solidFill, esc, parsePresentationDrawingGuides, parsePresentationSmartTags, resolveLayoutDisplayName, detectDigitalSignatures, unwrapOleEmbedding, mimeTypeForOleFile, oleBytesToDataUrl, emu, extractGuidFromPartName, deobfuscateFont, detectFontFormat, gradFill, parseKinsoku, parseLineStyle, parseChartUpDownBars, parseDataTable, parseChart3DSurfaces, parseChartAxes, parseBubbleChartOptions, parseChartLayouts, parseCxChartSeries, parseChartDataPointPictureBlipRel, parseSeriesTrendlines, parseSeriesErrBars, parseSeriesDataPoints, parseMarker, parseSeriesDataLabels, parseChartDataPointPicture, parseImplicitBlipPictureFill, parseEmbeddedXlsx, EMU_PER_POINT, parseDiagramRelationshipIds, parseSmartArtTextParagraphs, firstParagraphRuns, smartArtParagraphsText, parseSmartArtPresLayoutVars, readChartManualLayoutValues, parseSmartArtConnection, projectSmartArtNodeText, resolveSmartArtNodeStyleRoles, resolveSmartArtNodeCoherent3DOff, parseSmartArtDefinitionMetadata, parseSmartArtColorStyleLabels, buildSmartArtColorLists, buildSmartArtColorRoleMap, parseSmartArtQuickStyleLabels, resolveSmartArtEffectIntensity, parseSmartArtStyleLabelRefs, extractStyleReferenceColorXml, withThemePlaceholderColor, getElementOrientationMatrix, isTextOrientationMatrix, TEXT_ORIENTATION_IDENTITY, multiplyTextOrientationMatrices } from './chunk-UQQGC6O3.mjs';
|
|
2
2
|
import { DIGITAL_SIGNATURE_ORIGIN_REL_TYPE } from './chunk-KBIJI6P5.mjs';
|
|
3
3
|
import { resolveSmartArtLayoutCategory } from './chunk-3GXV5MPC.mjs';
|
|
4
4
|
import { cloneXmlObject, applySmartArtLayoutDefinition, cloneSlide, parseSmartArtLayoutDefinition } from './chunk-54S5A5PZ.mjs';
|
|
@@ -60389,7 +60389,27 @@ function writeDiagonalBorders(tcPr, style, emuPerPx) {
|
|
|
60389
60389
|
}
|
|
60390
60390
|
}
|
|
60391
60391
|
}
|
|
60392
|
-
function
|
|
60392
|
+
function writeEmptyParagraphSizes(xmlCell, style, paragraphs, ensureArray12) {
|
|
60393
|
+
const txBody = xmlCell["a:txBody"];
|
|
60394
|
+
if (!txBody || typeof txBody !== "object") {
|
|
60395
|
+
return;
|
|
60396
|
+
}
|
|
60397
|
+
const xmlParagraphs = ensureXmlChildren(txBody, "a:p");
|
|
60398
|
+
const empty = xmlParagraphs.map(
|
|
60399
|
+
(paragraph) => ["a:r", "a:fld", "a:br"].every((tag) => ensureArray12(paragraph[tag]).length === 0)
|
|
60400
|
+
);
|
|
60401
|
+
const cellFallback = empty.every(Boolean) ? style.fontSize : void 0;
|
|
60402
|
+
for (const [index, paragraph] of xmlParagraphs.entries()) {
|
|
60403
|
+
const size = paragraphs?.[index]?.endParaFontSize ?? cellFallback;
|
|
60404
|
+
if (!empty[index] || size === void 0) {
|
|
60405
|
+
continue;
|
|
60406
|
+
}
|
|
60407
|
+
const endParaRPr = ensureXmlChildOrCreate(paragraph, "a:endParaRPr", "last");
|
|
60408
|
+
endParaRPr["@_sz"] = String(Math.round(size * 100));
|
|
60409
|
+
}
|
|
60410
|
+
}
|
|
60411
|
+
function writeCellTextFormatting(xmlCell, style, ensureArray12, cellParagraphs2) {
|
|
60412
|
+
writeEmptyParagraphSizes(xmlCell, style, cellParagraphs2, ensureArray12);
|
|
60393
60413
|
if (style.bold === void 0 && style.italic === void 0 && style.underline === void 0 && style.fontSize === void 0 && style.color === void 0) {
|
|
60394
60414
|
return;
|
|
60395
60415
|
}
|
|
@@ -60695,7 +60715,7 @@ var PptxHandlerRuntime22 = class _PptxHandlerRuntime extends PptxHandlerRuntime2
|
|
|
60695
60715
|
delete tcPr["a:tcMar"];
|
|
60696
60716
|
writeDiagonalBorders(tcPr, style, _PptxHandlerRuntime.EMU_PER_PX);
|
|
60697
60717
|
if (!isRichCellTxBody(xmlCell["a:txBody"], this.ensureArray.bind(this))) {
|
|
60698
|
-
writeCellTextFormatting(xmlCell, style, this.ensureArray.bind(this));
|
|
60718
|
+
writeCellTextFormatting(xmlCell, style, this.ensureArray.bind(this), paragraphs);
|
|
60699
60719
|
}
|
|
60700
60720
|
const reordered = reorderObjectKeys(tcPr, TC_PR_BORDERS_ORDER);
|
|
60701
60721
|
for (const key2 of Object.keys(tcPr)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-
|
|
2
|
-
import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, PptxXmlBuilder } from './chunk-
|
|
3
|
-
import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, hasTextProperties } from './chunk-
|
|
1
|
+
import { findText, replaceText, replaceTextInSlide, mergePresentation } from './chunk-EPNLABIU.mjs';
|
|
2
|
+
import { PresentationBuilder, PptxHandler, SlideBuilder, validateSeriesIndex, removeEmptyDataPoint, ensureDataPoint, ensureChartData, assertChartGradientSupported, toChartGradientFill, STANDARD_LAYOUTS, createTextElement, createShapeElement, createImageElement, createTableElement, createChartElement, createConnectorElement, createMediaElement, createGroupElement, PptxXmlBuilder } from './chunk-5L4DHJV3.mjs';
|
|
3
|
+
import { escAttr, EMU_PER_PIXEL, EMU_PER_INCH, hasTextProperties } from './chunk-UQQGC6O3.mjs';
|
|
4
4
|
import { cloneSlide, cloneElement } from './chunk-54S5A5PZ.mjs';
|
|
5
5
|
import JSZip from 'jszip';
|
|
6
6
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-
|
|
1
|
+
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-UQQGC6O3.mjs';
|
|
2
2
|
|
|
3
3
|
// pptx/converter/media-context.ts
|
|
4
4
|
var MIME_TO_EXT = {
|
|
@@ -21460,7 +21460,7 @@ function findTextBearingElementById(elements2, elementId) {
|
|
|
21460
21460
|
}
|
|
21461
21461
|
async function loadNestedDeck(pptxBytes) {
|
|
21462
21462
|
try {
|
|
21463
|
-
const { PptxHandler } = await import('./PptxHandler-
|
|
21463
|
+
const { PptxHandler } = await import('./PptxHandler-DDEJ6CKU.mjs');
|
|
21464
21464
|
const handler = new PptxHandler();
|
|
21465
21465
|
const data = await handler.load(pptxBytes.buffer.slice(0));
|
|
21466
21466
|
return { handler, slides: data.slides };
|
package/dist/drawingml/index.cjs
CHANGED
|
@@ -840,7 +840,7 @@ function drawingFillXml(fill) {
|
|
|
840
840
|
const root = doc.documentElement;
|
|
841
841
|
if (root.namespaceURI !== NS.a || root.localName !== "gradFill")
|
|
842
842
|
throw new Error("Invalid gradient source XML");
|
|
843
|
-
const
|
|
843
|
+
const fragment2 = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
|
|
844
844
|
let list = first(root, "gsLst", NS.a);
|
|
845
845
|
if (!list) {
|
|
846
846
|
list = doc.createElementNS(NS.a, "a:gsLst");
|
|
@@ -855,7 +855,7 @@ function drawingFillXml(fill) {
|
|
|
855
855
|
node.setAttribute("pos", String(Math.round(stop.position * 1e3)));
|
|
856
856
|
for (const old of elements(node))
|
|
857
857
|
if (old.namespaceURI === NS.a && old.localName.endsWith("Clr")) node.removeChild(old);
|
|
858
|
-
node.insertBefore(
|
|
858
|
+
node.insertBefore(fragment2(drawingColorXml(stop.color)), node.firstChild);
|
|
859
859
|
});
|
|
860
860
|
for (const stop of stops.slice(fill.stops.length)) list.removeChild(stop);
|
|
861
861
|
for (const node of elements(root))
|
|
@@ -905,6 +905,105 @@ function drawingFillXml(fill) {
|
|
|
905
905
|
return buildXml(doc);
|
|
906
906
|
}
|
|
907
907
|
|
|
908
|
+
// drawingml/theme-model.ts
|
|
909
|
+
var THEME_COLOR_SLOTS = [
|
|
910
|
+
"dk1",
|
|
911
|
+
"lt1",
|
|
912
|
+
"dk2",
|
|
913
|
+
"lt2",
|
|
914
|
+
"accent1",
|
|
915
|
+
"accent2",
|
|
916
|
+
"accent3",
|
|
917
|
+
"accent4",
|
|
918
|
+
"accent5",
|
|
919
|
+
"accent6",
|
|
920
|
+
"hlink",
|
|
921
|
+
"folHlink"
|
|
922
|
+
];
|
|
923
|
+
var DEFAULT_THEME_COLOR_MAP = {
|
|
924
|
+
bg1: "lt1",
|
|
925
|
+
tx1: "dk1",
|
|
926
|
+
bg2: "lt2",
|
|
927
|
+
tx2: "dk2"
|
|
928
|
+
};
|
|
929
|
+
|
|
930
|
+
// drawingml/write-theme.ts
|
|
931
|
+
function fragment(host, xml, namespaces) {
|
|
932
|
+
const declarations = Object.entries({ a: NS.a, ...namespaces }).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("");
|
|
933
|
+
const wrapper = parseXml(`<w${declarations}>${xml}</w>`, { label: "DrawingML theme fragment" });
|
|
934
|
+
return elements(wrapper.documentElement).map(
|
|
935
|
+
(node) => host.ownerDocument.importNode(node, true)
|
|
936
|
+
);
|
|
937
|
+
}
|
|
938
|
+
function extensionList(parent, extensions, namespaces) {
|
|
939
|
+
const entries = Object.entries(extensions ?? {});
|
|
940
|
+
if (!entries.length) return;
|
|
941
|
+
const doc = parent.ownerDocument;
|
|
942
|
+
const list = doc.createElementNS(NS.a, "a:extLst");
|
|
943
|
+
for (const [uri, xml] of entries) {
|
|
944
|
+
const ext = doc.createElementNS(NS.a, "a:ext");
|
|
945
|
+
ext.setAttribute("uri", uri);
|
|
946
|
+
for (const node of fragment(ext, xml, namespaces)) ext.appendChild(node);
|
|
947
|
+
list.appendChild(ext);
|
|
948
|
+
}
|
|
949
|
+
parent.appendChild(list);
|
|
950
|
+
}
|
|
951
|
+
function fontCollection(parent, name, fonts) {
|
|
952
|
+
const doc = parent.ownerDocument;
|
|
953
|
+
const node = doc.createElementNS(NS.a, `a:${name}`);
|
|
954
|
+
for (const [local, face] of [
|
|
955
|
+
["latin", fonts.latin],
|
|
956
|
+
["ea", fonts.eastAsia],
|
|
957
|
+
["cs", fonts.complexScript]
|
|
958
|
+
]) {
|
|
959
|
+
const font = doc.createElementNS(NS.a, `a:${local}`);
|
|
960
|
+
font.setAttribute("typeface", face ?? "");
|
|
961
|
+
node.appendChild(font);
|
|
962
|
+
}
|
|
963
|
+
for (const [script, face] of Object.entries(fonts.scripts)) {
|
|
964
|
+
const font = doc.createElementNS(NS.a, "a:font");
|
|
965
|
+
font.setAttribute("script", script);
|
|
966
|
+
font.setAttribute("typeface", face);
|
|
967
|
+
node.appendChild(font);
|
|
968
|
+
}
|
|
969
|
+
parent.appendChild(node);
|
|
970
|
+
}
|
|
971
|
+
function drawingThemeXml(theme, parts) {
|
|
972
|
+
const namespaces = parts.namespaces ?? {};
|
|
973
|
+
const doc = parseXml(
|
|
974
|
+
`<a:theme xmlns:a="${NS.a}"${Object.entries(namespaces).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("")}/>`
|
|
975
|
+
);
|
|
976
|
+
const root = doc.documentElement;
|
|
977
|
+
if (theme.name !== void 0) root.setAttribute("name", theme.name);
|
|
978
|
+
const elementsNode = doc.createElementNS(NS.a, "a:themeElements");
|
|
979
|
+
root.appendChild(elementsNode);
|
|
980
|
+
const scheme = doc.createElementNS(NS.a, "a:clrScheme");
|
|
981
|
+
scheme.setAttribute("name", theme.colorScheme.name ?? theme.name ?? "Custom");
|
|
982
|
+
for (const slot of THEME_COLOR_SLOTS) {
|
|
983
|
+
const color = theme.colorScheme.colors[slot];
|
|
984
|
+
if (!color) throw new Error(`The theme colour scheme has no ${slot} colour.`);
|
|
985
|
+
const node = doc.createElementNS(NS.a, `a:${slot}`);
|
|
986
|
+
for (const child of fragment(node, drawingColorXml(color), namespaces)) node.appendChild(child);
|
|
987
|
+
scheme.appendChild(node);
|
|
988
|
+
}
|
|
989
|
+
extensionList(scheme, parts.colorSchemeExtensions, namespaces);
|
|
990
|
+
elementsNode.appendChild(scheme);
|
|
991
|
+
const fonts = doc.createElementNS(NS.a, "a:fontScheme");
|
|
992
|
+
fonts.setAttribute("name", theme.fontScheme.name ?? theme.name ?? "Custom");
|
|
993
|
+
fontCollection(fonts, "majorFont", theme.fontScheme.major);
|
|
994
|
+
fontCollection(fonts, "minorFont", theme.fontScheme.minor);
|
|
995
|
+
elementsNode.appendChild(fonts);
|
|
996
|
+
const format = fragment(elementsNode, parts.formatScheme, namespaces);
|
|
997
|
+
if (format.length !== 1 || format[0].localName !== "fmtScheme" || format[0].namespaceURI !== NS.a)
|
|
998
|
+
throw new Error("The theme format scheme must be one a:fmtScheme element.");
|
|
999
|
+
elementsNode.appendChild(format[0]);
|
|
1000
|
+
extensionList(elementsNode, parts.themeElementsExtensions, namespaces);
|
|
1001
|
+
root.appendChild(doc.createElementNS(NS.a, "a:objectDefaults"));
|
|
1002
|
+
root.appendChild(doc.createElementNS(NS.a, "a:extraClrSchemeLst"));
|
|
1003
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
1004
|
+
${buildXml(doc)}`;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
908
1007
|
// drawingml/gradient-preset-data.ts
|
|
909
1008
|
var OFFICE_GRADIENT_PRESET_DATA = [
|
|
910
1009
|
[
|
|
@@ -1359,28 +1458,6 @@ function buildRectPathGradientImage(stops, focalPoint, fillToRect) {
|
|
|
1359
1458
|
return `url("data:image/svg+xml,${encodeURIComponent(markup)}")`;
|
|
1360
1459
|
}
|
|
1361
1460
|
|
|
1362
|
-
// drawingml/theme-model.ts
|
|
1363
|
-
var THEME_COLOR_SLOTS = [
|
|
1364
|
-
"dk1",
|
|
1365
|
-
"lt1",
|
|
1366
|
-
"dk2",
|
|
1367
|
-
"lt2",
|
|
1368
|
-
"accent1",
|
|
1369
|
-
"accent2",
|
|
1370
|
-
"accent3",
|
|
1371
|
-
"accent4",
|
|
1372
|
-
"accent5",
|
|
1373
|
-
"accent6",
|
|
1374
|
-
"hlink",
|
|
1375
|
-
"folHlink"
|
|
1376
|
-
];
|
|
1377
|
-
var DEFAULT_THEME_COLOR_MAP = {
|
|
1378
|
-
bg1: "lt1",
|
|
1379
|
-
tx1: "dk1",
|
|
1380
|
-
bg2: "lt2",
|
|
1381
|
-
tx2: "dk2"
|
|
1382
|
-
};
|
|
1383
|
-
|
|
1384
1461
|
// drawingml/theme.ts
|
|
1385
1462
|
var MAP_KEYS = [
|
|
1386
1463
|
"bg1",
|
|
@@ -1509,6 +1586,7 @@ exports.drawingColorBrightness = drawingColorBrightness;
|
|
|
1509
1586
|
exports.drawingColorCss = drawingColorCss;
|
|
1510
1587
|
exports.drawingColorXml = drawingColorXml;
|
|
1511
1588
|
exports.drawingFillXml = drawingFillXml;
|
|
1589
|
+
exports.drawingThemeXml = drawingThemeXml;
|
|
1512
1590
|
exports.fillElementOf = fillElementOf;
|
|
1513
1591
|
exports.integerAttribute = integerAttribute;
|
|
1514
1592
|
exports.isThemeColorSlot = isThemeColorSlot;
|
|
@@ -10,6 +10,7 @@ export * from './drawing-geometry.js';
|
|
|
10
10
|
export * from './drawing-shadow.js';
|
|
11
11
|
export * from './write-color.js';
|
|
12
12
|
export * from './write-fill.js';
|
|
13
|
+
export * from './write-theme.js';
|
|
13
14
|
export * from './gradient-presets.js';
|
|
14
15
|
export * from './gradient-geometry.js';
|
|
15
16
|
export * from './rect-path-gradient.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../drawingml/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,eAAe,GACf,MAAM,OAAO,CAAC;AACf,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../drawingml/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,eAAe,GACf,MAAM,OAAO,CAAC;AACf,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
|
package/dist/drawingml/index.mjs
CHANGED
|
@@ -838,7 +838,7 @@ function drawingFillXml(fill) {
|
|
|
838
838
|
const root = doc.documentElement;
|
|
839
839
|
if (root.namespaceURI !== NS.a || root.localName !== "gradFill")
|
|
840
840
|
throw new Error("Invalid gradient source XML");
|
|
841
|
-
const
|
|
841
|
+
const fragment2 = (xml) => doc.importNode(elements(parseXml(`<w xmlns:a="${NS.a}">${xml}</w>`).documentElement)[0], true);
|
|
842
842
|
let list = first(root, "gsLst", NS.a);
|
|
843
843
|
if (!list) {
|
|
844
844
|
list = doc.createElementNS(NS.a, "a:gsLst");
|
|
@@ -853,7 +853,7 @@ function drawingFillXml(fill) {
|
|
|
853
853
|
node.setAttribute("pos", String(Math.round(stop.position * 1e3)));
|
|
854
854
|
for (const old of elements(node))
|
|
855
855
|
if (old.namespaceURI === NS.a && old.localName.endsWith("Clr")) node.removeChild(old);
|
|
856
|
-
node.insertBefore(
|
|
856
|
+
node.insertBefore(fragment2(drawingColorXml(stop.color)), node.firstChild);
|
|
857
857
|
});
|
|
858
858
|
for (const stop of stops.slice(fill.stops.length)) list.removeChild(stop);
|
|
859
859
|
for (const node of elements(root))
|
|
@@ -903,6 +903,105 @@ function drawingFillXml(fill) {
|
|
|
903
903
|
return buildXml(doc);
|
|
904
904
|
}
|
|
905
905
|
|
|
906
|
+
// drawingml/theme-model.ts
|
|
907
|
+
var THEME_COLOR_SLOTS = [
|
|
908
|
+
"dk1",
|
|
909
|
+
"lt1",
|
|
910
|
+
"dk2",
|
|
911
|
+
"lt2",
|
|
912
|
+
"accent1",
|
|
913
|
+
"accent2",
|
|
914
|
+
"accent3",
|
|
915
|
+
"accent4",
|
|
916
|
+
"accent5",
|
|
917
|
+
"accent6",
|
|
918
|
+
"hlink",
|
|
919
|
+
"folHlink"
|
|
920
|
+
];
|
|
921
|
+
var DEFAULT_THEME_COLOR_MAP = {
|
|
922
|
+
bg1: "lt1",
|
|
923
|
+
tx1: "dk1",
|
|
924
|
+
bg2: "lt2",
|
|
925
|
+
tx2: "dk2"
|
|
926
|
+
};
|
|
927
|
+
|
|
928
|
+
// drawingml/write-theme.ts
|
|
929
|
+
function fragment(host, xml, namespaces) {
|
|
930
|
+
const declarations = Object.entries({ a: NS.a, ...namespaces }).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("");
|
|
931
|
+
const wrapper = parseXml(`<w${declarations}>${xml}</w>`, { label: "DrawingML theme fragment" });
|
|
932
|
+
return elements(wrapper.documentElement).map(
|
|
933
|
+
(node) => host.ownerDocument.importNode(node, true)
|
|
934
|
+
);
|
|
935
|
+
}
|
|
936
|
+
function extensionList(parent, extensions, namespaces) {
|
|
937
|
+
const entries = Object.entries(extensions ?? {});
|
|
938
|
+
if (!entries.length) return;
|
|
939
|
+
const doc = parent.ownerDocument;
|
|
940
|
+
const list = doc.createElementNS(NS.a, "a:extLst");
|
|
941
|
+
for (const [uri, xml] of entries) {
|
|
942
|
+
const ext = doc.createElementNS(NS.a, "a:ext");
|
|
943
|
+
ext.setAttribute("uri", uri);
|
|
944
|
+
for (const node of fragment(ext, xml, namespaces)) ext.appendChild(node);
|
|
945
|
+
list.appendChild(ext);
|
|
946
|
+
}
|
|
947
|
+
parent.appendChild(list);
|
|
948
|
+
}
|
|
949
|
+
function fontCollection(parent, name, fonts) {
|
|
950
|
+
const doc = parent.ownerDocument;
|
|
951
|
+
const node = doc.createElementNS(NS.a, `a:${name}`);
|
|
952
|
+
for (const [local, face] of [
|
|
953
|
+
["latin", fonts.latin],
|
|
954
|
+
["ea", fonts.eastAsia],
|
|
955
|
+
["cs", fonts.complexScript]
|
|
956
|
+
]) {
|
|
957
|
+
const font = doc.createElementNS(NS.a, `a:${local}`);
|
|
958
|
+
font.setAttribute("typeface", face ?? "");
|
|
959
|
+
node.appendChild(font);
|
|
960
|
+
}
|
|
961
|
+
for (const [script, face] of Object.entries(fonts.scripts)) {
|
|
962
|
+
const font = doc.createElementNS(NS.a, "a:font");
|
|
963
|
+
font.setAttribute("script", script);
|
|
964
|
+
font.setAttribute("typeface", face);
|
|
965
|
+
node.appendChild(font);
|
|
966
|
+
}
|
|
967
|
+
parent.appendChild(node);
|
|
968
|
+
}
|
|
969
|
+
function drawingThemeXml(theme, parts) {
|
|
970
|
+
const namespaces = parts.namespaces ?? {};
|
|
971
|
+
const doc = parseXml(
|
|
972
|
+
`<a:theme xmlns:a="${NS.a}"${Object.entries(namespaces).map(([prefix, uri]) => ` xmlns:${prefix}="${uri}"`).join("")}/>`
|
|
973
|
+
);
|
|
974
|
+
const root = doc.documentElement;
|
|
975
|
+
if (theme.name !== void 0) root.setAttribute("name", theme.name);
|
|
976
|
+
const elementsNode = doc.createElementNS(NS.a, "a:themeElements");
|
|
977
|
+
root.appendChild(elementsNode);
|
|
978
|
+
const scheme = doc.createElementNS(NS.a, "a:clrScheme");
|
|
979
|
+
scheme.setAttribute("name", theme.colorScheme.name ?? theme.name ?? "Custom");
|
|
980
|
+
for (const slot of THEME_COLOR_SLOTS) {
|
|
981
|
+
const color = theme.colorScheme.colors[slot];
|
|
982
|
+
if (!color) throw new Error(`The theme colour scheme has no ${slot} colour.`);
|
|
983
|
+
const node = doc.createElementNS(NS.a, `a:${slot}`);
|
|
984
|
+
for (const child of fragment(node, drawingColorXml(color), namespaces)) node.appendChild(child);
|
|
985
|
+
scheme.appendChild(node);
|
|
986
|
+
}
|
|
987
|
+
extensionList(scheme, parts.colorSchemeExtensions, namespaces);
|
|
988
|
+
elementsNode.appendChild(scheme);
|
|
989
|
+
const fonts = doc.createElementNS(NS.a, "a:fontScheme");
|
|
990
|
+
fonts.setAttribute("name", theme.fontScheme.name ?? theme.name ?? "Custom");
|
|
991
|
+
fontCollection(fonts, "majorFont", theme.fontScheme.major);
|
|
992
|
+
fontCollection(fonts, "minorFont", theme.fontScheme.minor);
|
|
993
|
+
elementsNode.appendChild(fonts);
|
|
994
|
+
const format = fragment(elementsNode, parts.formatScheme, namespaces);
|
|
995
|
+
if (format.length !== 1 || format[0].localName !== "fmtScheme" || format[0].namespaceURI !== NS.a)
|
|
996
|
+
throw new Error("The theme format scheme must be one a:fmtScheme element.");
|
|
997
|
+
elementsNode.appendChild(format[0]);
|
|
998
|
+
extensionList(elementsNode, parts.themeElementsExtensions, namespaces);
|
|
999
|
+
root.appendChild(doc.createElementNS(NS.a, "a:objectDefaults"));
|
|
1000
|
+
root.appendChild(doc.createElementNS(NS.a, "a:extraClrSchemeLst"));
|
|
1001
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
1002
|
+
${buildXml(doc)}`;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
906
1005
|
// drawingml/gradient-preset-data.ts
|
|
907
1006
|
var OFFICE_GRADIENT_PRESET_DATA = [
|
|
908
1007
|
[
|
|
@@ -1357,28 +1456,6 @@ function buildRectPathGradientImage(stops, focalPoint, fillToRect) {
|
|
|
1357
1456
|
return `url("data:image/svg+xml,${encodeURIComponent(markup)}")`;
|
|
1358
1457
|
}
|
|
1359
1458
|
|
|
1360
|
-
// drawingml/theme-model.ts
|
|
1361
|
-
var THEME_COLOR_SLOTS = [
|
|
1362
|
-
"dk1",
|
|
1363
|
-
"lt1",
|
|
1364
|
-
"dk2",
|
|
1365
|
-
"lt2",
|
|
1366
|
-
"accent1",
|
|
1367
|
-
"accent2",
|
|
1368
|
-
"accent3",
|
|
1369
|
-
"accent4",
|
|
1370
|
-
"accent5",
|
|
1371
|
-
"accent6",
|
|
1372
|
-
"hlink",
|
|
1373
|
-
"folHlink"
|
|
1374
|
-
];
|
|
1375
|
-
var DEFAULT_THEME_COLOR_MAP = {
|
|
1376
|
-
bg1: "lt1",
|
|
1377
|
-
tx1: "dk1",
|
|
1378
|
-
bg2: "lt2",
|
|
1379
|
-
tx2: "dk2"
|
|
1380
|
-
};
|
|
1381
|
-
|
|
1382
1459
|
// drawingml/theme.ts
|
|
1383
1460
|
var MAP_KEYS = [
|
|
1384
1461
|
"bg1",
|
|
@@ -1494,4 +1571,4 @@ function themeDrawingColorTheme(scheme, colorMap) {
|
|
|
1494
1571
|
};
|
|
1495
1572
|
}
|
|
1496
1573
|
|
|
1497
|
-
export { DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, RECT_GRADIENT_DIRECTIONS, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry };
|
|
1574
|
+
export { DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, RECT_GRADIENT_DIRECTIONS, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, drawingThemeXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingGeometry, parseDrawingLine, parseDrawingTextBody, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type DrawingTheme } from './theme-model.js';
|
|
2
|
+
export interface DrawingThemeXmlParts {
|
|
3
|
+
/** The `a:fmtScheme` element (required by the schema), as one `a:` fragment. */
|
|
4
|
+
formatScheme: string;
|
|
5
|
+
/** Children of an `a:ext` appended to `a:clrScheme`, keyed by extension URI. */
|
|
6
|
+
colorSchemeExtensions?: Readonly<Record<string, string>>;
|
|
7
|
+
/** Children of an `a:ext` appended to `a:themeElements`, keyed by extension URI. */
|
|
8
|
+
themeElementsExtensions?: Readonly<Record<string, string>>;
|
|
9
|
+
/** Extra namespace prefixes the fragments use (the `a` prefix is always declared). */
|
|
10
|
+
namespaces?: Readonly<Record<string, string>>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A complete `a:theme` part. Every one of the twelve colour slots must be present in the model;
|
|
14
|
+
* the format scheme and extensions are product data and are copied as given.
|
|
15
|
+
*/
|
|
16
|
+
export declare function drawingThemeXml(theme: DrawingTheme, parts: DrawingThemeXmlParts): string;
|
|
17
|
+
//# sourceMappingURL=write-theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-theme.d.ts","sourceRoot":"","sources":["../../drawingml/write-theme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,YAAY,EAA4B,MAAM,eAAe,CAAC;AAE/F,MAAM,WAAW,oBAAoB;IACpC,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,oFAAoF;IACpF,uBAAuB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,sFAAsF;IACtF,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9C;AAuDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAuCxF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-neutral "Auto Align & Space": boxes whose centres nearly line up are snapped into
|
|
3
|
+
* shared rows and columns, then the rows and columns are spaced evenly.
|
|
4
|
+
*
|
|
5
|
+
* Boxes use `{ x, y }` as the top-left corner with y growing downward. Clustering compares
|
|
6
|
+
* centres: a centre joins the current row (column) while it stays within `tolerance` of that
|
|
7
|
+
* row's mean centre; the default tolerance is half the median box height (width). Rows keep the
|
|
8
|
+
* top of the first row and columns the left of the first column; the gap between neighbouring
|
|
9
|
+
* rows (columns) becomes their current average gap, clamped to at least `minimumGap`.
|
|
10
|
+
*/
|
|
11
|
+
export interface AutoAlignBox {
|
|
12
|
+
id: string;
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
export interface AutoAlignOptions {
|
|
19
|
+
/** Centre distance that still counts as the same row or column. */
|
|
20
|
+
tolerance?: {
|
|
21
|
+
x?: number;
|
|
22
|
+
y?: number;
|
|
23
|
+
};
|
|
24
|
+
/** Smallest gap kept between rows and between columns. */
|
|
25
|
+
minimumGap?: number;
|
|
26
|
+
}
|
|
27
|
+
/** New top-left corners for every box. Boxes need not overlap-free input; ids must be unique. */
|
|
28
|
+
export declare function autoAlignBoxes(boxes: readonly AutoAlignBox[], options?: AutoAlignOptions): Map<string, {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
}>;
|
|
32
|
+
//# sourceMappingURL=auto-align.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-align.d.ts","sourceRoot":"","sources":["../../geometry/auto-align.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,gBAAgB;IAChC,mEAAmE;IACnE,SAAS,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA8DD,iGAAiG;AACjG,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,OAAO,GAAE,gBAAqB,GAC5B,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+BvC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-neutral automatic layout of a directed graph of boxes: layered (a small Sugiyama
|
|
3
|
+
* variant for flowcharts and hierarchies), an indented compact tree and a circle per connected
|
|
4
|
+
* component. Unconnected boxes are placed in a grid after the connected ones.
|
|
5
|
+
*
|
|
6
|
+
* Coordinates are abstract units with y growing downward; results are box centres relative to
|
|
7
|
+
* the top-left corner of the whole layout. No DOM and no format semantics: callers map their
|
|
8
|
+
* own shapes and connections in and apply the positions themselves.
|
|
9
|
+
*/
|
|
10
|
+
export interface GraphLayoutNode {
|
|
11
|
+
id: string;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}
|
|
15
|
+
/** A directed connection; edges naming unknown nodes, self loops and duplicates are ignored. */
|
|
16
|
+
export interface GraphLayoutEdge {
|
|
17
|
+
from: string;
|
|
18
|
+
to: string;
|
|
19
|
+
}
|
|
20
|
+
export type GraphLayoutStyle = 'flowchart-tb' | 'flowchart-lr' | 'hierarchy' | 'compact-tree' | 'circular';
|
|
21
|
+
export declare const GRAPH_LAYOUT_STYLES: readonly GraphLayoutStyle[];
|
|
22
|
+
export interface GraphLayoutOptions {
|
|
23
|
+
/** Gap between neighbouring boxes in the same layer, row or circle. */
|
|
24
|
+
spacing?: number;
|
|
25
|
+
/** Gap between layers (or tree levels). Defaults to `spacing`. */
|
|
26
|
+
layerSpacing?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface GraphLayoutPoint {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Lay out every node. Components are packed side by side (stacked for left-to-right flowcharts),
|
|
34
|
+
* then unconnected nodes follow in a grid. Returns centres relative to the layout's top left.
|
|
35
|
+
*/
|
|
36
|
+
export declare function layoutGraph(nodes: readonly GraphLayoutNode[], edges: readonly GraphLayoutEdge[], style: GraphLayoutStyle, options?: GraphLayoutOptions): Map<string, GraphLayoutPoint>;
|
|
37
|
+
//# sourceMappingURL=graph-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-layout.d.ts","sourceRoot":"","sources":["../../geometry/graph-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AACD,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,MAAM,gBAAgB,GACzB,cAAc,GACd,cAAc,GACd,WAAW,GACX,cAAc,GACd,UAAU,CAAC;AACd,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAM1D,CAAC;AACF,MAAM,WAAW,kBAAkB;IAClC,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA+QD;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,kBAAuB,GAC9B,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAyD/B"}
|