@openshift-assisted/ui-lib
Version:
React component library for the Assisted Installer UI
38 lines • 2.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimpleAIPrismTheme = void 0;
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const prism_react_renderer_1 = tslib_1.__importStar(require("prism-react-renderer"));
const react_core_1 = require("@patternfly/react-core");
const global_Color_100_1 = require("@patternfly/react-tokens/dist/js/global_Color_100");
const global_palette_purple_400_1 = require("@patternfly/react-tokens/dist/js/global_palette_purple_400");
const global_palette_blue_300_1 = require("@patternfly/react-tokens/dist/js/global_palette_blue_300");
const github_1 = tslib_1.__importDefault(require("prism-react-renderer/themes/github"));
require("./PrismCode.css");
exports.SimpleAIPrismTheme = {
plain: {
color: global_Color_100_1.global_Color_100.value,
backgroundColor: github_1.default.plain.backgroundColor,
fontSize: '.93em',
},
styles: [
{
types: ['variable'],
style: {
color: global_palette_blue_300_1.global_palette_blue_300.value,
},
},
{
types: ['class-name', 'function', 'tag', 'attr-name'],
style: {
color: global_palette_purple_400_1.global_palette_purple_400.value,
},
},
],
};
const PrismCode = ({ code, language = 'bash', theme = github_1.default, copiable = false, }) => (react_1.default.createElement(prism_react_renderer_1.default, Object.assign({}, prism_react_renderer_1.defaultProps, { code: code, language: language, theme: theme }), ({ className, style, tokens, getLineProps, getTokenProps }) => (react_1.default.createElement(react_core_1.Text, { component: react_core_1.TextVariants.pre, className: className, style: style },
copiable && (react_1.default.createElement(react_core_1.ClipboardCopy, { isReadOnly: true, variant: 'inline-compact', onCopy: (e) => (0, react_core_1.clipboardCopyFunc)(e, code), style: { float: 'right', background: 'inherit' } }, '')),
tokens.map((line, i) => (react_1.default.createElement("div", Object.assign({ key: i }, getLineProps({ line, key: i })), line.map((token, key) => (react_1.default.createElement("span", Object.assign({ key: key }, getTokenProps({ token, key }))))))))))));
exports.default = PrismCode;
//# sourceMappingURL=PrismCode.js.map
;