@wordpress/block-library
Version:
Block library for the WordPress editor.
50 lines (47 loc) • 1.53 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = TableOfContentsList;
var _jsxRuntime = require("react/jsx-runtime");
/**
* External dependencies
*/
/**
* Internal dependencies
*/
const ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';
function TableOfContentsList({
nestedHeadingList,
disableLinkActivation,
onClick
}) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: nestedHeadingList.map((node, index) => {
const {
content,
link
} = node.heading;
const entry = link ? /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
className: ENTRY_CLASS_NAME,
href: link,
"aria-disabled": disableLinkActivation || undefined,
onClick: disableLinkActivation && 'function' === typeof onClick ? onClick : undefined,
children: content
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
className: ENTRY_CLASS_NAME,
children: content
});
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
children: [entry, node.children ? /*#__PURE__*/(0, _jsxRuntime.jsx)("ol", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TableOfContentsList, {
nestedHeadingList: node.children,
disableLinkActivation: disableLinkActivation,
onClick: disableLinkActivation && 'function' === typeof onClick ? onClick : undefined
})
}) : null]
}, index);
})
});
}
//# sourceMappingURL=list.js.map
;