@depup/typedoc 0.28.17-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -0
  3. package/bin/package.json +3 -0
  4. package/bin/typedoc +24 -0
  5. package/changes.json +22 -0
  6. package/dist/browser-locales/de.d.ts +2 -0
  7. package/dist/browser-locales/de.js +62 -0
  8. package/dist/browser-locales/en.d.ts +2 -0
  9. package/dist/browser-locales/en.js +62 -0
  10. package/dist/browser-locales/ja.d.ts +2 -0
  11. package/dist/browser-locales/ja.js +62 -0
  12. package/dist/browser-locales/ko.d.ts +2 -0
  13. package/dist/browser-locales/ko.js +62 -0
  14. package/dist/browser-locales/zh.d.ts +2 -0
  15. package/dist/browser-locales/zh.js +62 -0
  16. package/dist/browser-utils.d.ts +3 -0
  17. package/dist/browser-utils.js +3 -0
  18. package/dist/index.d.ts +49 -0
  19. package/dist/index.js +46 -0
  20. package/dist/lib/application-events.d.ts +5 -0
  21. package/dist/lib/application-events.js +5 -0
  22. package/dist/lib/application.d.ts +195 -0
  23. package/dist/lib/application.js +715 -0
  24. package/dist/lib/cli.d.ts +1 -0
  25. package/dist/lib/cli.js +111 -0
  26. package/dist/lib/converter/comments/blockLexer.d.ts +4 -0
  27. package/dist/lib/converter/comments/blockLexer.js +391 -0
  28. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +3 -0
  29. package/dist/lib/converter/comments/declarationReferenceResolver.js +218 -0
  30. package/dist/lib/converter/comments/discovery.d.ts +14 -0
  31. package/dist/lib/converter/comments/discovery.js +563 -0
  32. package/dist/lib/converter/comments/index.d.ts +37 -0
  33. package/dist/lib/converter/comments/index.js +241 -0
  34. package/dist/lib/converter/comments/lexer.d.ts +17 -0
  35. package/dist/lib/converter/comments/lexer.js +10 -0
  36. package/dist/lib/converter/comments/lineLexer.d.ts +3 -0
  37. package/dist/lib/converter/comments/lineLexer.js +279 -0
  38. package/dist/lib/converter/comments/linkResolver.d.ts +20 -0
  39. package/dist/lib/converter/comments/linkResolver.js +186 -0
  40. package/dist/lib/converter/comments/parser.d.ts +18 -0
  41. package/dist/lib/converter/comments/parser.js +538 -0
  42. package/dist/lib/converter/comments/rawLexer.d.ts +8 -0
  43. package/dist/lib/converter/comments/rawLexer.js +218 -0
  44. package/dist/lib/converter/comments/tagName.d.ts +8 -0
  45. package/dist/lib/converter/comments/tagName.js +58 -0
  46. package/dist/lib/converter/comments/textParser.d.ts +33 -0
  47. package/dist/lib/converter/comments/textParser.js +372 -0
  48. package/dist/lib/converter/components.d.ts +4 -0
  49. package/dist/lib/converter/components.js +3 -0
  50. package/dist/lib/converter/context.d.ts +101 -0
  51. package/dist/lib/converter/context.js +311 -0
  52. package/dist/lib/converter/convert-expression.d.ts +9 -0
  53. package/dist/lib/converter/convert-expression.js +58 -0
  54. package/dist/lib/converter/converter-events.d.ts +13 -0
  55. package/dist/lib/converter/converter-events.js +13 -0
  56. package/dist/lib/converter/converter.d.ts +238 -0
  57. package/dist/lib/converter/converter.js +705 -0
  58. package/dist/lib/converter/factories/index-signature.d.ts +3 -0
  59. package/dist/lib/converter/factories/index-signature.js +50 -0
  60. package/dist/lib/converter/factories/signature.d.ts +14 -0
  61. package/dist/lib/converter/factories/signature.js +353 -0
  62. package/dist/lib/converter/factories/symbol-id.d.ts +3 -0
  63. package/dist/lib/converter/factories/symbol-id.js +47 -0
  64. package/dist/lib/converter/index.d.ts +5 -0
  65. package/dist/lib/converter/index.js +3 -0
  66. package/dist/lib/converter/jsdoc.d.ts +4 -0
  67. package/dist/lib/converter/jsdoc.js +135 -0
  68. package/dist/lib/converter/plugins/CategoryPlugin.d.ts +48 -0
  69. package/dist/lib/converter/plugins/CategoryPlugin.js +278 -0
  70. package/dist/lib/converter/plugins/CommentPlugin.d.ts +128 -0
  71. package/dist/lib/converter/plugins/CommentPlugin.js +770 -0
  72. package/dist/lib/converter/plugins/GroupPlugin.d.ts +48 -0
  73. package/dist/lib/converter/plugins/GroupPlugin.js +281 -0
  74. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +42 -0
  75. package/dist/lib/converter/plugins/ImplementsPlugin.js +438 -0
  76. package/dist/lib/converter/plugins/IncludePlugin.d.ts +14 -0
  77. package/dist/lib/converter/plugins/IncludePlugin.js +254 -0
  78. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +32 -0
  79. package/dist/lib/converter/plugins/InheritDocPlugin.js +220 -0
  80. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +13 -0
  81. package/dist/lib/converter/plugins/LinkResolverPlugin.js +88 -0
  82. package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
  83. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +50 -0
  84. package/dist/lib/converter/plugins/PackagePlugin.d.ts +31 -0
  85. package/dist/lib/converter/plugins/PackagePlugin.js +188 -0
  86. package/dist/lib/converter/plugins/SourcePlugin.d.ts +36 -0
  87. package/dist/lib/converter/plugins/SourcePlugin.js +215 -0
  88. package/dist/lib/converter/plugins/TypePlugin.d.ts +16 -0
  89. package/dist/lib/converter/plugins/TypePlugin.js +108 -0
  90. package/dist/lib/converter/plugins/index.d.ts +10 -0
  91. package/dist/lib/converter/plugins/index.js +10 -0
  92. package/dist/lib/converter/symbols.d.ts +3 -0
  93. package/dist/lib/converter/symbols.js +861 -0
  94. package/dist/lib/converter/types.d.ts +10 -0
  95. package/dist/lib/converter/types.js +833 -0
  96. package/dist/lib/converter/utils/nodes.d.ts +7 -0
  97. package/dist/lib/converter/utils/nodes.js +26 -0
  98. package/dist/lib/converter/utils/reflections.d.ts +2 -0
  99. package/dist/lib/converter/utils/reflections.js +17 -0
  100. package/dist/lib/converter/utils/repository.d.ts +96 -0
  101. package/dist/lib/converter/utils/repository.js +295 -0
  102. package/dist/lib/converter/utils/symbols.d.ts +2 -0
  103. package/dist/lib/converter/utils/symbols.js +12 -0
  104. package/dist/lib/debug/index.d.ts +2 -0
  105. package/dist/lib/debug/index.js +2 -0
  106. package/dist/lib/debug/reflectionLifetimes.d.ts +3 -0
  107. package/dist/lib/debug/reflectionLifetimes.js +27 -0
  108. package/dist/lib/debug/rendererUrls.d.ts +6 -0
  109. package/dist/lib/debug/rendererUrls.js +68 -0
  110. package/dist/lib/internationalization/index.d.ts +7 -0
  111. package/dist/lib/internationalization/index.js +7 -0
  112. package/dist/lib/internationalization/internationalization.d.ts +65 -0
  113. package/dist/lib/internationalization/internationalization.js +64 -0
  114. package/dist/lib/internationalization/locale-utils.cjs +8 -0
  115. package/dist/lib/internationalization/locale-utils.d.cts +8 -0
  116. package/dist/lib/internationalization/locales/de.cjs +401 -0
  117. package/dist/lib/internationalization/locales/de.d.cts +368 -0
  118. package/dist/lib/internationalization/locales/en.cjs +411 -0
  119. package/dist/lib/internationalization/locales/en.d.cts +380 -0
  120. package/dist/lib/internationalization/locales/ja.cjs +320 -0
  121. package/dist/lib/internationalization/locales/ja.d.cts +307 -0
  122. package/dist/lib/internationalization/locales/ko.cjs +233 -0
  123. package/dist/lib/internationalization/locales/ko.d.cts +221 -0
  124. package/dist/lib/internationalization/locales/zh.cjs +488 -0
  125. package/dist/lib/internationalization/locales/zh.d.cts +452 -0
  126. package/dist/lib/internationalization/translatable.d.ts +21 -0
  127. package/dist/lib/internationalization/translatable.js +8 -0
  128. package/dist/lib/models/Comment.d.ts +241 -0
  129. package/dist/lib/models/Comment.js +534 -0
  130. package/dist/lib/models/ContainerReflection.d.ts +56 -0
  131. package/dist/lib/models/ContainerReflection.js +159 -0
  132. package/dist/lib/models/DeclarationReflection.d.ts +149 -0
  133. package/dist/lib/models/DeclarationReflection.js +287 -0
  134. package/dist/lib/models/DocumentReflection.d.ts +32 -0
  135. package/dist/lib/models/DocumentReflection.js +66 -0
  136. package/dist/lib/models/FileRegistry.d.ts +46 -0
  137. package/dist/lib/models/FileRegistry.js +133 -0
  138. package/dist/lib/models/ParameterReflection.d.ts +21 -0
  139. package/dist/lib/models/ParameterReflection.js +39 -0
  140. package/dist/lib/models/ProjectReflection.d.ts +112 -0
  141. package/dist/lib/models/ProjectReflection.js +417 -0
  142. package/dist/lib/models/ReferenceReflection.d.ts +49 -0
  143. package/dist/lib/models/ReferenceReflection.js +85 -0
  144. package/dist/lib/models/Reflection.d.ts +229 -0
  145. package/dist/lib/models/Reflection.js +495 -0
  146. package/dist/lib/models/ReflectionCategory.d.ts +31 -0
  147. package/dist/lib/models/ReflectionCategory.js +56 -0
  148. package/dist/lib/models/ReflectionGroup.d.ts +38 -0
  149. package/dist/lib/models/ReflectionGroup.js +72 -0
  150. package/dist/lib/models/ReflectionSymbolId.d.ts +63 -0
  151. package/dist/lib/models/ReflectionSymbolId.js +85 -0
  152. package/dist/lib/models/SignatureReflection.d.ts +50 -0
  153. package/dist/lib/models/SignatureReflection.js +96 -0
  154. package/dist/lib/models/SourceReference.d.ts +33 -0
  155. package/dist/lib/models/SourceReference.js +50 -0
  156. package/dist/lib/models/TypeParameterReflection.d.ts +30 -0
  157. package/dist/lib/models/TypeParameterReflection.js +45 -0
  158. package/dist/lib/models/index.d.ts +19 -0
  159. package/dist/lib/models/index.js +19 -0
  160. package/dist/lib/models/kind.d.ts +84 -0
  161. package/dist/lib/models/kind.js +231 -0
  162. package/dist/lib/models/types.d.ts +553 -0
  163. package/dist/lib/models/types.js +1296 -0
  164. package/dist/lib/models/utils.d.ts +1 -0
  165. package/dist/lib/models/utils.js +26 -0
  166. package/dist/lib/models/variant.d.ts +21 -0
  167. package/dist/lib/models/variant.js +1 -0
  168. package/dist/lib/output/components.d.ts +53 -0
  169. package/dist/lib/output/components.js +133 -0
  170. package/dist/lib/output/events.d.ts +175 -0
  171. package/dist/lib/output/events.js +195 -0
  172. package/dist/lib/output/formatter.d.ts +88 -0
  173. package/dist/lib/output/formatter.js +660 -0
  174. package/dist/lib/output/index.d.ts +9 -0
  175. package/dist/lib/output/index.js +7 -0
  176. package/dist/lib/output/output.d.ts +14 -0
  177. package/dist/lib/output/output.js +92 -0
  178. package/dist/lib/output/plugins/AssetsPlugin.d.ts +20 -0
  179. package/dist/lib/output/plugins/AssetsPlugin.js +160 -0
  180. package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
  181. package/dist/lib/output/plugins/HierarchyPlugin.js +65 -0
  182. package/dist/lib/output/plugins/IconsPlugin.d.ts +12 -0
  183. package/dist/lib/output/plugins/IconsPlugin.js +54 -0
  184. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +22 -0
  185. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +222 -0
  186. package/dist/lib/output/plugins/NavigationPlugin.d.ts +7 -0
  187. package/dist/lib/output/plugins/NavigationPlugin.js +23 -0
  188. package/dist/lib/output/plugins/SitemapPlugin.d.ts +8 -0
  189. package/dist/lib/output/plugins/SitemapPlugin.js +82 -0
  190. package/dist/lib/output/plugins/index.d.ts +7 -0
  191. package/dist/lib/output/plugins/index.js +7 -0
  192. package/dist/lib/output/renderer.d.ts +227 -0
  193. package/dist/lib/output/renderer.js +387 -0
  194. package/dist/lib/output/router.d.ts +187 -0
  195. package/dist/lib/output/router.js +520 -0
  196. package/dist/lib/output/theme.d.ts +22 -0
  197. package/dist/lib/output/theme.js +17 -0
  198. package/dist/lib/output/themes/MarkedPlugin.d.ts +62 -0
  199. package/dist/lib/output/themes/MarkedPlugin.js +461 -0
  200. package/dist/lib/output/themes/default/DefaultTheme.d.ts +72 -0
  201. package/dist/lib/output/themes/default/DefaultTheme.js +367 -0
  202. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +105 -0
  203. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +151 -0
  204. package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
  205. package/dist/lib/output/themes/default/Slugger.js +60 -0
  206. package/dist/lib/output/themes/default/layouts/default.d.ts +6 -0
  207. package/dist/lib/output/themes/default/layouts/default.js +89 -0
  208. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +5 -0
  209. package/dist/lib/output/themes/default/partials/anchor-icon.js +9 -0
  210. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +4 -0
  211. package/dist/lib/output/themes/default/partials/breadcrumb.js +11 -0
  212. package/dist/lib/output/themes/default/partials/comment.d.ts +8 -0
  213. package/dist/lib/output/themes/default/partials/comment.js +80 -0
  214. package/dist/lib/output/themes/default/partials/footer.d.ts +3 -0
  215. package/dist/lib/output/themes/default/partials/footer.js +37 -0
  216. package/dist/lib/output/themes/default/partials/header.d.ts +5 -0
  217. package/dist/lib/output/themes/default/partials/header.js +39 -0
  218. package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -0
  219. package/dist/lib/output/themes/default/partials/hierarchy.js +32 -0
  220. package/dist/lib/output/themes/default/partials/icon.d.ts +20 -0
  221. package/dist/lib/output/themes/default/partials/icon.js +101 -0
  222. package/dist/lib/output/themes/default/partials/index.d.ts +4 -0
  223. package/dist/lib/output/themes/default/partials/index.js +24 -0
  224. package/dist/lib/output/themes/default/partials/member.d.ts +4 -0
  225. package/dist/lib/output/themes/default/partials/member.declaration.d.ts +4 -0
  226. package/dist/lib/output/themes/default/partials/member.declaration.js +35 -0
  227. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +4 -0
  228. package/dist/lib/output/themes/default/partials/member.getterSetter.js +12 -0
  229. package/dist/lib/output/themes/default/partials/member.js +36 -0
  230. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +6 -0
  231. package/dist/lib/output/themes/default/partials/member.signature.body.js +33 -0
  232. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +5 -0
  233. package/dist/lib/output/themes/default/partials/member.signature.title.js +9 -0
  234. package/dist/lib/output/themes/default/partials/member.signatures.d.ts +4 -0
  235. package/dist/lib/output/themes/default/partials/member.signatures.js +9 -0
  236. package/dist/lib/output/themes/default/partials/member.sources.d.ts +4 -0
  237. package/dist/lib/output/themes/default/partials/member.sources.js +55 -0
  238. package/dist/lib/output/themes/default/partials/members.d.ts +4 -0
  239. package/dist/lib/output/themes/default/partials/members.js +17 -0
  240. package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
  241. package/dist/lib/output/themes/default/partials/moduleReflection.js +68 -0
  242. package/dist/lib/output/themes/default/partials/navigation.d.ts +10 -0
  243. package/dist/lib/output/themes/default/partials/navigation.js +144 -0
  244. package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +4 -0
  245. package/dist/lib/output/themes/default/partials/reflectionPreview.js +26 -0
  246. package/dist/lib/output/themes/default/partials/toolbar.d.ts +5 -0
  247. package/dist/lib/output/themes/default/partials/toolbar.js +13 -0
  248. package/dist/lib/output/themes/default/partials/type.d.ts +5 -0
  249. package/dist/lib/output/themes/default/partials/type.js +9 -0
  250. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +4 -0
  251. package/dist/lib/output/themes/default/partials/typeAndParent.js +28 -0
  252. package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
  253. package/dist/lib/output/themes/default/partials/typeDetails.js +284 -0
  254. package/dist/lib/output/themes/default/partials/typeParameters.d.ts +4 -0
  255. package/dist/lib/output/themes/default/partials/typeParameters.js +26 -0
  256. package/dist/lib/output/themes/default/templates/document.d.ts +5 -0
  257. package/dist/lib/output/themes/default/templates/document.js +3 -0
  258. package/dist/lib/output/themes/default/templates/hierarchy.d.ts +5 -0
  259. package/dist/lib/output/themes/default/templates/hierarchy.js +31 -0
  260. package/dist/lib/output/themes/default/templates/index.d.ts +5 -0
  261. package/dist/lib/output/themes/default/templates/index.js +3 -0
  262. package/dist/lib/output/themes/default/templates/reflection.d.ts +5 -0
  263. package/dist/lib/output/themes/default/templates/reflection.js +53 -0
  264. package/dist/lib/output/themes/lib.d.ts +44 -0
  265. package/dist/lib/output/themes/lib.js +218 -0
  266. package/dist/lib/serialization/components.d.ts +22 -0
  267. package/dist/lib/serialization/components.js +1 -0
  268. package/dist/lib/serialization/deserializer.d.ts +70 -0
  269. package/dist/lib/serialization/deserializer.js +235 -0
  270. package/dist/lib/serialization/events.d.ts +17 -0
  271. package/dist/lib/serialization/events.js +18 -0
  272. package/dist/lib/serialization/index.d.ts +5 -0
  273. package/dist/lib/serialization/index.js +4 -0
  274. package/dist/lib/serialization/schema.d.ts +283 -0
  275. package/dist/lib/serialization/schema.js +32 -0
  276. package/dist/lib/serialization/serializer.d.ts +52 -0
  277. package/dist/lib/serialization/serializer.js +65 -0
  278. package/dist/lib/utils/ValidatingFileRegistry.d.ts +12 -0
  279. package/dist/lib/utils/ValidatingFileRegistry.js +52 -0
  280. package/dist/lib/utils/component.d.ts +38 -0
  281. package/dist/lib/utils/component.js +41 -0
  282. package/dist/lib/utils/compress.d.ts +7 -0
  283. package/dist/lib/utils/compress.js +13 -0
  284. package/dist/lib/utils/declaration-maps.d.ts +3 -0
  285. package/dist/lib/utils/declaration-maps.js +51 -0
  286. package/dist/lib/utils/entry-point.d.ts +50 -0
  287. package/dist/lib/utils/entry-point.js +330 -0
  288. package/dist/lib/utils/fs.d.ts +65 -0
  289. package/dist/lib/utils/fs.js +372 -0
  290. package/dist/lib/utils/general.d.ts +4 -0
  291. package/dist/lib/utils/general.js +25 -0
  292. package/dist/lib/utils/highlighter.d.ts +9 -0
  293. package/dist/lib/utils/highlighter.js +150 -0
  294. package/dist/lib/utils/html-entities.d.ts +8926 -0
  295. package/dist/lib/utils/html-entities.js +2329 -0
  296. package/dist/lib/utils/html.d.ts +67 -0
  297. package/dist/lib/utils/html.js +635 -0
  298. package/dist/lib/utils/index.d.ts +17 -0
  299. package/dist/lib/utils/index.js +15 -0
  300. package/dist/lib/utils/loggers.d.ts +10 -0
  301. package/dist/lib/utils/loggers.js +71 -0
  302. package/dist/lib/utils/options/declaration.d.ts +514 -0
  303. package/dist/lib/utils/options/declaration.js +443 -0
  304. package/dist/lib/utils/options/defaults.d.ts +20 -0
  305. package/dist/lib/utils/options/defaults.js +104 -0
  306. package/dist/lib/utils/options/help.d.ts +7 -0
  307. package/dist/lib/utils/options/help.js +63 -0
  308. package/dist/lib/utils/options/index.d.ts +6 -0
  309. package/dist/lib/utils/options/index.js +4 -0
  310. package/dist/lib/utils/options/options.d.ts +199 -0
  311. package/dist/lib/utils/options/options.js +273 -0
  312. package/dist/lib/utils/options/readers/arguments.d.ts +15 -0
  313. package/dist/lib/utils/options/readers/arguments.js +109 -0
  314. package/dist/lib/utils/options/readers/index.d.ts +4 -0
  315. package/dist/lib/utils/options/readers/index.js +4 -0
  316. package/dist/lib/utils/options/readers/package-json.d.ts +9 -0
  317. package/dist/lib/utils/options/readers/package-json.js +40 -0
  318. package/dist/lib/utils/options/readers/tsconfig.d.ts +14 -0
  319. package/dist/lib/utils/options/readers/tsconfig.js +172 -0
  320. package/dist/lib/utils/options/readers/typedoc.d.ts +33 -0
  321. package/dist/lib/utils/options/readers/typedoc.js +136 -0
  322. package/dist/lib/utils/options/sources/index.d.ts +1 -0
  323. package/dist/lib/utils/options/sources/index.js +1 -0
  324. package/dist/lib/utils/options/sources/typedoc.d.ts +2 -0
  325. package/dist/lib/utils/options/sources/typedoc.js +876 -0
  326. package/dist/lib/utils/options/tsdoc-defaults.d.ts +6 -0
  327. package/dist/lib/utils/options/tsdoc-defaults.js +94 -0
  328. package/dist/lib/utils/package-manifest.d.ts +11 -0
  329. package/dist/lib/utils/package-manifest.js +84 -0
  330. package/dist/lib/utils/paths.d.ts +27 -0
  331. package/dist/lib/utils/paths.js +127 -0
  332. package/dist/lib/utils/perf.d.ts +6 -0
  333. package/dist/lib/utils/perf.js +86 -0
  334. package/dist/lib/utils/plugins.d.ts +3 -0
  335. package/dist/lib/utils/plugins.js +61 -0
  336. package/dist/lib/utils/reflections.d.ts +5 -0
  337. package/dist/lib/utils/reflections.js +64 -0
  338. package/dist/lib/utils/sort.d.ts +11 -0
  339. package/dist/lib/utils/sort.js +153 -0
  340. package/dist/lib/utils/tsconfig.d.ts +5 -0
  341. package/dist/lib/utils/tsconfig.js +60 -0
  342. package/dist/lib/utils/tsutils.d.ts +3 -0
  343. package/dist/lib/utils/tsutils.js +23 -0
  344. package/dist/lib/utils-common/array.d.ts +57 -0
  345. package/dist/lib/utils-common/array.js +152 -0
  346. package/dist/lib/utils-common/declarationReference.d.ts +42 -0
  347. package/dist/lib/utils-common/declarationReference.js +341 -0
  348. package/dist/lib/utils-common/enum.d.ts +9 -0
  349. package/dist/lib/utils-common/enum.js +27 -0
  350. package/dist/lib/utils-common/events.d.ts +29 -0
  351. package/dist/lib/utils-common/events.js +49 -0
  352. package/dist/lib/utils-common/general.d.ts +40 -0
  353. package/dist/lib/utils-common/general.js +22 -0
  354. package/dist/lib/utils-common/hooks.d.ts +51 -0
  355. package/dist/lib/utils-common/hooks.js +90 -0
  356. package/dist/lib/utils-common/i18n.d.ts +18 -0
  357. package/dist/lib/utils-common/i18n.js +39 -0
  358. package/dist/lib/utils-common/index.d.ts +16 -0
  359. package/dist/lib/utils-common/index.js +17 -0
  360. package/dist/lib/utils-common/jsx.d.ts +53 -0
  361. package/dist/lib/utils-common/jsx.elements.d.ts +949 -0
  362. package/dist/lib/utils-common/jsx.elements.js +3 -0
  363. package/dist/lib/utils-common/jsx.js +187 -0
  364. package/dist/lib/utils-common/logger.d.ts +97 -0
  365. package/dist/lib/utils-common/logger.js +129 -0
  366. package/dist/lib/utils-common/map.d.ts +23 -0
  367. package/dist/lib/utils-common/map.js +63 -0
  368. package/dist/lib/utils-common/minimalSourceFile.d.ts +12 -0
  369. package/dist/lib/utils-common/minimalSourceFile.js +43 -0
  370. package/dist/lib/utils-common/path.d.ts +42 -0
  371. package/dist/lib/utils-common/path.js +130 -0
  372. package/dist/lib/utils-common/set.d.ts +3 -0
  373. package/dist/lib/utils-common/set.js +23 -0
  374. package/dist/lib/utils-common/string.d.ts +11 -0
  375. package/dist/lib/utils-common/string.js +84 -0
  376. package/dist/lib/utils-common/validation.d.ts +33 -0
  377. package/dist/lib/utils-common/validation.js +50 -0
  378. package/dist/lib/validation/documentation.d.ts +3 -0
  379. package/dist/lib/validation/documentation.js +91 -0
  380. package/dist/lib/validation/exports.d.ts +3 -0
  381. package/dist/lib/validation/exports.js +65 -0
  382. package/dist/lib/validation/links.d.ts +3 -0
  383. package/dist/lib/validation/links.js +78 -0
  384. package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
  385. package/dist/lib/validation/unusedMergeModuleWith.js +12 -0
  386. package/package.json +161 -0
  387. package/static/main.js +58 -0
  388. package/static/style.css +1633 -0
  389. package/tsdoc.json +247 -0
  390. package/typedoc-config.schema.json +941 -0
@@ -0,0 +1,461 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import MarkdownIt from "markdown-it";
36
+ import { ContextAwareRendererComponent } from "../components.js";
37
+ import { MarkdownEvent, RendererEvent } from "../events.js";
38
+ import { Option } from "../../utils/index.js";
39
+ import { highlight, isLoadedLanguage, isSupportedLanguage } from "../../utils/highlighter.js";
40
+ import { assertNever, escapeHtml, i18n, JSX } from "#utils";
41
+ import { anchorIcon } from "./default/partials/anchor-icon.js";
42
+ import { Reflection, ReflectionKind, } from "../../models/index.js";
43
+ function getFriendlyFullName(target) {
44
+ if (target instanceof Reflection) {
45
+ return target.getFriendlyFullName();
46
+ }
47
+ if (target.parent) {
48
+ return target.name;
49
+ }
50
+ const parts = [target.name];
51
+ let current = target;
52
+ while (current.parent) {
53
+ parts.unshift(current.name);
54
+ current = current.parent;
55
+ }
56
+ return parts.join(".");
57
+ }
58
+ /**
59
+ * Implements markdown and relativeURL helpers for templates.
60
+ * @internal
61
+ */
62
+ let MarkedPlugin = (() => {
63
+ let _classSuper = ContextAwareRendererComponent;
64
+ let _lightTheme_decorators;
65
+ let _lightTheme_initializers = [];
66
+ let _lightTheme_extraInitializers = [];
67
+ let _darkTheme_decorators;
68
+ let _darkTheme_initializers = [];
69
+ let _darkTheme_extraInitializers = [];
70
+ let _markdownItOptions_decorators;
71
+ let _markdownItOptions_initializers = [];
72
+ let _markdownItOptions_extraInitializers = [];
73
+ let _markdownLinkExternal_decorators;
74
+ let _markdownLinkExternal_initializers = [];
75
+ let _markdownLinkExternal_extraInitializers = [];
76
+ let _validation_decorators;
77
+ let _validation_initializers = [];
78
+ let _validation_extraInitializers = [];
79
+ return class MarkedPlugin extends _classSuper {
80
+ static {
81
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
82
+ _lightTheme_decorators = [Option("lightHighlightTheme")];
83
+ _darkTheme_decorators = [Option("darkHighlightTheme")];
84
+ _markdownItOptions_decorators = [Option("markdownItOptions")];
85
+ _markdownLinkExternal_decorators = [Option("markdownLinkExternal")];
86
+ _validation_decorators = [Option("validation")];
87
+ __esDecorate(this, null, _lightTheme_decorators, { kind: "accessor", name: "lightTheme", static: false, private: false, access: { has: obj => "lightTheme" in obj, get: obj => obj.lightTheme, set: (obj, value) => { obj.lightTheme = value; } }, metadata: _metadata }, _lightTheme_initializers, _lightTheme_extraInitializers);
88
+ __esDecorate(this, null, _darkTheme_decorators, { kind: "accessor", name: "darkTheme", static: false, private: false, access: { has: obj => "darkTheme" in obj, get: obj => obj.darkTheme, set: (obj, value) => { obj.darkTheme = value; } }, metadata: _metadata }, _darkTheme_initializers, _darkTheme_extraInitializers);
89
+ __esDecorate(this, null, _markdownItOptions_decorators, { kind: "accessor", name: "markdownItOptions", static: false, private: false, access: { has: obj => "markdownItOptions" in obj, get: obj => obj.markdownItOptions, set: (obj, value) => { obj.markdownItOptions = value; } }, metadata: _metadata }, _markdownItOptions_initializers, _markdownItOptions_extraInitializers);
90
+ __esDecorate(this, null, _markdownLinkExternal_decorators, { kind: "accessor", name: "markdownLinkExternal", static: false, private: false, access: { has: obj => "markdownLinkExternal" in obj, get: obj => obj.markdownLinkExternal, set: (obj, value) => { obj.markdownLinkExternal = value; } }, metadata: _metadata }, _markdownLinkExternal_initializers, _markdownLinkExternal_extraInitializers);
91
+ __esDecorate(this, null, _validation_decorators, { kind: "accessor", name: "validation", static: false, private: false, access: { has: obj => "validation" in obj, get: obj => obj.validation, set: (obj, value) => { obj.validation = value; } }, metadata: _metadata }, _validation_initializers, _validation_extraInitializers);
92
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
93
+ }
94
+ #lightTheme_accessor_storage = __runInitializers(this, _lightTheme_initializers, void 0);
95
+ get lightTheme() { return this.#lightTheme_accessor_storage; }
96
+ set lightTheme(value) { this.#lightTheme_accessor_storage = value; }
97
+ #darkTheme_accessor_storage = (__runInitializers(this, _lightTheme_extraInitializers), __runInitializers(this, _darkTheme_initializers, void 0));
98
+ get darkTheme() { return this.#darkTheme_accessor_storage; }
99
+ set darkTheme(value) { this.#darkTheme_accessor_storage = value; }
100
+ #markdownItOptions_accessor_storage = (__runInitializers(this, _darkTheme_extraInitializers), __runInitializers(this, _markdownItOptions_initializers, void 0));
101
+ get markdownItOptions() { return this.#markdownItOptions_accessor_storage; }
102
+ set markdownItOptions(value) { this.#markdownItOptions_accessor_storage = value; }
103
+ #markdownLinkExternal_accessor_storage = (__runInitializers(this, _markdownItOptions_extraInitializers), __runInitializers(this, _markdownLinkExternal_initializers, void 0));
104
+ get markdownLinkExternal() { return this.#markdownLinkExternal_accessor_storage; }
105
+ set markdownLinkExternal(value) { this.#markdownLinkExternal_accessor_storage = value; }
106
+ #validation_accessor_storage = (__runInitializers(this, _markdownLinkExternal_extraInitializers), __runInitializers(this, _validation_initializers, void 0));
107
+ get validation() { return this.#validation_accessor_storage; }
108
+ set validation(value) { this.#validation_accessor_storage = value; }
109
+ parser = __runInitializers(this, _validation_extraInitializers);
110
+ renderedRelativeLinks = [];
111
+ /**
112
+ * This needing to be here really feels hacky... probably some nicer way to do this.
113
+ * Revisit in 0.28.
114
+ */
115
+ renderContext = null;
116
+ lastHeaderSlug = "";
117
+ constructor(owner) {
118
+ super(owner);
119
+ this.owner.on(MarkdownEvent.PARSE, this.onParseMarkdown.bind(this));
120
+ this.owner.on(RendererEvent.END, this.onEnd.bind(this));
121
+ }
122
+ /**
123
+ * Highlight the syntax of the given text using Shiki.
124
+ *
125
+ * @param text The text that should be highlighted.
126
+ * @param lang The language that should be used to highlight the string.
127
+ * @return A html string with syntax highlighting.
128
+ */
129
+ getHighlighted(text, lang) {
130
+ lang = lang || "typescript";
131
+ lang = lang.toLowerCase();
132
+ if (!isLoadedLanguage(lang)) {
133
+ if (isSupportedLanguage(lang)) {
134
+ this.application.logger.warn(i18n.unloaded_language_0_not_highlighted_in_comment_for_1(lang, getFriendlyFullName(this.page?.model || { name: "(unknown)" })));
135
+ }
136
+ else {
137
+ this.application.logger.warn(i18n.unsupported_highlight_language_0_not_highlighted_in_comment_for_1(lang, getFriendlyFullName(this.page?.model || { name: "(unknown)" })));
138
+ }
139
+ return text;
140
+ }
141
+ return highlight(text, lang);
142
+ }
143
+ /**
144
+ * Parse the given markdown string and return the resulting html.
145
+ *
146
+ * @param input The markdown string that should be parsed.
147
+ * @returns The resulting html string.
148
+ */
149
+ parseMarkdown(input, page, context) {
150
+ let markdown = input;
151
+ if (typeof markdown !== "string") {
152
+ markdown = this.displayPartsToMarkdown(page, context, markdown);
153
+ }
154
+ this.renderContext = context;
155
+ const event = new MarkdownEvent(page, markdown, markdown);
156
+ this.owner.trigger(MarkdownEvent.PARSE, event);
157
+ this.renderContext = null;
158
+ return event.parsedText;
159
+ }
160
+ displayPartsToMarkdown(page, context, parts) {
161
+ const useHtml = !!this.markdownItOptions["html"];
162
+ const result = [];
163
+ for (const part of parts) {
164
+ switch (part.kind) {
165
+ case "text":
166
+ case "code":
167
+ result.push(part.text);
168
+ break;
169
+ case "inline-tag":
170
+ switch (part.tag) {
171
+ case "@label":
172
+ case "@inheritdoc": // Shouldn't happen
173
+ break; // Not rendered.
174
+ case "@link":
175
+ case "@linkcode":
176
+ case "@linkplain": {
177
+ if (part.target) {
178
+ let url;
179
+ let kindClass;
180
+ if (typeof part.target === "string") {
181
+ url = part.target === "#" ? undefined : part.target;
182
+ }
183
+ else if ("id" in part.target) {
184
+ // No point in trying to resolve a ReflectionSymbolId at this point, we've already
185
+ // tried and failed during the resolution step. Warnings related to those broken links
186
+ // have already been emitted.
187
+ kindClass = ReflectionKind.classString(part.target.kind);
188
+ if (context.router.hasUrl(part.target)) {
189
+ url = context.urlTo(part.target);
190
+ }
191
+ // If we don't have a URL the user probably linked to some deeply nested property
192
+ // which doesn't get an assigned URL. We'll walk upwards until we find a reflection
193
+ // which has a URL and link to that instead.
194
+ if (typeof url === "undefined") {
195
+ // Walk upwards to find something we can link to.
196
+ let target = part.target.parent;
197
+ while (!context.router.hasUrl(target)) {
198
+ target = target.parent;
199
+ }
200
+ // We know we'll always end up with a URL here eventually as the
201
+ // project always has a URL.
202
+ url = context.urlTo(target);
203
+ if (this.validation.rewrittenLink) {
204
+ this.application.logger.warn(i18n
205
+ .reflection_0_links_to_1_with_text_2_but_resolved_to_3(page.model.getFriendlyFullName(), part.target.getFriendlyFullName(), part.text, target.getFriendlyFullName()));
206
+ }
207
+ }
208
+ // If the url goes to this page, render as `#`
209
+ // to go to the top of the page.
210
+ if (url == "") {
211
+ url = "#";
212
+ }
213
+ }
214
+ if (useHtml) {
215
+ const text = part.tag === "@linkcode" ? `<code>${part.text}</code>` : part.text;
216
+ result.push(url
217
+ ? `<a href="${url}"${kindClass ? ` class="${kindClass}"` : ""}>${text}</a>`
218
+ : part.text);
219
+ }
220
+ else {
221
+ const text = part.tag === "@linkcode" ? "`" + part.text + "`" : part.text;
222
+ result.push(url ? `[${text}](${url})` : text);
223
+ }
224
+ }
225
+ else {
226
+ result.push(part.text);
227
+ }
228
+ break;
229
+ }
230
+ default:
231
+ // Hmm... probably want to be able to render these somehow, so custom inline tags can be given
232
+ // special rendering rules. Future capability. For now, just render their text.
233
+ result.push(`{${part.tag} ${part.text}}`);
234
+ break;
235
+ }
236
+ break;
237
+ case "relative-link":
238
+ switch (typeof part.target) {
239
+ case "number": {
240
+ const refl = page.project.files.resolve(part.target, page.model.project);
241
+ let url;
242
+ if (typeof refl === "object") {
243
+ // #3006, this is an unfortunate heuristic. If there is a relative link to the project
244
+ // the user probably created it by linking to the directory of the project or to
245
+ // the project's readme. Since the readme doesn't get its own reflection, we can't
246
+ // reliably disambiguate this and instead will arbitrarily decide to reference the
247
+ // root index page in this case.
248
+ if (refl.isProject()) {
249
+ url = context.relativeURL("./");
250
+ }
251
+ else {
252
+ url = context.urlTo(refl);
253
+ }
254
+ }
255
+ else {
256
+ const fileName = page.project.files.getName(part.target);
257
+ if (fileName) {
258
+ url = context.relativeURL(`media/${fileName}`);
259
+ }
260
+ }
261
+ if (typeof url !== "undefined") {
262
+ if (part.targetAnchor) {
263
+ url += "#" + part.targetAnchor;
264
+ if (typeof refl === "object") {
265
+ this.renderedRelativeLinks.push({
266
+ source: this.page.model,
267
+ target: refl,
268
+ link: part,
269
+ });
270
+ }
271
+ }
272
+ result.push(url);
273
+ break;
274
+ }
275
+ }
276
+ // fall through
277
+ case "undefined":
278
+ result.push(part.text);
279
+ break;
280
+ }
281
+ break;
282
+ default:
283
+ assertNever(part);
284
+ }
285
+ }
286
+ return result.join("");
287
+ }
288
+ onEnd() {
289
+ for (const { source, target, link } of this.renderedRelativeLinks) {
290
+ const slugger = this.owner.router.getSlugger(target);
291
+ if (!slugger.hasAnchor(link.targetAnchor)) {
292
+ this.application.logger.warn(i18n.reflection_0_links_to_1_but_anchor_does_not_exist_try_2(getFriendlyFullName(source), link.text, slugger
293
+ .getSimilarAnchors(link.targetAnchor)
294
+ .map((a) => link.text.replace(/#.*/, "#" + a))
295
+ .join("\n\t")));
296
+ }
297
+ }
298
+ // In case we're in watch mode
299
+ this.renderedRelativeLinks = [];
300
+ }
301
+ /**
302
+ * Triggered before the renderer starts rendering a project.
303
+ *
304
+ * @param event An event object describing the current render operation.
305
+ */
306
+ onBeginRenderer(event) {
307
+ super.onBeginRenderer(event);
308
+ this.setupParser();
309
+ }
310
+ getSlugger() {
311
+ return this.owner.router.getSlugger(this.page.model);
312
+ }
313
+ /**
314
+ * Creates an object with options that are passed to the markdown parser.
315
+ *
316
+ * @returns The options object for the markdown parser.
317
+ */
318
+ setupParser() {
319
+ this.parser = MarkdownIt({
320
+ ...this.markdownItOptions,
321
+ highlight: (code, lang) => {
322
+ code = this.getHighlighted(code, lang || "ts");
323
+ code = code.replace(/\n$/, "") + "\n";
324
+ if (!lang) {
325
+ return `<pre><code>${code}</code><button>${i18n.theme_copy()}</button></pre>\n`;
326
+ }
327
+ return `<pre><code class="${escapeHtml(lang)}">${code}</code><button type="button">${i18n.theme_copy()}</button></pre>\n`;
328
+ },
329
+ });
330
+ githubAlertMarkdownPlugin(this.parser);
331
+ const loader = this.application.options.getValue("markdownItLoader");
332
+ loader(this.parser);
333
+ function defaultRender(tokens, idx, options, _env, self) {
334
+ return self.renderToken(tokens, idx, options);
335
+ }
336
+ // Add anchor links for headings in readme, and add them to the "On this page" section
337
+ const headingOpenRenderer = this.parser.renderer.rules["heading_open"] || defaultRender;
338
+ this.parser.renderer.rules["heading_open"] = (tokens, idx, options, env, self) => {
339
+ const token = tokens[idx];
340
+ const content = getTokenTextContent(tokens[idx + 1]);
341
+ const level = token.markup.length;
342
+ const slug = this.getSlugger().slug(content);
343
+ this.lastHeaderSlug = slug;
344
+ this.page.pageHeadings.push({
345
+ link: `#${slug}`,
346
+ text: content,
347
+ level,
348
+ });
349
+ token.attrSet("id", slug);
350
+ token.attrSet("class", "tsd-anchor-link");
351
+ return headingOpenRenderer(tokens, idx, options, env, self);
352
+ };
353
+ const headingCloseRenderer = this.parser.renderer.rules["heading_close"] || defaultRender;
354
+ this.parser.renderer.rules["heading_close"] = (...args) => {
355
+ return `${JSX.renderElement(anchorIcon(this.renderContext, this.lastHeaderSlug))}${headingCloseRenderer(...args)}`;
356
+ };
357
+ const linkOpenRenderer = this.parser.renderer.rules["link_open"] || defaultRender;
358
+ this.parser.renderer.rules["link_open"] = (tokens, idx, options, env, self) => {
359
+ const token = tokens[idx];
360
+ const href = token.attrGet("href");
361
+ if (href) {
362
+ // Note: This doesn't catch @link tags to reflections as those
363
+ // will be relative links. This will likely have to change with
364
+ // the introduction of support for customized routers whenever
365
+ // that becomes a real thing.
366
+ if (this.markdownLinkExternal &&
367
+ /^https?:\/\//i.test(href) &&
368
+ !(href + "/").startsWith(this.hostedBaseUrl)) {
369
+ token.attrSet("target", "_blank");
370
+ const classes = token.attrGet("class")?.split(" ") || [];
371
+ classes.push("external");
372
+ token.attrSet("class", classes.join(" "));
373
+ }
374
+ token.attrSet("href", href);
375
+ }
376
+ return linkOpenRenderer(tokens, idx, options, env, self);
377
+ };
378
+ // Don't need custom rendering here as this is a TypeDoc-provided rule name
379
+ this.parser.renderer.rules["alert_open"] = (tokens, idx) => {
380
+ const icon = this.renderContext.icons[tokens[idx].attrGet("icon")];
381
+ const iconHtml = JSX.renderElement(icon());
382
+ return `<div class="${tokens[idx].attrGet("class")}"><div class="tsd-alert-title">${iconHtml}<span>${tokens[idx].attrGet("alert")}</span></div>`;
383
+ };
384
+ }
385
+ /**
386
+ * Triggered when {@link MarkedPlugin} parses a markdown string.
387
+ *
388
+ * @param event
389
+ */
390
+ onParseMarkdown(event) {
391
+ event.parsedText = this.parser.render(event.parsedText);
392
+ }
393
+ };
394
+ })();
395
+ export { MarkedPlugin };
396
+ function getTokenTextContent(token) {
397
+ // If there are children, we want their text content, not the full text content
398
+ if (token.children) {
399
+ return token.children.map(getTokenTextContent).join("");
400
+ }
401
+ // If this is a simple text fragment, use its content
402
+ if (token.type === "text") {
403
+ return token.content;
404
+ }
405
+ // Otherwise this is some type of metadata token (e.g. header_open)
406
+ // or a HTML tag token. Don't include it in the text content.
407
+ return "";
408
+ }
409
+ const kindNames = ["note", "tip", "important", "warning", "caution"];
410
+ const iconNames = ["alertNote", "alertTip", "alertImportant", "alertWarning", "alertCaution"];
411
+ const kindTranslations = [
412
+ () => i18n.alert_note(),
413
+ () => i18n.alert_tip(),
414
+ () => i18n.alert_important(),
415
+ () => i18n.alert_warning(),
416
+ () => i18n.alert_caution(),
417
+ ];
418
+ function githubAlertMarkdownPlugin(md) {
419
+ md.core.ruler.after("block", "typedoc-github-alert-plugin", (state) => {
420
+ const bqStarts = [];
421
+ for (let i = 0; i < state.tokens.length; ++i) {
422
+ const token = state.tokens[i];
423
+ if (token.type === "blockquote_open") {
424
+ bqStarts.push(i);
425
+ }
426
+ else if (token.type === "blockquote_close") {
427
+ if (bqStarts.length === 1) {
428
+ checkForAlert(state.tokens, bqStarts[0], i);
429
+ }
430
+ bqStarts.pop();
431
+ }
432
+ }
433
+ });
434
+ }
435
+ function checkForAlert(tokens, start, end) {
436
+ let alertKind = -1;
437
+ // Search for the first "inline" token. That will be the blockquote text.
438
+ for (let i = start; i < end; ++i) {
439
+ if (tokens[i].type === "inline") {
440
+ // Check for `[!NOTE]`
441
+ const kindString = tokens[i].content.match(/^\[!(\w+)\]/);
442
+ const kindIndex = kindNames.indexOf(kindString?.[1].toLowerCase() || "");
443
+ if (kindIndex !== -1) {
444
+ tokens[i].content = tokens[i].content.substring(kindString[0].length);
445
+ alertKind = kindIndex;
446
+ }
447
+ break;
448
+ }
449
+ }
450
+ // If we found an alert, then replace the blockquote_open and blockquote_close tokens with
451
+ // alert_open and alert_close tokens that can be rendered specially.
452
+ if (alertKind === -1)
453
+ return;
454
+ tokens[start].type = "alert_open";
455
+ tokens[start].tag = "div";
456
+ tokens[start].attrPush(["class", `tsd-alert tsd-alert-${kindNames[alertKind]}`]);
457
+ tokens[start].attrPush(["alert", kindTranslations[alertKind]()]);
458
+ tokens[start].attrPush(["icon", iconNames[alertKind]]);
459
+ tokens[end].type = "alert_close";
460
+ tokens[end].tag = "div";
461
+ }
@@ -0,0 +1,72 @@
1
+ import { Theme } from "../../theme.js";
2
+ import type { Renderer } from "../../renderer.js";
3
+ import { type ContainerReflection, type DocumentReflection, type ProjectReflection, type Reflection, ReflectionKind } from "../../../models/index.js";
4
+ import type { PageEvent, RendererEvent } from "../../events.js";
5
+ import type { MarkedPlugin } from "../../plugins/index.js";
6
+ import { DefaultThemeRenderContext } from "./DefaultThemeRenderContext.js";
7
+ import { type Icons } from "./partials/icon.js";
8
+ import { JSX } from "#utils";
9
+ import { type Router } from "../../router.js";
10
+ export interface NavigationElement {
11
+ text: string;
12
+ path?: string;
13
+ kind?: ReflectionKind;
14
+ class?: string;
15
+ children?: NavigationElement[];
16
+ icon?: string | number;
17
+ }
18
+ /**
19
+ * @param data the reflection to render
20
+ * @returns either a string to be written to the file, or an element to be serialized and then written.
21
+ */
22
+ export type RenderTemplate<T> = (data: T) => JSX.Element | string;
23
+ export declare class DefaultTheme extends Theme {
24
+ usedFileNames: Set<string>;
25
+ /** @internal */
26
+ markedPlugin: MarkedPlugin;
27
+ router: Router;
28
+ /**
29
+ * The icons which will actually be rendered. The source of truth lives on the theme, and
30
+ * the {@link DefaultThemeRenderContext.icons} member will produce references to these.
31
+ *
32
+ * These icons will be written twice. Once to an `icons.svg` file in the assets directory
33
+ * which will be referenced by icons on the context, and once to an `icons.js` file so that
34
+ * references to the icons can be dynamically embedded within the page for use by the search
35
+ * dropdown and when loading the page on `file://` urls.
36
+ *
37
+ * Custom themes may overwrite this entire object or individual properties on it to customize
38
+ * the icons used within the page, however TypeDoc currently assumes that all icons are svg
39
+ * elements, so custom themes must also use svg elements.
40
+ */
41
+ icons: Icons;
42
+ ContextClass: typeof DefaultThemeRenderContext;
43
+ private accessor lightTheme;
44
+ private accessor darkTheme;
45
+ private accessor highlightLanguages;
46
+ private accessor ignoredHighlightLanguages;
47
+ getRenderContext(pageEvent: PageEvent<Reflection>): DefaultThemeRenderContext;
48
+ documentTemplate: (pageEvent: PageEvent<DocumentReflection>) => JSX.Element;
49
+ reflectionTemplate: (pageEvent: PageEvent<ContainerReflection>) => JSX.Element;
50
+ indexTemplate: (pageEvent: PageEvent<ProjectReflection>) => JSX.Element;
51
+ hierarchyTemplate: (pageEvent: PageEvent<ProjectReflection>) => JSX.Element;
52
+ defaultLayoutTemplate: (pageEvent: PageEvent<Reflection>, template: RenderTemplate<PageEvent<Reflection>>) => JSX.Element;
53
+ getReflectionClasses(reflection: Reflection): string;
54
+ /**
55
+ * This is used so that themes may define multiple icons for modified icons (e.g. method, and inherited method)
56
+ */
57
+ getReflectionIcon(reflection: Reflection): keyof this["icons"] & (string | number);
58
+ /**
59
+ * Create a new DefaultTheme instance.
60
+ *
61
+ * @param renderer The renderer this theme is attached to.
62
+ */
63
+ constructor(renderer: Renderer);
64
+ render(page: PageEvent): string;
65
+ preRender(_event: RendererEvent): Promise<void>;
66
+ private _navigationCache;
67
+ /**
68
+ * If implementing a custom theme, it is recommended to override {@link buildNavigation} instead.
69
+ */
70
+ getNavigation(project: ProjectReflection): NavigationElement[];
71
+ buildNavigation(project: ProjectReflection): NavigationElement[];
72
+ }