react-markdown-table-ts 0.5.4 → 0.5.6

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
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import React__default, { forwardRef, useContext, Children, isValidElement, cloneElement, useRef, useMemo, useEffect } from 'react';
2
+ import React__default, { forwardRef, useContext, Children, isValidElement, cloneElement, useRef, useState, useMemo, useEffect } from 'react';
3
3
  import * as ReactDOM from 'react-dom';
4
4
  import ReactDOM__default from 'react-dom';
5
5
 
@@ -18536,12 +18536,13 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
18536
18536
  var Tooltip$1 = Tooltip;
18537
18537
 
18538
18538
  // CSS styles
18539
- var LIGHT_THEME_CSS = "\n.markdown-table-syntax code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n color:#000;\n background:0 0;\n text-shadow:0 1px #fff;\n font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;\n font-size:1em;\n text-align:left;\n white-space:pre;\n word-spacing:normal;\n word-break:normal;\n word-wrap:normal;\n line-height:1.5;\n -moz-tab-size:4;\n -o-tab-size:4;\n tab-size:4;\n -webkit-hyphens:none;\n -moz-hyphens:none;\n -ms-hyphens:none;\n hyphens:none;\n}\n.markdown-table-syntax code[class*=language-] ::-moz-selection,\n.markdown-table-syntax code[class*=language-]::-moz-selection,\n.markdown-table-syntax pre[class*=language-] ::-moz-selection,\n.markdown-table-syntax pre[class*=language-]::-moz-selection {\n text-shadow:none;\n background:#b3d4fc;\n}\n.markdown-table-syntax code[class*=language-] ::selection,\n.markdown-table-syntax code[class*=language-]::selection,\n.markdown-table-syntax pre[class*=language-] ::selection,\n.markdown-table-syntax pre[class*=language-]::selection {\n text-shadow:none;\n background:#b3d4fc;\n}\n@media print {\n .markdown-table-syntax code[class*=language-],\n .markdown-table-syntax pre[class*=language-] {\n text-shadow:none;\n }\n}\n.markdown-table-syntax pre[class*=language-] {\n padding:1em;\n margin:.5em 0;\n overflow:auto;\n border-radius:.3em;\n}\n:not(pre)>code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n background:#f5f2f0;\n}\n:not(pre)>code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n padding:.1em;\n border-radius:.3em;\n white-space:normal;\n}\n.markdown-table-syntax pre[class*=language-].line-numbers {\n position:relative;\n padding-left:2.4em;\n counter-reset:linenumber;\n}\n.markdown-table-syntax pre[class*=language-].line-numbers>code {\n position:relative;\n white-space:inherit;\n}\n.line-numbers .line-numbers-rows {\n position:absolute;\n pointer-events:none;\n top:0;\n font-size:100%;\n left:-3.8em;\n width:3em;\n letter-spacing:-1px;\n border-right:1px solid #999;\n -webkit-user-select:none;\n -moz-user-select:none;\n -ms-user-select:none;\n user-select:none;\n}\n.line-numbers-rows>span {\n display:block;\n counter-increment:linenumber;\n}\n.line-numbers-rows>span:before {\n content:counter(linenumber);\n color:#999;\n display:block;\n padding-right:.5em;\n text-align:right;\n}\n";
18540
- var DARK_THEME_CSS = "\n.markdown-table-syntax code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n color:#f8f8f2;\n background:0 0;\n text-shadow:0 1px rgba(0,0,0,.3);\n font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;\n font-size:1em;\n text-align:left;\n white-space:pre;\n word-spacing:normal;\n word-break:normal;\n word-wrap:normal;\n line-height:1.5;\n -moz-tab-size:4;\n -o-tab-size:4;\n tab-size:4;\n -webkit-hyphens:none;\n -moz-hyphens:none;\n -ms-hyphens:none;\n hyphens:none;\n}\n.markdown-table-syntax pre[class*=language-] {\n padding:1em;\n margin:.5em 0;\n overflow:auto;\n border-radius:.3em;\n}\n:not(pre)>code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n background:#282a36;\n}\n:not(pre)>code[class*=language-],\n.markdown-table-syntax pre[class*=language-] {\n padding:.1em;\n border-radius:.3em;\n white-space:normal;\n}\n.markdown-table-syntax pre[class*=language-].line-numbers {\n position:relative;\n padding-left:2.4em;\n counter-reset:linenumber;\n}\n.markdown-table-syntax pre[class*=language-].line-numbers>code {\n position:relative;\n white-space:inherit;\n}\n.line-numbers .line-numbers-rows {\n position:absolute;\n pointer-events:none;\n top:0;\n font-size:100%;\n left:-3.8em;\n width:3em;\n letter-spacing:-1px;\n border-right:1px solid #999;\n -webkit-user-select:none;\n -moz-user-select:none;\n -ms-user-select:none;\n user-select:none;\n}\n.line-numbers-rows>span {\n display:block;\n counter-increment:linenumber;\n}\n.line-numbers-rows>span:before {\n content:counter(linenumber);\n color:#999;\n display:block;\n padding-right:.5em;\n text-align:right;\n}\n";
18539
+ 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.4em;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:.5em;text-align:right}\n";
18540
+ 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.4em;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:.5em;text-align:right}\n";
18541
18541
  var MarkdownTable = function (_a) {
18542
- 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, preStyle = _a.preStyle;
18542
+ 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, preStyle = _a.preStyle, _k = _a.showCopyButton, showCopyButton = _k === void 0 ? false : _k;
18543
18543
  var adjustColumnWidths = !isCompact;
18544
18544
  var preElementRef = useRef(null);
18545
+ var _l = useState(false), isCopied = _l[0], setIsCopied = _l[1];
18545
18546
  var markdownTableSyntax = useMemo(function () {
18546
18547
  if (inputData === null) {
18547
18548
  return 'Error: No data provided for the table.';
@@ -18594,16 +18595,18 @@ var MarkdownTable = function (_a) {
18594
18595
  }, [markdownTableSyntax]);
18595
18596
  var handleCopy = function () {
18596
18597
  navigator.clipboard.writeText(markdownTableSyntax);
18598
+ setIsCopied(true);
18599
+ setTimeout(function () { return setIsCopied(false); }, 2000);
18597
18600
  };
18598
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: theme === 'light' ? LIGHT_THEME_CSS : DARK_THEME_CSS }), jsxRuntimeExports.jsxs("div", { className: "markdown-table-syntax", style: {
18601
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: theme === 'light' ? LIGHT_THEME_CSS : DARK_THEME_CSS }), jsxRuntimeExports.jsxs("div", { style: {
18599
18602
  position: 'relative',
18600
18603
  isolation: 'isolate'
18601
- }, children: [jsxRuntimeExports.jsx(Tooltip$1, { title: "Copy markdown table syntax", placement: "left-end", arrow: true, children: jsxRuntimeExports.jsx(IconButton$1, { onClick: handleCopy, sx: {
18604
+ }, children: [showCopyButton && (jsxRuntimeExports.jsx(Tooltip$1, { title: isCopied ? 'Copied!' : 'Copy markdown table syntax', placement: "left-end", arrow: true, children: jsxRuntimeExports.jsx(IconButton$1, { onClick: handleCopy, sx: {
18602
18605
  position: 'absolute',
18603
18606
  top: '12px',
18604
18607
  right: '8px',
18605
18608
  zIndex: 1
18606
- }, "aria-label": "Copy to clipboard", size: "small", children: jsxRuntimeExports.jsx(ContentCopyIcon, { fontSize: "small" }) }) }), jsxRuntimeExports.jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers ").concat(theme === 'dark' ? 'dark-theme' : ''), style: preStyle, children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] })] }));
18609
+ }, "aria-label": "Copy to clipboard", size: "small", children: jsxRuntimeExports.jsx(ContentCopyIcon, { fontSize: "small" }) }) })), jsxRuntimeExports.jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers ").concat(theme === 'dark' ? 'dark-theme' : ''), style: preStyle, children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] })] }));
18607
18610
  };
18608
18611
 
18609
18612
  export { MarkdownTable };