🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@usejunior/docx-core

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@usejunior/docx-core - npm Package Compare versions

Comparing version
0.14.0
to
0.15.0
+0
-1
dist/generation/index.d.ts

@@ -11,4 +11,3 @@ /**

export { checkGeneratedPackage, type StructuralCheckResult, type StructuralIssue } from './structural-checks.js';
export { coverTermsTable, signatureBlock, type CoverTermsOptions, type SignatureBlockOptions } from './recipes.js';
export type { BlockSpec, BorderSpec, BreakSpec, DocumentMetaSpec, DocumentSpec, DraftingNoteSpec, FieldSpec, HeaderFooterSet, HeaderFooterSpec, InlineSpec, NumberingSpec, ParagraphSpec, RunProps, RunSpec, SectionSpec, StyleSpec, TableBorders, TableCellSpec, TableRowSpec, TableSpec, TabSpec, } from './types.js';
//# sourceMappingURL=index.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACnH,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjH,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAC"}

@@ -11,3 +11,2 @@ /**

export { checkGeneratedPackage } from './structural-checks.js';
export { coverTermsTable, signatureBlock } from './recipes.js';
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAA4B,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAgC,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAoD,MAAM,wBAAwB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsD,MAAM,cAAc,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAA4B,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAgC,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAoD,MAAM,wBAAwB,CAAC"}

@@ -34,4 +34,4 @@ /**

export { buildSyntheticDocx, buildDocxFromParts, type SyntheticDocxOptions, type DocxPartsOptions, } from './integration/synthetic-docx-fixture.js';
export { generateDocx, type GenerateDocxOptions, GenerationSpecError, GenerationInternalError, type GenerationSpecErrorCode, checkGeneratedPackage, type StructuralCheckResult, type StructuralIssue, coverTermsTable, signatureBlock, type CoverTermsOptions, type SignatureBlockOptions, } from './generation/index.js';
export { generateDocx, type GenerateDocxOptions, GenerationSpecError, GenerationInternalError, type GenerationSpecErrorCode, checkGeneratedPackage, type StructuralCheckResult, type StructuralIssue, } from './generation/index.js';
export type { BlockSpec, BorderSpec, BreakSpec, DocumentMetaSpec, DocumentSpec, DraftingNoteSpec, FieldSpec, HeaderFooterSet, HeaderFooterSpec, InlineSpec, NumberingSpec, ParagraphSpec, RunProps, RunSpec, SectionSpec, StyleSpec, TableBorders, TableCellSpec, TableRowSpec, TableSpec, TabSpec, } from './generation/index.js';
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gCAAgC,EAChC,qCAAqC,EACrC,qCAAqC,EACrC,iCAAiC,EACjC,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAGD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,4CAA4C,CAAC;AAG3D,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAK/H,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,eAAe,EACf,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,uBAAuB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gCAAgC,EAChC,qCAAqC,EACrC,qCAAqC,EACrC,iCAAiC,EACjC,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,0BAA0B,EAC1B,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAGD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,4CAA4C,CAAC;AAG3D,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAK/H,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,uBAAuB,CAAC"}

@@ -69,3 +69,3 @@ /**

// scenario coverage enforced strictly in CI.
export { generateDocx, GenerationSpecError, GenerationInternalError, checkGeneratedPackage, coverTermsTable, signatureBlock, } from './generation/index.js';
export { generateDocx, GenerationSpecError, GenerationInternalError, checkGeneratedPackage, } from './generation/index.js';
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAuB5E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAAe,EACf,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEpF,+CAA+C;IAC/C,IAAK,MAAiB,KAAK,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,+DAA+D;YAC/D,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE;YACjD,MAAM;YACN,IAAI;YACJ,kBAAkB;YAClB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,MAAM,IAAI,KAAK,CACb,kEAAkE;QAClE,2DAA2D,CAC5D,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AAExC,mCAAmC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,eAAe,CAAC;AAE9B,2BAA2B;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,6BAA6B;AAC7B,cAAc,uBAAuB,CAAC;AAEtC,qDAAqD;AACrD,cAAc,4CAA4C,CAAC;AAE3D,gCAAgC;AAChC,cAAc,gBAAgB,CAAC;AAE/B,+BAA+B;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,mEAAmE;AACnE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAO/C,2FAA2F;AAC3F,2FAA2F;AAC3F,oGAAoG;AACpG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAkB,MAAM,qCAAqC,CAAC;AAE/H,mFAAmF;AACnF,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,yCAAyC,CAAC;AAEjD,+EAA+E;AAC/E,6EAA6E;AAC7E,6CAA6C;AAC7C,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACnB,uBAAuB,EAEvB,qBAAqB,EAGrB,eAAe,EACf,cAAc,GAGf,MAAM,uBAAuB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAuB5E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAAe,EACf,UAA0B,EAAE;IAE5B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEpF,+CAA+C;IAC/C,IAAK,MAAiB,KAAK,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,+DAA+D;YAC/D,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE;YACjD,MAAM;YACN,IAAI;YACJ,kBAAkB;YAClB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,MAAM,IAAI,KAAK,CACb,kEAAkE;QAClE,2DAA2D,CAC5D,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AAExC,mCAAmC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,+BAA+B;AAC/B,cAAc,eAAe,CAAC;AAE9B,2BAA2B;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,6BAA6B;AAC7B,cAAc,uBAAuB,CAAC;AAEtC,qDAAqD;AACrD,cAAc,4CAA4C,CAAC;AAE3D,gCAAgC;AAChC,cAAc,gBAAgB,CAAC;AAE/B,+BAA+B;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,mEAAmE;AACnE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAO/C,2FAA2F;AAC3F,2FAA2F;AAC3F,oGAAoG;AACpG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAkB,MAAM,qCAAqC,CAAC;AAE/H,mFAAmF;AACnF,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,yCAAyC,CAAC;AAEjD,+EAA+E;AAC/E,6EAA6E;AAC7E,6CAA6C;AAC7C,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACnB,uBAAuB,EAEvB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC"}
{
"name": "@usejunior/docx-core",
"version": "0.14.0",
"version": "0.15.0",
"description": "OOXML (.docx) core library: primitives, comparison, and track changes",

@@ -16,3 +16,6 @@ "type": "module",

"test:coverage": "node ../../node_modules/vitest/vitest.mjs run --coverage --coverage.reporter=text-summary --coverage.reporter=json-summary --coverage.reporter=lcov",
"check:spec-coverage": "node scripts/validate_openspec_coverage.mjs && node scripts/validate_primitives_openspec_coverage.mjs",
"check:spec-coverage": "npm run check:spec-coverage:openspec && npm run check:spec-coverage:primitives -- --strict && npm run check:spec-coverage:tag-density",
"check:spec-coverage:openspec": "node scripts/validate_openspec_coverage.mjs",
"check:spec-coverage:primitives": "node scripts/validate_primitives_openspec_coverage.mjs",
"check:spec-coverage:tag-density": "node scripts/validate_openspec_tag_density.mjs",
"check:spec-coverage-generation": "node scripts/validate_generation_openspec_coverage.mjs",

@@ -19,0 +22,0 @@ "lint": "tsc --noEmit",

/**
* Legal-document recipes.
*
* Pure functions producing spec nodes from options — no own OOXML
* representation, no compiler hooks. Everything a recipe returns is built
* from the paragraph/table grammar, so its output is inlineable anywhere a
* BlockSpec is accepted and serializes through exactly the emitters the
* rest of the document uses. Signature lines are bottom-bordered cells, not
* VML shapes: Pages and Google Docs mangle VML, borders survive everywhere.
*/
import type { BlockSpec, HighlightColor, TableSpec } from './types.js';
/** A value cell that can be flagged as an unfilled fillable placeholder. */
type FillableValue = {
fillable?: boolean;
};
export type CoverTermRow = {
label: string;
value: string;
} & FillableValue;
export type CoverTermGroupRow = {
group: string;
};
export type CoverTermSubrow = {
label: string;
value: string;
subrow: true;
} & FillableValue;
export type CoverTermEntry = CoverTermRow | CoverTermGroupRow | CoverTermSubrow;
export type CoverTermsOptions = {
/** Plain rows, group headers, and subrows rendered in declaration order. */
terms: CoverTermEntry[];
/** Two-column widths in twips; defaults to a 2880/6480 split of a 6.5" body. */
columnWidthsTwips?: [number, number];
/** Heading text for a shaded full-width header row; omitted when absent. */
title?: string;
/** Table border style; defaults to the historical full grid. */
borderMode?: 'grid' | 'horizontal-rules';
/** Optional minimum row height applied to term/group/sub rows, not the title row. */
rowHeightTwips?: number;
/** Optional uniform cell padding applied to every cover-terms cell. */
cellPaddingTwips?: number;
/**
* Optional non-uniform cell margins. When set it supersedes `cellPaddingTwips`
* for every cover-terms cell (the subrow label indent is still added on top of
* the resulting `left`).
*/
cellMarginsTwips?: {
top?: number;
right?: number;
bottom?: number;
left?: number;
};
/** Body font applied to every label/value/group run; default inherits Normal. */
fontFamily?: string;
/** Point size for plain-row and group runs; default inherits Normal. */
sizePt?: number;
/** Point size for subrow runs; defaults to `sizePt`. */
subrowSizePt?: number;
/** Text color for plain-row labels/values (six-hex, no '#'); default unset. */
textColorHex?: string;
/** Text color for group-row labels; defaults to `textColorHex`. */
groupColorHex?: string;
/** Text color for subrow labels and values; defaults to mid-gray. */
subrowColorHex?: string;
/** Highlight applied to a value flagged `fillable`; defaults to `yellow`. */
fillableHighlight?: HighlightColor;
/**
* Extra left indent on subrow label cells, added on top of `cellPaddingTwips`
* (so the label sits further right than a normal row). Defaults to 240 twips.
*/
subrowLabelIndentTwips?: number;
/** Color (six-hex, no '#') for the table's single-style borders. Default 'auto'. */
ruleColorHex?: string;
/** Weight in eighths of a point for the single-style borders. Default 4 (0.5pt). */
ruleSizeEighthPt?: number;
};
/**
* A fixed-layout two-column label/value table for cover-terms blocks
* (scenario SDX-GEN-070), with optional house-style grouped/sub rows
* (SDX-GEN-106) and run styling + fillable placeholders (SDX-GEN-110).
*/
export declare function coverTermsTable(options: CoverTermsOptions): TableSpec;
export type SignatureBlockOptions = {
parties: Array<{
/** Party heading above the signature line, e.g. the company name. */
party: string;
/** Signatory name printed under the line. */
name: string;
title?: string;
/** Label for the date row; defaults to 'Date:'. */
dateLabel?: string;
/** Override block `fillable` for this party's Print Name (oa-stacked-ruled). Default: `fillable`. */
nameFillable?: boolean;
/** Override block `fillable` for this party's Title (oa-stacked-ruled). Default: `fillable`. */
titleFillable?: boolean;
}>;
/** Signature-line column width in twips; defaults to 4320 (3"). Single-column only. */
lineWidthTwips?: number;
/** Layout selector. Defaults to 'single-column' (the historical behavior). */
layout?: 'single-column' | 'two-column' | 'oa-stacked-ruled';
/** Total grid width in twips, split across the two signer columns. Defaults to 9360 (6.5" body). */
totalWidthTwips?: number;
/** Center gutter column width between the two signer cells. Defaults to 360 (0.25"). */
gutterTwips?: number;
/** Color for the muted party header and field captions. Defaults to '595959'. */
headerColorHex?: string;
/** Captions for the four ruled lines. Defaults to ['Signature', 'Print Name', 'Title', 'Date']. */
ruledLineLabels?: [string, string, string, string];
/** Width of the left label column in twips. Defaults to 1800 (1.25"). */
labelColumnTwips?: number;
/** Minimum signing-row height in twips (room to sign). Defaults to 620. */
ruledRowHeightTwips?: number;
/** Which fields render, in order. Defaults to all four. */
fields?: Array<'signature' | 'printName' | 'title' | 'date'>;
/** Body font for the OA signature header + labels + values. */
fontFamily?: string;
/** Mark pre-filled values (printName/title) as fillable -> highlight + bold. */
fillable?: boolean;
/** Highlight for fillable values; defaults to `yellow`. */
fillableHighlight?: HighlightColor;
/** Bold the centered party header (oa-stacked-ruled). Default false. */
headerBold?: boolean;
/** Party-header point size (oa-stacked-ruled). Default: inherit Normal. */
headerSizePt?: number;
/** Color (six-hex) for the ruled signing line (oa-stacked-ruled). Default 'auto'. */
lineColorHex?: string;
/** Ruled signing-line weight in eighths of a point (oa-stacked-ruled). Default 4. */
lineSizeEighthPt?: number;
};
/**
* Signature blocks rendered as borderless tables whose content cells carry
* only bottom borders — the signature lines. No VML, no images.
*
* - `single-column` (default): the historical stacked block — one table per
* party, a bottom-bordered line then name/title/date rows (SDX-GEN-071).
* - `two-column`: a paired signing grid, two signers per row, each a centered
* muted header over ruled Signature/Print Name/Title/Date lines with captions
* beneath (SDX-GEN-109).
* - `oa-stacked-ruled`: per party, a centered muted-caps header over a
* label-column / ruled-line table with tall signing rows (SDX-GEN-111).
*/
export declare function signatureBlock(options: SignatureBlockOptions): BlockSpec[];
export {};
//# sourceMappingURL=recipes.d.ts.map
{"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/generation/recipes.ts"],"names":[],"mappings":"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"}
/**
* Legal-document recipes.
*
* Pure functions producing spec nodes from options — no own OOXML
* representation, no compiler hooks. Everything a recipe returns is built
* from the paragraph/table grammar, so its output is inlineable anywhere a
* BlockSpec is accepted and serializes through exactly the emitters the
* rest of the document uses. Signature lines are bottom-bordered cells, not
* VML shapes: Pages and Google Docs mangle VML, borders survive everywhere.
*/
const SINGLE = { style: 'single' };
const NONE = { style: 'none' };
const DEFAULT_SUBROW_COLOR_HEX = '595959';
const DEFAULT_SUBROW_LABEL_INDENT_TWIPS = 240;
const DEFAULT_FILLABLE_HIGHLIGHT = 'yellow';
/**
* A fixed-layout two-column label/value table for cover-terms blocks
* (scenario SDX-GEN-070), with optional house-style grouped/sub rows
* (SDX-GEN-106) and run styling + fillable placeholders (SDX-GEN-110).
*/
export function coverTermsTable(options) {
const [labelWidth, valueWidth] = options.columnWidthsTwips ?? [2880, 6480];
// The single-style borders honor an optional house-style color/weight; omitting
// both yields the bare `{ style: 'single' }` (w:sz="4" w:color="auto") as before.
const rule = {
style: 'single',
...(options.ruleSizeEighthPt !== undefined ? { sizeEighthPt: options.ruleSizeEighthPt } : {}),
...(options.ruleColorHex !== undefined ? { colorHex: options.ruleColorHex } : {}),
};
const borders = options.borderMode === 'horizontal-rules'
? { top: rule, bottom: rule, left: NONE, right: NONE, insideH: rule, insideV: NONE }
: { top: rule, bottom: rule, left: rule, right: rule, insideH: rule, insideV: rule };
const rowRhythm = rowRhythmProps(options);
const font = options.fontFamily;
const plainSize = options.sizePt;
const subSize = options.subrowSizePt ?? options.sizePt;
const fillHighlight = options.fillableHighlight ?? DEFAULT_FILLABLE_HIGHLIGHT;
const rows = [];
if (options.title !== undefined) {
rows.push({
header: true,
cells: [
{
gridSpan: 2,
shadingHex: 'D9D9D9',
vAlign: 'center',
...cellMarginProps(options),
blocks: [paragraph(options.title, { bold: true, alignment: 'center', font, sizePt: plainSize })],
},
],
});
}
for (const term of options.terms) {
if ('group' in term) {
rows.push({
...rowRhythm,
cells: [
{
gridSpan: 2,
vAlign: 'center',
...cellMarginProps(options),
blocks: [
paragraph(term.group, {
bold: true,
font,
sizePt: plainSize,
colorHex: options.groupColorHex ?? options.textColorHex,
}),
],
},
],
});
continue;
}
const subrow = 'subrow' in term && term.subrow === true;
const size = subrow ? subSize : plainSize;
const labelColor = subrow ? (options.subrowColorHex ?? DEFAULT_SUBROW_COLOR_HEX) : options.textColorHex;
const valueColor = subrow ? (options.subrowColorHex ?? DEFAULT_SUBROW_COLOR_HEX) : options.textColorHex;
const subrowIndent = (uniformLeft(options)) + (options.subrowLabelIndentTwips ?? DEFAULT_SUBROW_LABEL_INDENT_TWIPS);
rows.push({
...rowRhythm,
cells: [
{
...cellMarginProps(options, subrow ? { left: subrowIndent } : undefined),
blocks: [paragraph(term.label, { bold: !subrow, italic: subrow, colorHex: labelColor, font, sizePt: size })],
},
{
...cellMarginProps(options),
blocks: [
paragraph(term.value, {
italic: subrow,
colorHex: valueColor,
font,
sizePt: size,
...(term.fillable ? { bold: true, highlight: fillHighlight } : {}),
}),
],
},
],
});
}
return {
kind: 'table',
layout: 'fixed',
columnWidthsTwips: [labelWidth, valueWidth],
borders,
rows,
};
}
/**
* Signature blocks rendered as borderless tables whose content cells carry
* only bottom borders — the signature lines. No VML, no images.
*
* - `single-column` (default): the historical stacked block — one table per
* party, a bottom-bordered line then name/title/date rows (SDX-GEN-071).
* - `two-column`: a paired signing grid, two signers per row, each a centered
* muted header over ruled Signature/Print Name/Title/Date lines with captions
* beneath (SDX-GEN-109).
* - `oa-stacked-ruled`: per party, a centered muted-caps header over a
* label-column / ruled-line table with tall signing rows (SDX-GEN-111).
*/
export function signatureBlock(options) {
const layout = options.layout ?? 'single-column';
if (layout === 'two-column')
return [twoColumnSignatureGrid(options)];
if (layout === 'oa-stacked-ruled')
return oaStackedRuledSignatures(options);
const width = options.lineWidthTwips ?? 4320;
const blocks = [];
options.parties.forEach((party, index) => {
if (index > 0)
blocks.push(paragraph(''));
blocks.push(paragraph(party.party, { bold: true }));
const rows = [
{ cells: [{ borders: { bottom: SINGLE }, blocks: [paragraph('')] }] },
{ cells: [{ blocks: [paragraph(`Name: ${party.name}`)] }] },
];
if (party.title !== undefined) {
rows.push({ cells: [{ blocks: [paragraph(`Title: ${party.title}`)] }] });
}
rows.push({ cells: [{ blocks: [paragraph(party.dateLabel ?? 'Date:')] }] });
blocks.push({
kind: 'table',
layout: 'fixed',
columnWidthsTwips: [width],
rows,
});
});
return blocks;
}
function paragraph(text, opts) {
return {
kind: 'paragraph',
...(opts?.alignment !== undefined ? { alignment: opts.alignment } : {}),
runs: [
{
kind: 'text',
text,
...(opts?.bold ? { bold: true } : {}),
...(opts?.italic ? { italic: true } : {}),
...(opts?.caps ? { caps: true } : {}),
...(opts?.colorHex !== undefined ? { colorHex: opts.colorHex } : {}),
...(opts?.font !== undefined ? { font: opts.font } : {}),
...(opts?.sizePt !== undefined ? { sizePt: opts.sizePt } : {}),
...(opts?.highlight !== undefined ? { highlight: opts.highlight } : {}),
},
],
};
}
/**
* OA stacked-ruled signatures: per party a centered uppercase muted header over
* a borderless `[label | ruled line]` two-column table with tall signing rows.
* Print Name / Title are pre-filled from the party data and optionally rendered
* as fillable (highlight + bold) placeholders.
*/
function oaStackedRuledSignatures(options) {
const total = options.totalWidthTwips ?? 9360;
const labelWidth = options.labelColumnTwips ?? 1800;
const lineWidth = Math.max(1, total - labelWidth);
const rowHeight = options.ruledRowHeightTwips ?? 620;
const muted = options.headerColorHex ?? DEFAULT_SUBROW_COLOR_HEX;
const font = options.fontFamily;
const fields = options.fields ?? ['signature', 'printName', 'title', 'date'];
// Caption overrides honor the same `ruledLineLabels` tuple as the two-column
// path ([Signature, Print Name, Title, Date]); the Date caption additionally
// honors a per-party `dateLabel`, matching single-column / two-column behavior.
const labels = options.ruledLineLabels ?? ['Signature', 'Print Name', 'Title', 'Date'];
const captionFor = (field, party) => {
switch (field) {
case 'signature':
return labels[0];
case 'printName':
return labels[1];
case 'title':
return labels[2];
case 'date':
return party.dateLabel ?? labels[3];
}
};
const fillHighlight = options.fillableHighlight ?? DEFAULT_FILLABLE_HIGHLIGHT;
const noBorders = { top: NONE, bottom: NONE, left: NONE, right: NONE, insideH: NONE, insideV: NONE };
// The ruled signing line honors an optional house-style color/weight; omitting
// both yields the bare `{ style: 'single' }` bottom border as before.
const lineBorder = {
style: 'single',
...(options.lineSizeEighthPt !== undefined ? { sizeEighthPt: options.lineSizeEighthPt } : {}),
...(options.lineColorHex !== undefined ? { colorHex: options.lineColorHex } : {}),
};
const blocks = [];
for (const party of options.parties) {
blocks.push(paragraph(party.party, {
alignment: 'center',
caps: true,
colorHex: muted,
font,
...(options.headerBold ? { bold: true } : {}),
...(options.headerSizePt !== undefined ? { sizePt: options.headerSizePt } : {}),
}));
const rows = fields.map((field) => {
const value = field === 'printName' ? party.name : field === 'title' ? (party.title ?? '') : '';
// Print Name / Title resolve their fillable flag per party, falling back to
// the block-level `fillable`; Signature / Date are never fillable. This lets
// a filled assignment stay un-highlighted while an unfilled placeholder is.
const fieldFillable = field === 'printName'
? (party.nameFillable ?? options.fillable)
: field === 'title'
? (party.titleFillable ?? options.fillable)
: false;
const fillableValue = fieldFillable === true && value !== '';
return {
heightTwips: rowHeight,
heightRule: 'atLeast',
cells: [
{
vAlign: 'bottom',
borders: noBorders,
blocks: [paragraph(captionFor(field, party), { bold: true, font })],
},
{
vAlign: 'bottom',
borders: { bottom: lineBorder },
blocks: [
paragraph(value, {
font,
...(fillableValue ? { bold: true, highlight: fillHighlight } : {}),
}),
],
},
],
};
});
blocks.push({
kind: 'table',
layout: 'fixed',
columnWidthsTwips: [labelWidth, lineWidth],
borders: noBorders,
rows,
});
}
return blocks;
}
/**
* Two-column signing grid: parties chunked into pairs across a 3-column table
* `[signer, gutter, signer]`, with an empty padding cell for an odd final
* signer. Each signer cell stacks a centered uppercase muted header over a
* nested one-column table of four ruled fields (Signature / Print Name / Title
* / Date), reusing the bottom-bordered-cell rule from the single-column path.
*/
function twoColumnSignatureGrid(options) {
const total = options.totalWidthTwips ?? 9360;
const gutter = options.gutterTwips ?? 360;
const signer = Math.max(1, Math.floor((total - gutter) / 2));
const mutedColor = options.headerColorHex ?? DEFAULT_SUBROW_COLOR_HEX;
const labels = options.ruledLineLabels ?? ['Signature', 'Print Name', 'Title', 'Date'];
const gutterCell = {
borders: { top: NONE, bottom: NONE, left: NONE, right: NONE },
blocks: [paragraph('')],
};
const paddingCell = {
borders: { top: NONE, bottom: NONE, left: NONE, right: NONE },
blocks: [paragraph('')],
};
const rows = [];
for (let i = 0; i < options.parties.length; i += 2) {
const left = options.parties[i];
if (left === undefined)
continue;
const right = options.parties[i + 1];
rows.push({
cells: [
signerCell(left, labels, mutedColor),
gutterCell,
right === undefined ? paddingCell : signerCell(right, labels, mutedColor),
],
});
}
return {
kind: 'table',
layout: 'fixed',
columnWidthsTwips: [signer, gutter, signer],
borders: { top: NONE, bottom: NONE, left: NONE, right: NONE, insideH: NONE, insideV: NONE },
rows,
};
}
function signerCell(party, labels, mutedColor) {
// Pre-fill Print Name / Title from the party data; Signature / Date stay blank.
const fields = [
['', labels[0]],
[party.name, labels[1]],
[party.title ?? '', labels[2]],
['', party.dateLabel ?? labels[3]],
];
return {
vAlign: 'top',
blocks: [
paragraph(party.party, { alignment: 'center', caps: true, colorHex: mutedColor }),
{
kind: 'table',
layout: 'fixed',
columnWidthsTwips: [4320],
borders: { top: NONE, bottom: NONE, left: NONE, right: NONE, insideH: NONE, insideV: NONE },
rows: fields.flatMap(([value, caption]) => ruledFieldRows(value, caption, mutedColor)),
},
],
};
}
/** A ruled field = the bottom-bordered value line, then its muted caption beneath. */
function ruledFieldRows(value, caption, mutedColor) {
return [
{ cells: [{ borders: { bottom: SINGLE }, blocks: [paragraph(value)] }] },
{ cells: [{ blocks: [paragraph(caption, { colorHex: mutedColor })] }] },
];
}
function rowRhythmProps(options) {
return options.rowHeightTwips === undefined ? {} : { heightTwips: options.rowHeightTwips, heightRule: 'atLeast' };
}
/** The effective uniform left margin (non-uniform margins win over uniform padding). */
function uniformLeft(options) {
if (options.cellMarginsTwips !== undefined)
return options.cellMarginsTwips.left ?? 0;
return options.cellPaddingTwips ?? 0;
}
function cellMarginProps(options, overrides) {
const base = options.cellMarginsTwips
? { ...options.cellMarginsTwips }
: options.cellPaddingTwips !== undefined
? {
top: options.cellPaddingTwips,
right: options.cellPaddingTwips,
bottom: options.cellPaddingTwips,
left: options.cellPaddingTwips,
}
: undefined;
if (base === undefined && overrides === undefined)
return {};
return { marginsTwips: { ...(base ?? {}), ...(overrides ?? {}) } };
}
//# sourceMappingURL=recipes.js.map
{"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/generation/recipes.ts"],"names":[],"mappings":"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"}

Sorry, the diff of this file is not supported yet