nice-ui
Version:
React design system, components, and utilities
64 lines (63 loc) • 2.04 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const nano_theme_1 = require("nano-theme");
const FixedColumn_1 = require("../../3-list-item/FixedColumn");
const itemClass = (0, nano_theme_1.rule)({
'ol &': {
fz: '0.9em',
padl: '8px',
},
listStyle: 'none',
pos: 'relative',
'&::before': {
bdrad: '50%',
content: '""',
d: 'block',
h: '6px',
w: '6px',
left: '-1.25em',
top: '0.75em',
pos: 'absolute',
},
});
const useItemClass = (0, nano_theme_1.makeRule)((theme) => ({
'&::before': {
bg: theme.g(0.8),
},
}));
const itemInnerClass = (0, nano_theme_1.rule)({
'ol li &': {
fz: '1.1111111111111112em',
},
});
const taskItemClass = (0, nano_theme_1.rule)({
// listStyleType: 'none',
mar: '0 0 0 -22px',
pad: 0,
});
const Item = ({ children }) => {
const dynamicItemClass = useItemClass();
return (React.createElement("li", { className: itemClass + dynamicItemClass },
React.createElement("div", { className: itemInnerClass }, children)));
};
const renderListItem = (renderers, flat, idx, props, state) => {
const node = flat.nodes[idx];
const parent = flat.nodes[node.parent];
const { checked } = node;
const content = renderers.children(renderers, flat, idx, props, state);
if (typeof checked !== 'boolean') {
if (parent.ordered) {
return React.createElement("li", null, content);
}
else {
return React.createElement(Item, null, content);
}
}
return (React.createElement("li", { className: taskItemClass },
React.createElement(FixedColumn_1.FixedColumn, { left: 22 },
React.createElement("div", null,
React.createElement("input", { type: "checkbox", checked: checked, onChange: () => undefined })),
React.createElement("div", null, content))));
};
exports.default = renderListItem;
;