@kuadrant/kuadrant-backstage-plugin-frontend 0.4.0-dev2-3c8348b → 0.4.0-dev3-0da0695

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 (531) hide show
  1. package/dist/.config-schema.json +46 -46
  2. package/dist/@mf-types.zip +0 -0
  3. package/dist/mf-manifest.json +1 -1
  4. package/dist/mf-stats.json +1 -1
  5. package/dist/remoteEntry.js +2 -2
  6. package/dist/static/{runtime.4487ce49.js → runtime.70b7537d.js} +3 -3
  7. package/dist/static/{runtime.4487ce49.js.map → runtime.70b7537d.js.map} +1 -1
  8. package/dist/static/{vendor.4487ce49.js → vendor.70b7537d.js} +1 -1
  9. package/dist/static/{vendor.4487ce49.js.map → vendor.70b7537d.js.map} +1 -1
  10. package/dist-scalprum/configSchema.json +27 -0
  11. package/dist-scalprum/kuadrant.kuadrant-backstage-plugin-frontend.44bacdfb1c0370d4879d.js +2 -0
  12. package/dist-scalprum/kuadrant.kuadrant-backstage-plugin-frontend.44bacdfb1c0370d4879d.js.map +1 -0
  13. package/dist-scalprum/plugin-manifest.json +11 -0
  14. package/dist-scalprum/static/1037.30050946.chunk.js +2 -0
  15. package/dist-scalprum/static/1037.30050946.chunk.js.map +1 -0
  16. package/dist-scalprum/static/1340.8cd13740.chunk.js +3 -0
  17. package/dist-scalprum/static/1340.8cd13740.chunk.js.LICENSE.txt +18 -0
  18. package/dist-scalprum/static/1340.8cd13740.chunk.js.map +1 -0
  19. package/dist-scalprum/static/1719.e8f111d8.chunk.js +2 -0
  20. package/dist-scalprum/static/1719.e8f111d8.chunk.js.map +1 -0
  21. package/dist-scalprum/static/1931.4bfc9098.chunk.js +2 -0
  22. package/dist-scalprum/static/1931.4bfc9098.chunk.js.map +1 -0
  23. package/dist-scalprum/static/20.1b5831f0.chunk.js +3 -0
  24. package/dist-scalprum/static/20.1b5831f0.chunk.js.LICENSE.txt +14 -0
  25. package/dist-scalprum/static/20.1b5831f0.chunk.js.map +1 -0
  26. package/dist-scalprum/static/2251.ff998bd6.chunk.js +2 -0
  27. package/dist-scalprum/static/2251.ff998bd6.chunk.js.map +1 -0
  28. package/dist-scalprum/static/2769.3ab6acb7.chunk.js +2 -0
  29. package/dist-scalprum/static/2769.3ab6acb7.chunk.js.map +1 -0
  30. package/dist-scalprum/static/2821.1e3d6dc4.chunk.js +2 -0
  31. package/dist-scalprum/static/2821.1e3d6dc4.chunk.js.map +1 -0
  32. package/dist-scalprum/static/2822.ce006976.chunk.js +2 -0
  33. package/dist-scalprum/static/2822.ce006976.chunk.js.map +1 -0
  34. package/dist-scalprum/static/2952.60bab809.chunk.js +2 -0
  35. package/dist-scalprum/static/2952.60bab809.chunk.js.map +1 -0
  36. package/dist-scalprum/static/2967.06a5593b.chunk.js +2 -0
  37. package/dist-scalprum/static/2967.06a5593b.chunk.js.map +1 -0
  38. package/dist-scalprum/static/3007.7481e781.chunk.js +2 -0
  39. package/dist-scalprum/static/3007.7481e781.chunk.js.map +1 -0
  40. package/dist-scalprum/static/3015.2dad3eec.chunk.js +3 -0
  41. package/dist-scalprum/static/3015.2dad3eec.chunk.js.LICENSE.txt +9 -0
  42. package/dist-scalprum/static/3015.2dad3eec.chunk.js.map +1 -0
  43. package/dist-scalprum/static/3144.cbed804d.chunk.js +3 -0
  44. package/dist-scalprum/static/3144.cbed804d.chunk.js.LICENSE.txt +19 -0
  45. package/dist-scalprum/static/3144.cbed804d.chunk.js.map +1 -0
  46. package/dist-scalprum/static/327.a377854c.chunk.js +2 -0
  47. package/dist-scalprum/static/327.a377854c.chunk.js.map +1 -0
  48. package/dist-scalprum/static/3657.68703526.chunk.js +3 -0
  49. package/dist-scalprum/static/3657.68703526.chunk.js.LICENSE.txt +8 -0
  50. package/dist-scalprum/static/3657.68703526.chunk.js.map +1 -0
  51. package/dist-scalprum/static/3658.8a3da139.chunk.js +2 -0
  52. package/dist-scalprum/static/3658.8a3da139.chunk.js.map +1 -0
  53. package/dist-scalprum/static/3897.53c31fae.chunk.js +2 -0
  54. package/dist-scalprum/static/3897.53c31fae.chunk.js.map +1 -0
  55. package/dist-scalprum/static/3917.f6c5d76f.chunk.js +2 -0
  56. package/dist-scalprum/static/3917.f6c5d76f.chunk.js.map +1 -0
  57. package/dist-scalprum/static/3947.cd00bcd5.chunk.js +2 -0
  58. package/dist-scalprum/static/3947.cd00bcd5.chunk.js.map +1 -0
  59. package/dist-scalprum/static/4041.12a0055c.chunk.js +3 -0
  60. package/dist-scalprum/static/4041.12a0055c.chunk.js.LICENSE.txt +9 -0
  61. package/dist-scalprum/static/4041.12a0055c.chunk.js.map +1 -0
  62. package/dist-scalprum/static/4083.e067ea26.chunk.js +3 -0
  63. package/dist-scalprum/static/4083.e067ea26.chunk.js.LICENSE.txt +18 -0
  64. package/dist-scalprum/static/4083.e067ea26.chunk.js.map +1 -0
  65. package/dist-scalprum/static/438.32c3e072.chunk.js +2 -0
  66. package/dist-scalprum/static/438.32c3e072.chunk.js.map +1 -0
  67. package/dist-scalprum/static/4491.b4aa3375.chunk.js +2 -0
  68. package/dist-scalprum/static/4491.b4aa3375.chunk.js.map +1 -0
  69. package/dist-scalprum/static/4570.f63a94b5.chunk.js +3 -0
  70. package/dist-scalprum/static/4570.f63a94b5.chunk.js.LICENSE.txt +16 -0
  71. package/dist-scalprum/static/4570.f63a94b5.chunk.js.map +1 -0
  72. package/dist-scalprum/static/4641.afa4b7f4.chunk.js +2 -0
  73. package/dist-scalprum/static/4641.afa4b7f4.chunk.js.map +1 -0
  74. package/dist-scalprum/static/4712.32c000f9.chunk.js +2 -0
  75. package/dist-scalprum/static/4712.32c000f9.chunk.js.map +1 -0
  76. package/dist-scalprum/static/501.c053f97a.chunk.js +3 -0
  77. package/dist-scalprum/static/501.c053f97a.chunk.js.LICENSE.txt +21 -0
  78. package/dist-scalprum/static/501.c053f97a.chunk.js.map +1 -0
  79. package/dist-scalprum/static/5010.95aedf8d.chunk.js +3 -0
  80. package/dist-scalprum/static/5010.95aedf8d.chunk.js.LICENSE.txt +17 -0
  81. package/dist-scalprum/static/5010.95aedf8d.chunk.js.map +1 -0
  82. package/dist-scalprum/static/5197.c4151d55.chunk.js +2 -0
  83. package/dist-scalprum/static/5197.c4151d55.chunk.js.map +1 -0
  84. package/dist-scalprum/static/5943.d01f37ae.chunk.js +2 -0
  85. package/dist-scalprum/static/5943.d01f37ae.chunk.js.map +1 -0
  86. package/dist-scalprum/static/6038.9e308c20.chunk.js +3 -0
  87. package/dist-scalprum/static/6038.9e308c20.chunk.js.LICENSE.txt +8 -0
  88. package/dist-scalprum/static/6038.9e308c20.chunk.js.map +1 -0
  89. package/dist-scalprum/static/6272.98ac64ee.chunk.js +2 -0
  90. package/dist-scalprum/static/6272.98ac64ee.chunk.js.map +1 -0
  91. package/dist-scalprum/static/635.20cc75bd.chunk.js +3 -0
  92. package/dist-scalprum/static/635.20cc75bd.chunk.js.LICENSE.txt +9 -0
  93. package/dist-scalprum/static/635.20cc75bd.chunk.js.map +1 -0
  94. package/dist-scalprum/static/6371.bd298779.chunk.js +3 -0
  95. package/dist-scalprum/static/6371.bd298779.chunk.js.LICENSE.txt +9 -0
  96. package/dist-scalprum/static/6371.bd298779.chunk.js.map +1 -0
  97. package/dist-scalprum/static/6766.6766.d233128d.css +5 -0
  98. package/dist-scalprum/static/6766.6766.d233128d.css.map +1 -0
  99. package/dist-scalprum/static/6766.b1477b1f.chunk.js +3 -0
  100. package/dist-scalprum/static/6766.b1477b1f.chunk.js.LICENSE.txt +26 -0
  101. package/dist-scalprum/static/6766.b1477b1f.chunk.js.map +1 -0
  102. package/dist-scalprum/static/6837.daf44d4a.chunk.js +2 -0
  103. package/dist-scalprum/static/6837.daf44d4a.chunk.js.map +1 -0
  104. package/dist-scalprum/static/6853.95bdb23a.chunk.js +2 -0
  105. package/dist-scalprum/static/6853.95bdb23a.chunk.js.map +1 -0
  106. package/dist-scalprum/static/6972.67a3d5fa.chunk.js +2 -0
  107. package/dist-scalprum/static/6972.67a3d5fa.chunk.js.map +1 -0
  108. package/dist-scalprum/static/7076.a421f17a.chunk.js +2 -0
  109. package/dist-scalprum/static/7076.a421f17a.chunk.js.map +1 -0
  110. package/dist-scalprum/static/7164.3f49dba5.chunk.js +2 -0
  111. package/dist-scalprum/static/7164.3f49dba5.chunk.js.map +1 -0
  112. package/dist-scalprum/static/7266.8f906280.chunk.js +2 -0
  113. package/dist-scalprum/static/7266.8f906280.chunk.js.map +1 -0
  114. package/dist-scalprum/static/7270.fe2b531a.chunk.js +2 -0
  115. package/dist-scalprum/static/7270.fe2b531a.chunk.js.map +1 -0
  116. package/dist-scalprum/static/7293.61ba27ef.chunk.js +3 -0
  117. package/dist-scalprum/static/7293.61ba27ef.chunk.js.LICENSE.txt +9 -0
  118. package/dist-scalprum/static/7293.61ba27ef.chunk.js.map +1 -0
  119. package/dist-scalprum/static/7367.7f02a435.chunk.js +3 -0
  120. package/dist-scalprum/static/7367.7f02a435.chunk.js.LICENSE.txt +21 -0
  121. package/dist-scalprum/static/7367.7f02a435.chunk.js.map +1 -0
  122. package/dist-scalprum/static/7651.e4257476.chunk.js +2 -0
  123. package/dist-scalprum/static/7651.e4257476.chunk.js.map +1 -0
  124. package/dist-scalprum/static/7791.8fd95e78.chunk.js +2 -0
  125. package/dist-scalprum/static/7791.8fd95e78.chunk.js.map +1 -0
  126. package/dist-scalprum/static/8170.ee2d7c50.chunk.js +2 -0
  127. package/dist-scalprum/static/8170.ee2d7c50.chunk.js.map +1 -0
  128. package/dist-scalprum/static/8563.c70c61a5.chunk.js +3 -0
  129. package/dist-scalprum/static/8563.c70c61a5.chunk.js.LICENSE.txt +5 -0
  130. package/dist-scalprum/static/8563.c70c61a5.chunk.js.map +1 -0
  131. package/dist-scalprum/static/9400.6b78af9f.chunk.js +2 -0
  132. package/dist-scalprum/static/9400.6b78af9f.chunk.js.map +1 -0
  133. package/dist-scalprum/static/empty-state-illustration.7e3ad5a9..png +0 -0
  134. package/dist-scalprum/static/exposed-ApiIcon.da16b2cc.chunk.js +3 -0
  135. package/dist-scalprum/static/exposed-ApiIcon.da16b2cc.chunk.js.LICENSE.txt +9 -0
  136. package/dist-scalprum/static/exposed-ApiIcon.da16b2cc.chunk.js.map +1 -0
  137. package/dist-scalprum/static/exposed-KuadrantIcon.e9227839.chunk.js +3 -0
  138. package/dist-scalprum/static/exposed-KuadrantIcon.e9227839.chunk.js.LICENSE.txt +9 -0
  139. package/dist-scalprum/static/exposed-KuadrantIcon.e9227839.chunk.js.map +1 -0
  140. package/dist-scalprum/static/exposed-KuadrantPage.832aec5b.chunk.js +2 -0
  141. package/dist-scalprum/static/exposed-KuadrantPage.832aec5b.chunk.js.map +1 -0
  142. package/dist-scalprum/static/exposed-PluginRoot.daa5f940.chunk.js +2 -0
  143. package/dist-scalprum/static/exposed-PluginRoot.daa5f940.chunk.js.map +1 -0
  144. package/dist-scalprum/static/exposed-kuadrantApiFactory.3211b81a.chunk.js +2 -0
  145. package/dist-scalprum/static/exposed-kuadrantApiFactory.3211b81a.chunk.js.map +1 -0
  146. package/dist-scalprum/static/react-syntax-highlighter/lowlight-import.6ce6e76b.chunk.js +2 -0
  147. package/dist-scalprum/static/react-syntax-highlighter/lowlight-import.6ce6e76b.chunk.js.map +1 -0
  148. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_abnf.d7b748b1.chunk.js +2 -0
  149. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_abnf.d7b748b1.chunk.js.map +1 -0
  150. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_accesslog.5cd4e70c.chunk.js +2 -0
  151. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_accesslog.5cd4e70c.chunk.js.map +1 -0
  152. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_actionscript.d7fb5ca9.chunk.js +2 -0
  153. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_actionscript.d7fb5ca9.chunk.js.map +1 -0
  154. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ada.751ec93b.chunk.js +2 -0
  155. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ada.751ec93b.chunk.js.map +1 -0
  156. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_angelscript.cdb860cc.chunk.js +2 -0
  157. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_angelscript.cdb860cc.chunk.js.map +1 -0
  158. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_apache.7773ba3b.chunk.js +2 -0
  159. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_apache.7773ba3b.chunk.js.map +1 -0
  160. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_applescript.8cb340cc.chunk.js +2 -0
  161. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_applescript.8cb340cc.chunk.js.map +1 -0
  162. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_arcade.60bbff04.chunk.js +2 -0
  163. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_arcade.60bbff04.chunk.js.map +1 -0
  164. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_arduino.c0c83f48.chunk.js +2 -0
  165. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_arduino.c0c83f48.chunk.js.map +1 -0
  166. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_armasm.430c8942.chunk.js +2 -0
  167. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_armasm.430c8942.chunk.js.map +1 -0
  168. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_asciidoc.3e211a5e.chunk.js +2 -0
  169. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_asciidoc.3e211a5e.chunk.js.map +1 -0
  170. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_aspectj.3d32ac5c.chunk.js +2 -0
  171. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_aspectj.3d32ac5c.chunk.js.map +1 -0
  172. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_autohotkey.0f43909c.chunk.js +2 -0
  173. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_autohotkey.0f43909c.chunk.js.map +1 -0
  174. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_autoit.7136d2bd.chunk.js +2 -0
  175. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_autoit.7136d2bd.chunk.js.map +1 -0
  176. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_avrasm.8aa64d3e.chunk.js +2 -0
  177. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_avrasm.8aa64d3e.chunk.js.map +1 -0
  178. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_awk.ad458763.chunk.js +2 -0
  179. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_awk.ad458763.chunk.js.map +1 -0
  180. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_axapta.973d343c.chunk.js +2 -0
  181. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_axapta.973d343c.chunk.js.map +1 -0
  182. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_bash.e6565209.chunk.js +2 -0
  183. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_bash.e6565209.chunk.js.map +1 -0
  184. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_basic.0691a169.chunk.js +2 -0
  185. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_basic.0691a169.chunk.js.map +1 -0
  186. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_bnf.e8daf1f7.chunk.js +2 -0
  187. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_bnf.e8daf1f7.chunk.js.map +1 -0
  188. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_brainfuck.e196d223.chunk.js +2 -0
  189. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_brainfuck.e196d223.chunk.js.map +1 -0
  190. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_c.efabbf9d.chunk.js +2 -0
  191. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_c.efabbf9d.chunk.js.map +1 -0
  192. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cLike.3b61cf62.chunk.js +2 -0
  193. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cLike.3b61cf62.chunk.js.map +1 -0
  194. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cal.b801b70d.chunk.js +2 -0
  195. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cal.b801b70d.chunk.js.map +1 -0
  196. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_capnproto.ded99d02.chunk.js +2 -0
  197. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_capnproto.ded99d02.chunk.js.map +1 -0
  198. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ceylon.3eac73f9.chunk.js +2 -0
  199. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ceylon.3eac73f9.chunk.js.map +1 -0
  200. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clean.b07854cb.chunk.js +2 -0
  201. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clean.b07854cb.chunk.js.map +1 -0
  202. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clojure.77521689.chunk.js +2 -0
  203. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clojure.77521689.chunk.js.map +1 -0
  204. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clojureRepl.9448b879.chunk.js +2 -0
  205. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_clojureRepl.9448b879.chunk.js.map +1 -0
  206. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cmake.6b048c9a.chunk.js +2 -0
  207. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cmake.6b048c9a.chunk.js.map +1 -0
  208. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_coffeescript.4aef666e.chunk.js +2 -0
  209. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_coffeescript.4aef666e.chunk.js.map +1 -0
  210. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_coq.bb2ee554.chunk.js +2 -0
  211. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_coq.bb2ee554.chunk.js.map +1 -0
  212. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cos.6fc48d6d.chunk.js +2 -0
  213. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cos.6fc48d6d.chunk.js.map +1 -0
  214. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cpp.daf37e10.chunk.js +2 -0
  215. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_cpp.daf37e10.chunk.js.map +1 -0
  216. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_crmsh.d547f78d.chunk.js +2 -0
  217. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_crmsh.d547f78d.chunk.js.map +1 -0
  218. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_crystal.5049cd2e.chunk.js +2 -0
  219. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_crystal.5049cd2e.chunk.js.map +1 -0
  220. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_csharp.315865a3.chunk.js +2 -0
  221. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_csharp.315865a3.chunk.js.map +1 -0
  222. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_csp.7ea55553.chunk.js +2 -0
  223. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_csp.7ea55553.chunk.js.map +1 -0
  224. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_css.3117b0e3.chunk.js +2 -0
  225. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_css.3117b0e3.chunk.js.map +1 -0
  226. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_d.7456f80c.chunk.js +2 -0
  227. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_d.7456f80c.chunk.js.map +1 -0
  228. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dart.020b9d3d.chunk.js +2 -0
  229. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dart.020b9d3d.chunk.js.map +1 -0
  230. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_delphi.86aca306.chunk.js +2 -0
  231. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_delphi.86aca306.chunk.js.map +1 -0
  232. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_diff.0a835926.chunk.js +2 -0
  233. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_diff.0a835926.chunk.js.map +1 -0
  234. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_django.a135aa8b.chunk.js +2 -0
  235. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_django.a135aa8b.chunk.js.map +1 -0
  236. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dns.27aec10d.chunk.js +2 -0
  237. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dns.27aec10d.chunk.js.map +1 -0
  238. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dockerfile.958aacec.chunk.js +2 -0
  239. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dockerfile.958aacec.chunk.js.map +1 -0
  240. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dos.59aaced7.chunk.js +2 -0
  241. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dos.59aaced7.chunk.js.map +1 -0
  242. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dsconfig.8b5a847e.chunk.js +2 -0
  243. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dsconfig.8b5a847e.chunk.js.map +1 -0
  244. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dts.6e3f9db6.chunk.js +2 -0
  245. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dts.6e3f9db6.chunk.js.map +1 -0
  246. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dust.7c5d23e5.chunk.js +2 -0
  247. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_dust.7c5d23e5.chunk.js.map +1 -0
  248. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ebnf.db0ae456.chunk.js +2 -0
  249. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ebnf.db0ae456.chunk.js.map +1 -0
  250. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_elixir.cc785691.chunk.js +2 -0
  251. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_elixir.cc785691.chunk.js.map +1 -0
  252. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_elm.66841734.chunk.js +2 -0
  253. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_elm.66841734.chunk.js.map +1 -0
  254. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erb.b1b96b4e.chunk.js +2 -0
  255. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erb.b1b96b4e.chunk.js.map +1 -0
  256. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erlang.34d2f773.chunk.js +2 -0
  257. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erlang.34d2f773.chunk.js.map +1 -0
  258. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erlangRepl.0ff0bfbb.chunk.js +2 -0
  259. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_erlangRepl.0ff0bfbb.chunk.js.map +1 -0
  260. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_excel.04bd2aa2.chunk.js +2 -0
  261. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_excel.04bd2aa2.chunk.js.map +1 -0
  262. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fix.0ef6442e.chunk.js +2 -0
  263. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fix.0ef6442e.chunk.js.map +1 -0
  264. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_flix.a1b295ac.chunk.js +2 -0
  265. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_flix.a1b295ac.chunk.js.map +1 -0
  266. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fortran.66f10825.chunk.js +2 -0
  267. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fortran.66f10825.chunk.js.map +1 -0
  268. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fsharp.f36c83d1.chunk.js +2 -0
  269. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_fsharp.f36c83d1.chunk.js.map +1 -0
  270. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gams.e170e44f.chunk.js +2 -0
  271. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gams.e170e44f.chunk.js.map +1 -0
  272. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gauss.877c22cd.chunk.js +2 -0
  273. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gauss.877c22cd.chunk.js.map +1 -0
  274. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gcode.c1e0a697.chunk.js +2 -0
  275. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gcode.c1e0a697.chunk.js.map +1 -0
  276. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gherkin.934843e3.chunk.js +2 -0
  277. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gherkin.934843e3.chunk.js.map +1 -0
  278. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_glsl.967148b0.chunk.js +2 -0
  279. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_glsl.967148b0.chunk.js.map +1 -0
  280. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gml.1e9b8477.chunk.js +2 -0
  281. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gml.1e9b8477.chunk.js.map +1 -0
  282. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_go.5796d462.chunk.js +2 -0
  283. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_go.5796d462.chunk.js.map +1 -0
  284. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_golo.453ebb0f.chunk.js +2 -0
  285. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_golo.453ebb0f.chunk.js.map +1 -0
  286. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gradle.848e9531.chunk.js +2 -0
  287. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_gradle.848e9531.chunk.js.map +1 -0
  288. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_groovy.fa7fe849.chunk.js +2 -0
  289. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_groovy.fa7fe849.chunk.js.map +1 -0
  290. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haml.8caef7cd.chunk.js +2 -0
  291. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haml.8caef7cd.chunk.js.map +1 -0
  292. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_handlebars.5a49c928.chunk.js +2 -0
  293. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_handlebars.5a49c928.chunk.js.map +1 -0
  294. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haskell.b13e9820.chunk.js +2 -0
  295. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haskell.b13e9820.chunk.js.map +1 -0
  296. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haxe.2978dc06.chunk.js +2 -0
  297. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_haxe.2978dc06.chunk.js.map +1 -0
  298. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_hsp.7a3e965f.chunk.js +2 -0
  299. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_hsp.7a3e965f.chunk.js.map +1 -0
  300. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_htmlbars.f0f2b2be.chunk.js +2 -0
  301. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_htmlbars.f0f2b2be.chunk.js.map +1 -0
  302. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_http.a29b3997.chunk.js +2 -0
  303. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_http.a29b3997.chunk.js.map +1 -0
  304. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_hy.9cf3d54c.chunk.js +2 -0
  305. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_hy.9cf3d54c.chunk.js.map +1 -0
  306. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_inform7.568e42d6.chunk.js +2 -0
  307. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_inform7.568e42d6.chunk.js.map +1 -0
  308. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ini.003b4149.chunk.js +2 -0
  309. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ini.003b4149.chunk.js.map +1 -0
  310. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_irpf90.6a198fc7.chunk.js +2 -0
  311. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_irpf90.6a198fc7.chunk.js.map +1 -0
  312. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_isbl.e9cf6e08.chunk.js +2 -0
  313. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_isbl.e9cf6e08.chunk.js.map +1 -0
  314. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_java.c96464e0.chunk.js +2 -0
  315. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_java.c96464e0.chunk.js.map +1 -0
  316. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_javascript.e88c5129.chunk.js +2 -0
  317. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_javascript.e88c5129.chunk.js.map +1 -0
  318. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_jbossCli.83466530.chunk.js +2 -0
  319. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_jbossCli.83466530.chunk.js.map +1 -0
  320. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_json.b7395612.chunk.js +2 -0
  321. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_json.b7395612.chunk.js.map +1 -0
  322. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_julia.fe310a0e.chunk.js +2 -0
  323. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_julia.fe310a0e.chunk.js.map +1 -0
  324. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_juliaRepl.f0bdb034.chunk.js +2 -0
  325. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_juliaRepl.f0bdb034.chunk.js.map +1 -0
  326. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_kotlin.b08b90f3.chunk.js +2 -0
  327. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_kotlin.b08b90f3.chunk.js.map +1 -0
  328. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lasso.e5dd3415.chunk.js +2 -0
  329. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lasso.e5dd3415.chunk.js.map +1 -0
  330. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_latex.70a85a56.chunk.js +2 -0
  331. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_latex.70a85a56.chunk.js.map +1 -0
  332. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ldif.17ed8595.chunk.js +2 -0
  333. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ldif.17ed8595.chunk.js.map +1 -0
  334. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_leaf.9e81ae3b.chunk.js +2 -0
  335. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_leaf.9e81ae3b.chunk.js.map +1 -0
  336. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_less.2d706a4a.chunk.js +2 -0
  337. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_less.2d706a4a.chunk.js.map +1 -0
  338. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lisp.e09ffb38.chunk.js +2 -0
  339. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lisp.e09ffb38.chunk.js.map +1 -0
  340. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_livecodeserver.fb7fa1bd.chunk.js +2 -0
  341. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_livecodeserver.fb7fa1bd.chunk.js.map +1 -0
  342. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_livescript.0367b344.chunk.js +2 -0
  343. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_livescript.0367b344.chunk.js.map +1 -0
  344. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_llvm.b7b471df.chunk.js +2 -0
  345. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_llvm.b7b471df.chunk.js.map +1 -0
  346. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lsl.3703d3d6.chunk.js +2 -0
  347. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lsl.3703d3d6.chunk.js.map +1 -0
  348. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lua.d066f704.chunk.js +2 -0
  349. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_lua.d066f704.chunk.js.map +1 -0
  350. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_makefile.db532360.chunk.js +2 -0
  351. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_makefile.db532360.chunk.js.map +1 -0
  352. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_markdown.15a4f8b6.chunk.js +2 -0
  353. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_markdown.15a4f8b6.chunk.js.map +1 -0
  354. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mathematica.12cc49c0.chunk.js +2 -0
  355. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mathematica.12cc49c0.chunk.js.map +1 -0
  356. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_matlab.c4d4eb67.chunk.js +2 -0
  357. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_matlab.c4d4eb67.chunk.js.map +1 -0
  358. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_maxima.60c478c0.chunk.js +2 -0
  359. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_maxima.60c478c0.chunk.js.map +1 -0
  360. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mel.b80a6243.chunk.js +2 -0
  361. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mel.b80a6243.chunk.js.map +1 -0
  362. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mercury.d1e79a83.chunk.js +2 -0
  363. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mercury.d1e79a83.chunk.js.map +1 -0
  364. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mipsasm.e89f0d76.chunk.js +2 -0
  365. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mipsasm.e89f0d76.chunk.js.map +1 -0
  366. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mizar.2fad9b33.chunk.js +2 -0
  367. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mizar.2fad9b33.chunk.js.map +1 -0
  368. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mojolicious.fdf944aa.chunk.js +2 -0
  369. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_mojolicious.fdf944aa.chunk.js.map +1 -0
  370. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_monkey.e5ec6191.chunk.js +2 -0
  371. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_monkey.e5ec6191.chunk.js.map +1 -0
  372. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_moonscript.f2b66b70.chunk.js +2 -0
  373. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_moonscript.f2b66b70.chunk.js.map +1 -0
  374. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_n1ql.6cf400a2.chunk.js +2 -0
  375. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_n1ql.6cf400a2.chunk.js.map +1 -0
  376. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nginx.69236b3b.chunk.js +2 -0
  377. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nginx.69236b3b.chunk.js.map +1 -0
  378. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nim.00b5534b.chunk.js +2 -0
  379. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nim.00b5534b.chunk.js.map +1 -0
  380. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nix.f66b6002.chunk.js +2 -0
  381. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nix.f66b6002.chunk.js.map +1 -0
  382. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nodeRepl.81666346.chunk.js +2 -0
  383. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nodeRepl.81666346.chunk.js.map +1 -0
  384. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nsis.0625e6b8.chunk.js +2 -0
  385. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_nsis.0625e6b8.chunk.js.map +1 -0
  386. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_objectivec.a72cf24d.chunk.js +2 -0
  387. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_objectivec.a72cf24d.chunk.js.map +1 -0
  388. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ocaml.e259908f.chunk.js +2 -0
  389. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ocaml.e259908f.chunk.js.map +1 -0
  390. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_oneC.66abc520.chunk.js +2 -0
  391. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_oneC.66abc520.chunk.js.map +1 -0
  392. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_openscad.3f645414.chunk.js +2 -0
  393. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_openscad.3f645414.chunk.js.map +1 -0
  394. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_oxygene.157adfc8.chunk.js +2 -0
  395. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_oxygene.157adfc8.chunk.js.map +1 -0
  396. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_parser3.6e413f5e.chunk.js +2 -0
  397. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_parser3.6e413f5e.chunk.js.map +1 -0
  398. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_perl.47014ef1.chunk.js +2 -0
  399. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_perl.47014ef1.chunk.js.map +1 -0
  400. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pf.1af1f4b3.chunk.js +2 -0
  401. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pf.1af1f4b3.chunk.js.map +1 -0
  402. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pgsql.38660a92.chunk.js +2 -0
  403. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pgsql.38660a92.chunk.js.map +1 -0
  404. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_php.e92f0640.chunk.js +2 -0
  405. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_php.e92f0640.chunk.js.map +1 -0
  406. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_phpTemplate.0372e2e4.chunk.js +2 -0
  407. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_phpTemplate.0372e2e4.chunk.js.map +1 -0
  408. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_plaintext.1b08385e.chunk.js +2 -0
  409. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_plaintext.1b08385e.chunk.js.map +1 -0
  410. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pony.7d0f6ed2.chunk.js +2 -0
  411. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pony.7d0f6ed2.chunk.js.map +1 -0
  412. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_powershell.d1b10369.chunk.js +2 -0
  413. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_powershell.d1b10369.chunk.js.map +1 -0
  414. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_processing.f638243c.chunk.js +2 -0
  415. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_processing.f638243c.chunk.js.map +1 -0
  416. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_profile.4c36bffa.chunk.js +2 -0
  417. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_profile.4c36bffa.chunk.js.map +1 -0
  418. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_prolog.f3254a38.chunk.js +2 -0
  419. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_prolog.f3254a38.chunk.js.map +1 -0
  420. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_properties.7a043394.chunk.js +2 -0
  421. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_properties.7a043394.chunk.js.map +1 -0
  422. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_protobuf.fdc8230f.chunk.js +2 -0
  423. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_protobuf.fdc8230f.chunk.js.map +1 -0
  424. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_puppet.6e63451e.chunk.js +2 -0
  425. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_puppet.6e63451e.chunk.js.map +1 -0
  426. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_purebasic.517c935e.chunk.js +2 -0
  427. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_purebasic.517c935e.chunk.js.map +1 -0
  428. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_python.ac43344f.chunk.js +2 -0
  429. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_python.ac43344f.chunk.js.map +1 -0
  430. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pythonRepl.dda4b87c.chunk.js +2 -0
  431. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_pythonRepl.dda4b87c.chunk.js.map +1 -0
  432. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_q.05aa4cef.chunk.js +2 -0
  433. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_q.05aa4cef.chunk.js.map +1 -0
  434. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_qml.19d8a2a9.chunk.js +2 -0
  435. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_qml.19d8a2a9.chunk.js.map +1 -0
  436. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_r.6092a281.chunk.js +2 -0
  437. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_r.6092a281.chunk.js.map +1 -0
  438. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_reasonml.920f9a7c.chunk.js +2 -0
  439. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_reasonml.920f9a7c.chunk.js.map +1 -0
  440. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rib.18a94d89.chunk.js +2 -0
  441. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rib.18a94d89.chunk.js.map +1 -0
  442. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_roboconf.7c9e7cd0.chunk.js +2 -0
  443. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_roboconf.7c9e7cd0.chunk.js.map +1 -0
  444. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_routeros.80a5fd04.chunk.js +2 -0
  445. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_routeros.80a5fd04.chunk.js.map +1 -0
  446. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rsl.f4a97f7d.chunk.js +2 -0
  447. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rsl.f4a97f7d.chunk.js.map +1 -0
  448. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ruby.47ccba90.chunk.js +2 -0
  449. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ruby.47ccba90.chunk.js.map +1 -0
  450. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ruleslanguage.d7509115.chunk.js +2 -0
  451. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_ruleslanguage.d7509115.chunk.js.map +1 -0
  452. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rust.a254cc81.chunk.js +2 -0
  453. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_rust.a254cc81.chunk.js.map +1 -0
  454. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sas.08cd6913.chunk.js +2 -0
  455. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sas.08cd6913.chunk.js.map +1 -0
  456. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scala.53d46ef7.chunk.js +2 -0
  457. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scala.53d46ef7.chunk.js.map +1 -0
  458. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scheme.cbfeb2ca.chunk.js +2 -0
  459. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scheme.cbfeb2ca.chunk.js.map +1 -0
  460. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scilab.69717390.chunk.js +2 -0
  461. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scilab.69717390.chunk.js.map +1 -0
  462. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scss.45023bc4.chunk.js +2 -0
  463. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_scss.45023bc4.chunk.js.map +1 -0
  464. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_shell.643b0f4f.chunk.js +2 -0
  465. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_shell.643b0f4f.chunk.js.map +1 -0
  466. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_smali.24d94a2c.chunk.js +2 -0
  467. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_smali.24d94a2c.chunk.js.map +1 -0
  468. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_smalltalk.a1699a88.chunk.js +2 -0
  469. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_smalltalk.a1699a88.chunk.js.map +1 -0
  470. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sml.b430a4ca.chunk.js +2 -0
  471. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sml.b430a4ca.chunk.js.map +1 -0
  472. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sqf.dd4d51f6.chunk.js +2 -0
  473. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sqf.dd4d51f6.chunk.js.map +1 -0
  474. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sql.f818ddde.chunk.js +2 -0
  475. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sql.f818ddde.chunk.js.map +1 -0
  476. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sqlMore.7bf1e358.chunk.js +2 -0
  477. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_sqlMore.7bf1e358.chunk.js.map +1 -0
  478. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stan.625ebea2.chunk.js +2 -0
  479. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stan.625ebea2.chunk.js.map +1 -0
  480. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stata.68a930f3.chunk.js +2 -0
  481. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stata.68a930f3.chunk.js.map +1 -0
  482. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_step21.d4291027.chunk.js +2 -0
  483. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_step21.d4291027.chunk.js.map +1 -0
  484. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stylus.3b7031b9.chunk.js +2 -0
  485. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_stylus.3b7031b9.chunk.js.map +1 -0
  486. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_subunit.e4ea5413.chunk.js +2 -0
  487. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_subunit.e4ea5413.chunk.js.map +1 -0
  488. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_swift.cf4ec513.chunk.js +2 -0
  489. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_swift.cf4ec513.chunk.js.map +1 -0
  490. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_taggerscript.0cb0578c.chunk.js +2 -0
  491. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_taggerscript.0cb0578c.chunk.js.map +1 -0
  492. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tap.e2194878.chunk.js +2 -0
  493. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tap.e2194878.chunk.js.map +1 -0
  494. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tcl.9a6c577b.chunk.js +2 -0
  495. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tcl.9a6c577b.chunk.js.map +1 -0
  496. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_thrift.1548e34d.chunk.js +2 -0
  497. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_thrift.1548e34d.chunk.js.map +1 -0
  498. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tp.c608d992.chunk.js +2 -0
  499. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_tp.c608d992.chunk.js.map +1 -0
  500. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_twig.6b4054dd.chunk.js +2 -0
  501. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_twig.6b4054dd.chunk.js.map +1 -0
  502. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_typescript.b764ee8b.chunk.js +2 -0
  503. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_typescript.b764ee8b.chunk.js.map +1 -0
  504. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vala.917594d4.chunk.js +2 -0
  505. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vala.917594d4.chunk.js.map +1 -0
  506. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbnet.e83a46fb.chunk.js +2 -0
  507. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbnet.e83a46fb.chunk.js.map +1 -0
  508. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbscript.caea633d.chunk.js +2 -0
  509. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbscript.caea633d.chunk.js.map +1 -0
  510. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.73fc4c05.chunk.js +2 -0
  511. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.73fc4c05.chunk.js.map +1 -0
  512. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_verilog.93d0d327.chunk.js +2 -0
  513. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_verilog.93d0d327.chunk.js.map +1 -0
  514. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vhdl.a98781bd.chunk.js +2 -0
  515. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vhdl.a98781bd.chunk.js.map +1 -0
  516. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vim.2cb77785.chunk.js +2 -0
  517. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_vim.2cb77785.chunk.js.map +1 -0
  518. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_x86asm.fbcd5fed.chunk.js +2 -0
  519. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_x86asm.fbcd5fed.chunk.js.map +1 -0
  520. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xl.3b233004.chunk.js +2 -0
  521. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xl.3b233004.chunk.js.map +1 -0
  522. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xml.6b5feb4c.chunk.js +2 -0
  523. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xml.6b5feb4c.chunk.js.map +1 -0
  524. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xquery.4c158dae.chunk.js +2 -0
  525. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_xquery.4c158dae.chunk.js.map +1 -0
  526. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_yaml.1bd2dc88.chunk.js +2 -0
  527. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_yaml.1bd2dc88.chunk.js.map +1 -0
  528. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_zephir.e84f063b.chunk.js +2 -0
  529. package/dist-scalprum/static/react-syntax-highlighter_languages_highlight_zephir.e84f063b.chunk.js.map +1 -0
  530. package/package.json +2 -2
  531. /package/dist/static/{main.4487ce49.js → main.70b7537d.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/exposed-ApiIcon.da16b2cc.chunk.js","mappings":";+KASa,IAAAA,EAAMC,EAAQ,OAAOC,EAAAC,OAAAC,IAAA,iBAAAC,EAAAF,OAAAC,IAAA,kBAAAE,EAAAC,OAAAC,UAAAC,eAAAC,EAAAV,EAAAW,mDAAAC,kBAAAC,EAAA,CAA6KC,KAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,UAAA,GAC/M,SAAAC,EAAAC,EAAAC,EAAAC,GAAkB,IAAAC,EAAAC,EAAA,GAAUC,EAAA,KAAAC,EAAA,KAA2F,IAAAH,UAA5E,IAAAD,IAAAG,EAAA,GAAAH,QAAqB,IAAAD,EAAAN,MAAAU,EAAA,GAAAJ,EAAAN,UAA6B,IAAAM,EAAAL,MAAAU,EAAAL,EAAAL,KAA0BK,EAAAd,EAAAoB,KAAAN,EAAAE,KAAAT,EAAAJ,eAAAa,KAAAC,EAAAD,GAAAF,EAAAE,IAA0D,GAAAH,GAAAA,EAAAQ,aAAA,IAAAL,KAAAF,EAAAD,EAAAQ,kBAAA,IAAAJ,EAAAD,KAAAC,EAAAD,GAAAF,EAAAE,IAA4E,OAAOM,SAAA1B,EAAA2B,KAAAV,EAAAL,IAAAU,EAAAT,IAAAU,EAAAK,MAAAP,EAAAQ,OAAArB,EAAAsB,QAAA,CAAwDC,EAAAC,SAAgB7B,EAAG4B,EAAAE,IAAWjB,EAAGe,EAAAG,KAAYlB,gCCPvWmB,EAAAJ,QAAAhC,EAAA,8JCGK,MAAMqC,EAAWR,IAAwB,EAAAS,EAAAJ,KAACK,EAAAA,EAAWA,IAAKV,IACpDW,EAAWX,IAAwB,EAAAS,EAAAJ,KAACO,EAAAA,EAAWA,IAAKZ,IACpDa,EAAgBb,IAAwB,EAAAS,EAAAJ,KAACS,EAAAA,EAAgBA,IAAKd,eCR3E,SAAAe,IACA,OAAAR,EAAAJ,QAAAY,EAAAtC,OAAAuC,OAAAvC,OAAAuC,OAAAC,OAAA,SAAArC,GACA,QAAAc,EAAA,EAAoBA,EAAAwB,UAAAC,OAAsBzB,IAAA,CAC1C,IAAA0B,EAAAF,UAAAxB,GACA,QAAA2B,KAAAD,GAAA,CAA0B,GAAAzC,eAAAiB,KAAAwB,EAAAC,KAAAzC,EAAAyC,GAAAD,EAAAC,GAC1B,CACA,OAAAzC,CACA,EAAK2B,EAAAJ,QAAAmB,YAAyB,EAASf,EAAAJ,QAAA,QAAyBI,EAAAJ,QAAAY,EAAAQ,MAAA,KAAAL,UAChE,CACAX,EAAAJ,QAAAY,EAA2BR,EAAAJ,QAAAmB,YAAyB,EAASf,EAAAJ,QAAA,QAAyBI,EAAAJ,kBCJtFI,EAAAJ,QALA,SAAAT,GACA,OAAAA,GAAAA,EAAA4B,WAAA5B,EAAA,CACA8B,QAAA9B,EAEA,EACyCa,EAAAJ,QAAAmB,YAAyB,EAASf,EAAAJ,QAAA,QAAyBI,EAAAJ,mBCIpGI,EAAAJ,QATA,SAAAkB,EAAA3B,GACA,SAAA2B,EAAA,SACA,IAAAD,EAAA,GACA,QAAAxC,KAAAyC,EAAA,MAAyB1C,eAAAiB,KAAAyB,EAAAzC,GAAA,CACzB,QAAAc,EAAA+B,QAAA7C,GAAA,SACAwC,EAAAxC,GAAAyC,EAAAzC,EACA,CACA,OAAAwC,CACA,EACgDb,EAAAJ,QAAAmB,YAAyB,EAASf,EAAAJ,QAAA,QAAyBI,EAAAJ,sCCT3G,SAAAY,IACA,OAAAA,EAAAtC,OAAAuC,OAAAvC,OAAAuC,OAAAC,OAAA,SAAArC,GACA,QAAAc,EAAA,EAAoBA,EAAAwB,UAAAC,OAAsBzB,IAAA,CAC1C,IAAA0B,EAAAF,UAAAxB,GACA,QAAA2B,KAAAD,GAAA,CAA0B,GAAAzC,eAAAiB,KAAAwB,EAAAC,KAAAzC,EAAAyC,GAAAD,EAAAC,GAC1B,CACA,OAAAzC,CACA,EAAGmC,EAAAQ,MAAA,KAAAL,UACH,gDCRA,SAAAQ,EAAAL,EAAA3B,GACA,SAAA2B,EAAA,SACA,IAAAD,EAAA,GACA,QAAAxC,KAAAyC,EAAA,MAAyB1C,eAAAiB,KAAAyB,EAAAzC,GAAA,CACzB,QAAAc,EAAA+B,QAAA7C,GAAA,SACAwC,EAAAxC,GAAAyC,EAAAzC,EACA,CACA,OAAAwC,CACA","sources":["webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react/jsx-runtime.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/icons.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/extends.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React from 'react';\nimport ApiOutlined from '@mui/icons-material/ApiOutlined';\nimport KeyOutlined from '@mui/icons-material/KeyOutlined';\nimport ApprovalOutlined from '@mui/icons-material/ApprovalOutlined';\nimport { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const ApiIcon = (props: SvgIconProps) => <ApiOutlined {...props} />;\nexport const KeyIcon = (props: SvgIconProps) => <KeyOutlined {...props} />;\nexport const ApprovalIcon = (props: SvgIconProps) => <ApprovalOutlined {...props} />;\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };"],"names":["f","__webpack_require__","k","Symbol","for","l","m","Object","prototype","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","q","c","a","g","b","d","e","h","call","defaultProps","$$typeof","type","props","_owner","current","exports","Fragment","jsx","jsxs","module","ApiIcon","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","ApiOutlined","KeyIcon","KeyOutlined","ApprovalIcon","ApprovalOutlined","_extends","assign","bind","arguments","length","t","r","__esModule","apply","default","indexOf","_objectWithoutPropertiesLoose"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see exposed-KuadrantIcon.e9227839.chunk.js.LICENSE.txt */
2
+ (self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend=self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend||[]).push([[635,8747],{73335:(r,e,t)=>{"use strict";var n=t(95478),o=Symbol.for("react.element"),s=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,u=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function i(r,e,t){var n,s={},i=null,f=null;for(n in void 0!==t&&(i=""+t),void 0!==e.key&&(i=""+e.key),void 0!==e.ref&&(f=e.ref),e)a.call(e,n)&&!l.hasOwnProperty(n)&&(s[n]=e[n]);if(r&&r.defaultProps)for(n in e=r.defaultProps)void 0===s[n]&&(s[n]=e[n]);return{$$typeof:o,type:r,key:i,ref:f,props:s,_owner:u.current}}e.Fragment=s,e.jsx=i,e.jsxs=i},31085:(r,e,t)=>{"use strict";r.exports=t(73335)},19833:(r,e,t)=>{"use strict";t.d(e,{m:()=>s});var n=t(31085),o=(t(95478),t(23015));const s=r=>(0,n.jsxs)(o.A,{...r,viewBox:"0 0 1024 1024",sx:{transform:"scale(0.85)",marginLeft:"4px",...r.sx},children:[(0,n.jsx)("path",{d:"M809,1C993.59,183.56 1065.7,449.65 998.12,699.05C964.778,821.823 899.519,933.607 809,1023L292.27,512L809,1Z",fill:"currentColor"}),(0,n.jsx)("rect",{x:"1",y:"1",width:"218",height:"1022",fill:"currentColor"})]})},59750:(r,e,t)=>{"use strict";t.r(e),t.d(e,{KuadrantIcon:()=>n.m});var n=t(19833)},24505:r=>{function e(){return r.exports=e=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},r.exports.__esModule=!0,r.exports.default=r.exports,e.apply(null,arguments)}r.exports=e,r.exports.__esModule=!0,r.exports.default=r.exports},4293:r=>{r.exports=function(r){return r&&r.__esModule?r:{default:r}},r.exports.__esModule=!0,r.exports.default=r.exports},51112:r=>{r.exports=function(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n]}return t},r.exports.__esModule=!0,r.exports.default=r.exports},89575:(r,e,t)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},n.apply(null,arguments)}t.d(e,{A:()=>n})},17502:(r,e,t)=>{"use strict";function n(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n]}return t}t.d(e,{A:()=>n})}}]);
3
+ //# sourceMappingURL=exposed-KuadrantIcon.e9227839.chunk.js.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license React
3
+ * react-jsx-runtime.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/exposed-KuadrantIcon.e9227839.chunk.js","mappings":"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","sources":["webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react/jsx-runtime.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/KuadrantIcon/KuadrantIcon.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/extends.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const KuadrantIcon = (props: SvgIconProps) => (\n <SvgIcon\n {...props}\n viewBox=\"0 0 1024 1024\"\n sx={{ transform: 'scale(0.85)', marginLeft: '4px', ...props.sx }}\n >\n <path\n d=\"M809,1C993.59,183.56 1065.7,449.65 998.12,699.05C964.778,821.823 899.519,933.607 809,1023L292.27,512L809,1Z\"\n fill=\"currentColor\"\n />\n <rect x=\"1\" y=\"1\" width=\"218\" height=\"1022\" fill=\"currentColor\" />\n </SvgIcon>\n);\n","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };"],"names":["f","__webpack_require__","k","Symbol","for","l","m","Object","prototype","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","q","c","a","g","b","d","e","h","call","defaultProps","$$typeof","type","props","_owner","current","exports","Fragment","jsx","jsxs","module","KuadrantIcon","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","SvgIcon","viewBox","sx","transform","marginLeft","path","fill","rect","x","y","width","height","_extends","assign","bind","arguments","length","t","r","__esModule","apply","default","indexOf","_objectWithoutPropertiesLoose"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend=self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend||[]).push([[6921],{72627:(e,n,t)=>{t.r(n),t.d(n,{ApiKeyApprovalPage:()=>c,ApiKeyDetailPage:()=>A,ApiProductDetailPage:()=>g,ApiProductsPage:()=>d,EntityKuadrantApiAccessCard:()=>s,EntityKuadrantApiKeyManagementTab:()=>l,EntityKuadrantApiKeysContent:()=>m,EntityKuadrantApiProductInfoContent:()=>P,EntityKuadrantApiProductOpenApiAlert:()=>y,KuadrantPage:()=>p,MyApiKeysPage:()=>u,kuadrantPlugin:()=>r});var a=t(22097);const o=(0,a.createRouteRef)({id:"kuadrant"}),i=(0,a.createSubRouteRef)({id:"kuadrant/resource",parent:o,path:"/:kind/:namespace/:name"}),r=(0,a.createPlugin)({id:"kuadrant",routes:{root:o,resource:i}}),p=r.provide((0,a.createRoutableExtension)({name:"KuadrantPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(5010),t.e(8563),t.e(1931),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(7651),t.e(2821)]).then(t.bind(t,80243)).then(e=>e.ApiProductsPage),mountPoint:o})),d=r.provide((0,a.createRoutableExtension)({name:"ApiProductsPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(5010),t.e(8563),t.e(1931),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(7651),t.e(2821)]).then(t.bind(t,80243)).then(e=>e.ApiProductsPage),mountPoint:o})),u=r.provide((0,a.createRoutableExtension)({name:"MyApiKeysPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7076),t.e(6837),t.e(5010),t.e(8563),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(7270)]).then(t.bind(t,37270)).then(e=>e.MyApiKeysPage),mountPoint:o})),c=r.provide((0,a.createRoutableExtension)({name:"ApiKeyApprovalPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(5010),t.e(8563),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(3917)]).then(t.bind(t,73917)).then(e=>e.ApiKeyApprovalPageWithPermissions),mountPoint:o})),s=r.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiAccessCard",component:{lazy:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(438),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(1719)]).then(t.bind(t,11719)).then(e=>e.ApiAccessCard)}})),l=r.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiKeyManagementTab",component:{lazy:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(5010),t.e(5478),t.e(5427),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(2251),t.e(8170)]).then(t.bind(t,42708)).then(e=>e.ApiKeyManagementTab)}})),m=r.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiKeysContent",component:{lazy:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(5010),t.e(5478),t.e(5427),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(2251),t.e(8170)]).then(t.bind(t,42708)).then(e=>e.ApiKeyManagementTab)}})),P=r.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiProductInfoContent",component:{lazy:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(7293),t.e(327),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(3947),t.e(4712)]).then(t.bind(t,34908)).then(e=>e.ApiProductInfoCard)}})),A=r.provide((0,a.createRoutableExtension)({name:"ApiKeyDetailPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(7076),t.e(8563),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(2967)]).then(t.bind(t,72967)).then(e=>e.ApiKeyDetailPage),mountPoint:o})),y=r.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiProductOpenApiAlert",component:{lazy:()=>Promise.all([t.e(9400),t.e(20),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(6371)]).then(t.bind(t,36371)).then(e=>e.ApiProductOpenApiAlert)}})),g=r.provide((0,a.createRoutableExtension)({name:"ApiProductDetailPage",component:()=>Promise.all([t.e(4083),t.e(9400),t.e(20),t.e(1340),t.e(5197),t.e(5943),t.e(7293),t.e(7076),t.e(6837),t.e(8563),t.e(2769),t.e(5478),t.e(5427),t.e(9634),t.e(484),t.e(1942),t.e(7976),t.e(3658),t.e(7651),t.e(3947),t.e(7791)]).then(t.bind(t,57791)).then(e=>e.ApiProductDetailPage),mountPoint:o}))}}]);
2
+ //# sourceMappingURL=exposed-KuadrantPage.832aec5b.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/exposed-KuadrantPage.832aec5b.chunk.js","mappings":"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","sources":["webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/routes.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/plugin.ts"],"sourcesContent":["import { createRouteRef, createSubRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'kuadrant',\n});\n\nexport const resourceRouteRef = createSubRouteRef({\n id: 'kuadrant/resource',\n parent: rootRouteRef,\n path: '/:kind/:namespace/:name',\n});\n","import {\n createPlugin,\n createRoutableExtension,\n createComponentExtension,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef, resourceRouteRef } from './routes';\n\nexport const kuadrantPlugin = createPlugin({\n id: 'kuadrant',\n routes: {\n root: rootRouteRef,\n resource: resourceRouteRef,\n },\n});\n\nexport const KuadrantPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'KuadrantPage',\n component: () =>\n import('./components/KuadrantPage').then(m => m.ApiProductsPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const ApiProductsPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiProductsPage',\n component: () =>\n import('./components/KuadrantPage').then(m => m.ApiProductsPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const MyApiKeysPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'MyApiKeysPage',\n component: () =>\n import('./components/MyApiKeysPage').then(m => m.MyApiKeysPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const ApiKeyApprovalPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiKeyApprovalPage',\n component: () =>\n import('./components/ApiKeyApprovalPage').then(m => m.ApiKeyApprovalPageWithPermissions),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const EntityKuadrantApiAccessCard = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiAccessCard',\n component: {\n lazy: () =>\n import('./components/ApiAccessCard').then(m => m.ApiAccessCard),\n },\n }),\n);\n\nexport const EntityKuadrantApiKeyManagementTab = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiKeyManagementTab',\n component: {\n lazy: () =>\n import('./components/ApiKeyManagementTab').then(m => m.ApiKeyManagementTab),\n },\n }),\n);\n\n// entity content extension for api keys tab\nexport const EntityKuadrantApiKeysContent = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiKeysContent',\n component: {\n lazy: () =>\n import('./components/ApiKeyManagementTab').then(m => m.ApiKeyManagementTab),\n },\n }),\n);\n\nexport const EntityKuadrantApiProductInfoContent = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiProductInfoContent',\n component: {\n lazy: () =>\n import('./components/ApiProductInfoCard').then(m => m.ApiProductInfoCard),\n },\n }),\n);\n\nexport const ApiKeyDetailPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiKeyDetailPage',\n component: () =>\n import('./components/ApiKeyDetailPage').then(m => m.ApiKeyDetailPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const EntityKuadrantApiProductOpenApiAlert = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiProductOpenApiAlert',\n component: {\n lazy: () =>\n import('./components/ApiProductOpenApiAlert').then(m => m.ApiProductOpenApiAlert),\n },\n }),\n);\n\nexport const ApiProductDetailPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiProductDetailPage',\n component: () =>\n import('./components/ApiProductDetailPage').then(m => m.ApiProductDetailPage),\n mountPoint: rootRouteRef,\n }),\n);\n"],"names":["rootRouteRef","createRouteRef","id","resourceRouteRef","createSubRouteRef","parent","path","kuadrantPlugin","createPlugin","routes","root","resource","KuadrantPage","provide","createRoutableExtension","name","component","Promise","all","__webpack_require__","e","then","bind","m","ApiProductsPage","mountPoint","MyApiKeysPage","ApiKeyApprovalPage","ApiKeyApprovalPageWithPermissions","EntityKuadrantApiAccessCard","createComponentExtension","lazy","ApiAccessCard","EntityKuadrantApiKeyManagementTab","ApiKeyManagementTab","EntityKuadrantApiKeysContent","EntityKuadrantApiProductInfoContent","ApiProductInfoCard","ApiKeyDetailPage","EntityKuadrantApiProductOpenApiAlert","ApiProductOpenApiAlert","ApiProductDetailPage"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend=self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend||[]).push([[879,6921],{91638:(e,t,n)=>{var a=n(85608),i=n(95478),r=a.__importDefault(n(5030));t.A=function(e,t){void 0===t&&(t=[]);var n=r.default(e,t,{loading:!0}),a=n[0],o=n[1];return i.useEffect(function(){o()},[o]),a}},5030:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=n(85608),i=n(95478),r=a.__importDefault(n(10009));t.default=function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n={loading:!1});var o=i.useRef(0),s=r.default(),d=i.useState(n),l=d[0],c=d[1],u=i.useCallback(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var i=++o.current;return l.loading||c(function(e){return a.__assign(a.__assign({},e),{loading:!0})}),e.apply(void 0,t).then(function(e){return s()&&i===o.current&&c({value:e,loading:!1}),e},function(e){return s()&&i===o.current&&c({error:e,loading:!1}),e})},t);return[l,u]}},10009:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var a=n(95478);t.default=function(){var e=a.useRef(!1),t=a.useCallback(function(){return e.current},[]);return a.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}},89670:(e,t,n)=>{n.r(t),n.d(t,{kuadrantApiFactory:()=>r});var a=n(22097),i=n(70980);const r=(0,a.createApiFactory)({api:i.s,deps:{discoveryApi:a.discoveryApiRef,fetchApi:a.fetchApiRef,identityApi:a.identityApiRef},factory:({discoveryApi:e,fetchApi:t,identityApi:n})=>new i.y({discoveryApi:e,fetchApi:t,identityApi:n})})},57349:(e,t,n)=>{n.d(t,{z:()=>j});var a=n(31085),i=n(95478),r=n(35015),o=n(96040),s=n(42367),d=n(10394),l=n(72501),c=n(67720),u=n(71677),p=n(29365),A=n(64947),m=n(4387),P=n(18466),y=n(32269),f=n(61524),v=n(99594),h=n(22097),g=n(70980),x=n(25467),k=n(14933),b=n(46205),K=n(34955);const j=({namespace:e})=>{var t,n,j;const{entity:w}=(0,x.tN)(),C=(0,h.useApi)(g.s),I=(0,h.useApi)(h.identityApiRef),E=(0,h.useApi)(h.alertApiRef),[R,S]=(0,i.useState)(""),[_,D]=(0,i.useState)(!1),[O,M]=(0,i.useState)(0),[z,L]=(0,i.useState)(new Set),[F,T]=(0,i.useState)(new Map),[B,U]=(0,i.useState)(new Set),$=(null===(t=w.metadata.annotations)||void 0===t?void 0:t["kuadrant.io/apiproduct"])||w.metadata.name,N=(null===(n=w.metadata.annotations)||void 0===n?void 0:n["kuadrant.io/namespace"])||e||"default";(0,r.A)(async()=>{const e=await I.getProfileInfo();S(e.email||"")},[I]);const{value:q,loading:W,error:V}=(0,r.A)(async()=>((await C.getRequestsByApiProduct($,N)).items||[]).filter(e=>{var t;return"Approved"===(null===(t=e.status)||void 0===t?void 0:t.phase)}),[N,$,C,O]),{value:Y,loading:G}=(0,r.A)(async()=>{try{var e;return null===(e=(await C.getApiProducts()).items)||void 0===e?void 0:e.find(e=>e.metadata.namespace===N&&e.metadata.name===$)}catch(e){return null}},[N,$,C]),H=Y?`apiproduct:${Y.metadata.namespace}/${Y.metadata.name}`:void 0,{allowed:J,loading:Z}=(0,b.l)(K.dp,H),Q=e=>{L(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};if(W||G||Z)return(0,a.jsx)(o.n,{title:"Kuadrant API Keys",children:(0,a.jsxs)(d.A,{p:2,children:[(0,a.jsx)(m.A,{variant:"text",width:"80%"}),(0,a.jsx)(m.A,{variant:"text",width:"60%"}),(0,a.jsx)(m.A,{variant:"text",width:"70%"})]})});if(V)return(0,a.jsx)(s._,{error:V});const X=q||[],ee=(null==Y||null===(j=Y.status)||void 0===j?void 0:j.discoveredPlans)||[],te=J&&ee.length>0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.n,{title:"Kuadrant API Keys",children:(0,a.jsxs)(d.A,{p:2,children:[X.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(l.A,{variant:"body2",color:"textSecondary",gutterBottom:!0,children:[X.length," active key",1!==X.length?"s":""]}),X.map(e=>{var t,n;const i=`${e.metadata.namespace}/${e.metadata.name}`,r=z.has(e.metadata.name),o=B.has(i),s=F.get(i),A=Boolean(null===(n=e.spec)||void 0===n||null===(t=n.secretRef)||void 0===t?void 0:t.name);return(0,a.jsxs)(d.A,{mb:1,p:1.5,border:1,borderColor:"grey.300",borderRadius:4,children:[(0,a.jsxs)(d.A,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1,children:[(0,a.jsx)(l.A,{variant:"body2",style:{fontWeight:500},children:e.metadata.name}),(0,a.jsx)(c.A,{label:e.spec.planTier,color:"primary",size:"small"})]}),A&&(0,a.jsxs)(d.A,{display:"flex",alignItems:"center",children:[(0,a.jsx)(l.A,{variant:"body2",style:{fontFamily:"monospace",fontSize:"0.8rem",flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:o?"Loading...":r&&s?s:"••••••••••••••••"}),r&&s&&(0,a.jsx)(u.Ay,{title:"Copy to clipboard",children:(0,a.jsx)(p.A,{size:"small",onClick:async()=>{s&&(await navigator.clipboard.writeText(s),E.post({message:"API key copied to clipboard",severity:"success",display:"transient"}))},children:(0,a.jsx)(v.A,{fontSize:"small"})})}),(0,a.jsx)(u.Ay,{title:r?"Hide API key":"Reveal API key",children:(0,a.jsx)("span",{children:(0,a.jsx)(p.A,{size:"small",onClick:()=>{r?(((e,t)=>{const n=`${e}/${t}`;T(e=>{const t=new Map(e);return t.delete(n),t})})(e.metadata.namespace,e.metadata.name),Q(e.metadata.name)):(async(e,t)=>{const n=`${e}/${t}`;if(!B.has(n)){U(e=>new Set(e).add(n));try{const a=await C.getApiKeySecret(e,t);T(e=>new Map(e).set(n,a.apiKey)),Q(t)}catch(e){console.error("failed to fetch api key:",e);const t=e instanceof Error?e.message:"unknown error occurred";E.post({message:`Failed to fetch APIKey. ${t}`,severity:"error",display:"transient"})}finally{U(e=>{const t=new Set(e);return t.delete(n),t})}}})(e.metadata.namespace,e.metadata.name)},disabled:o,children:r?(0,a.jsx)(f.A,{fontSize:"small"}):(0,a.jsx)(y.A,{fontSize:"small"})})})})]})]},e.metadata.name)})]}):(0,a.jsx)(l.A,{variant:"body1",gutterBottom:!0,children:"You don't have any API keys for this API yet"}),(0,a.jsx)(d.A,{mt:2,children:te?(0,a.jsx)(A.A,{variant:"contained",color:"primary",size:"small",startIcon:(0,a.jsx)(P.A,{}),onClick:()=>D(!0),"data-testid":"request-api-access-button",children:"Request API Access"}):(0,a.jsx)(l.A,{variant:"caption",color:"textSecondary",children:"Visit the API Keys tab to view and manage access"})})]})}),(0,a.jsx)(k.c,{open:_,onClose:()=>D(!1),onSuccess:()=>{D(!1),M(e=>e+1)},apiProductName:$,namespace:N,userEmail:R,plans:ee})]})}},34541:(e,t,n)=>{n.d(t,{G:()=>h});var a=n(31085),i=(n(95478),n(25467)),r=n(22097),o=n(96040),s=n(42367),d=n(58837),l=n(72501),c=n(10394),u=n(4387),p=n(91638),A=n(46205),m=n(34955),P=n(89509),y=n(71255),f=n(70980);const v=(0,d.A)(e=>({label:{fontWeight:600,color:e.palette.text.secondary,marginBottom:e.spacing(.5),fontSize:"0.75rem",textTransform:"uppercase"}})),h=()=>{var e,t,n,d,h,g,x,k,b,K;const j=v(),{entity:w}=(0,i.tN)(),C=(0,r.useApi)(f.s),I=(0,r.useApi)(r.identityApiRef),{allowed:E,loading:R}=(0,A.l)(m.Al),S=null===(e=w.metadata.annotations)||void 0===e?void 0:e["kuadrant.io/namespace"],_=null===(t=w.metadata.annotations)||void 0===t?void 0:t["kuadrant.io/apiproduct"],{value:D}=(0,p.A)(async()=>(await I.getBackstageIdentity()).userEntityRef.split("/")[1]||"guest",[I]),{value:O,loading:M,error:z}=(0,p.A)(async()=>S&&_?C.getApiProduct(S,_):null,[C,S,_]),L=null==O||null===(d=O.metadata)||void 0===d||null===(n=d.annotations)||void 0===n?void 0:n["backstage.io/owner"],F=null==L?void 0:L.split("/")[1],T=E||D&&F===D;if(!S||!_)return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(l.A,{children:"No APIProduct linked to this API entity"})});if(M||R)return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(c.A,{p:2,children:[...Array(5)].map((e,t)=>(0,a.jsx)(c.A,{mb:2,children:(0,a.jsx)(u.A,{variant:"text",width:"100%"})},t))})});if(O&&!T)return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(c.A,{p:2,children:(0,a.jsx)(l.A,{variant:"body2",color:"textSecondary",children:"You don't have permission to view this API product's details. Only the API owner or users with admin permissions can view this information."})})});if(z&&z.message.includes("you can only read your own"))return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(c.A,{p:2,children:(0,a.jsx)(l.A,{variant:"body2",color:"textSecondary",children:"You don't have permission to view this API product's details. Only the API owner or users with admin permissions can view this information."})})});if(z)return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(s._,{error:z})});if(!O)return(0,a.jsx)(o.n,{title:"API Product Information",children:(0,a.jsx)(l.A,{children:"APIProduct not found"})});const B=(null===(g=O.status)||void 0===g||null===(h=g.discoveredAuthScheme)||void 0===h?void 0:h.authentication)||{},U=Object.values(B).find(e=>e.hasOwnProperty("jwt")),$=Boolean(U),N=null==U||null===(x=U.jwt)||void 0===x?void 0:x.issuerUrl,q=null===(b=O.status)||void 0===b||null===(k=b.oidcDiscovery)||void 0===k?void 0:k.tokenEndpoint;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.n,{title:"API Product Details",children:[(0,a.jsxs)(c.A,{mb:2,children:[(0,a.jsx)(l.A,{variant:"caption",className:j.label,children:"Product Name"}),(0,a.jsx)(l.A,{variant:"h6",children:(null===(K=O.spec)||void 0===K?void 0:K.displayName)||_})]}),(0,a.jsx)(P.O,{product:O,showStatus:!1,showCatalogLink:!1})]}),$&&N&&(0,a.jsx)(c.A,{mt:2,children:(0,a.jsx)(y.n,{issuerUrl:N,tokenEndpoint:q})})]})}},19833:(e,t,n)=>{n.d(t,{m:()=>r});var a=n(31085),i=(n(95478),n(23015));const r=e=>(0,a.jsxs)(i.A,{...e,viewBox:"0 0 1024 1024",sx:{transform:"scale(0.85)",marginLeft:"4px",...e.sx},children:[(0,a.jsx)("path",{d:"M809,1C993.59,183.56 1065.7,449.65 998.12,699.05C964.778,821.823 899.519,933.607 809,1023L292.27,512L809,1Z",fill:"currentColor"}),(0,a.jsx)("rect",{x:"1",y:"1",width:"218",height:"1022",fill:"currentColor"})]})},28414:(e,t,n)=>{n.r(t),n.d(t,{ApiIcon:()=>s,ApprovalIcon:()=>l,KeyIcon:()=>d});var a=n(31085),i=(n(95478),n(2350)),r=n(86733),o=n(98899);const s=e=>(0,a.jsx)(i.A,{...e}),d=e=>(0,a.jsx)(r.A,{...e}),l=e=>(0,a.jsx)(o.A,{...e})},30911:(e,t,n)=>{n.r(t),n.d(t,{ApiAccessCard:()=>i.z,ApiIcon:()=>d.ApiIcon,ApiKeyApprovalPage:()=>a.ApiKeyApprovalPage,ApiKeyDetailPage:()=>a.ApiKeyDetailPage,ApiKeyManagementTab:()=>r._,ApiProductDetailPage:()=>a.ApiProductDetailPage,ApiProductInfoCard:()=>o.G,ApiProductsPage:()=>a.ApiProductsPage,ApprovalIcon:()=>d.ApprovalIcon,EntityKuadrantApiAccessCard:()=>a.EntityKuadrantApiAccessCard,EntityKuadrantApiKeyManagementTab:()=>a.EntityKuadrantApiKeyManagementTab,EntityKuadrantApiKeysContent:()=>a.EntityKuadrantApiKeysContent,EntityKuadrantApiProductInfoContent:()=>a.EntityKuadrantApiProductInfoContent,EntityKuadrantApiProductOpenApiAlert:()=>a.EntityKuadrantApiProductOpenApiAlert,KeyIcon:()=>d.KeyIcon,KuadrantIcon:()=>s.m,KuadrantPage:()=>a.KuadrantPage,MyApiKeysPage:()=>a.MyApiKeysPage,kuadrantApiFactory:()=>u.kuadrantApiFactory,kuadrantApiKeyApprovePermission:()=>l.KV,kuadrantApiKeyCreatePermission:()=>l.dp,kuadrantApiKeyDeleteAllPermission:()=>l.jH,kuadrantApiKeyDeleteOwnPermission:()=>l.uL,kuadrantApiKeyReadAllPermission:()=>l.kd,kuadrantApiKeyReadOwnPermission:()=>l.DS,kuadrantApiKeyUpdateAllPermission:()=>l.z4,kuadrantApiKeyUpdateOwnPermission:()=>l.q0,kuadrantApiProductCreatePermission:()=>l.FL,kuadrantApiProductDeleteAllPermission:()=>l.R_,kuadrantApiProductDeleteOwnPermission:()=>l.EM,kuadrantApiProductListPermission:()=>l.vs,kuadrantApiProductReadAllPermission:()=>l.Al,kuadrantApiProductReadOwnPermission:()=>l.T0,kuadrantApiProductUpdateAllPermission:()=>l.v_,kuadrantApiProductUpdateOwnPermission:()=>l.U3,kuadrantApiRef:()=>c.s,kuadrantAuthPolicyListPermission:()=>l.WE,kuadrantPermissions:()=>l.L5,kuadrantPlanPolicyCreatePermission:()=>l.Lb,kuadrantPlanPolicyDeletePermission:()=>l.Kx,kuadrantPlanPolicyListPermission:()=>l.J,kuadrantPlanPolicyReadPermission:()=>l.VS,kuadrantPlanPolicyUpdatePermission:()=>l.sB,kuadrantPlugin:()=>a.kuadrantPlugin,kuadrantRateLimitPolicyListPermission:()=>l.xO});var a=n(72627),i=n(57349),r=n(82251),o=n(34541),s=n(19833),d=n(28414),l=n(34955),c=n(70980),u=n(89670)},72627:(e,t,n)=>{n.r(t),n.d(t,{ApiKeyApprovalPage:()=>c,ApiKeyDetailPage:()=>P,ApiProductDetailPage:()=>f,ApiProductsPage:()=>d,EntityKuadrantApiAccessCard:()=>u,EntityKuadrantApiKeyManagementTab:()=>p,EntityKuadrantApiKeysContent:()=>A,EntityKuadrantApiProductInfoContent:()=>m,EntityKuadrantApiProductOpenApiAlert:()=>y,KuadrantPage:()=>s,MyApiKeysPage:()=>l,kuadrantPlugin:()=>o});var a=n(22097);const i=(0,a.createRouteRef)({id:"kuadrant"}),r=(0,a.createSubRouteRef)({id:"kuadrant/resource",parent:i,path:"/:kind/:namespace/:name"}),o=(0,a.createPlugin)({id:"kuadrant",routes:{root:i,resource:r}}),s=o.provide((0,a.createRoutableExtension)({name:"KuadrantPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(5010),n.e(8563),n.e(1931),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(7651),n.e(2821)]).then(n.bind(n,80243)).then(e=>e.ApiProductsPage),mountPoint:i})),d=o.provide((0,a.createRoutableExtension)({name:"ApiProductsPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(5010),n.e(8563),n.e(1931),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(7651),n.e(2821)]).then(n.bind(n,80243)).then(e=>e.ApiProductsPage),mountPoint:i})),l=o.provide((0,a.createRoutableExtension)({name:"MyApiKeysPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7076),n.e(6837),n.e(5010),n.e(8563),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(7270)]).then(n.bind(n,37270)).then(e=>e.MyApiKeysPage),mountPoint:i})),c=o.provide((0,a.createRoutableExtension)({name:"ApiKeyApprovalPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(5010),n.e(8563),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(3917)]).then(n.bind(n,73917)).then(e=>e.ApiKeyApprovalPageWithPermissions),mountPoint:i})),u=o.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiAccessCard",component:{lazy:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(438),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(1719)]).then(n.bind(n,11719)).then(e=>e.ApiAccessCard)}})),p=o.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiKeyManagementTab",component:{lazy:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(5010),n.e(5478),n.e(5427),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(2251),n.e(8170)]).then(n.bind(n,42708)).then(e=>e.ApiKeyManagementTab)}})),A=o.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiKeysContent",component:{lazy:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(5010),n.e(5478),n.e(5427),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(2251),n.e(8170)]).then(n.bind(n,42708)).then(e=>e.ApiKeyManagementTab)}})),m=o.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiProductInfoContent",component:{lazy:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(7293),n.e(327),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(3947),n.e(4712)]).then(n.bind(n,34908)).then(e=>e.ApiProductInfoCard)}})),P=o.provide((0,a.createRoutableExtension)({name:"ApiKeyDetailPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(7076),n.e(8563),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(2967)]).then(n.bind(n,72967)).then(e=>e.ApiKeyDetailPage),mountPoint:i})),y=o.provide((0,a.createComponentExtension)({name:"EntityKuadrantApiProductOpenApiAlert",component:{lazy:()=>Promise.all([n.e(9400),n.e(20),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(6371)]).then(n.bind(n,36371)).then(e=>e.ApiProductOpenApiAlert)}})),f=o.provide((0,a.createRoutableExtension)({name:"ApiProductDetailPage",component:()=>Promise.all([n.e(4083),n.e(9400),n.e(20),n.e(1340),n.e(5197),n.e(5943),n.e(7293),n.e(7076),n.e(6837),n.e(8563),n.e(2769),n.e(5478),n.e(5427),n.e(9634),n.e(484),n.e(1942),n.e(7976),n.e(3658),n.e(7651),n.e(3947),n.e(7791)]).then(n.bind(n,57791)).then(e=>e.ApiProductDetailPage),mountPoint:i}))},46299:(e,t,n)=>{n.d(t,{ee:()=>r,g9:()=>a,uU:()=>i});const a=e=>{const t={border:"none"};switch(e){case"Approved":return{...t,backgroundColor:"#1976d2",color:"#fff"};case"Denied":return{...t,backgroundColor:"#d32f2f",color:"#fff"};case"Failed":return{...t,backgroundColor:"#ed6c02",color:"#fff"};default:return{...t,backgroundColor:"#9c27b0",color:"#fff"}}},i=e=>{const t={border:"none"};switch(e){case"Approved":return{...t,backgroundColor:"#2e7d32",color:"#fff"};case"Denied":return{...t,backgroundColor:"#d32f2f",color:"#fff"};default:return{...t,backgroundColor:"#ed6c02",color:"#fff"}}},r=e=>{switch(e){case"production":return{backgroundColor:"#1976d2",color:"#fff"};case"experimental":return{backgroundColor:"#9c27b0",color:"#fff"};case"deprecated":return{backgroundColor:"#ff9800",color:"#fff"};case"retired":return{backgroundColor:"#d32f2f",color:"#fff"};default:return{}}}}}]);
2
+ //# sourceMappingURL=exposed-PluginRoot.daa5f940.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/exposed-PluginRoot.daa5f940.chunk.js","mappings":"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","sources":["webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react-use/lib/useAsync.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react-use/lib/useAsyncFn.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/react-use/lib/useMountedState.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/apis.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/ApiAccessCard/ApiAccessCard.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/ApiProductInfoCard/ApiProductInfoCard.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/KuadrantIcon/KuadrantIcon.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/components/icons.tsx","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/routes.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/plugin.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/utils/styles.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = require(\"react\");\nvar useAsyncFn_1 = tslib_1.__importDefault(require(\"./useAsyncFn\"));\nfunction useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn_1.default(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n react_1.useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\nexports.default = useAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = require(\"react\");\nvar useMountedState_1 = tslib_1.__importDefault(require(\"./useMountedState\"));\nfunction useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = react_1.useRef(0);\n var isMounted = useMountedState_1.default();\n var _a = react_1.useState(initialState), state = _a[0], set = _a[1];\n var callback = react_1.useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (tslib_1.__assign(tslib_1.__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\nexports.default = useAsyncFn;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nfunction useMountedState() {\n var mountedRef = react_1.useRef(false);\n var get = react_1.useCallback(function () { return mountedRef.current; }, []);\n react_1.useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\nexports.default = useMountedState;\n","import {\n createApiFactory,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\nimport { kuadrantApiRef, KuadrantApiClient } from './api';\n\n/**\n * API factory for the Kuadrant plugin\n * This factory creates and configures the KuadrantApiClient with required dependencies\n */\nexport const kuadrantApiFactory = createApiFactory({\n api: kuadrantApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, fetchApi, identityApi }) =>\n new KuadrantApiClient({ discoveryApi, fetchApi, identityApi }),\n});\n","import React, { useState } from 'react';\nimport { useAsync } from 'react-use';\nimport {\n InfoCard,\n ResponseErrorPanel,\n} from '@backstage/core-components';\nimport {\n Typography,\n Box,\n Chip,\n Button,\n IconButton,\n Tooltip,\n} from '@material-ui/core';\nimport { Skeleton } from '@material-ui/lab';\nimport AddIcon from '@material-ui/icons/Add';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport VisibilityOffIcon from '@material-ui/icons/VisibilityOff';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport { useApi, identityApiRef, alertApiRef } from '@backstage/core-plugin-api';\nimport { kuadrantApiRef } from '../../api';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { RequestAccessDialog } from '../RequestAccessDialog';\nimport { useKuadrantPermission } from '../../utils/permissions';\nimport { kuadrantApiKeyCreatePermission } from '../../permissions';\nimport { APIKey, APIProduct, Plan } from \"../../types/api-management\";\n\nexport interface ApiAccessCardProps {\n // deprecated: use entity annotations instead\n namespace?: string;\n}\n\nexport const ApiAccessCard = ({ namespace: propNamespace }: ApiAccessCardProps) => {\n const { entity } = useEntity();\n const kuadrantApi = useApi(kuadrantApiRef);\n const identityApi = useApi(identityApiRef);\n const alertApi = useApi(alertApiRef);\n const [userEmail, setUserEmail] = useState<string>('');\n const [requestDialogOpen, setRequestDialogOpen] = useState(false);\n const [refresh, setRefresh] = useState(0);\n\n // key reveal state\n const [visibleKeys, setVisibleKeys] = useState<Set<string>>(new Set());\n const [apiKeyValues, setApiKeyValues] = useState<Map<string, string>>(new Map());\n const [apiKeyLoading, setApiKeyLoading] = useState<Set<string>>(new Set());\n\n // get apiproduct name from entity annotation (set by entity provider)\n const apiProductName = entity.metadata.annotations?.['kuadrant.io/apiproduct'] || entity.metadata.name;\n const namespace = entity.metadata.annotations?.['kuadrant.io/namespace'] || propNamespace || 'default';\n\n // get current user identity\n useAsync(async () => {\n const profile = await identityApi.getProfileInfo();\n setUserEmail(profile.email || '');\n }, [identityApi]);\n\n // fetch user's approved keys for this API product\n // backend filters by apiProductRef.name and scopes to the user's consumer namespace\n const { value: requests, loading: keysLoading, error: keysError } = useAsync(async () => {\n const data = await kuadrantApi.getRequestsByApiProduct(apiProductName, namespace);\n const allRequests = data.items || [];\n return allRequests.filter((r: APIKey) =>\n r.status?.phase === 'Approved'\n );\n }, [namespace, apiProductName, kuadrantApi, refresh]);\n\n // fetch apiproduct to get available plans\n const { value: apiProduct, loading: productLoading } = useAsync(async () => {\n try {\n const data = await kuadrantApi.getApiProducts();\n return data.items?.find(\n (p: APIProduct) =>\n p.metadata.namespace === namespace &&\n p.metadata.name === apiProductName,\n );\n } catch (err) {\n return null;\n }\n }, [namespace, apiProductName, kuadrantApi]);\n\n const resourceRef = apiProduct\n ? `apiproduct:${apiProduct.metadata.namespace}/${apiProduct.metadata.name}`\n : undefined;\n\n const { allowed: canCreateRequest, loading: permissionLoading } = useKuadrantPermission(\n kuadrantApiKeyCreatePermission,\n resourceRef,\n );\n\n const fetchApiKeyFromSecret = async (requestNamespace: string, requestName: string) => {\n const key = `${requestNamespace}/${requestName}`;\n if (apiKeyLoading.has(key)) {\n return;\n }\n\n setApiKeyLoading((prev) => new Set(prev).add(key));\n try {\n const data = await kuadrantApi.getApiKeySecret(requestNamespace, requestName);\n setApiKeyValues((prev) => new Map(prev).set(key, data.apiKey));\n toggleVisibility(requestName);\n } catch (err) {\n console.error('failed to fetch api key:', err);\n const errorMessage = err instanceof Error ? err.message : \"unknown error occurred\";\n alertApi.post({\n message: `Failed to fetch APIKey. ${errorMessage}`,\n severity: 'error',\n display: 'transient',\n });\n } finally {\n setApiKeyLoading((prev) => {\n const next = new Set(prev);\n next.delete(key);\n return next;\n });\n }\n };\n\n const clearApiKeyValue = (requestNamespace: string, requestName: string) => {\n const key = `${requestNamespace}/${requestName}`;\n setApiKeyValues((prev) => {\n const next = new Map(prev);\n next.delete(key);\n return next;\n });\n };\n\n const toggleVisibility = (keyName: string) => {\n setVisibleKeys((prev) => {\n const newSet = new Set(prev);\n if (newSet.has(keyName)) {\n newSet.delete(keyName);\n } else {\n newSet.add(keyName);\n }\n return newSet;\n });\n };\n\n const loading = keysLoading || productLoading || permissionLoading;\n\n if (loading) {\n return (\n <InfoCard title=\"Kuadrant API Keys\">\n <Box p={2}>\n <Skeleton variant=\"text\" width=\"80%\" />\n <Skeleton variant=\"text\" width=\"60%\" />\n <Skeleton variant=\"text\" width=\"70%\" />\n </Box>\n </InfoCard>\n );\n }\n\n if (keysError) {\n return <ResponseErrorPanel error={keysError} />;\n }\n\n const keys = (requests as APIKey[]) || [];\n const plans = (apiProduct?.status?.discoveredPlans || []) as Plan[];\n const canRequest = canCreateRequest && plans.length > 0;\n\n const renderKeyRow = (request: APIKey) => {\n const key = `${request.metadata.namespace}/${request.metadata.name}`;\n const isVisible = visibleKeys.has(request.metadata.name);\n const isLoading = apiKeyLoading.has(key);\n const apiKeyValue = apiKeyValues.get(key);\n const hasSecretRef = Boolean(request.spec?.secretRef?.name);\n\n const handleRevealClick = () => {\n if (isVisible) {\n clearApiKeyValue(request.metadata.namespace, request.metadata.name);\n toggleVisibility(request.metadata.name);\n } else {\n fetchApiKeyFromSecret(request.metadata.namespace, request.metadata.name);\n }\n };\n\n const handleCopy = async () => {\n if (apiKeyValue) {\n await navigator.clipboard.writeText(apiKeyValue);\n alertApi.post({\n message: 'API key copied to clipboard',\n severity: 'success',\n display: 'transient',\n });\n }\n };\n\n return (\n <Box\n key={request.metadata.name}\n mb={1}\n p={1.5}\n border={1}\n borderColor=\"grey.300\"\n borderRadius={4}\n >\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" mb={1}>\n <Typography variant=\"body2\" style={{ fontWeight: 500 }}>\n {request.metadata.name}\n </Typography>\n <Chip label={request.spec.planTier} color=\"primary\" size=\"small\" />\n </Box>\n {hasSecretRef && (\n <Box display=\"flex\" alignItems=\"center\">\n <Typography\n variant=\"body2\"\n style={{\n fontFamily: 'monospace',\n fontSize: '0.8rem',\n flex: 1,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {isLoading\n ? 'Loading...'\n : isVisible && apiKeyValue\n ? apiKeyValue\n : '••••••••••••••••'}\n </Typography>\n {isVisible && apiKeyValue && (\n <Tooltip title=\"Copy to clipboard\">\n <IconButton size=\"small\" onClick={handleCopy}>\n <FileCopyIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n )}\n <Tooltip title={isVisible ? 'Hide API key' : 'Reveal API key'}>\n <span>\n <IconButton\n size=\"small\"\n onClick={handleRevealClick}\n disabled={isLoading}\n >\n {isVisible ? <VisibilityOffIcon fontSize=\"small\" /> : <VisibilityIcon fontSize=\"small\" />}\n </IconButton>\n </span>\n </Tooltip>\n </Box>\n )}\n </Box>\n );\n };\n\n return (\n <>\n <InfoCard title=\"Kuadrant API Keys\">\n <Box p={2}>\n {keys.length > 0 ? (\n <>\n <Typography variant=\"body2\" color=\"textSecondary\" gutterBottom>\n {keys.length} active key{keys.length !== 1 ? 's' : ''}\n </Typography>\n {keys.map(renderKeyRow)}\n </>\n ) : (\n <Typography variant=\"body1\" gutterBottom>\n You don't have any API keys for this API yet\n </Typography>\n )}\n <Box mt={2}>\n {canRequest ? (\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"small\"\n startIcon={<AddIcon />}\n onClick={() => setRequestDialogOpen(true)}\n data-testid=\"request-api-access-button\"\n >\n Request API Access\n </Button>\n ) : (\n <Typography variant=\"caption\" color=\"textSecondary\">\n Visit the API Keys tab to view and manage access\n </Typography>\n )}\n </Box>\n </Box>\n </InfoCard>\n\n <RequestAccessDialog\n open={requestDialogOpen}\n onClose={() => setRequestDialogOpen(false)}\n onSuccess={() => {\n setRequestDialogOpen(false);\n setRefresh((r) => r + 1);\n }}\n apiProductName={apiProductName}\n namespace={namespace}\n userEmail={userEmail}\n plans={plans}\n />\n\n </>\n );\n};\n","import React from 'react';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { useApi, identityApiRef } from '@backstage/core-plugin-api';\nimport { InfoCard, ResponseErrorPanel } from '@backstage/core-components';\nimport { Typography, Box, makeStyles } from '@material-ui/core';\nimport { Skeleton } from '@material-ui/lab';\nimport useAsync from 'react-use/lib/useAsync';\nimport { useKuadrantPermission } from '../../utils/permissions';\nimport { kuadrantApiProductReadAllPermission } from '../../permissions';\nimport { ApiProductDetails } from '../ApiProductDetails';\nimport { OidcProviderCard } from '../OidcProviderCard';\nimport { kuadrantApiRef } from '../../api';\n\nconst useStyles = makeStyles((theme) => ({\n label: {\n fontWeight: 600,\n color: theme.palette.text.secondary,\n marginBottom: theme.spacing(0.5),\n fontSize: '0.75rem',\n textTransform: 'uppercase',\n },\n}));\n\nexport const ApiProductInfoCard = () => {\n const classes = useStyles();\n const { entity } = useEntity();\n const kuadrantApi = useApi(kuadrantApiRef);\n const identityApi = useApi(identityApiRef);\n\n const { allowed: canReadAll, loading: permLoading } = useKuadrantPermission(\n kuadrantApiProductReadAllPermission\n );\n\n const namespace = entity.metadata.annotations?.['kuadrant.io/namespace'];\n const apiProductName = entity.metadata.annotations?.['kuadrant.io/apiproduct'];\n\n const { value: currentUserId } = useAsync(async () => {\n const identity = await identityApi.getBackstageIdentity();\n return identity.userEntityRef.split('/')[1] || 'guest';\n }, [identityApi]);\n\n const { value: apiProduct, loading, error } = useAsync(async () => {\n if (!namespace || !apiProductName) {\n return null;\n }\n\n return kuadrantApi.getApiProduct(namespace, apiProductName);\n }, [kuadrantApi, namespace, apiProductName]);\n\n // check if user has permission to view this api product\n const owner = apiProduct?.metadata?.annotations?.['backstage.io/owner'];\n const ownerUserId = owner?.split('/')[1];\n const canView = canReadAll || (currentUserId && ownerUserId === currentUserId);\n\n if (!namespace || !apiProductName) {\n return (\n <InfoCard title=\"API Product Information\">\n <Typography>No APIProduct linked to this API entity</Typography>\n </InfoCard>\n );\n }\n\n if (loading || permLoading) {\n return (\n <InfoCard title=\"API Product Information\">\n <Box p={2}>\n {[...Array(5)].map((_, i) => (\n <Box key={i} mb={2}>\n <Skeleton variant=\"text\" width=\"100%\" />\n </Box>\n ))}\n </Box>\n </InfoCard>\n );\n }\n\n // show permission message if user doesn't have permission\n if (apiProduct && !canView) {\n return (\n <InfoCard title=\"API Product Information\">\n <Box p={2}>\n <Typography variant=\"body2\" color=\"textSecondary\">\n You don't have permission to view this API product's details. Only the API owner or users with admin permissions can view this information.\n </Typography>\n </Box>\n </InfoCard>\n );\n }\n\n // also show permission message if we got a permission error from the backend\n if (error && error.message.includes('you can only read your own')) {\n return (\n <InfoCard title=\"API Product Information\">\n <Box p={2}>\n <Typography variant=\"body2\" color=\"textSecondary\">\n You don't have permission to view this API product's details. Only the API owner or users with admin permissions can view this information.\n </Typography>\n </Box>\n </InfoCard>\n );\n }\n\n if (error) {\n return (\n <InfoCard title=\"API Product Information\">\n <ResponseErrorPanel error={error} />\n </InfoCard>\n );\n }\n\n if (!apiProduct) {\n return (\n <InfoCard title=\"API Product Information\">\n <Typography>APIProduct not found</Typography>\n </InfoCard>\n );\n }\n\n // check for OIDC auth scheme\n const authSchemes = apiProduct.status?.discoveredAuthScheme?.authentication || {};\n const schemeObjects = Object.values(authSchemes);\n const jwtScheme = schemeObjects.find((scheme: any) => scheme.hasOwnProperty('jwt'));\n const hasOidc = Boolean(jwtScheme);\n const jwtIssuer = (jwtScheme as any)?.jwt?.issuerUrl;\n const jwtTokenEndpoint = apiProduct.status?.oidcDiscovery?.tokenEndpoint;\n\n return (\n <>\n <InfoCard title=\"API Product Details\">\n <Box mb={2}>\n <Typography variant=\"caption\" className={classes.label}>\n Product Name\n </Typography>\n <Typography variant=\"h6\">\n {apiProduct.spec?.displayName || apiProductName}\n </Typography>\n </Box>\n <ApiProductDetails\n product={apiProduct}\n showStatus={false}\n showCatalogLink={false}\n />\n </InfoCard>\n {hasOidc && jwtIssuer && (\n <Box mt={2}>\n <OidcProviderCard\n issuerUrl={jwtIssuer}\n tokenEndpoint={jwtTokenEndpoint}\n />\n </Box>\n )}\n </>\n );\n};\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const KuadrantIcon = (props: SvgIconProps) => (\n <SvgIcon\n {...props}\n viewBox=\"0 0 1024 1024\"\n sx={{ transform: 'scale(0.85)', marginLeft: '4px', ...props.sx }}\n >\n <path\n d=\"M809,1C993.59,183.56 1065.7,449.65 998.12,699.05C964.778,821.823 899.519,933.607 809,1023L292.27,512L809,1Z\"\n fill=\"currentColor\"\n />\n <rect x=\"1\" y=\"1\" width=\"218\" height=\"1022\" fill=\"currentColor\" />\n </SvgIcon>\n);\n","import React from 'react';\nimport ApiOutlined from '@mui/icons-material/ApiOutlined';\nimport KeyOutlined from '@mui/icons-material/KeyOutlined';\nimport ApprovalOutlined from '@mui/icons-material/ApprovalOutlined';\nimport { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const ApiIcon = (props: SvgIconProps) => <ApiOutlined {...props} />;\nexport const KeyIcon = (props: SvgIconProps) => <KeyOutlined {...props} />;\nexport const ApprovalIcon = (props: SvgIconProps) => <ApprovalOutlined {...props} />;\n","import { createRouteRef, createSubRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'kuadrant',\n});\n\nexport const resourceRouteRef = createSubRouteRef({\n id: 'kuadrant/resource',\n parent: rootRouteRef,\n path: '/:kind/:namespace/:name',\n});\n","import {\n createPlugin,\n createRoutableExtension,\n createComponentExtension,\n} from '@backstage/core-plugin-api';\n\nimport { rootRouteRef, resourceRouteRef } from './routes';\n\nexport const kuadrantPlugin = createPlugin({\n id: 'kuadrant',\n routes: {\n root: rootRouteRef,\n resource: resourceRouteRef,\n },\n});\n\nexport const KuadrantPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'KuadrantPage',\n component: () =>\n import('./components/KuadrantPage').then(m => m.ApiProductsPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const ApiProductsPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiProductsPage',\n component: () =>\n import('./components/KuadrantPage').then(m => m.ApiProductsPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const MyApiKeysPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'MyApiKeysPage',\n component: () =>\n import('./components/MyApiKeysPage').then(m => m.MyApiKeysPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const ApiKeyApprovalPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiKeyApprovalPage',\n component: () =>\n import('./components/ApiKeyApprovalPage').then(m => m.ApiKeyApprovalPageWithPermissions),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const EntityKuadrantApiAccessCard = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiAccessCard',\n component: {\n lazy: () =>\n import('./components/ApiAccessCard').then(m => m.ApiAccessCard),\n },\n }),\n);\n\nexport const EntityKuadrantApiKeyManagementTab = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiKeyManagementTab',\n component: {\n lazy: () =>\n import('./components/ApiKeyManagementTab').then(m => m.ApiKeyManagementTab),\n },\n }),\n);\n\n// entity content extension for api keys tab\nexport const EntityKuadrantApiKeysContent = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiKeysContent',\n component: {\n lazy: () =>\n import('./components/ApiKeyManagementTab').then(m => m.ApiKeyManagementTab),\n },\n }),\n);\n\nexport const EntityKuadrantApiProductInfoContent = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiProductInfoContent',\n component: {\n lazy: () =>\n import('./components/ApiProductInfoCard').then(m => m.ApiProductInfoCard),\n },\n }),\n);\n\nexport const ApiKeyDetailPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiKeyDetailPage',\n component: () =>\n import('./components/ApiKeyDetailPage').then(m => m.ApiKeyDetailPage),\n mountPoint: rootRouteRef,\n }),\n);\n\nexport const EntityKuadrantApiProductOpenApiAlert = kuadrantPlugin.provide(\n createComponentExtension({\n name: 'EntityKuadrantApiProductOpenApiAlert',\n component: {\n lazy: () =>\n import('./components/ApiProductOpenApiAlert').then(m => m.ApiProductOpenApiAlert),\n },\n }),\n);\n\nexport const ApiProductDetailPage = kuadrantPlugin.provide(\n createRoutableExtension({\n name: 'ApiProductDetailPage',\n component: () =>\n import('./components/ApiProductDetailPage').then(m => m.ApiProductDetailPage),\n mountPoint: rootRouteRef,\n }),\n);\n","import { CSSProperties } from \"react\";\n\n/**\n * Returns inline styles for API key status chips on the My API Keys page.\n */\nexport const getMyApiKeysStatusChipStyle = (phase: string): CSSProperties => {\n const base = { border: \"none\" };\n switch (phase) {\n case \"Approved\":\n return { ...base, backgroundColor: \"#1976d2\", color: \"#fff\" }; // Blue\n case \"Denied\":\n return { ...base, backgroundColor: \"#d32f2f\", color: \"#fff\" }; // Red\n case \"Failed\":\n return { ...base, backgroundColor: \"#ed6c02\", color: \"#fff\" }; // Orange\n case \"Pending\":\n return { ...base, backgroundColor: \"#9c27b0\", color: \"#fff\" }; // Purple\n default:\n return { ...base, backgroundColor: \"#9c27b0\", color: \"#fff\" }; // Purple (fallback for Pending)\n }\n};\n\n/**\n * Returns inline styles for API key status chips on the Approval Queue page.\n * Uses inline styles to ensure proper specificity with Material-UI Chip.\n */\nexport const getApprovalQueueStatusChipStyle = (phase: string): CSSProperties => {\n const base = { border: \"none\" };\n switch (phase) {\n case \"Approved\":\n return { ...base, backgroundColor: \"#2e7d32\", color: \"#fff\" }; // Green\n case \"Denied\":\n return { ...base, backgroundColor: \"#d32f2f\", color: \"#fff\" }; // Red\n case \"Pending\":\n return { ...base, backgroundColor: \"#ed6c02\", color: \"#fff\" }; // Orange\n default:\n return { ...base, backgroundColor: \"#ed6c02\", color: \"#fff\" }; // Orange (fallback for Pending)\n }\n};\n\n/**\n * Returns inline styles for lifecycle chips.\n * Uses inline styles to ensure proper specificity with Material-UI Chip.\n */\nexport const getLifecycleChipStyle = (lifecycle: string): CSSProperties => {\n switch (lifecycle) {\n case \"production\":\n return { backgroundColor: \"#1976d2\", color: \"#fff\" }; // Blue\n case \"experimental\":\n return { backgroundColor: \"#9c27b0\", color: \"#fff\" }; // Purple\n case \"deprecated\":\n return { backgroundColor: \"#ff9800\", color: \"#fff\" }; // Orange\n case \"retired\":\n return { backgroundColor: \"#d32f2f\", color: \"#fff\" }; // Red\n default:\n return {};\n }\n};\n"],"names":["tslib_1","__webpack_require__","react_1","useAsyncFn_1","__importDefault","exports","A","fn","deps","_a","default","loading","state","callback","useEffect","Object","defineProperty","value","useMountedState_1","initialState","lastCallId","useRef","isMounted","useState","set","useCallback","args","_i","arguments","length","callId","current","prevState","__assign","apply","then","error","mountedRef","get","kuadrantApiFactory","createApiFactory","api","kuadrantApiRef","discoveryApi","discoveryApiRef","fetchApi","fetchApiRef","identityApi","identityApiRef","factory","KuadrantApiClient","ApiAccessCard","namespace","propNamespace","entity","apiProduct","useEntity","kuadrantApi","useApi","alertApi","alertApiRef","userEmail","setUserEmail","requestDialogOpen","setRequestDialogOpen","refresh","setRefresh","visibleKeys","setVisibleKeys","Set","apiKeyValues","setApiKeyValues","Map","apiKeyLoading","setApiKeyLoading","apiProductName","metadata","annotations","name","useAsync","async","profile","getProfileInfo","email","requests","keysLoading","keysError","getRequestsByApiProduct","items","filter","r","status","phase","productLoading","data","getApiProducts","find","p","err","resourceRef","undefined","allowed","canCreateRequest","permissionLoading","useKuadrantPermission","kuadrantApiKeyCreatePermission","toggleVisibility","keyName","prev","newSet","has","delete","add","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","InfoCard","title","jsxs","Box","Skeleton","variant","width","ResponseErrorPanel","keys","plans","discoveredPlans","canRequest","Fragment","Typography","color","gutterBottom","map","request","key","isVisible","isLoading","apiKeyValue","hasSecretRef","Boolean","spec","secretRef","mb","border","borderColor","borderRadius","display","justifyContent","alignItems","style","fontWeight","Chip","label","planTier","size","fontFamily","fontSize","flex","overflow","textOverflow","Tooltip","IconButton","onClick","navigator","clipboard","writeText","post","message","severity","FileCopyIcon","span","requestNamespace","requestName","next","clearApiKeyValue","getApiKeySecret","apiKey","console","errorMessage","Error","fetchApiKeyFromSecret","disabled","VisibilityOffIcon","VisibilityIcon","mt","Button","startIcon","AddIcon","data-testid","RequestAccessDialog","open","onClose","onSuccess","useStyles","makeStyles","theme","palette","text","secondary","marginBottom","spacing","textTransform","ApiProductInfoCard","_jwtScheme_jwt","classes","canReadAll","permLoading","kuadrantApiProductReadAllPermission","currentUserId","getBackstageIdentity","userEntityRef","split","getApiProduct","owner","ownerUserId","canView","Array","_","i","includes","authSchemes","discoveredAuthScheme","authentication","jwtScheme","values","scheme","hasOwnProperty","hasOidc","jwtIssuer","jwt","issuerUrl","jwtTokenEndpoint","oidcDiscovery","tokenEndpoint","className","displayName","ApiProductDetails","product","showStatus","showCatalogLink","OidcProviderCard","KuadrantIcon","props","SvgIcon","viewBox","sx","transform","marginLeft","path","d","fill","rect","x","y","height","ApiIcon","ApiOutlined","KeyIcon","KeyOutlined","ApprovalIcon","ApprovalOutlined","rootRouteRef","createRouteRef","id","resourceRouteRef","createSubRouteRef","parent","kuadrantPlugin","createPlugin","routes","root","resource","KuadrantPage","provide","createRoutableExtension","component","Promise","all","e","bind","m","ApiProductsPage","mountPoint","MyApiKeysPage","ApiKeyApprovalPage","ApiKeyApprovalPageWithPermissions","EntityKuadrantApiAccessCard","createComponentExtension","lazy","EntityKuadrantApiKeyManagementTab","ApiKeyManagementTab","EntityKuadrantApiKeysContent","EntityKuadrantApiProductInfoContent","ApiKeyDetailPage","EntityKuadrantApiProductOpenApiAlert","ApiProductOpenApiAlert","ApiProductDetailPage","getMyApiKeysStatusChipStyle","base","backgroundColor","getApprovalQueueStatusChipStyle","getLifecycleChipStyle","lifecycle"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend=self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend||[]).push([[6450],{54209:(t,e,r)=>{var i=r(69364);t.exports=function(t,e){return new Promise(function(r,s){var a,o=e||{};function n(t){s(t||new Error("Aborted"))}function u(t,e){t.bail?n(t):a.retry(t)?o.onRetry&&o.onRetry(t,e):s(a.mainError())}"randomize"in o||(o.randomize=!0),(a=i.operation(o)).attempt(function(e){var i;try{i=t(n,e)}catch(t){return void u(t,e)}Promise.resolve(i).then(r).catch(function(t){u(t,e)})})})}},69364:(t,e,r)=>{t.exports=r(61386)},61386:(t,e,r)=>{var i=r(83884);e.operation=function(t){var r=e.timeouts(t);return new i(r,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},e.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var i=[],s=0;s<e.retries;s++)i.push(this.createTimeout(s,e));return t&&t.forever&&!i.length&&i.push(this.createTimeout(s,e)),i.sort(function(t,e){return t-e}),i},e.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,i=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return Math.min(i,e.maxTimeout)},e.wrap=function(t,r,i){if(r instanceof Array&&(i=r,r=null),!i)for(var s in i=[],t)"function"==typeof t[s]&&i.push(s);for(var a=0;a<i.length;a++){var o=i[a],n=t[o];t[o]=function(i){var s=e.operation(r),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(t){s.retry(t)||(t&&(arguments[0]=s.mainError()),o.apply(this,arguments))}),s.attempt(function(){i.apply(t,a)})}.bind(t,n),t[o].options=r}}},83884:t=>{function e(t,e){"boolean"==typeof e&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=e,e.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},e.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},e.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=(new Date).getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(void 0===r){if(!this._cachedTimeouts)return!1;this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1)}var i=this;return this._timer=setTimeout(function(){i._attempts++,i._operationTimeoutCb&&(i._timeout=setTimeout(function(){i._operationTimeoutCb(i._attempts)},i._operationTimeout),i._options.unref&&i._timeout.unref()),i._fn(i._attempts)},r),this._options.unref&&this._timer.unref(),!0},e.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=(new Date).getTime(),this._fn(this._attempts)},e.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)},e.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)},e.prototype.start=e.prototype.try,e.prototype.errors=function(){return this._errors},e.prototype.attempts=function(){return this._attempts},e.prototype.mainError=function(){if(0===this._errors.length)return null;for(var t={},e=null,r=0,i=0;i<this._errors.length;i++){var s=this._errors[i],a=s.message,o=(t[a]||0)+1;t[a]=o,o>=r&&(e=s,r=o)}return e}},70980:(t,e,r)=>{"use strict";r.d(e,{y:()=>h,s:()=>c});var i=r(18990),s=r(22097),a=r(54209),o=r.n(a);async function n(t){const e=await t.json().catch(()=>({}));switch(t.status){case 400:return e.error||"Invalid request. Please check your input.";case 403:return"Permission denied. Contact your administrator.";case 404:return"Resource not found. It may have been deleted.";case 409:return"Resource already exists or conflicts with existing data.";case 500:return"Server error. Please try again or contact support.";default:return e.error||`Request failed (${t.status})`}}const u={retries:3,factor:2,minTimeout:300,maxTimeout:3e3,randomize:!0},c=(0,s.createApiRef)({id:"plugin.kuadrant.service"});class h{async getBaseUrl(){return await this.discoveryApi.getBaseUrl("")}async fetchWithRetry(t,e=""){return o()(async r=>{const i=await this.fetchApi.fetch(t);if(401===i.status||403===i.status){const t=await n(i);r(new Error(t))}else if(!i.ok){const t=await n(i);throw new Error(`${e} ${t}`)}return await i.json()},u)}async fetchWithoutRetry(t,e,r=""){const i=await this.fetchApi.fetch(t,{headers:{"Content-Type":"application/json"},...e});if(!i.ok){const t=await n(i);throw new Error(`${r} ${t}`)}if("DELETE"!==e.method)return await i.json()}async getRequests(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/requests/my`,"Failed to fetch API Key requests.")}async getAllRequests(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/requests`,"Failed to fetch API Key requests.")}async getRequestsByNamespace(t){const e=await this.getBaseUrl(),r=t?`${e}kuadrant/requests/my?namespace=${t}`:`${e}kuadrant/requests/my`;return this.fetchWithRetry(r,"Failed to fetch API Key requests by namespace.")}async getRequestsByApiProduct(t,e){const r=await this.getBaseUrl(),i=new URLSearchParams({apiProductName:t,apiProductNamespace:e});return this.fetchWithRetry(`${r}kuadrant/requests/my?${i.toString()}`,"Failed to fetch API Key requests by API product.")}async getAllRequestsByApiProduct(t,e){const r=await this.getBaseUrl(),i=new URLSearchParams({apiProductName:t,apiProductNamespace:e});return this.fetchWithRetry(`${r}kuadrant/requests?${i.toString()}`,"Failed to fetch all API Key requests by API product.")}async getRequest(t,e){const r=await this.getBaseUrl();return this.fetchWithRetry(`${r}kuadrant/requests/${t}/${e}`,"Failed to fetch API Key request.")}async createRequest(t){const e=await this.getBaseUrl();return this.fetchWithoutRetry(`${e}kuadrant/requests`,{method:"POST",body:JSON.stringify(t)},"Failed to create APIKey request.")}async updateRequest(t,e,r){const i=await this.getBaseUrl();return this.fetchWithoutRetry(`${i}kuadrant/requests/${t}/${e}`,{method:"PATCH",body:JSON.stringify(r)},"Failed to update APIKey request.")}async deleteRequest(t,e){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/requests/${t}/${e}`,{method:"DELETE"},"Failed to delete APIKey request.")}async approveRequest(t,e,r="system"){const i=await this.getBaseUrl();return this.fetchWithoutRetry(`${i}kuadrant/requests/${t}/${e}/approve`,{method:"POST",body:JSON.stringify({reviewedBy:r})},"Failed to approve APIKey request.")}async rejectRequest(t,e,r="system"){const i=await this.getBaseUrl();return this.fetchWithoutRetry(`${i}kuadrant/requests/${t}/${e}/reject`,{method:"POST",body:JSON.stringify({reviewedBy:r})},"Failed to reject APIKey request.")}async bulkApproveRequests(t,e){const r=await this.getBaseUrl();return(await this.fetchWithoutRetry(`${r}kuadrant/requests/bulk-approve`,{method:"POST",body:JSON.stringify({requests:t,reviewedBy:e})},"Failed to bulk approve APIKey requests.")).results}async bulkRejectRequests(t,e){const r=await this.getBaseUrl();return(await this.fetchWithoutRetry(`${r}kuadrant/requests/bulk-reject`,{method:"POST",body:JSON.stringify({requests:t,reviewedBy:e})},"Failed to bulk reject APIKey requests")).results}async getApiKey(t,e){const r=await this.getBaseUrl();return this.fetchWithRetry(`${r}kuadrant/apikeys/${t}/${e}`,"Failed to fetch API Key.")}async getApiKeySecret(t,e){const r=await this.getBaseUrl();return this.fetchWithRetry(`${r}kuadrant/apikeys/${t}/${e}/secret`,"Failed to fetch API Key Secret.")}async getApiProducts(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/apiproducts`,"Failed to fetch API Products.")}async getApiProduct(t,e){const r=await this.getBaseUrl();return this.fetchWithRetry(`${r}kuadrant/apiproducts/${t}/${e}`,"Failed to fetch API Product.")}async createApiProduct(t){const e=await this.getBaseUrl();return this.fetchWithoutRetry(`${e}kuadrant/apiproducts`,{method:"POST",body:JSON.stringify(t)},"Failed to create API Product.")}async updateApiProduct(t,e,r){const i=await this.getBaseUrl();return this.fetchWithoutRetry(`${i}kuadrant/apiproducts/${t}/${e}`,{method:"PATCH",body:JSON.stringify(r)},"Failed to update API Product.")}async deleteApiProduct(t,e){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/apiproducts/${t}/${e}`,{method:"DELETE"},"Failed to delete API Product.")}async getHttpRoutes(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/httproutes`,"Failed to fetch HTTPRoutes.")}async getHttpRoute(t,e){const r=await this.getBaseUrl();return this.fetchWithRetry(`${r}kuadrant/httproutes/${t}/${e}`,`Failed to fetc HTTPRoute ${t}/${e}.`)}async getPlanPolicies(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/planpolicies`,"Failed to fetch PlanPolicies.")}async getAuthPolicies(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/authpolicies`,"Failed to fetch AuthPolicies.")}async getRateLimitPolicies(){const t=await this.getBaseUrl();return this.fetchWithRetry(`${t}kuadrant/ratelimitpolicies`,"Failed to fetch RateLimitPolicies.")}async createSecret(t,e){const r=await this.getBaseUrl();return this.fetchWithoutRetry(`${r}kuadrant/secrets`,{method:"POST",body:JSON.stringify({name:t,apiKeyValue:e})},"Failed to create secret")}async deleteSecret(t){const e=await this.getBaseUrl();return this.fetchWithoutRetry(`${e}kuadrant/secrets/${t}`,{method:"DELETE"},"Failed to delete secret")}constructor(t){(0,i._)(this,"discoveryApi",void 0),(0,i._)(this,"fetchApi",void 0),this.discoveryApi=t.discoveryApi,this.fetchApi=t.fetchApi}}},89670:(t,e,r)=>{"use strict";r.r(e),r.d(e,{kuadrantApiFactory:()=>a});var i=r(22097),s=r(70980);const a=(0,i.createApiFactory)({api:s.s,deps:{discoveryApi:i.discoveryApiRef,fetchApi:i.fetchApiRef,identityApi:i.identityApiRef},factory:({discoveryApi:t,fetchApi:e,identityApi:r})=>new s.y({discoveryApi:t,fetchApi:e,identityApi:r})})},18990:(t,e,r)=>{"use strict";function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{_:()=>i})}}]);
2
+ //# sourceMappingURL=exposed-kuadrantApiFactory.3211b81a.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/exposed-kuadrantApiFactory.3211b81a.chunk.js","mappings":"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","sources":["webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/async-retry/lib/index.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/retry/index.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/retry/lib/retry.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/../node_modules/retry/lib/retry_operation.js","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/utils/errors.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/api.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/./src/apis.ts","webpack://kuadrant.kuadrant-backstage-plugin-frontend/javascript/node_modules/@swc/helpers/esm/_define_property.js"],"sourcesContent":["// Packages\nvar retrier = require('retry');\n\nfunction retry(fn, opts) {\n function run(resolve, reject) {\n var options = opts || {};\n var op;\n\n // Default `randomize` to true\n if (!('randomize' in options)) {\n options.randomize = true;\n }\n\n op = retrier.operation(options);\n\n // We allow the user to abort retrying\n // this makes sense in the cases where\n // knowledge is obtained that retrying\n // would be futile (e.g.: auth errors)\n\n function bail(err) {\n reject(err || new Error('Aborted'));\n }\n\n function onError(err, num) {\n if (err.bail) {\n bail(err);\n return;\n }\n\n if (!op.retry(err)) {\n reject(op.mainError());\n } else if (options.onRetry) {\n options.onRetry(err, num);\n }\n }\n\n function runAttempt(num) {\n var val;\n\n try {\n val = fn(bail, num);\n } catch (err) {\n onError(err, num);\n return;\n }\n\n Promise.resolve(val)\n .then(resolve)\n .catch(function catchIt(err) {\n onError(err, num);\n });\n }\n\n op.attempt(runAttempt);\n }\n\n return new Promise(run);\n}\n\nmodule.exports = retry;\n","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","export async function handleFetchError(response: Response): Promise<string> {\n const errorData = await response.json().catch(() => ({}));\n\n switch (response.status) {\n case 400:\n return errorData.error || 'Invalid request. Please check your input.';\n case 403:\n return 'Permission denied. Contact your administrator.';\n case 404:\n return 'Resource not found. It may have been deleted.';\n case 409:\n return 'Resource already exists or conflicts with existing data.';\n case 500:\n return 'Server error. Please try again or contact support.';\n default:\n return errorData.error || `Request failed (${response.status})`;\n }\n}\n","import {\n createApiRef,\n DiscoveryApi,\n FetchApi,\n IdentityApi,\n} from '@backstage/core-plugin-api';\nimport retry from 'async-retry';\nimport { handleFetchError } from './utils/errors';\nimport {\n APIKey, APIKeyRequest,\n APIKeySpec,\n APIProduct,\n BulkOperationResult, ExtractedSecret, K8sList, K8sResource,\n PlanPolicy,\n AuthPolicy,\n RateLimitPolicy,\n} from './types/api-management';\n\n/**\n * Generic Kuadrant list type for API responses\n */\nexport interface KuadrantList<T = any> {\n items: T[];\n}\n\n/**\n * Options for constructing the KuadrantApiClient\n */\nexport type Options = {\n discoveryApi: DiscoveryApi;\n fetchApi: FetchApi;\n identityApi: IdentityApi;\n};\n\n/**\n * Retry configuration for read operations (GET requests only)\n * Conservative strategy: 3 retries with exponential backoff\n */\nconst RETRY_OPTIONS: retry.Options = {\n retries: 3,\n factor: 2,\n minTimeout: 300, // 300ms, 600ms, 1200ms\n maxTimeout: 3000,\n randomize: true,\n};\n\n/**\n * Kuadrant API interface defining all operations for managing\n * API products, API keys, and related resources\n */\nexport interface KuadrantAPI {\n // ===== APIKey Requests =====\n\n /**\n * Fetch all API key requests per user\n * @returns Promise with list of all API key requests\n */\n getRequests(): Promise<KuadrantList<APIKey>>;\n\n /**\n * Fetch all API key requests\n * @returns Promise with list of all API key requests\n */\n getAllRequests(): Promise<KuadrantList<APIKey>>;\n\n /**\n * Fetch API key requests for a specific namespace\n * @param namespace - Kubernetes namespace\n * @returns Promise with list of requests in the namespace\n */\n getRequestsByNamespace(namespace: string): Promise<KuadrantList<APIKey>>;\n\n /**\n * Fetch the current user's API key requests for a specific APIProduct\n * @param apiProductName - Name of the APIProduct\n * @param apiProductNamespace - Namespace of the APIProduct\n * @returns Promise with list of the user's API key requests for this product\n */\n getRequestsByApiProduct(apiProductName: string, apiProductNamespace: string): Promise<KuadrantList<APIKey>>;\n\n /**\n * Fetch all API key requests for a specific APIProduct (admin view)\n * @param apiProductName - Name of the APIProduct\n * @param apiProductNamespace - Namespace of the APIProduct\n * @returns Promise with list of all API key requests for this product\n */\n getAllRequestsByApiProduct(apiProductName: string, apiProductNamespace: string): Promise<KuadrantList<APIKey>>;\n\n /**\n * Fetch a single API key request\n * @param namespace - API key request name\n * @param name - Kubernetes namespace\n * @returns Promise with the API key request\n */\n getRequest(namespace: string, name: string): Promise<APIKey>;\n\n /**\n * Create a new API key request\n * @param request - APIKeyRequest specification\n * @returns Promise with the created API key\n */\n createRequest(request: APIKeyRequest): Promise<APIKey>;\n\n /**\n * Update an existing API key request\n * @param namespace - Kubernetes namespace\n * @param name - API key request name\n * @param patch - Partial API key spec with fields to update\n * @returns Promise with the updated API key\n */\n updateRequest(\n namespace: string,\n name: string,\n patch: Partial<APIKeySpec>,\n ): Promise<APIKey>;\n\n /**\n * Delete an API key request\n * @param namespace - Kubernetes namespace\n * @param name - API key request name\n * @returns Promise that resolves when deletion completes\n */\n deleteRequest(namespace: string, name: string): Promise<void>;\n\n /**\n * Approve an API key request\n * @param namespace - Kubernetes namespace\n * @param name - API key request name\n * @param reviewedBy - Reviewed By User / System\n * @returns Promise with the approved API key\n */\n approveRequest(namespace: string, name: string, reviewedBy: string): Promise<APIKey>;\n\n /**\n * Reject an API key request\n * @param namespace - Kubernetes namespace\n * @param name - API key request name\n * @param reviewedBy - Reviewed By User / System\n * @returns Promise with the denied API key\n */\n rejectRequest(namespace: string, name: string, reviewedBy: string): Promise<APIKey>;\n\n /**\n * Bulk approve multiple API key requests\n * @param requests - Array of namespace/name pairs to approve\n * @param reviewedBy - Reviewed By User / System\n * @returns Promise that resolves when all approvals complete\n */\n bulkApproveRequests(\n requests: Array<{ namespace: string; name: string }>,\n reviewedBy: string): Promise<Array<BulkOperationResult>>;\n\n /**\n * Bulk reject multiple API key requests\n * @param requests - Array of namespace/name pairs to reject\n * @param reviewedBy - Reviewed By User / System\n * @returns Promise that resolves when all rejections complete\n */\n bulkRejectRequests(\n requests: Array<{ namespace: string; name: string }>,\n reviewedBy: string): Promise<Array<BulkOperationResult>>;\n\n // ===== API Keys/Secrets =====\n\n /**\n * Fetch an API key resource\n * @param namespace - Kubernetes namespace\n * @param name - API key name\n * @returns Promise with the API key\n */\n getApiKey(namespace: string, name: string): Promise<APIKey>;\n\n /**\n * Retrieve the secret value for an API key (one-time operation)\n * @param namespace - Kubernetes namespace\n * @param name - API key name\n * @returns Promise with the secret value\n */\n getApiKeySecret(namespace: string, name: string): Promise<ExtractedSecret>;\n\n // ===== API Products =====\n\n /**\n * Fetch all API products\n * @returns Promise with list of all API products\n */\n getApiProducts(): Promise<KuadrantList<APIProduct>>;\n\n /**\n * Fetch a single API product\n * @param namespace - Kubernetes namespace\n * @param name - API product name\n * @returns Promise with the API product\n */\n getApiProduct(namespace: string, name: string): Promise<APIProduct>;\n\n /**\n * Create a new API product\n * @param product - API product specification\n * @returns Promise with the created API product\n */\n createApiProduct(product: APIProduct): Promise<APIProduct>;\n\n /**\n * Update an existing API product\n * @param namespace - Kubernetes namespace\n * @param name - API product name\n * @param patch - Partial API product spec with fields to update\n * @returns Promise with the updated API product\n */\n updateApiProduct(\n namespace: string,\n name: string,\n patch: Partial<APIProduct>,\n ): Promise<APIProduct>;\n\n /**\n * Delete an API product\n * @param namespace - Kubernetes namespace\n * @param name - API product name\n * @returns Promise that resolves when deletion completes\n */\n deleteApiProduct(namespace: string, name: string): Promise<void>;\n\n // ===== HTTP Routes & Policies =====\n\n /**\n * Fetch all HTTPRoute(s)\n * @returns Promise with list of all HTTP routes\n */\n getHttpRoutes(): Promise<K8sList>;\n\n /**\n * Fetch a specific HTTPRoute\n * @param namespace - Kubernetes namespace\n * @param name - HTTPRoute name\n * @returns Promise with an HTTPRoute\n */\n getHttpRoute(namespace: string, name: string): Promise<K8sResource>;\n\n // ===== Plan Policies =====\n\n /**\n * Fetch all plan policies\n * @returns Promise with list of all plan policies\n */\n getPlanPolicies(): Promise<KuadrantList<PlanPolicy>>;\n\n // ===== Auth Policies =====\n\n /**\n * Fetch all auth policies\n * @returns Promise with list of all auth policies\n */\n getAuthPolicies(): Promise<KuadrantList<AuthPolicy>>;\n\n // ===== RateLimitPolicies =====\n\n /**\n * Fetch all ratelimitpolicies\n * @returns Promise with list of all ratelimitpolicies\n */\n getRateLimitPolicies(): Promise<KuadrantList<RateLimitPolicy>>;\n\n /**\n * Create a secret in consumer's own namespace\n * Backend determines namespace from authenticated user identity.\n * @param name - Secret name\n * @param apiKeyValue - API key value to store\n * @returns Promise that resolves when secret is created\n */\n createSecret(name: string, apiKeyValue: string): Promise<void>;\n\n /**\n * Delete a secret from consumer's own namespace\n * @param name - Secret name\n * @returns Promise that resolves when secret is deleted\n */\n deleteSecret(name: string): Promise<void>;\n}\n\n/**\n * API reference for the Kuadrant API\n */\nexport const kuadrantApiRef = createApiRef<KuadrantAPI>({\n id: 'plugin.kuadrant.service',\n});\n\n/**\n * Implementation of the Kuadrant API client\n */\nexport class KuadrantApiClient implements KuadrantAPI {\n private readonly discoveryApi: DiscoveryApi;\n private readonly fetchApi: FetchApi;\n\n constructor(options: Options) {\n this.discoveryApi = options.discoveryApi;\n this.fetchApi = options.fetchApi;\n }\n\n /**\n * Get the base URL for the backend API\n */\n private async getBaseUrl(): Promise<string> {\n return await this.discoveryApi.getBaseUrl('');\n }\n\n /**\n * Wrapper for GET requests with automatic retry logic\n * Retries on network failures or 5xx errors with exponential backoff\n */\n private async fetchWithRetry<T>(url: string, errorMsg: string = \"\"): Promise<T> {\n return retry(\n async (bail) => {\n const response = await this.fetchApi.fetch(url);\n if (response.status === 401 || response.status === 403) { // Don't retry on Unauthenticated/Unauthorized\n const error = await handleFetchError(response);\n bail(new Error(error));\n }\n else if (!response.ok) {\n const error = await handleFetchError(response);\n throw new Error(`${errorMsg} ${error}`);\n }\n return await response.json();\n },\n RETRY_OPTIONS,\n );\n }\n\n /**\n * Wrapper for mutations (POST, PATCH, DELETE) without retry\n * These operations are not retried to avoid duplicate side effects\n */\n private async fetchWithoutRetry<T>(\n url: string,\n options: RequestInit,\n errorMsg: string = \"\"): Promise<T> {\n const response = await this.fetchApi.fetch(url, {\n headers: {\n \"Content-Type\": \"application/json\",\n },\n ...options,\n });\n\n if (!response.ok) {\n const error = await handleFetchError(response);\n throw new Error(`${errorMsg} ${error}`);\n }\n\n // DELETE operations don't return a body\n if (options.method === 'DELETE') {\n return undefined as T;\n }\n\n return await response.json();\n }\n\n // ===== API Requests Implementation =====\n\n async getRequests(): Promise<KuadrantList<APIKey>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/requests/my`,\n \"Failed to fetch API Key requests.\"\n );\n }\n\n async getAllRequests(): Promise<KuadrantList<APIKey>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/requests`,\n \"Failed to fetch API Key requests.\"\n );\n }\n\n async getRequestsByNamespace(namespace: string): Promise<KuadrantList<APIKey>> {\n const baseUrl = await this.getBaseUrl();\n const url = namespace\n ? `${baseUrl}kuadrant/requests/my?namespace=${namespace}`\n : `${baseUrl}kuadrant/requests/my`;\n return this.fetchWithRetry(url, \"Failed to fetch API Key requests by namespace.\");\n }\n\n async getRequestsByApiProduct(apiProductName: string, apiProductNamespace: string): Promise<KuadrantList<APIKey>> {\n const baseUrl = await this.getBaseUrl();\n const params = new URLSearchParams({ apiProductName, apiProductNamespace });\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/requests/my?${params.toString()}`,\n \"Failed to fetch API Key requests by API product.\",\n );\n }\n\n async getAllRequestsByApiProduct(apiProductName: string, apiProductNamespace: string): Promise<KuadrantList<APIKey>> {\n const baseUrl = await this.getBaseUrl();\n const params = new URLSearchParams({ apiProductName, apiProductNamespace });\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/requests?${params.toString()}`,\n \"Failed to fetch all API Key requests by API product.\",\n );\n }\n\n async getRequest(namespace: string, name: string): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/requests/${namespace}/${name}`,\n \"Failed to fetch API Key request.\"\n );\n }\n\n async createRequest(request: APIKeyRequest): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/requests`, {\n method: 'POST',\n body: JSON.stringify(request),\n }, \"Failed to create APIKey request.\");\n }\n\n async updateRequest(\n namespace: string,\n name: string,\n patch: Partial<APIKeySpec>,\n ): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/requests/${namespace}/${name}`, {\n method: 'PATCH',\n body: JSON.stringify(patch),\n }, \"Failed to update APIKey request.\");\n }\n\n async deleteRequest(namespace: string, name: string): Promise<void> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/requests/${namespace}/${name}`, {\n method: 'DELETE',\n }, \"Failed to delete APIKey request.\");\n }\n\n async approveRequest(namespace: string, name: string, reviewedBy: string = \"system\"): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/requests/${namespace}/${name}/approve`, {\n method: 'POST',\n body: JSON.stringify({ reviewedBy }),\n }, \"Failed to approve APIKey request.\");\n }\n\n async rejectRequest(namespace: string, name: string, reviewedBy: string = \"system\"): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/requests/${namespace}/${name}/reject`, {\n method: 'POST',\n body: JSON.stringify({ reviewedBy }),\n }, \"Failed to reject APIKey request.\");\n }\n\n async bulkApproveRequests(\n requests: Array<{ namespace: string; name: string }>,\n reviewedBy: string): Promise<Array<BulkOperationResult>> {\n const baseUrl = await this.getBaseUrl();\n const response = await this.fetchWithoutRetry<{ results: Array<BulkOperationResult> }>(`${baseUrl}kuadrant/requests/bulk-approve`, {\n method: 'POST',\n body: JSON.stringify({ requests, reviewedBy }),\n }, \"Failed to bulk approve APIKey requests.\");\n return response.results;\n }\n\n async bulkRejectRequests(\n requests: Array<{ namespace: string; name: string }>,\n reviewedBy: string): Promise<Array<BulkOperationResult>> {\n const baseUrl = await this.getBaseUrl();\n const response = await this.fetchWithoutRetry<{ results: Array<BulkOperationResult> }>(`${baseUrl}kuadrant/requests/bulk-reject`, {\n method: 'POST',\n body: JSON.stringify({ requests, reviewedBy }),\n }, \"Failed to bulk reject APIKey requests\");\n return response.results;\n }\n\n // ===== API Keys/Secrets Implementation =====\n\n async getApiKey(namespace: string, name: string): Promise<APIKey> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/apikeys/${namespace}/${name}`,\n \"Failed to fetch API Key.\"\n );\n }\n\n async getApiKeySecret(\n namespace: string,\n name: string,\n ): Promise<ExtractedSecret> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/apikeys/${namespace}/${name}/secret`,\n \"Failed to fetch API Key Secret.\"\n );\n }\n\n // ===== API Products Implementation =====\n\n async getApiProducts(): Promise<KuadrantList<APIProduct>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/apiproducts`,\n \"Failed to fetch API Products.\"\n );\n }\n\n async getApiProduct(namespace: string, name: string): Promise<APIProduct> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/apiproducts/${namespace}/${name}`,\n \"Failed to fetch API Product.\"\n );\n }\n\n async createApiProduct(product: APIProduct): Promise<APIProduct> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/apiproducts`, {\n method: 'POST',\n body: JSON.stringify(product),\n }, \"Failed to create API Product.\");\n }\n\n async updateApiProduct(\n namespace: string,\n name: string,\n patch: Partial<APIProduct>,\n ): Promise<APIProduct> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/apiproducts/${namespace}/${name}`, {\n method: 'PATCH',\n body: JSON.stringify(patch),\n }, \"Failed to update API Product.\");\n }\n\n async deleteApiProduct(namespace: string, name: string): Promise<void> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(`${baseUrl}kuadrant/apiproducts/${namespace}/${name}`, {\n method: 'DELETE',\n }, \"Failed to delete API Product.\");\n }\n\n // ===== HTTP Routes =====\n\n async getHttpRoutes(): Promise<K8sList> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/httproutes`,\n \"Failed to fetch HTTPRoutes.\"\n );\n }\n\n async getHttpRoute(namespace: string, name: string): Promise<K8sResource> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/httproutes/${namespace}/${name}`,\n `Failed to fetc HTTPRoute ${namespace}/${name}.`\n );\n }\n\n // ===== Plan Policies Implementation =====\n\n async getPlanPolicies(): Promise<KuadrantList<PlanPolicy>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/planpolicies`,\n \"Failed to fetch PlanPolicies.\"\n );\n }\n\n // ===== AuthPolicies Implementation =====\n\n async getAuthPolicies(): Promise<KuadrantList<AuthPolicy>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/authpolicies`,\n \"Failed to fetch AuthPolicies.\"\n );\n }\n\n // ===== RateLimitPolicies Implementation =====\n\n async getRateLimitPolicies(): Promise<KuadrantList<RateLimitPolicy>> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithRetry(\n `${baseUrl}kuadrant/ratelimitpolicies`,\n \"Failed to fetch RateLimitPolicies.\"\n );\n }\n\n // ===== Secrets Implementation =====\n\n async createSecret(name: string, apiKeyValue: string): Promise<void> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(\n `${baseUrl}kuadrant/secrets`,\n {\n method: 'POST',\n body: JSON.stringify({ name, apiKeyValue }),\n },\n 'Failed to create secret'\n );\n }\n\n async deleteSecret(name: string): Promise<void> {\n const baseUrl = await this.getBaseUrl();\n return this.fetchWithoutRetry(\n `${baseUrl}kuadrant/secrets/${name}`,\n { method: 'DELETE' },\n 'Failed to delete secret'\n );\n }\n}\n","import {\n createApiFactory,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\nimport { kuadrantApiRef, KuadrantApiClient } from './api';\n\n/**\n * API factory for the Kuadrant plugin\n * This factory creates and configures the KuadrantApiClient with required dependencies\n */\nexport const kuadrantApiFactory = createApiFactory({\n api: kuadrantApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, fetchApi, identityApi }) =>\n new KuadrantApiClient({ discoveryApi, fetchApi, identityApi }),\n});\n","function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n } else obj[key] = value;\n\n return obj;\n}\nexport { _define_property as _ };\n"],"names":["retrier","__webpack_require__","module","exports","fn","opts","Promise","resolve","reject","op","options","bail","err","Error","onError","num","retry","onRetry","mainError","randomize","operation","attempt","val","then","catch","RetryOperation","timeouts","forever","retries","Infinity","unref","maxRetryTime","Array","concat","factor","minTimeout","maxTimeout","key","i","push","this","createTimeout","length","sort","a","b","random","Math","timeout","round","max","pow","min","wrap","obj","methods","method","original","args","prototype","slice","call","arguments","callback","pop","apply","bind","_originalTimeouts","JSON","parse","stringify","_timeouts","_options","_maxRetryTime","_fn","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_timer","_cachedTimeouts","reset","stop","clearTimeout","currentTime","Date","getTime","unshift","shift","undefined","splice","self","setTimeout","timeoutOps","cb","try","console","log","start","errors","attempts","counts","mainErrorCount","error","message","count","async","handleFetchError","response","errorData","json","status","RETRY_OPTIONS","kuadrantApiRef","createApiRef","id","KuadrantApiClient","getBaseUrl","discoveryApi","fetchWithRetry","url","errorMsg","fetchApi","fetch","ok","fetchWithoutRetry","headers","getRequests","baseUrl","getAllRequests","getRequestsByNamespace","namespace","getRequestsByApiProduct","apiProductName","apiProductNamespace","params","URLSearchParams","toString","getAllRequestsByApiProduct","getRequest","name","createRequest","request","body","updateRequest","patch","deleteRequest","approveRequest","reviewedBy","rejectRequest","bulkApproveRequests","requests","results","bulkRejectRequests","getApiKey","getApiKeySecret","getApiProducts","getApiProduct","createApiProduct","product","updateApiProduct","deleteApiProduct","getHttpRoutes","getHttpRoute","getPlanPolicies","getAuthPolicies","getRateLimitPolicies","createSecret","apiKeyValue","deleteSecret","constructor","_define_property","_","kuadrantApiFactory","createApiFactory","api","deps","discoveryApiRef","fetchApiRef","identityApi","identityApiRef","factory","value","Object","defineProperty","enumerable","configurable","writable"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend=self.webpackChunkkuadrant_kuadrant_backstage_plugin_frontend||[]).push([[8727],{42878:(e,t,n)=>{"use strict";var r=n(86638),i=a(Error);function a(e){return t.displayName=e.displayName||e.name,t;function t(t){return t&&(t=r.apply(null,arguments)),new e(t)}}e.exports=i,i.eval=a(EvalError),i.range=a(RangeError),i.reference=a(ReferenceError),i.syntax=a(SyntaxError),i.type=a(TypeError),i.uri=a(URIError),i.create=a},86638:e=>{!function(){var t;function n(e){for(var t,n,r,i,a=1,s=[].slice.call(arguments),o=0,l=e.length,c="",u=!1,g=!1,h=function(){return s[a++]},d=function(){for(var n="";/\d/.test(e[o]);)n+=e[o++],t=e[o];return n.length>0?parseInt(n):null};o<l;++o)if(t=e[o],u)switch(u=!1,"."==t?(g=!1,t=e[++o]):"0"==t&&"."==e[o+1]?(g=!0,t=e[o+=2]):g=!0,i=d(),t){case"b":c+=parseInt(h(),10).toString(2);break;case"c":c+="string"==typeof(n=h())||n instanceof String?n:String.fromCharCode(parseInt(n,10));break;case"d":c+=parseInt(h(),10);break;case"f":r=String(parseFloat(h()).toFixed(i||6)),c+=g?r:r.replace(/^0/,"");break;case"j":c+=JSON.stringify(h());break;case"o":c+="0"+parseInt(h(),10).toString(8);break;case"s":c+=h();break;case"x":c+="0x"+parseInt(h(),10).toString(16);break;case"X":c+="0x"+parseInt(h(),10).toString(16).toUpperCase();break;default:c+=t}else"%"===t?u=!0:c+=t;return c}(t=e.exports=n).format=n,t.vsprintf=function(e,t){return n.apply(null,[e].concat(t))},"undefined"!=typeof console&&"function"==typeof console.log&&(t.printf=function(){console.log(n.apply(null,arguments))})}()},81072:e=>{function t(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(function(n){var r=e[n];"object"!=typeof r||Object.isFrozen(r)||t(r)}),e}var n=t,r=t;n.default=r;class i{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function a(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function s(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach(function(e){for(const t in e)n[t]=e[t]}),n}const o=e=>!!e.kind;class l{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=a(e)}openNode(e){if(!o(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){o(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function g(e){return e?"string"==typeof e?e:e.source:null}const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,d="[a-zA-Z]\\w*",f="[a-zA-Z_]\\w*",p="\\b\\d+(\\.\\d+)?",m="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",b="\\b(0b[01]+)",x={begin:"\\\\[\\s\\S]",relevance:0},E={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[x]},v={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[x]},y={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},w=function(e,t,n={}){const r=s({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(y),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},N=w("//","$"),R=w("/\\*","\\*/"),_=w("#","$"),k={className:"number",begin:p,relevance:0},M={className:"number",begin:m,relevance:0},O={className:"number",begin:b,relevance:0},L={className:"number",begin:p+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},I={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[x,{begin:/\[/,end:/\]/,relevance:0,contains:[x]}]}]},A={className:"title",begin:d,relevance:0},S={className:"title",begin:f,relevance:0},j={begin:"\\.\\s*"+f,relevance:0};var T=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:d,UNDERSCORE_IDENT_RE:f,NUMBER_RE:p,C_NUMBER_RE:m,BINARY_NUMBER_RE:b,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>g(e)).join("")}(t,/.*\b/,e.binary,/\b.*/)),s({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:x,APOS_STRING_MODE:E,QUOTE_STRING_MODE:v,PHRASAL_WORDS_MODE:y,COMMENT:w,C_LINE_COMMENT_MODE:N,C_BLOCK_COMMENT_MODE:R,HASH_COMMENT_MODE:_,NUMBER_MODE:k,C_NUMBER_MODE:M,BINARY_NUMBER_MODE:O,CSS_NUMBER_MODE:L,REGEXP_MODE:I,TITLE_MODE:A,UNDERSCORE_TITLE_MODE:S,METHOD_GUARD:j,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function B(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function P(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=B,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function C(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map(e=>g(e)).join("|")+")"}(...e.illegal))}function D(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function H(e,t){void 0===e.relevance&&(e.relevance=1)}const $=["of","and","for","in","not","or","if","then","parent","list","value"];function U(e,t,n="keyword"){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,U(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){const n=t.split("|");r[n[0]]=[e,z(n[0],n[1])]})}}function z(e,t){return t?Number(t):function(e){return $.includes(e.toLowerCase())}(e)?0:1}function K(e,{plugins:t}){function n(t,n){return new RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,t="|"){let n=0;return e.map(e=>{n+=1;const t=n;let r=g(e),i="";for(;r.length>0;){const e=h.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i}).map(e=>`(${e})`).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=s(e.classNameAliases||{}),function t(r,a){const o=r;if(r.isCompiled)return o;[D].forEach(e=>e(r,a)),e.compilerExtensions.forEach(e=>e(r,a)),r.__beforeBegin=null,[P,C,H].forEach(e=>e(r,a)),r.isCompiled=!0;let l=null;if("object"==typeof r.keywords&&(l=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=U(r.keywords,e.case_insensitive)),r.lexemes&&l)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l=l||r.lexemes||/\w+/,o.keywordPatternRe=n(l,!0),a&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(o.endRe=n(r.end)),o.terminatorEnd=g(r.end)||"",r.endsWithParent&&a.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+a.terminatorEnd)),r.illegal&&(o.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map(function(e){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return s(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:G(e)?s(e,{starts:e.starts?s(e.starts):null}):Object.isFrozen(e)?s(e):e}("self"===e?r:e)})),r.contains.forEach(function(e){t(e,o)}),r.starts&&t(r.starts,a),o.matcher=function(e){const t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(o),o}(e)}function G(e){return!!e&&(e.endsWithParent||G(e.starts))}function F(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,a(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const V={"after:highlightElement":({el:e,result:t,text:n})=>{const r=X(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const s=[];function o(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function l(e){i+="<"+W(e)+[].map.call(e.attributes,function(e){return" "+e.nodeName+'="'+a(e.value)+'"'}).join("")+">"}function c(e){i+="</"+W(e)+">"}function u(e){("start"===e.event?l:c)(e.node)}for(;e.length||t.length;){let t=o();if(i+=a(n.substring(r,t[0].offset)),r=t[0].offset,t===e){s.reverse().forEach(c);do{u(t.splice(0,1)[0]),t=o()}while(t===e&&t.length&&t[0].offset===r);s.reverse().forEach(l)}else"start"===t[0].event?s.push(t[0].node):s.pop(),u(t.splice(0,1)[0])}return i+a(n.substr(r))}(r,X(i),n)}};function W(e){return e.nodeName.toLowerCase()}function X(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),W(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const q={},J=e=>{console.error(e)},Z=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Y=(e,t)=>{q[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),q[`${e}/${t}`]=!0)},Q=a,ee=s,te=Symbol("nomatch");var ne=function(e){const t=Object.create(null),r=Object.create(null),a=[];let s=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,l="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let g={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function h(e){return g.noHighlightRe.test(e)}function d(e,t,n,r){let i="",a="";"object"==typeof t?(i=e,n=t.ignoreIllegals,a=t.language,r=void 0):(Y("10.7.0","highlight(lang, code, ...args) has been deprecated."),Y("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),a=e,i=t);const s={code:i,language:a};k("before:highlight",s);const o=s.result?s.result:f(s.language,s.code,n,r);return o.code=s.code,k("after:highlight",o),o}function f(e,n,r,o){function c(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=R.subLanguage?function(){if(""===M)return;let e=null;if("string"==typeof R.subLanguage){if(!t[R.subLanguage])return void k.addText(M);e=f(R.subLanguage,M,!0,_[R.subLanguage]),_[R.subLanguage]=e.top}else e=p(M,R.subLanguage.length?R.subLanguage:null);R.relevance>0&&(O+=e.relevance),k.addSublanguage(e.emitter,e.language)}():function(){if(!R.keywords)return void k.addText(M);let e=0;R.keywordPatternRe.lastIndex=0;let t=R.keywordPatternRe.exec(M),n="";for(;t;){n+=M.substring(e,t.index);const r=c(R,t);if(r){const[e,i]=r;if(k.addText(n),n="",O+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;k.addKeyword(t[0],n)}}else n+=t[0];e=R.keywordPatternRe.lastIndex,t=R.keywordPatternRe.exec(M)}n+=M.substr(e),k.addText(n)}(),M=""}function h(e){return e.className&&k.openNode(v.classNameAliases[e.className]||e.className),R=Object.create(e,{parent:{value:R}}),R}function d(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return d(e.parent,t,n)}function m(e){return 0===R.matcher.regexIndex?(M+=e[0],1):(A=!0,0)}function b(e){const t=e[0],r=n.substr(e.index),i=d(R,e,r);if(!i)return te;const a=R;a.skip?M+=t:(a.returnEnd||a.excludeEnd||(M+=t),u(),a.excludeEnd&&(M=t));do{R.className&&k.closeNode(),R.skip||R.subLanguage||(O+=R.relevance),R=R.parent}while(R!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),h(i.starts)),a.returnEnd?0:t.length}let x={};function E(t,a){const o=a&&a[0];if(M+=t,null==o)return u(),0;if("begin"===x.type&&"end"===a.type&&x.index===a.index&&""===o){if(M+=n.slice(a.index,a.index+1),!s){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=x.rule,t}return 1}if(x=a,"begin"===a.type)return function(e){const t=e[0],n=e.rule,r=new i(n),a=[n.__beforeBegin,n["on:begin"]];for(const n of a)if(n&&(n(e,r),r.isMatchIgnored))return m(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?M+=t:(n.excludeBegin&&(M+=t),u(),n.returnBegin||n.excludeBegin||(M=t)),h(n),n.returnBegin?0:t.length}(a);if("illegal"===a.type&&!r){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(R.className||"<unnamed>")+'"');throw e.mode=R,e}if("end"===a.type){const e=b(a);if(e!==te)return e}if("illegal"===a.type&&""===o)return 1;if(I>1e5&&I>3*a.index)throw new Error("potential infinite loop, way more iterations than matches");return M+=o,o.length}const v=N(e);if(!v)throw J(l.replace("{}",e)),new Error('Unknown language: "'+e+'"');const y=K(v,{plugins:a});let w="",R=o||y;const _={},k=new g.__emitter(g);!function(){const e=[];for(let t=R;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach(e=>k.openNode(e))}();let M="",O=0,L=0,I=0,A=!1;try{for(R.matcher.considerAll();;){I++,A?A=!1:R.matcher.considerAll(),R.matcher.lastIndex=L;const e=R.matcher.exec(n);if(!e)break;const t=E(n.substring(L,e.index),e);L=e.index+t}return E(n.substr(L)),k.closeAllNodes(),k.finalize(),w=k.toHTML(),{relevance:Math.floor(O),value:w,language:e,illegal:!1,emitter:k,top:R}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(L-100,L+100),mode:t.mode},sofar:w,relevance:0,value:Q(n),emitter:k};if(s)return{illegal:!1,relevance:0,value:Q(n),emitter:k,language:e,top:R,errorRaised:t};throw t}}function p(e,n){n=n||g.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new g.__emitter(g),value:Q(e),illegal:!1,top:c};return t.emitter.addText(e),t}(e),i=n.filter(N).filter(_).map(t=>f(t,e,!1));i.unshift(r);const a=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),[s,o]=a,l=s;return l.second_best=o,l}const m={"before:highlightElement":({el:e})=>{g.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{g.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},b=/^(<[^>]+>|\t)+/gm,x={"after:highlightElement":({result:e})=>{g.tabReplace&&(e.value=e.value.replace(b,e=>e.replace(/\t/g,g.tabReplace)))}};function E(e){let t=null;const n=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=g.languageDetectRe.exec(t);if(n){const t=N(n[1]);return t||(Z(l.replace("{}",n[1])),Z("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>h(e)||N(e))}(e);if(h(n))return;k("before:highlightElement",{el:e,language:n}),t=e;const i=t.textContent,a=n?d(i,{language:n,ignoreIllegals:!0}):p(i);k("after:highlightElement",{el:e,result:a,text:i}),e.innerHTML=a.value,function(e,t,n){const i=t?r[t]:n;e.classList.add("hljs"),i&&e.classList.add(i)}(e,n,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const v=()=>{v.called||(v.called=!0,Y("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(E))};let y=!1;function w(){"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(E):y=!0}function N(e){return e=(e||"").toLowerCase(),t[e]||t[r[e]]}function R(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{r[e.toLowerCase()]=t})}function _(e){const t=N(e);return t&&!t.disableAutodetect}function k(e,t){const n=e;a.forEach(function(e){e[n]&&e[n](t)})}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",function(){y&&w()},!1),Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:w,fixMarkup:function(e){return Y("10.2.0","fixMarkup will be removed entirely in v11.0"),Y("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),t=e,g.tabReplace||g.useBR?t.replace(o,e=>"\n"===e?g.useBR?"<br>":e:g.tabReplace?e.replace(/\t/g,g.tabReplace):e):t;var t},highlightElement:E,highlightBlock:function(e){return Y("10.7.0","highlightBlock will be removed entirely in v12.0"),Y("10.7.0","Please use highlightElement now."),E(e)},configure:function(e){e.useBR&&(Y("10.3.0","'useBR' will be removed entirely in v11.0"),Y("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),g=ee(g,e)},initHighlighting:v,initHighlightingOnLoad:function(){Y("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),y=!0},registerLanguage:function(n,r){let i=null;try{i=r(e)}catch(e){if(J("Language definition for '{}' could not be registered.".replace("{}",n)),!s)throw e;J(e),i=c}i.name||(i.name=n),t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&R(i.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(r))r[t]===e&&delete r[t]},listLanguages:function(){return Object.keys(t)},getLanguage:N,registerAliases:R,requireLanguage:function(e){Y("10.4.0","requireLanguage will be removed entirely in v11."),Y("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=N(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:_,inherit:ee,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),a.push(e)},vuePlugin:F(e).VuePlugin}),e.debugMode=function(){s=!1},e.safeMode=function(){s=!0},e.versionString="10.7.3";for(const e in T)"object"==typeof T[e]&&n(T[e]);return Object.assign(e,T),e.addPlugin(m),e.addPlugin(V),e.addPlugin(x),e}({});e.exports=ne},63341:(e,t,n)=>{"use strict";var r=n(81072),i=n(42878);t.highlight=s,t.highlightAuto=function(e,t){var n,o,l,c,u=t||{},g=u.subset||r.listLanguages(),h=u.prefix,d=g.length,f=-1;if(null==h&&(h=a),"string"!=typeof e)throw i("Expected `string` for value, got `%s`",e);for(o={relevance:0,language:null,value:[]},n={relevance:0,language:null,value:[]};++f<d;)c=g[f],r.getLanguage(c)&&((l=s(c,e,t)).language=c,l.relevance>o.relevance&&(o=l),l.relevance>n.relevance&&(o=n,n=l));return o.language&&(n.secondBest=o),n},t.registerLanguage=function(e,t){r.registerLanguage(e,t)},t.listLanguages=function(){return r.listLanguages()},t.registerAlias=function(e,t){var n,i=e;for(n in t&&((i={})[e]=t),i)r.registerAliases(i[n],{languageName:n})},o.prototype.addText=function(e){var t,n,r=this.stack;""!==e&&((n=(t=r[r.length-1]).children[t.children.length-1])&&"text"===n.type?n.value+=e:t.children.push({type:"text",value:e}))},o.prototype.addKeyword=function(e,t){this.openNode(t),this.addText(e),this.closeNode()},o.prototype.addSublanguage=function(e,t){var n=this.stack,r=n[n.length-1],i=e.rootNode.children,a=t?{type:"element",tagName:"span",properties:{className:[t]},children:i}:i;r.children=r.children.concat(a)},o.prototype.openNode=function(e){var t=this.stack,n={type:"element",tagName:"span",properties:{className:[this.options.classPrefix+e]},children:[]};t[t.length-1].children.push(n),t.push(n)},o.prototype.closeNode=function(){this.stack.pop()},o.prototype.closeAllNodes=l,o.prototype.finalize=l,o.prototype.toHTML=function(){return""};var a="hljs-";function s(e,t,n){var s,l=r.configure({}),c=(n||{}).prefix;if("string"!=typeof e)throw i("Expected `string` for name, got `%s`",e);if(!r.getLanguage(e))throw i("Unknown language: `%s` is not registered",e);if("string"!=typeof t)throw i("Expected `string` for value, got `%s`",t);if(null==c&&(c=a),r.configure({__emitter:o,classPrefix:c}),s=r.highlight(t,{language:e,ignoreIllegals:!0}),r.configure(l||{}),s.errorRaised)throw s.errorRaised;return{relevance:s.relevance,language:s.language,value:s.emitter.rootNode.children}}function o(e){this.options=e,this.rootNode={children:[]},this.stack=[this.rootNode]}function l(){}}}]);
2
+ //# sourceMappingURL=lowlight-import.6ce6e76b.chunk.js.map