nice-ui
Version:
React design system, components, and utilities
24 lines (23 loc) • 1.11 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const nano_theme_1 = require("nano-theme");
const MarkdownBlock_1 = require("../../util/MarkdownBlock");
const MarkdownFullWidthBlock_1 = require("../../util/MarkdownFullWidthBlock");
const isFirstLevelBlockElement_1 = require("../../util/isFirstLevelBlockElement");
const context_1 = require("../../context");
const blockClass = (0, nano_theme_1.rule)({
bd: 0,
bdrad: '2px',
mar: '64px 0',
h: '2px',
});
const Hr = React.memo(({ idx }) => {
const { ast, props } = (0, context_1.useMarkdown)();
const theme = (0, nano_theme_1.useTheme)();
const node = ast.nodes[idx];
const element = React.createElement(MarkdownBlock_1.default, { idx: idx, as: "hr", className: blockClass, style: { background: theme.g(0.2, 0.1) } });
const doCenterAsTopLevelBlock = props.isFullWidth && (0, isFirstLevelBlockElement_1.default)(node, ast);
return doCenterAsTopLevelBlock ? React.createElement(MarkdownFullWidthBlock_1.default, null, element) : element;
});
exports.default = Hr;