UNPKG

@scienceicons/myst

Version:

Open Science Icons in MyST Markdown by Curvenote

20 lines (19 loc) 1.09 kB
import { jsx as _jsx } from "react/jsx-runtime"; import * as scicon from '@scienceicons/react/24/solid'; import { CircleAlert } from 'lucide-react'; function UnknownIcon({ value }) { return (_jsx("span", { className: "text-yellow-600", title: `${value} is unknown`, children: _jsx(CircleAlert, { width: "1.2em", height: "1.2em", className: "inline" }) })); } export const ScienceIconRenderer = ({ node }) => { var _a; const names = scicon.names.map((icon) => icon.name); if (node.value && names.includes(node.value)) { const componentName = (_a = scicon.names.find((i) => i.name === node.value)) === null || _a === void 0 ? void 0 : _a.componentName; if (!componentName) return _jsx(UnknownIcon, { value: node.value }); const { names, ...components } = scicon; const Component = components[componentName]; return (_jsx("span", { className: "inline-flex align-text-bottom", title: node.value, children: _jsx(Component, { width: "1.2em", height: "1.2em" }) })); } return _jsx(UnknownIcon, { value: node.value }); };