react-markdown-table-ts 0.3.0 → 0.3.1

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/README.md CHANGED
@@ -34,10 +34,10 @@ npm install react-markdown-table-ts
34
34
 
35
35
  | Prop | Type | Default | Description |
36
36
  | :------------------: | :-------------------------------------------: | :---------: | :-----------------------------------------: |
37
- | `data` | `string[][]` | (required) | The table data as a 2D array of strings |
37
+ | `data` | `string[][]` | `null` | The table data as a 2D array of strings |
38
38
  | `columnAlignments` | `('left' \| 'center' \| 'right' \| 'none')[]` | `[]` | Alignment for each column |
39
39
  | `isCompact` | `boolean` | `false` | Use minimal column widths |
40
- | `className` | `string` | `undefined` | CSS class for the rendered table |
40
+ | `className` | `string` | `undefined` | CSS class for the `<pre>` tag |
41
41
  | `hasTabs` | `boolean` | `false` | Add tabs between table columns |
42
42
  | `canReplaceNewlines` | `boolean` | `false` | Replace newlines in cells with `<br>` tags |
43
43
  | `onTableCreate` | `(markdownString: string) => void` | `undefined` | Callback to receive the Markdown string |
package/dist/index.cjs.js CHANGED
@@ -4058,7 +4058,7 @@ var Prism$1 = /*@__PURE__*/getDefaultExportFromCjs(prismExports);
4058
4058
  }());
4059
4059
 
4060
4060
  // CSS styles
4061
- var prismStyles = "\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:3.8em;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:.8em;text-align:right}\n";
4061
+ var PRISM_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:3.8em;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:.8em;text-align:right}\n";
4062
4062
  var MarkdownTableError = /** @class */ (function (_super) {
4063
4063
  __extends(MarkdownTableError, _super);
4064
4064
  function MarkdownTableError(message) {
@@ -4177,25 +4177,25 @@ function getColumnName(index) {
4177
4177
  return name;
4178
4178
  }
4179
4179
  var MarkdownTable = function (_a) {
4180
- var _b = _a.data, data = _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;
4180
+ 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;
4181
4181
  var adjustColumnWidths = !isCompact;
4182
- var preRef = require$$0.useRef(null);
4183
- var markdownSyntax = require$$0.useMemo(function () {
4184
- if (data === null) {
4182
+ var preElementRef = require$$0.useRef(null);
4183
+ var markdownTableSyntax = require$$0.useMemo(function () {
4184
+ if (inputData === null) {
4185
4185
  return 'Error: No data provided for the table.';
4186
4186
  }
4187
4187
  try {
4188
- if (!Array.isArray(data) || data.length === 0) {
4188
+ if (!Array.isArray(inputData) || inputData.length === 0) {
4189
4189
  throw new MarkdownTableError("The 'data' prop must be a non-empty two-dimensional array.");
4190
4190
  }
4191
4191
  var tableData = hasHeader
4192
4192
  ? {
4193
- header: data[0],
4194
- rows: data.slice(1),
4193
+ header: inputData[0],
4194
+ rows: inputData.slice(1),
4195
4195
  }
4196
4196
  : {
4197
- header: generateAlphabetHeaders(data[0].length),
4198
- rows: data,
4197
+ header: generateAlphabetHeaders(inputData[0].length),
4198
+ rows: inputData,
4199
4199
  };
4200
4200
  return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines);
4201
4201
  }
@@ -4208,7 +4208,7 @@ var MarkdownTable = function (_a) {
4208
4208
  }
4209
4209
  }
4210
4210
  }, [
4211
- data,
4211
+ inputData,
4212
4212
  hasHeader,
4213
4213
  columnAlignments,
4214
4214
  isCompact,
@@ -4217,15 +4217,15 @@ var MarkdownTable = function (_a) {
4217
4217
  ]);
4218
4218
  require$$0.useEffect(function () {
4219
4219
  if (onTableCreate) {
4220
- onTableCreate(markdownSyntax);
4220
+ onTableCreate(markdownTableSyntax);
4221
4221
  }
4222
- }, [markdownSyntax, onTableCreate]);
4222
+ }, [markdownTableSyntax, onTableCreate]);
4223
4223
  require$$0.useEffect(function () {
4224
- if (preRef.current) {
4225
- Prism$1.highlightElement(preRef.current.querySelector('code'));
4224
+ if (preElementRef.current) {
4225
+ Prism$1.highlightElement(preElementRef.current.querySelector('code'));
4226
4226
  }
4227
- }, [markdownSyntax]);
4228
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: prismStyles }), jsxRuntimeExports.jsx("pre", { ref: preRef, className: "".concat(className, " language-markdown line-numbers"), children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownSyntax }) })] }));
4227
+ }, [markdownTableSyntax]);
4228
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: PRISM_CSS }), jsxRuntimeExports.jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers"), children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] }));
4229
4229
  };
4230
4230
 
4231
4231
  exports.MarkdownTable = MarkdownTable;