react-markdown-table-ts 0.3.11 → 0.3.13

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/index.cjs.js CHANGED
@@ -4093,20 +4093,19 @@ function calculateColumnWidths(inputDataRows, maxColumnCount, minWidth, canRepla
4093
4093
  // Retrieve the cell value; default to an empty string if undefined or null.
4094
4094
  var cellValue = currentRow[columnIndex];
4095
4095
  var cellString = cellValue !== null && cellValue !== undefined ? String(cellValue) : '';
4096
- // Replace newlines with the appropriate character based on canReplaceNewlines.
4097
4096
  if (canReplaceNewlines) {
4098
- // If replacing newlines with <br>, account for its extra length (4 characters)
4099
- var newlineCount = (cellString.match(/\n/g) || []).length;
4100
- cellString = cellString.replace(/\n/g, '<br>');
4101
- var additionalLength = newlineCount * ('<br>'.length - 1); // Add extra 3 characters for each newline
4102
- var adjustedLength = cellString.length + additionalLength;
4103
- // Update column width considering the extra length due to <br>
4104
- if (adjustedLength > columnWidths[columnIndex]) {
4105
- columnWidths[columnIndex] = adjustedLength;
4097
+ // Split the cell into lines based on newline characters.
4098
+ var lines = cellString.split('\n');
4099
+ // For display, replace '\n' with '<br>' (handled elsewhere, e.g., when rendering).
4100
+ // For width calculation, find the length of the longest line.
4101
+ var maxLineLength = lines.reduce(function (max, line) { return Math.max(max, line.length); }, 0);
4102
+ // Update the column width if the longest line is greater than the current width.
4103
+ if (maxLineLength > columnWidths[columnIndex]) {
4104
+ columnWidths[columnIndex] = maxLineLength;
4106
4105
  }
4107
4106
  }
4108
4107
  else {
4109
- // Replace newlines with a space if not using <br>
4108
+ // Replace newlines with spaces and calculate the total length.
4110
4109
  cellString = cellString.replace(/\n/g, ' ');
4111
4110
  // Update the column width if the current cell's length is greater.
4112
4111
  if (cellString.length > columnWidths[columnIndex]) {