@pb33f/cowboy-components 0.7.18 → 0.9.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 (541) hide show
  1. package/dist/_basePickBy-D0MVaff7.js +151 -0
  2. package/dist/_baseUniq-DVhBEtEZ.js +614 -0
  3. package/dist/arc-DfidlRZC.js +83 -0
  4. package/dist/architecture-U656AL7Q-2l0oI7kq.js +5 -0
  5. package/dist/architectureDiagram-VXUJARFQ-CluOaK7l.js +4661 -0
  6. package/dist/assets/elk-layout.worker-B71_NI2D.js +1 -0
  7. package/dist/assets/equalizer.worker-A8HFNy4g.js +1 -0
  8. package/dist/assets/graph-dependent.worker-BgWuMZsb.js +1 -0
  9. package/dist/assets/rule-documentation.worker-BCKuwSgZ.js +1 -0
  10. package/dist/assets/search-graph.worker-Cwqb-ecv.js +1 -0
  11. package/dist/blockDiagram-VD42YOAC-RbyzthW7.js +2261 -0
  12. package/dist/c4Diagram-YG6GDRKO-Bx8eR5aW.js +1580 -0
  13. package/dist/channel-Dsjz0D5Z.js +5 -0
  14. package/dist/chunk-4BX2VUAB-Dk4r_XjO.js +8 -0
  15. package/dist/chunk-55IACEB6-O_k-h5nN.js +8 -0
  16. package/dist/chunk-B4BG7PRW-DVDQ5atJ.js +1375 -0
  17. package/dist/chunk-DI55MBZ5-CeD8zHDH.js +1370 -0
  18. package/dist/chunk-FMBD7UC4-_BECV2vM.js +19 -0
  19. package/dist/chunk-QN33PNHL-BZt9yPgN.js +19 -0
  20. package/dist/chunk-QZHKN3VN-VPFLLErx.js +15 -0
  21. package/dist/chunk-TZMSLE5B-DRZQTDqv.js +64 -0
  22. package/dist/classDiagram-2ON5EDUG-Pjlv98sa.js +16 -0
  23. package/dist/classDiagram-v2-WZHVMYZB-Pjlv98sa.js +16 -0
  24. package/dist/clone-CXHEQoEn.js +8 -0
  25. package/dist/components/attention-box/attention-box.css.js +8 -0
  26. package/dist/components/auth/login-button.js +1 -1
  27. package/dist/components/auth/login-panel.d.ts +4 -0
  28. package/dist/components/auth/login-panel.js +12 -4
  29. package/dist/components/auth/oauth-login.css.js +4 -0
  30. package/dist/components/auth/oauth-login.d.ts +2 -0
  31. package/dist/components/auth/oauth-login.js +12 -3
  32. package/dist/components/brokerable.d.ts +21 -0
  33. package/dist/components/brokerable.js +39 -0
  34. package/dist/components/bundle-toolbar/bundle-toolbar.css.js +110 -0
  35. package/dist/components/bundle-toolbar/bundle-toolbar.d.ts +21 -0
  36. package/dist/components/bundle-toolbar/bundle-toolbar.js +93 -0
  37. package/dist/components/changelog/changelog.css.js +2 -0
  38. package/dist/components/changelog/changelog.d.ts +2 -0
  39. package/dist/components/changelog/changelog.js +10 -1
  40. package/dist/components/changelog/release.css.js +5 -1
  41. package/dist/components/charts/beefy-chart.d.ts +1 -0
  42. package/dist/components/charts/beefy-chart.js +6 -3
  43. package/dist/components/charts/chart-colors.d.ts +8 -0
  44. package/dist/components/charts/chart-colors.js +46 -1
  45. package/dist/components/charts/doughnut-chart.d.ts +5 -1
  46. package/dist/components/charts/doughnut-chart.js +30 -6
  47. package/dist/components/credit-ticker/credit-ticker.d.ts +3 -0
  48. package/dist/components/credit-ticker/credit-ticker.js +22 -10
  49. package/dist/components/details-drawer/details-drawer.css.d.ts +2 -0
  50. package/dist/components/{problem-list → details-drawer}/details-drawer.css.js +18 -3
  51. package/dist/components/details-drawer/generic-details-drawer.css.d.ts +1 -0
  52. package/dist/components/details-drawer/generic-details-drawer.css.js +219 -0
  53. package/dist/components/details-drawer/generic-details-drawer.d.ts +38 -0
  54. package/dist/components/details-drawer/generic-details-drawer.js +245 -0
  55. package/dist/components/details-drawer/handlers/diagram-handler.d.ts +35 -0
  56. package/dist/components/details-drawer/handlers/diagram-handler.js +248 -0
  57. package/dist/components/details-drawer/handlers/documentation-handler.d.ts +11 -0
  58. package/dist/components/details-drawer/handlers/documentation-handler.js +46 -0
  59. package/dist/components/details-drawer/handlers/example-handler.d.ts +18 -0
  60. package/dist/components/details-drawer/handlers/example-handler.js +146 -0
  61. package/dist/components/details-drawer/handlers/howto-handler.d.ts +11 -0
  62. package/dist/components/details-drawer/handlers/howto-handler.js +36 -0
  63. package/dist/components/details-drawer/handlers/markdown-handler.d.ts +12 -0
  64. package/dist/components/details-drawer/handlers/markdown-handler.js +54 -0
  65. package/dist/components/editor/editor-breadcrumb.css.js +1 -1
  66. package/dist/components/editor/editor.css.js +42 -0
  67. package/dist/components/editor/editor.d.ts +29 -3
  68. package/dist/components/editor/editor.js +504 -88
  69. package/dist/components/editor/schemas/openapi32.json +1666 -0
  70. package/dist/components/github/github-workspace-view.css.d.ts +2 -0
  71. package/dist/components/github/github-workspace-view.css.js +166 -0
  72. package/dist/components/github/github-workspace-view.d.ts +61 -0
  73. package/dist/components/github/github-workspace-view.js +531 -0
  74. package/dist/components/global-task/global-task-view.css.d.ts +2 -0
  75. package/dist/components/global-task/global-task-view.css.js +392 -0
  76. package/dist/components/global-task/global-task-view.d.ts +48 -0
  77. package/dist/components/global-task/global-task-view.js +359 -0
  78. package/dist/components/header/header.css.js +9 -1
  79. package/dist/components/http-method/http-method.css.js +11 -1
  80. package/dist/components/indeterminate-loader/indeterminate-loader.css.d.ts +2 -0
  81. package/dist/components/indeterminate-loader/indeterminate-loader.css.js +135 -0
  82. package/dist/components/indeterminate-loader/indeterminate-loader.d.ts +35 -0
  83. package/dist/components/indeterminate-loader/indeterminate-loader.js +201 -0
  84. package/dist/components/kv-view/kv-view.css.js +2 -0
  85. package/dist/components/kv-view/kv-view.js +0 -1
  86. package/dist/components/logo-wall/logo-wall.css.js +9 -0
  87. package/dist/components/manage-ruleset/manage-ruleset.css.js +15 -2
  88. package/dist/components/manage-ruleset/manage-ruleset.d.ts +1 -0
  89. package/dist/components/manage-ruleset/manage-ruleset.js +55 -23
  90. package/dist/components/manage-ruleset/rule-action.css.js +2 -0
  91. package/dist/components/manage-ruleset/rule-action.d.ts +10 -3
  92. package/dist/components/manage-ruleset/rule-action.js +118 -129
  93. package/dist/components/manage-ruleset/rule-input.d.ts +4 -1
  94. package/dist/components/manage-ruleset/rule-input.js +47 -34
  95. package/dist/components/manage-ruleset/rule.css.js +15 -1
  96. package/dist/components/manage-ruleset/rule.d.ts +4 -1
  97. package/dist/components/manage-ruleset/rule.js +44 -17
  98. package/dist/components/mermaid/mermaid-renderer.css.d.ts +1 -0
  99. package/dist/components/mermaid/mermaid-renderer.css.js +121 -0
  100. package/dist/components/mermaid/mermaid-renderer.d.ts +75 -0
  101. package/dist/components/mermaid/mermaid-renderer.js +485 -0
  102. package/dist/components/model-icon/doctor-icon.d.ts +9 -0
  103. package/dist/components/model-icon/doctor-icon.js +60 -0
  104. package/dist/components/model-icon/model-icon.d.ts +2 -1
  105. package/dist/components/model-icon/model-icon.js +13 -1
  106. package/dist/components/model-renderer/change.css.js +33 -9
  107. package/dist/components/model-renderer/changes.d.ts +1 -0
  108. package/dist/components/model-renderer/changes.js +47 -32
  109. package/dist/components/model-renderer/clickable-ref.d.ts +9 -3
  110. package/dist/components/model-renderer/clickable-ref.js +49 -10
  111. package/dist/components/model-renderer/components.d.ts +2 -0
  112. package/dist/components/model-renderer/components.js +196 -116
  113. package/dist/components/model-renderer/contact.js +2 -2
  114. package/dist/components/model-renderer/description.css.js +2 -0
  115. package/dist/components/model-renderer/document.d.ts +1 -0
  116. package/dist/components/model-renderer/document.js +14 -9
  117. package/dist/components/model-renderer/encoding.d.ts +2 -0
  118. package/dist/components/model-renderer/encoding.js +16 -7
  119. package/dist/components/model-renderer/example.css.js +5 -1
  120. package/dist/components/model-renderer/example.d.ts +4 -1
  121. package/dist/components/model-renderer/example.js +72 -118
  122. package/dist/components/model-renderer/extensions.d.ts +2 -0
  123. package/dist/components/model-renderer/extensions.js +11 -2
  124. package/dist/components/model-renderer/external-docs.d.ts +2 -0
  125. package/dist/components/model-renderer/external-docs.js +13 -4
  126. package/dist/components/model-renderer/has-changes.js +3 -3
  127. package/dist/components/model-renderer/header.d.ts +2 -0
  128. package/dist/components/model-renderer/header.js +27 -14
  129. package/dist/components/model-renderer/info.d.ts +2 -0
  130. package/dist/components/model-renderer/info.js +20 -7
  131. package/dist/components/model-renderer/link.d.ts +2 -0
  132. package/dist/components/model-renderer/link.js +27 -10
  133. package/dist/components/model-renderer/media-type.js +2 -2
  134. package/dist/components/model-renderer/model-badge.d.ts +11 -0
  135. package/dist/components/model-renderer/model-badge.js +59 -0
  136. package/dist/components/model-renderer/model-shared.css.js +14 -2
  137. package/dist/components/model-renderer/oauth-flows.js +4 -4
  138. package/dist/components/model-renderer/operation.d.ts +2 -1
  139. package/dist/components/model-renderer/operation.js +37 -16
  140. package/dist/components/model-renderer/param-location.js +3 -3
  141. package/dist/components/model-renderer/parameter.d.ts +2 -0
  142. package/dist/components/model-renderer/parameter.js +28 -15
  143. package/dist/components/model-renderer/path-item.d.ts +3 -0
  144. package/dist/components/model-renderer/path-item.js +52 -80
  145. package/dist/components/model-renderer/paths.d.ts +2 -0
  146. package/dist/components/model-renderer/paths.js +10 -3
  147. package/dist/components/model-renderer/problem-node.js +10 -10
  148. package/dist/components/model-renderer/rendered-node.css.js +36 -7
  149. package/dist/components/model-renderer/rendered-node.d.ts +14 -4
  150. package/dist/components/model-renderer/rendered-node.js +121 -58
  151. package/dist/components/model-renderer/rendered-property.js +4 -4
  152. package/dist/components/model-renderer/request-body.d.ts +2 -0
  153. package/dist/components/model-renderer/request-body.js +16 -9
  154. package/dist/components/model-renderer/response.d.ts +2 -0
  155. package/dist/components/model-renderer/response.js +35 -17
  156. package/dist/components/model-renderer/schema.css.js +10 -1
  157. package/dist/components/model-renderer/schema.d.ts +3 -2
  158. package/dist/components/model-renderer/schema.js +127 -129
  159. package/dist/components/model-renderer/security-scheme.js +3 -3
  160. package/dist/components/model-renderer/server.js +18 -8
  161. package/dist/components/model-renderer/tag.js +1 -1
  162. package/dist/components/model-tree/tree.css.js +24 -10
  163. package/dist/components/model-tree/tree.d.ts +39 -22
  164. package/dist/components/model-tree/tree.js +240 -167
  165. package/dist/components/paginator/paginator-navigator.css.js +9 -5
  166. package/dist/components/paginator/paginator-navigator.js +6 -6
  167. package/dist/components/paginator/paginator.css.js +3 -1
  168. package/dist/components/paginator/paginator.js +5 -8
  169. package/dist/components/percent-bar/percent-bar.css.js +133 -13
  170. package/dist/components/percent-bar/percent-bar.d.ts +2 -0
  171. package/dist/components/percent-bar/percent-bar.js +28 -24
  172. package/dist/components/premium-gate/premium-gate.css.d.ts +1 -0
  173. package/dist/components/premium-gate/premium-gate.css.js +117 -0
  174. package/dist/components/premium-gate/premium-gate.d.ts +49 -0
  175. package/dist/components/premium-gate/premium-gate.js +336 -0
  176. package/dist/components/problem-list/problem-list.css.js +74 -3
  177. package/dist/components/problem-list/problem-list.d.ts +19 -9
  178. package/dist/components/problem-list/problem-list.js +241 -226
  179. package/dist/components/problem-list/problem-mainview.css.js +12 -2
  180. package/dist/components/problem-list/problem-mainview.d.ts +3 -0
  181. package/dist/components/problem-list/problem-mainview.js +37 -17
  182. package/dist/components/problem-list/problem-toolbar.css.js +10 -7
  183. package/dist/components/problems-overview/diagnostic-evaluation.css.js +11 -1
  184. package/dist/components/problems-overview/diagnostic-evaluation.js +6 -7
  185. package/dist/components/problems-overview/document-statistic.css.js +6 -0
  186. package/dist/components/problems-overview/document-statistic.js +1 -1
  187. package/dist/components/problems-overview/problem-overview-group.js +5 -5
  188. package/dist/components/problems-overview/problem-statistic.css.js +24 -5
  189. package/dist/components/problems-overview/problem-statistic.js +15 -6
  190. package/dist/components/problems-overview/problem-statistics.css.js +4 -4
  191. package/dist/components/problems-overview/problem-statistics.js +29 -25
  192. package/dist/components/problems-overview/problems-overview.css.js +3 -2
  193. package/dist/components/problems-overview/problems-overview.js +7 -6
  194. package/dist/components/property-view/property-view.css.js +2 -0
  195. package/dist/components/render-json-path/render-json-path.css.js +11 -3
  196. package/dist/components/render-json-path/render-json-path.js +3 -0
  197. package/dist/components/render-operation-path/render-operation-path.css.js +9 -0
  198. package/dist/components/render-operation-path/render-operation-path.js +7 -22
  199. package/dist/components/rodeo/rodeo.d.ts +1 -0
  200. package/dist/components/rodeo/rodeo.js +5 -0
  201. package/dist/components/rodeo/roundup.js +2 -2
  202. package/dist/components/rodeo/statistic.css.js +25 -2
  203. package/dist/components/rodeo/statistic.js +0 -4
  204. package/dist/components/shader-canvas/shader-canvas.css.d.ts +2 -0
  205. package/dist/components/shader-canvas/shader-canvas.css.js +66 -0
  206. package/dist/components/shader-canvas/shader-canvas.d.ts +36 -0
  207. package/dist/components/shader-canvas/shader-canvas.js +363 -0
  208. package/dist/components/shaders/flowing-waves-shader.d.ts +2 -0
  209. package/dist/components/shaders/flowing-waves-shader.js +70 -0
  210. package/dist/components/shaders/neon-canyon-shader.d.ts +2 -0
  211. package/dist/components/shaders/neon-canyon-shader.js +265 -0
  212. package/dist/components/shaders/neon-lines-shader.d.ts +2 -0
  213. package/dist/components/shaders/neon-lines-shader.js +181 -0
  214. package/dist/components/shaders/neon-squircles-shader.d.ts +2 -0
  215. package/dist/components/shaders/neon-squircles-shader.js +56 -0
  216. package/dist/components/shaders/retro-grid-shader.d.ts +2 -0
  217. package/dist/components/shaders/retro-grid-shader.js +53 -0
  218. package/dist/components/shaders/shader-base.d.ts +9 -0
  219. package/dist/components/shaders/shader-base.js +11 -0
  220. package/dist/components/terminal/terminal-example.css.js +4 -0
  221. package/dist/components/terminal/terminal-example.js +2 -3
  222. package/dist/components/terminal-emulator/terminal-emulator.css.js +13 -3
  223. package/dist/components/terminal-emulator/terminal-emulator.d.ts +7 -1
  224. package/dist/components/terminal-emulator/terminal-emulator.js +10 -5
  225. package/dist/components/the-doctor/doctor-controls-panel.css.d.ts +2 -0
  226. package/dist/components/the-doctor/doctor-controls-panel.css.js +53 -0
  227. package/dist/components/the-doctor/doctor-controls-panel.d.ts +20 -0
  228. package/dist/components/the-doctor/doctor-controls-panel.js +78 -0
  229. package/dist/components/the-doctor/doctor-editor-panel.css.d.ts +2 -0
  230. package/dist/components/the-doctor/doctor-editor-panel.css.js +209 -0
  231. package/dist/components/the-doctor/doctor-editor-panel.d.ts +41 -0
  232. package/dist/components/the-doctor/doctor-editor-panel.js +189 -0
  233. package/dist/components/the-doctor/doctor-navigator-panel.css.d.ts +2 -0
  234. package/dist/components/the-doctor/doctor-navigator-panel.css.js +134 -0
  235. package/dist/components/the-doctor/doctor-navigator-panel.d.ts +35 -0
  236. package/dist/components/the-doctor/doctor-navigator-panel.js +117 -0
  237. package/dist/components/the-doctor/doctor-sidebar-panel.css.d.ts +2 -0
  238. package/dist/components/the-doctor/doctor-sidebar-panel.css.js +143 -0
  239. package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +31 -0
  240. package/dist/components/the-doctor/doctor-sidebar-panel.js +131 -0
  241. package/dist/components/the-doctor/doctor-url-overlay.css.d.ts +2 -0
  242. package/dist/components/the-doctor/doctor-url-overlay.css.js +59 -0
  243. package/dist/components/the-doctor/doctor-url-overlay.d.ts +23 -0
  244. package/dist/components/the-doctor/doctor-url-overlay.js +82 -0
  245. package/dist/components/the-doctor/nuke-workspace.js +4 -3
  246. package/dist/components/the-doctor/settings.css.js +2 -0
  247. package/dist/components/the-doctor/settings.js +5 -8
  248. package/dist/components/the-doctor/sparks.d.ts +3 -0
  249. package/dist/components/the-doctor/sparks.js +22 -4
  250. package/dist/components/the-doctor/status-bar.d.ts +2 -2
  251. package/dist/components/the-doctor/status-bar.js +32 -31
  252. package/dist/components/the-doctor/the-doctor.css.js +51 -242
  253. package/dist/components/the-doctor/the-doctor.d.ts +150 -37
  254. package/dist/components/the-doctor/the-doctor.js +967 -536
  255. package/dist/components/the-doctor/upload-archive.css.js +14 -2
  256. package/dist/components/the-doctor/upload-archive.js +4 -2
  257. package/dist/components/theme-switcher/theme-switcher.js +5 -1
  258. package/dist/components/time-vortex/change-list-item.css.js +18 -4
  259. package/dist/components/time-vortex/change-list-item.d.ts +1 -0
  260. package/dist/components/time-vortex/change-list-item.js +4 -3
  261. package/dist/components/time-vortex/history-picker.css.js +78 -2
  262. package/dist/components/time-vortex/history-picker.d.ts +7 -1
  263. package/dist/components/time-vortex/history-picker.js +127 -5
  264. package/dist/components/time-vortex/tardis-control.css.js +358 -15
  265. package/dist/components/time-vortex/tardis-control.d.ts +32 -3
  266. package/dist/components/time-vortex/tardis-control.js +322 -58
  267. package/dist/components/time-vortex/time-vortex.d.ts +8 -2
  268. package/dist/components/time-vortex/time-vortex.js +54 -13
  269. package/dist/components/toast/toast-component.css.js +1 -0
  270. package/dist/components/toast/toast-component.d.ts +1 -0
  271. package/dist/components/toast/toast-component.js +23 -8
  272. package/dist/components/toast/toast-manager.d.ts +5 -0
  273. package/dist/components/toast/toast-manager.js +35 -10
  274. package/dist/components/visualizer/edge.d.ts +11 -1
  275. package/dist/components/visualizer/edge.js +27 -22
  276. package/dist/components/visualizer/equalizer.css.js +119 -77
  277. package/dist/components/visualizer/equalizer.d.ts +24 -45
  278. package/dist/components/visualizer/equalizer.js +262 -363
  279. package/dist/components/visualizer/explorer.d.ts +94 -14
  280. package/dist/components/visualizer/explorer.js +580 -393
  281. package/dist/components/visualizer/foreign-object.d.ts +12 -2
  282. package/dist/components/visualizer/foreign-object.js +21 -10
  283. package/dist/components/visualizer/key.js +12 -1
  284. package/dist/components/visualizer/nodes/callback.d.ts +2 -1
  285. package/dist/components/visualizer/nodes/callback.js +2 -2
  286. package/dist/components/visualizer/nodes/components.d.ts +2 -1
  287. package/dist/components/visualizer/nodes/components.js +2 -2
  288. package/dist/components/visualizer/nodes/contact.d.ts +2 -1
  289. package/dist/components/visualizer/nodes/contact.js +2 -2
  290. package/dist/components/visualizer/nodes/document.d.ts +2 -1
  291. package/dist/components/visualizer/nodes/document.js +2 -2
  292. package/dist/components/visualizer/nodes/graph-node.d.ts +14 -3
  293. package/dist/components/visualizer/nodes/graph-node.js +94 -43
  294. package/dist/components/visualizer/nodes/header.d.ts +2 -1
  295. package/dist/components/visualizer/nodes/header.js +2 -2
  296. package/dist/components/visualizer/nodes/info.d.ts +2 -1
  297. package/dist/components/visualizer/nodes/info.js +2 -2
  298. package/dist/components/visualizer/nodes/license.d.ts +2 -1
  299. package/dist/components/visualizer/nodes/license.js +2 -2
  300. package/dist/components/visualizer/nodes/link.d.ts +2 -1
  301. package/dist/components/visualizer/nodes/link.js +2 -2
  302. package/dist/components/visualizer/nodes/media-type.d.ts +2 -1
  303. package/dist/components/visualizer/nodes/media-type.js +2 -2
  304. package/dist/components/visualizer/nodes/operation.d.ts +2 -1
  305. package/dist/components/visualizer/nodes/operation.js +3 -4
  306. package/dist/components/visualizer/nodes/parameter.d.ts +3 -1
  307. package/dist/components/visualizer/nodes/parameter.js +3 -4
  308. package/dist/components/visualizer/nodes/path-item.d.ts +2 -1
  309. package/dist/components/visualizer/nodes/path-item.js +2 -2
  310. package/dist/components/visualizer/nodes/request-body.d.ts +2 -1
  311. package/dist/components/visualizer/nodes/request-body.js +2 -2
  312. package/dist/components/visualizer/nodes/response.d.ts +2 -1
  313. package/dist/components/visualizer/nodes/response.js +2 -2
  314. package/dist/components/visualizer/nodes/schema.d.ts +2 -1
  315. package/dist/components/visualizer/nodes/schema.js +64 -9
  316. package/dist/components/visualizer/nodes/security-scheme.d.ts +2 -1
  317. package/dist/components/visualizer/nodes/security-scheme.js +2 -2
  318. package/dist/components/visualizer/nodes/server.d.ts +2 -1
  319. package/dist/components/visualizer/nodes/server.js +3 -4
  320. package/dist/components/visualizer/nodes/tag.d.ts +2 -1
  321. package/dist/components/visualizer/nodes/tag.js +4 -5
  322. package/dist/components/visualizer/nodes/xml.d.ts +2 -1
  323. package/dist/components/visualizer/nodes/xml.js +2 -2
  324. package/dist/components/visualizer/orientation-controls.d.ts +6 -1
  325. package/dist/components/visualizer/orientation-controls.js +65 -7
  326. package/dist/components/visualizer/search.d.ts +2 -1
  327. package/dist/components/visualizer/search.js +22 -29
  328. package/dist/components/visualizer/shared.css.js +55 -18
  329. package/dist/components/visualizer/templates/svg-markers.d.ts +2 -0
  330. package/dist/components/visualizer/templates/svg-markers.js +73 -0
  331. package/dist/components/waiting-line/waiting-line.css.d.ts +2 -0
  332. package/dist/components/waiting-line/waiting-line.css.js +26 -0
  333. package/dist/components/waiting-line/waiting-line.d.ts +30 -0
  334. package/dist/components/waiting-line/waiting-line.js +424 -0
  335. package/dist/components/workspaces/workspace-view.css.js +89 -8
  336. package/dist/components/workspaces/workspace-view.d.ts +8 -1
  337. package/dist/components/workspaces/workspace-view.js +77 -25
  338. package/dist/controllers/auth-controller.d.ts +9 -0
  339. package/dist/controllers/auth-controller.js +12 -5
  340. package/dist/controllers/broker-controller.d.ts +31 -4
  341. package/dist/controllers/broker-controller.js +153 -25
  342. package/dist/controllers/bundle-controller.d.ts +21 -0
  343. package/dist/controllers/bundle-controller.js +122 -0
  344. package/dist/controllers/countdown-controller.d.ts +17 -0
  345. package/dist/controllers/countdown-controller.js +59 -0
  346. package/dist/controllers/diagnostic-controller.d.ts +25 -5
  347. package/dist/controllers/diagnostic-controller.js +261 -217
  348. package/dist/controllers/diagramatron-controller.d.ts +33 -0
  349. package/dist/controllers/diagramatron-controller.js +128 -0
  350. package/dist/controllers/docs-controller.d.ts +11 -5
  351. package/dist/controllers/docs-controller.js +97 -97
  352. package/dist/controllers/github-controller.d.ts +47 -0
  353. package/dist/controllers/github-controller.js +504 -0
  354. package/dist/controllers/global-task-controller.d.ts +46 -0
  355. package/dist/controllers/global-task-controller.js +352 -0
  356. package/dist/controllers/model-controller.d.ts +26 -4
  357. package/dist/controllers/model-controller.js +98 -62
  358. package/dist/controllers/node-clicker-controller.d.ts +121 -4
  359. package/dist/controllers/node-clicker-controller.js +526 -253
  360. package/dist/controllers/problem-controller.d.ts +11 -4
  361. package/dist/controllers/problem-controller.js +98 -39
  362. package/dist/controllers/rolodex-controller.d.ts +8 -3
  363. package/dist/controllers/rolodex-controller.js +116 -84
  364. package/dist/controllers/rule-controller.d.ts +12 -5
  365. package/dist/controllers/rule-controller.js +154 -161
  366. package/dist/controllers/spec-controller.d.ts +17 -4
  367. package/dist/controllers/spec-controller.js +104 -61
  368. package/dist/controllers/state-controller.d.ts +4 -3
  369. package/dist/controllers/state-controller.js +208 -160
  370. package/dist/controllers/tab-cache-controller.d.ts +29 -0
  371. package/dist/controllers/tab-cache-controller.js +68 -0
  372. package/dist/controllers/timeline-controller.d.ts +18 -0
  373. package/dist/controllers/timeline-controller.js +129 -0
  374. package/dist/controllers/wallet-controller.d.ts +3 -3
  375. package/dist/controllers/wallet-controller.js +22 -41
  376. package/dist/controllers/workspace-controller.d.ts +10 -4
  377. package/dist/controllers/workspace-controller.js +67 -22
  378. package/dist/cose-bilkent-S5V4N54A-BgwjXRSW.js +2608 -0
  379. package/dist/cowboy-components-BRANjWMG.js +68686 -0
  380. package/dist/cowboy-components.css +1 -1
  381. package/dist/cowboy-components.umd.cjs +14243 -6638
  382. package/dist/css/alerts.css.js +2 -0
  383. package/dist/css/badges.css.js +2 -0
  384. package/dist/css/button.css.js +34 -1
  385. package/dist/css/chroma-synxtax.css.js +14 -14
  386. package/dist/css/cowboy-components.css +45 -1
  387. package/dist/css/dialog.css.js +11 -2
  388. package/dist/css/filter.css.js +17 -5
  389. package/dist/css/forms.css.js +14 -0
  390. package/dist/css/pb33f-theme.css +126 -16
  391. package/dist/css/scrollbar.css.js +1 -1
  392. package/dist/css/syntax.css.js +5 -0
  393. package/dist/css/tabs.css.js +19 -2
  394. package/dist/css/tooltip.css.js +4 -0
  395. package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
  396. package/dist/dagre-6UL2VRFP-BzQ5nLXU.js +444 -0
  397. package/dist/defaultLocale-D7EN2tov.js +171 -0
  398. package/dist/diagram-PSM6KHXK-CdohCqjr.js +531 -0
  399. package/dist/diagram-QEK2KX5R-BP_3efmD.js +217 -0
  400. package/dist/diagram-S2PKOQOG-BftsBKuz.js +142 -0
  401. package/dist/erDiagram-Q2GNP2WA-fSbCC-Ow.js +841 -0
  402. package/dist/events/doctor.d.ts +64 -9
  403. package/dist/events/doctor.js +30 -1
  404. package/dist/events/drawer-events.d.ts +7 -0
  405. package/dist/events/drawer-events.js +3 -0
  406. package/dist/events/theme.d.ts +4 -0
  407. package/dist/events/theme.js +1 -0
  408. package/dist/factories/explorer-component-factory.d.ts +49 -0
  409. package/dist/factories/explorer-component-factory.js +205 -0
  410. package/dist/factories/state-controller-deps.factory.d.ts +88 -0
  411. package/dist/factories/state-controller-deps.factory.js +116 -0
  412. package/dist/flowDiagram-NV44I4VS-CCPxaTIx.js +1620 -0
  413. package/dist/ganttDiagram-LVOFAZNH-Cb2dn6QY.js +2505 -0
  414. package/dist/gitGraph-F6HP7TQM-B-Up3f_K.js +5 -0
  415. package/dist/gitGraphDiagram-NY62KEGX-DdaCm8WP.js +699 -0
  416. package/dist/graph-BSko0AhB.js +247 -0
  417. package/dist/helpers/event-wiring.d.ts +72 -0
  418. package/dist/helpers/event-wiring.js +58 -0
  419. package/dist/helpers/file-size-formatter.d.ts +3 -0
  420. package/dist/helpers/file-size-formatter.js +15 -0
  421. package/dist/helpers/filename-colorizer.d.ts +5 -0
  422. package/dist/helpers/filename-colorizer.js +32 -0
  423. package/dist/helpers/navigation-helper.d.ts +54 -0
  424. package/dist/helpers/navigation-helper.js +159 -0
  425. package/dist/helpers/typed-events.d.ts +1 -0
  426. package/dist/helpers/typed-events.js +3 -0
  427. package/dist/info-NVLQJR56-BNIO2OjW.js +5 -0
  428. package/dist/infoDiagram-F6ZHWCRC-DoDRDWc6.js +24 -0
  429. package/dist/init-DjUOC4st.js +16 -0
  430. package/dist/interfaces/bundle-interfaces.d.ts +7 -0
  431. package/dist/interfaces/bundle-interfaces.js +1 -0
  432. package/dist/interfaces/doctor-interfaces.d.ts +513 -0
  433. package/dist/interfaces/doctor-interfaces.js +1 -0
  434. package/dist/journeyDiagram-XKPGCS4Q-B8rBrT3-.js +834 -0
  435. package/dist/kanban-definition-3W4ZIXB7-qXzC-ucZ.js +719 -0
  436. package/dist/katex-SsTUIUTC.js +11688 -0
  437. package/dist/layout-crJEPmAx.js +1324 -0
  438. package/dist/linear-C9sTEJtE.js +259 -0
  439. package/dist/managers/drag-handler.d.ts +28 -0
  440. package/dist/managers/drag-handler.js +64 -0
  441. package/dist/managers/event-registration-manager.d.ts +17 -0
  442. package/dist/managers/event-registration-manager.js +34 -0
  443. package/dist/managers/expansion-manager.d.ts +58 -0
  444. package/dist/managers/expansion-manager.js +189 -0
  445. package/dist/managers/layout-filter-manager.d.ts +31 -0
  446. package/dist/managers/layout-filter-manager.js +109 -0
  447. package/dist/managers/panel-divider-manager.d.ts +33 -0
  448. package/dist/managers/panel-divider-manager.js +71 -0
  449. package/dist/managers/view-state-manager.d.ts +48 -0
  450. package/dist/managers/view-state-manager.js +101 -0
  451. package/dist/managers/viewport-manager.d.ts +53 -0
  452. package/dist/managers/viewport-manager.js +198 -0
  453. package/dist/mermaid-parser.core-quOEU4Mi.js +12966 -0
  454. package/dist/mindmap-definition-VGOIOE7T-BGn7cQVA.js +784 -0
  455. package/dist/mocks/task-mock-generator.d.ts +13 -0
  456. package/dist/mocks/task-mock-generator.js +200 -0
  457. package/dist/model/api-response.d.ts +2 -7
  458. package/dist/model/api-response.js +0 -2
  459. package/dist/model/bundle.d.ts +35 -0
  460. package/dist/model/bundle.js +1 -0
  461. package/dist/model/channels.d.ts +8 -1
  462. package/dist/model/channels.js +7 -0
  463. package/dist/model/drawer-content.d.ts +80 -0
  464. package/dist/model/drawer-content.js +14 -0
  465. package/dist/model/formable.js +22 -11
  466. package/dist/model/github.d.ts +125 -0
  467. package/dist/model/github.js +1 -0
  468. package/dist/model/graph.d.ts +15 -15
  469. package/dist/model/graph.js +24 -4
  470. package/dist/model/media-type.js +2 -2
  471. package/dist/model/node_type.d.ts +4 -0
  472. package/dist/model/node_type.js +4 -0
  473. package/dist/model/panel-state.d.ts +1 -0
  474. package/dist/model/rolodex.d.ts +3 -0
  475. package/dist/model/task.d.ts +50 -0
  476. package/dist/model/task.js +22 -0
  477. package/dist/model/timeline.d.ts +110 -1
  478. package/dist/model/tree-icon-config.d.ts +11 -0
  479. package/dist/model/tree-icon-config.js +46 -0
  480. package/dist/model/workspace.d.ts +2 -0
  481. package/dist/ordinal-DfAQgscy.js +61 -0
  482. package/dist/packet-BFZMPI3H-BKreTkjY.js +5 -0
  483. package/dist/pie-7BOR55EZ-DUWhTPH8.js +5 -0
  484. package/dist/pieDiagram-ADFJNKIX-BeLJhCCS.js +161 -0
  485. package/dist/quadrantDiagram-AYHSOK5B-z-oixLGm.js +1022 -0
  486. package/dist/radar-NHE76QYJ-DXE9hYwD.js +5 -0
  487. package/dist/requirementDiagram-UZGBJVZJ-Bso8sdSb.js +850 -0
  488. package/dist/sankeyDiagram-TZEHDZUN-BqcEpr7O.js +810 -0
  489. package/dist/sequenceDiagram-WL72ISMW-DTAwlNVG.js +2511 -0
  490. package/dist/services/diagramatron-service.d.ts +20 -0
  491. package/dist/services/diagramatron-service.js +48 -0
  492. package/dist/services/doctor-events.d.ts +58 -0
  493. package/dist/services/doctor-events.js +33 -0
  494. package/dist/services/drawer-content-registry.d.ts +9 -0
  495. package/dist/services/drawer-content-registry.js +37 -0
  496. package/dist/services/github-service.d.ts +9 -0
  497. package/dist/services/github-service.js +166 -0
  498. package/dist/services/global-task-service.d.ts +6 -0
  499. package/dist/services/global-task-service.js +27 -0
  500. package/dist/services/header-service.d.ts +5 -3
  501. package/dist/services/header-service.js +13 -0
  502. package/dist/services/linting-service.d.ts +3 -0
  503. package/dist/services/linting-service.js +41 -2
  504. package/dist/services/mermaid-config-service.d.ts +53 -0
  505. package/dist/services/mermaid-config-service.js +519 -0
  506. package/dist/services/model-service.d.ts +12 -7
  507. package/dist/services/model-service.js +64 -11
  508. package/dist/services/rodeo-service.js +12 -12
  509. package/dist/services/timeline-service.d.ts +12 -2
  510. package/dist/services/timeline-service.js +329 -0
  511. package/dist/services/wallet-service.d.ts +1 -1
  512. package/dist/services/wallet-service.js +4 -1
  513. package/dist/services/workspace-service.js +16 -2
  514. package/dist/stateDiagram-FKZM4ZOC-EGdzJIDA.js +263 -0
  515. package/dist/stateDiagram-v2-4FDKWEC3-DZo5Qb9X.js +16 -0
  516. package/dist/timeline-definition-IT6M3QCI-BjX2TakV.js +795 -0
  517. package/dist/treemap-KMMF4GRG-D8sK0Tmc.js +5 -0
  518. package/dist/utils/language-utils.d.ts +1 -0
  519. package/dist/utils/language-utils.js +23 -0
  520. package/dist/utils/lru-cache.d.ts +11 -0
  521. package/dist/utils/lru-cache.js +38 -0
  522. package/dist/utils/node-helpers.d.ts +6 -0
  523. package/dist/utils/node-helpers.js +62 -0
  524. package/dist/utils/path-utils.d.ts +5 -0
  525. package/dist/utils/path-utils.js +22 -0
  526. package/dist/workers/elk-layout.worker.d.ts +2 -0
  527. package/dist/workers/elk-layout.worker.js +31 -0
  528. package/dist/workers/equalizer.worker.d.ts +6 -1
  529. package/dist/workers/equalizer.worker.js +144 -195
  530. package/dist/workers/graph-dependent.worker.js +6 -6
  531. package/dist/workers/rule-documentation.worker.js +12 -48
  532. package/dist/workers/search-graph.worker.js +8 -23
  533. package/dist/xychartDiagram-PRI3JC2R-CWx19mhU.js +1340 -0
  534. package/package.json +17 -10
  535. package/dist/assets/equalizer.worker-B1FBgh0h.js +0 -1
  536. package/dist/assets/graph-dependent.worker-CxW1u577.js +0 -1
  537. package/dist/assets/rule-documentation.worker-B4_JKUg4.js +0 -1
  538. package/dist/assets/search-graph.worker-DJxOIWLn.js +0 -1
  539. package/dist/components/problem-list/details-drawer.d.ts +0 -34
  540. package/dist/components/problem-list/details-drawer.js +0 -200
  541. /package/dist/components/{problem-list/details-drawer.css.d.ts → bundle-toolbar/bundle-toolbar.css.d.ts} +0 -0
@@ -4,8 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, query, state } from "lit/decorators.js";
7
+ import { customElement, property, query, state } from "lit/decorators.js";
8
8
  import { html } from "lit";
9
+ import { unsafeHTML } from "lit/directives/unsafe-html.js";
10
+ import { keyed } from "lit/directives/keyed.js";
9
11
  import tardisControlCss from "./tardis-control.css";
10
12
  import { TimelineService } from "../../services/timeline-service.js";
11
13
  import { ChangesComponent } from "../model-renderer/changes.js";
@@ -19,26 +21,110 @@ import { TimelineView } from "./timeline-view.js";
19
21
  import panelsCss from "../../css/panels.css.js";
20
22
  import scrollbarCss from "../../css/scrollbar.css.js";
21
23
  import { ToastType } from "../../model/toast.js";
22
- import { AddToast, ExplorerNodeClicked, LoadRenderedNodeIntoInspector } from "../../events/doctor.js";
23
- import '../charts/beefy-chart';
24
+ import { AddToast, ExplorerNodeClicked, LoadRenderedNodeIntoInspector, OpenDrawer, ShowTimelineSummary } from "../../events/doctor.js";
25
+ import { DrawerContentType } from "../../model/drawer-content.js";
26
+ import { CountdownController } from "../../controllers/countdown-controller.js";
27
+ import '../charts/beefy-chart.js';
24
28
  import '../charts/doughnut-chart.js';
25
29
  import './change-list-item.js';
30
+ import { ModelTree } from "../model-tree/tree.js";
31
+ import Prism from "prismjs";
32
+ import 'prismjs/components/prism-yaml';
33
+ import 'prismjs/components/prism-json';
34
+ import prismCss from "../../css/prism.css.js";
35
+ import chromaSyntaxCss from "../../css/chroma-synxtax.css.js";
36
+ import changelogCss from "../changelog/changelog.css.js";
37
+ import hrCss from "../../css/hr.css.js";
38
+ import buttonCss from "../../css/button.css.js";
26
39
  let TardisControl = class TardisControl extends Colorful {
27
40
  constructor() {
28
41
  super();
29
- this.explorer = new ExplorerComponent();
30
- this.explorer.renderEqualizer = false;
31
- this.explorer.equalizer.renderEqualizer = false;
42
+ this.markdownReport = '';
43
+ this.mdDownloadLoading = false;
44
+ this._changeLabels = ['MODIFIED', 'ADDED', 'REMOVED'];
45
+ this._breakingLabels = ['BREAKING', 'NON-BREAKING'];
46
+ this._changeDataset = [];
47
+ this._breakingDataset = [];
48
+ this._lastSpecSummaryId = null;
49
+ // Doc will be set via property binding
50
+ this.explorer = null; // Will be initialized when doc is set
32
51
  this.timelineView = new TimelineView();
52
+ this.modelTree = new ModelTree();
53
+ this.modelTree.changesEnabled = true;
33
54
  this.loading = false;
34
- //@ts-ignore
35
- this.addEventListener(ExplorerNodeClicked, this.explorerNodeClicked.bind(this));
55
+ this.boundExplorerNodeClicked = this.explorerNodeClicked.bind(this);
56
+ this.addEventListener(ExplorerNodeClicked, this.boundExplorerNodeClicked);
57
+ }
58
+ connectedCallback() {
59
+ super.connectedCallback();
60
+ if (this.diffEditor) {
61
+ this.diffEditor.diffMode = true;
62
+ }
63
+ }
64
+ disconnectedCallback() {
65
+ super.disconnectedCallback();
66
+ if (this._highlightTimeout) {
67
+ clearTimeout(this._highlightTimeout);
68
+ }
69
+ if (this.countdownController) {
70
+ this.countdownController.stop();
71
+ this.countdownController = undefined;
72
+ }
73
+ this.removeEventListener(ExplorerNodeClicked, this.boundExplorerNodeClicked);
74
+ }
75
+ handleEphemeralExpired() {
76
+ if (this.countdownController) {
77
+ this.countdownController.stop();
78
+ this.countdownController = undefined;
79
+ }
80
+ this.dispatchEvent(new Event(ShowTimelineSummary, {
81
+ bubbles: true,
82
+ composed: true,
83
+ }));
84
+ }
85
+ openCorruptInfo(e) {
86
+ e.preventDefault();
87
+ this.dispatchEvent(new CustomEvent(OpenDrawer, {
88
+ bubbles: true,
89
+ composed: true,
90
+ detail: {
91
+ type: DrawerContentType.MARKDOWN,
92
+ title: 'CORRUPTED CHANGE',
93
+ body: `<p>Any data submitted in the early days of doctor preview was subject to a <strong>number of bugs</strong>.</p>
94
+ <p>Not everything was correctly stored, some of it was lost and unrecoverable and is not available.</p>
95
+ <p>The alpha version of the doctor was released on <strong>February 8th 2026</strong></p>
96
+ <p>Changes made on or after then is correctly stored and available permanently, all elements of the change.</p>
97
+ <p>It was never working correctly in the preview, even though you may have not have known it.</p>
98
+ <p>Sorry!</p>
99
+ <p>- quobix</p>`
100
+ }
101
+ }));
102
+ }
103
+ firstUpdated() {
104
+ // Don't auto-fetch - let the doctor control when we start
105
+ // The doctor will call fetchHistory() when it's ready
106
+ // Enable diff mode on the diff editor once it's set
107
+ setTimeout(() => {
108
+ if (this.diffEditor) {
109
+ this.diffEditor.diffMode = true;
110
+ // Content will be populated when user selects a change
111
+ }
112
+ }, 100);
113
+ }
114
+ updated(changedProperties) {
115
+ super.updated(changedProperties);
116
+ if (changedProperties.has('doc') && this.doc && !this.explorer) {
117
+ this.explorer = new ExplorerComponent(this.doc);
118
+ this.explorer.renderEqualizer = false;
119
+ this.explorer.equalizer.renderEqualizer = false;
120
+ this.explorer.embeddedMode = true;
121
+ }
36
122
  }
37
123
  explorerNodeClicked(evt) {
38
124
  evt.stopPropagation();
39
125
  // we only have a select number of nodes for this change, so instead of bubbling up to the doctor
40
- if (this.changeReport) {
41
- this.changeReport.nodesRendered.forEach((node) => {
126
+ if (this.doc.modelController.changeReport) {
127
+ this.doc.modelController.changeReport.nodes.forEach((node) => {
42
128
  if (node.id == evt.detail.nodeId) {
43
129
  // load up this rendered node and send to the inspector panel for rendering.
44
130
  this.dispatchEvent(new CustomEvent(LoadRenderedNodeIntoInspector, {
@@ -49,11 +135,62 @@ let TardisControl = class TardisControl extends Colorful {
49
135
  }
50
136
  }));
51
137
  this.explorer.activeNode = node;
52
- this.explorer.buildLayout();
138
+ this.explorer.buildGraph();
53
139
  }
54
140
  });
55
141
  }
56
142
  }
143
+ highlightCodeBlocks() {
144
+ const codeBlocks = this.shadowRoot?.querySelectorAll('pre code');
145
+ if (codeBlocks) {
146
+ codeBlocks.forEach((block) => {
147
+ Prism.highlightElement(block);
148
+ });
149
+ }
150
+ }
151
+ downloadFile(content, filename, mimeType) {
152
+ const blob = new Blob([content], { type: mimeType });
153
+ const url = URL.createObjectURL(blob);
154
+ const a = document.createElement('a');
155
+ a.href = url;
156
+ a.download = filename;
157
+ document.body.appendChild(a);
158
+ a.click();
159
+ document.body.removeChild(a);
160
+ setTimeout(() => URL.revokeObjectURL(url), 1000);
161
+ }
162
+ downloadHtmlReport() {
163
+ if (!this.markdownReport)
164
+ return;
165
+ this.downloadFile(this.markdownReport, 'report.html', 'text/html');
166
+ }
167
+ async downloadMarkdownReport() {
168
+ if (!this.specSummary?.changeId)
169
+ return;
170
+ this.mdDownloadLoading = true;
171
+ try {
172
+ const markdown = await TimelineService.fetchMarkdownSource(this.specSummary.changeId);
173
+ this.downloadFile(markdown, 'report.md', 'text/markdown');
174
+ }
175
+ catch (e) {
176
+ const errorMsg = e?.detail || e?.message || 'Unknown error';
177
+ this.dispatchEvent(new CustomEvent(AddToast, {
178
+ bubbles: true,
179
+ composed: true,
180
+ detail: {
181
+ toast: {
182
+ type: ToastType.ERROR,
183
+ id: "md-download-error",
184
+ body: `Failed to download markdown report: ${errorMsg}`,
185
+ title: "Download failed",
186
+ }
187
+ }
188
+ }));
189
+ }
190
+ finally {
191
+ this.mdDownloadLoading = false;
192
+ }
193
+ }
57
194
  fetchHistory() {
58
195
  this.loading = true;
59
196
  TimelineService.fetchHistory().then((history) => {
@@ -81,35 +218,41 @@ let TardisControl = class TardisControl extends Colorful {
81
218
  type: ToastType.ERROR,
82
219
  id: "timeline-error",
83
220
  body: e.detail,
84
- title: "timeline error",
221
+ title: "timeline error yeah!",
85
222
  }
86
223
  }
87
224
  }));
88
225
  });
89
226
  }
90
- renderSummaryForMultiChange() {
91
- if (this.specSummary?.totalChanges <= 1) {
92
- return html ``;
227
+ updateChartData() {
228
+ const currentId = this.specSummary?.changeId ?? null;
229
+ if (currentId === this._lastSpecSummaryId) {
230
+ return;
93
231
  }
94
- const labels = ['Modified', 'Added', 'Removed'];
95
- const breakingLabels = ['Breaking', 'Non-Breaking'];
96
- const dataSet = [
232
+ this._lastSpecSummaryId = currentId;
233
+ this._changeDataset = [
97
234
  {
98
- labels: labels,
235
+ labels: this._changeLabels,
99
236
  data: [this.specSummary?.modifications, this.specSummary?.additions, this.specSummary?.removals]
100
237
  }
101
238
  ];
102
- const breakingDataSet = [
239
+ this._breakingDataset = [
103
240
  {
104
- labels: breakingLabels,
241
+ labels: this._breakingLabels,
105
242
  data: [this.specSummary?.breakingChanges, this.specSummary?.totalChanges]
106
243
  }
107
244
  ];
245
+ }
246
+ renderSummaryForMultiChange() {
247
+ if (this.specSummary?.totalChanges <= 1) {
248
+ return html ``;
249
+ }
250
+ this.updateChartData();
108
251
  let breakingChart = html ``;
109
252
  if (this.specSummary?.totalChanges > 1) {
110
253
  breakingChart = html `
111
254
  <pb33f-doughnut-chart id="breaking-doughnut" showLegend breakingChanges width=290 height=130
112
- .datasets=${breakingDataSet} .labels=${breakingLabels}
255
+ .datasets=${this._breakingDataset} .labels=${this._breakingLabels}
113
256
  style="padding-left: 10px; padding-top: 10px"></pb33f-doughnut-chart>`;
114
257
  }
115
258
  const timelineItem = new SpecSummaryTimelineItem();
@@ -119,9 +262,9 @@ let TardisControl = class TardisControl extends Colorful {
119
262
  }
120
263
  return html `
121
264
 
122
- <div style="width:100%; padding: 10px; display: flex">
265
+ <div style="width:100%; padding: 10px; display: flex; justify-content: center">
123
266
  <pb33f-doughnut-chart id="change-doughnut" showLegend changesChart width=290 height=130
124
- .datasets=${dataSet} .labels=${labels}
267
+ .datasets=${this._changeDataset} .labels=${this._changeLabels}
125
268
  style="padding-left: 10px; padding-top: 10px"></pb33f-doughnut-chart>
126
269
  ${breakingChart}
127
270
  </div>
@@ -140,7 +283,7 @@ let TardisControl = class TardisControl extends Colorful {
140
283
 
141
284
 
142
285
  </div>`;
143
- if (!this.changeReport && !this.history) {
286
+ if (!this.doc.modelController.changeReport && !this.history) {
144
287
  return html `
145
288
  <div class="pb33f-loader">
146
289
  <div class="spin"></div>
@@ -149,7 +292,7 @@ let TardisControl = class TardisControl extends Colorful {
149
292
  <div style="padding-left: 38px;">(Make some changes / edits to the OpenAPI Spec)</div>
150
293
  </div>`;
151
294
  }
152
- if (!this.changeReport && this.history) {
295
+ if (!this.doc.modelController.changeReport && this.history) {
153
296
  return html `
154
297
  ${this.loading ? loading : ''}
155
298
  <div class="timeline-view">
@@ -158,9 +301,9 @@ let TardisControl = class TardisControl extends Colorful {
158
301
  `;
159
302
  }
160
303
  let changelist = [];
161
- this.changeReport?.changes?.forEach(change => {
304
+ this.doc.modelController.changeReport?.changes?.forEach(change => {
162
305
  const ch = new ChangesComponent([change]);
163
- ch.addPadding = true;
306
+ //ch.addPadding = true
164
307
  ch.renderChangeCountBar = false;
165
308
  ch.renderBreakingBar = true;
166
309
  ch.renderMeta = true;
@@ -173,23 +316,61 @@ let TardisControl = class TardisControl extends Colorful {
173
316
  this.breakingDoughnut?.refresh();
174
317
  }
175
318
  const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
319
+ // locate the root node from the changeReport nodes
320
+ let rootNode = null;
321
+ if (this.doc.modelController.changeReport && this.doc.modelController.changeReport.nodes) {
322
+ for (let i = 0; i < this.doc.modelController.changeReport.nodes.length; i++) {
323
+ if (this.doc.modelController.changeReport.nodes[i].id == 'root') {
324
+ rootNode = this.doc.modelController.changeReport.nodes[i];
325
+ break;
326
+ }
327
+ }
328
+ }
329
+ this.modelTree.expand = true;
330
+ this.modelTree.node = rootNode;
331
+ //<pb33f-model-tree expand .node=${rootNode}
332
+ // class="change-tree" style="padding-top: 10px;"></pb33f-model-tree>
176
333
  const changeTreeContainer = html `
177
334
  <div class="change-tree-container scroller" slot="start">
178
- <pb33f-model-tree expand .node=${this.changeReport?.nodeChangeTree}
179
- class="change-tree" style="padding-top: 10px;"></pb33f-model-tree>
335
+ ${this.modelTree}
180
336
  </div>`;
181
337
  let changesView = html `${changeTreeContainer}`;
182
- if (this.changeReport && this.changeReport.changes && this.changeReport.changes?.length > 1) {
338
+ if (this.doc.modelController.changeReport &&
339
+ this.doc.modelController.changeReport.changes &&
340
+ this.doc.modelController.changeReport.changes?.length > 1) {
183
341
  changesView = html `
184
342
  <sl-split-panel position-in-pixels="350" id="tardis-change-navigator-split-panel"
185
343
  class="tardis-change-navigator-split-panel">
186
344
  <sl-icon id="split-divider" slot="divider" name="grip-vertical"
187
- class="divider-vert"></sl-icon>
345
+ class="divider-vert" aria-hidden="true"></sl-icon>
188
346
 
189
347
  ${changeTreeContainer}
190
348
  <div style="position: relative; width: 100%" slot="end"> ${changeSummary}</div>
191
349
  </sl-split-panel>`;
192
350
  }
351
+ const isCorrupt = this.specSummary?.corrupt === true;
352
+ const isPr = this.specSummary?.gitPrNumber !== undefined && this.specSummary.gitPrNumber !== null;
353
+ const isEphemeral = this.specSummary?.isEphemeral !== undefined && this.specSummary.isEphemeral;
354
+ let warningBanner = html ``;
355
+ if (isCorrupt) {
356
+ warningBanner = html `
357
+ <div class="corrupt-banner">
358
+ <strong>CHANGE CORRUPTED</strong> [<a href="#" class="corrupt-link" @click="${this.openCorruptInfo}">LEARN WHY</a>]
359
+ </div>`;
360
+ }
361
+ else if (isPr) {
362
+ warningBanner = html `
363
+ <div class="pr-banner">
364
+ PR: <a href="${this.specSummary?.gitPrUrl}" class="pr-url" target="_blank">#${this.specSummary?.gitPrNumber}: ${this.specSummary?.gitPrTitle}</a>
365
+ </div>`;
366
+ }
367
+ else if (isEphemeral && this.countdownController && !this.countdownController.isExpired) {
368
+ const criticalClass = this.countdownController.isCritical ? 'critical' : '';
369
+ warningBanner = html `
370
+ <div class="warn-banner ${criticalClass}">
371
+ <strong>Temporary Comparison:</strong> ${this.countdownController.formattedTime} before deletion
372
+ </div>`;
373
+ }
193
374
  return html `
194
375
  ${this.loading ? loading : ''}
195
376
  <header>
@@ -204,26 +385,60 @@ let TardisControl = class TardisControl extends Colorful {
204
385
  <div class="changes-container">
205
386
 
206
387
  <sl-split-panel position-in-pixels="300" vertical id="tardis-split-panel" class="tardis-split-panel">
207
- <sl-icon id="split-divider" slot="divider" name="grip-horizontal" class="divider-horiz"></sl-icon>
388
+ <sl-icon id="split-divider" slot="divider" name="grip-horizontal" class="divider-horiz" aria-hidden="true"></sl-icon>
208
389
  <div class="editor" slot="start">
209
-
210
-
211
390
  <div class="change-navigator">
212
391
  ${changesView}
213
392
  </div>
214
393
  </div>
215
- <div class="editor" slot="end">
216
-
394
+ <div class="editor" slot="end" style="overflow: hidden; height: 100%; z-index: 1">
395
+ ${warningBanner}
217
396
  <sl-tab-group class="tab-group time-vortex">
397
+ <sl-tab slot="nav" panel="report" class="tab" id="report-view">
398
+ Change Report
399
+ </sl-tab>
218
400
  <sl-tab slot="nav" panel="changelist" class="tab" id="changelist-view">
219
- Changelog
401
+ Changed Items
402
+ </sl-tab>
403
+ <sl-tab slot="nav" panel="list" class="tab" id="list-view">
404
+ Change List
220
405
  </sl-tab>
221
406
  <sl-tab slot="nav" panel="graph" class="tab" id="graph-view">
222
407
  Explore Changes
223
408
  </sl-tab>
224
- <sl-tab slot="nav" panel="list" class="tab" id="list-view">
225
- List
409
+ <sl-tab slot="nav" panel="diff" class="tab" id="diff-view">
410
+ View Diff
226
411
  </sl-tab>
412
+
413
+ <sl-tab-panel name="report" class="tab-panel">
414
+ ${this.specSummary?.changeId ? html `
415
+ <div class="report-download-controls">
416
+ <sl-button
417
+ class="slim"
418
+ size="small"
419
+ variant="default"
420
+ ?disabled=${!this.markdownReport}
421
+ @click=${this.downloadHtmlReport}>
422
+ <sl-icon slot="prefix" name="download" aria-hidden="true"></sl-icon>
423
+ HTML
424
+ </sl-button>
425
+ <sl-button
426
+ class="slim"
427
+ size="small"
428
+ variant="default"
429
+ ?loading=${this.mdDownloadLoading}
430
+ @click=${this.downloadMarkdownReport}>
431
+ <sl-icon slot="prefix" name="download" aria-hidden="true"></sl-icon>
432
+ MD
433
+ </sl-button>
434
+ </div>
435
+ ` : html ``}
436
+ <div class="markdown-report">
437
+ ${this.specSummary?.changeId ?
438
+ keyed(this.specSummary.changeId, html `${this.markdownReport ? unsafeHTML(this.markdownReport) : html `<div class="pb33f-loader"><div class="spin"></div>Loading report...</div>`}`)
439
+ : html ``}
440
+ </div>
441
+ </sl-tab-panel>
227
442
  <sl-tab-panel name="changelist" class="tab-panel changelist-panel">
228
443
  <div class="change-list">
229
444
  <pb33f-paginator-navigation label="Changes" hideSparks
@@ -234,26 +449,66 @@ let TardisControl = class TardisControl extends Colorful {
234
449
  ${this.explorer}
235
450
  </sl-tab-panel>
236
451
  <sl-tab-panel name="list" class="tab-panel">
237
- <pb33f-change-list .changes=${this.changeReport?.changes}></pb33f-change-list>
452
+ <pb33f-change-list
453
+ .changes=${this.doc.modelController.changeReport?.changes}></pb33f-change-list>
454
+ </sl-tab-panel>
455
+ <sl-tab-panel name="diff" class="tab-panel">
456
+ <!-- EDITOR -->
457
+ <slot name="diff-editor"></slot>
458
+ <!-- EDITOR -->
238
459
  </sl-tab-panel>
239
-
240
460
  </sl-tab-group>
241
461
  </div>
242
462
  </div>`;
243
463
  }
244
464
  showSummaryOnly() {
245
465
  this.specSummary = null;
246
- this.changeReport = null;
466
+ this.doc.modelController.changeReport = null;
247
467
  return;
248
468
  }
469
+ showDiffTab() {
470
+ if (this.tabGroup) {
471
+ this.tabGroup.show('diff');
472
+ }
473
+ }
249
474
  set summary(summary) {
250
475
  this.specSummary = summary;
476
+ if (this.countdownController) {
477
+ this.countdownController.stop();
478
+ this.countdownController = undefined;
479
+ }
480
+ if (summary.isEphemeral && summary.ephemeralExpiresAt) {
481
+ this.countdownController = new CountdownController(this, summary.ephemeralExpiresAt, () => this.handleEphemeralExpired());
482
+ }
251
483
  if (summary.changeId) {
252
484
  this.loading = true;
253
- TimelineService.fetchChange(summary.changeId)
254
- .then(this.handleChange.bind(this))
485
+ this.markdownReport = '';
486
+ // Fetch change report, spec diffs, and markdown report in parallel
487
+ Promise.all([
488
+ TimelineService.fetchChange(summary.changeId),
489
+ TimelineService.fetchOriginalSpec(summary.changeId),
490
+ TimelineService.fetchModifiedSpec(summary.changeId),
491
+ TimelineService.fetchMarkdownReport(summary.changeId)
492
+ ])
493
+ .then(([changeResponse, originalSpec, modifiedSpec, markdownReport]) => {
494
+ this.handleChange(changeResponse);
495
+ if (this.diffEditor) {
496
+ this.diffEditor.setValue(originalSpec);
497
+ this.diffEditor.setDiffValue(modifiedSpec);
498
+ }
499
+ // keyed directive will detect changeId change and re-render unsafeHTML content
500
+ this.markdownReport = markdownReport;
501
+ // prism highlighting must run after dom renders, hence the delay
502
+ this._highlightTimeout = window.setTimeout(() => {
503
+ this.highlightCodeBlocks();
504
+ }, 100);
505
+ })
255
506
  .catch((e) => {
256
507
  this.loading = false;
508
+ let message = 'Unable to fetch revision, something went wrong.';
509
+ if (e.detail) {
510
+ message += ': ' + e.detail;
511
+ }
257
512
  this.dispatchEvent(new CustomEvent(AddToast, {
258
513
  bubbles: true,
259
514
  composed: true,
@@ -261,8 +516,8 @@ let TardisControl = class TardisControl extends Colorful {
261
516
  toast: {
262
517
  type: ToastType.ERROR,
263
518
  id: "timeline-error",
264
- body: e.detail,
265
- title: "timeline error",
519
+ body: message,
520
+ title: "Tardis failure",
266
521
  }
267
522
  }
268
523
  }));
@@ -270,20 +525,17 @@ let TardisControl = class TardisControl extends Colorful {
270
525
  }
271
526
  }
272
527
  handleChange(resp) {
273
- this.changeReport = resp;
274
- this.explorer.updateGraphResponse(resp);
275
- this.explorer.buildGraph();
528
+ this.doc.modelController.updateChangeReport(resp);
529
+ if (this.explorer) {
530
+ this.explorer.updateGraphResponse(resp);
531
+ this.explorer.buildGraph();
532
+ }
533
+ this.modelTree.triggerTreeClick('timeline');
276
534
  this.loading = false;
277
535
  }
278
536
  };
279
- TardisControl.styles = [specSummaryTimelineItemCss,
280
- tardisControlCss, spinnerCss, tabsCss, panelsCss, scrollbarCss];
281
- __decorate([
282
- state()
283
- ], TardisControl.prototype, "changeReport", void 0);
284
- __decorate([
285
- state()
286
- ], TardisControl.prototype, "changeGraph", void 0);
537
+ TardisControl.styles = [specSummaryTimelineItemCss, buttonCss,
538
+ spinnerCss, tabsCss, panelsCss, scrollbarCss, prismCss, chromaSyntaxCss, hrCss, changelogCss, tardisControlCss];
287
539
  __decorate([
288
540
  state()
289
541
  ], TardisControl.prototype, "history", void 0);
@@ -299,6 +551,18 @@ __decorate([
299
551
  __decorate([
300
552
  query('pb33f-doughnut-chart#breaking-doughnut')
301
553
  ], TardisControl.prototype, "breakingDoughnut", void 0);
554
+ __decorate([
555
+ query('sl-tab-group.time-vortex')
556
+ ], TardisControl.prototype, "tabGroup", void 0);
557
+ __decorate([
558
+ property()
559
+ ], TardisControl.prototype, "doc", void 0);
560
+ __decorate([
561
+ state()
562
+ ], TardisControl.prototype, "markdownReport", void 0);
563
+ __decorate([
564
+ state()
565
+ ], TardisControl.prototype, "mdDownloadLoading", void 0);
302
566
  TardisControl = __decorate([
303
567
  customElement("pb33f-tardis-control")
304
568
  ], TardisControl);
@@ -1,6 +1,7 @@
1
1
  import { LitElement } from "lit";
2
2
  import { TheDoctor } from "../the-doctor/the-doctor.js";
3
3
  import { HistoryPicker } from "./history-picker.js";
4
+ import { SpecSummary } from "../../model/timeline.js";
4
5
  import { TardisControl } from "./tardis-control.js";
5
6
  import { RevisionClickedEvent } from "../../events/doctor.js";
6
7
  export declare class TimeVortex extends LitElement {
@@ -9,9 +10,14 @@ export declare class TimeVortex extends LitElement {
9
10
  historyPicker: HistoryPicker;
10
11
  tardisControl: TardisControl;
11
12
  doctor: TheDoctor;
12
- constructor();
13
- checkHistory(): void;
13
+ constructor(doc: TheDoctor);
14
+ firstUpdated(): void;
15
+ setTardisControl(control: TardisControl): void;
16
+ getHistorySummary(): Promise<SpecSummary[]>;
14
17
  updated(): void;
15
18
  revisionClicked(evt: CustomEvent<RevisionClickedEvent>): void;
19
+ private processRevisionClick;
16
20
  showTimelineSummary(): void;
21
+ private processShowSummary;
22
+ private ensureTardisControlReady;
17
23
  }