UNPKG

nice-ui

Version:

React design system, components, and utilities

31 lines (30 loc) 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const nano_theme_1 = require("nano-theme"); const MarkdownFullWidthBlock_1 = require("../util/MarkdownFullWidthBlock"); const isFirstLevelBlockElement_1 = require("../util/isFirstLevelBlockElement"); const MarkdownBlock_1 = require("../util/MarkdownBlock"); const blockquoteClass = (0, nano_theme_1.rule)({ pad: '0 0 0 16px !important', mar: '2px 0 2px 16px !important', trs: 'border 0.2s', [nano_theme_1.m1]: { mar: '0 !important', pad: '0 0 0 12px !important', }, }); const renderBlockquote = (renderers, ast, idx, props, state) => { const theme = (0, nano_theme_1.useTheme)(); const dynamicBlockquoteClass = (0, nano_theme_1.drule)({ bdl: `6px solid ${theme.g(0, 0.08)}`, '&:hover': { bdl: `6px solid ${theme.g(0, 0.16)}`, }, }); const element = (React.createElement(MarkdownBlock_1.default, { idx: idx }, React.createElement("blockquote", { className: blockquoteClass + dynamicBlockquoteClass }, renderers.children(renderers, ast, idx, props, state)))); const doCenterAsTopLevelBlock = props.isFullWidth && (0, isFirstLevelBlockElement_1.default)(ast.nodes[idx], ast); return doCenterAsTopLevelBlock ? React.createElement(MarkdownFullWidthBlock_1.default, null, element) : element; }; exports.default = renderBlockquote;