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.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' :
|
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' :
|
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' :
|
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' :
|
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 =
|
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) {
|