@looker/code-editor 0.1.27 → 0.1.28
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/CHANGELOG.md +14 -0
- package/lib/CodeCopy/CodeCopy.d.ts +2 -2
- package/lib/CodeCopy/CodeCopy.js +1 -7
- package/lib/CodeCopy/CodeCopy.js.map +1 -1
- package/lib/CodeCopy/index.js +0 -2
- package/lib/CodeCopy/index.js.map +1 -1
- package/lib/CodeDisplay/CodeDisplay.js +4 -24
- package/lib/CodeDisplay/CodeDisplay.js.map +1 -1
- package/lib/CodeDisplay/CodeWrapper.js +0 -7
- package/lib/CodeDisplay/CodeWrapper.js.map +1 -1
- package/lib/CodeDisplay/LineItem.js +1 -8
- package/lib/CodeDisplay/LineItem.js.map +1 -1
- package/lib/CodeDisplay/index.js +0 -1
- package/lib/CodeDisplay/index.js.map +1 -1
- package/lib/CodeDisplay/types.js +1 -1
- package/lib/CodeDisplay/types.js.map +1 -1
- package/lib/CodeEditor/CodeEditor.js +0 -6
- package/lib/CodeEditor/CodeEditor.js.map +1 -1
- package/lib/CodeEditor/index.js +0 -1
- package/lib/CodeEditor/index.js.map +1 -1
- package/lib/Markdown/Markdown.d.ts +2 -2
- package/lib/Markdown/Markdown.js +0 -24
- package/lib/Markdown/Markdown.js.map +1 -1
- package/lib/Markdown/TableCell.js +4 -11
- package/lib/Markdown/TableCell.js.map +1 -1
- package/lib/Markdown/common.d.ts +2 -2
- package/lib/Markdown/common.js +11 -24
- package/lib/Markdown/common.js.map +1 -1
- package/lib/Markdown/index.js +0 -2
- package/lib/Markdown/index.js.map +1 -1
- package/lib/Markdown/utils.js +1 -31
- package/lib/Markdown/utils.js.map +1 -1
- package/lib/esm/CodeCopy/CodeCopy.js +16 -8
- package/lib/esm/CodeCopy/CodeCopy.js.map +1 -1
- package/lib/esm/CodeCopy/index.js +16 -1
- package/lib/esm/CodeCopy/index.js.map +1 -1
- package/lib/esm/CodeDisplay/CodeDisplay.js +32 -29
- package/lib/esm/CodeDisplay/CodeDisplay.js.map +1 -1
- package/lib/esm/CodeDisplay/CodeWrapper.js +14 -6
- package/lib/esm/CodeDisplay/CodeWrapper.js.map +1 -1
- package/lib/esm/CodeDisplay/LineItem.js +11 -6
- package/lib/esm/CodeDisplay/LineItem.js.map +1 -1
- package/lib/esm/CodeDisplay/index.js +12 -1
- package/lib/esm/CodeDisplay/index.js.map +1 -1
- package/lib/esm/CodeDisplay/types.js.map +1 -1
- package/lib/esm/CodeEditor/CodeEditor.js +14 -6
- package/lib/esm/CodeEditor/CodeEditor.js.map +1 -1
- package/lib/esm/CodeEditor/index.js +12 -1
- package/lib/esm/CodeEditor/index.js.map +1 -1
- package/lib/esm/Markdown/Markdown.js +40 -42
- package/lib/esm/Markdown/Markdown.js.map +1 -1
- package/lib/esm/Markdown/TableCell.js +16 -10
- package/lib/esm/Markdown/TableCell.js.map +1 -1
- package/lib/esm/Markdown/common.js +33 -23
- package/lib/esm/Markdown/common.js.map +1 -1
- package/lib/esm/Markdown/index.js +16 -1
- package/lib/esm/Markdown/index.js.map +1 -1
- package/lib/esm/Markdown/utils.js +24 -23
- package/lib/esm/Markdown/utils.js.map +1 -1
- package/lib/esm/index.js +49 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/test-data/codeBlob.js +9 -0
- package/lib/esm/test-data/codeBlob.js.map +1 -0
- package/lib/esm/test-data/index.js +13 -0
- package/lib/esm/test-data/index.js.map +1 -0
- package/lib/esm/utils/index.js +24 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/utils.js +29 -22
- package/lib/esm/utils/utils.js.map +1 -1
- package/lib/index.js +0 -8
- package/lib/index.js.map +1 -1
- package/lib/test-data/codeBlob.js.map +1 -1
- package/lib/test-data/index.js +0 -1
- package/lib/test-data/index.js.map +1 -1
- package/lib/utils/index.js +4 -5
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/utils.d.ts +4 -4
- package/lib/utils/utils.js +1 -15
- package/lib/utils/utils.js.map +1 -1
- package/package.json +10 -10
package/lib/Markdown/common.js
CHANGED
|
@@ -3,20 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.MDTable = exports.
|
|
7
|
-
|
|
6
|
+
exports.MDTable = exports.MDParagraph = exports.MDListItem = exports.MDList = exports.MDHeading = void 0;
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
-
|
|
12
9
|
var _components = require("@looker/components");
|
|
13
|
-
|
|
10
|
+
var _excluded = ["ordered"];
|
|
14
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
12
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
|
-
|
|
18
13
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
19
|
-
|
|
20
14
|
var MDHeading = (0, _styledComponents.default)(_components.Heading).attrs(_ref => {
|
|
21
15
|
var {
|
|
22
16
|
mb = 'xsmall',
|
|
@@ -28,7 +22,7 @@ var MDHeading = (0, _styledComponents.default)(_components.Heading).attrs(_ref =
|
|
|
28
22
|
};
|
|
29
23
|
}).withConfig({
|
|
30
24
|
displayName: "common__MDHeading",
|
|
31
|
-
componentId: "i00oep-0"
|
|
25
|
+
componentId: "sc-i00oep-0"
|
|
32
26
|
})([""]);
|
|
33
27
|
exports.MDHeading = MDHeading;
|
|
34
28
|
var MDParagraph = (0, _styledComponents.default)(_components.Paragraph).attrs(_ref2 => {
|
|
@@ -40,7 +34,7 @@ var MDParagraph = (0, _styledComponents.default)(_components.Paragraph).attrs(_r
|
|
|
40
34
|
};
|
|
41
35
|
}).withConfig({
|
|
42
36
|
displayName: "common__MDParagraph",
|
|
43
|
-
componentId: "i00oep-1"
|
|
37
|
+
componentId: "sc-i00oep-1"
|
|
44
38
|
})(["color:", ";max-width:600px;"], _ref3 => {
|
|
45
39
|
var {
|
|
46
40
|
theme
|
|
@@ -48,48 +42,41 @@ var MDParagraph = (0, _styledComponents.default)(_components.Paragraph).attrs(_r
|
|
|
48
42
|
return theme.colors.text5;
|
|
49
43
|
});
|
|
50
44
|
exports.MDParagraph = MDParagraph;
|
|
51
|
-
|
|
52
45
|
var OListInternal = _styledComponents.default.ol.withConfig({
|
|
53
46
|
displayName: "common__OListInternal",
|
|
54
|
-
componentId: "i00oep-2"
|
|
47
|
+
componentId: "sc-i00oep-2"
|
|
55
48
|
})(["color:", ";max-width:600px;margin-bottom:20px;"], _ref4 => {
|
|
56
49
|
var {
|
|
57
50
|
theme
|
|
58
51
|
} = _ref4;
|
|
59
52
|
return theme.colors.text5;
|
|
60
53
|
});
|
|
61
|
-
|
|
62
54
|
var UListInternal = _styledComponents.default.ul.withConfig({
|
|
63
55
|
displayName: "common__UListInternal",
|
|
64
|
-
componentId: "i00oep-3"
|
|
56
|
+
componentId: "sc-i00oep-3"
|
|
65
57
|
})(["color:", ";max-width:600px;margin-bottom:20px;"], _ref5 => {
|
|
66
58
|
var {
|
|
67
59
|
theme
|
|
68
60
|
} = _ref5;
|
|
69
61
|
return theme.colors.text5;
|
|
70
62
|
});
|
|
71
|
-
|
|
72
63
|
var MDList = _ref6 => {
|
|
73
64
|
var {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
65
|
+
ordered
|
|
66
|
+
} = _ref6,
|
|
67
|
+
rest = _objectWithoutProperties(_ref6, _excluded);
|
|
78
68
|
return ordered ? _react.default.createElement(OListInternal, rest) : _react.default.createElement(UListInternal, rest);
|
|
79
69
|
};
|
|
80
|
-
|
|
81
70
|
exports.MDList = MDList;
|
|
82
|
-
|
|
83
71
|
var MDListItem = _styledComponents.default.li.withConfig({
|
|
84
72
|
displayName: "common__MDListItem",
|
|
85
|
-
componentId: "i00oep-4"
|
|
73
|
+
componentId: "sc-i00oep-4"
|
|
86
74
|
})(["color:", ";max-width:600px;margin-bottom:4px;line-height:1.5;"], _ref7 => {
|
|
87
75
|
var {
|
|
88
76
|
theme
|
|
89
77
|
} = _ref7;
|
|
90
78
|
return theme.colors.text5;
|
|
91
79
|
});
|
|
92
|
-
|
|
93
80
|
exports.MDListItem = MDListItem;
|
|
94
81
|
var MDTable = (0, _styledComponents.default)(_components.Table).attrs(_ref8 => {
|
|
95
82
|
var {
|
|
@@ -100,7 +87,7 @@ var MDTable = (0, _styledComponents.default)(_components.Table).attrs(_ref8 => {
|
|
|
100
87
|
};
|
|
101
88
|
}).withConfig({
|
|
102
89
|
displayName: "common__MDTable",
|
|
103
|
-
componentId: "i00oep-5"
|
|
90
|
+
componentId: "sc-i00oep-5"
|
|
104
91
|
})([""]);
|
|
105
92
|
exports.MDTable = MDTable;
|
|
106
93
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"common.js","names":["MDHeading","styled","Heading","attrs","mb","pt","MDParagraph","Paragraph","theme","colors","text5","OListInternal","ol","UListInternal","ul","MDList","ordered","rest","MDListItem","li","MDTable","Table"],"sources":["../../src/Markdown/common.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport React from 'react'\nimport styled from 'styled-components'\nimport { Paragraph, Table, Heading } from '@looker/components'\nimport type {\n HeadingProps,\n ParagraphProps,\n TableProps,\n} from '@looker/components'\n\n/**\n * Common styled components used by DocMarkdown\n */\n\nexport const MDHeading = styled(Heading).attrs(\n ({ mb = 'xsmall', pt = 'xsmall' }: HeadingProps) => ({ mb, pt })\n)<HeadingProps>``\n\nexport const MDParagraph = styled(Paragraph).attrs(\n ({ mb = 'large' }: ParagraphProps) => ({\n mb,\n })\n)<ParagraphProps>`\n color: ${({ theme }) => theme.colors.text5};\n max-width: 600px;\n`\n\nconst OListInternal = styled.ol`\n color: ${({ theme }) => theme.colors.text5};\n max-width: 600px;\n margin-bottom: 20px;\n`\n\nconst UListInternal = styled.ul`\n color: ${({ theme }) => theme.colors.text5};\n max-width: 600px;\n margin-bottom: 20px;\n`\n\nexport const MDList: React.FC<any> = ({ ordered, ...rest }) => {\n return ordered ? <OListInternal {...rest} /> : <UListInternal {...rest} />\n}\n\nexport const MDListItem = styled.li`\n color: ${({ theme }) => theme.colors.text5};\n max-width: 600px;\n margin-bottom: 4px;\n line-height: 1.5;\n`\n\nexport const MDTable = styled(Table).attrs(({ mb = 'large' }: TableProps) => ({\n mb,\n}))``\n"],"mappings":";;;;;;AAyBA;AACA;AACA;AAA8D;AAAA;AAAA;AAAA;AAWvD,IAAMA,SAAS,GAAG,IAAAC,yBAAM,EAACC,mBAAO,CAAC,CAACC,KAAK,CAC5C;EAAA,IAAC;IAAEC,EAAE,GAAG,QAAQ;IAAEC,EAAE,GAAG;EAAuB,CAAC;EAAA,OAAM;IAAED,EAAE;IAAEC;EAAG,CAAC;AAAA,CAAC,CACjE;EAAA;EAAA;AAAA,QAAgB;AAAA;AAEV,IAAMC,WAAW,GAAG,IAAAL,yBAAM,EAACM,qBAAS,CAAC,CAACJ,KAAK,CAChD;EAAA,IAAC;IAAEC,EAAE,GAAG;EAAwB,CAAC;EAAA,OAAM;IACrCA;EACF,CAAC;AAAA,CAAC,CACH;EAAA;EAAA;AAAA,oCACU;EAAA,IAAC;IAAEI;EAAM,CAAC;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACC,KAAK;AAAA,EAE3C;AAAA;AAED,IAAMC,aAAa,GAAGV,yBAAM,CAACW,EAAE;EAAA;EAAA;AAAA,uDACpB;EAAA,IAAC;IAAEJ;EAAM,CAAC;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACC,KAAK;AAAA,EAG3C;AAED,IAAMG,aAAa,GAAGZ,yBAAM,CAACa,EAAE;EAAA;EAAA;AAAA,uDACpB;EAAA,IAAC;IAAEN;EAAM,CAAC;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACC,KAAK;AAAA,EAG3C;AAEM,IAAMK,MAAqB,GAAG,SAA0B;EAAA,IAAzB;MAAEC;IAAiB,CAAC;IAANC,IAAI;EACtD,OAAOD,OAAO,GAAG,6BAAC,aAAa,EAAKC,IAAI,CAAI,GAAG,6BAAC,aAAa,EAAKA,IAAI,CAAI;AAC5E,CAAC;AAAA;AAEM,IAAMC,UAAU,GAAGjB,yBAAM,CAACkB,EAAE;EAAA;EAAA;AAAA,sEACxB;EAAA,IAAC;IAAEX;EAAM,CAAC;EAAA,OAAKA,KAAK,CAACC,MAAM,CAACC,KAAK;AAAA,EAI3C;AAAA;AAEM,IAAMU,OAAO,GAAG,IAAAnB,yBAAM,EAACoB,iBAAK,CAAC,CAAClB,KAAK,CAAC;EAAA,IAAC;IAAEC,EAAE,GAAG;EAAoB,CAAC;EAAA,OAAM;IAC5EA;EACF,CAAC;AAAA,CAAC,CAAC;EAAA;EAAA;AAAA,QAAE;AAAA"}
|
package/lib/Markdown/index.js
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
6
|
var _Markdown = require("./Markdown");
|
|
8
|
-
|
|
9
7
|
Object.keys(_Markdown).forEach(function (key) {
|
|
10
8
|
if (key === "default" || key === "__esModule") return;
|
|
11
9
|
if (key in exports && exports[key] === _Markdown[key]) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/Markdown/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './Markdown'\n"],"mappings":";;;;;AAyBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
package/lib/Markdown/utils.js
CHANGED
|
@@ -3,69 +3,49 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
6
|
+
exports.removeMarkTags = exports.removeCodeLanguageTags = exports.regReplaceAll = exports.qualifyMarkdownText = exports.prepareCodeText = exports.getCodeLanguageFromTaggedText = exports.addMarkTags = exports.addCodeLanguageTags = void 0;
|
|
8
7
|
var _utils = require("../utils");
|
|
9
|
-
|
|
10
8
|
var regReplaceAll = (content, pattern, replacementFunc) => {
|
|
11
9
|
var target = new RegExp(pattern, 'gi');
|
|
12
10
|
return content.replace(target, replacementFunc);
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
exports.regReplaceAll = regReplaceAll;
|
|
16
|
-
|
|
17
13
|
var addMarkTags = (content, searchPattern) => {
|
|
18
14
|
var markedContent;
|
|
19
|
-
|
|
20
15
|
try {
|
|
21
16
|
var replacement = match => "<mark>".concat(match, "</mark>");
|
|
22
|
-
|
|
23
17
|
markedContent = regReplaceAll(content, searchPattern, replacement);
|
|
24
18
|
} catch (e) {
|
|
25
19
|
markedContent = content;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
return markedContent;
|
|
29
22
|
};
|
|
30
|
-
|
|
31
23
|
exports.addMarkTags = addMarkTags;
|
|
32
|
-
|
|
33
24
|
var removeMarkTags = markedText => {
|
|
34
25
|
return markedText.replace(/<\/?mark>/g, '');
|
|
35
26
|
};
|
|
36
|
-
|
|
37
27
|
exports.removeMarkTags = removeMarkTags;
|
|
38
|
-
|
|
39
28
|
var addCodeLanguageTags = content => {
|
|
40
29
|
var languageTaggedContent;
|
|
41
|
-
|
|
42
30
|
try {
|
|
43
31
|
var searchPattern = /```([A-Za-z]+)$/gm;
|
|
44
32
|
var match = searchPattern.exec(content);
|
|
45
33
|
var language = match && match[1];
|
|
46
|
-
|
|
47
34
|
var replacement = () => "```\n<".concat(language, "/>");
|
|
48
|
-
|
|
49
35
|
languageTaggedContent = content.replace(searchPattern, replacement);
|
|
50
36
|
} catch (e) {
|
|
51
37
|
languageTaggedContent = content;
|
|
52
38
|
}
|
|
53
|
-
|
|
54
39
|
return languageTaggedContent;
|
|
55
40
|
};
|
|
56
|
-
|
|
57
41
|
exports.addCodeLanguageTags = addCodeLanguageTags;
|
|
58
|
-
|
|
59
42
|
var removeCodeLanguageTags = content => {
|
|
60
43
|
var untaggedContent;
|
|
61
|
-
|
|
62
44
|
try {
|
|
63
45
|
var replacement = () => '';
|
|
64
|
-
|
|
65
46
|
var searchPattern = /<(.*)\/>$/gm;
|
|
66
47
|
var match = searchPattern.exec(content);
|
|
67
48
|
var language = match && match[1];
|
|
68
|
-
|
|
69
49
|
if (language && (0, _utils.instanceOfPrismLanguage)(language)) {
|
|
70
50
|
untaggedContent = regReplaceAll(content, '<' + language + '/>\n', replacement);
|
|
71
51
|
} else {
|
|
@@ -74,20 +54,15 @@ var removeCodeLanguageTags = content => {
|
|
|
74
54
|
} catch (e) {
|
|
75
55
|
untaggedContent = content;
|
|
76
56
|
}
|
|
77
|
-
|
|
78
57
|
return untaggedContent;
|
|
79
58
|
};
|
|
80
|
-
|
|
81
59
|
exports.removeCodeLanguageTags = removeCodeLanguageTags;
|
|
82
|
-
|
|
83
60
|
var getCodeLanguageFromTaggedText = content => {
|
|
84
61
|
var searchPattern = /<(.*)\/>$/gm;
|
|
85
62
|
var match = searchPattern.exec(content);
|
|
86
63
|
return match ? match[1] : 'markup';
|
|
87
64
|
};
|
|
88
|
-
|
|
89
65
|
exports.getCodeLanguageFromTaggedText = getCodeLanguageFromTaggedText;
|
|
90
|
-
|
|
91
66
|
var prepareCodeText = content => {
|
|
92
67
|
var text = content;
|
|
93
68
|
var language = getCodeLanguageFromTaggedText(text);
|
|
@@ -99,19 +74,14 @@ var prepareCodeText = content => {
|
|
|
99
74
|
language
|
|
100
75
|
};
|
|
101
76
|
};
|
|
102
|
-
|
|
103
77
|
exports.prepareCodeText = prepareCodeText;
|
|
104
|
-
|
|
105
78
|
var qualifyMarkdownText = (content, pattern) => {
|
|
106
79
|
var qualifiedContent;
|
|
107
|
-
|
|
108
80
|
if (pattern !== '') {
|
|
109
81
|
qualifiedContent = addMarkTags(content, pattern);
|
|
110
82
|
}
|
|
111
|
-
|
|
112
83
|
qualifiedContent = addCodeLanguageTags(qualifiedContent || content);
|
|
113
84
|
return qualifiedContent;
|
|
114
85
|
};
|
|
115
|
-
|
|
116
86
|
exports.qualifyMarkdownText = qualifyMarkdownText;
|
|
117
87
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["regReplaceAll","content","pattern","replacementFunc","target","RegExp","replace","addMarkTags","searchPattern","markedContent","replacement","match","e","removeMarkTags","markedText","addCodeLanguageTags","languageTaggedContent","exec","language","removeCodeLanguageTags","untaggedContent","instanceOfPrismLanguage","getCodeLanguageFromTaggedText","prepareCodeText","text","trim","qualifyMarkdownText","qualifiedContent"],"sources":["../../src/Markdown/utils.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { instanceOfPrismLanguage } from '../utils'\n\nexport const regReplaceAll = (\n content: string,\n pattern: string,\n replacementFunc: any\n) => {\n const target = new RegExp(pattern, 'gi')\n return content.replace(target, replacementFunc)\n}\n/**\n * Adds <mark> tags around text if search pattern is detected\n * @param content - the main content to render\n * @param searchPattern - the search pattern to consider\n * @returns - a 'marked' string to be rendered by markdown component\n */\nexport const addMarkTags = (content: string, searchPattern: string) => {\n let markedContent\n try {\n const replacement = (match: string) => `<mark>${match}</mark>`\n markedContent = regReplaceAll(content, searchPattern, replacement)\n } catch (e) {\n markedContent = content\n }\n return markedContent\n}\n\n/**\n * Removes <mark><mark/> tags from markdown text. The mark tag is removed from code styled\n * text as the code renderer cannot differentiate <mark><mark/> from the code text.\n * @param markedText - the markdown text input that contains <mark /> tags\n */\nexport const removeMarkTags = (markedText: string) => {\n return markedText.replace(/<\\/?mark>/g, '')\n}\n\n/**\n * Checks the input for code block decorators, the programming language used (```json), and returns a language tag\n * that is later used to inform syntax highlighting rules\n * @param content - the code blob to render\n * @returns - code blob string with code language tag\n */\nexport const addCodeLanguageTags = (content: string) => {\n let languageTaggedContent: string\n try {\n const searchPattern = /```([A-Za-z]+)$/gm\n const match = searchPattern.exec(content)\n const language = match && match[1]\n const replacement = () => `\\`\\`\\`\\n<${language}/>`\n languageTaggedContent = content.replace(searchPattern, replacement)\n } catch (e) {\n languageTaggedContent = content\n }\n return languageTaggedContent\n}\n\n/**\n * Removes the code language tag from the code blob text before text presentation to screen\n * @param content - code blob text with language tag\n * @returns - code blob text without language tag\n */\nexport const removeCodeLanguageTags = (content: string) => {\n let untaggedContent\n try {\n const replacement = () => ''\n const searchPattern = /<(.*)\\/>$/gm\n const match = searchPattern.exec(content)\n const language = match && match[1]\n if (language && instanceOfPrismLanguage(language)) {\n untaggedContent = regReplaceAll(\n content,\n '<' + language + '/>\\n',\n replacement\n )\n } else {\n untaggedContent = content\n }\n } catch (e) {\n untaggedContent = content\n }\n return untaggedContent\n}\n\n/**\n * Extracts the syntax highlighting language, if specified\n * @param content - language tagged code blob\n * @returns - syntax highlighting language\n */\nexport const getCodeLanguageFromTaggedText = (content: string): string => {\n const searchPattern = /<(.*)\\/>$/gm\n const match = searchPattern.exec(content)\n return match ? match[1] : 'markup'\n}\n\n/**\n * Removes tags that were applied for syntax highlighting or search pattern matching and returns just the code blob text\n * @param content - code blob text to render\n * @returns - rendered code text\n */\nexport const prepareCodeText = (content: string) => {\n let text = content\n const language = getCodeLanguageFromTaggedText(text)\n text = removeCodeLanguageTags(text)\n text = removeMarkTags(text)\n text = text.trim()\n return { text, language }\n}\n\n/**\n * Returns a 'qualified markdown' text, a string which contains search pattern match and syntax highlighting qualifiers used by this package\n * @param content The content to qualify\n * @param pattern The regex pattern to search\n * @returns qualified content\n */\nexport const qualifyMarkdownText = (\n content: string,\n pattern: string\n): string => {\n let qualifiedContent\n if (pattern !== '') {\n qualifiedContent = addMarkTags(content, pattern)\n }\n qualifiedContent = addCodeLanguageTags(qualifiedContent || content)\n return qualifiedContent\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CodeCopy = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _components = require("@looker/components");
|
|
9
|
+
var _ = require("..");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
var CodeCopy = _ref => {
|
|
5
12
|
var {
|
|
6
13
|
language = 'json',
|
|
7
14
|
code,
|
|
@@ -11,19 +18,20 @@ export var CodeCopy = _ref => {
|
|
|
11
18
|
inline = false,
|
|
12
19
|
lineNumbers = true
|
|
13
20
|
} = _ref;
|
|
14
|
-
return
|
|
21
|
+
return _react.default.createElement(_components.Space, {
|
|
15
22
|
between: true,
|
|
16
23
|
align: "start",
|
|
17
24
|
pt: "xsmall"
|
|
18
|
-
},
|
|
25
|
+
}, _react.default.createElement(_.CodeDisplay, {
|
|
19
26
|
code: code,
|
|
20
27
|
language: language,
|
|
21
28
|
pattern: pattern,
|
|
22
29
|
transparent: transparent,
|
|
23
30
|
inline: inline,
|
|
24
31
|
lineNumbers: lineNumbers
|
|
25
|
-
}),
|
|
32
|
+
}), _react.default.createElement(_components.CopyToClipboard, {
|
|
26
33
|
content: code
|
|
27
|
-
}, caption));
|
|
34
|
+
}, caption || 'Copy'));
|
|
28
35
|
};
|
|
36
|
+
exports.CodeCopy = CodeCopy;
|
|
29
37
|
//# sourceMappingURL=CodeCopy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CodeCopy.js","names":["CodeCopy","language","code","caption","pattern","transparent","inline","lineNumbers"],"sources":["../../../src/CodeCopy/CodeCopy.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport React from 'react'\nimport { Space, CopyToClipboard } from '@looker/components'\nimport type { CodeDisplayProps } from '..'\nimport { CodeDisplay } from '..'\n\ninterface CodeCopyProps extends CodeDisplayProps {\n caption?: string\n}\n/**\n * Shows code with clipboard copying support\n */\nexport const CodeCopy = ({\n language = 'json',\n code,\n caption = 'Copy',\n pattern = '',\n transparent = false,\n inline = false,\n lineNumbers = true,\n}: CodeCopyProps) => {\n return (\n <Space between align=\"start\" pt=\"xsmall\">\n <CodeDisplay\n code={code}\n language={language}\n pattern={pattern}\n transparent={transparent}\n inline={inline}\n lineNumbers={lineNumbers}\n />\n {/* TODO why is caption || 'Copy' required here? */}\n <CopyToClipboard content={code}>{caption || 'Copy'}</CopyToClipboard>\n </Space>\n )\n}\n"],"mappings":";;;;;;AAyBA;AACA;AAEA;AAAgC;AAQzB,IAAMA,QAAQ,GAAG,QAQH;EAAA,IARI;IACvBC,QAAQ,GAAG,MAAM;IACjBC,IAAI;IACJC,OAAO,GAAG,MAAM;IAChBC,OAAO,GAAG,EAAE;IACZC,WAAW,GAAG,KAAK;IACnBC,MAAM,GAAG,KAAK;IACdC,WAAW,GAAG;EACD,CAAC;EACd,OACE,6BAAC,iBAAK;IAAC,OAAO;IAAC,KAAK,EAAC,OAAO;IAAC,EAAE,EAAC;EAAQ,GACtC,6BAAC,aAAW;IACV,IAAI,EAAEL,IAAK;IACX,QAAQ,EAAED,QAAS;IACnB,OAAO,EAAEG,OAAQ;IACjB,WAAW,EAAEC,WAAY;IACzB,MAAM,EAAEC,MAAO;IACf,WAAW,EAAEC;EAAY,EACzB,EAEF,6BAAC,2BAAe;IAAC,OAAO,EAAEL;EAAK,GAAEC,OAAO,IAAI,MAAM,CAAmB,CAC/D;AAEZ,CAAC;AAAA"}
|
|
@@ -1,2 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _CodeCopy = require("./CodeCopy");
|
|
7
|
+
Object.keys(_CodeCopy).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _CodeCopy[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _CodeCopy[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
2
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/CodeCopy/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './CodeCopy'\n"],"mappings":";;;;;AAyBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
import { Span } from '@looker/components';
|
|
6
|
-
import Highlight, { defaultProps, Prism } from 'prism-react-renderer';
|
|
7
|
-
import { getPrismLanguage, getOverriddenTheme } from '../utils';
|
|
8
|
-
import { CodeWrapper } from './CodeWrapper';
|
|
9
|
-
import { LineItem } from './LineItem';
|
|
10
|
-
(typeof global !== 'undefined' ? global : window).Prism = Prism;
|
|
1
|
+
"use strict";
|
|
11
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CodeDisplay = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
var _components = require("@looker/components");
|
|
10
|
+
var _prismReactRenderer = _interopRequireWildcard(require("prism-react-renderer"));
|
|
11
|
+
var _utils = require("../utils");
|
|
12
|
+
var _CodeWrapper = require("./CodeWrapper");
|
|
13
|
+
var _LineItem = require("./LineItem");
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
+
(typeof global !== 'undefined' ? global : window).Prism = _prismReactRenderer.Prism;
|
|
12
19
|
require('prismjs/components/prism-kotlin');
|
|
13
|
-
|
|
14
20
|
require('prismjs/components/prism-csharp');
|
|
15
|
-
|
|
16
21
|
require('prismjs/components/prism-swift');
|
|
17
|
-
|
|
18
22
|
require('prismjs/components/prism-ruby');
|
|
19
|
-
|
|
20
23
|
require('prismjs/components/prism-markdown');
|
|
21
|
-
|
|
22
|
-
var Line = styled(Span).withConfig({
|
|
24
|
+
var Line = (0, _styledComponents.default)(_components.Span).withConfig({
|
|
23
25
|
displayName: "CodeDisplay__Line",
|
|
24
|
-
componentId: "iaw0ts-0"
|
|
26
|
+
componentId: "sc-iaw0ts-0"
|
|
25
27
|
})(["display:table-row;"]);
|
|
26
|
-
var LineNo =
|
|
28
|
+
var LineNo = (0, _styledComponents.default)(_components.Span).withConfig({
|
|
27
29
|
displayName: "CodeDisplay__LineNo",
|
|
28
|
-
componentId: "iaw0ts-1"
|
|
30
|
+
componentId: "sc-iaw0ts-1"
|
|
29
31
|
})(["display:table-cell;text-align:right;padding-right:1em;user-select:none;opacity:0.5;"]);
|
|
30
|
-
var LineContent =
|
|
32
|
+
var LineContent = (0, _styledComponents.default)(_components.Span).withConfig({
|
|
31
33
|
displayName: "CodeDisplay__LineContent",
|
|
32
|
-
componentId: "iaw0ts-2"
|
|
34
|
+
componentId: "sc-iaw0ts-2"
|
|
33
35
|
})(["display:table-cell;font-family:monospace;"]);
|
|
34
|
-
|
|
36
|
+
var CodeDisplay = _ref => {
|
|
35
37
|
var {
|
|
36
38
|
language = 'json',
|
|
37
39
|
code,
|
|
@@ -40,10 +42,10 @@ export var CodeDisplay = _ref => {
|
|
|
40
42
|
inline = false,
|
|
41
43
|
lineNumbers = true
|
|
42
44
|
} = _ref;
|
|
43
|
-
return
|
|
45
|
+
return _react.default.createElement(_prismReactRenderer.default, _extends({}, _prismReactRenderer.defaultProps, {
|
|
44
46
|
code: code.trim(),
|
|
45
|
-
language: getPrismLanguage(language),
|
|
46
|
-
theme: getOverriddenTheme(transparent, inline)
|
|
47
|
+
language: (0, _utils.getPrismLanguage)(language),
|
|
48
|
+
theme: (0, _utils.getOverriddenTheme)(transparent, inline)
|
|
47
49
|
}), _ref2 => {
|
|
48
50
|
var {
|
|
49
51
|
className,
|
|
@@ -52,21 +54,21 @@ export var CodeDisplay = _ref => {
|
|
|
52
54
|
getLineProps,
|
|
53
55
|
getTokenProps
|
|
54
56
|
} = _ref2;
|
|
55
|
-
return
|
|
57
|
+
return _react.default.createElement(_CodeWrapper.CodeWrapper, {
|
|
56
58
|
className: className,
|
|
57
59
|
style: style,
|
|
58
60
|
inline: inline
|
|
59
|
-
}, tokens.map((line, i) =>
|
|
61
|
+
}, tokens.map((line, i) => _react.default.createElement(Line, _extends({
|
|
60
62
|
key: i
|
|
61
63
|
}, getLineProps({
|
|
62
64
|
line,
|
|
63
65
|
key: i
|
|
64
|
-
})), lineNumbers &&
|
|
66
|
+
})), lineNumbers && _react.default.createElement(LineNo, null, i + 1), _react.default.createElement(LineContent, null, line.map((token, key) => {
|
|
65
67
|
var tokenProps = getTokenProps({
|
|
66
68
|
token,
|
|
67
69
|
key
|
|
68
70
|
});
|
|
69
|
-
return
|
|
71
|
+
return _react.default.createElement(_LineItem.LineItem, {
|
|
70
72
|
key: key,
|
|
71
73
|
index: key,
|
|
72
74
|
tokenProps: tokenProps,
|
|
@@ -75,4 +77,5 @@ export var CodeDisplay = _ref => {
|
|
|
75
77
|
})))));
|
|
76
78
|
});
|
|
77
79
|
};
|
|
80
|
+
exports.CodeDisplay = CodeDisplay;
|
|
78
81
|
//# sourceMappingURL=CodeDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CodeDisplay.js","names":["global","window","Prism","require","Line","styled","Span","LineNo","LineContent","CodeDisplay","language","code","pattern","transparent","inline","lineNumbers","defaultProps","trim","getPrismLanguage","getOverriddenTheme","className","style","tokens","getLineProps","getTokenProps","map","line","i","key","token","tokenProps"],"sources":["../../../src/CodeDisplay/CodeDisplay.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC } from 'react'\nimport React from 'react'\nimport styled from 'styled-components'\nimport { Span } from '@looker/components'\nimport Highlight, { defaultProps, Prism } from 'prism-react-renderer'\n\nimport { getPrismLanguage, getOverriddenTheme } from '../utils'\nimport { CodeWrapper } from './CodeWrapper'\nimport { LineItem } from './LineItem'\nimport type { CodeDisplayProps } from './types'\n;(typeof global !== 'undefined' ? (global as any) : (window as any)).Prism =\n Prism\nrequire('prismjs/components/prism-kotlin')\nrequire('prismjs/components/prism-csharp')\nrequire('prismjs/components/prism-swift')\nrequire('prismjs/components/prism-ruby')\nrequire('prismjs/components/prism-markdown')\n\nconst Line = styled(Span)`\n display: table-row;\n`\n\nconst LineNo = styled(Span)`\n display: table-cell;\n text-align: right;\n padding-right: 1em;\n user-select: none;\n opacity: 0.5;\n`\n\nconst LineContent = styled(Span)`\n display: table-cell;\n font-family: monospace;\n`\n\n/**\n * Provides a view-only syntax highlighter for all supported SDK languages.\n * @param language - highlighting language\n * @param code - string content to display\n * @param pattern - Search pattern to be marked\n * @param transparent - Flag to provide background styling or not\n * @param inline - Flag to use block or inline code\n * @param lineNumbers - flag to toggle line numbers\n */\nexport const CodeDisplay: FC<CodeDisplayProps> = ({\n language = 'json',\n code,\n pattern = '',\n transparent = false,\n inline = false,\n lineNumbers = true,\n}) => {\n return (\n <Highlight\n {...defaultProps}\n code={code.trim()}\n language={getPrismLanguage(language)}\n theme={getOverriddenTheme(transparent, inline)}\n >\n {({ className, style, tokens, getLineProps, getTokenProps }) => (\n <CodeWrapper className={className} style={style} inline={inline}>\n {tokens.map((line, i) => (\n <Line key={i} {...getLineProps({ line, key: i })}>\n {lineNumbers && <LineNo>{i + 1}</LineNo>}\n <LineContent>\n {line.map((token, key) => {\n const tokenProps = getTokenProps({ token, key })\n return (\n <LineItem\n key={key}\n index={key}\n tokenProps={tokenProps}\n pattern={pattern}\n />\n )\n })}\n </LineContent>\n </Line>\n ))}\n </CodeWrapper>\n )}\n </Highlight>\n )\n}\n"],"mappings":";;;;;;AA2BA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAqC;AAAA;AAAA;AAAA;AAEpC,CAAC,OAAOA,MAAM,KAAK,WAAW,GAAIA,MAAM,GAAYC,MAAc,EAAEC,KAAK,GACxEA,yBAAK;AACPC,OAAO,CAAC,iCAAiC,CAAC;AAC1CA,OAAO,CAAC,iCAAiC,CAAC;AAC1CA,OAAO,CAAC,gCAAgC,CAAC;AACzCA,OAAO,CAAC,+BAA+B,CAAC;AACxCA,OAAO,CAAC,mCAAmC,CAAC;AAE5C,IAAMC,IAAI,GAAG,IAAAC,yBAAM,EAACC,gBAAI,CAAC;EAAA;EAAA;AAAA,0BAExB;AAED,IAAMC,MAAM,GAAG,IAAAF,yBAAM,EAACC,gBAAI,CAAC;EAAA;EAAA;AAAA,2FAM1B;AAED,IAAME,WAAW,GAAG,IAAAH,yBAAM,EAACC,gBAAI,CAAC;EAAA;EAAA;AAAA,iDAG/B;AAWM,IAAMG,WAAiC,GAAG,QAO3C;EAAA,IAP4C;IAChDC,QAAQ,GAAG,MAAM;IACjBC,IAAI;IACJC,OAAO,GAAG,EAAE;IACZC,WAAW,GAAG,KAAK;IACnBC,MAAM,GAAG,KAAK;IACdC,WAAW,GAAG;EAChB,CAAC;EACC,OACE,6BAAC,2BAAS,eACJC,gCAAY;IAChB,IAAI,EAAEL,IAAI,CAACM,IAAI,EAAG;IAClB,QAAQ,EAAE,IAAAC,uBAAgB,EAACR,QAAQ,CAAE;IACrC,KAAK,EAAE,IAAAS,yBAAkB,EAACN,WAAW,EAAEC,MAAM;EAAE,IAE9C;IAAA,IAAC;MAAEM,SAAS;MAAEC,KAAK;MAAEC,MAAM;MAAEC,YAAY;MAAEC;IAAc,CAAC;IAAA,OACzD,6BAAC,wBAAW;MAAC,SAAS,EAAEJ,SAAU;MAAC,KAAK,EAAEC,KAAM;MAAC,MAAM,EAAEP;IAAO,GAC7DQ,MAAM,CAACG,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAClB,6BAAC,IAAI;MAAC,GAAG,EAAEA;IAAE,GAAKJ,YAAY,CAAC;MAAEG,IAAI;MAAEE,GAAG,EAAED;IAAE,CAAC,CAAC,GAC7CZ,WAAW,IAAI,6BAAC,MAAM,QAAEY,CAAC,GAAG,CAAC,CAAU,EACxC,6BAAC,WAAW,QACTD,IAAI,CAACD,GAAG,CAAC,CAACI,KAAK,EAAED,GAAG,KAAK;MACxB,IAAME,UAAU,GAAGN,aAAa,CAAC;QAAEK,KAAK;QAAED;MAAI,CAAC,CAAC;MAChD,OACE,6BAAC,kBAAQ;QACP,GAAG,EAAEA,GAAI;QACT,KAAK,EAAEA,GAAI;QACX,UAAU,EAAEE,UAAW;QACvB,OAAO,EAAElB;MAAQ,EACjB;IAEN,CAAC,CAAC,CACU,CAEjB,CAAC,CACU;EAAA,CACf,CACS;AAEhB,CAAC;AAAA"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CodeWrapper = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
var Pre = _styledComponents.default.pre.withConfig({
|
|
4
11
|
displayName: "CodeWrapper__Pre",
|
|
5
12
|
componentId: "sc-156h0dr-0"
|
|
6
13
|
})(["white-space:pre-wrap;overflow:auto;margin:0px;.match{background:#000000;border:1px#fff2c2 solid;border-radius:10px;padding:0.15px 4px;}"]);
|
|
7
|
-
var Code =
|
|
14
|
+
var Code = _styledComponents.default.code.withConfig({
|
|
8
15
|
displayName: "CodeWrapper__Code",
|
|
9
16
|
componentId: "sc-156h0dr-1"
|
|
10
17
|
})([".match{background-color:yellow;}"]);
|
|
11
|
-
|
|
18
|
+
var CodeWrapper = _ref => {
|
|
12
19
|
var {
|
|
13
20
|
className,
|
|
14
21
|
style,
|
|
@@ -16,9 +23,10 @@ export var CodeWrapper = _ref => {
|
|
|
16
23
|
children
|
|
17
24
|
} = _ref;
|
|
18
25
|
var Wrapper = inline ? Code : Pre;
|
|
19
|
-
return
|
|
26
|
+
return _react.default.createElement(Wrapper, {
|
|
20
27
|
className: className,
|
|
21
28
|
style: style
|
|
22
29
|
}, children);
|
|
23
30
|
};
|
|
31
|
+
exports.CodeWrapper = CodeWrapper;
|
|
24
32
|
//# sourceMappingURL=CodeWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"CodeWrapper.js","names":["Pre","styled","pre","Code","code","CodeWrapper","className","style","inline","children","Wrapper"],"sources":["../../../src/CodeDisplay/CodeWrapper.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC } from 'react'\nimport React from 'react'\nimport styled from 'styled-components'\n\ninterface CodeWrapperProps {\n className: string\n style: any\n inline: boolean\n children: any\n}\n\nconst Pre = styled.pre`\n white-space: pre-wrap;\n overflow: auto;\n // override default margin for Pre\n // so we can set from parent\n margin: 0px;\n\n // selector for search matches\n .match {\n background: #000000;\n border: 1px#fff2c2 solid;\n border-radius: 10px;\n padding: 0.15px 4px;\n }\n`\nconst Code = styled.code`\n // selector for search matches\n .match {\n background-color: yellow;\n }\n`\n\n/**\n * A wrapper for CodeDisplay which applies search highlighting styles on proper container component\n */\nexport const CodeWrapper: FC<CodeWrapperProps> = ({\n className,\n style,\n inline,\n children,\n}) => {\n const Wrapper = inline ? Code : Pre\n return (\n <Wrapper className={className} style={style}>\n {children}\n </Wrapper>\n )\n}\n"],"mappings":";;;;;;AA2BA;AACA;AAAsC;AAStC,IAAMA,GAAG,GAAGC,yBAAM,CAACC,GAAG;EAAA;EAAA;AAAA,+IAcrB;AACD,IAAMC,IAAI,GAAGF,yBAAM,CAACG,IAAI;EAAA;EAAA;AAAA,wCAKvB;AAKM,IAAMC,WAAiC,GAAG,QAK3C;EAAA,IAL4C;IAChDC,SAAS;IACTC,KAAK;IACLC,MAAM;IACNC;EACF,CAAC;EACC,IAAMC,OAAO,GAAGF,MAAM,GAAGL,IAAI,GAAGH,GAAG;EACnC,OACE,6BAAC,OAAO;IAAC,SAAS,EAAEM,SAAU;IAAC,KAAK,EAAEC;EAAM,GACzCE,QAAQ,CACD;AAEd,CAAC;AAAA"}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LineItem = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
10
|
+
var LineItem = _ref => {
|
|
5
11
|
var {
|
|
6
12
|
index,
|
|
7
13
|
tokenProps,
|
|
8
14
|
pattern
|
|
9
15
|
} = _ref;
|
|
10
16
|
var text = tokenProps.children.toLowerCase();
|
|
11
|
-
|
|
12
17
|
if (pattern !== '' && text.includes(pattern.toLowerCase())) {
|
|
13
18
|
tokenProps.className += ' match';
|
|
14
19
|
}
|
|
15
|
-
|
|
16
|
-
return React.createElement("span", _extends({
|
|
20
|
+
return _react.default.createElement("span", _extends({
|
|
17
21
|
key: index
|
|
18
22
|
}, tokenProps));
|
|
19
23
|
};
|
|
24
|
+
exports.LineItem = LineItem;
|
|
20
25
|
//# sourceMappingURL=LineItem.js.map
|