nice-ui
Version:
React design system, components, and utilities
45 lines (44 loc) • 1.75 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.PageListItem = exports.PageList = void 0;
const React = require("react");
const nano_theme_1 = require("nano-theme");
const react_router_lite_1 = require("react-router-lite");
const Markdown_1 = require("../../../markdown/Markdown");
const util_1 = require("../util");
const listClass = (0, nano_theme_1.rule)({
pad: 0,
mar: 0,
listStyle: 'none',
fz: '0.97em',
});
const listItemClass = (0, nano_theme_1.rule)({
pad: 0,
mar: 0,
p: {
pad: '0.38em 0',
mar: 0,
},
});
const itemBulletClass = (0, nano_theme_1.rule)({
op: 0.5,
});
const PageList = ({ seq, pages }) => {
return (React.createElement("ol", { className: listClass }, pages.map((page, i) => (React.createElement(exports.PageListItem, { key: page.to, seq: `${seq ? seq + '.' : ''}${i.toString(16)}`, page: page })))));
};
exports.PageList = PageList;
const PageListItem = ({ seq, page }) => {
const to = page.to;
const title = page.title ? React.createElement(Markdown_1.Markdown, { src: page.title, inline: true }) : util_1.pageutils.title(page);
let children = null;
if (page.children && page.children.length) {
children = React.createElement(exports.PageList, { seq: seq, pages: page.children });
}
return (React.createElement("li", { className: listItemClass },
React.createElement("p", null,
React.createElement("span", { className: itemBulletClass }, seq),
"\u00A0\u00A0",
React.createElement(react_router_lite_1.Link, { a: true, to: to }, title)),
React.createElement("div", { style: { paddingLeft: '1.5em' } }, children)));
};
exports.PageListItem = PageListItem;
;