UNPKG

nice-ui

Version:

React design system, components, and utilities

32 lines (31 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const nano_theme_1 = require("nano-theme"); const React = require("react"); const slugify_1 = require("slugify"); const getText_1 = require("../../../../../markdown/util/getText"); const MdastFlat_1 = require("../../../../../markdown/MdastFlat"); const blockClass = (0, nano_theme_1.rule)({ pad: '8px 0', fz: '0.93em', d: 'block', '& a': { cursor: 's-resize', bdb: `1px solid ${nano_theme_1.theme.g(0.9)}`, '&:hover': { bdb: `1px solid ${nano_theme_1.theme.g(0.9)}`, }, }, }); const ContentItem = ({ node, ast, renderers }) => { const [slug] = React.useState(() => { const text = (0, getText_1.default)(ast, node.idx, 1024); const slug = (0, slugify_1.default)(text); return slug; }); const paddingLeft = Math.max(0, (node.depth ?? 0) - 2) * 16; return (React.createElement("div", { className: blockClass, style: { paddingLeft } }, React.createElement("a", { href: '#' + slug }, React.createElement(MdastFlat_1.MdastFlat, { inline: true, inlineChildren: true, ast: ast, renderers: renderers, nodeId: node.idx })))); }; exports.default = ContentItem;