UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 2.79 kB
{ "version": 3, "sources": ["../../src/table-of-contents/list.tsx"], "sourcesContent": ["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n\tordered = true,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n\tordered?: boolean;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\tconst NestedListTag = ordered ? 'ol' : 'ul';\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<NestedListTag>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NestedListTag>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBE;AAdF,IAAM,mBAAmB;AAEV,SAAR,oBAAsC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACX,GAKkB;AACjB,SACC,2EACG,4BAAkB,IAAK,CAAE,MAAM,UAAW;AAC3C,UAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAE/B,UAAM,QAAQ,OACb;AAAA,MAAC;AAAA;AAAA,QACA,WAAY;AAAA,QACZ,MAAO;AAAA,QACP,iBAAgB,yBAAyB;AAAA,QACzC,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,QAGF;AAAA;AAAA,IACH,IAEA,4CAAC,UAAK,WAAY,kBAAqB,mBAAS;AAGjD,UAAM,gBAAgB,UAAU,OAAO;AAEvC,WACC,6CAAC,QACE;AAAA;AAAA,MACA,KAAK,WACN,4CAAC,iBACA;AAAA,QAAC;AAAA;AAAA,UACA,mBAAoB,KAAK;AAAA,UACzB;AAAA,UAGA,SACC,yBACA,eAAe,OAAO,UACnB,UACA;AAAA,UAEJ;AAAA;AAAA,MACD,GACD,IACG;AAAA,SAlBK,KAmBV;AAAA,EAEF,CAAE,GACH;AAEF;", "names": [] }