@json-to-office/core-docx 0.1.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAoB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA6ExC;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,EAAE,CAAC,CAyDlB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAoB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8ExC;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,EAAE,CAAC,CAyDlB"}
@@ -196,7 +196,8 @@ type TableConfig = {
196
196
  headerCellDefaults?: CellDefaults;
197
197
  width?: number;
198
198
  columns: {
199
- width?: number;
199
+ /** Width in points (number) or as percentage string e.g. "40%" */
200
+ width?: number | string;
200
201
  cellDefaults?: CellDefaults;
201
202
  header?: CellDefaults & {
202
203
  content?: string | ComponentDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/core/content.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1421,7 +1421,6 @@ var init_styles = __esm({
1421
1421
  // src/utils/widthUtils.ts
1422
1422
  var widthUtils_exports = {};
1423
1423
  __export(widthUtils_exports, {
1424
- __widthUtils: () => __widthUtils,
1425
1424
  getAvailableHeightTwips: () => getAvailableHeightTwips,
1426
1425
  getAvailableWidthTwips: () => getAvailableWidthTwips,
1427
1426
  getPageHeightTwips: () => getPageHeightTwips,
@@ -1466,13 +1465,11 @@ function relativeLengthToTwips(value, availableWidthTwips) {
1466
1465
  if (fraction === void 0) return 0;
1467
1466
  return Math.round(availableWidthTwips * fraction);
1468
1467
  }
1469
- var __widthUtils;
1470
1468
  var init_widthUtils = __esm({
1471
1469
  "src/utils/widthUtils.ts"() {
1472
1470
  "use strict";
1473
1471
  init_styles();
1474
1472
  init_styleHelpers();
1475
- __widthUtils = true;
1476
1473
  }
1477
1474
  });
1478
1475
 
@@ -5056,15 +5053,21 @@ async function createTable(columns, tableConfig, theme, themeName, _options = {}
5056
5053
  let columnWidths;
5057
5054
  let tableWidth;
5058
5055
  if (hasExplicitWidths) {
5059
- const { getAvailableWidthTwips: getAvailableWidthTwips2 } = await Promise.resolve().then(() => (init_widthUtils(), widthUtils_exports));
5056
+ const widthUtils = await Promise.resolve().then(() => (init_widthUtils(), widthUtils_exports));
5057
+ const { getAvailableWidthTwips: getAvailableWidthTwips2, relativeLengthToTwips: relativeLengthToTwips2 } = widthUtils;
5060
5058
  const availableTableWidth = getAvailableWidthTwips2(theme, themeName);
5061
5059
  const columnsWithExplicitWidthTwips = columns.map(
5062
- (col) => col.width !== void 0 ? pointsToTwips(col.width) : void 0
5060
+ (col) => col.width !== void 0 ? relativeLengthToTwips2(col.width, availableTableWidth) : void 0
5063
5061
  );
5064
5062
  const totalExplicitWidth = columnsWithExplicitWidthTwips.reduce(
5065
5063
  (sum, w) => sum + (w || 0),
5066
5064
  0
5067
5065
  );
5066
+ if (totalExplicitWidth > availableTableWidth) {
5067
+ console.warn(
5068
+ `[json-to-office] Column widths total (${totalExplicitWidth} twips) exceeds available table width (${availableTableWidth} twips). Table may overflow.`
5069
+ );
5070
+ }
5068
5071
  const columnsWithoutWidth = columns.filter(
5069
5072
  (col) => col.width === void 0
5070
5073
  ).length;
@@ -6175,42 +6178,15 @@ async function renderHighchartsComponent(component, theme, _themeName) {
6175
6178
  import { Type } from "@sinclair/typebox";
6176
6179
 
6177
6180
  // src/plugin/createComponent.ts
6178
- import { isValidSemver } from "@json-to-office/shared";
6181
+ import {
6182
+ createVersion as sharedCreateVersion,
6183
+ createComponent as sharedCreateComponent
6184
+ } from "@json-to-office/shared/plugin";
6179
6185
  function createVersion(version) {
6180
- return version;
6186
+ return sharedCreateVersion(version);
6181
6187
  }
6182
6188
  function createComponent(component) {
6183
- if (!component.name) {
6184
- throw new Error("Component name is required");
6185
- }
6186
- if (!component.versions || typeof component.versions !== "object") {
6187
- throw new Error(`Component "${component.name}" requires a versions map`);
6188
- }
6189
- const versionKeys = Object.keys(component.versions);
6190
- if (versionKeys.length === 0) {
6191
- throw new Error(
6192
- `Component "${component.name}" must have at least one version`
6193
- );
6194
- }
6195
- for (const key of versionKeys) {
6196
- if (!isValidSemver(key)) {
6197
- throw new Error(
6198
- `Component "${component.name}": invalid semver key "${key}". Expected format: major.minor.patch`
6199
- );
6200
- }
6201
- const entry = component.versions[key];
6202
- if (!entry.propsSchema) {
6203
- throw new Error(
6204
- `Component "${component.name}" version "${key}" requires a propsSchema`
6205
- );
6206
- }
6207
- if (!entry.render || typeof entry.render !== "function") {
6208
- throw new Error(
6209
- `Component "${component.name}" version "${key}" requires a render function`
6210
- );
6211
- }
6212
- }
6213
- return component;
6189
+ return sharedCreateComponent(component);
6214
6190
  }
6215
6191
 
6216
6192
  // src/components/text-space-after.ts
@@ -7089,62 +7065,29 @@ async function runExample(example, options = {}) {
7089
7065
  }
7090
7066
 
7091
7067
  // src/plugin/createDocumentGenerator.ts
7068
+ init_styles();
7092
7069
  import { Packer as Packer2 } from "docx";
7093
7070
 
7094
7071
  // src/plugin/version-resolver.ts
7095
- import { latestVersion } from "@json-to-office/shared-docx";
7096
- function resolveComponentVersion(componentName, versions, requestedVersion) {
7097
- const versionKeys = Object.keys(versions);
7098
- if (requestedVersion) {
7099
- const entry = versions[requestedVersion];
7100
- if (!entry) {
7101
- throw new Error(
7102
- `Component "${componentName}" does not have version "${requestedVersion}". Available versions: ${versionKeys.join(", ")}`
7103
- );
7104
- }
7105
- return entry;
7106
- }
7107
- const latest = latestVersion(versionKeys);
7108
- return versions[latest];
7109
- }
7072
+ import { resolveComponentVersion } from "@json-to-office/shared/plugin";
7110
7073
 
7111
7074
  // src/plugin/validation.ts
7112
7075
  import {
7113
7076
  validateCustomComponentProps,
7077
+ ComponentValidationError
7078
+ } from "@json-to-office/shared/plugin";
7079
+ import {
7114
7080
  validateDocument as validateDocumentUnified
7115
7081
  } from "@json-to-office/shared-docx/validation/unified";
7116
- var DuplicateComponentError = class _DuplicateComponentError extends Error {
7117
- componentName;
7118
- code = "DUPLICATE_COMPONENT";
7119
- constructor(componentName) {
7120
- super(
7121
- `Cannot register component "${componentName}": a component with this name is already registered. Component names must be unique within a document generator.`
7122
- );
7123
- this.name = "DuplicateComponentError";
7124
- this.componentName = componentName;
7125
- if (Error.captureStackTrace) {
7126
- Error.captureStackTrace(this, _DuplicateComponentError);
7127
- }
7128
- }
7129
- };
7130
- var ComponentValidationError = class extends Error {
7131
- errors;
7132
- props;
7133
- constructor(errors, props) {
7134
- const propsStr = props !== void 0 ? `
7135
- Props: ${JSON.stringify(props, null, 2)}` : "";
7136
- const message = `Document validation failed:
7137
- ${errors.map((e) => ` ${e.path}: ${e.message}`).join("\n")}${propsStr}`;
7138
- super(message);
7139
- this.name = "ComponentValidationError";
7140
- this.errors = errors;
7141
- this.props = props;
7142
- }
7143
- };
7144
- function validateComponentProps(schema, props) {
7082
+ import {
7083
+ DuplicateComponentError,
7084
+ ComponentValidationError as ComponentValidationError2
7085
+ } from "@json-to-office/shared/plugin";
7086
+ function validateComponentProps(schema, props, componentName) {
7145
7087
  return validateCustomComponentProps(schema.propsSchema, props, {
7146
7088
  clean: true,
7147
- applyDefaults: true
7089
+ applyDefaults: true,
7090
+ componentName
7148
7091
  });
7149
7092
  }
7150
7093
  function validateDocument(document, customComponents) {
@@ -7171,7 +7114,8 @@ function validateDocument(document, customComponents) {
7171
7114
  );
7172
7115
  const validation = validateComponentProps(
7173
7116
  versionEntry,
7174
- componentData.props
7117
+ componentData.props,
7118
+ customComponent.name
7175
7119
  );
7176
7120
  if (!validation.valid && validation.errors) {
7177
7121
  const indexedErrors = validation.errors.map(
@@ -7206,7 +7150,7 @@ var cleanComponentProps = getValidatedProps;
7206
7150
 
7207
7151
  // src/plugin/schema.ts
7208
7152
  import { Type as Type2 } from "@sinclair/typebox";
7209
- import { latestVersion as latestVersion2 } from "@json-to-office/shared-docx";
7153
+ import { latestVersion } from "@json-to-office/shared-docx";
7210
7154
  import {
7211
7155
  ReportPropsSchema,
7212
7156
  SectionPropsSchema,
@@ -7261,7 +7205,7 @@ function generateComponentSchemas(customComponents) {
7261
7205
  const schemas = {};
7262
7206
  for (const component of customComponents) {
7263
7207
  const versionKeys = Object.keys(component.versions);
7264
- const latest = latestVersion2(versionKeys);
7208
+ const latest = latestVersion(versionKeys);
7265
7209
  for (const v of versionKeys) {
7266
7210
  const entry = component.versions[v];
7267
7211
  const cacheKey = `component_${component.name}@${v}`;
@@ -7359,45 +7303,29 @@ function mergeSchemas(customComponents, standardSchemas) {
7359
7303
  };
7360
7304
  }
7361
7305
 
7362
- // src/styles/theme-resolver.ts
7363
- init_themes();
7364
- function resolveTheme2(theme) {
7365
- if (typeof theme === "string") {
7366
- const resolvedTheme = getTheme(theme);
7367
- if (resolvedTheme) {
7368
- return resolvedTheme;
7369
- }
7370
- return getTheme("minimal");
7371
- }
7372
- if (theme) {
7373
- return theme;
7374
- }
7375
- return getTheme("minimal");
7376
- }
7377
-
7378
- // src/styles/theme-validator.ts
7379
- import { validateTheme as validateThemeUnified } from "@json-to-office/shared-docx/validation/unified";
7380
- function validateTheme(theme) {
7381
- if (!theme) {
7382
- return void 0;
7383
- }
7384
- if (typeof theme === "string") {
7385
- return theme;
7386
- }
7387
- const result = validateThemeUnified(theme);
7388
- if (!result.valid) {
7389
- const errorSummary = result.errors?.map((e) => e.message).join(", ") || "Invalid theme";
7390
- throw new Error(`Invalid theme: ${errorSummary}`);
7391
- }
7392
- return result.data;
7393
- }
7394
-
7395
7306
  // src/plugin/createDocumentGenerator.ts
7396
7307
  function createBuilderImpl(state) {
7397
- const validatedTheme = validateTheme(state.theme);
7398
- const fullTheme = resolveTheme2(validatedTheme);
7399
7308
  const componentMap = new Map(state.components.map((c) => [c.name, c]));
7400
- async function processDocumentComponents(components, warningsCollector) {
7309
+ function resolveDocumentTheme(themeName) {
7310
+ if (state.customThemes) {
7311
+ if (state.customThemes[themeName]) {
7312
+ return state.customThemes[themeName];
7313
+ }
7314
+ const key = Object.keys(state.customThemes).find(
7315
+ (k) => k.toLowerCase() === themeName.toLowerCase()
7316
+ );
7317
+ if (key) {
7318
+ return state.customThemes[key];
7319
+ }
7320
+ }
7321
+ return getThemeWithFallback(themeName);
7322
+ }
7323
+ async function processDocumentComponents(components, warningsCollector, resolvedTheme, depth = 0) {
7324
+ if (depth > 20) {
7325
+ throw new Error(
7326
+ "Maximum component nesting depth exceeded (20). Check for circular component references."
7327
+ );
7328
+ }
7401
7329
  const processedComponents = [];
7402
7330
  for (const componentData of components) {
7403
7331
  const componentName = componentData?.name;
@@ -7427,7 +7355,9 @@ function createBuilderImpl(state) {
7427
7355
  if (componentWithName.children && Array.isArray(componentWithName.children)) {
7428
7356
  nestedChildren = await processDocumentComponents(
7429
7357
  componentWithName.children,
7430
- warningsCollector
7358
+ warningsCollector,
7359
+ resolvedTheme,
7360
+ depth + 1
7431
7361
  );
7432
7362
  }
7433
7363
  const versionLabel = componentWithName.version ? `${customComponent.name}@${componentWithName.version}` : customComponent.name;
@@ -7441,14 +7371,16 @@ function createBuilderImpl(state) {
7441
7371
  };
7442
7372
  const result = await versionEntry.render({
7443
7373
  props: cleanedProps,
7444
- theme: fullTheme,
7374
+ theme: resolvedTheme,
7445
7375
  addWarning,
7446
7376
  children: nestedChildren
7447
7377
  });
7448
7378
  const resultComponents = Array.isArray(result) ? result : [result];
7449
7379
  const processedResult = await processDocumentComponents(
7450
7380
  resultComponents,
7451
- warningsCollector
7381
+ warningsCollector,
7382
+ resolvedTheme,
7383
+ depth + 1
7452
7384
  );
7453
7385
  processedComponents.push(...processedResult);
7454
7386
  if (state.debug) {
@@ -7458,7 +7390,7 @@ function createBuilderImpl(state) {
7458
7390
  );
7459
7391
  }
7460
7392
  } catch (error) {
7461
- if (error instanceof ComponentValidationError) {
7393
+ if (error instanceof ComponentValidationError2) {
7462
7394
  throw error;
7463
7395
  }
7464
7396
  throw new Error(
@@ -7469,7 +7401,9 @@ function createBuilderImpl(state) {
7469
7401
  if ("children" in componentData && Array.isArray(componentData.children)) {
7470
7402
  const processedNested = await processDocumentComponents(
7471
7403
  componentData.children,
7472
- warningsCollector
7404
+ warningsCollector,
7405
+ resolvedTheme,
7406
+ depth + 1
7473
7407
  );
7474
7408
  processedComponents.push({
7475
7409
  ...componentData,
@@ -7483,18 +7417,19 @@ function createBuilderImpl(state) {
7483
7417
  return processedComponents;
7484
7418
  }
7485
7419
  function addComponent(component) {
7486
- if (state.componentNames.has(component.name)) {
7487
- throw new DuplicateComponentError(component.name);
7488
- }
7489
7420
  if (!component.name) {
7490
7421
  throw new Error("Component name is required");
7491
7422
  }
7423
+ if (state.componentNames.has(component.name)) {
7424
+ throw new DuplicateComponentError(component.name);
7425
+ }
7492
7426
  const newComponentNames = new Set(state.componentNames);
7493
7427
  newComponentNames.add(component.name);
7494
7428
  const newState = {
7495
7429
  components: [...state.components, component],
7496
7430
  componentNames: newComponentNames,
7497
7431
  theme: state.theme,
7432
+ customThemes: state.customThemes,
7498
7433
  debug: state.debug,
7499
7434
  enableCache: state.enableCache
7500
7435
  };
@@ -7509,10 +7444,13 @@ function createBuilderImpl(state) {
7509
7444
  internalDocument,
7510
7445
  state.components
7511
7446
  );
7447
+ const themeName = internalDocument.props.theme || "minimal";
7448
+ const docTheme = resolveDocumentTheme(themeName);
7512
7449
  const warnings = [];
7513
7450
  const processedComponents = await processDocumentComponents(
7514
7451
  internalDocument.children || [],
7515
- warnings
7452
+ warnings,
7453
+ docTheme
7516
7454
  );
7517
7455
  const processedDocument = {
7518
7456
  ...internalDocument,
@@ -7521,10 +7459,10 @@ function createBuilderImpl(state) {
7521
7459
  const [finalReportComponent] = normalizeDocument(processedDocument);
7522
7460
  const structure = await processDocument(
7523
7461
  finalReportComponent,
7524
- fullTheme,
7525
- "custom"
7462
+ docTheme,
7463
+ themeName
7526
7464
  );
7527
- const layout = applyLayout(structure.sections, fullTheme, "custom");
7465
+ const layout = applyLayout(structure.sections, docTheme, themeName);
7528
7466
  const generatedDocument = await renderDocument(structure, layout);
7529
7467
  return {
7530
7468
  document: generatedDocument,
@@ -7560,7 +7498,7 @@ function createBuilderImpl(state) {
7560
7498
  );
7561
7499
  return { valid: true };
7562
7500
  } catch (error) {
7563
- if (error instanceof ComponentValidationError) {
7501
+ if (error instanceof ComponentValidationError2) {
7564
7502
  return {
7565
7503
  valid: false,
7566
7504
  errors: error.errors.map((e) => ({
@@ -7600,10 +7538,13 @@ function createBuilderImpl(state) {
7600
7538
  internalDocument,
7601
7539
  state.components
7602
7540
  );
7541
+ const themeName = internalDocument.props.theme || "minimal";
7542
+ const docTheme = resolveDocumentTheme(themeName);
7603
7543
  const warnings = [];
7604
7544
  const processedComponents = await processDocumentComponents(
7605
7545
  internalDocument.children || [],
7606
- warnings
7546
+ warnings,
7547
+ docTheme
7607
7548
  );
7608
7549
  const processedDocument = {
7609
7550
  ...internalDocument,
@@ -7635,6 +7576,7 @@ function createDocumentGenerator(options) {
7635
7576
  components: [],
7636
7577
  componentNames: /* @__PURE__ */ new Set(),
7637
7578
  theme: options.theme,
7579
+ customThemes: options.customThemes,
7638
7580
  debug: options.debug ?? false,
7639
7581
  enableCache: options.enableCache ?? false
7640
7582
  };
@@ -7653,7 +7595,7 @@ var export_mergeConfigs = cache_exports.mergeConfigs;
7653
7595
  export {
7654
7596
  CacheKeyGenerator,
7655
7597
  export_ComponentCacheAnalytics as ComponentCacheAnalytics,
7656
- ComponentValidationError,
7598
+ ComponentValidationError2 as ComponentValidationError,
7657
7599
  DocumentGenerator as CoreDocumentGenerator,
7658
7600
  export_DEFAULT_CACHE_CONFIG as DEFAULT_CACHE_CONFIG,
7659
7601
  export_MemoryCache as MemoryCache,