Compare commits

..

63 Commits
7.5.0 ... 7.6.0

Author SHA1 Message Date
7e5e2baf92 Version bump 2022-10-19 21:21:33 +01:00
53c70e6cd1 Merge pull request #1718 from codecnmc/patch-1
Update numbering.md
2022-10-19 20:26:21 +01:00
4bfb87ea74 Merge pull request #1716 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/parser-5.40.1
build(deps-dev): bump @typescript-eslint/parser from 5.38.1 to 5.40.1
2022-10-19 20:25:47 +01:00
86e12c7d40 Merge pull request #1715 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-5.40.1
build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.38.1 to 5.40.1
2022-10-19 20:25:40 +01:00
eb5449adf8 build(deps-dev): bump @typescript-eslint/parser from 5.38.1 to 5.40.1
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.38.1 to 5.40.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 19:13:25 +00:00
19eeec9fc8 build(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.38.1 to 5.40.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 19:13:20 +00:00
449f5f5be3 Merge pull request #1719 from dolanmiu/dependabot/npm_and_yarn/types/node-18.11.2
build(deps): bump @types/node from 18.7.23 to 18.11.2
2022-10-19 20:12:01 +01:00
bc5a1b52b7 Merge pull request #1702 from dolanmiu/dependabot/npm_and_yarn/eslint-8.25.0
build(deps-dev): bump eslint from 8.24.0 to 8.25.0
2022-10-19 20:11:53 +01:00
fc7f37767f Merge pull request #1697 from dolanmiu/dependabot/npm_and_yarn/eslint-plugin-unicorn-44.0.2
build(deps-dev): bump eslint-plugin-unicorn from 44.0.0 to 44.0.2
2022-10-19 20:11:45 +01:00
38dbdd02ae Merge pull request #1692 from dolanmiu/dependabot/npm_and_yarn/sinon-14.0.1
build(deps-dev): bump sinon from 14.0.0 to 14.0.1
2022-10-19 20:11:40 +01:00
7bb3fa74ce Merge pull request #1691 from dolanmiu/dependabot/npm_and_yarn/eslint-plugin-functional-4.4.1
build(deps-dev): bump eslint-plugin-functional from 4.4.0 to 4.4.1
2022-10-19 20:11:35 +01:00
a33660d32c Merge pull request #1686 from dolanmiu/dependabot/npm_and_yarn/types/prompt-1.1.4
build(deps-dev): bump @types/prompt from 1.1.3 to 1.1.4
2022-10-19 20:11:28 +01:00
ef842d1f3f Merge pull request #1709 from ronram5126/master
FIX: multiple tabStop support for LibreWriter
2022-10-19 20:11:03 +01:00
e5c2a0a87b Fix linting and spelling 2022-10-19 19:58:46 +01:00
817ffe8fd0 build(deps): bump @types/node from 18.7.23 to 18.11.2
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.23 to 18.11.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 11:01:41 +00:00
5b582d45ba Update numbering.md
Long time to find a way to unident ,See the document can't resolve my problem,Source code analysis found that does not belong to the indent.
2022-10-19 17:35:46 +08:00
6a303532f4 DEMO: 75-tab-stops.ts added missing \t 2022-10-17 14:56:12 +05:45
c75abb7cb9 DEMO: added demo/75-tab-stops.ts 2022-10-17 14:49:32 +05:45
8282d76b87 Merge branch 'dolanmiu:master' into master 2022-10-17 14:25:48 +05:45
79f3866c4c Merge pull request #1700 from tvale1/master
Add MathIntegral class
2022-10-16 00:54:57 +01:00
6dcf3f25e9 Fix test 2022-10-16 00:44:40 +01:00
e80acea63f Add more MathIntegral tests 2022-10-16 00:38:02 +01:00
640639264d Add MathIntegral tests 2022-10-16 00:33:44 +01:00
3ccdd2585c Fix prettier and linting 2022-10-16 00:29:16 +01:00
2c4b55c692 Refactor code to simplify interface 2022-10-16 00:21:34 +01:00
70a3b25d54 Fix Prettier errors 2022-10-16 00:20:16 +01:00
d053baef03 FIX: added legacy support for TabStop 2022-10-14 17:01:41 +05:45
629c586014 FIX: multiple tabStop support for LibreWriter 2022-10-14 16:38:02 +05:45
e4b03b3f71 build(deps-dev): bump eslint from 8.24.0 to 8.25.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.24.0 to 8.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.24.0...v8.25.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 11:02:11 +00:00
9ab6df99b1 Add MathIntegral class 2022-10-08 12:56:35 +11:00
51519a55ef build(deps-dev): bump eslint-plugin-unicorn from 44.0.0 to 44.0.2
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 44.0.0 to 44.0.2.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.0...v44.0.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 11:00:58 +00:00
059455929b Merge pull request #1685 from dolanmiu/dependabot/npm_and_yarn/eslint-plugin-unicorn-44.0.0
build(deps-dev): bump eslint-plugin-unicorn from 43.0.2 to 44.0.0
2022-10-04 15:24:15 +01:00
8a1df4438e build(deps-dev): bump sinon from 14.0.0 to 14.0.1
Bumps [sinon](https://github.com/sinonjs/sinon) from 14.0.0 to 14.0.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v14.0.0...v14.0.1)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 11:03:04 +00:00
cbf6e46e35 build(deps-dev): bump eslint-plugin-functional from 4.4.0 to 4.4.1
Bumps [eslint-plugin-functional](https://github.com/eslint-functional/eslint-plugin-functional) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/eslint-functional/eslint-plugin-functional/releases)
- [Changelog](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-functional/eslint-plugin-functional/compare/v4.4.0...v4.4.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-functional
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 11:02:30 +00:00
727b1bd63b build(deps-dev): bump @types/prompt from 1.1.3 to 1.1.4
Bumps [@types/prompt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/prompt) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/prompt)

---
updated-dependencies:
- dependency-name: "@types/prompt"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 11:02:26 +00:00
363b8d74ae build(deps-dev): bump eslint-plugin-unicorn from 43.0.2 to 44.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 43.0.2 to 44.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v43.0.2...v44.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 11:01:33 +00:00
b31ecd6583 Merge pull request #1684 from dolanmiu/dependabot/npm_and_yarn/cspell-6.12.0
build(deps-dev): bump cspell from 6.10.1 to 6.12.0
2022-10-03 11:27:15 +01:00
563914a0ef Merge pull request #1682 from dolanmiu/dependabot/npm_and_yarn/typescript-4.8.4
build(deps-dev): bump typescript from 4.8.3 to 4.8.4
2022-10-03 11:27:06 +01:00
1e8adbb240 Merge pull request #1681 from dolanmiu/dependabot/npm_and_yarn/types/mocha-10.0.0
build(deps-dev): bump @types/mocha from 9.1.1 to 10.0.0
2022-10-03 11:26:57 +01:00
4b1f89a561 Merge pull request #1680 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-5.38.1
build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.38.0 to 5.38.1
2022-10-03 11:26:48 +01:00
1a4a0ea5b8 Merge pull request #1679 from dolanmiu/dependabot/npm_and_yarn/types/node-18.7.23
build(deps): bump @types/node from 18.7.18 to 18.7.23
2022-10-03 11:26:39 +01:00
f781028b08 build(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.38.0 to 5.38.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.38.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 16:50:54 +00:00
56e8ad4f17 build(deps-dev): bump cspell from 6.10.1 to 6.12.0
Bumps [cspell](https://github.com/streetsidesoftware/cspell) from 6.10.1 to 6.12.0.
- [Release notes](https://github.com/streetsidesoftware/cspell/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell/blob/main/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell/compare/v6.10.1...v6.12.0)

---
updated-dependencies:
- dependency-name: cspell
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 16:50:37 +00:00
62c34ae612 build(deps-dev): bump typescript from 4.8.3 to 4.8.4
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.8.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.8.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 16:50:05 +00:00
26123b0a93 build(deps): bump @types/node from 18.7.18 to 18.7.23
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.18 to 18.7.23.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 16:49:55 +00:00
4023464a13 build(deps-dev): bump @types/mocha from 9.1.1 to 10.0.0
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 9.1.1 to 10.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 16:49:48 +00:00
0c92f354c5 Merge pull request #1678 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/parser-5.38.1
build(deps-dev): bump @typescript-eslint/parser from 5.38.0 to 5.38.1
2022-09-30 17:48:40 +01:00
676723c8bd build(deps-dev): bump @typescript-eslint/parser from 5.38.0 to 5.38.1
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.38.0 to 5.38.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.38.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 15:12:31 +00:00
2f4d5afaea Merge pull request #1676 from dolanmiu/dependabot/npm_and_yarn/eslint-8.24.0
build(deps-dev): bump eslint from 8.23.1 to 8.24.0
2022-09-30 16:10:45 +01:00
d0abceb08d Merge pull request #1677 from hunterwilhelm/patch-1
Added the name horizontal line or horizontal rules
2022-09-30 16:10:30 +01:00
8b165e93e1 Specify which borders could look like a <hr/> 2022-09-28 09:19:18 -06:00
321969eb85 Added the name horizontal line or horizontal rules
There was some confusion in https://github.com/dolanmiu/docx/issues/437 because the docs don't mention anything called horizontal lines or horizontal rules. Microsoft calls them by that name here https://support.microsoft.com/en-us/office/insert-a-line-9bf172f6-5908-4791-9bb9-2c952197b1a9
This will make it easier for people to find this in the docs.
2022-09-26 10:22:32 -06:00
85ec90849e build(deps-dev): bump eslint from 8.23.1 to 8.24.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.1 to 8.24.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.1...v8.24.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 11:01:39 +00:00
96451bc5b7 Merge pull request #1669 from dolanmiu/dependabot/npm_and_yarn/eslint-8.23.1
build(deps-dev): bump eslint from 8.23.0 to 8.23.1
2022-09-25 09:57:01 +01:00
311cbf55ef Merge pull request #1670 from dolanmiu/dependabot/npm_and_yarn/eslint-plugin-functional-4.4.0
build(deps-dev): bump eslint-plugin-functional from 4.3.1 to 4.4.0
2022-09-25 09:56:54 +01:00
0258b256f2 Merge pull request #1671 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/parser-5.38.0
build(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.38.0
2022-09-25 09:56:47 +01:00
c615de97c4 Merge pull request #1672 from dolanmiu/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-5.38.0
build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.36.1 to 5.38.0
2022-09-25 09:56:39 +01:00
e29a7bf146 build(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.36.1 to 5.38.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.38.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 11:02:29 +00:00
b665c243f0 build(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.38.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.36.1 to 5.38.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.38.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 11:01:59 +00:00
bea1c9ed61 build(deps-dev): bump eslint-plugin-functional from 4.3.1 to 4.4.0
Bumps [eslint-plugin-functional](https://github.com/eslint-functional/eslint-plugin-functional) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/eslint-functional/eslint-plugin-functional/releases)
- [Changelog](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-functional/eslint-plugin-functional/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-functional
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 11:01:40 +00:00
0e6bdaa9c9 build(deps-dev): bump eslint from 8.23.0 to 8.23.1
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.23.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.0...v8.23.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 11:01:19 +00:00
7925689618 Merge pull request #1652 from dolanmiu/dependabot/npm_and_yarn/typescript-4.8.3
build(deps-dev): bump typescript from 4.7.4 to 4.8.3
2022-09-22 09:27:39 +01:00
791441ec86 build(deps-dev): bump typescript from 4.7.4 to 4.8.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.4 to 4.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.4...v4.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 08:14:04 +00:00
14 changed files with 1201 additions and 484 deletions

View File

@ -16,6 +16,7 @@ import {
MathSubScript,
MathSubSuperScript,
MathSum,
MathIntegral,
MathSuperScript,
Packer,
Paragraph,
@ -90,6 +91,35 @@ const doc = new Document({
}),
],
}),
new Paragraph({
children: [
new Math({
children: [
new MathIntegral({
children: [new MathRun("test")],
}),
new MathIntegral({
children: [
new MathSuperScript({
children: [new MathRun("e")],
superScript: [new MathRun("2")],
}),
],
subScript: [new MathRun("i")],
}),
new MathIntegral({
children: [
new MathRadical({
children: [new MathRun("i")],
}),
],
subScript: [new MathRun("i")],
superScript: [new MathRun("10")],
}),
],
}),
],
}),
new Paragraph({
children: [
new Math({

80
demo/75-tab-stops.ts Normal file
View File

@ -0,0 +1,80 @@
// Exporting the document as a stream
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
import { Document, HeadingLevel, Packer, Paragraph, TabStopPosition, TabStopType, TextRun } from "../build";
const columnWidth = TabStopPosition.MAX / 4;
const receiptTabStops = [
// no need to define first left tab column
// the right aligned tab column position should point to the end of column
// i.e. in this case
// (end position of 1st) + (end position of current)
// columnWidth + columnWidth = columnWidth * 2
{ type: TabStopType.RIGHT, position: columnWidth * 2 },
{ type: TabStopType.RIGHT, position: columnWidth * 3 },
{ type: TabStopType.RIGHT, position: TabStopPosition.MAX },
],
twoTabStops = [{ type: TabStopType.RIGHT, position: TabStopPosition.MAX }];
const doc = new Document({
sections: [
{
properties: {},
children: [
new Paragraph({
heading: HeadingLevel.HEADING_1,
children: [new TextRun("Receipt 001")],
}),
new Paragraph({
tabStops: twoTabStops,
children: [
new TextRun({
text: "To Bob.\tBy Alice.",
bold: true,
}),
],
}),
new Paragraph({
tabStops: twoTabStops,
children: [new TextRun("Foo Inc\tBar Inc")],
}),
new Paragraph({ text: "" }),
new Paragraph({
tabStops: receiptTabStops,
children: [
new TextRun({
text: "Item\tPrice\tQuantity\tSub-total",
bold: true,
}),
],
}),
new Paragraph({
tabStops: receiptTabStops,
text: "Item 3\t10\t5\t50",
}),
new Paragraph({
tabStops: receiptTabStops,
text: "Item 3\t10\t5\t50",
}),
new Paragraph({
tabStops: receiptTabStops,
text: "Item 3\t10\t5\t50",
}),
new Paragraph({
tabStops: receiptTabStops,
children: [
new TextRun({
text: "\t\t\tTotal: 200",
bold: true,
}),
],
}),
],
},
],
});
const stream = Packer.toStream(doc);
stream.pipe(fs.createWriteStream("My Document.docx"));

View File

@ -86,3 +86,34 @@ topLevelP.setNumbering(concrete, 0);
subP.setNumbering(concrete, 1);
subSubP.setNumbering(concrete, 2);
```
## Unindent numbering
Default:1. test
After:1.test
Use default numbering have indent,If you want unindent numbering
How to custom number see the demo:
https://runkit.com/dolanmiu/docx-demo3
```ts
enum LevelSuffix {
NOTHING = "nothing",
SPACE = "space",
TAB = "tab"
}
// custom numbering
const levels=[
{
level: 0,
format: "decimal",
text: "%1.",
alignment: AlignmentType.START,
suffix: LevelSuffix.NOTHING, // Cancel intent
}]
```

View File

@ -111,7 +111,7 @@ const paragraph = new Paragraph({
## Border
Add borders to a `Paragraph`. Good for making the `Paragraph` stand out
Add borders to a `Paragraph`. Good for making the `Paragraph` stand out. Border top and border bottom can be used as a horizontal rule (also known as horizontal line).
#### IBorderPropertyOptions

1323
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "docx",
"version": "7.5.0",
"version": "7.6.0",
"description": "Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.",
"main": "build/index.js",
"scripts": {
@ -65,7 +65,7 @@
"devDependencies": {
"@types/chai": "^4.2.15",
"@types/glob": "^8.0.0",
"@types/mocha": "^9.0.0",
"@types/mocha": "^10.0.0",
"@types/prompt": "^1.1.1",
"@types/request-promise": "^4.1.42",
"@types/shelljs": "^0.8.9",
@ -84,7 +84,7 @@
"eslint-plugin-jsdoc": "^39.3.6",
"eslint-plugin-no-null": "^1.0.2",
"eslint-plugin-prefer-arrow": "^1.2.3",
"eslint-plugin-unicorn": "^43.0.2",
"eslint-plugin-unicorn": "^44.0.0",
"glob": "^8.0.1",
"jszip": "^3.1.5",
"mocha": "^10.0.0",
@ -105,7 +105,7 @@
"tsconfig-paths": "^4.0.0",
"tsconfig-paths-webpack-plugin": "^4.0.0",
"typedoc": "^0.23.2",
"typescript": "4.7.4",
"typescript": "4.8.4",
"unzipper": "^0.10.11",
"webpack": "^5.28.0",
"webpack-cli": "^4.6.0"

View File

@ -8,7 +8,7 @@ describe("LeftTabStop", () => {
let tabStop: TabStop;
beforeEach(() => {
tabStop = new TabStop(TabStopType.LEFT, 100);
tabStop = new TabStop([{ type: TabStopType.LEFT, position: 100 }]);
});
describe("#constructor()", () => {
@ -32,7 +32,7 @@ describe("RightTabStop", () => {
let tabStop: TabStop;
beforeEach(() => {
tabStop = new TabStop(TabStopType.RIGHT, 100, LeaderType.DOT);
tabStop = new TabStop([{ type: TabStopType.RIGHT, position: 100, leader: LeaderType.DOT }]);
});
describe("#constructor()", () => {

View File

@ -1,10 +1,19 @@
// http://officeopenxml.com/WPtab.php
import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
export interface TabStopDefinition {
readonly type: TabStopType;
readonly position: number | TabStopPosition;
readonly leader?: LeaderType;
}
export class TabStop extends XmlComponent {
public constructor(type: TabStopType, position: number, leader?: LeaderType) {
public constructor(tabDefinitions: readonly TabStopDefinition[]) {
super("w:tabs");
this.root.push(new TabStopItem(type, position, leader));
for (const tabDefinition of tabDefinitions) {
this.root.push(new TabStopItem(tabDefinition));
}
}
}
@ -41,13 +50,13 @@ export class TabAttributes extends XmlAttributeComponent<{
}
export class TabStopItem extends XmlComponent {
public constructor(value: TabStopType, position: string | number, leader?: LeaderType) {
public constructor({ type, position, leader }: TabStopDefinition) {
super("w:tab");
this.root.push(
new TabAttributes({
val: value,
val: type,
pos: position,
leader,
leader: leader,
}),
);
}

View File

@ -2,7 +2,7 @@ import { MathAngledBrackets, MathCurlyBrackets, MathRoundBrackets, MathSquareBra
import { MathFraction } from "./fraction";
import { MathFunction } from "./function";
import { MathRun } from "./math-run";
import { MathSum } from "./n-ary";
import { MathSum, MathIntegral } from "./n-ary";
import { MathRadical } from "./radical";
import { MathSubScript, MathSubSuperScript, MathSuperScript } from "./script";
@ -10,6 +10,7 @@ export type MathComponent =
| MathRun
| MathFraction
| MathSum
| MathIntegral
| MathSuperScript
| MathSubScript
| MathSubSuperScript

View File

@ -4,4 +4,5 @@ export * from "./math-limit-location";
export * from "./math-n-ary-properties";
export * from "./math-sub-script";
export * from "./math-sum";
export * from "./math-integral";
export * from "./math-super-script";

View File

@ -0,0 +1,116 @@
import { expect } from "chai";
import { Formatter } from "@export/formatter";
import { MathRun } from "../math-run";
import { MathIntegral } from "./math-integral";
describe("MathIntegral", () => {
describe("#constructor()", () => {
it("should create a MathIntegral with correct root key", () => {
const mathIntegral = new MathIntegral({
children: [new MathRun("1")],
subScript: [new MathRun("2")],
superScript: [new MathRun("3")],
});
const tree = new Formatter().format(mathIntegral);
expect(tree).to.deep.equal({
"m:nary": [
{
"m:naryPr": [
{
"m:limLoc": {
_attr: {
"m:val": "undOvr",
},
},
},
],
},
{
"m:sub": [
{
"m:r": [
{
"m:t": ["2"],
},
],
},
],
},
{
"m:sup": [
{
"m:r": [
{
"m:t": ["3"],
},
],
},
],
},
{
"m:e": [
{
"m:r": [
{
"m:t": ["1"],
},
],
},
],
},
],
});
});
it("should create a MathIntegral with correct root key without sub-script and super-scripts", () => {
const mathIntegral = new MathIntegral({
children: [new MathRun("1")],
});
const tree = new Formatter().format(mathIntegral);
expect(tree).to.deep.equal({
"m:nary": [
{
"m:naryPr": [
{
"m:limLoc": {
_attr: {
"m:val": "undOvr",
},
},
},
{
"m:supHide": {
_attr: {
"m:val": 1,
},
},
},
{
"m:subHide": {
_attr: {
"m:val": 1,
},
},
},
],
},
{
"m:e": [
{
"m:r": [
{
"m:t": ["1"],
},
],
},
],
},
],
});
});
});
});

View File

@ -0,0 +1,31 @@
import { XmlComponent } from "@file/xml-components";
import { MathComponent } from "../math-component";
import { MathBase } from "./math-base";
import { MathNAryProperties } from "./math-n-ary-properties";
import { MathSubScriptElement } from "./math-sub-script";
import { MathSuperScriptElement } from "./math-super-script";
export interface 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(new MathNAryProperties("", !!options.superScript, !!options.subScript));
if (!!options.subScript) {
this.root.push(new MathSubScriptElement(options.subScript));
}
if (!!options.superScript) {
this.root.push(new MathSuperScriptElement(options.superScript));
}
this.root.push(new MathBase(options.children));
}
}

View File

@ -10,7 +10,9 @@ export class MathNAryProperties extends XmlComponent {
public constructor(accent: string, hasSuperScript: boolean, hasSubScript: boolean) {
super("m:naryPr");
this.root.push(new MathAccentCharacter(accent));
if (!!accent) {
this.root.push(new MathAccentCharacter(accent));
}
this.root.push(new MathLimitLocation());
if (!hasSuperScript) {

View File

@ -9,7 +9,7 @@ import { PageBreakBefore } from "./formatting/break";
import { IIndentAttributesProperties, Indent } from "./formatting/indent";
import { ISpacingProperties, Spacing } from "./formatting/spacing";
import { HeadingLevel, Style } from "./formatting/style";
import { LeaderType, TabStop, TabStopPosition, TabStopType } from "./formatting/tab-stop";
import { TabStop, TabStopDefinition, TabStopType } from "./formatting/tab-stop";
import { NumberProperties } from "./formatting/unordered-list";
import { FrameProperties, IFrameOptions } from "./frame/frame-properties";
import { OutlineLevel } from "./links";
@ -41,11 +41,7 @@ export interface IParagraphPropertiesOptions extends IParagraphStylePropertiesOp
readonly heading?: HeadingLevel;
readonly bidirectional?: boolean;
readonly pageBreakBefore?: boolean;
readonly tabStops?: readonly {
readonly position: number | TabStopPosition;
readonly type: TabStopType;
readonly leader?: LeaderType;
}[];
readonly tabStops?: readonly TabStopDefinition[];
readonly style?: string;
readonly bullet?: {
readonly level: number;
@ -132,19 +128,22 @@ export class ParagraphProperties extends IgnoreIfEmptyXmlComponent {
this.push(new Shading(options.shading));
}
if (options.rightTabStop) {
this.push(new TabStop(TabStopType.RIGHT, options.rightTabStop));
}
/**
* FIX: Multitab support for Libre Writer
* Ensure there is only one w:tabs tag with multiple w:tab
*/
const tabDefinitions: readonly TabStopDefinition[] = [
...(options.rightTabStop ? [{ type: TabStopType.RIGHT, position: options.rightTabStop }] : []),
...(options.tabStops ? options.tabStops : []),
...(options.leftTabStop ? [{ type: TabStopType.LEFT, position: options.leftTabStop }] : []),
];
if (options.tabStops) {
for (const tabStop of options.tabStops) {
this.push(new TabStop(tabStop.type, tabStop.position, tabStop.leader));
}
}
if (options.leftTabStop) {
this.push(new TabStop(TabStopType.LEFT, options.leftTabStop));
if (tabDefinitions.length > 0) {
this.push(new TabStop(tabDefinitions));
}
/**
* FIX - END
*/
if (options.bidirectional !== undefined) {
this.push(new OnOffElement("w:bidi", options.bidirectional));