@pb33f/cowboy-components 0.7.18 → 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 (532) 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/blockDiagram-VD42YOAC-BLl5ID-l.js +2261 -0
  12. package/dist/c4Diagram-YG6GDRKO-BOGfb13x.js +1580 -0
  13. package/dist/channel-DYeI56io.js +5 -0
  14. package/dist/chunk-4BX2VUAB-BeHGB7ON.js +8 -0
  15. package/dist/chunk-55IACEB6-DgHUzWsw.js +8 -0
  16. package/dist/chunk-B4BG7PRW-Vs7GiQMf.js +1375 -0
  17. package/dist/chunk-DI55MBZ5-CHjdGXx0.js +1370 -0
  18. package/dist/chunk-FMBD7UC4-D-H9-bHN.js +19 -0
  19. package/dist/chunk-QN33PNHL-D7uE2r1Y.js +19 -0
  20. package/dist/chunk-QZHKN3VN-Cp3sUp7e.js +15 -0
  21. package/dist/chunk-TZMSLE5B-BmXGcXo9.js +64 -0
  22. package/dist/classDiagram-2ON5EDUG-9ilqiDEi.js +16 -0
  23. package/dist/classDiagram-v2-WZHVMYZB-9ilqiDEi.js +16 -0
  24. package/dist/clone-CybyMoa0.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.js +0 -2
  42. package/dist/components/charts/doughnut-chart.d.ts +5 -1
  43. package/dist/components/charts/doughnut-chart.js +20 -1
  44. package/dist/components/credit-ticker/credit-ticker.d.ts +3 -0
  45. package/dist/components/credit-ticker/credit-ticker.js +20 -4
  46. package/dist/components/details-drawer/details-drawer.css.d.ts +2 -0
  47. package/dist/components/{problem-list → details-drawer}/details-drawer.css.js +18 -3
  48. package/dist/components/details-drawer/generic-details-drawer.css.d.ts +1 -0
  49. package/dist/components/details-drawer/generic-details-drawer.css.js +219 -0
  50. package/dist/components/details-drawer/generic-details-drawer.d.ts +38 -0
  51. package/dist/components/details-drawer/generic-details-drawer.js +245 -0
  52. package/dist/components/details-drawer/handlers/diagram-handler.d.ts +35 -0
  53. package/dist/components/details-drawer/handlers/diagram-handler.js +248 -0
  54. package/dist/components/details-drawer/handlers/documentation-handler.d.ts +11 -0
  55. package/dist/components/details-drawer/handlers/documentation-handler.js +46 -0
  56. package/dist/components/details-drawer/handlers/example-handler.d.ts +18 -0
  57. package/dist/components/details-drawer/handlers/example-handler.js +146 -0
  58. package/dist/components/details-drawer/handlers/howto-handler.d.ts +11 -0
  59. package/dist/components/details-drawer/handlers/howto-handler.js +36 -0
  60. package/dist/components/details-drawer/handlers/markdown-handler.d.ts +12 -0
  61. package/dist/components/details-drawer/handlers/markdown-handler.js +54 -0
  62. package/dist/components/editor/editor-breadcrumb.css.js +1 -1
  63. package/dist/components/editor/editor.css.js +42 -0
  64. package/dist/components/editor/editor.d.ts +29 -3
  65. package/dist/components/editor/editor.js +495 -73
  66. package/dist/components/github/github-workspace-view.css.d.ts +2 -0
  67. package/dist/components/github/github-workspace-view.css.js +165 -0
  68. package/dist/components/github/github-workspace-view.d.ts +59 -0
  69. package/dist/components/github/github-workspace-view.js +525 -0
  70. package/dist/components/global-task/global-task-view.css.d.ts +2 -0
  71. package/dist/components/global-task/global-task-view.css.js +392 -0
  72. package/dist/components/global-task/global-task-view.d.ts +48 -0
  73. package/dist/components/global-task/global-task-view.js +359 -0
  74. package/dist/components/header/header.css.js +9 -1
  75. package/dist/components/http-method/http-method.css.js +5 -1
  76. package/dist/components/indeterminate-loader/indeterminate-loader.css.d.ts +2 -0
  77. package/dist/components/indeterminate-loader/indeterminate-loader.css.js +135 -0
  78. package/dist/components/indeterminate-loader/indeterminate-loader.d.ts +35 -0
  79. package/dist/components/indeterminate-loader/indeterminate-loader.js +201 -0
  80. package/dist/components/kv-view/kv-view.css.js +2 -0
  81. package/dist/components/kv-view/kv-view.js +0 -1
  82. package/dist/components/logo-wall/logo-wall.css.js +9 -0
  83. package/dist/components/manage-ruleset/manage-ruleset.css.js +14 -1
  84. package/dist/components/manage-ruleset/manage-ruleset.d.ts +1 -0
  85. package/dist/components/manage-ruleset/manage-ruleset.js +54 -22
  86. package/dist/components/manage-ruleset/rule-action.css.js +2 -0
  87. package/dist/components/manage-ruleset/rule-action.d.ts +10 -3
  88. package/dist/components/manage-ruleset/rule-action.js +118 -129
  89. package/dist/components/manage-ruleset/rule-input.d.ts +3 -1
  90. package/dist/components/manage-ruleset/rule-input.js +38 -34
  91. package/dist/components/manage-ruleset/rule.css.js +15 -1
  92. package/dist/components/manage-ruleset/rule.d.ts +4 -1
  93. package/dist/components/manage-ruleset/rule.js +44 -17
  94. package/dist/components/mermaid/mermaid-renderer.css.d.ts +1 -0
  95. package/dist/components/mermaid/mermaid-renderer.css.js +121 -0
  96. package/dist/components/mermaid/mermaid-renderer.d.ts +75 -0
  97. package/dist/components/mermaid/mermaid-renderer.js +485 -0
  98. package/dist/components/model-icon/doctor-icon.d.ts +9 -0
  99. package/dist/components/model-icon/doctor-icon.js +60 -0
  100. package/dist/components/model-icon/model-icon.d.ts +2 -1
  101. package/dist/components/model-icon/model-icon.js +13 -1
  102. package/dist/components/model-renderer/change.css.js +22 -8
  103. package/dist/components/model-renderer/changes.d.ts +1 -0
  104. package/dist/components/model-renderer/changes.js +47 -32
  105. package/dist/components/model-renderer/clickable-ref.d.ts +9 -3
  106. package/dist/components/model-renderer/clickable-ref.js +49 -10
  107. package/dist/components/model-renderer/components.d.ts +2 -0
  108. package/dist/components/model-renderer/components.js +196 -116
  109. package/dist/components/model-renderer/contact.js +2 -2
  110. package/dist/components/model-renderer/description.css.js +2 -0
  111. package/dist/components/model-renderer/document.d.ts +1 -0
  112. package/dist/components/model-renderer/document.js +14 -9
  113. package/dist/components/model-renderer/encoding.d.ts +2 -0
  114. package/dist/components/model-renderer/encoding.js +16 -7
  115. package/dist/components/model-renderer/example.css.js +5 -1
  116. package/dist/components/model-renderer/example.d.ts +4 -1
  117. package/dist/components/model-renderer/example.js +72 -118
  118. package/dist/components/model-renderer/extensions.d.ts +2 -0
  119. package/dist/components/model-renderer/extensions.js +11 -2
  120. package/dist/components/model-renderer/external-docs.d.ts +2 -0
  121. package/dist/components/model-renderer/external-docs.js +13 -4
  122. package/dist/components/model-renderer/has-changes.js +3 -3
  123. package/dist/components/model-renderer/header.d.ts +2 -0
  124. package/dist/components/model-renderer/header.js +27 -14
  125. package/dist/components/model-renderer/info.d.ts +2 -0
  126. package/dist/components/model-renderer/info.js +20 -7
  127. package/dist/components/model-renderer/link.d.ts +2 -0
  128. package/dist/components/model-renderer/link.js +27 -10
  129. package/dist/components/model-renderer/media-type.js +2 -2
  130. package/dist/components/model-renderer/model-badge.d.ts +11 -0
  131. package/dist/components/model-renderer/model-badge.js +59 -0
  132. package/dist/components/model-renderer/model-shared.css.js +14 -2
  133. package/dist/components/model-renderer/oauth-flows.js +4 -4
  134. package/dist/components/model-renderer/operation.d.ts +2 -1
  135. package/dist/components/model-renderer/operation.js +37 -16
  136. package/dist/components/model-renderer/param-location.js +3 -3
  137. package/dist/components/model-renderer/parameter.d.ts +2 -0
  138. package/dist/components/model-renderer/parameter.js +28 -15
  139. package/dist/components/model-renderer/path-item.d.ts +3 -0
  140. package/dist/components/model-renderer/path-item.js +52 -80
  141. package/dist/components/model-renderer/paths.d.ts +2 -0
  142. package/dist/components/model-renderer/paths.js +10 -3
  143. package/dist/components/model-renderer/problem-node.js +10 -10
  144. package/dist/components/model-renderer/rendered-node.css.js +35 -6
  145. package/dist/components/model-renderer/rendered-node.d.ts +14 -4
  146. package/dist/components/model-renderer/rendered-node.js +121 -58
  147. package/dist/components/model-renderer/rendered-property.js +4 -4
  148. package/dist/components/model-renderer/request-body.d.ts +2 -0
  149. package/dist/components/model-renderer/request-body.js +16 -9
  150. package/dist/components/model-renderer/response.d.ts +2 -0
  151. package/dist/components/model-renderer/response.js +35 -17
  152. package/dist/components/model-renderer/schema.css.js +10 -1
  153. package/dist/components/model-renderer/schema.d.ts +3 -2
  154. package/dist/components/model-renderer/schema.js +127 -129
  155. package/dist/components/model-renderer/security-scheme.js +3 -3
  156. package/dist/components/model-renderer/server.js +18 -8
  157. package/dist/components/model-renderer/tag.js +1 -1
  158. package/dist/components/model-tree/tree.css.js +21 -10
  159. package/dist/components/model-tree/tree.d.ts +39 -22
  160. package/dist/components/model-tree/tree.js +230 -167
  161. package/dist/components/paginator/paginator-navigator.css.js +9 -5
  162. package/dist/components/paginator/paginator-navigator.js +6 -6
  163. package/dist/components/paginator/paginator.css.js +2 -0
  164. package/dist/components/paginator/paginator.js +5 -8
  165. package/dist/components/percent-bar/percent-bar.css.js +133 -13
  166. package/dist/components/percent-bar/percent-bar.d.ts +2 -0
  167. package/dist/components/percent-bar/percent-bar.js +28 -24
  168. package/dist/components/premium-gate/premium-gate.css.d.ts +1 -0
  169. package/dist/components/premium-gate/premium-gate.css.js +117 -0
  170. package/dist/components/premium-gate/premium-gate.d.ts +49 -0
  171. package/dist/components/premium-gate/premium-gate.js +336 -0
  172. package/dist/components/problem-list/problem-list.css.js +72 -1
  173. package/dist/components/problem-list/problem-list.d.ts +17 -9
  174. package/dist/components/problem-list/problem-list.js +222 -226
  175. package/dist/components/problem-list/problem-mainview.css.js +12 -2
  176. package/dist/components/problem-list/problem-mainview.d.ts +3 -0
  177. package/dist/components/problem-list/problem-mainview.js +37 -17
  178. package/dist/components/problem-list/problem-toolbar.css.js +10 -7
  179. package/dist/components/problems-overview/diagnostic-evaluation.css.js +11 -1
  180. package/dist/components/problems-overview/diagnostic-evaluation.js +6 -7
  181. package/dist/components/problems-overview/document-statistic.css.js +6 -0
  182. package/dist/components/problems-overview/document-statistic.js +1 -1
  183. package/dist/components/problems-overview/problem-overview-group.js +5 -5
  184. package/dist/components/problems-overview/problem-statistic.css.js +24 -5
  185. package/dist/components/problems-overview/problem-statistic.js +15 -6
  186. package/dist/components/problems-overview/problem-statistics.css.js +4 -4
  187. package/dist/components/problems-overview/problem-statistics.js +29 -25
  188. package/dist/components/problems-overview/problems-overview.css.js +2 -2
  189. package/dist/components/property-view/property-view.css.js +2 -0
  190. package/dist/components/render-json-path/render-json-path.css.js +11 -3
  191. package/dist/components/render-json-path/render-json-path.js +3 -0
  192. package/dist/components/render-operation-path/render-operation-path.css.js +9 -0
  193. package/dist/components/render-operation-path/render-operation-path.js +7 -22
  194. package/dist/components/rodeo/rodeo.d.ts +1 -0
  195. package/dist/components/rodeo/rodeo.js +5 -0
  196. package/dist/components/rodeo/roundup.js +2 -2
  197. package/dist/components/rodeo/statistic.css.js +25 -2
  198. package/dist/components/rodeo/statistic.js +0 -4
  199. package/dist/components/shader-canvas/shader-canvas.css.d.ts +2 -0
  200. package/dist/components/shader-canvas/shader-canvas.css.js +66 -0
  201. package/dist/components/shader-canvas/shader-canvas.d.ts +36 -0
  202. package/dist/components/shader-canvas/shader-canvas.js +363 -0
  203. package/dist/components/shaders/flowing-waves-shader.d.ts +2 -0
  204. package/dist/components/shaders/flowing-waves-shader.js +70 -0
  205. package/dist/components/shaders/neon-canyon-shader.d.ts +2 -0
  206. package/dist/components/shaders/neon-canyon-shader.js +265 -0
  207. package/dist/components/shaders/neon-lines-shader.d.ts +2 -0
  208. package/dist/components/shaders/neon-lines-shader.js +181 -0
  209. package/dist/components/shaders/neon-squircles-shader.d.ts +2 -0
  210. package/dist/components/shaders/neon-squircles-shader.js +56 -0
  211. package/dist/components/shaders/retro-grid-shader.d.ts +2 -0
  212. package/dist/components/shaders/retro-grid-shader.js +53 -0
  213. package/dist/components/shaders/shader-base.d.ts +9 -0
  214. package/dist/components/shaders/shader-base.js +11 -0
  215. package/dist/components/terminal/terminal-example.css.js +4 -0
  216. package/dist/components/terminal/terminal-example.js +2 -3
  217. package/dist/components/terminal-emulator/terminal-emulator.css.js +12 -2
  218. package/dist/components/terminal-emulator/terminal-emulator.d.ts +7 -1
  219. package/dist/components/terminal-emulator/terminal-emulator.js +10 -5
  220. package/dist/components/the-doctor/doctor-controls-panel.css.d.ts +2 -0
  221. package/dist/components/the-doctor/doctor-controls-panel.css.js +53 -0
  222. package/dist/components/the-doctor/doctor-controls-panel.d.ts +20 -0
  223. package/dist/components/the-doctor/doctor-controls-panel.js +78 -0
  224. package/dist/components/the-doctor/doctor-editor-panel.css.d.ts +2 -0
  225. package/dist/components/the-doctor/doctor-editor-panel.css.js +209 -0
  226. package/dist/components/the-doctor/doctor-editor-panel.d.ts +41 -0
  227. package/dist/components/the-doctor/doctor-editor-panel.js +188 -0
  228. package/dist/components/the-doctor/doctor-navigator-panel.css.d.ts +2 -0
  229. package/dist/components/the-doctor/doctor-navigator-panel.css.js +134 -0
  230. package/dist/components/the-doctor/doctor-navigator-panel.d.ts +35 -0
  231. package/dist/components/the-doctor/doctor-navigator-panel.js +117 -0
  232. package/dist/components/the-doctor/doctor-sidebar-panel.css.d.ts +2 -0
  233. package/dist/components/the-doctor/doctor-sidebar-panel.css.js +143 -0
  234. package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +31 -0
  235. package/dist/components/the-doctor/doctor-sidebar-panel.js +131 -0
  236. package/dist/components/the-doctor/doctor-url-overlay.css.d.ts +2 -0
  237. package/dist/components/the-doctor/doctor-url-overlay.css.js +59 -0
  238. package/dist/components/the-doctor/doctor-url-overlay.d.ts +23 -0
  239. package/dist/components/the-doctor/doctor-url-overlay.js +82 -0
  240. package/dist/components/the-doctor/nuke-workspace.js +4 -3
  241. package/dist/components/the-doctor/settings.css.js +2 -0
  242. package/dist/components/the-doctor/settings.js +5 -8
  243. package/dist/components/the-doctor/status-bar.d.ts +2 -2
  244. package/dist/components/the-doctor/status-bar.js +32 -31
  245. package/dist/components/the-doctor/the-doctor.css.js +47 -238
  246. package/dist/components/the-doctor/the-doctor.d.ts +149 -37
  247. package/dist/components/the-doctor/the-doctor.js +958 -528
  248. package/dist/components/the-doctor/upload-archive.css.js +8 -2
  249. package/dist/components/the-doctor/upload-archive.js +2 -2
  250. package/dist/components/theme-switcher/theme-switcher.js +5 -1
  251. package/dist/components/time-vortex/change-list-item.css.js +18 -4
  252. package/dist/components/time-vortex/change-list-item.d.ts +1 -0
  253. package/dist/components/time-vortex/change-list-item.js +4 -3
  254. package/dist/components/time-vortex/history-picker.css.js +60 -1
  255. package/dist/components/time-vortex/history-picker.d.ts +7 -1
  256. package/dist/components/time-vortex/history-picker.js +109 -5
  257. package/dist/components/time-vortex/tardis-control.css.js +339 -14
  258. package/dist/components/time-vortex/tardis-control.d.ts +31 -3
  259. package/dist/components/time-vortex/tardis-control.js +296 -58
  260. package/dist/components/time-vortex/time-vortex.d.ts +8 -2
  261. package/dist/components/time-vortex/time-vortex.js +54 -13
  262. package/dist/components/toast/toast-component.css.js +1 -0
  263. package/dist/components/toast/toast-component.d.ts +1 -0
  264. package/dist/components/toast/toast-component.js +23 -8
  265. package/dist/components/toast/toast-manager.d.ts +5 -0
  266. package/dist/components/toast/toast-manager.js +29 -7
  267. package/dist/components/visualizer/edge.d.ts +11 -1
  268. package/dist/components/visualizer/edge.js +27 -22
  269. package/dist/components/visualizer/equalizer.css.js +118 -76
  270. package/dist/components/visualizer/equalizer.d.ts +24 -45
  271. package/dist/components/visualizer/equalizer.js +262 -363
  272. package/dist/components/visualizer/explorer.d.ts +94 -14
  273. package/dist/components/visualizer/explorer.js +580 -393
  274. package/dist/components/visualizer/foreign-object.d.ts +12 -2
  275. package/dist/components/visualizer/foreign-object.js +21 -10
  276. package/dist/components/visualizer/key.js +12 -1
  277. package/dist/components/visualizer/nodes/callback.d.ts +2 -1
  278. package/dist/components/visualizer/nodes/callback.js +2 -2
  279. package/dist/components/visualizer/nodes/components.d.ts +2 -1
  280. package/dist/components/visualizer/nodes/components.js +2 -2
  281. package/dist/components/visualizer/nodes/contact.d.ts +2 -1
  282. package/dist/components/visualizer/nodes/contact.js +2 -2
  283. package/dist/components/visualizer/nodes/document.d.ts +2 -1
  284. package/dist/components/visualizer/nodes/document.js +2 -2
  285. package/dist/components/visualizer/nodes/graph-node.d.ts +14 -3
  286. package/dist/components/visualizer/nodes/graph-node.js +94 -43
  287. package/dist/components/visualizer/nodes/header.d.ts +2 -1
  288. package/dist/components/visualizer/nodes/header.js +2 -2
  289. package/dist/components/visualizer/nodes/info.d.ts +2 -1
  290. package/dist/components/visualizer/nodes/info.js +2 -2
  291. package/dist/components/visualizer/nodes/license.d.ts +2 -1
  292. package/dist/components/visualizer/nodes/license.js +2 -2
  293. package/dist/components/visualizer/nodes/link.d.ts +2 -1
  294. package/dist/components/visualizer/nodes/link.js +2 -2
  295. package/dist/components/visualizer/nodes/media-type.d.ts +2 -1
  296. package/dist/components/visualizer/nodes/media-type.js +2 -2
  297. package/dist/components/visualizer/nodes/operation.d.ts +2 -1
  298. package/dist/components/visualizer/nodes/operation.js +3 -4
  299. package/dist/components/visualizer/nodes/parameter.d.ts +3 -1
  300. package/dist/components/visualizer/nodes/parameter.js +3 -4
  301. package/dist/components/visualizer/nodes/path-item.d.ts +2 -1
  302. package/dist/components/visualizer/nodes/path-item.js +2 -2
  303. package/dist/components/visualizer/nodes/request-body.d.ts +2 -1
  304. package/dist/components/visualizer/nodes/request-body.js +2 -2
  305. package/dist/components/visualizer/nodes/response.d.ts +2 -1
  306. package/dist/components/visualizer/nodes/response.js +2 -2
  307. package/dist/components/visualizer/nodes/schema.d.ts +2 -1
  308. package/dist/components/visualizer/nodes/schema.js +64 -9
  309. package/dist/components/visualizer/nodes/security-scheme.d.ts +2 -1
  310. package/dist/components/visualizer/nodes/security-scheme.js +2 -2
  311. package/dist/components/visualizer/nodes/server.d.ts +2 -1
  312. package/dist/components/visualizer/nodes/server.js +3 -4
  313. package/dist/components/visualizer/nodes/tag.d.ts +2 -1
  314. package/dist/components/visualizer/nodes/tag.js +4 -5
  315. package/dist/components/visualizer/nodes/xml.d.ts +2 -1
  316. package/dist/components/visualizer/nodes/xml.js +2 -2
  317. package/dist/components/visualizer/orientation-controls.d.ts +6 -1
  318. package/dist/components/visualizer/orientation-controls.js +65 -7
  319. package/dist/components/visualizer/search.d.ts +2 -1
  320. package/dist/components/visualizer/search.js +22 -29
  321. package/dist/components/visualizer/shared.css.js +55 -18
  322. package/dist/components/visualizer/templates/svg-markers.d.ts +2 -0
  323. package/dist/components/visualizer/templates/svg-markers.js +73 -0
  324. package/dist/components/waiting-line/waiting-line.css.d.ts +2 -0
  325. package/dist/components/waiting-line/waiting-line.css.js +26 -0
  326. package/dist/components/waiting-line/waiting-line.d.ts +30 -0
  327. package/dist/components/waiting-line/waiting-line.js +424 -0
  328. package/dist/components/workspaces/workspace-view.css.js +89 -8
  329. package/dist/components/workspaces/workspace-view.d.ts +8 -1
  330. package/dist/components/workspaces/workspace-view.js +77 -25
  331. package/dist/controllers/auth-controller.d.ts +9 -0
  332. package/dist/controllers/auth-controller.js +12 -5
  333. package/dist/controllers/broker-controller.d.ts +30 -4
  334. package/dist/controllers/broker-controller.js +148 -25
  335. package/dist/controllers/bundle-controller.d.ts +21 -0
  336. package/dist/controllers/bundle-controller.js +122 -0
  337. package/dist/controllers/countdown-controller.d.ts +17 -0
  338. package/dist/controllers/countdown-controller.js +59 -0
  339. package/dist/controllers/diagnostic-controller.d.ts +18 -5
  340. package/dist/controllers/diagnostic-controller.js +206 -218
  341. package/dist/controllers/diagramatron-controller.d.ts +33 -0
  342. package/dist/controllers/diagramatron-controller.js +128 -0
  343. package/dist/controllers/docs-controller.d.ts +11 -5
  344. package/dist/controllers/docs-controller.js +97 -97
  345. package/dist/controllers/github-controller.d.ts +47 -0
  346. package/dist/controllers/github-controller.js +494 -0
  347. package/dist/controllers/global-task-controller.d.ts +46 -0
  348. package/dist/controllers/global-task-controller.js +352 -0
  349. package/dist/controllers/model-controller.d.ts +26 -4
  350. package/dist/controllers/model-controller.js +98 -62
  351. package/dist/controllers/node-clicker-controller.d.ts +121 -4
  352. package/dist/controllers/node-clicker-controller.js +526 -253
  353. package/dist/controllers/problem-controller.d.ts +11 -4
  354. package/dist/controllers/problem-controller.js +98 -39
  355. package/dist/controllers/rolodex-controller.d.ts +8 -3
  356. package/dist/controllers/rolodex-controller.js +117 -83
  357. package/dist/controllers/rule-controller.d.ts +12 -5
  358. package/dist/controllers/rule-controller.js +154 -161
  359. package/dist/controllers/spec-controller.d.ts +16 -4
  360. package/dist/controllers/spec-controller.js +91 -62
  361. package/dist/controllers/state-controller.d.ts +4 -3
  362. package/dist/controllers/state-controller.js +201 -154
  363. package/dist/controllers/tab-cache-controller.d.ts +29 -0
  364. package/dist/controllers/tab-cache-controller.js +68 -0
  365. package/dist/controllers/timeline-controller.d.ts +18 -0
  366. package/dist/controllers/timeline-controller.js +129 -0
  367. package/dist/controllers/wallet-controller.d.ts +3 -3
  368. package/dist/controllers/wallet-controller.js +22 -41
  369. package/dist/controllers/workspace-controller.d.ts +10 -4
  370. package/dist/controllers/workspace-controller.js +67 -22
  371. package/dist/cose-bilkent-S5V4N54A-2TG-C-n3.js +2608 -0
  372. package/dist/cowboy-components-BcyXo9oX.js +68425 -0
  373. package/dist/cowboy-components.css +1 -1
  374. package/dist/cowboy-components.umd.cjs +14117 -6601
  375. package/dist/css/alerts.css.js +2 -0
  376. package/dist/css/badges.css.js +2 -0
  377. package/dist/css/button.css.js +34 -1
  378. package/dist/css/cowboy-components.css +34 -0
  379. package/dist/css/dialog.css.js +11 -2
  380. package/dist/css/filter.css.js +17 -5
  381. package/dist/css/forms.css.js +14 -0
  382. package/dist/css/pb33f-theme.css +87 -16
  383. package/dist/css/syntax.css.js +5 -0
  384. package/dist/css/tabs.css.js +19 -2
  385. package/dist/css/tooltip.css.js +4 -0
  386. package/dist/cytoscape.esm-DfdJODL8.js +18735 -0
  387. package/dist/dagre-6UL2VRFP-BIlmTbhO.js +444 -0
  388. package/dist/defaultLocale-D7EN2tov.js +171 -0
  389. package/dist/diagram-PSM6KHXK-CeWby24E.js +531 -0
  390. package/dist/diagram-QEK2KX5R-DGonyVCK.js +217 -0
  391. package/dist/diagram-S2PKOQOG-mGn-y1uX.js +142 -0
  392. package/dist/erDiagram-Q2GNP2WA-BlBBw4Mz.js +841 -0
  393. package/dist/events/doctor.d.ts +63 -9
  394. package/dist/events/doctor.js +29 -1
  395. package/dist/events/drawer-events.d.ts +7 -0
  396. package/dist/events/drawer-events.js +3 -0
  397. package/dist/events/theme.d.ts +4 -0
  398. package/dist/events/theme.js +1 -0
  399. package/dist/factories/explorer-component-factory.d.ts +49 -0
  400. package/dist/factories/explorer-component-factory.js +205 -0
  401. package/dist/factories/state-controller-deps.factory.d.ts +88 -0
  402. package/dist/factories/state-controller-deps.factory.js +116 -0
  403. package/dist/flowDiagram-NV44I4VS-BlLzzy1C.js +1620 -0
  404. package/dist/ganttDiagram-LVOFAZNH-BoQtPC8k.js +2505 -0
  405. package/dist/gitGraph-F6HP7TQM-CShNSlrW.js +5 -0
  406. package/dist/gitGraphDiagram-NY62KEGX-BdpWBgHy.js +699 -0
  407. package/dist/graph-D9HS4Ahd.js +247 -0
  408. package/dist/helpers/event-wiring.d.ts +72 -0
  409. package/dist/helpers/event-wiring.js +58 -0
  410. package/dist/helpers/file-size-formatter.d.ts +3 -0
  411. package/dist/helpers/file-size-formatter.js +15 -0
  412. package/dist/helpers/filename-colorizer.d.ts +5 -0
  413. package/dist/helpers/filename-colorizer.js +30 -0
  414. package/dist/helpers/navigation-helper.d.ts +54 -0
  415. package/dist/helpers/navigation-helper.js +159 -0
  416. package/dist/helpers/typed-events.d.ts +1 -0
  417. package/dist/helpers/typed-events.js +3 -0
  418. package/dist/info-NVLQJR56-Bpi6I8up.js +5 -0
  419. package/dist/infoDiagram-F6ZHWCRC-DmhhbuMJ.js +24 -0
  420. package/dist/init-DjUOC4st.js +16 -0
  421. package/dist/interfaces/bundle-interfaces.d.ts +7 -0
  422. package/dist/interfaces/bundle-interfaces.js +1 -0
  423. package/dist/interfaces/doctor-interfaces.d.ts +506 -0
  424. package/dist/interfaces/doctor-interfaces.js +1 -0
  425. package/dist/journeyDiagram-XKPGCS4Q-CpkhK8vl.js +834 -0
  426. package/dist/kanban-definition-3W4ZIXB7-BFbucfYE.js +719 -0
  427. package/dist/katex-SsTUIUTC.js +11688 -0
  428. package/dist/layout-B8H1_UrM.js +1324 -0
  429. package/dist/linear-Bo0rJUSQ.js +259 -0
  430. package/dist/managers/drag-handler.d.ts +28 -0
  431. package/dist/managers/drag-handler.js +64 -0
  432. package/dist/managers/event-registration-manager.d.ts +17 -0
  433. package/dist/managers/event-registration-manager.js +34 -0
  434. package/dist/managers/expansion-manager.d.ts +58 -0
  435. package/dist/managers/expansion-manager.js +189 -0
  436. package/dist/managers/layout-filter-manager.d.ts +31 -0
  437. package/dist/managers/layout-filter-manager.js +109 -0
  438. package/dist/managers/panel-divider-manager.d.ts +33 -0
  439. package/dist/managers/panel-divider-manager.js +71 -0
  440. package/dist/managers/view-state-manager.d.ts +48 -0
  441. package/dist/managers/view-state-manager.js +101 -0
  442. package/dist/managers/viewport-manager.d.ts +53 -0
  443. package/dist/managers/viewport-manager.js +198 -0
  444. package/dist/mermaid-parser.core-BPror82d.js +12966 -0
  445. package/dist/mindmap-definition-VGOIOE7T-VAn-EShH.js +784 -0
  446. package/dist/mocks/task-mock-generator.d.ts +13 -0
  447. package/dist/mocks/task-mock-generator.js +200 -0
  448. package/dist/model/api-response.d.ts +2 -7
  449. package/dist/model/api-response.js +0 -2
  450. package/dist/model/bundle.d.ts +35 -0
  451. package/dist/model/bundle.js +1 -0
  452. package/dist/model/channels.d.ts +8 -1
  453. package/dist/model/channels.js +7 -0
  454. package/dist/model/drawer-content.d.ts +80 -0
  455. package/dist/model/drawer-content.js +14 -0
  456. package/dist/model/formable.js +22 -11
  457. package/dist/model/github.d.ts +125 -0
  458. package/dist/model/github.js +1 -0
  459. package/dist/model/graph.d.ts +15 -15
  460. package/dist/model/graph.js +24 -4
  461. package/dist/model/media-type.js +2 -2
  462. package/dist/model/node_type.d.ts +4 -0
  463. package/dist/model/node_type.js +4 -0
  464. package/dist/model/panel-state.d.ts +1 -0
  465. package/dist/model/rolodex.d.ts +3 -0
  466. package/dist/model/task.d.ts +50 -0
  467. package/dist/model/task.js +22 -0
  468. package/dist/model/timeline.d.ts +107 -1
  469. package/dist/model/tree-icon-config.d.ts +11 -0
  470. package/dist/model/tree-icon-config.js +46 -0
  471. package/dist/model/workspace.d.ts +2 -0
  472. package/dist/ordinal-DfAQgscy.js +61 -0
  473. package/dist/packet-BFZMPI3H-CXPCK9Q2.js +5 -0
  474. package/dist/pie-7BOR55EZ-CMcuUZ_S.js +5 -0
  475. package/dist/pieDiagram-ADFJNKIX-C0kdlQqn.js +161 -0
  476. package/dist/quadrantDiagram-AYHSOK5B-CRVq6wY3.js +1022 -0
  477. package/dist/radar-NHE76QYJ-CX_Gyp4h.js +5 -0
  478. package/dist/requirementDiagram-UZGBJVZJ-B8ZGgMKn.js +850 -0
  479. package/dist/sankeyDiagram-TZEHDZUN-CWAUJJue.js +810 -0
  480. package/dist/sequenceDiagram-WL72ISMW-nz81a4Cq.js +2511 -0
  481. package/dist/services/diagramatron-service.d.ts +20 -0
  482. package/dist/services/diagramatron-service.js +48 -0
  483. package/dist/services/doctor-events.d.ts +58 -0
  484. package/dist/services/doctor-events.js +33 -0
  485. package/dist/services/drawer-content-registry.d.ts +9 -0
  486. package/dist/services/drawer-content-registry.js +37 -0
  487. package/dist/services/github-service.d.ts +9 -0
  488. package/dist/services/github-service.js +166 -0
  489. package/dist/services/global-task-service.d.ts +6 -0
  490. package/dist/services/global-task-service.js +27 -0
  491. package/dist/services/header-service.d.ts +5 -3
  492. package/dist/services/header-service.js +13 -0
  493. package/dist/services/linting-service.d.ts +2 -0
  494. package/dist/services/linting-service.js +19 -2
  495. package/dist/services/mermaid-config-service.d.ts +53 -0
  496. package/dist/services/mermaid-config-service.js +519 -0
  497. package/dist/services/model-service.d.ts +12 -7
  498. package/dist/services/model-service.js +64 -11
  499. package/dist/services/rodeo-service.js +12 -12
  500. package/dist/services/timeline-service.d.ts +12 -2
  501. package/dist/services/timeline-service.js +329 -0
  502. package/dist/services/wallet-service.d.ts +1 -1
  503. package/dist/services/wallet-service.js +4 -1
  504. package/dist/services/workspace-service.js +16 -2
  505. package/dist/stateDiagram-FKZM4ZOC-3PFzJlcG.js +263 -0
  506. package/dist/stateDiagram-v2-4FDKWEC3-Bp46vM6_.js +16 -0
  507. package/dist/timeline-definition-IT6M3QCI-utm7jTLb.js +795 -0
  508. package/dist/treemap-KMMF4GRG-BvEKHn43.js +5 -0
  509. package/dist/utils/language-utils.d.ts +1 -0
  510. package/dist/utils/language-utils.js +23 -0
  511. package/dist/utils/lru-cache.d.ts +11 -0
  512. package/dist/utils/lru-cache.js +38 -0
  513. package/dist/utils/node-helpers.d.ts +6 -0
  514. package/dist/utils/node-helpers.js +62 -0
  515. package/dist/utils/path-utils.d.ts +5 -0
  516. package/dist/utils/path-utils.js +22 -0
  517. package/dist/workers/elk-layout.worker.d.ts +2 -0
  518. package/dist/workers/elk-layout.worker.js +31 -0
  519. package/dist/workers/equalizer.worker.d.ts +6 -1
  520. package/dist/workers/equalizer.worker.js +144 -195
  521. package/dist/workers/graph-dependent.worker.js +6 -6
  522. package/dist/workers/rule-documentation.worker.js +12 -48
  523. package/dist/workers/search-graph.worker.js +8 -23
  524. package/dist/xychartDiagram-PRI3JC2R-twqDKWMX.js +1340 -0
  525. package/package.json +17 -10
  526. package/dist/assets/equalizer.worker-B1FBgh0h.js +0 -1
  527. package/dist/assets/graph-dependent.worker-CxW1u577.js +0 -1
  528. package/dist/assets/rule-documentation.worker-B4_JKUg4.js +0 -1
  529. package/dist/assets/search-graph.worker-DJxOIWLn.js +0 -1
  530. package/dist/components/problem-list/details-drawer.d.ts +0 -34
  531. package/dist/components/problem-list/details-drawer.js +0 -200
  532. /package/dist/components/{problem-list/details-drawer.css.d.ts → bundle-toolbar/bundle-toolbar.css.d.ts} +0 -0
@@ -4,6 +4,7 @@ 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
+ var RuleActionComponent_1;
7
8
  import { customElement, property, query } from "lit/decorators.js";
8
9
  import { html, LitElement } from "lit";
9
10
  import formsCss from "../../css/forms.css.js";
@@ -13,28 +14,82 @@ import buttonCss from "../../css/button.css.js";
13
14
  import { CreateBagManager } from "@pb33f/saddlebag";
14
15
  import { FunctionsBag, FunctionsSchemaBag } from "../the-doctor/the-doctor.js";
15
16
  import { FunctionOption } from "./function-option.js";
16
- import { OpenProblemDrawer, RemoveFunctionOption, RulesetDirty, RuleActionDirty, } from "../../events/doctor.js";
17
+ import { OpenDrawer, RemoveFunctionOption, RulesetDirty, RuleActionDirty, } from "../../events/doctor.js";
17
18
  import linksCss from "../../css/links.css.js";
18
- import { ProblemDrawerEventType } from "../problem-list/details-drawer.js";
19
+ import { DrawerContentType } from "../../model/drawer-content.js";
19
20
  import sharedCss from "../../css/shared.css.js";
20
21
  import listsCss from "../../css/lists.css.js";
21
22
  import dialogCss from "../../css/dialog.css.js";
22
- let RuleActionComponent = class RuleActionComponent extends LitElement {
23
+ import { typedEventHandler } from "../../helpers/typed-events.js";
24
+ let RuleActionComponent = RuleActionComponent_1 = class RuleActionComponent extends LitElement {
23
25
  constructor(action, rule) {
24
26
  super();
25
27
  this.ruleAction = action;
26
28
  this.ruleComponent = rule;
27
- this.bagManager = CreateBagManager(true);
28
- this.FunctionsBag = this.bagManager.getBag(FunctionsBag);
29
- this.FunctionsSchemaBag = this.bagManager.getBag(FunctionsSchemaBag);
30
- this.functions = this.FunctionsBag?.get(FunctionsBag) || [];
31
- this.functionSchemas = this.FunctionsSchemaBag?.get(FunctionsSchemaBag) || new Map();
29
+ // use singleton pattern to avoid creating multiple BagManagers
30
+ // this significantly improves performance by reusing the same manager and cached data
31
+ if (!RuleActionComponent_1.sharedBagManager) {
32
+ RuleActionComponent_1.sharedBagManager = CreateBagManager(true);
33
+ RuleActionComponent_1.sharedFunctionsBag = RuleActionComponent_1.sharedBagManager.getBag(FunctionsBag);
34
+ RuleActionComponent_1.sharedFunctionsSchemaBag = RuleActionComponent_1.sharedBagManager.getBag(FunctionsSchemaBag);
35
+ RuleActionComponent_1.sharedFunctions = RuleActionComponent_1.sharedFunctionsBag?.get(FunctionsBag) || [];
36
+ RuleActionComponent_1.sharedFunctionSchemas = RuleActionComponent_1.sharedFunctionsSchemaBag?.get(FunctionsSchemaBag) || new Map();
37
+ }
38
+ // use shared cached data
39
+ this.functions = RuleActionComponent_1.sharedFunctions || [];
40
+ this.functionSchemas = RuleActionComponent_1.sharedFunctionSchemas || new Map();
32
41
  this.buildFunctionOptions();
33
42
  }
43
+ // helper method to get function option value from Map or object
44
+ getFunctionOptionValue(key) {
45
+ if (!this.ruleAction?.functionOptions)
46
+ return "";
47
+ if (this.ruleAction.functionOptions instanceof Map) {
48
+ return this.ruleAction.functionOptions.get(key) || "";
49
+ }
50
+ return this.ruleAction.functionOptions[key] || "";
51
+ }
52
+ // helper method to iterate function options regardless of type
53
+ iterateFunctionOptions(callback) {
54
+ if (!this.ruleAction?.functionOptions)
55
+ return;
56
+ if (this.ruleAction.functionOptions instanceof Map) {
57
+ this.ruleAction.functionOptions.forEach((value, key) => callback(key, value));
58
+ }
59
+ else {
60
+ for (const key in this.ruleAction.functionOptions) {
61
+ callback(key, this.ruleAction.functionOptions[key]);
62
+ }
63
+ }
64
+ }
65
+ // helper method to get property schema by name
66
+ getPropertySchema(name) {
67
+ if (!this.ruleFunctionSchema?.properties)
68
+ return null;
69
+ const prop = this.ruleFunctionSchema.properties.find(p => p.name === name);
70
+ if (!prop)
71
+ return null;
72
+ return {
73
+ description: prop.description || "",
74
+ required: this.ruleFunctionSchema.required?.includes(name) || false
75
+ };
76
+ }
77
+ // helper method to add required properties that aren't already in options
78
+ addMissingRequiredProperties() {
79
+ if (!this.ruleFunctionSchema?.properties) {
80
+ this.functionOptions = [];
81
+ return;
82
+ }
83
+ this.ruleFunctionSchema.properties.forEach(property => {
84
+ if (this.ruleFunctionSchema?.required?.includes(property.name)) {
85
+ this.addFunctionOption(property.name, "", property.description || "", false, false);
86
+ }
87
+ });
88
+ }
34
89
  buildFunctionOptions() {
35
90
  this.functionOptions = [];
36
91
  this.ruleFunctionSchema = this.functionSchemas.get(this.ruleAction?.function);
37
- //no rule action, fill it in.
92
+ // initialize rule action if missing
38
93
  if (!this.ruleAction) {
39
94
  this.ruleAction = {
40
95
  field: "",
@@ -43,92 +98,27 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
43
98
  };
44
99
  this.ruleComponent.rule.then = this.ruleAction;
45
100
  }
46
- if (this.ruleAction?.functionOptions && this.ruleAction?.functionOptions.size > 0) {
47
- let i = 0;
48
- this.ruleAction.functionOptions.forEach((value, key) => {
49
- // extract description from schema if its available
50
- let desc = "";
51
- let containsKey = false;
52
- if (this.ruleFunctionSchema?.properties) {
53
- this.ruleFunctionSchema.properties.forEach(prop => {
54
- if (prop.name == key) {
55
- desc = prop.description || "";
56
- containsKey = true;
57
- }
58
- });
59
- }
60
- let removeable = true;
61
- // check if property is required and if so, force it to be non-removable
62
- if (this.ruleFunctionSchema?.required && this.ruleFunctionSchema?.required.includes(key)) {
63
- removeable = false;
64
- }
65
- if (containsKey) {
66
- i++;
67
- this.addFunctionOption(key, value, desc, removeable, false);
68
- }
69
- });
70
- if (i <= 0) {
71
- if (this.ruleFunctionSchema?.properties) {
72
- this.ruleFunctionSchema.properties.forEach(property => {
73
- // check if property is required and if so, force it to be non-removable
74
- if (this.ruleFunctionSchema?.required && this.ruleFunctionSchema.required.includes(property.name)) {
75
- this.addFunctionOption(property.name, "", property.description, false, false);
76
- }
77
- });
78
- }
79
- else {
80
- this.functionOptions = [];
81
- }
82
- }
101
+ // ensure functionOptions exists
102
+ if (!this.ruleAction.functionOptions) {
103
+ this.ruleAction.functionOptions = {};
83
104
  }
84
- else {
85
- if (this.ruleAction?.functionOptions) {
86
- let i = 0;
87
- for (const property in this.ruleAction.functionOptions) {
88
- // extract description from schema if its available
89
- i++;
90
- let desc = "";
91
- if (this.ruleFunctionSchema?.properties) {
92
- this.ruleFunctionSchema.properties.forEach(prop => {
93
- if (prop.name == property) {
94
- desc = prop.description || "";
95
- }
96
- });
97
- }
98
- // check schema allows it
99
- if (this.ruleFunctionSchema?.properties) {
100
- const prop = this.ruleFunctionSchema.properties.filter(prop => prop.name == property)[0];
101
- if (prop) {
102
- let removeable = true;
103
- // check if property is required and if so, force it to be non-removable
104
- if (this.ruleFunctionSchema.required && this.ruleFunctionSchema.required.includes(property)) {
105
- removeable = false;
106
- }
107
- this.addFunctionOption(property, this.ruleAction.functionOptions[property], desc, removeable, false);
108
- }
109
- }
110
- }
111
- if (i <= 0) {
112
- if (this.ruleFunctionSchema?.properties) {
113
- this.ruleFunctionSchema.properties.forEach(property => {
114
- // check if property is required and if so, force it to be non-removable
115
- if (this.ruleFunctionSchema?.required && this.ruleFunctionSchema.required.includes(property.name)) {
116
- this.addFunctionOption(property.name, "", property.description, false, false);
117
- }
118
- });
119
- }
120
- else {
121
- this.functionOptions = [];
122
- this.requestUpdate();
123
- }
124
- }
125
- }
126
- else {
127
- if (this.ruleAction)
128
- this.ruleAction.functionOptions = {};
105
+ // process existing function options
106
+ let optionCount = 0;
107
+ this.iterateFunctionOptions((key, value) => {
108
+ const propSchema = this.getPropertySchema(key);
109
+ // only add if property exists in schema
110
+ if (propSchema) {
111
+ optionCount++;
112
+ this.addFunctionOption(key, value, propSchema.description, !propSchema.required, false);
129
113
  }
114
+ });
115
+ // if no valid options were added, add required properties
116
+ if (optionCount === 0) {
117
+ this.addMissingRequiredProperties();
130
118
  }
131
- if (this.ruleFunctionSchema?.minProperties && this.functionOptions.length <= this.ruleFunctionSchema?.minProperties) {
119
+ // update removeable state based on minProperties
120
+ if (this.ruleFunctionSchema?.minProperties &&
121
+ this.functionOptions.length <= this.ruleFunctionSchema.minProperties) {
132
122
  this.functionOptions.forEach(option => {
133
123
  option.removeable = false;
134
124
  });
@@ -158,38 +148,34 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
158
148
  }
159
149
  }));
160
150
  }
151
+ // helper method to remove function option by key
152
+ removeFunctionOption(key) {
153
+ if (!this.ruleAction?.functionOptions)
154
+ return;
155
+ if (this.ruleAction.functionOptions instanceof Map) {
156
+ this.ruleAction.functionOptions.delete(key);
157
+ }
158
+ else {
159
+ delete this.ruleAction.functionOptions[key];
160
+ }
161
+ this.functionOptions = this.functionOptions.filter(option => option.key !== key);
162
+ }
161
163
  functionOptionRemoved(evt) {
164
+ // get the correct action reference
165
+ let targetAction;
162
166
  if (Array.isArray(this.ruleComponent.rule.then)) {
163
- const action = this.ruleComponent.rule.then.filter(action => action == this.ruleAction)[0];
164
- if (action.functionOptions && action.functionOptions instanceof Map) {
165
- action.functionOptions.delete(evt.detail.key);
166
- this.functionOptions = this.functionOptions.filter(option => option.key != evt.detail.key);
167
- }
168
- else {
169
- if (action.functionOptions) {
170
- delete action.functionOptions[evt.detail.key];
171
- this.functionOptions = this.functionOptions.filter(option => option.key != evt.detail.key);
172
- }
173
- }
167
+ targetAction = this.ruleComponent.rule.then.find(action => action === this.ruleAction);
174
168
  }
175
- else {
176
- for (const property in this.ruleComponent.rule.then) {
177
- if (property === "functionOptions") {
178
- if (this.ruleComponent.rule.then.functionOptions && this.ruleComponent.rule.then.functionOptions instanceof Map) {
179
- this.ruleComponent.rule.then.functionOptions.delete(evt.detail.key);
180
- this.functionOptions = this.functionOptions.filter(option => option.key != evt.detail.key);
181
- }
182
- else {
183
- if (this.ruleComponent.rule.then.functionOptions) {
184
- delete this.ruleComponent.rule.then.functionOptions[evt.detail.key];
185
- this.functionOptions = this.functionOptions.filter(option => option.key != evt.detail.key);
186
- }
187
- }
188
- }
189
- }
169
+ else if (this.ruleComponent.rule.then) {
170
+ targetAction = this.ruleComponent.rule.then;
171
+ }
172
+ // remove the option if we found the target action
173
+ if (targetAction?.functionOptions) {
174
+ this.removeFunctionOption(evt.detail.key);
190
175
  }
191
- // check if this action can add any more properties
192
- if (this.ruleFunctionSchema?.minProperties && this.functionOptions.length - 1 < this.ruleFunctionSchema.minProperties) {
176
+ // update removeable state if below minProperties
177
+ if (this.ruleFunctionSchema?.minProperties &&
178
+ this.functionOptions.length < this.ruleFunctionSchema.minProperties) {
193
179
  this.functionOptions.forEach(option => {
194
180
  option.removeable = false;
195
181
  });
@@ -198,19 +184,18 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
198
184
  this.requestUpdate();
199
185
  }
200
186
  viewFunctionDocs() {
201
- this.dispatchEvent(new CustomEvent(OpenProblemDrawer, {
187
+ this.dispatchEvent(new CustomEvent(OpenDrawer, {
202
188
  bubbles: true,
203
189
  composed: true,
204
190
  detail: {
205
- type: ProblemDrawerEventType.FUNCTION_DOCS,
206
- rule: this.ruleAction.function = this.fieldFunction.value
191
+ type: DrawerContentType.FUNCTION_DOCS,
192
+ functionId: this.ruleAction.function = this.fieldFunction.value
207
193
  }
208
194
  }));
209
195
  }
210
196
  addFunctionOption(key = "", value = "", desc = "", removeable = true, dirty = true) {
211
197
  const funcOption = new FunctionOption(key, value, desc, this.ruleComponent, this.ruleAction, removeable);
212
- // @ts-ignore
213
- funcOption.addEventListener(RemoveFunctionOption, this.functionOptionRemoved.bind(this));
198
+ funcOption.addEventListener(RemoveFunctionOption, typedEventHandler(this.functionOptionRemoved.bind(this)));
214
199
  funcOption.addEventListener(RuleActionDirty, this.dirty);
215
200
  this.functionOptions.push(funcOption);
216
201
  if (dirty)
@@ -257,7 +242,7 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
257
242
  addFunctionOptionButton = html `
258
243
  <sl-button @click=${this.openFunctionOptionDialog} variant="primary" size="small"
259
244
  class="add-function-option">
260
- <sl-icon slot="prefix" name="plus-square"></sl-icon>
245
+ <sl-icon slot="prefix" name="plus-square" aria-hidden="true"></sl-icon>
261
246
  Add Function Option
262
247
  </sl-button>
263
248
  `;
@@ -273,7 +258,7 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
273
258
  ${this.ruleFunctionSchema?.properties?.map(prop => {
274
259
  let propUsed = false;
275
260
  this.functionOptions.forEach(option => {
276
- if (option.key == prop.name) {
261
+ if (option.key === prop.name) {
277
262
  propUsed = true;
278
263
  }
279
264
  });
@@ -318,7 +303,7 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
318
303
  ${this.functionOptions}
319
304
  <sl-button variant="default" size="small" class="danger"
320
305
  @click=${this.removeSelf}>
321
- <sl-icon slot="prefix" name="x-square"></sl-icon>
306
+ <sl-icon slot="prefix" name="x-square" aria-hidden="true"></sl-icon>
322
307
  Delete Action
323
308
  </sl-button>
324
309
  </div>
@@ -327,6 +312,10 @@ let RuleActionComponent = class RuleActionComponent extends LitElement {
327
312
  }
328
313
  };
329
314
  RuleActionComponent.styles = [dialogCss, sharedCss, listsCss, linksCss, buttonCss, ruleActionCss, formsCss];
315
+ // singleton pattern for performance - share BagManager across all instances
316
+ RuleActionComponent.sharedBagManager = null;
317
+ RuleActionComponent.sharedFunctions = null;
318
+ RuleActionComponent.sharedFunctionSchemas = null;
330
319
  __decorate([
331
320
  query('sl-input#field')
332
321
  ], RuleActionComponent.prototype, "fieldInput", void 0);
@@ -345,7 +334,7 @@ __decorate([
345
334
  __decorate([
346
335
  property()
347
336
  ], RuleActionComponent.prototype, "ruleErrorFunctionOption", void 0);
348
- RuleActionComponent = __decorate([
337
+ RuleActionComponent = RuleActionComponent_1 = __decorate([
349
338
  customElement('pb33f-rule-action')
350
339
  ], RuleActionComponent);
351
340
  export { RuleActionComponent };
@@ -1,4 +1,4 @@
1
- import { LitElement } from "lit";
1
+ import { LitElement, PropertyValues } from "lit";
2
2
  import { Rule } from "../../model/vacuum_rule.js";
3
3
  import { SlCheckbox, SlInput, SlSelect, SlTextarea } from "@shoelace-style/shoelace";
4
4
  import { RuleComponent } from "./rule.js";
@@ -22,6 +22,7 @@ export declare class RuleInputComponent extends LitElement {
22
22
  private readonly actions;
23
23
  private readonly parent;
24
24
  constructor(rule: Rule, parent: RuleComponent, custom: boolean);
25
+ protected updated(changedProperties: PropertyValues): void;
25
26
  showRuleDocs(source: string | undefined): void;
26
27
  updateName(): void;
27
28
  updateDescription(): void;
@@ -34,5 +35,6 @@ export declare class RuleInputComponent extends LitElement {
34
35
  updateSeverity(): void;
35
36
  updateCategory(): void;
36
37
  updateFormats(): void;
38
+ private updateActionErrorStates;
37
39
  render(): import("lit-html").TemplateResult<1>;
38
40
  }
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { customElement, property, query, state } from "lit/decorators.js";
8
8
  import { html, LitElement } from "lit";
9
- import { ProblemDrawerEventType } from "../problem-list/details-drawer.js";
10
- import { OpenProblemDrawer, RuleNameUpdated, RulesetDirty, SeverityChanged } from "../../events/doctor";
9
+ import { DrawerContentType } from "../../model/drawer-content.js";
10
+ import { OpenDrawer, RuleNameUpdated, RulesetDirty, SeverityChanged } from "../../events/doctor";
11
11
  import { RuleActionComponent } from "./rule-action.js";
12
12
  import ruleCss from "./rule.css.js";
13
13
  import formsCss from "../../css/forms.css.js";
@@ -36,13 +36,22 @@ let RuleInputComponent = class RuleInputComponent extends LitElement {
36
36
  }
37
37
  this.actions = actions;
38
38
  }
39
+ updated(changedProperties) {
40
+ super.updated(changedProperties);
41
+ // update action error states when error-related properties change
42
+ if (changedProperties.has('error') ||
43
+ changedProperties.has('ruleErrorFunction') ||
44
+ changedProperties.has('ruleErrorFunctionOption')) {
45
+ this.updateActionErrorStates();
46
+ }
47
+ }
39
48
  showRuleDocs(source) {
40
- this.dispatchEvent(new CustomEvent(OpenProblemDrawer, {
49
+ this.dispatchEvent(new CustomEvent(OpenDrawer, {
41
50
  bubbles: true,
42
51
  composed: true,
43
52
  detail: {
44
- type: ProblemDrawerEventType.RULE_DOCS,
45
- rule: source
53
+ type: DrawerContentType.RULE_DOCS,
54
+ ruleId: source
46
55
  }
47
56
  }));
48
57
  }
@@ -139,6 +148,26 @@ let RuleInputComponent = class RuleInputComponent extends LitElement {
139
148
  this.rule.formats = formats;
140
149
  this.dirty();
141
150
  }
151
+ // handles error state propagation to child actions based on function matches
152
+ updateActionErrorStates() {
153
+ this.actions.forEach((action, index) => {
154
+ if (this.error && this.ruleErrorFunction &&
155
+ index < this.ruleErrorFunction.length &&
156
+ action.ruleAction?.function === this.ruleErrorFunction[index]) {
157
+ // propagate error state for matching function
158
+ const errorOption = this.ruleErrorFunctionOption?.[index] || '';
159
+ action.error = true;
160
+ action.ruleErrorFunction = errorOption;
161
+ action.ruleErrorFunctionOption = errorOption;
162
+ }
163
+ else {
164
+ // clear any existing error state
165
+ action.error = false;
166
+ action.ruleErrorFunction = '';
167
+ action.ruleErrorFunctionOption = '';
168
+ }
169
+ });
170
+ }
142
171
  render() {
143
172
  let message = this.rule.message;
144
173
  if (message == null) {
@@ -147,31 +176,6 @@ let RuleInputComponent = class RuleInputComponent extends LitElement {
147
176
  if (!this.rule) {
148
177
  return html ``;
149
178
  }
150
- if (this.error) {
151
- let i = 0;
152
- this.actions.forEach(action => {
153
- if (this.ruleErrorFunction && action.ruleAction?.function === this.ruleErrorFunction[i]) {
154
- action.error = true;
155
- action.ruleErrorFunction = this.ruleErrorFunctionOption[i];
156
- if (this.ruleErrorFunctionOption) {
157
- action.ruleErrorFunctionOption = this.ruleErrorFunctionOption[i];
158
- }
159
- }
160
- else {
161
- action.error = false;
162
- action.ruleErrorFunction = '';
163
- action.ruleErrorFunctionOption = '';
164
- }
165
- i++;
166
- });
167
- }
168
- else {
169
- this.actions.forEach(action => {
170
- action.error = false;
171
- action.ruleErrorFunction = '';
172
- action.ruleErrorFunctionOption = '';
173
- });
174
- }
175
179
  return html `
176
180
  <a href="#" class="rule-docs" @click="${() => {
177
181
  this.showRuleDocs(this.rule.id);
@@ -214,15 +218,15 @@ let RuleInputComponent = class RuleInputComponent extends LitElement {
214
218
  size="small"
215
219
  value=${this.rule.severity}>
216
220
  <sl-option value="error">
217
- <sl-icon name="x-square" class="error"></sl-icon>
221
+ <sl-icon name="x-square" class="error" aria-hidden="true"></sl-icon>
218
222
  Error
219
223
  </sl-option>
220
224
  <sl-option value="warn">
221
- <sl-icon name="exclamation-triangle" class="warning"></sl-icon>
225
+ <sl-icon name="exclamation-triangle" class="warning" aria-hidden="true"></sl-icon>
222
226
  Warning
223
227
  </sl-option>
224
228
  <sl-option value="info">
225
- <sl-icon name="info-square" class="info"></sl-icon>
229
+ <sl-icon name="info-square" class="info" aria-hidden="true"></sl-icon>
226
230
  Info
227
231
  </sl-option>
228
232
  </sl-select>
@@ -244,7 +248,7 @@ let RuleInputComponent = class RuleInputComponent extends LitElement {
244
248
  <section class="rule-actions">
245
249
  <label class="rule-actions-label">Actions
246
250
  <sl-button variant="default" size="small" class="button-primary" @click=${this.addRuleAction}>
247
- <sl-icon slot="prefix" name="plus-square"></sl-icon>
251
+ <sl-icon slot="prefix" name="plus-square" aria-hidden="true"></sl-icon>
248
252
  Add
249
253
  </sl-button>
250
254
  </label>
@@ -8,9 +8,11 @@ export default css `
8
8
  .rule-docs {
9
9
  float: right;
10
10
  display: inline-block;
11
- padding-left: 10px;
11
+ padding-left: 10px;
12
12
  padding-top: 5px;
13
13
  font-size: 0.8rem;
14
+ text-transform: uppercase;
15
+ letter-spacing: 0.05em;
14
16
  }
15
17
 
16
18
  .error-message {
@@ -43,6 +45,8 @@ export default css `
43
45
  .rule-actions label {
44
46
  text-align: right;
45
47
  font-size: 0.8rem;
48
+ text-transform: uppercase;
49
+ letter-spacing: 0.05em;
46
50
  }
47
51
 
48
52
  .label-on-left::part(form-control-help-text) {
@@ -116,4 +120,14 @@ export default css `
116
120
  display: none;
117
121
  }
118
122
 
123
+ .rule-loader {
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: center;
127
+ gap: 10px;
128
+ padding: 20px 0;
129
+ font-size: 0.85rem;
130
+ color: var(--font-color);
131
+ }
132
+
119
133
  `;
@@ -14,18 +14,21 @@ export declare class RuleComponent extends LitElement {
14
14
  details: SlDetails;
15
15
  ruleId: string;
16
16
  open: boolean;
17
+ private loading;
17
18
  custom: boolean;
18
19
  ruleActive: boolean;
19
20
  ruleErrorMessage: string[];
20
21
  ruleErrorFunction: string[];
21
22
  ruleErrorFunctionOption: string[];
22
- private readonly ruleInput;
23
+ private ruleInput;
23
24
  constructor(rule: Rule, id: string, custom: boolean);
25
+ private ensureRuleInput;
24
26
  nameUpdated(name: string): void;
25
27
  dirty(): void;
26
28
  toggleRule(): void;
27
29
  close(): void;
28
30
  show(): void;
29
31
  opened(): void;
32
+ animationComplete(): void;
30
33
  render(): import("lit-html").TemplateResult<1>;
31
34
  }