@pb33f/cowboy-components 0.7.17 → 0.8.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 (540) hide show
  1. package/dist/_basePickBy-DtTwxTrV.js +151 -0
  2. package/dist/_baseUniq-C5Y4WFmx.js +614 -0
  3. package/dist/arc-a-7w7y90.js +83 -0
  4. package/dist/architecture-U656AL7Q-c_zxypEp.js +5 -0
  5. package/dist/architectureDiagram-VXUJARFQ-CIhQJ6xS.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/assets/search-problems.worker-60kZqr0h.js +1 -0
  12. package/dist/blockDiagram-VD42YOAC-BLl5ID-l.js +2261 -0
  13. package/dist/c4Diagram-YG6GDRKO-BOGfb13x.js +1580 -0
  14. package/dist/channel-DYeI56io.js +5 -0
  15. package/dist/chunk-4BX2VUAB-BeHGB7ON.js +8 -0
  16. package/dist/chunk-55IACEB6-DgHUzWsw.js +8 -0
  17. package/dist/chunk-B4BG7PRW-Vs7GiQMf.js +1375 -0
  18. package/dist/chunk-DI55MBZ5-CHjdGXx0.js +1370 -0
  19. package/dist/chunk-FMBD7UC4-D-H9-bHN.js +19 -0
  20. package/dist/chunk-QN33PNHL-D7uE2r1Y.js +19 -0
  21. package/dist/chunk-QZHKN3VN-Cp3sUp7e.js +15 -0
  22. package/dist/chunk-TZMSLE5B-BmXGcXo9.js +64 -0
  23. package/dist/classDiagram-2ON5EDUG-9ilqiDEi.js +16 -0
  24. package/dist/classDiagram-v2-WZHVMYZB-9ilqiDEi.js +16 -0
  25. package/dist/clone-CybyMoa0.js +8 -0
  26. package/dist/components/attention-box/attention-box.css.js +8 -0
  27. package/dist/components/auth/login-button.js +1 -1
  28. package/dist/components/auth/login-panel.d.ts +4 -0
  29. package/dist/components/auth/login-panel.js +12 -4
  30. package/dist/components/auth/oauth-login.css.js +4 -0
  31. package/dist/components/auth/oauth-login.d.ts +2 -0
  32. package/dist/components/auth/oauth-login.js +12 -3
  33. package/dist/components/brokerable.d.ts +21 -0
  34. package/dist/components/brokerable.js +39 -0
  35. package/dist/components/bundle-toolbar/bundle-toolbar.css.js +110 -0
  36. package/dist/components/bundle-toolbar/bundle-toolbar.d.ts +21 -0
  37. package/dist/components/bundle-toolbar/bundle-toolbar.js +93 -0
  38. package/dist/components/changelog/changelog.css.js +2 -0
  39. package/dist/components/changelog/changelog.d.ts +2 -0
  40. package/dist/components/changelog/changelog.js +10 -1
  41. package/dist/components/changelog/release.css.js +5 -1
  42. package/dist/components/charts/beefy-chart.js +0 -2
  43. package/dist/components/charts/doughnut-chart.d.ts +5 -1
  44. package/dist/components/charts/doughnut-chart.js +20 -1
  45. package/dist/components/credit-ticker/credit-ticker.d.ts +3 -0
  46. package/dist/components/credit-ticker/credit-ticker.js +20 -4
  47. package/dist/components/details-drawer/details-drawer.css.d.ts +2 -0
  48. package/dist/components/{problem-list → details-drawer}/details-drawer.css.js +18 -3
  49. package/dist/components/details-drawer/generic-details-drawer.css.d.ts +1 -0
  50. package/dist/components/details-drawer/generic-details-drawer.css.js +219 -0
  51. package/dist/components/details-drawer/generic-details-drawer.d.ts +38 -0
  52. package/dist/components/details-drawer/generic-details-drawer.js +245 -0
  53. package/dist/components/details-drawer/handlers/diagram-handler.d.ts +35 -0
  54. package/dist/components/details-drawer/handlers/diagram-handler.js +248 -0
  55. package/dist/components/details-drawer/handlers/documentation-handler.d.ts +11 -0
  56. package/dist/components/details-drawer/handlers/documentation-handler.js +46 -0
  57. package/dist/components/details-drawer/handlers/example-handler.d.ts +18 -0
  58. package/dist/components/details-drawer/handlers/example-handler.js +146 -0
  59. package/dist/components/details-drawer/handlers/howto-handler.d.ts +11 -0
  60. package/dist/components/details-drawer/handlers/howto-handler.js +36 -0
  61. package/dist/components/details-drawer/handlers/markdown-handler.d.ts +12 -0
  62. package/dist/components/details-drawer/handlers/markdown-handler.js +54 -0
  63. package/dist/components/editor/editor-breadcrumb.css.js +1 -1
  64. package/dist/components/editor/editor.css.js +42 -0
  65. package/dist/components/editor/editor.d.ts +29 -3
  66. package/dist/components/editor/editor.js +495 -73
  67. package/dist/components/github/github-workspace-view.css.d.ts +2 -0
  68. package/dist/components/github/github-workspace-view.css.js +165 -0
  69. package/dist/components/github/github-workspace-view.d.ts +59 -0
  70. package/dist/components/github/github-workspace-view.js +525 -0
  71. package/dist/components/global-task/global-task-view.css.d.ts +2 -0
  72. package/dist/components/global-task/global-task-view.css.js +392 -0
  73. package/dist/components/global-task/global-task-view.d.ts +48 -0
  74. package/dist/components/global-task/global-task-view.js +359 -0
  75. package/dist/components/header/header.css.js +9 -1
  76. package/dist/components/http-method/http-method.css.js +5 -1
  77. package/dist/components/indeterminate-loader/indeterminate-loader.css.d.ts +2 -0
  78. package/dist/components/indeterminate-loader/indeterminate-loader.css.js +135 -0
  79. package/dist/components/indeterminate-loader/indeterminate-loader.d.ts +35 -0
  80. package/dist/components/indeterminate-loader/indeterminate-loader.js +201 -0
  81. package/dist/components/kv-view/kv-view.css.js +2 -0
  82. package/dist/components/kv-view/kv-view.js +0 -1
  83. package/dist/components/logo-wall/logo-wall.css.js +9 -0
  84. package/dist/components/manage-ruleset/manage-ruleset.css.js +14 -1
  85. package/dist/components/manage-ruleset/manage-ruleset.d.ts +1 -0
  86. package/dist/components/manage-ruleset/manage-ruleset.js +54 -22
  87. package/dist/components/manage-ruleset/rule-action.css.js +2 -0
  88. package/dist/components/manage-ruleset/rule-action.d.ts +10 -3
  89. package/dist/components/manage-ruleset/rule-action.js +118 -129
  90. package/dist/components/manage-ruleset/rule-input.d.ts +3 -1
  91. package/dist/components/manage-ruleset/rule-input.js +38 -34
  92. package/dist/components/manage-ruleset/rule.css.js +15 -1
  93. package/dist/components/manage-ruleset/rule.d.ts +4 -1
  94. package/dist/components/manage-ruleset/rule.js +44 -17
  95. package/dist/components/mermaid/mermaid-renderer.css.d.ts +1 -0
  96. package/dist/components/mermaid/mermaid-renderer.css.js +121 -0
  97. package/dist/components/mermaid/mermaid-renderer.d.ts +75 -0
  98. package/dist/components/mermaid/mermaid-renderer.js +485 -0
  99. package/dist/components/model-icon/doctor-icon.d.ts +9 -0
  100. package/dist/components/model-icon/doctor-icon.js +60 -0
  101. package/dist/components/model-icon/model-icon.d.ts +2 -1
  102. package/dist/components/model-icon/model-icon.js +13 -1
  103. package/dist/components/model-renderer/change.css.js +22 -8
  104. package/dist/components/model-renderer/changes.d.ts +1 -0
  105. package/dist/components/model-renderer/changes.js +47 -32
  106. package/dist/components/model-renderer/clickable-ref.d.ts +9 -3
  107. package/dist/components/model-renderer/clickable-ref.js +49 -10
  108. package/dist/components/model-renderer/components.d.ts +2 -0
  109. package/dist/components/model-renderer/components.js +196 -116
  110. package/dist/components/model-renderer/contact.js +2 -2
  111. package/dist/components/model-renderer/description.css.js +2 -0
  112. package/dist/components/model-renderer/document.d.ts +1 -0
  113. package/dist/components/model-renderer/document.js +14 -9
  114. package/dist/components/model-renderer/encoding.d.ts +2 -0
  115. package/dist/components/model-renderer/encoding.js +16 -7
  116. package/dist/components/model-renderer/example.css.js +5 -1
  117. package/dist/components/model-renderer/example.d.ts +4 -1
  118. package/dist/components/model-renderer/example.js +72 -118
  119. package/dist/components/model-renderer/extensions.d.ts +2 -0
  120. package/dist/components/model-renderer/extensions.js +11 -2
  121. package/dist/components/model-renderer/external-docs.d.ts +2 -0
  122. package/dist/components/model-renderer/external-docs.js +13 -4
  123. package/dist/components/model-renderer/has-changes.js +3 -3
  124. package/dist/components/model-renderer/header.d.ts +2 -0
  125. package/dist/components/model-renderer/header.js +27 -14
  126. package/dist/components/model-renderer/info.d.ts +2 -0
  127. package/dist/components/model-renderer/info.js +20 -7
  128. package/dist/components/model-renderer/link.d.ts +2 -0
  129. package/dist/components/model-renderer/link.js +27 -10
  130. package/dist/components/model-renderer/media-type.js +2 -2
  131. package/dist/components/model-renderer/model-badge.d.ts +11 -0
  132. package/dist/components/model-renderer/model-badge.js +59 -0
  133. package/dist/components/model-renderer/model-shared.css.js +14 -2
  134. package/dist/components/model-renderer/oauth-flows.js +4 -4
  135. package/dist/components/model-renderer/operation.d.ts +2 -1
  136. package/dist/components/model-renderer/operation.js +37 -16
  137. package/dist/components/model-renderer/param-location.js +3 -3
  138. package/dist/components/model-renderer/parameter.d.ts +2 -0
  139. package/dist/components/model-renderer/parameter.js +28 -15
  140. package/dist/components/model-renderer/path-item.d.ts +3 -0
  141. package/dist/components/model-renderer/path-item.js +52 -80
  142. package/dist/components/model-renderer/paths.d.ts +2 -0
  143. package/dist/components/model-renderer/paths.js +10 -3
  144. package/dist/components/model-renderer/problem-node.js +10 -10
  145. package/dist/components/model-renderer/rendered-node.css.js +35 -6
  146. package/dist/components/model-renderer/rendered-node.d.ts +14 -4
  147. package/dist/components/model-renderer/rendered-node.js +121 -58
  148. package/dist/components/model-renderer/rendered-property.js +4 -4
  149. package/dist/components/model-renderer/request-body.d.ts +2 -0
  150. package/dist/components/model-renderer/request-body.js +16 -9
  151. package/dist/components/model-renderer/response.d.ts +2 -0
  152. package/dist/components/model-renderer/response.js +35 -17
  153. package/dist/components/model-renderer/schema.css.js +10 -1
  154. package/dist/components/model-renderer/schema.d.ts +3 -2
  155. package/dist/components/model-renderer/schema.js +127 -129
  156. package/dist/components/model-renderer/security-scheme.js +3 -3
  157. package/dist/components/model-renderer/server.js +18 -8
  158. package/dist/components/model-renderer/tag.js +1 -1
  159. package/dist/components/model-tree/tree.css.js +21 -10
  160. package/dist/components/model-tree/tree.d.ts +39 -22
  161. package/dist/components/model-tree/tree.js +230 -167
  162. package/dist/components/paginator/paginator-navigator.css.js +9 -5
  163. package/dist/components/paginator/paginator-navigator.js +6 -6
  164. package/dist/components/paginator/paginator.css.js +2 -0
  165. package/dist/components/paginator/paginator.js +5 -8
  166. package/dist/components/percent-bar/percent-bar.css.js +133 -13
  167. package/dist/components/percent-bar/percent-bar.d.ts +2 -0
  168. package/dist/components/percent-bar/percent-bar.js +28 -24
  169. package/dist/components/premium-gate/premium-gate.css.d.ts +1 -0
  170. package/dist/components/premium-gate/premium-gate.css.js +117 -0
  171. package/dist/components/premium-gate/premium-gate.d.ts +49 -0
  172. package/dist/components/premium-gate/premium-gate.js +336 -0
  173. package/dist/components/problem-list/problem-list.css.js +72 -1
  174. package/dist/components/problem-list/problem-list.d.ts +17 -9
  175. package/dist/components/problem-list/problem-list.js +222 -226
  176. package/dist/components/problem-list/problem-mainview.css.js +12 -2
  177. package/dist/components/problem-list/problem-mainview.d.ts +3 -0
  178. package/dist/components/problem-list/problem-mainview.js +37 -17
  179. package/dist/components/problem-list/problem-toolbar.css.js +10 -7
  180. package/dist/components/problems-overview/diagnostic-evaluation.css.js +11 -1
  181. package/dist/components/problems-overview/diagnostic-evaluation.js +6 -7
  182. package/dist/components/problems-overview/document-statistic.css.js +6 -0
  183. package/dist/components/problems-overview/document-statistic.js +1 -1
  184. package/dist/components/problems-overview/problem-overview-group.js +5 -5
  185. package/dist/components/problems-overview/problem-statistic.css.js +24 -5
  186. package/dist/components/problems-overview/problem-statistic.js +15 -6
  187. package/dist/components/problems-overview/problem-statistics.css.js +4 -4
  188. package/dist/components/problems-overview/problem-statistics.js +29 -25
  189. package/dist/components/problems-overview/problems-overview.css.js +2 -2
  190. package/dist/components/property-view/property-view.css.js +2 -0
  191. package/dist/components/render-json-path/render-json-path.css.js +11 -3
  192. package/dist/components/render-json-path/render-json-path.js +3 -0
  193. package/dist/components/render-operation-path/render-operation-path.css.js +9 -0
  194. package/dist/components/render-operation-path/render-operation-path.js +7 -22
  195. package/dist/components/rodeo/rodeo.d.ts +1 -0
  196. package/dist/components/rodeo/rodeo.js +5 -0
  197. package/dist/components/rodeo/roundup.js +2 -2
  198. package/dist/components/rodeo/statistic.css.js +25 -2
  199. package/dist/components/rodeo/statistic.js +0 -4
  200. package/dist/components/shader-canvas/shader-canvas.css.d.ts +2 -0
  201. package/dist/components/shader-canvas/shader-canvas.css.js +66 -0
  202. package/dist/components/shader-canvas/shader-canvas.d.ts +36 -0
  203. package/dist/components/shader-canvas/shader-canvas.js +363 -0
  204. package/dist/components/shaders/flowing-waves-shader.d.ts +2 -0
  205. package/dist/components/shaders/flowing-waves-shader.js +70 -0
  206. package/dist/components/shaders/neon-canyon-shader.d.ts +2 -0
  207. package/dist/components/shaders/neon-canyon-shader.js +265 -0
  208. package/dist/components/shaders/neon-lines-shader.d.ts +2 -0
  209. package/dist/components/shaders/neon-lines-shader.js +181 -0
  210. package/dist/components/shaders/neon-squircles-shader.d.ts +2 -0
  211. package/dist/components/shaders/neon-squircles-shader.js +56 -0
  212. package/dist/components/shaders/retro-grid-shader.d.ts +2 -0
  213. package/dist/components/shaders/retro-grid-shader.js +53 -0
  214. package/dist/components/shaders/shader-base.d.ts +9 -0
  215. package/dist/components/shaders/shader-base.js +11 -0
  216. package/dist/components/terminal/terminal-example.css.js +4 -0
  217. package/dist/components/terminal/terminal-example.js +2 -3
  218. package/dist/components/terminal-emulator/terminal-emulator.css.js +12 -2
  219. package/dist/components/terminal-emulator/terminal-emulator.d.ts +7 -1
  220. package/dist/components/terminal-emulator/terminal-emulator.js +10 -5
  221. package/dist/components/the-doctor/doctor-controls-panel.css.d.ts +2 -0
  222. package/dist/components/the-doctor/doctor-controls-panel.css.js +53 -0
  223. package/dist/components/the-doctor/doctor-controls-panel.d.ts +20 -0
  224. package/dist/components/the-doctor/doctor-controls-panel.js +78 -0
  225. package/dist/components/the-doctor/doctor-editor-panel.css.d.ts +2 -0
  226. package/dist/components/the-doctor/doctor-editor-panel.css.js +209 -0
  227. package/dist/components/the-doctor/doctor-editor-panel.d.ts +41 -0
  228. package/dist/components/the-doctor/doctor-editor-panel.js +188 -0
  229. package/dist/components/the-doctor/doctor-navigator-panel.css.d.ts +2 -0
  230. package/dist/components/the-doctor/doctor-navigator-panel.css.js +134 -0
  231. package/dist/components/the-doctor/doctor-navigator-panel.d.ts +35 -0
  232. package/dist/components/the-doctor/doctor-navigator-panel.js +117 -0
  233. package/dist/components/the-doctor/doctor-sidebar-panel.css.d.ts +2 -0
  234. package/dist/components/the-doctor/doctor-sidebar-panel.css.js +143 -0
  235. package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +31 -0
  236. package/dist/components/the-doctor/doctor-sidebar-panel.js +131 -0
  237. package/dist/components/the-doctor/doctor-url-overlay.css.d.ts +2 -0
  238. package/dist/components/the-doctor/doctor-url-overlay.css.js +59 -0
  239. package/dist/components/the-doctor/doctor-url-overlay.d.ts +23 -0
  240. package/dist/components/the-doctor/doctor-url-overlay.js +82 -0
  241. package/dist/components/the-doctor/nuke-workspace.js +4 -3
  242. package/dist/components/the-doctor/settings.css.js +2 -0
  243. package/dist/components/the-doctor/settings.js +5 -8
  244. package/dist/components/the-doctor/status-bar.d.ts +2 -2
  245. package/dist/components/the-doctor/status-bar.js +32 -31
  246. package/dist/components/the-doctor/the-doctor.css.js +47 -238
  247. package/dist/components/the-doctor/the-doctor.d.ts +149 -37
  248. package/dist/components/the-doctor/the-doctor.js +958 -528
  249. package/dist/components/the-doctor/upload-archive.css.js +8 -2
  250. package/dist/components/the-doctor/upload-archive.js +2 -2
  251. package/dist/components/theme-switcher/theme-switcher.js +5 -1
  252. package/dist/components/time-vortex/change-list-item.css.js +18 -4
  253. package/dist/components/time-vortex/change-list-item.d.ts +1 -0
  254. package/dist/components/time-vortex/change-list-item.js +4 -3
  255. package/dist/components/time-vortex/history-picker.css.js +60 -1
  256. package/dist/components/time-vortex/history-picker.d.ts +7 -1
  257. package/dist/components/time-vortex/history-picker.js +109 -5
  258. package/dist/components/time-vortex/tardis-control.css.js +339 -14
  259. package/dist/components/time-vortex/tardis-control.d.ts +31 -3
  260. package/dist/components/time-vortex/tardis-control.js +296 -58
  261. package/dist/components/time-vortex/time-vortex.d.ts +8 -2
  262. package/dist/components/time-vortex/time-vortex.js +54 -13
  263. package/dist/components/toast/toast-component.css.js +1 -0
  264. package/dist/components/toast/toast-component.d.ts +1 -0
  265. package/dist/components/toast/toast-component.js +23 -8
  266. package/dist/components/toast/toast-manager.d.ts +5 -0
  267. package/dist/components/toast/toast-manager.js +29 -7
  268. package/dist/components/visualizer/edge.d.ts +11 -1
  269. package/dist/components/visualizer/edge.js +27 -22
  270. package/dist/components/visualizer/equalizer.css.js +118 -76
  271. package/dist/components/visualizer/equalizer.d.ts +24 -45
  272. package/dist/components/visualizer/equalizer.js +262 -363
  273. package/dist/components/visualizer/explorer.d.ts +94 -14
  274. package/dist/components/visualizer/explorer.js +580 -393
  275. package/dist/components/visualizer/foreign-object.d.ts +12 -2
  276. package/dist/components/visualizer/foreign-object.js +21 -10
  277. package/dist/components/visualizer/key.js +12 -1
  278. package/dist/components/visualizer/nodes/callback.d.ts +2 -1
  279. package/dist/components/visualizer/nodes/callback.js +2 -2
  280. package/dist/components/visualizer/nodes/components.d.ts +2 -1
  281. package/dist/components/visualizer/nodes/components.js +2 -2
  282. package/dist/components/visualizer/nodes/contact.d.ts +2 -1
  283. package/dist/components/visualizer/nodes/contact.js +2 -2
  284. package/dist/components/visualizer/nodes/document.d.ts +2 -1
  285. package/dist/components/visualizer/nodes/document.js +2 -2
  286. package/dist/components/visualizer/nodes/graph-node.d.ts +14 -3
  287. package/dist/components/visualizer/nodes/graph-node.js +94 -43
  288. package/dist/components/visualizer/nodes/header.d.ts +2 -1
  289. package/dist/components/visualizer/nodes/header.js +2 -2
  290. package/dist/components/visualizer/nodes/info.d.ts +2 -1
  291. package/dist/components/visualizer/nodes/info.js +2 -2
  292. package/dist/components/visualizer/nodes/license.d.ts +2 -1
  293. package/dist/components/visualizer/nodes/license.js +2 -2
  294. package/dist/components/visualizer/nodes/link.d.ts +2 -1
  295. package/dist/components/visualizer/nodes/link.js +2 -2
  296. package/dist/components/visualizer/nodes/media-type.d.ts +2 -1
  297. package/dist/components/visualizer/nodes/media-type.js +2 -2
  298. package/dist/components/visualizer/nodes/operation.d.ts +2 -1
  299. package/dist/components/visualizer/nodes/operation.js +3 -4
  300. package/dist/components/visualizer/nodes/parameter.d.ts +3 -1
  301. package/dist/components/visualizer/nodes/parameter.js +3 -4
  302. package/dist/components/visualizer/nodes/path-item.d.ts +2 -1
  303. package/dist/components/visualizer/nodes/path-item.js +2 -2
  304. package/dist/components/visualizer/nodes/request-body.d.ts +2 -1
  305. package/dist/components/visualizer/nodes/request-body.js +2 -2
  306. package/dist/components/visualizer/nodes/response.d.ts +2 -1
  307. package/dist/components/visualizer/nodes/response.js +2 -2
  308. package/dist/components/visualizer/nodes/schema.d.ts +2 -1
  309. package/dist/components/visualizer/nodes/schema.js +64 -9
  310. package/dist/components/visualizer/nodes/security-scheme.d.ts +2 -1
  311. package/dist/components/visualizer/nodes/security-scheme.js +2 -2
  312. package/dist/components/visualizer/nodes/server.d.ts +2 -1
  313. package/dist/components/visualizer/nodes/server.js +3 -4
  314. package/dist/components/visualizer/nodes/tag.d.ts +2 -1
  315. package/dist/components/visualizer/nodes/tag.js +4 -5
  316. package/dist/components/visualizer/nodes/xml.d.ts +2 -1
  317. package/dist/components/visualizer/nodes/xml.js +2 -2
  318. package/dist/components/visualizer/orientation-controls.d.ts +6 -1
  319. package/dist/components/visualizer/orientation-controls.js +65 -7
  320. package/dist/components/visualizer/search.d.ts +2 -1
  321. package/dist/components/visualizer/search.js +22 -29
  322. package/dist/components/visualizer/shared.css.js +55 -18
  323. package/dist/components/visualizer/templates/svg-markers.d.ts +2 -0
  324. package/dist/components/visualizer/templates/svg-markers.js +73 -0
  325. package/dist/components/waiting-line/waiting-line.css.d.ts +2 -0
  326. package/dist/components/waiting-line/waiting-line.css.js +26 -0
  327. package/dist/components/waiting-line/waiting-line.d.ts +30 -0
  328. package/dist/components/waiting-line/waiting-line.js +424 -0
  329. package/dist/components/workspaces/workspace-view.css.js +89 -8
  330. package/dist/components/workspaces/workspace-view.d.ts +8 -1
  331. package/dist/components/workspaces/workspace-view.js +77 -25
  332. package/dist/controllers/auth-controller.d.ts +9 -0
  333. package/dist/controllers/auth-controller.js +12 -5
  334. package/dist/controllers/broker-controller.d.ts +30 -4
  335. package/dist/controllers/broker-controller.js +148 -25
  336. package/dist/controllers/bundle-controller.d.ts +21 -0
  337. package/dist/controllers/bundle-controller.js +122 -0
  338. package/dist/controllers/countdown-controller.d.ts +17 -0
  339. package/dist/controllers/countdown-controller.js +59 -0
  340. package/dist/controllers/diagnostic-controller.d.ts +18 -5
  341. package/dist/controllers/diagnostic-controller.js +206 -218
  342. package/dist/controllers/diagramatron-controller.d.ts +33 -0
  343. package/dist/controllers/diagramatron-controller.js +128 -0
  344. package/dist/controllers/docs-controller.d.ts +11 -5
  345. package/dist/controllers/docs-controller.js +97 -97
  346. package/dist/controllers/github-controller.d.ts +47 -0
  347. package/dist/controllers/github-controller.js +494 -0
  348. package/dist/controllers/global-task-controller.d.ts +46 -0
  349. package/dist/controllers/global-task-controller.js +352 -0
  350. package/dist/controllers/model-controller.d.ts +26 -4
  351. package/dist/controllers/model-controller.js +98 -62
  352. package/dist/controllers/node-clicker-controller.d.ts +121 -4
  353. package/dist/controllers/node-clicker-controller.js +526 -253
  354. package/dist/controllers/problem-controller.d.ts +11 -4
  355. package/dist/controllers/problem-controller.js +98 -39
  356. package/dist/controllers/rolodex-controller.d.ts +8 -3
  357. package/dist/controllers/rolodex-controller.js +117 -83
  358. package/dist/controllers/rule-controller.d.ts +12 -5
  359. package/dist/controllers/rule-controller.js +154 -161
  360. package/dist/controllers/spec-controller.d.ts +16 -4
  361. package/dist/controllers/spec-controller.js +91 -62
  362. package/dist/controllers/state-controller.d.ts +4 -3
  363. package/dist/controllers/state-controller.js +201 -154
  364. package/dist/controllers/tab-cache-controller.d.ts +29 -0
  365. package/dist/controllers/tab-cache-controller.js +68 -0
  366. package/dist/controllers/timeline-controller.d.ts +18 -0
  367. package/dist/controllers/timeline-controller.js +129 -0
  368. package/dist/controllers/wallet-controller.d.ts +3 -3
  369. package/dist/controllers/wallet-controller.js +22 -41
  370. package/dist/controllers/workspace-controller.d.ts +10 -4
  371. package/dist/controllers/workspace-controller.js +67 -22
  372. package/dist/cose-bilkent-S5V4N54A-2TG-C-n3.js +2608 -0
  373. package/dist/cowboy-components-BcyXo9oX.js +68425 -0
  374. package/dist/cowboy-components.css +1 -0
  375. package/dist/cowboy-components.umd.cjs +14050 -6577
  376. package/dist/css/alerts.css.js +2 -0
  377. package/dist/css/badges.css.js +2 -0
  378. package/dist/css/button.css.js +34 -1
  379. package/dist/css/cowboy-components.css +34 -0
  380. package/dist/css/dialog.css.js +11 -2
  381. package/dist/css/filter.css.js +17 -5
  382. package/dist/css/forms.css.js +14 -0
  383. package/dist/css/pb33f-theme.css +87 -16
  384. package/dist/css/syntax.css.js +5 -0
  385. package/dist/css/tabs.css.js +19 -2
  386. package/dist/css/tooltip.css.js +4 -0
  387. package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
  388. package/dist/dagre-6UL2VRFP-BIlmTbhO.js +444 -0
  389. package/dist/defaultLocale-D7EN2tov.js +171 -0
  390. package/dist/diagram-PSM6KHXK-CeWby24E.js +531 -0
  391. package/dist/diagram-QEK2KX5R-DGonyVCK.js +217 -0
  392. package/dist/diagram-S2PKOQOG-mGn-y1uX.js +142 -0
  393. package/dist/erDiagram-Q2GNP2WA-BlBBw4Mz.js +841 -0
  394. package/dist/events/doctor.d.ts +63 -9
  395. package/dist/events/doctor.js +29 -1
  396. package/dist/events/drawer-events.d.ts +7 -0
  397. package/dist/events/drawer-events.js +3 -0
  398. package/dist/events/theme.d.ts +4 -0
  399. package/dist/events/theme.js +1 -0
  400. package/dist/factories/explorer-component-factory.d.ts +49 -0
  401. package/dist/factories/explorer-component-factory.js +205 -0
  402. package/dist/factories/state-controller-deps.factory.d.ts +88 -0
  403. package/dist/factories/state-controller-deps.factory.js +116 -0
  404. package/dist/flowDiagram-NV44I4VS-BlLzzy1C.js +1620 -0
  405. package/dist/ganttDiagram-LVOFAZNH-BoQtPC8k.js +2505 -0
  406. package/dist/gitGraph-F6HP7TQM-CShNSlrW.js +5 -0
  407. package/dist/gitGraphDiagram-NY62KEGX-BdpWBgHy.js +699 -0
  408. package/dist/graph-D9HS4Ahd.js +247 -0
  409. package/dist/helpers/event-wiring.d.ts +72 -0
  410. package/dist/helpers/event-wiring.js +58 -0
  411. package/dist/helpers/file-size-formatter.d.ts +3 -0
  412. package/dist/helpers/file-size-formatter.js +15 -0
  413. package/dist/helpers/filename-colorizer.d.ts +5 -0
  414. package/dist/helpers/filename-colorizer.js +30 -0
  415. package/dist/helpers/navigation-helper.d.ts +54 -0
  416. package/dist/helpers/navigation-helper.js +159 -0
  417. package/dist/helpers/typed-events.d.ts +1 -0
  418. package/dist/helpers/typed-events.js +3 -0
  419. package/dist/info-NVLQJR56-Bpi6I8up.js +5 -0
  420. package/dist/infoDiagram-F6ZHWCRC-DmhhbuMJ.js +24 -0
  421. package/dist/init-DjUOC4st.js +16 -0
  422. package/dist/interfaces/bundle-interfaces.d.ts +7 -0
  423. package/dist/interfaces/bundle-interfaces.js +1 -0
  424. package/dist/interfaces/doctor-interfaces.d.ts +506 -0
  425. package/dist/interfaces/doctor-interfaces.js +1 -0
  426. package/dist/journeyDiagram-XKPGCS4Q-CpkhK8vl.js +834 -0
  427. package/dist/kanban-definition-3W4ZIXB7-BFbucfYE.js +719 -0
  428. package/dist/katex-SsTUIUTC.js +11688 -0
  429. package/dist/layout-B8H1_UrM.js +1324 -0
  430. package/dist/linear-Bo0rJUSQ.js +259 -0
  431. package/dist/managers/drag-handler.d.ts +28 -0
  432. package/dist/managers/drag-handler.js +64 -0
  433. package/dist/managers/event-registration-manager.d.ts +17 -0
  434. package/dist/managers/event-registration-manager.js +34 -0
  435. package/dist/managers/expansion-manager.d.ts +58 -0
  436. package/dist/managers/expansion-manager.js +189 -0
  437. package/dist/managers/layout-filter-manager.d.ts +31 -0
  438. package/dist/managers/layout-filter-manager.js +109 -0
  439. package/dist/managers/panel-divider-manager.d.ts +33 -0
  440. package/dist/managers/panel-divider-manager.js +71 -0
  441. package/dist/managers/view-state-manager.d.ts +48 -0
  442. package/dist/managers/view-state-manager.js +101 -0
  443. package/dist/managers/viewport-manager.d.ts +53 -0
  444. package/dist/managers/viewport-manager.js +198 -0
  445. package/dist/mermaid-parser.core-BPror82d.js +12966 -0
  446. package/dist/mindmap-definition-VGOIOE7T-VAn-EShH.js +784 -0
  447. package/dist/mocks/task-mock-generator.d.ts +13 -0
  448. package/dist/mocks/task-mock-generator.js +200 -0
  449. package/dist/model/api-response.d.ts +2 -7
  450. package/dist/model/api-response.js +0 -2
  451. package/dist/model/bundle.d.ts +35 -0
  452. package/dist/model/bundle.js +1 -0
  453. package/dist/model/channels.d.ts +8 -1
  454. package/dist/model/channels.js +7 -0
  455. package/dist/model/drawer-content.d.ts +80 -0
  456. package/dist/model/drawer-content.js +14 -0
  457. package/dist/model/formable.js +22 -11
  458. package/dist/model/github.d.ts +125 -0
  459. package/dist/model/github.js +1 -0
  460. package/dist/model/graph.d.ts +15 -15
  461. package/dist/model/graph.js +24 -4
  462. package/dist/model/media-type.js +2 -2
  463. package/dist/model/node_type.d.ts +4 -0
  464. package/dist/model/node_type.js +4 -0
  465. package/dist/model/panel-state.d.ts +1 -0
  466. package/dist/model/rolodex.d.ts +3 -0
  467. package/dist/model/task.d.ts +50 -0
  468. package/dist/model/task.js +22 -0
  469. package/dist/model/timeline.d.ts +107 -1
  470. package/dist/model/tree-icon-config.d.ts +11 -0
  471. package/dist/model/tree-icon-config.js +46 -0
  472. package/dist/model/workspace.d.ts +2 -0
  473. package/dist/monacoeditorwork/css.worker.bundle.js +9 -7
  474. package/dist/monacoeditorwork/editor.worker.bundle.js +2 -0
  475. package/dist/monacoeditorwork/html.worker.bundle.js +9 -7
  476. package/dist/monacoeditorwork/json.worker.bundle.js +9 -7
  477. package/dist/monacoeditorwork/yaml.worker..bundle.js +72 -48
  478. package/dist/ordinal-DfAQgscy.js +61 -0
  479. package/dist/packet-BFZMPI3H-CXPCK9Q2.js +5 -0
  480. package/dist/pie-7BOR55EZ-CMcuUZ_S.js +5 -0
  481. package/dist/pieDiagram-ADFJNKIX-C0kdlQqn.js +161 -0
  482. package/dist/quadrantDiagram-AYHSOK5B-CRVq6wY3.js +1022 -0
  483. package/dist/radar-NHE76QYJ-CX_Gyp4h.js +5 -0
  484. package/dist/requirementDiagram-UZGBJVZJ-B8ZGgMKn.js +850 -0
  485. package/dist/sankeyDiagram-TZEHDZUN-CWAUJJue.js +810 -0
  486. package/dist/sequenceDiagram-WL72ISMW-nz81a4Cq.js +2511 -0
  487. package/dist/services/diagramatron-service.d.ts +20 -0
  488. package/dist/services/diagramatron-service.js +48 -0
  489. package/dist/services/doctor-events.d.ts +58 -0
  490. package/dist/services/doctor-events.js +33 -0
  491. package/dist/services/drawer-content-registry.d.ts +9 -0
  492. package/dist/services/drawer-content-registry.js +37 -0
  493. package/dist/services/github-service.d.ts +9 -0
  494. package/dist/services/github-service.js +166 -0
  495. package/dist/services/global-task-service.d.ts +6 -0
  496. package/dist/services/global-task-service.js +27 -0
  497. package/dist/services/header-service.d.ts +5 -3
  498. package/dist/services/header-service.js +13 -0
  499. package/dist/services/linting-service.d.ts +2 -0
  500. package/dist/services/linting-service.js +19 -2
  501. package/dist/services/mermaid-config-service.d.ts +53 -0
  502. package/dist/services/mermaid-config-service.js +519 -0
  503. package/dist/services/model-service.d.ts +12 -7
  504. package/dist/services/model-service.js +64 -11
  505. package/dist/services/rodeo-service.js +12 -12
  506. package/dist/services/timeline-service.d.ts +12 -2
  507. package/dist/services/timeline-service.js +329 -0
  508. package/dist/services/wallet-service.d.ts +1 -1
  509. package/dist/services/wallet-service.js +4 -1
  510. package/dist/services/workspace-service.js +16 -2
  511. package/dist/stateDiagram-FKZM4ZOC-3PFzJlcG.js +263 -0
  512. package/dist/stateDiagram-v2-4FDKWEC3-Bp46vM6_.js +16 -0
  513. package/dist/timeline-definition-IT6M3QCI-utm7jTLb.js +795 -0
  514. package/dist/treemap-KMMF4GRG-BvEKHn43.js +5 -0
  515. package/dist/utils/language-utils.d.ts +1 -0
  516. package/dist/utils/language-utils.js +23 -0
  517. package/dist/utils/lru-cache.d.ts +11 -0
  518. package/dist/utils/lru-cache.js +38 -0
  519. package/dist/utils/node-helpers.d.ts +6 -0
  520. package/dist/utils/node-helpers.js +62 -0
  521. package/dist/utils/path-utils.d.ts +5 -0
  522. package/dist/utils/path-utils.js +22 -0
  523. package/dist/workers/elk-layout.worker.d.ts +2 -0
  524. package/dist/workers/elk-layout.worker.js +31 -0
  525. package/dist/workers/equalizer.worker.d.ts +6 -1
  526. package/dist/workers/equalizer.worker.js +144 -195
  527. package/dist/workers/graph-dependent.worker.js +6 -6
  528. package/dist/workers/rule-documentation.worker.js +12 -48
  529. package/dist/workers/search-graph.worker.js +8 -23
  530. package/dist/xychartDiagram-PRI3JC2R-twqDKWMX.js +1340 -0
  531. package/package.json +17 -10
  532. package/dist/assets/equalizer.worker-DyLD5JTU.js +0 -1
  533. package/dist/assets/graph-dependent.worker-CpVhp0-T.js +0 -1
  534. package/dist/assets/rule-documentation.worker-B7xOWY5M.js +0 -1
  535. package/dist/assets/search-graph.worker-B9zqINrO.js +0 -1
  536. package/dist/assets/search-problems.worker-BAF8L2rX.js +0 -1
  537. package/dist/components/problem-list/details-drawer.d.ts +0 -34
  538. package/dist/components/problem-list/details-drawer.js +0 -200
  539. package/dist/style.css +0 -1
  540. /package/dist/components/{problem-list/details-drawer.css.d.ts → bundle-toolbar/bundle-toolbar.css.d.ts} +0 -0
@@ -10,6 +10,7 @@ import { html, LitElement } from "lit";
10
10
  import { customElement, property, state } from "lit/decorators.js";
11
11
  import { createRef, ref } from "lit/directives/ref.js";
12
12
  import { DocumentReferenceClicked, EditorClicked, EditorUpdated } from "../../events/doctor.js";
13
+ import { PB33F_THEME_CHANGE } from "../../events/theme.js";
13
14
  import { SpecEditorBreadcrumb } from "./editor-breadcrumb.js";
14
15
  import editorCss from "./editor.css.js";
15
16
  // schemas
@@ -38,12 +39,26 @@ configureMonacoYaml(monaco, {
38
39
  });
39
40
  const editorGreen = '#00FF00FF';
40
41
  const editorGreenDim = '#008a00';
42
+ const editorGreenDimmer = '#009B0047';
41
43
  const editorRed = '#ff3c74';
42
- const editorBrown = '#004f0d';
44
+ const editorRedDim = '#600018A1';
45
+ const editorRedDimmer = '#6000187E';
46
+ const editorBrown = '#004F0D47';
43
47
  const editorBlue = '#62C4FFFF';
44
48
  const editorPink = '#E400FB';
49
+ const editorGreenLight = '#000000';
50
+ const editorGreenDimLight = '#444444';
51
+ const editorGreenDimmerLight = 'rgba(0, 0, 0, 0.15)';
52
+ const editorRedLight = '#d32f5a';
53
+ const editorRedDimLight = 'rgba(211, 47, 90, 0.2)';
54
+ const editorRedDimmerLight = 'rgba(211, 47, 90, 0.1)';
55
+ const editorBrownLight = 'rgba(0, 0, 0, 0.08)';
56
+ const editorBlueLight = '#000000';
57
+ const editorPinkLight = '#000000';
45
58
  const Alive = 'pb33f';
46
59
  const Dead = 'dead';
60
+ const AliveLight = 'pb33f-light';
61
+ const DeadLight = 'dead-light';
47
62
  function generatePb33fTheme() {
48
63
  return {
49
64
  base: 'vs-dark',
@@ -93,8 +108,12 @@ function generatePb33fTheme() {
93
108
  'editorLineNumber.foreground': '#6368747F',
94
109
  'editorLineNumber.activeForeground': editorPink,
95
110
  'editor.inactiveSelectionBackground': '#FF3C742D',
96
- 'diffEditor.removedTextBackground': '#FF3C741A',
97
- 'diffEditor.insertedTextBackground': '#62C4FF1A',
111
+ 'diffEditor.removedTextBackground': editorRedDim,
112
+ 'diffEditor.insertedTextBackground': editorGreenDimmer,
113
+ 'diffEditor.insertedLineBackground': editorBrown,
114
+ 'diffEditor.removedLineBackground': editorRedDimmer,
115
+ 'diffEditorGutter.insertedLineBackground': editorBrown,
116
+ 'diffEditorGutter.removedLineBackground': editorRedDimmer,
98
117
  'editorLink.activeForeground': editorRed,
99
118
  'editorHoverWidget.background': '#0d1117',
100
119
  'editorHoverWidget.border': editorPink,
@@ -177,26 +196,234 @@ function generateDeadTheme() {
177
196
  }
178
197
  };
179
198
  }
199
+ function generatePb33fLightTheme() {
200
+ return {
201
+ base: 'vs',
202
+ renderSideBySide: false,
203
+ inherit: true,
204
+ rules: [
205
+ {
206
+ "foreground": "555555",
207
+ "token": "string"
208
+ },
209
+ {
210
+ "foreground": "555555",
211
+ "token": "string.yaml"
212
+ },
213
+ {
214
+ "foreground": "555555",
215
+ "token": "string.quoted"
216
+ },
217
+ {
218
+ "foreground": "555555",
219
+ "token": "string.quoted.single"
220
+ },
221
+ {
222
+ "foreground": "555555",
223
+ "token": "string.quoted.double"
224
+ },
225
+ {
226
+ "foreground": "555555",
227
+ "token": "string.unquoted"
228
+ },
229
+ {
230
+ "foreground": "555555",
231
+ "token": "string.link"
232
+ },
233
+ {
234
+ "foreground": "555555",
235
+ "token": "string.uri"
236
+ },
237
+ {
238
+ "foreground": "555555",
239
+ "token": "type.identifier"
240
+ },
241
+ {
242
+ "foreground": "000000",
243
+ "token": "entity.name.tag"
244
+ },
245
+ {
246
+ "foreground": "000000",
247
+ "token": "entity.name.tag.yaml"
248
+ },
249
+ {
250
+ "foreground": "555555",
251
+ "token": "number"
252
+ },
253
+ {
254
+ "foreground": "000000",
255
+ "token": "type"
256
+ },
257
+ {
258
+ "foreground": "000000",
259
+ "token": "keyword"
260
+ },
261
+ { token: 'constant', foreground: 'd32f5a' },
262
+ {
263
+ "foreground": "888888",
264
+ "token": "comment",
265
+ "fontStyle": "italic"
266
+ },
267
+ {
268
+ "foreground": "888888",
269
+ "token": "delimiter.curly",
270
+ },
271
+ {
272
+ "foreground": "888888",
273
+ "token": "delimiter.parenthesis",
274
+ },
275
+ {
276
+ "foreground": "888888",
277
+ "token": "delimiter.square",
278
+ },
279
+ ],
280
+ colors: {
281
+ 'editor.foreground': '#000000',
282
+ 'editor.background': '#ffffff',
283
+ 'editorCursor.foreground': '#000000',
284
+ 'editor.lineHighlightBackground': '#e8e8e8',
285
+ 'editorLineNumber.foreground': '#aaaaaa',
286
+ 'editorLineNumber.activeForeground': '#000000',
287
+ 'editor.inactiveSelectionBackground': 'rgba(211, 47, 90, 0.15)',
288
+ 'diffEditor.removedTextBackground': editorRedDimLight,
289
+ 'diffEditor.insertedTextBackground': editorGreenDimmerLight,
290
+ 'diffEditor.insertedLineBackground': editorBrownLight,
291
+ 'diffEditor.removedLineBackground': editorRedDimmerLight,
292
+ 'diffEditorGutter.insertedLineBackground': editorBrownLight,
293
+ 'diffEditorGutter.removedLineBackground': editorRedDimmerLight,
294
+ 'editorLink.activeForeground': '#888888',
295
+ 'editorHoverWidget.background': '#ffffff',
296
+ 'editorHoverWidget.border': '#000000',
297
+ 'peekView.border': editorRedLight,
298
+ 'editorStickyScroll.border': '#000000',
299
+ 'editorBracketMatch.border': '#000000',
300
+ 'editorBracketMatch.background': 'rgba(0, 0, 0, 0.1)',
301
+ 'editorBracketHighlight.foreground1': '#000000',
302
+ 'editorBracketHighlight.foreground2': '#444444',
303
+ 'editorBracketHighlight.foreground3': '#666666',
304
+ 'editorBracketHighlight.foreground4': '#888888',
305
+ 'editorError.foreground': '#d32f5a',
306
+ 'editorWarning.foreground': '#888888',
307
+ 'editorInfo.foreground': '#cccccc',
308
+ 'editorOverviewRuler.errorForeground': '#d32f5a',
309
+ 'editorOverviewRuler.warningForeground': '#888888',
310
+ 'editorOverviewRuler.infoForeground': '#cccccc',
311
+ }
312
+ };
313
+ }
314
+ function generateDeadLightTheme() {
315
+ return {
316
+ base: 'vs',
317
+ renderSideBySide: false,
318
+ inherit: true,
319
+ rules: [
320
+ {
321
+ "foreground": "aaaaaa",
322
+ "token": "string"
323
+ },
324
+ {
325
+ "foreground": "aaaaaa",
326
+ "token": "number"
327
+ },
328
+ {
329
+ "foreground": "aaaaaa",
330
+ "token": "type"
331
+ },
332
+ {
333
+ "foreground": "aaaaaa",
334
+ "token": "keyword"
335
+ },
336
+ {
337
+ "token": "constant",
338
+ "foreground": "cccccc"
339
+ },
340
+ {
341
+ "foreground": "cccccc",
342
+ "token": "comment",
343
+ "fontStyle": "italic"
344
+ },
345
+ {
346
+ "foreground": "cccccc",
347
+ "token": "delimiter.curly",
348
+ },
349
+ {
350
+ "foreground": "cccccc",
351
+ "token": "delimiter.parenthesis",
352
+ },
353
+ {
354
+ "foreground": "cccccc",
355
+ "token": "delimiter.square",
356
+ },
357
+ ],
358
+ colors: {
359
+ 'editor.foreground': '#aaaaaa',
360
+ 'editor.background': '#ffffff',
361
+ 'editorCursor.foreground': '#bbbbbb',
362
+ 'editor.lineHighlightBackground': '#fafafa',
363
+ 'editorLineNumber.foreground': '#cccccc',
364
+ 'editorLineNumber.activeForeground': '#aaaaaa',
365
+ 'editor.inactiveSelectionBackground': '#f0f0f0',
366
+ 'diffEditor.removedTextBackground': 'rgba(211, 47, 90, 0.1)',
367
+ 'diffEditor.insertedTextBackground': 'rgba(0, 0, 0, 0.05)',
368
+ 'editorLink.activeForeground': '#bbbbbb',
369
+ 'editorHoverWidget.background': '#fafafa',
370
+ 'editorHoverWidget.border': '#dddddd',
371
+ 'peekView.border': '#dddddd',
372
+ 'editorStickyScroll.border': '#eeeeee',
373
+ 'editorBracketMatch.border': '#cccccc',
374
+ 'editorBracketMatch.background': '#f5f5f5',
375
+ 'editorBracketHighlight.foreground1': '#bbbbbb',
376
+ 'editorBracketHighlight.foreground2': '#bbbbbb',
377
+ 'editorBracketHighlight.foreground3': '#bbbbbb',
378
+ 'editorBracketHighlight.foreground4': '#bbbbbb',
379
+ }
380
+ };
381
+ }
180
382
  let monacoConfigured = false;
181
383
  function setupMonaco() {
182
384
  if (!monacoConfigured) {
183
385
  const options = generatePb33fTheme();
184
386
  const deadOptions = generateDeadTheme();
185
- // @ts-ignore
387
+ const lightOptions = generatePb33fLightTheme();
388
+ const deadLightOptions = generateDeadLightTheme();
186
389
  monaco.editor.defineTheme(Dead, deadOptions);
187
- // @ts-ignore
188
390
  monaco.editor.defineTheme(Alive, options);
189
- monaco.editor.setTheme(Alive);
391
+ monaco.editor.defineTheme(DeadLight, deadLightOptions);
392
+ monaco.editor.defineTheme(AliveLight, lightOptions);
190
393
  monacoConfigured = true;
191
394
  }
192
395
  }
396
+ function getInitialTheme() {
397
+ const htmlElement = document.querySelector('html');
398
+ const htmlTheme = htmlElement?.getAttribute('theme');
399
+ if (htmlTheme === 'light' || htmlTheme === 'dark') {
400
+ return htmlTheme;
401
+ }
402
+ // Fallback to localStorage if HTML attribute not set yet
403
+ const storedTheme = localStorage.getItem('pb33f-theme');
404
+ return storedTheme === 'light' ? 'light' : 'dark';
405
+ }
406
+ function getActiveTheme(active, isLight) {
407
+ if (active) {
408
+ return isLight ? AliveLight : Alive;
409
+ }
410
+ return isLight ? DeadLight : Dead;
411
+ }
193
412
  let SpecEditor = class SpecEditor extends LitElement {
194
413
  constructor(id = "spec") {
195
414
  super();
196
415
  this.container = createRef();
197
416
  this.currentVersion = null;
417
+ this.renderSideBySide = true;
418
+ this.showPlaceholder = true;
419
+ this.isLightTheme = false;
420
+ this.pendingValue = null;
198
421
  this.decorationIdToLinkTarget = new Map();
199
- this.linkRun = false;
422
+ this.handleThemeChange = (e) => {
423
+ const customEvent = e;
424
+ this.isLightTheme = customEvent.detail.theme === 'light';
425
+ monaco.editor.setTheme(getActiveTheme(this.isActive, this.isLightTheme));
426
+ };
200
427
  this.id = id;
201
428
  this.links = [];
202
429
  this.decorationIdToLinkTarget = new Map();
@@ -205,14 +432,20 @@ let SpecEditor = class SpecEditor extends LitElement {
205
432
  this.breadcumb.currentPath = this.currentPath;
206
433
  this.showBreadcrumb = false;
207
434
  this.isActive = true;
435
+ this.isLightTheme = getInitialTheme() === 'light';
436
+ this.renderSideBySide = true;
208
437
  }
209
438
  createRenderRoot() {
210
439
  return this;
211
440
  }
441
+ disconnectedCallback() {
442
+ super.disconnectedCallback();
443
+ window.removeEventListener(PB33F_THEME_CHANGE, this.handleThemeChange);
444
+ }
212
445
  revive() {
213
446
  if (!this.isActive) {
214
447
  this.isActive = true;
215
- monaco.editor.setTheme(Alive);
448
+ monaco.editor.setTheme(getActiveTheme(true, this.isLightTheme));
216
449
  this.breadcumb.isInvalid = false;
217
450
  }
218
451
  }
@@ -221,7 +454,7 @@ let SpecEditor = class SpecEditor extends LitElement {
221
454
  this.isActive = false;
222
455
  this.links = [];
223
456
  this.applyLinkDecorations();
224
- monaco.editor.setTheme(Dead);
457
+ monaco.editor.setTheme(getActiveTheme(false, this.isLightTheme));
225
458
  }
226
459
  }
227
460
  setCurrentPath(path) {
@@ -229,25 +462,73 @@ let SpecEditor = class SpecEditor extends LitElement {
229
462
  this.breadcumb.currentPath = path;
230
463
  }
231
464
  render() {
465
+ const bannerHeight = this.readOnly ? 40 : 0;
466
+ const editorHeight = this.diffMode
467
+ ? `calc(100vh - ${this.showBreadcrumb ? '185px' : '159px'} - ${bannerHeight}px)`
468
+ : `calc(100vh - ${this.showBreadcrumb ? '155px' : '129px'} - ${bannerHeight}px)`;
232
469
  return html `
233
- <div style="width: 100%; height: calc(100vh - ${this.showBreadcrumb ? '155px' : '129px'});"
234
- ${ref(this.container)}>
470
+ ${this.diffMode ? html `
471
+ <div class="mode-switcher">
472
+ <sl-switch class="mode-switcher"
473
+ size="small"
474
+ ?checked=${this.renderSideBySide}
475
+ @sl-change=${this.handleDiffModeToggle}>
476
+ RENDER SIDE BY SIDE
477
+ </sl-switch>
478
+ </div>
479
+ ` : ''}
480
+ ${this.readOnly ? html `
481
+ <div class="read-only-banner">
482
+ <sl-icon name="lock"></sl-icon>
483
+ <span>Workspace is <strong>read-only</strong> when linked to a repo, <strong>it cannot be edited here (yet)</strong></span>
484
+ </div>
485
+ ` : ''}
486
+ <div style="width: 100%; height: ${editorHeight}; position: relative;">
487
+ <div style="width: 100%; height: 100%;"
488
+ ${ref(this.container)}>
489
+ </div>
490
+ ${this.placeholder && this.showPlaceholder ? html `
491
+ <div style="width: 70%; position: absolute; top: 0; left: 50px; bottom: 0; display:
492
+ flex; align-items: center; justify-content: center; color: var(--font-color-sub2); font-family: var(--font-stack),
493
+ sans-serif; font-size: 1.2rem; pointer-events: auto; cursor: text; z-index: 10;"
494
+ @click=${this.focusEditor}>
495
+ ${this.placeholder}
496
+ </div>
497
+ ` : ''}
235
498
  </div>
236
499
  ${this.showBreadcrumb ? this.breadcumb : null}
237
500
  `;
238
501
  }
239
- getFile() {
240
- if (this.children.length > 0)
241
- return this.children[0];
242
- return null;
502
+ focusEditor() {
503
+ if (this.editor && !this.diffMode) {
504
+ this.editor.focus();
505
+ }
506
+ }
507
+ updatePlaceholderVisibility() {
508
+ if (!this.placeholder)
509
+ return;
510
+ const value = this.getValue();
511
+ this.showPlaceholder = !value || value.trim() === '';
512
+ }
513
+ handleDiffModeToggle(e) {
514
+ // Shoelace switch fires sl-change event, access checked via event.target
515
+ const switchElement = e.target;
516
+ this.renderSideBySide = switchElement.checked;
517
+ if (this.diffEditor) {
518
+ // Monaco supports changing renderSideBySide dynamically via updateOptions
519
+ this.diffEditor.updateOptions({
520
+ renderSideBySide: this.renderSideBySide,
521
+ useInlineViewWhenSpaceIsLimited: false, // Force the view mode regardless of width
522
+ renderSideBySideInlineBreakpoint: 0 // Never auto-switch based on width
523
+ });
524
+ }
243
525
  }
244
526
  getCode() {
527
+ if (this.placeholder)
528
+ return '';
245
529
  if (this.code)
246
530
  return this.code;
247
- const file = this.getFile();
248
- if (!file)
249
- return;
250
- return file.innerHTML.trim();
531
+ return '';
251
532
  }
252
533
  getTheme() {
253
534
  if (this.theme)
@@ -257,7 +538,7 @@ let SpecEditor = class SpecEditor extends LitElement {
257
538
  return "vs-light";
258
539
  }
259
540
  switchLanguage(language) {
260
- if (this.editor) {
541
+ if (this.editor && !this.diffMode) {
261
542
  const model = this.editor.getModel(); // Get the current model
262
543
  if (model) {
263
544
  monaco.editor.setModelLanguage(model, language);
@@ -272,28 +553,89 @@ let SpecEditor = class SpecEditor extends LitElement {
272
553
  if (firstBoot) {
273
554
  this.firstboot = firstBoot;
274
555
  }
275
- this.editor?.setValue(value);
556
+ if (this.diffMode && this.diffEditor) {
557
+ // In diff mode, setValue updates the original (left) model
558
+ this.originalModel?.setValue(value);
559
+ }
560
+ else if (this.editor && !this.diffMode) {
561
+ // Standard editor mode
562
+ this.editor.setValue(value);
563
+ }
564
+ else if (!this.editor && !this.diffMode) {
565
+ // Editor not ready yet - queue the value for when it's initialized
566
+ this.pendingValue = { value, firstBoot };
567
+ }
568
+ this.updatePlaceholderVisibility();
569
+ }
570
+ setDiffValue(value) {
571
+ if (this.diffMode && this.modifiedModel) {
572
+ // Update the modified (right) model in diff mode
573
+ this.modifiedModel.setValue(value);
574
+ }
276
575
  }
277
576
  getValue() {
278
- if (this.editor) {
577
+ if (this.diffMode && this.diffEditor) {
578
+ // In diff mode, return the modified (right) value
579
+ return this.modifiedModel?.getValue() || '';
580
+ }
581
+ else if (this.editor && !this.diffMode) {
279
582
  return this.editor.getValue();
280
583
  }
281
584
  return '';
282
585
  }
586
+ setPosition(position) {
587
+ if (this.editor && !this.diffMode) {
588
+ this.editor.setPosition(position);
589
+ }
590
+ }
591
+ revealLineInCenter(lineNumber) {
592
+ if (this.editor && !this.diffMode) {
593
+ this.editor.revealLineInCenter(lineNumber);
594
+ }
595
+ }
596
+ revealLineInCenterOriginal(lineNumber) {
597
+ if (this.diffEditor && this.diffMode) {
598
+ const originalEditor = this.diffEditor.getOriginalEditor();
599
+ originalEditor.revealLineInCenter(lineNumber);
600
+ }
601
+ }
602
+ setPositionOriginal(position) {
603
+ if (this.diffEditor && this.diffMode) {
604
+ const originalEditor = this.diffEditor.getOriginalEditor();
605
+ originalEditor.setPosition(position);
606
+ originalEditor.focus();
607
+ }
608
+ }
609
+ setReadOnly(readOnly) {
610
+ this.readOnly = readOnly;
611
+ if (this.editor && !this.diffMode) {
612
+ this.editor.updateOptions({
613
+ readOnly: readOnly,
614
+ renderValidationDecorations: readOnly ? "on" : "editable"
615
+ });
616
+ }
617
+ }
283
618
  updated(changed) {
284
619
  if (changed.has("links")) {
285
620
  this.applyLinkDecorations();
286
621
  }
287
622
  }
288
623
  clearDecorations() {
289
- this.linkDecorations.clear();
624
+ if (this.linkDecorations) {
625
+ this.linkDecorations.clear();
626
+ }
290
627
  this.linkProvider?.dispose();
291
628
  this.links = [];
292
- this.linkRun = false;
293
629
  }
294
630
  clearAllMarkers() {
295
631
  monaco.editor.removeAllMarkers("owner-" + this.id);
296
632
  }
633
+ disposeModel() {
634
+ if (this.model) {
635
+ this.model.dispose();
636
+ this.model = undefined;
637
+ }
638
+ }
297
639
  setMarkers(markers) {
298
640
  monaco.editor.removeAllMarkers("owner-" + this.id);
299
641
  monaco.editor.setModelMarkers(this.model, "owner-" + this.id, markers);
@@ -332,14 +674,19 @@ let SpecEditor = class SpecEditor extends LitElement {
332
674
  }
333
675
  }
334
676
  firstUpdated() {
335
- // monkey patch the monaco API to drop monaco-yaml’s link providers
677
+ // Re-check theme now that DOM is fully connected
678
+ this.isLightTheme = getInitialTheme() === 'light';
679
+ // monkey patch the monaco API to drop monaco-yaml's link providers
336
680
  const origReg = monaco.languages.registerLinkProvider.bind(monaco.languages);
337
681
  monaco.languages.registerLinkProvider = (language, provider) => {
338
682
  const code = provider.provideLinks.toString();
339
683
  // drop *both* of monaco‑yaml's providers by matching on the workerManager call:
340
684
  if (code.includes('workerManager.getWorker') || code.includes('worker.findLinks')) {
341
685
  // return a no‑op disposable
342
- return { dispose() { } };
686
+ return {
687
+ dispose() {
688
+ }
689
+ };
343
690
  }
344
691
  return origReg(language, provider);
345
692
  };
@@ -352,28 +699,69 @@ let SpecEditor = class SpecEditor extends LitElement {
352
699
  schemas: [] // start empty
353
700
  });
354
701
  setupMonaco();
355
- const uri = monaco.Uri.parse("inmemory://doc-" + this.id + '.yaml');
356
- const value = this.getCode();
357
- this.model = monaco.editor.createModel(value, "yaml", uri);
358
- this.editor = monaco.editor.create(this.container.value, {
359
- model: this.model,
360
- language: 'yaml',
361
- theme: 'pb33f',
362
- glyphMargin: true,
363
- readOnly: this.readOnly,
364
- automaticLayout: true,
365
- fontFamily: 'BerkeleyMono-Regular',
366
- fontSize: 14,
367
- minimap: {
368
- enabled: this.minimapVisible
369
- },
370
- hover: {
371
- enabled: true,
372
- delay: 100,
373
- above: false,
374
- sticky: true,
375
- },
376
- });
702
+ const initialTheme = getActiveTheme(this.isActive, this.isLightTheme);
703
+ monaco.editor.setTheme(initialTheme);
704
+ window.addEventListener(PB33F_THEME_CHANGE, this.handleThemeChange);
705
+ if (this.diffMode) {
706
+ // Create diff editor
707
+ const originalUri = monaco.Uri.parse("inmemory://original-" + this.id + '.yaml');
708
+ const modifiedUri = monaco.Uri.parse("inmemory://modified-" + this.id + '.yaml');
709
+ // In diff mode, don't use getCode() as it might pick up rendered HTML elements
710
+ const originalValue = '';
711
+ const modifiedValue = this.diffValue || '';
712
+ this.originalModel = monaco.editor.createModel(originalValue, "yaml", originalUri);
713
+ this.modifiedModel = monaco.editor.createModel(modifiedValue, "yaml", modifiedUri);
714
+ this.diffEditor = monaco.editor.createDiffEditor(this.container.value, {
715
+ theme: getActiveTheme(this.isActive, this.isLightTheme),
716
+ readOnly: true, // Both sides read-only in diff mode
717
+ automaticLayout: true,
718
+ fontFamily: 'BerkeleyMono-Regular',
719
+ fontSize: 14,
720
+ minimap: {
721
+ enabled: false,
722
+ },
723
+ renderSideBySide: this.renderSideBySide,
724
+ useInlineViewWhenSpaceIsLimited: false, // Prevent automatic switching to inline
725
+ renderSideBySideInlineBreakpoint: 0, // Never switch to inline based on width
726
+ enableSplitViewResizing: true, // Allow resizing the split
727
+ renderOverviewRuler: false,
728
+ ignoreTrimWhitespace: false,
729
+ glyphMargin: false
730
+ });
731
+ this.diffEditor.setModel({
732
+ original: this.originalModel,
733
+ modified: this.modifiedModel
734
+ });
735
+ this.editor = this.diffEditor;
736
+ // Store reference to the modified model as the primary model for consistency
737
+ this.model = this.modifiedModel;
738
+ }
739
+ else {
740
+ // Standard editor creation
741
+ const uri = monaco.Uri.parse("inmemory://doc-" + this.id + '.yaml');
742
+ const value = this.getCode();
743
+ this.model = monaco.editor.createModel(value, "yaml", uri);
744
+ this.editor = monaco.editor.create(this.container.value, {
745
+ model: this.model,
746
+ language: 'yaml',
747
+ theme: getActiveTheme(this.isActive, this.isLightTheme),
748
+ glyphMargin: true,
749
+ readOnly: this.readOnly,
750
+ renderValidationDecorations: this.readOnly ? "on" : "editable",
751
+ automaticLayout: true,
752
+ fontFamily: 'BerkeleyMono-Regular',
753
+ fontSize: 14,
754
+ minimap: {
755
+ enabled: this.minimapVisible
756
+ },
757
+ hover: {
758
+ enabled: true,
759
+ delay: 100,
760
+ above: false,
761
+ sticky: true,
762
+ },
763
+ });
764
+ }
377
765
  // restore the original API so nothing else is affected
378
766
  monaco.languages.registerLinkProvider = origReg;
379
767
  this.linkProvider = monaco.languages.registerLinkProvider('yaml', { provideLinks: this.provideLinks.bind(this) });
@@ -454,33 +842,46 @@ let SpecEditor = class SpecEditor extends LitElement {
454
842
  return null;
455
843
  },
456
844
  });
457
- this.linkDecorations = this.editor.createDecorationsCollection();
458
- this.model.onDidChangeContent(() => {
459
- if (!this.firstboot) {
460
- this.dispatchEvent(new CustomEvent(EditorUpdated, {
845
+ // Skip decorations and event handlers for diff editor mode
846
+ if (!this.diffMode) {
847
+ this.linkDecorations = this.editor.createDecorationsCollection();
848
+ this.model.onDidChangeContent(() => {
849
+ // Clear decorations when content changes significantly (like paste operations)
850
+ // The links array will be rebuilt when diagnosis runs
851
+ // This prevents stale decorations from appearing on new content
852
+ if (this.links.length > 0) {
853
+ const currentContent = this.editor.getValue();
854
+ // If content changed substantially, clear the links
855
+ // This is a simple heuristic - you might want to refine this
856
+ this.clearDecorations();
857
+ }
858
+ this.updatePlaceholderVisibility();
859
+ if (!this.firstboot) {
860
+ this.dispatchEvent(new CustomEvent(EditorUpdated, {
861
+ bubbles: true,
862
+ composed: true,
863
+ detail: {
864
+ content: this.editor.getValue(),
865
+ id: this.id
866
+ }
867
+ }));
868
+ this.onDocChange();
869
+ }
870
+ else {
871
+ this.firstboot = false;
872
+ }
873
+ });
874
+ this.editor.onMouseDown((e) => {
875
+ this.dispatchEvent(new CustomEvent(EditorClicked, {
461
876
  bubbles: true,
462
877
  composed: true,
463
878
  detail: {
464
- content: this.editor.getValue(),
465
- id: this.id
879
+ line: e.target.position?.lineNumber,
880
+ column: e.target.position?.column
466
881
  }
467
882
  }));
468
- this.onDocChange();
469
- }
470
- else {
471
- this.firstboot = false;
472
- }
473
- });
474
- this.editor.onMouseDown((e) => {
475
- this.dispatchEvent(new CustomEvent(EditorClicked, {
476
- bubbles: true,
477
- composed: true,
478
- detail: {
479
- line: e.target.position?.lineNumber,
480
- column: e.target.position?.column
481
- }
482
- }));
483
- });
883
+ });
884
+ }
484
885
  // handle link clicks
485
886
  //this.editor.onMouseUp((e) => {
486
887
  // const position = e.target.position;
@@ -519,6 +920,13 @@ let SpecEditor = class SpecEditor extends LitElement {
519
920
  .addEventListener("change", () => {
520
921
  monaco.editor.setTheme(this.getTheme());
521
922
  });
923
+ // Apply any pending value that was set before Monaco was initialized
924
+ if (this.pendingValue && this.editor && !this.diffMode) {
925
+ this.firstboot = this.pendingValue.firstBoot;
926
+ this.editor.setValue(this.pendingValue.value);
927
+ this.pendingValue = null;
928
+ this.updatePlaceholderVisibility();
929
+ }
522
930
  }
523
931
  open(uri) {
524
932
  if (uri.scheme == 'doctor') {
@@ -533,7 +941,7 @@ let SpecEditor = class SpecEditor extends LitElement {
533
941
  return Promise.resolve(true);
534
942
  }
535
943
  applyLinkDecorations() {
536
- if (!this.editor) {
944
+ if (!this.editor || this.diffMode || !this.linkDecorations) {
537
945
  return;
538
946
  }
539
947
  this.linkDecorations.clear();
@@ -557,7 +965,7 @@ let SpecEditor = class SpecEditor extends LitElement {
557
965
  }
558
966
  }
559
967
  provideLinks(_model, _token) {
560
- if (this.linkRun) {
968
+ if (this.links.length === 0) {
561
969
  return null;
562
970
  }
563
971
  const links = this.links.map((link) => {
@@ -568,7 +976,6 @@ let SpecEditor = class SpecEditor extends LitElement {
568
976
  url: monaco.Uri.parse(`doctor://${encodeURIComponent(linkString)}`),
569
977
  };
570
978
  });
571
- this.linkRun = true;
572
979
  return { links };
573
980
  }
574
981
  };
@@ -576,6 +983,15 @@ SpecEditor.styles = [editorCss];
576
983
  __decorate([
577
984
  property({ type: Boolean, attribute: "readonly" })
578
985
  ], SpecEditor.prototype, "readOnly", void 0);
986
+ __decorate([
987
+ property({ type: Boolean })
988
+ ], SpecEditor.prototype, "diffMode", void 0);
989
+ __decorate([
990
+ property()
991
+ ], SpecEditor.prototype, "diffValue", void 0);
992
+ __decorate([
993
+ property({ type: Boolean })
994
+ ], SpecEditor.prototype, "renderSideBySide", void 0);
579
995
  __decorate([
580
996
  property()
581
997
  ], SpecEditor.prototype, "theme", void 0);
@@ -594,9 +1010,15 @@ __decorate([
594
1010
  __decorate([
595
1011
  property()
596
1012
  ], SpecEditor.prototype, "id", void 0);
1013
+ __decorate([
1014
+ property()
1015
+ ], SpecEditor.prototype, "placeholder", void 0);
597
1016
  __decorate([
598
1017
  state()
599
1018
  ], SpecEditor.prototype, "showBreadcrumb", void 0);
1019
+ __decorate([
1020
+ state()
1021
+ ], SpecEditor.prototype, "showPlaceholder", void 0);
600
1022
  SpecEditor = __decorate([
601
1023
  customElement("pb33f-editor")
602
1024
  ], SpecEditor);