doculi 5.12.52 → 5.12.54

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/cli.js CHANGED
@@ -1195,7 +1195,7 @@ function registerSetMetadataCommand(program) {
1195
1195
  }
1196
1196
  //#endregion
1197
1197
  //#region package.json
1198
- var version = "5.12.52";
1198
+ var version = "5.12.54";
1199
1199
  //#endregion
1200
1200
  //#region src/program.ts
1201
1201
  function createProgram() {
@@ -1223,7 +1223,7 @@ function createProgram() {
1223
1223
  //#region src/cli-main.ts
1224
1224
  async function launchTui(startPath, signal) {
1225
1225
  try {
1226
- const { runTui } = await import("./tui-DGrjyiw9.js");
1226
+ const { runTui } = await import("./tui-hRXPFNVQ.js");
1227
1227
  await runTui({
1228
1228
  startPath,
1229
1229
  signal
package/dist/index.cjs CHANGED
@@ -1546,7 +1546,7 @@ function registerSetMetadataCommand(program) {
1546
1546
  }
1547
1547
  //#endregion
1548
1548
  //#region package.json
1549
- var version = "5.12.52";
1549
+ var version = "5.12.54";
1550
1550
  //#endregion
1551
1551
  //#region src/program.ts
1552
1552
  function createProgram() {
package/dist/index.js CHANGED
@@ -1545,7 +1545,7 @@ function registerSetMetadataCommand(program) {
1545
1545
  }
1546
1546
  //#endregion
1547
1547
  //#region package.json
1548
- var version = "5.12.52";
1548
+ var version = "5.12.54";
1549
1549
  //#endregion
1550
1550
  //#region src/program.ts
1551
1551
  function createProgram() {
@@ -2520,6 +2520,8 @@ function parseNumberField(raw, fallback) {
2520
2520
  }
2521
2521
  //#endregion
2522
2522
  //#region src/tui/screens/shared/paragraph-family.tsx
2523
+ const DEFAULT_IMAGE_WIDTH_PT$2 = 120;
2524
+ const DEFAULT_IMAGE_HEIGHT_PT$2 = 40;
2523
2525
  function supportsRunStyleExtras(run) {
2524
2526
  return "underline" in run;
2525
2527
  }
@@ -2610,8 +2612,8 @@ function readFormulaFrame(values) {
2610
2612
  return {
2611
2613
  xPt: parseNumberField(requireFieldValue(values, "xPt"), 0),
2612
2614
  yPt: parseNumberField(requireFieldValue(values, "yPt"), 0),
2613
- widthPt: parseNumberField(requireFieldValue(values, "widthPt"), 120),
2614
- heightPt: parseNumberField(requireFieldValue(values, "heightPt"), 40)
2615
+ widthPt: parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_IMAGE_WIDTH_PT$2),
2616
+ heightPt: parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_IMAGE_HEIGHT_PT$2)
2615
2617
  };
2616
2618
  }
2617
2619
  function ParagraphFamilyBodyList(props) {
@@ -2975,8 +2977,10 @@ function ParagraphFamilyBodyList(props) {
2975
2977
  //#endregion
2976
2978
  //#region src/tui/screens/shared/color.ts
2977
2979
  const HEX_BYTE_MAX = 255;
2980
+ const HEX_RADIX = 16;
2981
+ const HEX_BYTE_DIGITS = 2;
2978
2982
  function toHexByte(component) {
2979
- return Math.round(component * HEX_BYTE_MAX).toString(16).padStart(2, "0");
2983
+ return Math.round(component * HEX_BYTE_MAX).toString(HEX_RADIX).padStart(HEX_BYTE_DIGITS, "0");
2980
2984
  }
2981
2985
  function layoutColorToHex(color) {
2982
2986
  return `#${toHexByte(color.r)}${toHexByte(color.g)}${toHexByte(color.b)}`;
@@ -2987,6 +2991,8 @@ function isValidHexColorInput(input) {
2987
2991
  }
2988
2992
  //#endregion
2989
2993
  //#region src/tui/screens/editors/docx/paragraph-detail.tsx
2994
+ const DEFAULT_IMAGE_WIDTH_PT$1 = 100;
2995
+ const DEFAULT_IMAGE_HEIGHT_PT$1 = 60;
2990
2996
  const DEFAULT_RUN_SIZE_PT = 12;
2991
2997
  const IMAGE_FIELDS = [
2992
2998
  {
@@ -3028,8 +3034,8 @@ async function applyInsertImage(blockIndex, values, dispatch) {
3028
3034
  }
3029
3035
  try {
3030
3036
  const bytes = new Uint8Array(await readInput(path));
3031
- const widthPt = parseNumberField(requireFieldValue(values, "widthPt"), 100);
3032
- const heightPt = parseNumberField(requireFieldValue(values, "heightPt"), 60);
3037
+ const widthPt = parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_IMAGE_WIDTH_PT$1);
3038
+ const heightPt = parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_IMAGE_HEIGHT_PT$1);
3033
3039
  const altTextRaw = requireFieldValue(values, "altText").trim();
3034
3040
  dispatch({
3035
3041
  type: "INSERT_PARAGRAPH_IMAGE",
@@ -4440,7 +4446,7 @@ function formatFrame(box) {
4440
4446
  function formatPoint$1(point) {
4441
4447
  return `${formatPt$1(point.xPt)},${formatPt$1(point.yPt)}`;
4442
4448
  }
4443
- function formatColor$1(color) {
4449
+ function formatColor(color) {
4444
4450
  return `rgb(${color.r.toFixed(2)}, ${color.g.toFixed(2)}, ${color.b.toFixed(2)})`;
4445
4451
  }
4446
4452
  function describeVectorGeometry(vector) {
@@ -4449,8 +4455,8 @@ function describeVectorGeometry(vector) {
4449
4455
  }
4450
4456
  function describeFillStroke(vector) {
4451
4457
  const parts = [];
4452
- if (vector.kind !== "line" && vector.fill !== void 0) parts.push(`fill ${formatColor$1(vector.fill)}`);
4453
- if (vector.stroke !== void 0) parts.push(`stroke ${formatColor$1(vector.stroke.color)} ${formatPt$1(vector.stroke.widthPt)}pt`);
4458
+ if (vector.kind !== "line" && vector.fill !== void 0) parts.push(`fill ${formatColor(vector.fill)}`);
4459
+ if (vector.stroke !== void 0) parts.push(`stroke ${formatColor(vector.stroke.color)} ${formatPt$1(vector.stroke.widthPt)}pt`);
4454
4460
  return parts.length === 0 ? "no fill or stroke" : parts.join(", ");
4455
4461
  }
4456
4462
  //#endregion
@@ -4517,6 +4523,9 @@ function OdgPageListScreen() {
4517
4523
  }
4518
4524
  //#endregion
4519
4525
  //#region src/tui/screens/editors/odg/page-detail.tsx
4526
+ const DEFAULT_SHAPE_WIDTH_PT$2 = 100;
4527
+ const DEFAULT_SHAPE_HEIGHT_PT$2 = 60;
4528
+ const DEFAULT_LINE_END_X_PT$2 = 100;
4520
4529
  const ADD_KIND_OPTIONS$1 = [
4521
4530
  {
4522
4531
  kind: "rect",
@@ -4631,8 +4640,8 @@ function readFrame$1(values) {
4631
4640
  return {
4632
4641
  xPt: parseNumberField(requireFieldValue(values, "xPt"), 0),
4633
4642
  yPt: parseNumberField(requireFieldValue(values, "yPt"), 0),
4634
- widthPt: parseNumberField(requireFieldValue(values, "widthPt"), 100),
4635
- heightPt: parseNumberField(requireFieldValue(values, "heightPt"), 60)
4643
+ widthPt: parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_SHAPE_WIDTH_PT$2),
4644
+ heightPt: parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_SHAPE_HEIGHT_PT$2)
4636
4645
  };
4637
4646
  }
4638
4647
  function warnVectorIsViewOnly(dispatch, label) {
@@ -4687,7 +4696,7 @@ async function applyAddKind$1(kind, pageIndex, doc, values, dispatch) {
4687
4696
  yPt: parseNumberField(requireFieldValue(values, "fromYPt"), 0)
4688
4697
  },
4689
4698
  to: {
4690
- xPt: parseNumberField(requireFieldValue(values, "toXPt"), 100),
4699
+ xPt: parseNumberField(requireFieldValue(values, "toXPt"), DEFAULT_LINE_END_X_PT$2),
4691
4700
  yPt: parseNumberField(requireFieldValue(values, "toYPt"), 0)
4692
4701
  },
4693
4702
  stroke: parseStrokeField(requireFieldValue(values, "stroke")) ?? {
@@ -4884,7 +4893,7 @@ function OdgPageDetailScreen() {
4884
4893
  function buildVectorRows(vector, liveVector, dispatch) {
4885
4894
  const rows = [];
4886
4895
  if (vector.kind !== "line" && liveVector.kind !== "line") rows.push({
4887
- label: `Fill: ${vector.fill === void 0 ? "none" : formatColor$1(vector.fill)}`,
4896
+ label: `Fill: ${vector.fill === void 0 ? "none" : formatColor(vector.fill)}`,
4888
4897
  currentValue: vector.fill === void 0 ? "" : `${vector.fill.r} ${vector.fill.g} ${vector.fill.b}`,
4889
4898
  commit: (raw) => {
4890
4899
  dispatch({
@@ -4895,7 +4904,7 @@ function buildVectorRows(vector, liveVector, dispatch) {
4895
4904
  }
4896
4905
  });
4897
4906
  rows.push({
4898
- label: `Stroke: ${vector.stroke === void 0 ? "none" : `${formatColor$1(vector.stroke.color)} ${formatPt$1(vector.stroke.widthPt)}pt`}`,
4907
+ label: `Stroke: ${vector.stroke === void 0 ? "none" : `${formatColor(vector.stroke.color)} ${formatPt$1(vector.stroke.widthPt)}pt`}`,
4899
4908
  currentValue: vector.stroke === void 0 ? "" : `${vector.stroke.color.r} ${vector.stroke.color.g} ${vector.stroke.color.b} ${vector.stroke.widthPt}`,
4900
4909
  commit: (raw) => {
4901
4910
  const stroke = parseStrokeField(raw);
@@ -5701,6 +5710,9 @@ function summarizeSlideTables(doc, slideIndex) {
5701
5710
  }
5702
5711
  //#endregion
5703
5712
  //#region src/tui/screens/editors/pptx/slide-detail.tsx
5713
+ const DEFAULT_SHAPE_WIDTH_PT$1 = 160;
5714
+ const DEFAULT_SHAPE_HEIGHT_PT$1 = 100;
5715
+ const DEFAULT_LINE_END_X_PT$1 = 100;
5704
5716
  const IMAGE_EXTENSION_TO_FORMAT$1 = {
5705
5717
  png: "png",
5706
5718
  jpg: "jpeg",
@@ -5779,8 +5791,8 @@ function readVectorFrame(values) {
5779
5791
  return {
5780
5792
  xPt: parseNumberField(requireFieldValue(values, "xPt"), 0),
5781
5793
  yPt: parseNumberField(requireFieldValue(values, "yPt"), 0),
5782
- widthPt: parseNumberField(requireFieldValue(values, "widthPt"), 160),
5783
- heightPt: parseNumberField(requireFieldValue(values, "heightPt"), 100)
5794
+ widthPt: parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_SHAPE_WIDTH_PT$1),
5795
+ heightPt: parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_SHAPE_HEIGHT_PT$1)
5784
5796
  };
5785
5797
  }
5786
5798
  function buildVectorAction(kind, slideIndex, values) {
@@ -5812,7 +5824,7 @@ function buildVectorAction(kind, slideIndex, values) {
5812
5824
  yPt: parseNumberField(requireFieldValue(values, "fromYPt"), 0)
5813
5825
  },
5814
5826
  to: {
5815
- xPt: parseNumberField(requireFieldValue(values, "toXPt"), 100),
5827
+ xPt: parseNumberField(requireFieldValue(values, "toXPt"), DEFAULT_LINE_END_X_PT$1),
5816
5828
  yPt: parseNumberField(requireFieldValue(values, "toYPt"), 0)
5817
5829
  },
5818
5830
  stroke: parseStrokeField(requireFieldValue(values, "stroke")) ?? {
@@ -6939,6 +6951,8 @@ function OdsCellEditor(props) {
6939
6951
  }
6940
6952
  //#endregion
6941
6953
  //#region src/tui/screens/editors/ods/spreadsheet-grid.tsx
6954
+ const DEFAULT_IMAGE_WIDTH_PT = 100;
6955
+ const DEFAULT_IMAGE_HEIGHT_PT = 60;
6942
6956
  const ROW_HEADER_WIDTH = 5;
6943
6957
  const CELL_WIDTH = 11;
6944
6958
  const PAGE_JUMP_ROWS = 10;
@@ -7009,8 +7023,8 @@ async function applyAddSheetImage(sheetIndex, anchorRow, anchorColumn, values, d
7009
7023
  }
7010
7024
  try {
7011
7025
  const bytes = new Uint8Array(await readInput(path));
7012
- const widthPt = parseNumberField(requireFieldValue(values, "widthPt"), 100);
7013
- const heightPt = parseNumberField(requireFieldValue(values, "heightPt"), 60);
7026
+ const widthPt = parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_IMAGE_WIDTH_PT);
7027
+ const heightPt = parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_IMAGE_HEIGHT_PT);
7014
7028
  const offsetXPt = parseNumberField(requireFieldValue(values, "offsetXPt"), 0);
7015
7029
  const offsetYPt = parseNumberField(requireFieldValue(values, "offsetYPt"), 0);
7016
7030
  const altTextRaw = requireFieldValue(values, "altText").trim();
@@ -7339,6 +7353,10 @@ function OdsSpreadsheetGridScreen() {
7339
7353
  }
7340
7354
  //#endregion
7341
7355
  //#region src/tui/screens/editors/ppt/index.tsx
7356
+ const DEFAULT_SHAPE_X_PT = 40;
7357
+ const DEFAULT_SHAPE_Y_PT = 30;
7358
+ const DEFAULT_SHAPE_WIDTH_PT = 640;
7359
+ const DEFAULT_SHAPE_HEIGHT_PT = 80;
7342
7360
  function pptDocument(state) {
7343
7361
  const doc = state.openDocument;
7344
7362
  if (doc?.format !== "ppt") throw new Error("A ppt screen rendered without an open ppt document; check the screen router in app.tsx.");
@@ -7487,10 +7505,10 @@ function PptSlideDetailScreen(props) {
7487
7505
  type: "ADD_TEXTBOX",
7488
7506
  containerIndex: props.slideIndex,
7489
7507
  frame: {
7490
- xPt: parseNumberField(requireFieldValue(values, "xPt"), 40),
7491
- yPt: parseNumberField(requireFieldValue(values, "yPt"), 30),
7492
- widthPt: parseNumberField(requireFieldValue(values, "widthPt"), 640),
7493
- heightPt: parseNumberField(requireFieldValue(values, "heightPt"), 80)
7508
+ xPt: parseNumberField(requireFieldValue(values, "xPt"), DEFAULT_SHAPE_X_PT),
7509
+ yPt: parseNumberField(requireFieldValue(values, "yPt"), DEFAULT_SHAPE_Y_PT),
7510
+ widthPt: parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_SHAPE_WIDTH_PT),
7511
+ heightPt: parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_SHAPE_HEIGHT_PT)
7494
7512
  },
7495
7513
  text: requireFieldValue(values, "text")
7496
7514
  });
@@ -7612,12 +7630,16 @@ function XlsSheetListScreen() {
7612
7630
  ]
7613
7631
  });
7614
7632
  }
7633
+ const ALPHABET_LENGTH = 26;
7634
+ const UPPERCASE_A_CHAR_CODE = 65;
7635
+ const MAX_LISTED_CELLS = 200;
7636
+ const GRID_CELL_WIDTH = 12;
7615
7637
  function columnLetters(column) {
7616
7638
  let value = column;
7617
7639
  let letters = "";
7618
7640
  do {
7619
- letters = String.fromCharCode(value % 26 + 65) + letters;
7620
- value = Math.floor(value / 26) - 1;
7641
+ letters = String.fromCharCode(value % ALPHABET_LENGTH + UPPERCASE_A_CHAR_CODE) + letters;
7642
+ value = Math.floor(value / ALPHABET_LENGTH) - 1;
7621
7643
  } while (value >= 0);
7622
7644
  return letters;
7623
7645
  }
@@ -7706,7 +7728,7 @@ function XlsSpreadsheetGridScreen(props) {
7706
7728
  entries.length === 0 ? /* @__PURE__ */ jsx(Text, {
7707
7729
  dimColor: true,
7708
7730
  children: "No cells carry a value yet."
7709
- }) : entries.slice(0, 200).map((cell) => /* @__PURE__ */ jsxs(Text, { children: [
7731
+ }) : entries.slice(0, MAX_LISTED_CELLS).map((cell) => /* @__PURE__ */ jsxs(Text, { children: [
7710
7732
  columnLetters(cell.column),
7711
7733
  cell.row + 1,
7712
7734
  ":",
@@ -7737,8 +7759,8 @@ function XlsSpreadsheetGridScreen(props) {
7737
7759
  Array.from({ length: GRID_ROWS }, (_, r) => windowStartRow + r).map((row) => /* @__PURE__ */ jsx(Text, { children: Array.from({ length: GRID_COLUMNS }, (_, c) => windowStartColumn + c).map((column) => {
7738
7760
  const cell = cells.get(`${row}:${column}`);
7739
7761
  const isCursor = row === cursor.row && column === cursor.column;
7740
- const padded = (cell?.displayText ?? "").slice(0, 12).padEnd(12, " ");
7741
- return isCursor ? `[${padded.slice(0, 12)}]` : ` ${padded} `;
7762
+ const padded = (cell?.displayText ?? "").slice(0, GRID_CELL_WIDTH).padEnd(GRID_CELL_WIDTH, " ");
7763
+ return isCursor ? `[${padded.slice(0, GRID_CELL_WIDTH)}]` : ` ${padded} `;
7742
7764
  }).join("") }, row)),
7743
7765
  editSession === void 0 ? /* @__PURE__ */ jsxs(Text, { children: [/* @__PURE__ */ jsxs(Text, {
7744
7766
  color: "cyan",
@@ -7962,12 +7984,8 @@ function formatSize(widthPt, heightPt) {
7962
7984
  function formatPt(value) {
7963
7985
  return value.toFixed(1);
7964
7986
  }
7965
- function formatColor(color) {
7966
- const byte = (component) => Math.round(component * 255).toString(16).padStart(2, "0");
7967
- return `#${byte(color.r)}${byte(color.g)}${byte(color.b)}`;
7968
- }
7969
7987
  function formatStroke(stroke) {
7970
- return `${formatColor(stroke.color)} @ ${stroke.widthPt.toFixed(1)}pt`;
7988
+ return `${layoutColorToHex(stroke.color)} @ ${stroke.widthPt.toFixed(1)}pt`;
7971
7989
  }
7972
7990
  function parseRequiredColorField(raw, fallback) {
7973
7991
  return parseColorField(raw) ?? fallback;
@@ -8101,7 +8119,7 @@ function fieldsFor(item) {
8101
8119
  fields.push(["Font weight", item.font.weight]);
8102
8120
  fields.push(["Font style", item.font.style]);
8103
8121
  fields.push(["Size", `${item.sizePt}pt`]);
8104
- fields.push(["Colour", formatColor(item.color)]);
8122
+ fields.push(["Colour", layoutColorToHex(item.color)]);
8105
8123
  if (item.widthPt !== void 0) fields.push(["Width", `${item.widthPt}pt`]);
8106
8124
  if (item.rotationDeg !== void 0) fields.push(["Rotation", `${item.rotationDeg}°`]);
8107
8125
  if (item.underline !== void 0) fields.push(["Underline", item.underline ? "yes" : "no"]);
@@ -8116,19 +8134,19 @@ function fieldsFor(item) {
8116
8134
  case "ellipse":
8117
8135
  fields.push(["Position", formatPoint(item.xPt, item.yPt)]);
8118
8136
  fields.push(["Size", formatSize(item.widthPt, item.heightPt)]);
8119
- if (item.fill !== void 0) fields.push(["Fill", formatColor(item.fill)]);
8137
+ if (item.fill !== void 0) fields.push(["Fill", layoutColorToHex(item.fill)]);
8120
8138
  if (item.stroke !== void 0) fields.push(["Stroke", formatStroke(item.stroke)]);
8121
8139
  break;
8122
8140
  case "line":
8123
8141
  fields.push(["From", formatPoint(item.x1Pt, item.y1Pt)]);
8124
8142
  fields.push(["To", formatPoint(item.x2Pt, item.y2Pt)]);
8125
- fields.push(["Colour", formatColor(item.color)]);
8143
+ fields.push(["Colour", layoutColorToHex(item.color)]);
8126
8144
  fields.push(["Width", `${item.widthPt}pt`]);
8127
8145
  break;
8128
8146
  case "path":
8129
8147
  fields.push(["Subpaths", `${item.subpaths.length}`]);
8130
8148
  fields.push(["Segments", `${item.subpaths.reduce((total, subpath) => total + subpath.segments.length, 0)}`]);
8131
- if (item.fill !== void 0) fields.push(["Fill", formatColor(item.fill)]);
8149
+ if (item.fill !== void 0) fields.push(["Fill", layoutColorToHex(item.fill)]);
8132
8150
  if (item.fillRule !== void 0) fields.push(["Fill rule", item.fillRule]);
8133
8151
  if (item.stroke !== void 0) fields.push(["Stroke", formatStroke(item.stroke)]);
8134
8152
  break;
@@ -8230,7 +8248,7 @@ function buildFrameRows(frame, onFrameChange) {
8230
8248
  }
8231
8249
  function buildFillStrokeRows(fill, stroke, onFillChange, onStrokeChange) {
8232
8250
  return [{
8233
- label: `Fill: ${fill === void 0 ? "none" : formatColor(fill)}`,
8251
+ label: `Fill: ${fill === void 0 ? "none" : layoutColorToHex(fill)}`,
8234
8252
  currentValue: fill === void 0 ? "" : `${fill.r} ${fill.g} ${fill.b}`,
8235
8253
  commit: (raw) => {
8236
8254
  onFillChange(parseColorField(raw));
@@ -8340,7 +8358,7 @@ function buildTextRows(item, pageIndex, itemIndex, dispatch) {
8340
8358
  }
8341
8359
  },
8342
8360
  {
8343
- label: `Colour: ${formatColor(item.color)}`,
8361
+ label: `Colour: ${layoutColorToHex(item.color)}`,
8344
8362
  currentValue: `${item.color.r} ${item.color.g} ${item.color.b}`,
8345
8363
  commit: (raw) => {
8346
8364
  dispatch({
@@ -8490,7 +8508,7 @@ function buildLineRows(item, pageIndex, itemIndex, dispatch) {
8490
8508
  }
8491
8509
  },
8492
8510
  {
8493
- label: `Colour: ${formatColor(item.color)}`,
8511
+ label: `Colour: ${layoutColorToHex(item.color)}`,
8494
8512
  currentValue: `${item.color.r} ${item.color.g} ${item.color.b}`,
8495
8513
  commit: (raw) => {
8496
8514
  dispatch({
@@ -8806,6 +8824,10 @@ function PdfItemDetailScreen() {
8806
8824
  }
8807
8825
  //#endregion
8808
8826
  //#region src/tui/screens/editors/pdf/page-items.tsx
8827
+ const DEFAULT_ITEM_WIDTH_PT = 100;
8828
+ const DEFAULT_ITEM_HEIGHT_PT = 60;
8829
+ const DEFAULT_TEXT_SIZE_PT = 12;
8830
+ const DEFAULT_LINE_END_X_PT = 100;
8809
8831
  const TEXT_PREVIEW_MAX_CHARS = 48;
8810
8832
  function truncate(text, maxChars) {
8811
8833
  return text.length > maxChars ? `${text.slice(0, maxChars)}…` : text;
@@ -9004,8 +9026,8 @@ function readFrame(values) {
9004
9026
  return {
9005
9027
  xPt: parseNumberField(requireFieldValue(values, "xPt"), 0),
9006
9028
  yPt: parseNumberField(requireFieldValue(values, "yPt"), 0),
9007
- widthPt: parseNumberField(requireFieldValue(values, "widthPt"), 100),
9008
- heightPt: parseNumberField(requireFieldValue(values, "heightPt"), 60)
9029
+ widthPt: parseNumberField(requireFieldValue(values, "widthPt"), DEFAULT_ITEM_WIDTH_PT),
9030
+ heightPt: parseNumberField(requireFieldValue(values, "heightPt"), DEFAULT_ITEM_HEIGHT_PT)
9009
9031
  };
9010
9032
  }
9011
9033
  async function applyAddKind(kind, pageIndex, values, dispatch) {
@@ -9023,7 +9045,7 @@ async function applyAddKind(kind, pageIndex, values, dispatch) {
9023
9045
  weight: parseFontWeight(requireFieldValue(values, "fontWeight")),
9024
9046
  style: parseFontStyle(requireFieldValue(values, "fontStyle"))
9025
9047
  },
9026
- sizePt: Math.max(parseNumberField(requireFieldValue(values, "sizePt"), 12), Number.EPSILON),
9048
+ sizePt: Math.max(parseNumberField(requireFieldValue(values, "sizePt"), DEFAULT_TEXT_SIZE_PT), Number.EPSILON),
9027
9049
  color: parseColorField(requireFieldValue(values, "color")) ?? {
9028
9050
  r: 0,
9029
9051
  g: 0,
@@ -9061,7 +9083,7 @@ async function applyAddKind(kind, pageIndex, values, dispatch) {
9061
9083
  init: {
9062
9084
  x1Pt: parseNumberField(requireFieldValue(values, "fromXPt"), 0),
9063
9085
  y1Pt: parseNumberField(requireFieldValue(values, "fromYPt"), 0),
9064
- x2Pt: parseNumberField(requireFieldValue(values, "toXPt"), 100),
9086
+ x2Pt: parseNumberField(requireFieldValue(values, "toXPt"), DEFAULT_LINE_END_X_PT),
9065
9087
  y2Pt: parseNumberField(requireFieldValue(values, "toYPt"), 0),
9066
9088
  color: parseColorField(requireFieldValue(values, "color")) ?? {
9067
9089
  r: 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doculi",
3
- "version": "5.12.52",
3
+ "version": "5.12.54",
4
4
  "description": "CLI and interactive Ink TUI for documents.js: every docx/pptx/odt/odp/ods/odg/odf/pdf/odm/odb/xlsx/csv/svg/markdown/rtf conversion, bridge, and editor as a scriptable command or a terminal app.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -68,9 +68,9 @@
68
68
  "license": "MIT",
69
69
  "dependencies": {
70
70
  "commander": "15.0.0",
71
- "document-outline.js": "3.10.22",
71
+ "document-outline.js": "3.10.23",
72
72
  "document-schema.js": "7.15.3",
73
- "documents.js": "14.4.42",
73
+ "documents.js": "14.4.44",
74
74
  "ink": "7.1.1",
75
75
  "ink-text-input": "6.0.0",
76
76
  "react": "19.2.8"
@@ -87,7 +87,7 @@
87
87
  "eslint": "10.8.1",
88
88
  "husky": "9.1.7",
89
89
  "ink-testing-library": "4.0.0",
90
- "odf.js": "11.1.11",
90
+ "odf.js": "11.1.12",
91
91
  "publint": "0.3.22",
92
92
  "semantic-release": "25.0.9",
93
93
  "tsdown": "0.22.14",