react-markdown-table-ts 0.4.11 → 0.4.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.esm.js CHANGED
@@ -4090,12 +4090,14 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
4090
4090
  * @param columnWidths - Widths of each column.
4091
4091
  * @param useTabs - Flag to use tabs between columns.
4092
4092
  * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
4093
+ * @param hasPadding - Flag to add padding spaces around cell content.
4093
4094
  * @returns The Markdown string for the row.
4094
4095
  */
4095
- function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines) {
4096
+ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines, hasPadding) {
4096
4097
  var _a, _b;
4097
4098
  if (useTabs === void 0) { useTabs = false; }
4098
4099
  if (canReplaceNewlines === void 0) { canReplaceNewlines = false; }
4100
+ if (hasPadding === void 0) { hasPadding = true; }
4099
4101
  var defaultAlignment = 'left';
4100
4102
  var adjustedAlignments = columnAlignments.length < columnCount
4101
4103
  ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
@@ -4107,18 +4109,19 @@ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidt
4107
4109
  }
4108
4110
  var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : defaultAlignment;
4109
4111
  var targetWidth = columnWidths ? columnWidths[i] : cell.length;
4112
+ var padding = hasPadding ? ' ' : '';
4110
4113
  if (alignment === 'right') {
4111
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
4114
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4112
4115
  }
4113
4116
  else if (alignment === 'center') {
4114
4117
  var totalPadding = targetWidth - cell.length;
4115
4118
  var paddingLeft = Math.floor(totalPadding / 2);
4116
4119
  var paddingRight = totalPadding - paddingLeft;
4117
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : ' ', "|");
4120
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding, "|");
4118
4121
  }
4119
4122
  else {
4120
4123
  // Left alignment or default
4121
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
4124
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4122
4125
  }
4123
4126
  }
4124
4127
  return markdownRow;
@@ -4129,11 +4132,13 @@ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidt
4129
4132
  * @param columnAlignments - Alignment settings for each column.
4130
4133
  * @param columnWidths - Widths of each column.
4131
4134
  * @param useTabs - Flag to use tabs between columns.
4135
+ * @param hasPadding - Flag to add padding spaces around cell content.
4132
4136
  * @returns The Markdown string for the alignment row.
4133
4137
  */
4134
- function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs) {
4138
+ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs, hasPadding) {
4135
4139
  var _a;
4136
4140
  if (useTabs === void 0) { useTabs = false; }
4141
+ if (hasPadding === void 0) { hasPadding = true; }
4137
4142
  var defaultAlignment = 'left';
4138
4143
  var adjustedAlignments = columnAlignments.length < columnCount
4139
4144
  ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
@@ -4142,6 +4147,7 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4142
4147
  var alignment = (_a = adjustedAlignments[i]) !== null && _a !== void 0 ? _a : defaultAlignment;
4143
4148
  var targetWidth = columnWidths ? columnWidths[i] : 3;
4144
4149
  var alignIndicator = '';
4150
+ var padding = hasPadding ? ' ' : '';
4145
4151
  switch (alignment) {
4146
4152
  case 'left':
4147
4153
  alignIndicator = ":".concat('-'.repeat(targetWidth - 1));
@@ -4156,7 +4162,7 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4156
4162
  alignIndicator = "".concat('-'.repeat(targetWidth));
4157
4163
  break;
4158
4164
  }
4159
- alignmentRow += "".concat(useTabs ? '\t' : ' ').concat(alignIndicator).concat(useTabs ? '\t' : ' ', "|");
4165
+ alignmentRow += "".concat(useTabs ? '\t' : padding).concat(alignIndicator).concat(useTabs ? '\t' : padding, "|");
4160
4166
  }
4161
4167
  return alignmentRow;
4162
4168
  }
@@ -4167,23 +4173,25 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4167
4173
  * @param canAdjustColumnWidths - Flag to adjust column widths based on content.
4168
4174
  * @param useTabs - Flag to use tabs between columns.
4169
4175
  * @param replaceNewlines - Flag to replace newlines with <br> tags.
4176
+ * @param hasPadding - Flag to add padding spaces around cell content.
4170
4177
  * @returns The complete Markdown table string.
4171
4178
  */
4172
- function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines) {
4179
+ function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines, hasPadding) {
4173
4180
  if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
4174
4181
  if (useTabs === void 0) { useTabs = false; }
4175
4182
  if (replaceNewlines === void 0) { replaceNewlines = false; }
4183
+ if (hasPadding === void 0) { hasPadding = true; }
4176
4184
  var headerColumnCount = inputData.inputDataHeader.length;
4177
4185
  var bodyColumnCounts = inputData.inputDataBody.map(function (currentRow) { return currentRow.length; });
4178
4186
  var maxColumnCount = Math.max.apply(Math, __spreadArray([headerColumnCount], bodyColumnCounts, false));
4179
4187
  var columnWidths = canAdjustColumnWidths
4180
4188
  ? calculateColumnWidths(__spreadArray([inputData.inputDataHeader], inputData.inputDataBody, true), maxColumnCount)
4181
4189
  : undefined;
4182
- var markdownHeaderRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines);
4183
- var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs);
4190
+ var markdownHeaderRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
4191
+ var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs, hasPadding);
4184
4192
  var markdownBodyRows = inputData.inputDataBody
4185
4193
  .map(function (currentRow) {
4186
- return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines);
4194
+ return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
4187
4195
  })
4188
4196
  .join('\n');
4189
4197
  return "".concat(markdownHeaderRow, "\n").concat(markdownAlignmentRow, "\n").concat(markdownBodyRows).trimEnd();
@@ -4228,7 +4236,7 @@ function generateAlphabetHeaders(columnCount) {
4228
4236
  var LIGHT_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.3em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.6em;text-align:right}\n";
4229
4237
  var DARK_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.3em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.6em;text-align:right}\n";
4230
4238
  var MarkdownTable = function (_a) {
4231
- var _b = _a.inputData, inputData = _b === void 0 ? null : _b, _c = _a.hasHeader, hasHeader = _c === void 0 ? true : _c, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, _e = _a.isCompact, isCompact = _e === void 0 ? false : _e, _f = _a.hasTabs, hasTabs = _f === void 0 ? false : _f, _g = _a.canReplaceNewlines, canReplaceNewlines = _g === void 0 ? false : _g, className = _a.className, onTableCreate = _a.onTableCreate, _h = _a.theme, theme = _h === void 0 ? 'light' : _h;
4239
+ var _b = _a.inputData, inputData = _b === void 0 ? null : _b, _c = _a.hasHeader, hasHeader = _c === void 0 ? true : _c, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, _e = _a.isCompact, isCompact = _e === void 0 ? false : _e, _f = _a.hasTabs, hasTabs = _f === void 0 ? false : _f, _g = _a.hasPadding, hasPadding = _g === void 0 ? true : _g, _h = _a.canReplaceNewlines, canReplaceNewlines = _h === void 0 ? false : _h, className = _a.className, onTableCreate = _a.onTableCreate, _j = _a.theme, theme = _j === void 0 ? 'light' : _j;
4232
4240
  var adjustColumnWidths = !isCompact;
4233
4241
  var preElementRef = useRef(null);
4234
4242
  var markdownTableSyntax = useMemo(function () {
@@ -4248,7 +4256,7 @@ var MarkdownTable = function (_a) {
4248
4256
  inputDataHeader: generateAlphabetHeaders(inputData[0].length),
4249
4257
  inputDataBody: inputData,
4250
4258
  };
4251
- return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines);
4259
+ return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding);
4252
4260
  }
4253
4261
  catch (error) {
4254
4262
  if (error instanceof MarkdownTableError) {
@@ -4265,6 +4273,7 @@ var MarkdownTable = function (_a) {
4265
4273
  isCompact,
4266
4274
  hasTabs,
4267
4275
  canReplaceNewlines,
4276
+ hasPadding,
4268
4277
  ]);
4269
4278
  useEffect(function () {
4270
4279
  if (onTableCreate) {