nice-ui
Version:
React design system, components, and utilities
75 lines (74 loc) • 2.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const lazy_1 = require("../inline/emoji/lazy");
const lazy_2 = require("../components/chess/Piece/lazy");
const wP = React.createElement(lazy_2.default, { piece: "wP" });
const wR = React.createElement(lazy_2.default, { piece: "wR" });
const wN = React.createElement(lazy_2.default, { piece: "wN" });
const wB = React.createElement(lazy_2.default, { piece: "wB" });
const wQ = React.createElement(lazy_2.default, { piece: "wQ" });
const wK = React.createElement(lazy_2.default, { piece: "wK" });
const bP = React.createElement(lazy_2.default, { piece: "bP" });
const bR = React.createElement(lazy_2.default, { piece: "bR" });
const bN = React.createElement(lazy_2.default, { piece: "bN" });
const bB = React.createElement(lazy_2.default, { piece: "bB" });
const bQ = React.createElement(lazy_2.default, { piece: "bQ" });
const bK = React.createElement(lazy_2.default, { piece: "bK" });
const icons = {
wP,
wp: wP,
P: wP,
wR,
wr: wR,
R: wR,
wN,
wn: wN,
N: wN,
wB,
wb: wB,
B: wB,
wQ,
wq: wQ,
Q: wQ,
wK,
wk: wK,
K: wK,
bP,
bp: bP,
p: bP,
bR,
br: bR,
r: bR,
bN,
bn: bN,
n: bN,
bB,
bb: bB,
b: bB,
bQ,
bq: bQ,
q: bQ,
bK,
bk: bK,
k: bK,
};
const renderIcon = (renderers, flat, idx, props) => {
const node = flat.nodes[idx];
const { emoji } = node;
const fallback = React.createElement("code", null,
":",
emoji,
":");
const icon = icons[emoji];
let element = icon || React.createElement(lazy_1.default, { source: emoji, fallback: fallback });
// Increase emoji 2x if document only contains emojis.
if (props.scaleUpEmojiSrc) {
const isSingleIconNodeParagraphDocument = flat.nodes.length === 3;
if (isSingleIconNodeParagraphDocument) {
element = React.createElement("span", { style: { fontSize: '2em', lineHeight: '1.1em' } }, element);
}
}
return element;
};
exports.default = renderIcon;