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 +21 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +21 -12
- package/dist/index.esm.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/utils.d.ts +6 -3
- package/package.json +1 -1
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' :
|
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' :
|
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' :
|
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' :
|
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 =
|
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) {
|