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.cjs.js CHANGED
@@ -4098,12 +4098,14 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
4098
4098
  * @param columnWidths - Widths of each column.
4099
4099
  * @param useTabs - Flag to use tabs between columns.
4100
4100
  * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
4101
+ * @param hasPadding - Flag to add padding spaces around cell content.
4101
4102
  * @returns The Markdown string for the row.
4102
4103
  */
4103
- function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines) {
4104
+ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines, hasPadding) {
4104
4105
  var _a, _b;
4105
4106
  if (useTabs === void 0) { useTabs = false; }
4106
4107
  if (canReplaceNewlines === void 0) { canReplaceNewlines = false; }
4108
+ if (hasPadding === void 0) { hasPadding = true; }
4107
4109
  var defaultAlignment = 'left';
4108
4110
  var adjustedAlignments = columnAlignments.length < columnCount
4109
4111
  ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
@@ -4115,18 +4117,19 @@ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidt
4115
4117
  }
4116
4118
  var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : defaultAlignment;
4117
4119
  var targetWidth = columnWidths ? columnWidths[i] : cell.length;
4120
+ var padding = hasPadding ? ' ' : '';
4118
4121
  if (alignment === 'right') {
4119
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
4122
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4120
4123
  }
4121
4124
  else if (alignment === 'center') {
4122
4125
  var totalPadding = targetWidth - cell.length;
4123
4126
  var paddingLeft = Math.floor(totalPadding / 2);
4124
4127
  var paddingRight = totalPadding - paddingLeft;
4125
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : ' ', "|");
4128
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding, "|");
4126
4129
  }
4127
4130
  else {
4128
4131
  // Left alignment or default
4129
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
4132
+ markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4130
4133
  }
4131
4134
  }
4132
4135
  return markdownRow;
@@ -4137,11 +4140,13 @@ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidt
4137
4140
  * @param columnAlignments - Alignment settings for each column.
4138
4141
  * @param columnWidths - Widths of each column.
4139
4142
  * @param useTabs - Flag to use tabs between columns.
4143
+ * @param hasPadding - Flag to add padding spaces around cell content.
4140
4144
  * @returns The Markdown string for the alignment row.
4141
4145
  */
4142
- function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs) {
4146
+ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs, hasPadding) {
4143
4147
  var _a;
4144
4148
  if (useTabs === void 0) { useTabs = false; }
4149
+ if (hasPadding === void 0) { hasPadding = true; }
4145
4150
  var defaultAlignment = 'left';
4146
4151
  var adjustedAlignments = columnAlignments.length < columnCount
4147
4152
  ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
@@ -4150,6 +4155,7 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4150
4155
  var alignment = (_a = adjustedAlignments[i]) !== null && _a !== void 0 ? _a : defaultAlignment;
4151
4156
  var targetWidth = columnWidths ? columnWidths[i] : 3;
4152
4157
  var alignIndicator = '';
4158
+ var padding = hasPadding ? ' ' : '';
4153
4159
  switch (alignment) {
4154
4160
  case 'left':
4155
4161
  alignIndicator = ":".concat('-'.repeat(targetWidth - 1));
@@ -4164,7 +4170,7 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4164
4170
  alignIndicator = "".concat('-'.repeat(targetWidth));
4165
4171
  break;
4166
4172
  }
4167
- alignmentRow += "".concat(useTabs ? '\t' : ' ').concat(alignIndicator).concat(useTabs ? '\t' : ' ', "|");
4173
+ alignmentRow += "".concat(useTabs ? '\t' : padding).concat(alignIndicator).concat(useTabs ? '\t' : padding, "|");
4168
4174
  }
4169
4175
  return alignmentRow;
4170
4176
  }
@@ -4175,23 +4181,25 @@ function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs
4175
4181
  * @param canAdjustColumnWidths - Flag to adjust column widths based on content.
4176
4182
  * @param useTabs - Flag to use tabs between columns.
4177
4183
  * @param replaceNewlines - Flag to replace newlines with <br> tags.
4184
+ * @param hasPadding - Flag to add padding spaces around cell content.
4178
4185
  * @returns The complete Markdown table string.
4179
4186
  */
4180
- function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines) {
4187
+ function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines, hasPadding) {
4181
4188
  if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
4182
4189
  if (useTabs === void 0) { useTabs = false; }
4183
4190
  if (replaceNewlines === void 0) { replaceNewlines = false; }
4191
+ if (hasPadding === void 0) { hasPadding = true; }
4184
4192
  var headerColumnCount = inputData.inputDataHeader.length;
4185
4193
  var bodyColumnCounts = inputData.inputDataBody.map(function (currentRow) { return currentRow.length; });
4186
4194
  var maxColumnCount = Math.max.apply(Math, __spreadArray([headerColumnCount], bodyColumnCounts, false));
4187
4195
  var columnWidths = canAdjustColumnWidths
4188
4196
  ? calculateColumnWidths(__spreadArray([inputData.inputDataHeader], inputData.inputDataBody, true), maxColumnCount)
4189
4197
  : undefined;
4190
- var markdownHeaderRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines);
4191
- var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs);
4198
+ var markdownHeaderRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
4199
+ var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs, hasPadding);
4192
4200
  var markdownBodyRows = inputData.inputDataBody
4193
4201
  .map(function (currentRow) {
4194
- return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines);
4202
+ return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
4195
4203
  })
4196
4204
  .join('\n');
4197
4205
  return "".concat(markdownHeaderRow, "\n").concat(markdownAlignmentRow, "\n").concat(markdownBodyRows).trimEnd();
@@ -4236,7 +4244,7 @@ function generateAlphabetHeaders(columnCount) {
4236
4244
  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";
4237
4245
  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";
4238
4246
  var MarkdownTable = function (_a) {
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.canReplaceNewlines, canReplaceNewlines = _g === void 0 ? false : _g, className = _a.className, onTableCreate = _a.onTableCreate, _h = _a.theme, theme = _h === void 0 ? 'light' : _h;
4247
+ 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;
4240
4248
  var adjustColumnWidths = !isCompact;
4241
4249
  var preElementRef = require$$0.useRef(null);
4242
4250
  var markdownTableSyntax = require$$0.useMemo(function () {
@@ -4256,7 +4264,7 @@ var MarkdownTable = function (_a) {
4256
4264
  inputDataHeader: generateAlphabetHeaders(inputData[0].length),
4257
4265
  inputDataBody: inputData,
4258
4266
  };
4259
- return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines);
4267
+ return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding);
4260
4268
  }
4261
4269
  catch (error) {
4262
4270
  if (error instanceof MarkdownTableError) {
@@ -4273,6 +4281,7 @@ var MarkdownTable = function (_a) {
4273
4281
  isCompact,
4274
4282
  hasTabs,
4275
4283
  canReplaceNewlines,
4284
+ hasPadding,
4276
4285
  ]);
4277
4286
  require$$0.useEffect(function () {
4278
4287
  if (onTableCreate) {