nice-ui
Version:
React design system, components, and utilities
53 lines (52 loc) • 1.84 kB
JavaScript
/* tslint:disable prefer-switch */
Object.defineProperty(exports, "__esModule", { value: true });
exports.introClass = void 0;
const React = require("react");
const nano_theme_1 = require("nano-theme");
const renderCode_1 = require("../../../../markdown/renderers/renderCode");
const parser_1 = require("../../../../markdown/parser");
const Note_1 = require("../components/Note");
const Screenshot_1 = require("../components/Screenshot");
const Wide_1 = require("../components/Wide");
const Aside_1 = require("../components/Aside");
exports.introClass = (0, nano_theme_1.rule)({
// ...theme.font.ui2.mid,
col: nano_theme_1.theme.g(0.5),
fz: '0.9em',
op: 0.9,
pad: '0 0 16px',
mar: '0 0 16px',
lh: '1.5em',
bdb: `1px solid ${nano_theme_1.theme.g(0.8)}`,
p: {
lh: '1.5em',
},
});
const renderCode = (renderers, flat, idx, props, state) => {
const node = flat.nodes[idx];
const lang = node.lang;
switch (lang) {
case 'intro': {
const ast = (0, parser_1.md)(node.value);
return React.createElement("div", { className: exports.introClass }, renderers.node(renderers, ast, 0, props, state));
}
case 'jj.note': {
return React.createElement(Note_1.default, { node: node });
}
case 'jj.screenshot': {
const json = JSON.parse(node.value);
return React.createElement(Screenshot_1.default, { ...json });
}
case 'jj.wide': {
return React.createElement(Wide_1.default, { node: node });
}
case 'jj.aside': {
return React.createElement(Aside_1.default, { node: node });
}
default: {
return (0, renderCode_1.default)(renderers, flat, idx, props, state);
}
}
};
exports.default = renderCode;
;