Files
docx-js/src/file/paragraph/math/n-ary/math-integral.ts
Dolan 4d1a351649 Documentation and Refactoring (#3028)
* Documentation and Refactoring

* Documentation and Refactoring

* Fix lint issues

* Convert components to Builder style

---------

Co-authored-by: Dolan Miu <dmiu@bloomberg.net>
2025-04-14 16:43:15 +05:30

39 lines
1.3 KiB
TypeScript

import { XmlComponent } from "@file/xml-components";
import { MathComponent } from "../math-component";
import { createMathBase } from "./math-base";
import { createMathNAryProperties } from "./math-n-ary-properties";
import { createMathSubScriptElement } from "./math-sub-script";
import { createMathSuperScriptElement } from "./math-super-script";
export type IMathIntegralOptions = {
readonly children: readonly MathComponent[];
readonly subScript?: readonly MathComponent[];
readonly superScript?: readonly MathComponent[];
};
export class MathIntegral extends XmlComponent {
public constructor(options: IMathIntegralOptions) {
super("m:nary");
this.root.push(
createMathNAryProperties({
accent: "",
hasSuperScript: !!options.superScript,
hasSubScript: !!options.subScript,
limitLocationVal: "subSup",
}),
);
if (!!options.subScript) {
this.root.push(createMathSubScriptElement({ children: options.subScript }));
}
if (!!options.superScript) {
this.root.push(createMathSuperScriptElement({ children: options.superScript }));
}
this.root.push(createMathBase({ children: options.children }));
}
}