@techdocs/cli 0.8.11 → 0.8.13-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -4
- package/README.md +6 -6
- package/dist/cjs/serve-be4ef843.cjs.js +144 -0
- package/dist/cjs/serve-be4ef843.cjs.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/.config-schema.json +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/android-chrome-192x192.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/apple-touch-icon.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon-16x16.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon-32x32.png +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/favicon.ico +0 -0
- package/dist/embedded-app/index.html +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/manifest.json +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/robots.txt +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/safari-pinned-tab.svg +0 -0
- package/dist/embedded-app/static/1553.a3ba3bc9.chunk.js +3 -0
- package/dist/embedded-app/static/1553.a3ba3bc9.chunk.js.map +1 -0
- package/dist/embedded-app/static/1959.f2a5fbe8.chunk.js +8 -0
- package/dist/embedded-app/static/1959.f2a5fbe8.chunk.js.map +1 -0
- package/dist/embedded-app/static/2426.c303a0db.chunk.js +3 -0
- package/dist/embedded-app/static/2426.c303a0db.chunk.js.map +1 -0
- package/dist/embedded-app/static/3825.2314f84b.chunk.js +3 -0
- package/dist/embedded-app/static/3825.2314f84b.chunk.js.map +1 -0
- package/dist/embedded-app/static/390.088f14b3.chunk.js +3 -0
- package/dist/embedded-app/static/390.088f14b3.chunk.js.map +1 -0
- package/dist/embedded-app/static/4022.9a059830.chunk.js +3 -0
- package/dist/embedded-app/static/4022.9a059830.chunk.js.map +1 -0
- package/dist/embedded-app/static/4960.ef8f22a6.chunk.js +3 -0
- package/dist/embedded-app/static/4960.ef8f22a6.chunk.js.map +1 -0
- package/dist/embedded-app/static/6105.1f3a3239.chunk.js +3 -0
- package/dist/embedded-app/static/6105.1f3a3239.chunk.js.map +1 -0
- package/dist/embedded-app/static/6235.71cad128.chunk.js +3 -0
- package/dist/embedded-app/static/6235.71cad128.chunk.js.map +1 -0
- package/dist/embedded-app/static/6650.43f69504.chunk.js +3 -0
- package/dist/embedded-app/static/6650.43f69504.chunk.js.map +1 -0
- package/dist/embedded-app/static/804.c2c0104e.chunk.js +3 -0
- package/dist/embedded-app/static/804.c2c0104e.chunk.js.map +1 -0
- package/dist/embedded-app/static/8061.d52df3ec.chunk.js +3 -0
- package/dist/embedded-app/static/8061.d52df3ec.chunk.js.map +1 -0
- package/dist/embedded-app/static/8718.d8f22f92.chunk.js +4 -0
- package/dist/embedded-app/static/8718.d8f22f92.chunk.js.map +1 -0
- package/dist/embedded-app/static/8792.ffba5fe7.chunk.js +3 -0
- package/dist/embedded-app/static/8792.ffba5fe7.chunk.js.map +1 -0
- package/dist/embedded-app/static/9028.310b76ec.chunk.js +3 -0
- package/dist/embedded-app/static/9028.310b76ec.chunk.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/createComponent.975d1e1e..svg +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/illo.7884c54f..svg +0 -0
- package/dist/embedded-app/static/main.367d4ef1.js +152 -0
- package/dist/embedded-app/static/main.367d4ef1.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/mic-drop.fe3ef4d0..svg +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/missingAnnotation.67f79e98..svg +0 -0
- package/dist/embedded-app/static/module-ajv.ed51f4b8.js +10 -0
- package/dist/embedded-app/static/module-ajv.ed51f4b8.js.map +1 -0
- package/dist/embedded-app/static/module-date-fns.a08d117e.js +3 -0
- package/dist/embedded-app/static/module-date-fns.a08d117e.js.map +1 -0
- package/dist/embedded-app/static/module-lodash.d85d8a0e.js +29 -0
- package/dist/embedded-app/static/module-lodash.d85d8a0e.js.map +1 -0
- package/dist/embedded-app/static/module-material-table.f1dfcc79.js +3 -0
- package/dist/embedded-app/static/module-material-table.f1dfcc79.js.map +1 -0
- package/dist/embedded-app/static/module-material-ui.c0214b97.js +51 -0
- package/dist/embedded-app/static/module-material-ui.c0214b97.js.map +1 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js +67 -0
- package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js.map +1 -0
- package/dist/embedded-app/static/module-react-dom.a4f98d7b.js +25 -0
- package/dist/embedded-app/static/module-react-dom.a4f98d7b.js.map +1 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/noBuild.1715fa71..svg +0 -0
- package/dist/{techdocs-preview-bundle → embedded-app}/static/noInformation.4b426325..svg +0 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js +6 -0
- package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js +4 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js +5 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js.map +1 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js +3 -0
- package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js.map +1 -0
- package/dist/embedded-app/static/runtime.367d4ef1.js +4 -0
- package/dist/embedded-app/static/runtime.367d4ef1.js.map +1 -0
- package/dist/embedded-app/static/vendor.367d4ef1.js +142 -0
- package/dist/embedded-app/static/vendor.367d4ef1.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/package.json +10 -8
- package/dist/cjs/serve-639872a5.cjs.js +0 -131
- package/dist/cjs/serve-639872a5.cjs.js.map +0 -1
- package/dist/techdocs-preview-bundle/index.html +0 -1
- package/dist/techdocs-preview-bundle/static/1110.fad0cc94.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/1110.fad0cc94.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/1553.f92909dc.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/1553.f92909dc.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/1959.fede02a2.chunk.js +0 -8
- package/dist/techdocs-preview-bundle/static/1959.fede02a2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/2426.0f5944f2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/2426.0f5944f2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/3825.ba0db915.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/3825.ba0db915.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/390.8fb9f8b1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/390.8fb9f8b1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/4022.1520ac4e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/4022.1520ac4e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/4960.fe6ea5ff.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/4960.fe6ea5ff.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6105.bceb17a5.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6105.bceb17a5.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6235.6f25344f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6235.6f25344f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/6650.b1541be0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/6650.b1541be0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8061.568a31ea.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/8061.568a31ea.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8718.94a54656.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/8718.94a54656.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/8792.e69fee35.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/8792.e69fee35.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/9028.878909ed.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/9028.878909ed.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/main.7a58b1e5.js +0 -152
- package/dist/techdocs-preview-bundle/static/main.7a58b1e5.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js +0 -10
- package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js +0 -3
- package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js +0 -29
- package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-material-table.4d12af73.js +0 -3
- package/dist/techdocs-preview-bundle/static/module-material-table.4d12af73.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-material-ui.785c2072.js +0 -51
- package/dist/techdocs-preview-bundle/static/module-material-ui.785c2072.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.bb1e9fcd.js +0 -67
- package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.bb1e9fcd.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/module-react-dom.e63a44de.js +0 -25
- package/dist/techdocs-preview-bundle/static/module-react-dom.e63a44de.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js +0 -6
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js +0 -4
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js +0 -5
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js +0 -3
- package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/runtime.7a58b1e5.js +0 -4
- package/dist/techdocs-preview-bundle/static/runtime.7a58b1e5.js.map +0 -1
- package/dist/techdocs-preview-bundle/static/vendor.7a58b1e5.js +0 -129
- package/dist/techdocs-preview-bundle/static/vendor.7a58b1e5.js.map +0 -1
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
var Vi=Object.defineProperty;var ji=(J,o,e)=>o in J?Vi(J,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):J[o]=e;var X=(J,o,e)=>(ji(J,typeof o!="symbol"?o+"":o,e),e),ho=(J,o,e)=>{if(!o.has(J))throw TypeError("Cannot "+e)};var qe=(J,o,e)=>(ho(J,o,"read from private field"),e?e.call(J):o.get(J)),Sn=(J,o,e)=>{if(o.has(J))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(J):o.set(J,e)},Ln=(J,o,e,r)=>(ho(J,o,"write to private field"),r?r.call(J,e):o.set(J,e),e);(self.webpackChunkembedded_techdocs_app=self.webpackChunkembedded_techdocs_app||[]).push([[179],{30001:function(J,o,e){"use strict";e.d(o,{n3:function(){return g},MS:function(){return s}});var r=e(52890),t=e(10179),l=e(96279),f=e.n(l);const g=Symbol("CATALOG_FILTER_EXISTS");class s{constructor(m){X(this,"discoveryApi");X(this,"fetchApi");this.discoveryApi=m.discoveryApi,this.fetchApi=m.fetchApi||{fetch:f()}}async getEntityAncestors(m,y){const{kind:c,namespace:E,name:i}=(0,r.of)(m.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(c)}/${encodeURIComponent(E)}/${encodeURIComponent(i)}/ancestry`,y)}async getLocationById(m,y){return await this.requestOptional("GET",`/locations/${encodeURIComponent(m)}`,y)}async getEntities(m,y){const{filter:c=[],fields:E=[],offset:i,limit:S,after:F}=m!=null?m:{},P=[c].flat(),j=[];for(const O of P){const K=[];for(const[_,ie]of Object.entries(O))for(const pe of[ie].flat())pe===g?K.push(encodeURIComponent(_)):typeof pe=="string"&&K.push(`${encodeURIComponent(_)}=${encodeURIComponent(pe)}`);K.length&&j.push(`filter=${K.join(",")}`)}E.length&&j.push(`fields=${E.map(encodeURIComponent).join(",")}`),i!==void 0&&j.push(`offset=${i}`),S!==void 0&&j.push(`limit=${S}`),F!==void 0&&j.push(`after=${encodeURIComponent(F)}`);const x=j.length?`?${j.join("&")}`:"",I=await this.requestRequired("GET",`/entities${x}`,y),b=(O,K)=>{var pe,Le;if(((pe=O.metadata)==null?void 0:pe.name)===void 0||O.kind===void 0||((Le=K.metadata)==null?void 0:Le.name)===void 0||K.kind===void 0)return 0;const _=(0,r.eE)(O),ie=(0,r.eE)(K);return _<ie?-1:_>ie?1:0};return{items:I.sort(b)}}async getEntityByName(m,y){const{kind:c,namespace:E="default",name:i}=m;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(c)}/${encodeURIComponent(E)}/${encodeURIComponent(i)}`,y)}async refreshEntity(m,y){const c=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(y==null?void 0:y.token)&&{Authorization:`Bearer ${y==null?void 0:y.token}`}},method:"POST",body:JSON.stringify({entityRef:m})});if(c.status!==200)throw new Error(await c.text())}async addLocation({type:m="url",target:y,dryRun:c,presence:E},i){const S=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${c?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(i==null?void 0:i.token)&&{Authorization:`Bearer ${i==null?void 0:i.token}`}},method:"POST",body:JSON.stringify({type:m,target:y,presence:E})});if(S.status!==201)throw new Error(await S.text());const{location:F,entities:P,exists:j}=await S.json();if(!F)throw new Error(`Location wasn't added: ${y}`);return{location:F,entities:P,exists:j}}async getOriginLocationByEntity(m,y){var i;const c=(i=m.metadata.annotations)==null?void 0:i[r.lb];return c?(await this.requestRequired("GET","/locations",y)).map(S=>S.data).find(S=>c===(0,r.Bt)(S)):void 0}async getLocationByEntity(m,y){var i;const c=(i=m.metadata.annotations)==null?void 0:i[r.Jl];return c?(await this.requestRequired("GET","/locations",y)).map(S=>S.data).find(S=>c===(0,r.Bt)(S)):void 0}async removeLocationById(m,y){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(m)}`,y)}async removeEntityByUid(m,y){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(m)}`,y)}async requestIgnored(m,y,c){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok)throw await t.VL.fromResponse(S)}async requestRequired(m,y,c){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok)throw await t.VL.fromResponse(S);return await S.json()}async requestOptional(m,y,c){const E=`${await this.discoveryApi.getBaseUrl("catalog")}${y}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(E,{method:m,headers:i});if(!S.ok){if(S.status===404)return;throw await t.VL.fromResponse(S)}return await S.json()}}},52890:function(J,o,e){"use strict";e.d(o,{J1:function(){return f},sk:function(){return r},Jl:function(){return A},lb:function(){return D},w$:function(){return Fe},nP:function(){return ye},aS:function(){return ut},hr:function(){return Ee},S4:function(){return T},cz:function(){return Rt},M_:function(){return le},wX:function(){return z},wh:function(){return l},C_:function(){return Qe},of:function(){return _e},Me:function(){return ee},TH:function(){return gt},eE:function(){return nt},Bt:function(){return Oe}});const r="default",t=null,l="backstage.io/view-url",f="backstage.io/edit-url";var g=e(76635),s=e.n(g);class h{constructor($=ENTITY_DEFAULT_NAMESPACE){X(this,"namespace");this.namespace=$}async enforce($){return $.metadata.namespace?$:lodash.merge({metadata:{namespace:this.namespace}},$)}}class m{static isValidPrefixAndOrSuffix($,Q,he,He){if(typeof $!="string")return!1;const ze=$.split(Q);return ze.length===1?He(ze[0]):ze.length===2?he(ze[0])&&He(ze[1]):!1}static isJsonSafe($){try{return s().isEqual($,JSON.parse(JSON.stringify($)))}catch{return!1}}static isValidDnsSubdomain($){return typeof $=="string"&&$.length>=1&&$.length<=253&&$.split(".").every(m.isValidDnsLabel)}static isValidDnsLabel($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test($)}static isValidTag($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test($)}static isValidUrl($){if(typeof $!="string")return!1;try{return new URL($),!0}catch{return!1}}static isValidString($){var Q;return typeof $=="string"&&((Q=$==null?void 0:$.trim())==null?void 0:Q.length)>=1}}var y=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityEnvelope","description":"The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":true,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1}}}}}'),c=e(48231),E=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"Entity","description":"The parts of the format that's common to all versions/kinds of entity.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":false,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"$ref":"EntityMeta"},"spec":{"type":"object","description":"The specification data describing the entity itself."},"relations":{"type":"array","description":"The relations that this entity has with other entities.","items":{"$ref":"common#relation"}},"status":{"$ref":"common#status"}}}`),i=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityMeta","description":"Metadata fields common to all versions/kinds of entity.","examples":[{"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","generation":13,"name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}],"type":"object","required":["name"],"additionalProperties":true,"properties":{"uid":{"type":"string","description":"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.","examples":["e01199ab-08cc-44c2-8e19-5c29ded82521"],"minLength":1},"etag":{"type":"string","description":"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.","examples":["lsndfkjsndfkjnsdfkjnsd=="],"minLength":1},"generation":{"type":"integer","description":"A positive nonzero number that indicates the current generation of data for this entity; the value is incremented each time the spec changes. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations.","examples":[1],"minimum":1},"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1},"title":{"type":"string","description":"A display name of the entity, to be presented in user interfaces instead of the name property, when available.","examples":["React SSR Template"],"minLength":1},"description":{"type":"string","description":"A short (typically relatively few words, on one line) description of the entity."},"labels":{"type":"object","description":"Key/value pairs of identifying information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"annotations":{"type":"object","description":"Key/value pairs of non-identifying auxiliary information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"tags":{"type":"array","description":"A list of single-valued strings, to for example classify catalog entities in various ways.","items":{"type":"string","minLength":1}},"links":{"type":"array","description":"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://admin.example-org.com"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["Admin Dashboard"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}}}'),S=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"common","type":"object","description":"Common definitions to import from other schemas","definitions":{"reference":{"$id":"#reference","type":"object","description":"A reference by name to another entity.","required":["kind","namespace","name"],"additionalProperties":false,"properties":{"kind":{"type":"string","description":"The kind field of the entity.","minLength":1},"namespace":{"type":"string","description":"The metadata.namespace field of the entity.","minLength":1},"name":{"type":"string","description":"The metadata.name field of the entity.","minLength":1}}},"relation":{"$id":"#relation","type":"object","description":"A directed relation from one entity to another.","required":["type","target"],"additionalProperties":false,"properties":{"type":{"type":"string","minLength":1,"pattern":"^\\\\w+$","description":"The type of relation."},"target":{"$ref":"#reference"}}},"status":{"$id":"#status","type":"object","description":"The current status of the entity, as claimed by various sources.","required":[],"additionalProperties":true,"properties":{"items":{"type":"array","items":{"$ref":"#statusItem"}}}},"statusItem":{"$id":"#statusItem","type":"object","description":"A specific status item on a well known format.","required":["type","level","message"],"additionalProperties":true,"properties":{"type":{"type":"string","minLength":1},"level":{"$ref":"#statusLevel","description":"The status level / severity of the status item."},"message":{"type":"string","description":"A brief message describing the status, intended for human consumption."},"error":{"$ref":"#error","description":"An optional serialized error object related to the status."}}},"statusLevel":{"$id":"#statusLevel","type":"string","description":"A status level / severity.","enum":["info","warning","error"]},"error":{"$id":"#error","type":"object","description":"A serialized error object.","required":["name","message"],"additionalProperties":true,"properties":{"name":{"type":"string","examples":["Error","InputError"],"description":"The type name of the error","minLength":1},"message":{"type":"string","description":"The message of the error"},"code":{"type":"string","description":"An error code associated with the error"},"stack":{"type":"string","description":"An error stack trace"}}}}}');const F=new Map,P=[y,E,i,S];function j(ne){if(!(ne==null?void 0:ne.length))throw new TypeError("Unknown error");const $=ne[0];throw new TypeError(`${$.dataPath||"<root>"} ${$.message}${$.params?` - ${Object.entries($.params).map(([Q,he])=>`${Q}: ${he}`).join(", ")}`:""}`)}function x(ne,$={}){var xt;const Q=(xt=$==null?void 0:$.disableCache)!=null?xt:!1,he=Q?"":JSON.stringify(ne);if(!Q){const en=F.get(he);if(en)return en}const He=I(ne),ze=new c.ZP({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});He.length&&ze.addSchema(He,void 0,void 0,!0);const lt=ze.compile(ne);return Q||F.set(he,lt),lt}function I(ne){if(typeof ne!="object")return[];const $=new Set;ne.$id&&$.add(ne.$id);const Q=new Array,he=[ne];for(;he.length;){const He=he.pop();for(const ze of b(He))if(!$.has(ze)){$.add(ze);const lt=P.find(xt=>xt.$id===ze);lt&&(Q.push(lt),he.push(lt))}}return Q}function*b(ne){const $=[ne];for(;$.length;){const Q=$.pop();if(typeof Q=="object"&&Q)for(const[he,He]of Object.entries(Q))he==="$ref"&&typeof He=="string"?yield He.split("#")[0]:$.push(He)}}function O(ne){const $=compileAjvSchema(ne||entityEnvelopeSchema);return Q=>{if($(Q)===!0)return Q;throw throwAjvError($.errors)}}function K(ne){const $=x(ne);return Q=>{var ze;if($(Q)===!0)return Q;const He=(ze=$.errors)==null?void 0:ze.filter(lt=>["/kind","/apiVersion"].includes(lt.dataPath));if((He==null?void 0:He.length)&&He.every(lt=>lt.keyword==="enum"))return!1;throw j($.errors)}}function _(ne){const $=compileAjvSchema(ne||entitySchema);return Q=>{if($(Q)===!0)return Q;throw throwAjvError($.errors)}}class ie{static isValidApiVersion($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,Q=>Q.length>=1&&Q.length<=63&&/^[a-z0-9A-Z]+$/.test(Q))}static isValidKind($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test($)}static isValidObjectName($){return typeof $=="string"&&$.length>=1&&$.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test($)}static isValidNamespace($){return m.isValidDnsLabel($)}static isValidLabelKey($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,ie.isValidObjectName)}static isValidLabelValue($){return $===""||ie.isValidObjectName($)}static isValidAnnotationKey($){return m.isValidPrefixAndOrSuffix($,"/",m.isValidDnsSubdomain,ie.isValidObjectName)}static isValidAnnotationValue($){return typeof $=="string"}}const pe={isValidApiVersion:ie.isValidApiVersion,isValidKind:ie.isValidKind,isValidEntityName:ie.isValidObjectName,isValidNamespace:ie.isValidNamespace,isValidLabelKey:ie.isValidLabelKey,isValidLabelValue:ie.isValidLabelValue,isValidAnnotationKey:ie.isValidAnnotationKey,isValidAnnotationValue:ie.isValidAnnotationValue,isValidTag:m.isValidTag};function Le(ne={}){return{...pe,...ne}}class me{constructor($=makeValidator()){X(this,"validators");this.validators=$}async enforce($){var lt,xt,en,on,$n,hn,On;function Q(yt,Wt,un){if(Wt==null)throw new Error(`${yt} must have a value`);let gn;try{gn=un(Wt)}catch(jt){throw new Error(`${yt} could not be validated, ${jt}`)}if(!gn){let jt;switch(un.name){case"isValidLabelValue":case"isValidObjectName":jt="a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total";break;case"isValidLabelKey":case"isValidApiVersion":case"isValidAnnotationKey":jt="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":jt="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":jt="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":jt="a string";break;case"isValidKind":jt="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":jt="a string that is a valid url";break;case"isValidString":jt="a non empty string";break;default:jt=void 0;break}const Zn=jt?` expected ${jt} but found "${Wt}".`:"";throw new Error(`"${yt}" is not valid;${Zn} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`)}}function he(yt,Wt,un){return Wt===void 0||Q(yt,Wt,un)}Q("apiVersion",$.apiVersion,this.validators.isValidApiVersion),Q("kind",$.kind,this.validators.isValidKind),Q("metadata.name",$.metadata.name,this.validators.isValidEntityName),he("metadata.namespace",$.metadata.namespace,this.validators.isValidNamespace);for(const[yt,Wt]of Object.entries((lt=$.metadata.labels)!=null?lt:[]))Q(`labels.${yt}`,yt,this.validators.isValidLabelKey),Q(`labels.${yt}`,Wt,this.validators.isValidLabelValue);for(const[yt,Wt]of Object.entries((xt=$.metadata.annotations)!=null?xt:[]))Q(`annotations.${yt}`,yt,this.validators.isValidAnnotationKey),Q(`annotations.${yt}`,Wt,this.validators.isValidAnnotationValue);const He=(en=$.metadata.tags)!=null?en:[];for(let yt=0;yt<He.length;++yt)Q(`tags.${yt}`,He[yt],this.validators.isValidTag);const ze=(on=$.metadata.links)!=null?on:[];for(let yt=0;yt<ze.length;++yt)Q(`links.${yt}.url`,($n=ze[yt])==null?void 0:$n.url,CommonValidatorFunctions.isValidUrl),he(`links.${yt}.title`,(hn=ze[yt])==null?void 0:hn.title,CommonValidatorFunctions.isValidString),he(`links.${yt}.icon`,(On=ze[yt])==null?void 0:On.icon,KubernetesValidatorFunctions.isValidObjectName);return $}}class je{constructor(){X(this,"validate")}async enforce($){if(!this.validate){const He=new Ajv({allowUnionTypes:!0});this.validate=He.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate($)===!0)return $;const[he]=this.validate.errors||[];throw he?new Error(`Malformed envelope, ${he.dataPath||"<root>"} ${he.message}`):new Error("Malformed envelope, Unknown error")}}function Te(ne){var Q,he;const $=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(ne.trim());if(!$)throw new TypeError(`Entity reference "${ne}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:(Q=$[1])==null?void 0:Q.slice(0,-1),namespace:(he=$[2])==null?void 0:he.slice(0,-1),name:$[3]}}function Qe(ne){return{kind:ne.kind,namespace:ne.metadata.namespace||r,name:ne.metadata.name}}function st(ne,$={}){const{kind:Q,namespace:he,name:He}=_e(ne,{defaultNamespace:ENTITY_DEFAULT_NAMESPACE,...$});if(!Q)throw new Error(`Entity reference ${he}/${He} did not contain a kind`);return{kind:Q,namespace:he,name:He}}function _e(ne,$={}){var ze,lt;if(!ne)throw new Error("Entity reference must not be empty");if(typeof ne=="string"){const xt=Te(ne);return{kind:(ze=xt.kind)!=null?ze:$.defaultKind,namespace:(lt=xt.namespace)!=null?lt:$.defaultNamespace,name:xt.name}}const{kind:Q,namespace:he,name:He}=ne;if(Q==="")throw new Error("Entity reference kinds must not be empty");if(he==="")throw new Error("Entity reference namespaces must not be empty");if(!He)throw new Error("Entity references must contain a name");return{kind:Q!=null?Q:$.defaultKind,namespace:he!=null?he:$.defaultNamespace,name:He}}function gt(ne){let $,Q,he;return"metadata"in ne?($=ne.kind,Q=ne.metadata.namespace,he=ne.metadata.name):($=ne.kind,Q=ne.namespace,he=ne.name),($==null?void 0:$.includes(":"))||($==null?void 0:$.includes("/"))||(Q==null?void 0:Q.includes(":"))||(Q==null?void 0:Q.includes("/"))||he.includes(":")||he.includes("/")?{kind:$,namespace:Q,name:he}:`${$?`${$}:`:""}${Q?`${Q}/`:""}${he}`}function nt(ne){var He,ze;let $,Q,he;return"metadata"in ne?($=ne.kind,Q=(He=ne.metadata.namespace)!=null?He:r,he=ne.metadata.name):($=ne.kind,Q=(ze=ne.namespace)!=null?ze:r,he=ne.name),`${$.toLocaleLowerCase("en-US")}:${Q.toLocaleLowerCase("en-US")}/${he.toLocaleLowerCase("en-US")}`}function at(ne,$,Q){const he=ne.kind,He=ne.metadata.namespace||ENTITY_DEFAULT_NAMESPACE,ze=ne.metadata.name;let lt,xt,en;if(typeof $=="string"){const on=Te($);lt=on.kind||(Q==null?void 0:Q.defaultKind),xt=on.namespace||(Q==null?void 0:Q.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,en=on.name}else lt=$.kind||(Q==null?void 0:Q.defaultKind),xt=$.namespace||(Q==null?void 0:Q.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,en=$.name;if(!lt||!xt)throw new Error("Entity reference or context did not contain kind and namespace");return he.toLocaleLowerCase("en-US")===lt.toLocaleLowerCase("en-US")&&He.toLocaleLowerCase("en-US")===xt.toLocaleLowerCase("en-US")&&ze.toLocaleLowerCase("en-US")===en.toLocaleLowerCase("en-US")}var vt=e(48834).Buffer;function wt(){return uuidv4()}function Lt(){return vt.from(uuidv4(),"utf8").toString("base64").replace(/[^\w]/g,"")}function pt(ne,$){const Q=lodash.cloneDeep(ne),he=lodash.cloneDeep($);return Q.metadata.labels||(Q.metadata.labels={}),he.metadata.labels||(he.metadata.labels={}),Q.metadata.annotations||(Q.metadata.annotations={}),he.metadata.annotations||(he.metadata.annotations={}),Q.metadata.tags||(Q.metadata.tags=[]),he.metadata.tags||(he.metadata.tags=[]),delete Q.metadata.uid,delete Q.metadata.etag,delete Q.metadata.generation,delete he.metadata.uid,delete he.metadata.etag,delete he.metadata.generation,delete Q.relations,delete Q.status,delete he.relations,delete he.status,!lodash.isEqual(Q,he)}function rt(ne,$){const{uid:Q,etag:he,generation:He}=ne.metadata;if(!Q||!he||!He)throw new Error("Previous entity must have uid, etag and generation");const ze=lodash.cloneDeep($),lt=pt(ne,ze),xt=!lodash.isEqual(ne.spec,ze.spec);return ze.metadata.uid=Q,ze.metadata.etag=lt?Lt():he,ze.metadata.generation=xt?He+1:He,ze}class Ct{constructor($){this.policies=$}async enforce($){let Q=$;for(const he of this.policies){const He=await he.enforce(Q);if(!He)throw new Error(`Policy ${he.constructor.name} did not return a result`);Q=He}return Q}}class Tt{constructor($){this.policies=$}async enforce($){for(const Q of this.policies){const he=await Q.enforce($);if(he)return he}throw new Error("The entity did not match any known policy")}}const Ot={allOf(ne){return new Ct(ne)},oneOf(ne){return new Tt(ne)}};var Ft=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ApiV1alpha1","description":"An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"API","metadata":{"name":"artist-api","description":"Retrieve artist details","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"openapi","lifecycle":"production","owner":"artist-relations-team","system":"artist-engagement-portal","definition":"openapi: \\"3.0.0\\"\\ninfo:..."}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["API"]},"spec":{"type":"object","required":["type","lifecycle","owner","definition"],"properties":{"type":{"type":"string","description":"The type of the API definition.","examples":["openapi","asyncapi","graphql","grpc"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the API.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the API.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the API belongs to.","minLength":1},"definition":{"type":"string","description":"The definition of the API, based on the format defined by the type.","minLength":1}}}}}]}');function mt(ne){const $=K(ne);return{async check(Q){return $(Q)===Q}}}const Pt=mt(Ft);var Bt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ComponentV1alpha1","description":"A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \\"unit of software\\", usually with a distinct deployable or linkable artifact.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Component"]},"spec":{"type":"object","required":["type","lifecycle","owner"],"properties":{"type":{"type":"string","description":"The type of component.","examples":["service","website","library"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the component.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the component belongs to.","minLength":1},"subcomponentOf":{"type":"string","description":"An entity reference to another component of which the component is a part.","minLength":1},"providesApis":{"type":"array","description":"An array of entity references to the APIs that are provided by the component.","items":{"type":"string","minLength":1}},"consumesApis":{"type":"array","description":"An array of entity references to the APIs that are consumed by the component.","items":{"type":"string","minLength":1}},"dependsOn":{"type":"array","description":"An array of references to other entities that the component depends on to function.","items":{"type":"string","minLength":1}}}}}}]}');const De=mt(Bt);var ot=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"DomainV1alpha1","description":"A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Domain","metadata":{"name":"artists","description":"Everything about artists"},"spec":{"owner":"artist-relations-team"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Domain"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1}}}}}]}');const it=mt(ot);var St=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"GroupV1alpha1","description":"A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Group","metadata":{"name":"infrastructure","description":"The infra business unit"},"spec":{"type":"business-unit","profile":{"displayName":"Infrastructure","email":"infrastructure@example.com","picture":"https://example.com/groups/bu-infrastructure.jpeg"},"parent":"ops","children":["backstage","other"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Group"]},"spec":{"type":"object","required":["type","children"],"properties":{"type":{"type":"string","description":"The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.","examples":["team","business-unit","product-area","root"],"minLength":1},"profile":{"type":"object","description":"Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Infrastructure"],"minLength":1},"email":{"type":"string","description":"An email where this entity can be reached.","examples":["infrastructure@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this entity.","examples":["https://example.com/groups/bu-infrastructure.jpeg"],"minLength":1}}},"parent":{"type":"string","description":"The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.","examples":["ops"],"minLength":1},"children":{"type":"array","description":"The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["backstage","other"],"minLength":1}},"members":{"type":"array","description":"The users that are members of this group. The entries of this array are entity references.","items":{"type":"string","examples":["jdoe"],"minLength":1}}}}}}]}`);const re=mt(St);var te=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"LocationV1alpha1","description":"A location is a marker that references other places to look for catalog data.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Location","metadata":{"name":"org-data"},"spec":{"type":"url","targets":["http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Location"]},"spec":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.","examples":["url"],"minLength":1},"target":{"type":"string","description":"A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.","examples":["./details/catalog-info.yaml"],"minLength":1},"targets":{"type":"array","description":"A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.","items":{"type":"string","examples":["./details/catalog-info.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml"],"minLength":1}},"presence":{"type":"string","description":"Whether the presence of the location target is required and it should be considered an error if it can not be found","default":"required","examples":["required"],"enum":["required","optional"]}}}}}]}`);const C=mt(te),T="ownedBy",B="ownerOf",H="consumesApi",Y="apiConsumedBy",le="providesApi",Ae="apiProvidedBy",ye="dependsOn",Fe="dependencyOf",Ie="parentOf",ve="childOf",Ee="memberOf",be="hasMember",Rt="partOf",ut="hasPart";var Ke=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ResourceV1alpha1","description":"A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Resource","metadata":{"name":"artists-db","description":"Stores artist details"},"spec":{"type":"database","owner":"artist-relations-team","system":"artist-engagement-portal"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Resource"]},"spec":{"type":"object","required":["type","owner"],"properties":{"type":{"type":"string","description":"The type of resource.","examples":["database","s3-bucket","cluster"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the resource.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"dependsOn":{"type":"array","description":"An array of references to other entities that the resource depends on to function.","items":{"type":"string","minLength":1}},"system":{"type":"string","description":"An entity reference to the system that the resource belongs to.","minLength":1}}}}}]}');const oe=mt(Ke);var Be=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"SystemV1alpha1","description":"A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"System","metadata":{"name":"artist-engagement-portal","description":"Handy tools to keep artists in the loop"},"spec":{"owner":"artist-relations-team","domain":"artists"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["System"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"domain":{"type":"string","description":"An entity reference to the domain that the system belongs to.","examples":["artists"],"minLength":1}}}}}]}');const et=mt(Be);var Ne=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"TemplateV1beta2","description":"A Template describes a scaffolding task for use with the Scaffolder. It describes the required parameters as well as a series of steps that will be taken to execute the scaffolding task.","examples":[{"apiVersion":"backstage.io/v1beta2","kind":"Template","metadata":{"name":"react-ssr-template","title":"React SSR Template","description":"Next.js application skeleton for creating isomorphic web applications.","tags":["recommended","react"]},"spec":{"owner":"artist-relations-team","type":"website","parameters":{"required":["name","description"],"properties":{"name":{"title":"Name","type":"string","description":"Unique name of the component"},"description":{"title":"Description","type":"string","description":"Description of the component"}}},"steps":[{"id":"fetch","name":"Fetch","action":"fetch:plain","parameters":{"url":"./template"}},{"id":"publish","name":"Publish to GitHub","action":"publish:github","parameters":{"repoUrl":"{{ parameters.repoUrl }}"},"if":"{{ parameters.repoUrl }}"}],"output":{"catalogInfoUrl":"{{ steps.publish.output.catalogInfoUrl }}"}}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1beta2"]},"kind":{"enum":["Template"]},"spec":{"type":"object","required":["type","steps"],"properties":{"type":{"type":"string","description":"The type of component created by the template. The software catalog accepts any type value, but an organization should take great care to establish a proper taxonomy for these. Tools including Backstage itself may read this field and behave differently depending on its value. For example, a website type component may present tooling in the Backstage interface that is specific to just websites.","examples":["service","website","library"],"minLength":1},"parameters":{"oneOf":[{"type":"object","description":"The JSONSchema describing the inputs for the template."},{"type":"array","description":"A list of separate forms to collect parameters.","items":{"type":"object","description":"The JSONSchema describing the inputs for the template."}}]},"steps":{"type":"array","description":"A list of steps to execute.","items":{"type":"object","description":"A description of the step to execute.","required":["action"],"properties":{"id":{"type":"string","description":"The ID of the step, which can be used to refer to its outputs."},"name":{"type":"string","description":"The name of the step, which will be displayed in the UI during the scaffolding process."},"action":{"type":"string","description":"The name of the action to execute."},"input":{"type":"object","description":"A templated object describing the inputs to the action."},"if":{"type":["string","boolean"],"description":"A templated condition that skips the step when evaluated to false. If the condition is true or not defined, the step is executed. The condition is true, if the input is not `false`, `undefined`, `null`, `\\"\\"`, `0`, or `[]`."}}}},"output":{"type":"object","description":"A templated object describing the outputs of the scaffolding task.","properties":{"links":{"type":"array","description":"A list of external hyperlinks, typically pointing to resources created or updated by the template","items":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://github.com/my-org/my-new-repo"],"minLength":1},"entityRef":{"type":"string","description":"An entity reference to an entity in the catalog.","examples":["Component:default/my-app"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["View new repo"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}},"additionalProperties":{"type":"string"}},"owner":{"type":"string","description":"The user (or group) owner of the template","minLength":1}}}}}]}');const $e=mt(Ne);var Ye=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"UserV1alpha1","description":"A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"User","metadata":{"name":"jdoe"},"spec":{"profile":{"displayName":"Jenny Doe","email":"jenny-doe@example.com","picture":"https://example.com/staff/jenny-with-party-hat.jpeg"},"memberOf":["team-b","employees"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["User"]},"spec":{"type":"object","required":["memberOf"],"properties":{"profile":{"type":"object","description":"Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Jenny Doe"],"minLength":1},"email":{"type":"string","description":"An email where this user can be reached.","examples":["jenny-doe@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this user.","examples":["https://example.com/staff/jenny-with-party-hat.jpeg"],"minLength":1}}},"memberOf":{"type":"array","description":"The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["team-b","employees"],"minLength":1}}}}}}]}`);const V=mt(Ye),A="backstage.io/managed-by-location",D="backstage.io/managed-by-origin-location",z="backstage.io/source-location";function ee(ne){if(typeof ne!="string")throw new TypeError(`Unable to parse location reference '${ne}', unexpected argument ${typeof ne}`);const $=ne.indexOf(":");if($<0)throw new TypeError(`Unable to parse location reference '${ne}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const Q=ne.substr(0,$).trim(),he=ne.substr($+1).trim();if(!Q||!he)throw new TypeError(`Unable to parse location reference '${ne}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(Q==="http"||Q==="https")throw new TypeError(`Invalid location reference '${ne}', please prefix it with 'url:', e.g. 'url:${ne}'`);return{type:Q,target:he}}function Oe(ne){const{type:$,target:Q}=ne;if($){if(!Q)throw new TypeError("Unable to stringify location reference, empty target")}else throw new TypeError("Unable to stringify location reference, empty type");return`${$}:${Q}`}function ge(ne){var Q,he,He,ze,lt;const $=(lt=(he=(Q=ne.metadata)==null?void 0:Q.annotations)==null?void 0:he[SOURCE_LOCATION_ANNOTATION])!=null?lt:(ze=(He=ne.metadata)==null?void 0:He.annotations)==null?void 0:ze[LOCATION_ANNOTATION];if(!$)throw new Error(`Entity '${stringifyEntityRef(ne)}' is missing location`);return ee($)}var Re=e(9699);const xe=Re.Ry({type:Re.Z_().required(),target:Re.Z_().required(),presence:Re.nK().oneOf(["required","optional"])}).noUnknown().required(),Ze=Re.Ry({id:Re.Z_().required(),type:Re.Z_().required(),target:Re.Z_().required(),presence:Re.nK().oneOf(["required","optional"])}).noUnknown().required(),Et=Re.Ry({location:xe}).noUnknown().required()},23235:function(J,o,e){"use strict";e.d(o,{C:function(){return t}});var r=e(98005);class t{constructor(){X(this,"subject",new r.J)}post(f){this.subject.next(f)}alert$(){return this.subject}}},47150:function(J,o,e){"use strict";e.d(o,{g:function(){return r}});class r{captureEvent(l){}}},58652:function(J,o,e){"use strict";e.d(o,{C:function(){return l}});var r=e(98005);const t="theme";class l{constructor(g){X(this,"activeThemeId");X(this,"subject",new r.X(void 0));this.themes=g}static createWithStorage(g){var m;const s=new l(g);if(!window.localStorage)return s;const h=(m=window.localStorage.getItem(t))!=null?m:void 0;return s.setActiveThemeId(h),s.activeThemeId$().subscribe(y=>{y?window.localStorage.setItem(t,y):window.localStorage.removeItem(t)}),window.addEventListener("storage",y=>{var c;if(y.key===t){const E=(c=localStorage.getItem(t))!=null?c:void 0;s.setActiveThemeId(E)}}),s}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(g){this.activeThemeId=g,this.subject.next(g)}}},14721:function(J,o,e){"use strict";e.d(o,{m:function(){return y}});var r=e(9850),t=e.n(r),l=e(12782),f=e.n(l);const g=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function s(c){return typeof c=="object"&&c!==null&&!Array.isArray(c)}function h(c){if(c===null)return"null";if(Array.isArray(c))return"array";const E=typeof c;return E==="number"&&isNaN(c)?"nan":E==="string"&&c===""?"empty-string":E}const m={type(c,E,i,S){return`Invalid type in config for key '${c}' in '${E}', got ${i}, wanted ${S}`},missing(c){return`Missing required config value at '${c}'`},convert(c,E,i){return`Unable to convert config value for key '${c}' in '${E}' to a ${i}`}};class y{constructor(E,i="mock-config",S,F=""){X(this,"filteredKeys");X(this,"notifiedFilteredKeys",new Set);this.data=E,this.context=i,this.fallback=S,this.prefix=F}static fromConfigs(E){return E.length===0?new y(void 0):E.reduce((i,{data:S,context:F,filteredKeys:P,deprecatedKeys:j})=>{const x=new y(S,F,i);if(x.filteredKeys=P,j)for(const{key:I,description:b}of j)console.warn(`The configuration key '${I}' of ${F} is deprecated and may be removed soon. ${b||""}`);return x},void 0)}has(E){var S,F;return this.readValue(E)!==void 0?!0:(F=(S=this.fallback)==null?void 0:S.has(E))!=null?F:!1}keys(){var S,F;const E=this.data?Object.keys(this.data):[],i=(F=(S=this.fallback)==null?void 0:S.keys())!=null?F:[];return[...new Set([...E,...i])]}get(E){const i=this.getOptional(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E!=null?E:"")));return i}getOptional(E){var F;const i=t()(this.readValue(E)),S=(F=this.fallback)==null?void 0:F.getOptional(E);return i===void 0?S:S===void 0?i:f()({},{value:S},{value:i},(P,j)=>!s(j)||!s(P)?j:void 0).value}getConfig(E){const i=this.getOptionalConfig(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalConfig(E){var F;const i=this.readValue(E),S=(F=this.fallback)==null?void 0:F.getOptionalConfig(E);if(s(i))return this.copy(i,E,S);if(i!==void 0)throw new TypeError(m.type(this.fullKey(E),this.context,h(i),"object"));return S}getConfigArray(E){const i=this.getOptionalConfigArray(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalConfigArray(E){const i=this.readConfigValue(E,S=>{if(!Array.isArray(S))return{expected:"object-array"};for(const[F,P]of S.entries())if(!s(P))return{expected:"object-array",value:P,key:`${E}[${F}]`};return!0});if(!!i)return i.map((S,F)=>this.copy(S,`${E}[${F}]`))}getNumber(E){const i=this.getOptionalNumber(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalNumber(E){const i=this.readConfigValue(E,F=>typeof F=="number"||typeof F=="string"||{expected:"number"});if(typeof i=="number"||i===void 0)return i;const S=Number(i);if(!Number.isFinite(S))throw new Error(m.convert(this.fullKey(E),this.context,"number"));return S}getBoolean(E){const i=this.getOptionalBoolean(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalBoolean(E){return this.readConfigValue(E,i=>typeof i=="boolean"||{expected:"boolean"})}getString(E){const i=this.getOptionalString(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalString(E){return this.readConfigValue(E,i=>typeof i=="string"&&i!==""||{expected:"string"})}getStringArray(E){const i=this.getOptionalStringArray(E);if(i===void 0)throw new Error(m.missing(this.fullKey(E)));return i}getOptionalStringArray(E){return this.readConfigValue(E,i=>{if(!Array.isArray(i))return{expected:"string-array"};for(const[S,F]of i.entries())if(typeof F!="string"||F==="")return{expected:"string-array",value:F,key:`${E}[${S}]`};return!0})}fullKey(E){return`${this.prefix}${this.prefix?".":""}${E}`}copy(E,i,S){const F=new y(E,this.context,S,this.fullKey(i));return F.filteredKeys=this.filteredKeys,F}readConfigValue(E,i){var P;const S=this.readValue(E);if(S===void 0)return(P=this.fallback)==null?void 0:P.readConfigValue(E,i);const F=i(S);if(F!==!0){const{key:j=E,value:x=S,expected:I}=F;throw new TypeError(m.type(this.fullKey(j),this.context,h(x),I))}return S}readValue(E){const i=E?E.split("."):[];for(const F of i)if(!g.test(F))throw new TypeError(`Invalid config key '${E}'`);if(this.data===void 0)return;let S=this.data;for(const[F,P]of i.entries())if(s(S))S=S[P];else if(S!==void 0){const j=this.fullKey(i.slice(0,F).join("."));throw new TypeError(m.type(j,this.context,h(S),"object"))}return S}}},4333:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(f){const g=f.split(/\{\{\s*pluginId\s*\}\}/),s=g.join("pluginId");let h;try{h=new URL(s)}catch{throw new Error(`${r} URL '${s}' is invalid`)}if(h.hash)throw new Error(`${r} URL must not have a hash`);if(h.search)throw new Error(`${r} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(g)}constructor(f){this.parts=f}async getBaseUrl(f){return this.parts.join(f)}}},89536:function(J,o,e){"use strict";e.d(o,{KN:function(){return r},gr:function(){return l},Jv:function(){return f}});class r{constructor(s,h){this.alertApi=s,this.errorApi=h}post(s,h){return(h==null?void 0:h.hidden)||this.alertApi.post({message:s.message,severity:"error"}),this.errorApi.post(s,h)}error$(){return this.errorApi.error$()}}var t=e(98005);class l{constructor(){X(this,"subject",new t.J)}post(s,h){this.subject.next({error:s,context:h})}error$(){return this.subject}}class f{static forward(s,h){window.addEventListener("unhandledrejection",m=>{s.post(m.reason,h)})}}},14884:function(J,o,e){"use strict";e.d(o,{b:function(){return l}});var r=e(36964);function t(f){if(f.length<3)throw new Error(`The '${f}' feature flag must have a minimum length of three characters.`);if(f.length>150)throw new Error(`The '${f}' feature flag must not exceed 150 characters.`);if(!f.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${f}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class l{constructor(){X(this,"registeredFeatureFlags",[]);X(this,"flags")}registerFlag(g){t(g.name),this.registeredFeatureFlags.push(g)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(g){return this.flags||(this.flags=this.load()),this.flags.get(g)===r.FeatureFlagState.Active}save(g){this.flags||(this.flags=this.load()),g.merge||this.flags.clear();for(const[h,m]of Object.entries(g.states))this.flags.set(h,m);const s=Array.from(this.flags.entries()).filter(([,h])=>h===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(s)))}load(){try{const g=window.localStorage.getItem("featureFlags");if(!g)return new Map;const s=JSON.parse(g);if(typeof s!="object"||s===null||Array.isArray(s))return new Map;const h=Object.entries(s).filter(([m,y])=>(t(m),y===r.FeatureFlagState.Active));return new Map(h)}catch{return new Map}}}},50160:function(J,o,e){"use strict";e.d(o,{I:function(){return h},j:function(){return r}});function r(m){var E;let y=m.baseImplementation||e.g.fetch;const c=[(E=m.middleware)!=null?E:[]].flat().reverse();for(const i of c)y=i.apply(y);return{fetch:y}}class t{static create(y){var S,F;const c=l(y),E=((S=y.header)==null?void 0:S.name)||"authorization",i=((F=y.header)==null?void 0:F.value)||(P=>`Bearer ${P}`);return new t(y.identityApi,c,E,i)}constructor(y,c,E,i){this.identityApi=y,this.allowUrl=c,this.headerName=E,this.headerValue=i}apply(y){return async(c,E)=>{const i=new Request(c,E),{token:S}=await this.identityApi.getCredentials();return i.headers.get(this.headerName)||typeof S!="string"||!S||!this.allowUrl(i.url)?y(c,E):(i.headers.set(this.headerName,this.headerValue(S)),y(i))}}}function l(m){return m.allowUrl?m.allowUrl:m.urlPrefixAllowlist?f(m.urlPrefixAllowlist):m.config?f([m.config.getString("backend.baseUrl")]):()=>!1}function f(m){const y=m.map(c=>c.replace(/\/$/,""));return c=>y.some(E=>c===E||c.startsWith(`${E}/`))}function g(m,y){return!y||y==="/"?m:`${m.replace(/\/$/,"")}/${y.replace(/^\//,"")}`}class s{constructor(y){this.discoveryApi=y}apply(y){return async(c,E)=>{const i=new Request(c,E),S="plugin://";if(!i.url.startsWith(S))return y(c,E);const{hostname:F,pathname:P,search:j,hash:x,username:I,password:b}=new URL(`http://${i.url.substring(S.length)}`);let O=await this.discoveryApi.getBaseUrl(F);if(I||b){const _=new URL(O),ie=`${I}${b?`:${b}`:""}@`;O=`${_.protocol}//${ie}${_.host}${_.pathname}`}const K=`${g(O,P)}${j}${x}`;return y(K,i)}}}class h{static resolvePluginProtocol(y){return new s(y.discoveryApi)}static injectIdentityAuth(y){return t.create(y)}constructor(){}}},11358:function(J,o,e){"use strict";e.d(o,{Y:function(){return g}});var r=e(98005);function t(s,h){for(const m of h)if(!s.has(m))return!1;return!0}function l(s,...h){const m=new Set(s);for(const y of h)for(const c of y)m.add(c);return m}class f{constructor(){X(this,"requests",[]);X(this,"subject",new r.X(this.getCurrentPending()))}request(h){return new Promise((m,y)=>{this.requests.push({scopes:h,resolve:m,reject:y}),this.subject.next(this.getCurrentPending())})}resolve(h,m){this.requests=this.requests.filter(y=>t(h,y.scopes)?(y.resolve(m),!1):!0),this.subject.next(this.getCurrentPending())}reject(h){this.requests.forEach(m=>m.reject(h)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const h=this.requests.length===0?void 0:this.requests.slice(1).reduce((m,y)=>l(m,y.scopes),this.requests[0].scopes);return{scopes:h,resolve:m=>{h&&this.resolve(h,m)},reject:m=>{h&&this.reject(m)}}}}class g{constructor(){X(this,"subject",new r.X([]));X(this,"currentRequests",[]);X(this,"handlerCount",0)}createAuthRequester(h){h.provider.id||console.warn("DEPRECATION WARNING: Not passing a provider id to createAuthRequester is deprecated, it will be required in the future");const m=new f,y=this.handlerCount;return this.handlerCount++,m.pending().subscribe({next:c=>{const E=this.currentRequests.slice(),i=this.makeAuthRequest(c,h);i?E[y]=i:delete E[y],this.currentRequests=E,this.subject.next(E.filter(Boolean))}}),c=>m.request(c)}makeAuthRequest(h,m){const{scopes:y}=h;if(!!y)return{provider:m.provider,trigger:async()=>{const c=await m.onAuthRequest(y);h.resolve(c)},reject:()=>{const c=new Error("Login failed, rejected by user");c.name="RejectedError",h.reject(c)}}}authRequest$(){return this.subject}}},56054:function(J,o,e){"use strict";e.d(o,{C:function(){return f}});var r=e(82394),t=e.n(r);const l=new Map;class f{constructor(s,h){X(this,"subscribers",new Set);X(this,"observable",new(t())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));this.namespace=s,this.errorApi=h}static create(s){var h;return new f((h=s.namespace)!=null?h:"",s.errorApi)}get(s){return this.snapshot(s).value}snapshot(s){let h,m="absent";try{const y=localStorage.getItem(this.getKeyName(s));y&&(h=JSON.parse(y,(c,E)=>(typeof E=="object"&&E!==null&&Object.freeze(E),E)),m="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${s}`))}return{key:s,value:h,newValue:h,presence:m}}forBucket(s){const h=`${this.namespace}/${s}`;return l.has(h)||l.set(h,new f(h,this.errorApi)),l.get(h)}async set(s,h){localStorage.setItem(this.getKeyName(s),JSON.stringify(h)),this.notifyChanges(s)}async remove(s){localStorage.removeItem(this.getKeyName(s)),this.notifyChanges(s)}observe$(s){return this.observable.filter(({key:h})=>h===s)}getKeyName(s){return`${this.namespace}/${encodeURIComponent(s)}`}notifyChanges(s){const h=this.snapshot(s);for(const m of this.subscribers)m.next(h)}}},59589:function(J,o,e){"use strict";e.d(o,{u:function(){return l}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:h="development",provider:m=t,oauthRequestApi:y}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:h})}}},92293:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"auth0",title:"Auth0",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:h="development",provider:m=t,oauthRequestApi:y,defaultScopes:c=["openid","email","profile"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:h,defaultScopes:c})}}},6098:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:h="development",provider:m=t,oauthRequestApi:y,defaultScopes:c=["team"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:h,defaultScopes:c})}}},44431:function(J,o,e){"use strict";e.d(o,{x:function(){return l.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var l=e(6098)},19347:function(){},55551:function(J,o,e){"use strict";e.d(o,{T:function(){return m}});var r=e(96176),t=e(54842),l=e(91405);class f{constructor(c){X(this,"stateTracker",new l.l);X(this,"sessionCanRefresh");X(this,"staticSessionManager");X(this,"refreshingSessionManager");this.sessionCanRefresh=c.sessionCanRefresh,this.staticSessionManager=c.staticSessionManager,this.refreshingSessionManager=c.refreshingSessionManager}async getSession(c){const E=await this.staticSessionManager.getSession({...c,optional:!0});if(E)return this.stateTracker.setIsSignedIn(!0),E;const i=await this.refreshingSessionManager.getSession(c);if(!i){this.stateTracker.setIsSignedIn(!1);return}return this.sessionCanRefresh(i)?(this.stateTracker.setIsSignedIn(!0),i):(this.staticSessionManager.setSession(i),this.stateTracker.setIsSignedIn(!0),i)}async removeSession(){await Promise.all([this.refreshingSessionManager.removeSession(),this.staticSessionManager.removeSession()]),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}var g=e(30195);const s=g.z.object({providerInfo:g.z.object({accessToken:g.z.string(),scopes:g.z.set(g.z.string()),expiresAt:g.z.date().optional()}),profile:g.z.object({email:g.z.string().optional(),displayName:g.z.string().optional(),picture:g.z.string().optional()}),backstageIdentity:g.z.object({id:g.z.string(),token:g.z.string(),identity:g.z.object({type:g.z.literal("user"),userEntityRef:g.z.string(),ownershipEntityRefs:g.z.array(g.z.string())})})}),h={id:"github",title:"GitHub",icon:()=>null};class m{static create(c){const{discoveryApi:E,environment:i="development",provider:S=h,oauthRequestApi:F,defaultScopes:P=["read:user"]}=c,j=new r.y({discoveryApi:E,environment:i,provider:S,oauthRequestApi:F,sessionTransform(O){return{...O,providerInfo:{accessToken:O.providerInfo.accessToken,scopes:m.normalizeScope(O.providerInfo.scope),expiresAt:O.providerInfo.expiresInSeconds?new Date(Date.now()+O.providerInfo.expiresInSeconds*1e3):void 0}}}}),x=new t.q2({connector:j,defaultScopes:new Set(P),sessionScopes:O=>O.providerInfo.scopes,sessionShouldRefresh:O=>{const{expiresAt:K}=O.providerInfo;return K?(K.getTime()-Date.now())/1e3<60*5:!1}}),I=new t.Hc({manager:new t.k1({connector:j,defaultScopes:new Set(P),sessionScopes:O=>O.providerInfo.scopes}),storageKey:`${S.id}Session`,schema:s,sessionScopes:O=>O.providerInfo.scopes}),b=new f({refreshingSessionManager:x,staticSessionManager:I,sessionCanRefresh:O=>O.providerInfo.expiresAt!==void 0});return new m(b)}constructor(c){this.sessionManager=c}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(c,E){var S;const i=await this.sessionManager.getSession({...E,scopes:m.normalizeScope(c)});return(S=i==null?void 0:i.providerInfo.accessToken)!=null?S:""}async getBackstageIdentity(c={}){const E=await this.sessionManager.getSession(c);return E==null?void 0:E.backstageIdentity}async getProfile(c={}){const E=await this.sessionManager.getSession(c);return E==null?void 0:E.profile}static normalizeScope(c){if(!c)return new Set;const E=Array.isArray(c)?c:c.split(/[\s|,]/).filter(Boolean);return new Set(E)}}},2922:function(J,o,e){"use strict";e.d(o,{a:function(){return l}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class l{static create(g){const{discoveryApi:s,environment:h="development",provider:m=t,oauthRequestApi:y,defaultScopes:c=["read_user"]}=g;return r.L.create({discoveryApi:s,oauthRequestApi:y,provider:m,environment:h,defaultScopes:c})}}},59938:function(J,o,e){"use strict";e.d(o,{e:function(){return f}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},l="https://www.googleapis.com/auth/";class f{static create(s){const{discoveryApi:h,oauthRequestApi:m,environment:y="development",provider:c=t,defaultScopes:E=["openid",`${l}userinfo.email`,`${l}userinfo.profile`]}=s;return r.L.create({discoveryApi:h,oauthRequestApi:m,provider:c,environment:y,defaultScopes:E,scopeTransform(i){return i.map(S=>S==="openid"?S:S==="profile"||S==="email"?`${l}userinfo.${S}`:S.startsWith(l)?S:`${l}${S}`)}})}}},91668:function(J,o,e){"use strict";e.d(o,{Td:function(){return r.T},aq:function(){return t.a},eE:function(){return l.e},OAuth2:function(){return f.L},OktaAuth:function(){return g.s},SamlAuth:function(){return s.n},Auth0Auth:function(){return h.Z},MicrosoftAuth:function(){return m._},OneLoginAuth:function(){return y.$},BitbucketAuth:function(){return c.x},AtlassianAuth:function(){return E.u}});var r=e(55551),t=e(2922),l=e(59938),f=e(91205);e.o(f,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return f.Auth0Auth}}),e.o(f,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(o,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(o,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"SamlAuth")&&e.d(o,{SamlAuth:function(){return f.SamlAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(o,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(o,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return f.createSpecializedApp}});var g=e(26079),s=e(67578),h=e(92293),m=e(38482),y=e(58381),c=e(44431);e.o(c,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return c.AlertApiForwarder}}),e.o(c,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return c.AppThemeSelector}}),e.o(c,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return c.AtlassianAuth}}),e.o(c,"ConfigReader")&&e.d(o,{ConfigReader:function(){return c.ConfigReader}}),e.o(c,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return c.ErrorAlerter}}),e.o(c,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return c.ErrorApiForwarder}}),e.o(c,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return c.FetchMiddlewares}}),e.o(c,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return c.FlatRoutes}}),e.o(c,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return c.LocalStorageFeatureFlags}}),e.o(c,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return c.NoOpAnalyticsApi}}),e.o(c,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return c.OAuthRequestManager}}),e.o(c,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return c.UnhandledErrorForwarder}}),e.o(c,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return c.UrlPatternDiscovery}}),e.o(c,"WebStorage")&&e.d(o,{WebStorage:function(){return c.WebStorage}}),e.o(c,"createFetchApi")&&e.d(o,{createFetchApi:function(){return c.createFetchApi}}),e.o(c,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return c.createSpecializedApp}});var E=e(59589)},38482:function(J,o,e){"use strict";e.d(o,{_:function(){return l}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class l{static create(g){const{environment:s="development",provider:h=t,oauthRequestApi:m,discoveryApi:y,defaultScopes:c=["openid","offline_access","profile","email","User.Read"]}=g;return r.L.create({discoveryApi:y,oauthRequestApi:m,provider:h,environment:s,defaultScopes:c})}}},95792:function(J,o,e){"use strict";e.d(o,{Z:function(){return f}});var r=e(96176),t=e(54842);const l={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class f{constructor(s){X(this,"sessionManager");X(this,"scopeTransform");this.sessionManager=s.sessionManager,this.scopeTransform=s.scopeTransform}static create(s){const{discoveryApi:h,environment:m="development",provider:y=l,oauthRequestApi:c,defaultScopes:E=[],scopeTransform:i=P=>P}=s,S=new r.y({discoveryApi:h,environment:m,provider:y,oauthRequestApi:c,sessionTransform(P){return{...P,providerInfo:{idToken:P.providerInfo.idToken,accessToken:P.providerInfo.accessToken,scopes:f.normalizeScopes(i,P.providerInfo.scope),expiresAt:new Date(Date.now()+P.providerInfo.expiresInSeconds*1e3)}}}}),F=new t.q2({connector:S,defaultScopes:new Set(E),sessionScopes:P=>P.providerInfo.scopes,sessionShouldRefresh:P=>(P.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new f({sessionManager:F,scopeTransform:i})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(s,h){var c;const m=f.normalizeScopes(this.scopeTransform,s),y=await this.sessionManager.getSession({...h,scopes:m});return(c=y==null?void 0:y.providerInfo.accessToken)!=null?c:""}async getIdToken(s={}){var m;const h=await this.sessionManager.getSession(s);return(m=h==null?void 0:h.providerInfo.idToken)!=null?m:""}async getBackstageIdentity(s={}){const h=await this.sessionManager.getSession(s);return h==null?void 0:h.backstageIdentity}async getProfile(s={}){const h=await this.sessionManager.getSession(s);return h==null?void 0:h.profile}static normalizeScopes(s,h){if(!h)return new Set;const m=Array.isArray(h)?h:h.split(/[\s|,]/).filter(Boolean);return new Set(s(m))}}},91205:function(J,o,e){"use strict";e.d(o,{L:function(){return r.Z}});var r=e(95792),t=e(5973),l=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(o,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(o,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(o,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}})},5973:function(){},26079:function(J,o,e){"use strict";e.d(o,{s:function(){return g}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="okta.";class g{static create(h){const{discoveryApi:m,environment:y="development",provider:c=t,oauthRequestApi:E,defaultScopes:i=["openid","email","profile","offline_access"]}=h;return r.L.create({discoveryApi:m,oauthRequestApi:E,provider:c,environment:y,defaultScopes:i,scopeTransform(S){return S.map(F=>l.has(F)||F.startsWith(f)?F:`${f}${F}`)}})}}},58381:function(J,o,e){"use strict";e.d(o,{$:function(){return g}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),f="onelogin.";class g{static create(h){const{discoveryApi:m,environment:y="development",provider:c=t,oauthRequestApi:E}=h;return r.L.create({discoveryApi:m,oauthRequestApi:E,provider:c,environment:y,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(i){return i.map(S=>l.has(S)||S.startsWith(f)?S:`${f}${S}`)}})}}},67578:function(J,o,e){"use strict";e.d(o,{n:function(){return h}});var r=e(17678);class t{constructor(y){X(this,"discoveryApi");X(this,"environment");X(this,"provider");const{discoveryApi:c,environment:E,provider:i}=y;this.discoveryApi=c,this.environment=E,this.provider=i}async createSession(){const y=await this.buildUrl("/start"),c=await(0,r.d)({url:y,name:`${this.provider.title} Login`,origin:new URL(y).origin,width:450,height:730});return{...c,id:c.profile.email}}async refreshSession(){}async removeSession(){const y=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(c=>{throw new Error(`Logout request failed, ${c}`)});if(!y.ok){const c=new Error(`Logout request failed, ${y.statusText}`);throw c.status=y.status,c}}async buildUrl(y){return`${await this.discoveryApi.getBaseUrl("auth")}/${this.provider.id}${y}?env=${this.environment}`}}var l=e(54842),f=e(30195);const g=f.z.object({profile:f.z.object({email:f.z.string().optional(),displayName:f.z.string().optional(),picture:f.z.string().optional()}),backstageIdentity:f.z.object({id:f.z.string(),token:f.z.string(),identity:f.z.object({type:f.z.literal("user"),userEntityRef:f.z.string(),ownershipEntityRefs:f.z.array(f.z.string())})})}),s={id:"saml",title:"SAML",icon:()=>null};class h{static create(y){const{discoveryApi:c,environment:E="development",provider:i=s}=y,S=new t({discoveryApi:c,environment:E,provider:i}),F=new l.k1({connector:S}),P=new l.Hc({manager:F,storageKey:`${i.id}Session`,schema:g});return new h(P)}sessionState$(){return this.sessionManager.sessionState$()}constructor(y){this.sessionManager=y}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(y={}){const c=await this.sessionManager.getSession(y);return c==null?void 0:c.backstageIdentity}async getProfile(y={}){const c=await this.sessionManager.getSession(y);return c==null?void 0:c.profile}}},91631:function(J,o,e){"use strict";e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth},Auth0Auth:function(){return r.Auth0Auth},GithubAuth:function(){return r.Td},GitlabAuth:function(){return r.aq},GoogleAuth:function(){return r.eE},MicrosoftAuth:function(){return r.MicrosoftAuth},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},SamlAuth:function(){return r.SamlAuth},AlertApiForwarder:function(){return t.C},NoOpAnalyticsApi:function(){return l.g},AppThemeSelector:function(){return f.C},ConfigReader:function(){return g.m},UrlPatternDiscovery:function(){return s.p},ErrorAlerter:function(){return h.KN},ErrorApiForwarder:function(){return h.gr},UnhandledErrorForwarder:function(){return h.Jv},LocalStorageFeatureFlags:function(){return m.b},FetchMiddlewares:function(){return y.I},createFetchApi:function(){return y.j},OAuthRequestManager:function(){return c.Y},WebStorage:function(){return E.C}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(23235),l=e(47150),f=e(58652),g=e(14721),s=e(4333),h=e(89536),m=e(14884),y=e(50160),c=e(11358),E=e(56054)},56494:function(J,o,e){"use strict";e.d(o,{ApiProvider:function(){return r.gs},AlertApiForwarder:function(){return t.AlertApiForwarder},AppThemeSelector:function(){return t.AppThemeSelector},ConfigReader:function(){return t.ConfigReader},ErrorAlerter:function(){return t.ErrorAlerter},ErrorApiForwarder:function(){return t.ErrorApiForwarder},FetchMiddlewares:function(){return t.FetchMiddlewares},LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags},NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi},OAuthRequestManager:function(){return t.OAuthRequestManager},UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return t.UrlPatternDiscovery},WebStorage:function(){return t.WebStorage},createFetchApi:function(){return t.createFetchApi}});var r=e(76105);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}})},80396:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});var r;(function(l){l[l.default=10]="default";const f=50;l[l.app=f]="app",l[l.static=100]="static"})(r||(r={}));class t{constructor(){X(this,"factories",new Map)}register(f,g){const s=r[f],h=this.factories.get(g.api.id);return h&&h.priority>=s?!1:(this.factories.set(g.api.id,{priority:s,factory:g}),!0)}get(f){const g=this.factories.get(f.id);if(!!g)return g.factory}getAllApis(){const f=new Set;for(const{factory:g}of this.factories.values())f.add(g.api);return f}}},14406:function(J,o,e){"use strict";e.d(o,{g:function(){return h}});var r=e(2784),t=e(13980),l=e.n(t);class f{constructor(...y){X(this,"holders");this.holders=y}get(y){for(const c of this.holders){const E=c.get(y);if(E)return E}}}var g=e(76241);const s=(0,g.CT)("api-context"),h=m=>{var S;const{apis:y,children:c}=m,E=(S=(0,r.useContext)(s))==null?void 0:S.atVersion(1),i=E?new f(y,E):y;return r.createElement(s.Provider,{value:(0,g.EI)({1:i}),children:c})};h.propTypes={apis:l().shape({get:l().func.isRequired}).isRequired,children:l().node}},12132:function(J,o,e){"use strict";e.d(o,{M:function(){return r}});class r{constructor(l){X(this,"apis",new Map);this.factories=l}static validateFactories(l,f){for(const g of f){const s=[g],h=new Set;for(;s.length;){const m=s.shift(),y=l.get(m);if(!!y)for(const c of Object.values(y.deps)){if(c.id===g.id)throw new Error(`Circular dependency of api factory for ${g}`);h.has(c)||(h.add(c),s.push(c))}}}}get(l){return this.load(l)}load(l,f=[]){const g=this.apis.get(l.id);if(g)return g;const s=this.factories.get(l);if(!s)return;if(f.includes(s.api))throw new Error(`Circular dependency of api factory for ${s.api}`);const h=this.loadDeps(l,s.deps,[...f,s.api]),m=s.factory(h);return this.apis.set(l.id,m),m}loadDeps(l,f,g){const s={};for(const h in f)if(f.hasOwnProperty(h)){const m=f[h],y=this.load(m,g);if(!y)throw new Error(`No API factory available for dependency ${m} of dependent ${l}`);s[h]=y}return s}}},76105:function(J,o,e){"use strict";e.d(o,{gs:function(){return r.g},MM:function(){return t.M},pv:function(){return l.p}});var r=e(14406),t=e(12132),l=e(80396),f=e(82488),g=e.n(f);e.o(f,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return f.AlertApiForwarder}}),e.o(f,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return f.AppThemeSelector}}),e.o(f,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return f.AtlassianAuth}}),e.o(f,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return f.Auth0Auth}}),e.o(f,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return f.BitbucketAuth}}),e.o(f,"ConfigReader")&&e.d(o,{ConfigReader:function(){return f.ConfigReader}}),e.o(f,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return f.ErrorAlerter}}),e.o(f,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return f.ErrorApiForwarder}}),e.o(f,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return f.FetchMiddlewares}}),e.o(f,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return f.FlatRoutes}}),e.o(f,"GithubAuth")&&e.d(o,{GithubAuth:function(){return f.GithubAuth}}),e.o(f,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return f.GitlabAuth}}),e.o(f,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return f.GoogleAuth}}),e.o(f,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return f.LocalStorageFeatureFlags}}),e.o(f,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return f.MicrosoftAuth}}),e.o(f,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return f.NoOpAnalyticsApi}}),e.o(f,"OAuth2")&&e.d(o,{OAuth2:function(){return f.OAuth2}}),e.o(f,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return f.OAuthRequestManager}}),e.o(f,"OktaAuth")&&e.d(o,{OktaAuth:function(){return f.OktaAuth}}),e.o(f,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return f.OneLoginAuth}}),e.o(f,"SamlAuth")&&e.d(o,{SamlAuth:function(){return f.SamlAuth}}),e.o(f,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return f.UnhandledErrorForwarder}}),e.o(f,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return f.UrlPatternDiscovery}}),e.o(f,"WebStorage")&&e.d(o,{WebStorage:function(){return f.WebStorage}}),e.o(f,"createFetchApi")&&e.d(o,{createFetchApi:function(){return f.createFetchApi}}),e.o(f,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return f.createSpecializedApp}})},82488:function(){},69342:function(J,o,e){"use strict";e.d(o,{b:function(){return te}});var r=e(2784),t=e(10289),l=e(64279),f=e(56494),g=e(36964),s=e(76105);function h(C){const T={};for(const H in C.collectors)C.collectors.hasOwnProperty(H)&&(T[H]=C.collectors[H]());const B=[{node:r.Children.toArray(C.root),parent:void 0,contexts:{}}];for(;B.length!==0;){const{node:H,parent:Y,contexts:le}=B.shift();r.Children.forEach(H,Ae=>{if(!(0,r.isValidElement)(Ae))return;const ye={};for(const Fe in T)if(T.hasOwnProperty(Fe)){const Ie=T[Fe];ye[Fe]=Ie.visit(Ie.accumulator,Ae,Y,le[Fe])}for(const Fe of C.discoverers){const Ie=Fe(Ae);Ie&&B.push({node:Ie,parent:Ae,contexts:ye})}})}return Object.fromEntries(Object.entries(T).map(([H,Y])=>[H,Y.accumulator]))}function m(C,T){return()=>({accumulator:C(),visit:T})}function y(C){var T;return(T=C.props)==null?void 0:T.children}function c(C){var T,B,H;if(((T=C.props)==null?void 0:T.path)&&((B=C.props)==null?void 0:B.element))return(H=C.props)==null?void 0:H.element}const E=m(()=>new Set,(C,T)=>{const B=(0,g.getComponentData)(T,"core.plugin");B&&C.add(B)});var i=e(88934);function S(C){var H;const T=(H=C.props)==null?void 0:H.element;let B=(0,g.getComponentData)(C,"core.mountPoint");return!B&&(0,r.isValidElement)(T)&&(B=(0,g.getComponentData)(T,"core.mountPoint")),B}const F=m(()=>new Map,(C,T,B,H)=>{var Ae,ye;let Y=H;if((B==null?void 0:B.props.element)===T)return Y;if((0,g.getComponentData)(T,"core.gatherMountPoints")){const Fe=(Ae=T.props)==null?void 0:Ae.path;if(!Fe)throw new Error("Mount point gatherer must have a path");Y=Fe}const le=S(T);if(le){let Fe=(ye=T.props)==null?void 0:ye.path;if(Y&&(Fe?Y=void 0:Fe=Y),!Fe)throw new Error("Mounted routable extension must have a path");C.set(le,Fe)}return Y}),P=m(()=>new Map,(C,T,B,H)=>{var Ae;if((B==null?void 0:B.props.element)===T)return H;let Y=H;const le=S(T);return le&&(H&&"sticky"in H?(C.set(le,H.sticky),((Ae=T.props)==null?void 0:Ae.path)?Y=le:Y=H):(C.set(le,H),Y=le)),(0,g.getComponentData)(T,"core.gatherMountPoints")?{sticky:Y}:Y}),j={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},x=m(()=>Array(),(C,T,B,H)=>{var Ie,ve,Ee;const Y=(Ie=H==null?void 0:H.children)!=null?Ie:C;if((B==null?void 0:B.props.element)===T)return H;const le=(ve=T.props)==null?void 0:ve.path,Ae=Boolean((Ee=T.props)==null?void 0:Ee.caseSensitive),ye=S(T);if(ye){if(le){const be={caseSensitive:Ae,path:le,element:"mounted",routeRefs:new Set([ye]),children:[j],plugin:(0,g.getComponentData)(T.props.element,"core.plugin")};return Y.push(be),be}H==null||H.routeRefs.add(ye)}if((0,g.getComponentData)(T,"core.gatherMountPoints")){if(!le)throw new Error("Mount point gatherer must have a path");const be={caseSensitive:Ae,path:le,element:"gathered",routeRefs:new Set,children:[j],plugin:H==null?void 0:H.plugin};return Y.push(be),be}return H}),I=m(()=>new Set,(C,T)=>{if(T.type===i.L){const B=T.props;C.add("with"in B?B.with:B.without)}});var b=e(76241);const O=(0,b.uW)("route-ref-type",()=>Symbol("route-ref-type"));function K(C){return C[O]==="absolute"}function _(C){return C[O]==="sub"}function ie(C){return C[O]==="external"}function pe(...C){const T=C.join("/").replace(/\/\/+/g,"/");return T!=="/"&&T.endsWith("/")?T.slice(0,-1):T}function Le(C,T,B){let H,Y="";if(K(C))H=C;else if(_(C))H=C.parent,Y=C.path;else if(ie(C)){const ye=B.get(C);if(!ye)return[void 0,""];if(K(ye))H=ye;else if(_(ye))H=ye.parent,Y=ye.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${ye}`)}else throw C[O]?new Error(`Unknown or invalid route ref type, ${C[O]}`):new Error(`Unknown object passed to useRouteRef, got ${C}`);if(!H)return[void 0,""];const le=T.get(H);if(!le)return[void 0,""];const Ae=pe(le,Y);return[H,Ae]}function me(C,T,B,H,Y){var ve;const le=(ve=(0,t.fp)(Y,T))!=null?ve:[],Ae=Array();let ye=-1;for(let Ee=C;Ee&&(ye=le.findIndex(be=>be.route.routeRefs.has(Ee)),ye===-1);Ee=H.get(Ee))Ae.unshift(Ee);Ae.length===0&&(ye-=1);const Fe=ye===-1?"":le[ye].pathname,Ie=pe(...Ae.slice(0,-1).map(Ee=>{const be=B.get(Ee);if(!be)throw new Error(`No path for ${Ee}`);if(be.includes(":"))throw new Error(`Cannot route to ${C} with parent ${Ee} as it has parameters`);return be}));return Fe+Ie}class je{constructor(T,B,H,Y,le){this.routePaths=T,this.routeParents=B,this.routeObjects=H,this.routeBindings=Y,this.appBasePath=le}resolve(T,B){const[H,Y]=Le(T,this.routePaths,this.routeBindings);if(!H)return;let le;typeof B=="string"?le=this.trimPath(B):B.pathname?le={...B,pathname:this.trimPath(B.pathname)}:le=B;const Ae=this.appBasePath+me(H,le,this.routePaths,this.routeParents,this.routeObjects);return(...[Fe])=>Ae+(0,t.Gn)(Y,Fe)}trimPath(T){return T&&(T.startsWith(this.appBasePath)?T.slice(this.appBasePath.length):T)}}const Te=(0,b.CT)("routing-context"),Qe=({routePaths:C,routeParents:T,routeObjects:B,routeBindings:H,basePath:Y="",children:le})=>{const Ae=new je(C,T,B,H,Y),ye=(0,b.EI)({1:Ae});return r.createElement(Te.Provider,{value:ye},le)},st=(C,T)=>{var B,H;try{const Y=(0,t.fp)(T,{pathname:C}),le=(B=Y==null?void 0:Y.filter(ye=>{var Fe;return((Fe=ye==null?void 0:ye.route.routeRefs)==null?void 0:Fe.size)>0}).pop())==null?void 0:B.route;if(!le)return{};let Ae;return le.routeRefs.size===1&&(Ae=le.routeRefs.values().next().value),{extension:"App",pluginId:((H=le.plugin)==null?void 0:H.getId())||"root",...Ae?{routeRef:Ae.id}:{}}}catch{return{}}},_e=({pathname:C,search:T,hash:B})=>{const H=(0,g.useAnalytics)();return(0,r.useEffect)(()=>{H.captureEvent("navigate",`${C}${T}${B}`)},[H,C,T,B]),null},gt=({tree:C})=>{const{pathname:T,search:B,hash:H}=(0,t.TH)(),{routeObjects:Y}=(0,r.useMemo)(()=>h({root:C,discoverers:[y,c],collectors:{routeObjects:x}}),[C]);return r.createElement(g.AnalyticsContext,{attributes:st(T,Y)},r.createElement(_e,{pathname:T,search:B,hash:H}))};function nt(C,T){const B=new Set(T.values());B.delete(void 0);for(const H of T.keys()){if(B.has(H))continue;let Y=H,le="";for(;Y;){const ye=C.get(Y);if(!ye)throw new Error(`No path for ${Y}`);le=`${ye}${le}`,Y=T.get(Y)}const Ae=le.match(/:(\w+)/g);if(Ae){for(let ye=0;ye<Ae.length;ye++)for(let Fe=ye+1;Fe<Ae.length;Fe++)if(Ae[Fe]===Ae[ye])throw new Error(`Parameter ${Ae[Fe]} is duplicated in path ${le}`)}}}function at(C,T){for(const B of T)if(!!B.externalRoutes){for(const[H,Y]of Object.entries(B.externalRoutes))if(!Y.optional&&!C.has(Y))throw new Error(`External route '${H}' of the '${B.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const vt=(0,b.CT)("app-context"),wt=({appContext:C,children:T})=>{const B=(0,b.EI)({1:C});return r.createElement(vt.Provider,{value:B,children:T})};function Lt(C){return new Error(`Tried to access IdentityApi ${C} before app was loaded`)}function pt(C){console.warn(`WARNING: Call to ${C} is deprecated and will break in the future`)}class rt{constructor(){X(this,"target");X(this,"waitForTarget");X(this,"resolveTarget",()=>{});this.waitForTarget=new Promise(T=>{this.resolveTarget=T})}setTarget(T){this.target=T,this.resolveTarget(T)}getUserId(){if(!this.target)throw Lt("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return pt("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw Lt("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return pt("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(T=>T.getProfileInfo())}async getBackstageIdentity(){const T=await this.waitForTarget.then(B=>B.getBackstageIdentity());return T.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${T.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),T}async getCredentials(){return this.waitForTarget.then(T=>T.getCredentials())}async getIdToken(){return this.waitForTarget.then(T=>{if(!T.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return pt("getIdToken"),T.getIdToken()})}async signOut(){await this.waitForTarget.then(T=>T.signOut()),location.reload()}}var Ct=e(72164);function Tt(C,T,B){if(C!==void 0){const Y=B.find(le=>le.id===C);if(Y)return Y}if(T){const Y=B.find(le=>le.variant==="dark");if(Y)return Y}const H=B.find(Y=>Y.variant==="light");return H||B[0]}const Ot=()=>{const C=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[T,B]=(0,r.useState)(C.matches);return(0,r.useEffect)(()=>{const H=Y=>{B(Y.matches)};return C.addListener(H),()=>{C.removeListener(H)}},[C]),T};function Ft({children:C}){const T=(0,g.useApi)(g.appThemeApiRef),B=(0,Ct.Z)(T.activeThemeId$(),T.getActiveThemeId()),H=Boolean(window.matchMedia)?Ot():!1,Y=Tt(B,H,T.getInstalledThemes());if(!Y)throw new Error("App has no themes");return r.createElement(Y.Provider,{children:C})}const mt=async(C="__APP_INJECTED_RUNTIME_CONFIG__")=>{const T=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external",requestUrl:"http://localhost:3000/api"}}}];if(!T)throw new Error("No static configuration provided");if(!Array.isArray(T))throw new Error("Static configuration has invalid format");const B=T.slice();if(C!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const Y=JSON.parse(C);Array.isArray(Y)?B.push(...Y):B.push({data:Y,context:"env"})}catch(Y){throw new Error(`Failed to load runtime configuration, ${Y}`)}const H=window.__APP_CONFIG__;return H&&B.push({context:"window",data:H}),B};class Pt{constructor(){X(this,"apis",[])}add(T,B){return this.apis.push([T.id,B]),B}build(){return new Bt(new Map(this.apis))}}class Bt{static builder(){return new Pt}static from(T){return new Bt(new Map(T.map(([B,H])=>[B.id,H])))}static with(T,B){return new Bt(new Map([[T.id,B]]))}constructor(T){this.apis=T}with(T,B){return new Bt(new Map([...this.apis,[T.id,B]]))}get(T){return this.apis.get(T.id)}}function De(C){const T=new Map;return C&&C({bind:(H,Y)=>{for(const[le,Ae]of Object.entries(Y)){const ye=H[le];if(!ye)throw new Error(`Key ${le} is not an existing external route`);if(!Ae&&!ye.optional)throw new Error(`External route ${le} is required but was undefined`);Ae&&T.set(ye,Ae)}}}),T}function ot(C){var B;let{pathname:T}=new URL((B=C.getOptionalString("app.baseUrl"))!=null?B:"/","http://dummy.dev");return T=T.replace(/\/*$/,""),T}function it(C,T,B){var Fe;const H=Boolean(C),Y=(0,l.default)(C||(()=>Promise.resolve([])));let le;if(H&&Y.loading){const{Progress:Ie}=T;le=r.createElement(Ie,null)}else if(Y.error){const{BootErrorPage:Ie}=T;le=r.createElement(Ie,{step:"load-config",error:Y.error})}const{ThemeProvider:Ae=Ft}=T;return le?{node:r.createElement(f.ApiProvider,{apis:Bt.with(g.appThemeApiRef,B)},r.createElement(Ae,null,le))}:{api:f.ConfigReader.fromConfigs((Fe=Y.value)!=null?Fe:[])}}class St{constructor(T){this.app=T}getPlugins(){return this.app.getPlugins()}getSystemIcon(T){return this.app.getSystemIcon(T)}getComponents(){return this.app.getComponents()}}class re{constructor(T){X(this,"apiHolder");X(this,"configApi");X(this,"apis");X(this,"icons");X(this,"plugins");X(this,"components");X(this,"themes");X(this,"configLoader");X(this,"defaultApis");X(this,"bindRoutes");X(this,"appIdentityProxy",new rt);X(this,"apiFactoryRegistry");var B,H,Y,le;this.apis=(B=T.apis)!=null?B:[],this.icons=T.icons,this.plugins=new Set((H=T.plugins)!=null?H:[]),this.components=T.components,this.themes=T.themes,this.configLoader=(Y=T.configLoader)!=null?Y:mt,this.defaultApis=(le=T.defaultApis)!=null?le:[],this.bindRoutes=T.bindRoutes,this.apiFactoryRegistry=new s.pv}getPlugins(){return Array.from(this.plugins)}getSystemIcon(T){return this.icons[T]}getComponents(){return this.components}getProvider(){const T=new St(this);let B=!1;return({children:Y})=>{const le=(0,r.useMemo)(()=>f.AppThemeSelector.createWithStorage(this.themes),[]),{routePaths:Ae,routeParents:ye,routeObjects:Fe,featureFlags:Ie,routeBindings:ve}=(0,r.useMemo)(()=>{const ut=h({root:Y,discoverers:[y,c],collectors:{routePaths:F,routeParents:P,routeObjects:x,collectedPlugins:E,featureFlags:I}});return ut.collectedPlugins.forEach(Ke=>this.plugins.add(Ke)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...ut,routeBindings:De(this.bindRoutes)}},[Y]);B||(B=!0,nt(Ae,ye),at(ve,this.plugins));const Ee=it(this.configLoader,this.components,le),be="api"in Ee;if(be){const{api:ut}=Ee;this.configApi=ut}if((0,r.useEffect)(()=>{if(be){const ut=this.getApiHolder().get(g.featureFlagsApiRef);for(const Ke of this.plugins.values())if("getFeatureFlags"in Ke)for(const oe of Ke.getFeatureFlags())ut.registerFlag({name:oe.name,pluginId:Ke.getId()});else for(const oe of Ke.output())oe.type==="feature-flag"&&ut.registerFlag({name:oe.name,pluginId:Ke.getId()});for(const Ke of Ie)ut.registerFlag({name:Ke,pluginId:""})}},[be,Ee,Ie]),"node"in Ee)return Ee.node;const{ThemeProvider:Rt=Ft}=this.components;return r.createElement(f.ApiProvider,{apis:this.getApiHolder()},r.createElement(wt,{appContext:T},r.createElement(Rt,null,r.createElement(Qe,{routePaths:Ae,routeParents:ye,routeObjects:Fe,routeBindings:ve,basePath:ot(Ee.api)},Y))))}}getRouter(){const{Router:T,SignInPage:B}=this.components,H=({component:le,children:Ae})=>{const[ye,Fe]=(0,r.useState)();return ye?(this.appIdentityProxy.setTarget(ye),Ae):r.createElement(le,{onSignInSuccess:Fe})};return({children:le})=>{const Ae=(0,g.useApi)(g.configApiRef),ye=`${ot(Ae)}/*`;return B?r.createElement(T,null,r.createElement(gt,{tree:le}),r.createElement(H,{component:B},r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,le)})))):(this.appIdentityProxy.setTarget({getUserId:()=>"guest",getIdToken:async()=>{},getProfile:()=>({email:"guest@example.com",displayName:"Guest"}),getProfileInfo:async()=>({email:"guest@example.com",displayName:"Guest"}),getBackstageIdentity:async()=>({type:"user",userEntityRef:"user:default/guest",ownershipEntityRefs:["user:default/guest"]}),getCredentials:async()=>({}),signOut:async()=>{}}),r.createElement(T,null,r.createElement(gt,{tree:le}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,le)}))))}}getApiHolder(){if(this.apiHolder){for(const T of this.plugins)for(const B of T.getApis())this.apiFactoryRegistry.get(B.api)||this.apiFactoryRegistry.register("default",B);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:g.appThemeApiRef,deps:{},factory:()=>f.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:g.configApiRef,deps:{},factory:()=>{if(!this.configApi)throw new Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:g.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:g.featureFlagsApiRef,deps:{},factory:()=>new f.LocalStorageFeatureFlags});for(const T of this.defaultApis)this.apiFactoryRegistry.register("default",T);for(const T of this.plugins)for(const B of T.getApis())if(!this.apiFactoryRegistry.register("default",B))throw new Error(`Plugin ${T.getId()} tried to register duplicate or forbidden API factory for ${B.api}`);for(const T of this.apis)if(!this.apiFactoryRegistry.register("app",T))throw new Error(`Duplicate or forbidden API factory for ${T.api} in app`);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new s.MM(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(T){const B=new Set;for(const H of T){const Y=H.getId();if(B.has(Y))throw new Error(`Duplicate plugin found '${Y}'`);B.add(Y)}}}function te(C){return new re(C)}},44056:function(J,o,e){"use strict";e.d(o,{b:function(){return r.b}});var r=e(69342),t=e(73495),l=e.n(t);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}})},73495:function(){},49208:function(J,o,e){"use strict";e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi},OAuthRequestManager:function(){return r.OAuthRequestManager},UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return r.UrlPatternDiscovery},WebStorage:function(){return r.WebStorage},createFetchApi:function(){return r.createFetchApi},createSpecializedApp:function(){return t.b},FlatRoutes:function(){return l.w}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}});var l=e(63938)},96176:function(J,o,e){"use strict";e.d(o,{y:function(){return l}});var r=e(17678);function t(f){return[...f].join(" ")}class l{constructor(g){X(this,"discoveryApi");X(this,"environment");X(this,"provider");X(this,"joinScopesFunc");X(this,"authRequester");X(this,"sessionTransform");const{discoveryApi:s,environment:h,provider:m,joinScopes:y=t,oauthRequestApi:c,sessionTransform:E=i=>i}=g;this.authRequester=c.createAuthRequester({provider:m,onAuthRequest:i=>this.showPopup(i)}),this.discoveryApi=s,this.environment=h,this.provider=m,this.joinScopesFunc=y,this.sessionTransform=E}async createSession(g){return g.instantPopup?this.showPopup(g.scopes):this.authRequester(g.scopes)}async refreshSession(){const g=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(h=>{throw new Error(`Auth refresh request failed, ${h}`)});if(!g.ok){const h=new Error(`Auth refresh request failed, ${g.statusText}`);throw h.status=g.status,h}const s=await g.json();if(s.error){const h=new Error(s.error.message);throw s.error.name&&(h.name=s.error.name),h}return await this.sessionTransform(s)}async removeSession(){const g=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(s=>{throw new Error(`Logout request failed, ${s}`)});if(!g.ok){const s=new Error(`Logout request failed, ${g.statusText}`);throw s.status=g.status,s}}async showPopup(g){const s=this.joinScopesFunc(g),h=await this.buildUrl("/start",{scope:s,origin:location.origin}),m=await(0,r.d)({url:h,name:`${this.provider.title} Login`,origin:new URL(h).origin,width:450,height:730});return await this.sessionTransform(m)}async buildUrl(g,s){const h=await this.discoveryApi.getBaseUrl("auth"),m=this.buildQueryString({...s,env:this.environment});return`${h}/${this.provider.id}${g}${m}`}buildQueryString(g){if(!g)return"";const s=Object.entries(g).map(([h,m])=>{if(typeof m=="string")return`${encodeURIComponent(h)}=${encodeURIComponent(m)}`;if(m)return encodeURIComponent(h)}).filter(Boolean).join("&");return s?`?${s}`:""}}},91405:function(J,o,e){"use strict";e.d(o,{l:function(){return l}});var r=e(98005),t=e(36964);class l{constructor(){X(this,"subject",new r.X(t.SessionState.SignedOut));X(this,"signedIn",!1)}setIsSignedIn(g){this.signedIn!==g&&(this.signedIn=g,this.subject.next(this.signedIn?t.SessionState.SignedIn:t.SessionState.SignedOut))}sessionState$(){return this.subject}}},54842:function(J,o,e){"use strict";e.d(o,{Hc:function(){return s},q2:function(){return f},k1:function(){return g}});function r(h,m){for(const y of m)if(!h.has(y))return!1;return!0}class t{constructor(m){this.options=m}sessionExistsAndHasScope(m,y){if(!m)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const c=this.options.sessionScopes(m);return r(c,y)}getExtendedScope(m,y){const c=new Set(this.options.defaultScopes);if(m&&this.options.sessionScopes!==void 0){const E=this.options.sessionScopes(m);for(const i of E)c.add(i)}if(y)for(const E of y)c.add(E);return c}}var l=e(91405);class f{constructor(m){X(this,"connector");X(this,"helper");X(this,"sessionScopesFunc");X(this,"sessionShouldRefreshFunc");X(this,"stateTracker",new l.l);X(this,"refreshPromise");X(this,"currentSession");const{connector:y,defaultScopes:c=new Set,sessionScopes:E,sessionShouldRefresh:i}=m;this.connector=y,this.sessionScopesFunc=E,this.sessionShouldRefreshFunc=i,this.helper=new t({sessionScopes:E,defaultScopes:c})}async getSession(m){if(this.helper.sessionExistsAndHasScope(this.currentSession,m.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const c=await this.collapsedSessionRefresh(),E=this.sessionScopesFunc(this.currentSession),i=this.sessionScopesFunc(c);return r(i,E)&&(this.currentSession=c),c}catch(c){if(m.optional)return;throw c}}if(!this.currentSession&&!m.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(m)}catch{}if(!m.optional)return this.currentSession=await this.connector.createSession({...m,scopes:this.helper.getExtendedScope(this.currentSession,m.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,await this.connector.removeSession(),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}async collapsedSessionRefresh(){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession();try{const m=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),m}finally{delete this.refreshPromise}}}class g{constructor(m){X(this,"connector");X(this,"helper");X(this,"stateTracker",new l.l);X(this,"currentSession");const{connector:y,defaultScopes:c=new Set,sessionScopes:E}=m;this.connector=y,this.helper=new t({sessionScopes:E,defaultScopes:c})}setSession(m){this.currentSession=m,this.stateTracker.setIsSignedIn(Boolean(m))}async getSession(m){if(this.helper.sessionExistsAndHasScope(this.currentSession,m.scopes))return this.currentSession;if(!m.optional)return this.currentSession=await this.connector.createSession({...m,scopes:this.helper.getExtendedScope(this.currentSession,m.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}class s{constructor(m){X(this,"manager");X(this,"storageKey");X(this,"schema");X(this,"sessionShouldRefreshFunc");X(this,"helper");const{manager:y,storageKey:c,schema:E,sessionScopes:i,sessionShouldRefresh:S=()=>!1}=m;this.manager=y,this.storageKey=c,this.schema=E,this.sessionShouldRefreshFunc=S,this.helper=new t({sessionScopes:i,defaultScopes:new Set})}setSession(m){this.manager.setSession(m),this.saveSession(m)}async getSession(m){const{scopes:y}=m,c=this.loadSession();if(this.helper.sessionExistsAndHasScope(c,y)&&!this.sessionShouldRefreshFunc(c))return this.manager.setSession(c),c;const E=await this.manager.getSession(m);return this.saveSession(E),E}async removeSession(){localStorage.removeItem(this.storageKey),await this.manager.removeSession()}sessionState$(){return this.manager.sessionState$()}loadSession(){try{const m=localStorage.getItem(this.storageKey);if(m){const y=JSON.parse(m,(c,E)=>(E==null?void 0:E.__type)==="Set"?new Set(E.__value):E);try{return this.schema.parse(y)}catch(c){throw console.log(`Failed to load session from local storage because it did not conform to the expected schema, ${c}`),c}}return}catch{localStorage.removeItem(this.storageKey);return}}saveSession(m){if(m===void 0){localStorage.removeItem(this.storageKey);return}try{this.schema.parse(m)}catch(y){console.warn(`Failed to save session to local storage because it did not conform to the expected schema, ${y}`);return}localStorage.setItem(this.storageKey,JSON.stringify(m,(y,c)=>c instanceof Set?{__type:"Set",__value:Array.from(c)}:c))}}},17678:function(J,o,e){"use strict";e.d(o,{d:function(){return r}});function r(t){return new Promise((l,f)=>{const g=t.width||500,s=t.height||700,h=window.screen.width/2-g/2,m=window.screen.height/2-s/2,y=window.open(t.url,t.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${g},height=${s},top=${m},left=${h}`);let c="";if(!y||typeof y.closed=="undefined"||y.closed){const F=new Error("Failed to open auth popup.");F.name="PopupRejectedError",f(F);return}const E=F=>{if(F.source!==y||F.origin!==t.origin)return;const{data:P}=F;if(P.type==="config_info"){c=P.targetOrigin;return}if(P.type!=="authorization_response")return;const j=P;if("error"in j){const x=new Error(j.error.message);x.name=j.error.name,f(x)}else l(j.response);S()},i=setInterval(()=>{if(y.closed){const F=`Login failed, ${c&&c!==window.location.origin?`Incorrect app origin, expected ${c}`:"popup was closed"}`,P=new Error(F);P.name="PopupClosedError",f(P),S()}},100);function S(){window.removeEventListener("message",E),clearInterval(i)}window.addEventListener("message",E)})}},98005:function(J,o,e){"use strict";e.d(o,{J:function(){return l},X:function(){return f}});var r=e(82394),t=e.n(r);class l{constructor(){X(this,"isClosed",!1);X(this,"terminatingError");X(this,"observable",new(t())(s=>this.isClosed?(this.terminatingError?s.error(this.terminatingError):s.complete(),()=>{}):(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));X(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(h=>h.next(s))}error(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(h=>h.error(s))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,h,m){const y=typeof s=="function"?{next:s,error:h,complete:m}:s;return this.observable.subscribe(y)}}class f{constructor(s){X(this,"isClosed");X(this,"currentValue");X(this,"terminatingError");X(this,"observable");X(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=s,this.terminatingError=void 0,this.observable=new(t())(h=>this.isClosed?(this.terminatingError?h.error(this.terminatingError):h.complete(),()=>{}):(h.next(this.currentValue),this.subscribers.add(h),()=>{this.subscribers.delete(h)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=s,this.subscribers.forEach(h=>h.next(s))}error(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(h=>h.error(s))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,h,m){const y=typeof s=="function"?{next:s,error:h,complete:m}:s;return this.observable.subscribe(y)}}},88934:function(J,o,e){"use strict";e.d(o,{L:function(){return l}});var r=e(36964),t=e(2784);const l=f=>{const{children:g}=f,s=(0,r.useApi)(r.featureFlagsApiRef),h="with"in f?s.isActive(f.with):!s.isActive(f.without);return t.createElement(t.Fragment,null,h?g:null)};(0,r.attachComponentData)(l,"core.featureFlagged",!0)},63938:function(J,o,e){"use strict";e.d(o,{w:function(){return f}});var r=e(2784),t=e(10289),l=e(36964);const f=s=>{const h=(0,l.useApp)(),{NotFoundErrorPage:m}=h.getComponents(),y=(0,l.useElementFilter)(s.children,c=>c.getElements().flatMap(E=>{var S;let i=E.props.path;return i===""?[]:(i=(S=i==null?void 0:i.replace(/\/\*$/,""))!=null?S:"/",[{path:i,element:E,children:E.props.children?[{path:i==="/"?"/":"/*",element:E.props.children}]:void 0}])}).sort((E,i)=>i.path.localeCompare(E.path)).map(E=>(E.path=E.path==="/"?"/":`${E.path}/*`,E)));return y.push({element:r.createElement(m,null),path:"/*"}),(0,t.V$)(y)};var g=e(88934)},9118:function(J,o,e){"use strict";e.d(o,{Button:function(){return x},CodeSnippet:function(){return je},Content:function(){return Ja},ContentHeader:function(){return ei},CreateButton:function(){return st},DependencyGraph:function(){return ve},DependencyGraphTypes:function(){return r},EmptyState:function(){return D},ErrorPage:function(){return oi},ErrorPanel:function(){return Wt},Header:function(){return ro},HeaderIconLinkRow:function(){return cr},HeaderLabel:function(){return gi},HeaderTabs:function(){return Qa},InfoCard:function(){return Ge},ItemCardGrid:function(){return Si},ItemCardHeader:function(){return Ai},Link:function(){return P},LogViewer:function(){return Or},MissingAnnotationEmptyState:function(){return Oe},OverflowTooltip:function(){return gr},Page:function(){return oo},PageWithHeader:function(){return Pi},Progress:function(){return yr},ResponseErrorPanel:function(){return jt},RoutedTabs:function(){return Xa},Select:function(){return $r},Sidebar:function(){return Qo},SidebarContext:function(){return vr},SidebarDivider:function(){return us},SidebarItem:function(){return Ka},SidebarPage:function(){return Uo},SidebarPinStateContext:function(){return Rr},SubvalueCell:function(){return Cs},SupportButton:function(){return Mo},Table:function(){return js},WarningPanel:function(){return hn},sidebarConfig:function(){return kt},useContent:function(){return fa},useQueryParamState:function(){return Lo}});var r={};e.r(r),e.d(r,{Nm:function(){return _e},ht:function(){return at},LJ:function(){return nt}});var t=e(2784),l=e(36964),f=e(19928);function g(n){const[a,u]=useState([]),d=useApi(alertApiRef);if(useEffect(()=>{const L=d.alert$().subscribe(U=>u(G=>G.concat(U)));return()=>{L.unsubscribe()}},[d]),a.length===0)return null;const[p]=a,R=()=>{u(L=>L.filter(U=>U!==p))};return React.createElement(Snackbar,{open:!0,anchorOrigin:{vertical:"top",horizontal:"center"}},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:R,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:p.severity},React.createElement("span",null,p.message.toString(),a.length>1&&React.createElement("em",null,` (${a.length-1} older ${pluralize("message",a.length-1)})`))))}var s=e(79692),h=e(12420);const m=(0,s.Z)(n=>(0,h.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function y(n){const{displayName:a,picture:u,customStyles:d}=n,p=m();return React.createElement(MaterialAvatar,{alt:a,src:u,className:p.avatar,style:{backgroundColor:stringToColor(a||u||""),...d}},a&&extractInitials(a))}var c=e(77277),E=e(86689),i=e(62833);const S=n=>/^([a-z+.-]+):/.test(n),F=n=>{var a;return n instanceof Array?n.map(F).join(" ").trim():typeof n=="object"&&n?F((a=n==null?void 0:n.props)==null?void 0:a.children):["string","number"].includes(typeof n)?String(n):""},P=t.forwardRef(({onClick:n,...a},u)=>{const d=(0,l.useAnalytics)(),p=String(a.to),R=F(a.children)||p,L=S(p),U=L&&!!/^https?:/.exec(p),G=W=>{n==null||n(W),d.captureEvent("click",R,{attributes:{to:p}})};return L?t.createElement(E.Z,{ref:u,href:p,onClick:G,...U?{target:"_blank",rel:"noopener"}:{},...a}):t.createElement(E.Z,{ref:u,component:i.rU,onClick:G,...a})}),j=t.forwardRef((n,a)=>t.createElement(P,{ref:a,...n,color:"initial"})),x=t.forwardRef((n,a)=>t.createElement(c.Z,{ref:a,component:j,...n}));var I=e(60364),b=e(61837),O=e(80030),K=e(19353),_=e(95074);function ie(n){const{text:a,tooltipDelay:u=1e3,tooltipText:d="Text copied to clipboard"}=n,p=(0,l.useApi)(l.errorApiRef),[R,L]=(0,t.useState)(!1),[{error:U},G]=(0,_.Z)();(0,t.useEffect)(()=>{U&&p.post(U)},[U,p]);const W=ae=>{ae.stopPropagation(),L(!0),G(a)};return t.createElement(t.Fragment,null,t.createElement(O.ZP,{id:"copy-test-tooltip",title:d,placement:"top",leaveDelay:u,onClose:()=>L(!1),open:R},t.createElement(b.Z,{onClick:W},t.createElement(K.Z,null))))}var pe=e(70813),Le=e(26639),me=e(39595);function je(n){const{text:a,language:u,showLineNumbers:d=!1,highlightedNumbers:p,customStyle:R,showCopyCodeButton:L=!1}=n,U=(0,I.Z)(),G=U.palette.type==="dark"?Le.Z:me.Z,W=U.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(pe.Z,{customStyle:R,language:u,style:G,showLineNumbers:d,wrapLines:!0,lineNumberStyle:{color:U.palette.textVerySubtle},lineProps:ae=>(p==null?void 0:p.includes(ae))?{style:{backgroundColor:W}}:{}},a),L&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(ie,{text:a})))}var Te=e(41156),Qe=e(88188);function st(n){const{title:a,to:u}=n,d=(0,Te.Z)(p=>p.breakpoints.down("xs"));return u?d?t.createElement(b.Z,{component:i.rU,color:"primary",title:a,size:"small",to:u},t.createElement(Qe.Z,null)):t.createElement(c.Z,{component:i.rU,variant:"contained",color:"primary",to:u},a):null}var _e;(function(n){const a="TB";n.TOP_BOTTOM=a;const u="BT";n.BOTTOM_TOP=u;const d="LR";n.LEFT_RIGHT=d;const p="RL";n.RIGHT_LEFT=p})(_e||(_e={}));var gt;(function(n){const a="UL";n.UP_LEFT=a;const u="UR";n.UP_RIGHT=u;const d="DL";n.DOWN_LEFT=d;const p="DR";n.DOWN_RIGHT=p})(gt||(gt={}));var nt;(function(n){const a="network-simplex";n.NETWORK_SIMPLEX=a;const u="tight-tree";n.TIGHT_TREE=u;const d="longest-path";n.LONGEST_PATH=d})(nt||(nt={}));var at;(function(n){const a="l";n.LEFT=a;const u="r";n.RIGHT=u;const d="c";n.CENTER=d})(at||(at={}));var vt=e(13387),wt=e(11105),Lt=e(97963),pt=e(46506),rt=e.n(pt),Ct=e(54073),Tt=e.n(Ct),Ot=e(10368);const Ft=(0,s.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function mt({node:{id:n}}){const a=Ft(),[u,d]=t.useState(0),[p,R]=t.useState(0),L=t.useRef(null);t.useLayoutEffect(()=>{if(L.current){let{height:ae,width:ce}=L.current.getBBox();ae=Math.round(ae),ce=Math.round(ce),(ae!==p||ce!==u)&&(d(ce),R(ae))}},[u,p]);const U=10,G=u+U*2,W=p+U*2;return t.createElement("g",null,t.createElement("rect",{className:a.node,width:G,height:W,rx:10}),t.createElement("text",{ref:L,className:a.text,y:W/2,x:G/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const Pt="arrow-marker",Bt="node",De="edge",ot="label",it=(0,Ot.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),St=n=>t.createElement(mt,{...n});function re({render:n=St,setNode:a,node:u}){const{width:d,height:p,x:R=0,y:L=0}=u,U=u,G=it(),W=t.useRef(null);return t.useLayoutEffect(()=>{if(W.current){let{height:ae,width:ce}=W.current.getBBox();ae=Math.round(ae),ce=Math.round(ce),(ae!==p||ce!==d)&&a(u.id,{...u,height:ae,width:ce})}},[u,d,p,a]),t.createElement("g",{ref:W,"data-testid":Bt,className:G.node,transform:`translate(${R-d/2},${L-p/2})`},n({node:U}))}var te=e(55876),C=e(66481),T=e(19574),B=e.n(T);const H=(0,Ot.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function Y({edge:{label:n}}){const a=H();return t.createElement("text",{className:a.text,textAnchor:"middle"},n)}const le=(0,Ot.Z)(n=>({path:{strokeWidth:2,stroke:n.palette.textSubtle,fill:"none",transition:`${n.transitions.duration.shortest}ms`},label:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphEdge"}),Ae=n=>t.createElement(Y,{...n}),ye=te.Z().x(n=>n.x).y(n=>n.y).curve(C.Z);function Fe({render:n=Ae,setEdge:a,id:u,edge:d}){const{x:p=0,y:R=0,width:L,height:U,points:G}=d,W=d,ae=le(),ce=t.useRef(null);t.useLayoutEffect(()=>{if(ce.current){let{height:Ce,width:Pe}=ce.current.getBBox();Ce=Math.round(Ce),Pe=Math.round(Pe),(Ce!==U||Pe!==L)&&a(u,{...d,height:Ce,width:Pe})}},[d,U,L,a,u]);let Se="";if(G){const Ce=G.filter(Pe=>B()(Pe.x)&&B()(Pe.y));Se=ye(Ce)||""}return t.createElement(t.Fragment,null,Se&&t.createElement("path",{"data-testid":De,className:ae.path,markerEnd:`url(#${Pt})`,d:Se}),W.label?t.createElement("g",{ref:ce,"data-testid":ot,className:ae.label,transform:`translate(${p},${R})`},n({edge:W})):null)}const Ie="workspace";function ve(n){var tr,mo;const{edges:a,nodes:u,renderNode:d,direction:p=_e.TOP_BOTTOM,align:R,nodeMargin:L=50,edgeMargin:U=10,rankMargin:G=50,paddingX:W=0,paddingY:ae=0,acyclicer:ce,ranker:Se=nt.NETWORK_SIMPLEX,labelPosition:Ce=at.RIGHT,labelOffset:Pe=10,edgeRanks:ht=1,edgeWeight:Xt=1,renderLabel:cn,defs:nn,zoom:ke="enabled",...Ht}=n,bt=(0,Lt.Z)(),[sn,jn]=t.useState(100),[fn,Yr]=t.useState(100),Nt=t.useRef(new(rt()).graphlib.Graph),[Un,Aa]=t.useState(((tr=Nt.current.graph())==null?void 0:tr.width)||0),[Gn,va]=t.useState(((mo=Nt.current.graph())==null?void 0:mo.height)||0),[Jr,Qr]=t.useState([]),[Ra,rn]=t.useState([]),mn=Math.max(Un,sn),Rn=Math.max(Gn,fn),Kn=t.useMemo(()=>Tt()(Kt=>{if(!Kt)return;const an=wt.Z(Kt),Vt=wt.Z(Kt.getElementById(Ie));function Pn(){an.call(vt.sP().scaleExtent([1,10]).on("zoom",bn=>{bn.transform.x=Math.min(0,Math.max(bn.transform.x,mn-mn*bn.transform.k)),bn.transform.y=Math.min(0,Math.max(bn.transform.y,Rn-Rn*bn.transform.k)),Vt.attr("transform",bn.transform)}))}ke==="enabled"?Pn():ke==="enable-on-click"&&an.on("click",()=>Pn());const{width:In,height:Xr}=Kt.getBoundingClientRect();sn!==In&&jn(In),fn!==Xr&&Yr(Xr)},100),[fn,sn,mn,Rn,ke]),qt=t.useCallback(()=>{const Kt=Nt.current.nodes(),an=Nt.current.edges();Kt.forEach(Vt=>{u.some(In=>In.id===Vt)||Nt.current.removeNode(Vt)}),an.forEach(Vt=>{a.some(In=>In.from===Vt.v&&In.to===Vt.w)||Nt.current.removeEdge(Vt.v,Vt.w)}),u.forEach(Vt=>{const Pn=Nt.current.nodes().find(In=>Vt.id===In);if(Pn&&Nt.current.node(Pn)){const{width:In,height:Xr,x:bn,y:Hi}=Nt.current.node(Pn);Nt.current.setNode(Pn,{...Vt,width:In,height:Xr,x:bn,y:Hi})}else Nt.current.setNode(Vt.id,{...Vt,width:0,height:0})}),a.forEach(Vt=>{Nt.current.setEdge(Vt.from,Vt.to,{...Vt,label:Vt.label,width:0,height:0,labelpos:Ce,labeloffset:Pe,weight:Xt,minlen:ht})})},[a,u,Ce,Pe,Xt,ht]),_t=t.useMemo(()=>Tt()(()=>{rt().layout(Nt.current);const{height:Kt,width:an}=Nt.current.graph(),Vt=Math.max(0,Kt||0),Pn=Math.max(0,an||0);Aa(Pn),va(Vt),Qr(Nt.current.nodes()),rn(Nt.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(Nt.current.setGraph({rankdir:p,align:R,nodesep:L,edgesep:U,ranksep:G,marginx:W,marginy:ae,acyclicer:ce,ranker:Se}),qt(),_t(),_t.cancel),[ce,R,p,U,W,ae,L,G,Se,qt,_t]);function er(Kt,an){return Nt.current.setNode(Kt,an),_t(),Nt.current}function Yn(Kt,an){return Nt.current.setEdge(Kt,an),_t(),Nt.current}return t.createElement("svg",{ref:Kn,...Ht,width:"100%",height:Rn,viewBox:`0 0 ${mn} ${Rn}`},t.createElement("defs",null,t.createElement("marker",{id:Pt,viewBox:"0 0 24 24",markerWidth:"14",markerHeight:"14",refX:"16",refY:"12",orient:"auto",markerUnits:"strokeWidth"},t.createElement("path",{fill:bt.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),nn),t.createElement("g",{id:Ie},t.createElement("svg",{width:Un,height:Gn,y:Rn/2-Gn/2,x:mn/2-Un/2,viewBox:`0 0 ${Un} ${Gn}`},Ra.map(Kt=>{const an=Nt.current.edge(Kt);return an?t.createElement(Fe,{key:`${Kt.v}-${Kt.w}`,id:Kt,setEdge:Yn,render:cn,edge:an}):null}),Jr.map(Kt=>{const an=Nt.current.node(Kt);return an?t.createElement(re,{key:Kt,setNode:er,render:d,node:an}):null}))))}var Ee=e(72779),be=e.n(Ee);const Rt=(0,s.Z)(n=>{var a;return{root:{padding:n.spacing(0),marginBottom:n.spacing(0),marginTop:n.spacing(0),display:"flex",flexFlow:"row nowrap"},topPosition:{position:"relative",marginBottom:n.spacing(6),marginTop:-n.spacing(3),zIndex:"unset"},icon:{fontSize:20},content:{width:"100%",maxWidth:"inherit",flexWrap:"nowrap"},message:{display:"flex",alignItems:"center",color:n.palette.banner.text,"& a":{color:n.palette.banner.link}},info:{backgroundColor:n.palette.banner.info},error:{backgroundColor:n.palette.banner.error},warning:{backgroundColor:(a=n.palette.banner.warning)!=null?a:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),ut=n=>{var Ce;const{variant:a,message:u,id:d,fixed:p=!1}=n,R=Rt(),U=useApi(storageApiRef).forBucket("notifications"),G=(Ce=U.get("dismissedBanners"))!=null?Ce:[],[W,ae]=useState(new Set(G)),ce=useObservable(U.observe$("dismissedBanners"));useEffect(()=>{var Pe;if(ce==null?void 0:ce.newValue){const ht=(Pe=ce==null?void 0:ce.newValue)!=null?Pe:[];ae(new Set(ht))}},[ce==null?void 0:ce.newValue]);const Se=()=>{U.set("dismissedBanners",[...W,d])};return React.createElement(Snackbar,{anchorOrigin:p?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!W.has(d),classes:{root:classNames(R.root,!p&&R.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(R.content,R[a]),message:R.message},message:u,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:Se},React.createElement(Close,{className:R.icon}))]}))};var Ke=e(60905),oe=e(90436),Be=e(86284),et=e(96465),Ne=e(19133),$e=e(3871);const Ye=(0,s.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),V=({missing:n})=>{const a=Ye();switch(n){case"field":return t.createElement("img",{src:Be,className:a.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:et,alt:"no Information",className:a.generalImg});case"content":return t.createElement("img",{src:Ne,alt:"create Component",className:a.generalImg});case"data":return t.createElement("img",{src:$e,alt:"no Build",className:a.generalImg});default:return null}},A=(0,s.Z)(n=>({root:{backgroundColor:n.palette.background.default,padding:n.spacing(2,0,0,0)},action:{marginTop:n.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function D(n){const{title:a,description:u,missing:d,action:p}=n,R=A();return t.createElement(Ke.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:R.root,spacing:2},t.createElement(Ke.Z,{item:!0,xs:12,md:6},t.createElement(Ke.Z,{container:!0,direction:"column"},t.createElement(Ke.Z,{item:!0,xs:!0},t.createElement(oe.Z,{variant:"h5"},a)),t.createElement(Ke.Z,{item:!0,xs:!0},t.createElement(oe.Z,{variant:"body1"},u)),t.createElement(Ke.Z,{item:!0,xs:!0,className:R.action},p))),t.createElement(Ke.Z,{item:!0,xs:12,md:6,className:R.imageContainer},t.createElement(V,{missing:d})))}const z=`apiVersion: backstage.io/v1alpha1
|
|
2
|
-
kind: Component
|
|
3
|
-
metadata:
|
|
4
|
-
name: example
|
|
5
|
-
description: example.com
|
|
6
|
-
annotations:
|
|
7
|
-
ANNOTATION: value
|
|
8
|
-
spec:
|
|
9
|
-
type: website
|
|
10
|
-
lifecycle: production
|
|
11
|
-
owner: user:guest`,ee=(0,s.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function Oe(n){const{annotation:a}=n,u=ee(),d=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,a)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(D,{missing:"field",title:"Missing Annotation",description:d,action:t.createElement(t.Fragment,null,t.createElement(oe.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:u.code},t.createElement(je,{text:z.replace("ANNOTATION",a),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(c.Z,{color:"primary",component:P,to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"},"Read more"))})}var ge=e(11776),Re=e(38402),xe=e(49378),Ze=e(41128),Et=e(27616),ne=e(8284),$=e(70660),Q=e(91750),he=e(38016);const He=(n,a)=>(a.palette.type==="light"?Ze._j:Ze.$n)(a.palette[n].light,.6),ze=(n,a)=>(a.palette.type==="light"?Ze.$n:Ze._j)(a.palette[n].light,.9),lt=(0,s.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:a})=>He(a,n)}})),xt=({severity:n})=>{const a=lt({severity:n});return t.createElement(Q.Z,{classes:a})},en=({severity:n})=>{const a=lt({severity:n});return t.createElement(he.Z,{classes:a})},on=(0,s.Z)(n=>({panel:{backgroundColor:({severity:a})=>ze(a,n),color:({severity:a})=>He(a,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:a})=>He(a,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:a})=>He(a,n),backgroundColor:({severity:a})=>ze(a,n)},details:{width:"100%",display:"block",color:n.palette.textContrast,backgroundColor:n.palette.background.default,border:`1px solid ${n.palette.border}`,padding:n.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),$n=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function hn(n){const{severity:a="warning",title:u,message:d,children:p,defaultExpanded:R}=n,L=on({severity:a}),U=$n(a)+(u?`: ${u}`:"");return t.createElement(Et.Z,{defaultExpanded:R!=null?R:!1,className:L.panel,role:"alert"},t.createElement(ne.Z,{expandIcon:t.createElement(en,{severity:a}),className:L.summary},t.createElement(xt,{severity:a}),t.createElement(oe.Z,{className:L.summaryText,variant:"subtitle1"},U)),(d||p)&&t.createElement($.Z,null,t.createElement(Ke.Z,{container:!0},d&&t.createElement(Ke.Z,{item:!0,xs:12},t.createElement(oe.Z,{className:L.message,variant:"body1"},d)),p&&t.createElement(Ke.Z,{item:!0,xs:12,className:L.details},p))))}const On=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),yt=({error:n,message:a,stack:u,children:d})=>{const p=On();return t.createElement(ge.Z,{dense:!0},t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(xe.Z,{classes:{secondary:p.text},primary:"Error",secondary:n}),t.createElement(ie,{text:n})),t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(xe.Z,{classes:{secondary:p.text},primary:"Message",secondary:a}),t.createElement(ie,{text:a})),u&&t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(xe.Z,{classes:{secondary:p.text},primary:"Stack Trace",secondary:u}),t.createElement(ie,{text:u})),d)};function Wt(n){const{title:a,error:u,defaultExpanded:d,children:p}=n;return t.createElement(hn,{severity:"error",title:a!=null?a:u.message,defaultExpanded:d},t.createElement(yt,{error:u.name,message:u.message,stack:u.stack,children:p}))}var un=e(85256);const gn=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function jt(n){var Pe;const{title:a,error:u,defaultExpanded:d}=n,p=gn();if(u.name!=="ResponseError")return t.createElement(Wt,{title:a!=null?a:u.message,defaultExpanded:d,error:u});const{body:R,cause:L}=u,{request:U,response:G}=R,W=`${G.statusCode}: ${L.name}`,ae=U&&`${U.method} ${U.url}`,ce=L.message.replace(/\\n/g,`
|
|
12
|
-
`),Se=(Pe=L.stack)==null?void 0:Pe.replace(/\\n/g,`
|
|
13
|
-
`),Ce=JSON.stringify(R,void 0,2);return t.createElement(Wt,{title:a!=null?a:u.message,defaultExpanded:d,error:{name:W,message:ce,stack:Se}},ae&&t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(xe.Z,{classes:{secondary:p.text},primary:"Request",secondary:U?`${ae}`:void 0}),t.createElement(ie,{text:ae})),t.createElement(t.Fragment,null,t.createElement(un.Z,{component:"li",className:p.divider}),t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(xe.Z,{classes:{secondary:p.text},primary:"Full Error as JSON"})),t.createElement(je,{language:"json",text:Ce,showCopyCodeButton:!0})))}var Zn=e(28316);function nr(n){const a=document.createElement("div");return a.setAttribute("id",n),a}function rr(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function Cr(n){const a=useRef(null);useEffect(function(){const p=document.querySelector(`#${n}`),R=p||nr(n);return p||rr(R),R.appendChild(a.current),function(){a.current.remove(),R.childNodes.length===-1&&R.remove()}},[n]);function u(){return a.current||(a.current=document.createElement("div")),a.current}return u()}var Fn=null;const Bn="core.calloutSeen";function ar(){const[n,a]=useState(()=>{const d=localStorage.getItem(Bn);return d?JSON.parse(d):{}}),u=useCallback((d,p)=>{const R=localStorage.getItem(Bn),U={...R?JSON.parse(R):{},[d]:p};a(U),localStorage.setItem(Bn,JSON.stringify(U))},[]);return{states:n,setState:u}}function or(n){const{states:a,setState:u}=ar(),d=useCallback(()=>{u(n,!0)},[u,n]);return{seen:a[n]===!0,markSeen:d}}function Jn(n){const{seen:a,markSeen:u}=or(n);return{show:a===!1,hide:u}}const Tr=(0,s.Z)({"@keyframes pulsateSlightly":{"0%":{transform:"scale(1.0)"},"100%":{transform:"scale(1.1)"}},"@keyframes pulsateAndFade":{"0%":{transform:"scale(1.0)",opacity:.9},"100%":{transform:"scale(1.5)",opacity:0}},featureWrapper:{position:"relative"},backdrop:{zIndex:2e3,position:"fixed",overflow:"hidden",left:0,right:0,top:0,bottom:0},dot:{position:"absolute",backgroundColor:"transparent",borderRadius:"100%",border:"1px solid rgba(103, 146, 180, 0.98)",boxShadow:"0px 0px 0px 20000px rgba(0, 0, 0, 0.5)",zIndex:2001,transformOrigin:"center center",animation:"$pulsateSlightly 1744ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) alternate infinite"},pulseCircle:{width:"100%",height:"100%",backgroundColor:"transparent",borderRadius:"100%",border:"2px solid white",zIndex:2001,transformOrigin:"center center",animation:"$pulsateAndFade 872ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite"},text:{position:"absolute",color:"white",zIndex:2003}},{name:"BackstageFeatureCalloutCircular"});function kr(n){const{featureId:a,title:u,description:d,children:p}=n,{show:R,hide:L}=useShowCallout(a),U=usePortal("core.callout"),G=useRef(null),[W,ae]=useState(),ce=Tr(),Se=useCallback(()=>{if(G.current){const Ce=G.current.getBoundingClientRect(),Pe=Math.max(Ce.width,Ce.height),ht=800,Xt=Ce.x-(Pe-Ce.width)/2-ht,cn=Ce.y-(Pe-Ce.height)/2-ht,nn=Pe+2*ht,ke=450,Ht=Ce.x+Ce.width/2-ke,bt=Ce.y-(Pe-Ce.height)/2+Pe+20;ae({dotLeft:Xt,dotTop:cn,dotSize:nn,borderWidth:ht,textTop:bt,textLeft:Ht,textWidth:ke})}},[]);return useEffect(()=>(window.addEventListener("resize",Se),window.addEventListener("scroll",Se),()=>{window.removeEventListener("resize",Se),window.removeEventListener("scroll",Se)}),[Se]),useLayoutEffect(Se,[G.current,Se]),R?React.createElement(React.Fragment,null,React.createElement("div",{className:ce.featureWrapper,ref:G},p),createPortal(React.createElement("div",{className:ce.backdrop},React.createElement(ClickAwayListener,{onClickAway:L},React.createElement(React.Fragment,null,React.createElement("div",{className:ce.dot,"data-testid":"dot",style:{left:W==null?void 0:W.dotLeft,top:W==null?void 0:W.dotTop,width:W==null?void 0:W.dotSize,height:W==null?void 0:W.dotSize,borderWidth:W==null?void 0:W.borderWidth},onClick:L,onKeyDown:L,role:"button",tabIndex:0},React.createElement("div",{className:ce.pulseCircle})),React.createElement("div",{className:ce.text,"data-testid":"text",style:{left:W==null?void 0:W.textLeft,top:W==null?void 0:W.textTop,width:W==null?void 0:W.textWidth}},React.createElement(Typography,{variant:"h2",paragraph:!0},u),React.createElement(Typography,null,d))))),U)):React.createElement(React.Fragment,null,p)}var sr=e(35292);const Pr=(0,s.Z)(n=>({link:{display:"grid",justifyItems:"center",gridGap:4,textAlign:"center"},disabled:{color:"gray",cursor:"default"},primary:{color:n.palette.primary.main},secondary:{color:n.palette.secondary.main},label:{fontSize:"0.7rem",textTransform:"uppercase",fontWeight:600,letterSpacing:1.2}}),{name:"BackstageIconLinkVertical"});function ir({color:n="primary",disabled:a=!1,href:u="#",icon:d=t.createElement(sr.Z,null),label:p,onClick:R,title:L}){const U=Pr();return a?t.createElement(E.Z,{title:L,className:be()(U.link,U.disabled),underline:"none"},d,t.createElement("span",{className:U.label},p)):t.createElement(E.Z,{title:L,className:be()(U.link,U[n]),to:u,component:P,onClick:R},d,t.createElement("span",{className:U.label},p))}const lr=(0,s.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function cr(n){const{links:a}=n,u=lr();return t.createElement("nav",{className:u.links},a.map((d,p)=>t.createElement(ir,{key:p+1,...d})))}const Qn=n=>{const a=n==="dark"?"16%":"97%";return`
|
|
14
|
-
hsl(0, 0%, ${a}) 0%,
|
|
15
|
-
hsla(0, 0%, ${a}, 0.987) 8.1%,
|
|
16
|
-
hsla(0, 0%, ${a}, 0.951) 15.5%,
|
|
17
|
-
hsla(0, 0%, ${a}, 0.896) 22.5%,
|
|
18
|
-
hsla(0, 0%, ${a}, 0.825) 29%,
|
|
19
|
-
hsla(0, 0%, ${a}, 0.741) 35.3%,
|
|
20
|
-
hsla(0, 0%, ${a}, 0.648) 41.2%,
|
|
21
|
-
hsla(0, 0%, ${a}, 0.55) 47.1%,
|
|
22
|
-
hsla(0, 0%, ${a}, 0.45) 52.9%,
|
|
23
|
-
hsla(0, 0%, ${a}, 0.352) 58.8%,
|
|
24
|
-
hsla(0, 0%, ${a}, 0.259) 64.7%,
|
|
25
|
-
hsla(0, 0%, ${a}, 0.175) 71%,
|
|
26
|
-
hsla(0, 0%, ${a}, 0.104) 77.5%,
|
|
27
|
-
hsla(0, 0%, ${a}, 0.049) 84.5%,
|
|
28
|
-
hsla(0, 0%, ${a}, 0.013) 91.9%,
|
|
29
|
-
hsla(0, 0%, ${a}, 0) 100%
|
|
30
|
-
`},Xn=100,Mn=10,Ir=(0,s.Z)(n=>({root:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center"},container:{overflow:"auto",scrollbarWidth:0,"&::-webkit-scrollbar":{display:"none"}},fade:{position:"absolute",width:Xn,height:`calc(100% + ${Mn}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-Mn,background:`linear-gradient(90deg, ${Qn(n.palette.type)})`},fadeRight:{right:-Mn,background:`linear-gradient(270deg, ${Qn(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function pn(n){const[[a,u],d]=React.useState([0,0]);return React.useLayoutEffect(()=>{const p=n.current;if(!p){d([0,0]);return}const R=()=>{const L=p.scrollLeft,U=p.scrollWidth-p.offsetWidth-p.scrollLeft;d([L,U])};return R(),p.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{p.removeEventListener("scroll",R),window.removeEventListener("resize",R)}},[n]),[a,u]}function Ut(n,a,u){const[d,p]=React.useState(0);return React.useLayoutEffect(()=>{if(d===0)return;const R=performance.now(),L=requestAnimationFrame(U=>{if(!n.current)return;const G=U-R,W=Math.abs(d)*G/a,ce=Math.max(u,W)*Math.sign(d);n.current.scrollBy({left:ce});const Se=d-ce;Math.sign(d)!==Math.sign(Se)?p(0):p(Se)});return()=>cancelAnimationFrame(L)},[n,d,a,u]),p}function qr(n){const{scrollStep:a=100,scrollSpeed:u=50,minScrollDistance:d=5,children:p,...R}=n,L=Ir(n),U=React.useRef(),[G,W]=pn(U),ae=Ut(U,u,d),ce=Se=>{!U.current||ae(Se?a:-a)};return React.createElement("div",{...R,className:L.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:L.container,ref:U},p),React.createElement("div",{className:classNames(L.fade,L.fadeLeft,{[L.fadeHidden]:G===0})}),React.createElement("div",{className:classNames(L.fade,L.fadeRight,{[L.fadeHidden]:W===0})}),G>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>ce(!1),className:classNames(L.button,L.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),W>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>ce(!0),className:classNames(L.button,L.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const ur=(0,s.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function _r(n){const a=ur(n),{shorthand:u,alpha:d}=n;return u?React.createElement("span",{className:a[d?"alpha":"beta"],style:{fontSize:"120%"}},d?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:a[d?"alpha":"beta"]},d?"Alpha":"Beta")}const Lr=(0,t.lazy)(()=>Promise.all([e.e(1110),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function Or(n){const{Progress:a}=(0,l.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(a,null)},t.createElement(Lr,{...n}))}const dr=(0,s.Z)(n=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${n.palette.border}`},"& th, & td":{border:`1px solid ${n.palette.border}`,padding:n.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:n.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:n.palette.background.paper},"& tr":{backgroundColor:n.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:n.palette.background.default},"& a":{color:n.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),xr={code:({inline:n,className:a,children:u,...d})=>{const p=String(u).replace(/\n+$/,""),R=/language-(\w+)/.exec(a||"");return!n&&R?t.createElement(je,{language:R[1],text:p}):t.createElement("code",{className:a,...d},u)}};function Dr(n){const{content:a,dialect:u="gfm"}=n,d=dr();return React.createElement(ReactMarkdown,{remarkPlugins:u==="gfm"?[gfm]:[],className:d.markdown,children:a,components:xr})}var br=e(10179);const Fr=(0,s.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),ea=({request:n,busy:a,setBusy:u})=>{const d=Fr(),[p,R]=useState(),L=async()=>{u(!0);try{await n.trigger()}catch(G){R(isError(G)?G.message:"An unspecified error occurred")}finally{u(!1)}},U=n.provider.icon;return React.createElement(ListItem,{button:!0,disabled:a,classes:{root:d.root}},React.createElement(ListItemAvatar,null,React.createElement(U,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:p&&React.createElement(Typography,{color:"error"},p)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:L},"Log in"))};var Br=null;const Mr=(0,s.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function wn(n){const a=Mr(),[u,d]=useState(!1),p=useApi(oauthRequestApiRef),R=useObservable(useMemo(()=>p.authRequest$(),[p]),[]),L=()=>{R.forEach(U=>U.reject())};return React.createElement(Dialog,{open:Boolean(R.length),fullWidth:!0,maxWidth:"xs",classes:{paper:a.dialog}},React.createElement(DialogTitle,{classes:{root:a.title}},"Login Required"),React.createElement(DialogContent,{dividers:!0,classes:{root:a.contentList}},React.createElement(List,null,R.map(U=>React.createElement(LoginRequestListItem,{key:U.provider.title,request:U,busy:u,setBusy:d})))),React.createElement(DialogActions,{classes:{root:a.actionButtons}},React.createElement(Button,{onClick:L},"Reject All")))}var fr=e(15277),mr=e.n(fr),hr=e(90736);const Nr=(0,s.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function gr(n){var L;const[a,u]=(0,t.useState)(!1),d=(0,hr.default)(),p=Nr(),R=U=>{d()&&u(U)};return t.createElement(O.ZP,{title:(L=n.title)!=null?L:n.text||"",placement:n.placement,disableHoverListener:!a},t.createElement(mr(),{text:n.text,line:n.line,onToggled:R,containerClassName:p.container}))}var pr=e(67358);function yr(n){const[a,u]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const d=setTimeout(()=>u(!0),250);return()=>clearTimeout(d)},[]),a?t.createElement(pr.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var kn=e(94339),Er=e(14503),w=e(24579),N=e(32552),Z=e(15459),k=e(95544),ue=e(27597);const se=(0,s.Z)(n=>({root:{maxWidth:"fit-content",padding:n.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:n.palette.textSubtle},arrow:{color:n.palette.textSubtle}}),{name:"BackstageBottomLink"});function fe(n){const{link:a,title:u,onClick:d}=n,p=se();return t.createElement("div",null,t.createElement(un.Z,null),t.createElement(P,{to:a,onClick:d,underline:"none"},t.createElement(k.Z,{display:"flex",alignItems:"center",className:p.root},t.createElement(k.Z,{className:p.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(oe.Z,null,t.createElement("strong",null,u))),t.createElement(ue.Z,{className:p.arrow}))))}const Ue=n=>{const{slackChannel:a}=n;if(a){if(typeof a=="string")return t.createElement(t.Fragment,null,"Please contact ",a," for help.");if(!a.href)return t.createElement(t.Fragment,null,"Please contact ",a.name," for help.")}else return null;return t.createElement(x,{to:a.href,variant:"contained"},a.name)},Ve=class extends t.Component{constructor(a){super(a);this.state={error:void 0,errorInfo:void 0}}componentDidCatch(a,u){console.error(`ErrorBoundary, error: ${a}, info: ${u}`),this.setState({error:a,errorInfo:u})}render(){const{slackChannel:a,children:u}=this.props,{error:d}=this.state;return d?t.createElement(Wt,{title:"Something Went Wrong",error:d},t.createElement(Ue,{slackChannel:a})):u}},tt=(0,s.Z)(n=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},header:{padding:n.spacing(2,2,2,2.5)},headerTitle:{fontWeight:700},headerSubheader:{paddingTop:n.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{}}),{name:"BackstageInfoCard"}),ct=(0,Z.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(Er.Z),We={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function Ge(n){const{title:a,subheader:u,divider:d=!0,deepLink:p,slackChannel:R,errorBoundaryProps:L,variant:U,children:G,headerStyle:W,headerProps:ae,action:ce,actionsClassName:Se,actions:Ce,cardClassName:Pe,actionsTopRight:ht,className:Xt,noPadding:cn,titleTypographyProps:nn}=n,ke=tt();let Ht={},bt={};U&&U.split(/[\s]+/g).forEach(fn=>{Ht={...Ht,...We.card[fn]},bt={...bt,...We.cardContent[fn]}});const sn=L||(R?{slackChannel:R}:{});return t.createElement(kn.Z,{style:Ht,className:Xt},t.createElement(Ve,{...sn},a&&t.createElement(N.Z,{classes:{root:ke.header,title:ke.headerTitle,subheader:ke.headerSubheader,avatar:ke.headerAvatar,action:ke.headerAction,content:ke.headerContent},title:a,subheader:u,action:ce,style:{...W},titleTypographyProps:nn,...ae}),ht&&t.createElement(ct,null,ht),d&&t.createElement(un.Z,null),t.createElement(w.Z,{className:be()(Pe,{[ke.noPadding]:cn}),style:bt},G),Ce&&t.createElement(Er.Z,{className:Se},Ce),p&&t.createElement(fe,{...p})))}var It=e(39307);const Dt=(0,s.Z)(n=>({root:{position:"relative",lineHeight:0},overlay:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -60%)",fontSize:45,fontWeight:"bold",color:n.palette.textContrast},circle:{width:"80%",transform:"translate(10%, 0)"},colorUnknown:{}}),{name:"BackstageGauge"}),Mt={fractional:!0,inverse:!1,unit:"%",max:100},Gt=({palette:n,value:a,inverse:u,max:d})=>{if(isNaN(a))return"#ddd";const p=d||Mt.max,R=u?p-a:a;return R<p/3?n.status.error:R<p*(2/3)?n.status.warning:n.status.ok};function tn(n){const{getColor:a=Gt}=n,u=Dt(n),{palette:d}=useTheme(),{value:p,fractional:R,inverse:L,unit:U,max:G}={...Mt,...n},W=R?Math.round(p*G):p,ae=G!==100?Math.round(p):W;return React.createElement("div",{className:u.root},React.createElement(Circle,{strokeLinecap:"butt",percent:W,strokeWidth:12,trailWidth:12,strokeColor:a({palette:d,value:ae,inverse:L,max:G}),className:u.circle}),React.createElement("div",{className:u.overlay},isNaN(p)?"N/A":`${ae}${U}`))}const Yt=(0,s.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function yn(n){const a=Yt(n),{title:u,subheader:d,progress:p,inverse:R,deepLink:L,variant:U,getColor:G}=n,W={inverse:R,getColor:G,value:p};return React.createElement("div",{className:a.root},React.createElement(InfoCard,{title:u,subheader:d,deepLink:L,variant:U},React.createElement(Gauge,{...W})))}function Zt(n){const{value:a,getColor:u=getProgressColor}=n,{palette:d}=useTheme();if(isNaN(a))return null;let p=Math.round(a*100*100)/100;p>100&&(p=100);const R=u({palette:d,value:p,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${p}%`},React.createElement("span",null,React.createElement(Line,{percent:p,strokeWidth:4,trailWidth:4,strokeColor:R})))}var Cn=e(21324),xn=e(7089),zt=e(1292),Jt=e(42494),Wn=e(74603),zn=e(12231),ta=e(73698),na=e(72379);const ra=(0,s.Z)(()=>(0,h.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var aa=()=>{const n=ra();return t.createElement(na.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"}))};const oa=(0,s.Z)(()=>(0,h.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var sa=()=>{const n=oa();return t.createElement(na.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"}))};const Ur=(0,Z.Z)(n=>(0,h.Z)({root:{"label + &":{marginTop:n.spacing(3)}},input:{borderRadius:4,position:"relative",backgroundColor:n.palette.background.paper,border:"1px solid #ced4da",fontSize:16,padding:"10px 26px 10px 12px",transition:n.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:n.palette.background.paper,borderRadius:4}}}),{name:"BackstageSelectInputBase"})(Wn.Z),ia=(0,s.Z)(n=>(0,h.Z)({formControl:{margin:`${n.spacing(1)} 0px`,maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:14,fontFamily:n.typography.fontFamily,color:n.palette.text.primary,"&.Mui-focused":{color:n.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function $r(n){const{multiple:a,items:u,label:d,placeholder:p,selected:R,onChange:L,triggerReset:U,native:G=!1,disabled:W=!1}=n,ae=ia(),[ce,Se]=(0,t.useState)(R||(a?[]:"")),[Ce,Pe]=(0,t.useState)(!1);(0,t.useEffect)(()=>{Se(a?[]:"")},[U,a]),(0,t.useEffect)(()=>{R!==void 0&&Se(R)},[R]);const ht=ke=>{Se(ke.target.value),L(ke.target.value)},Xt=ke=>{if(W){ke.preventDefault();return}Pe(Ht=>a&&!(ke.target instanceof HTMLElement)?!0:!Ht)},cn=()=>{Pe(!1)},nn=ke=>()=>{const Ht=ce.filter(bt=>bt!==ke);Se(Ht),L(Ht)};return t.createElement("div",{className:ae.root},t.createElement(oe.Z,{variant:"button"},d),t.createElement(zt.Z,{onClickAway:cn},t.createElement(Jt.Z,{className:ae.formControl},t.createElement(ta.Z,{value:ce,native:G,disabled:W,"data-testid":"select",displayEmpty:!0,multiple:a,onChange:ht,onClick:Xt,open:Ce,input:t.createElement(Ur,null),renderValue:ke=>{var Ht;return a&&ce.length!==0?t.createElement("div",{className:ae.chips},ke.map(bt=>{var sn,jn;return t.createElement(xn.Z,{key:(sn=u.find(fn=>fn.value===bt))==null?void 0:sn.value,label:(jn=u.find(fn=>fn.value===bt))==null?void 0:jn.label,clickable:!0,onDelete:nn(bt),className:ae.chip})})):t.createElement(oe.Z,null,ce.length===0?p||"":(Ht=u.find(bt=>bt.value===ke))==null?void 0:Ht.label)},IconComponent:()=>Ce?t.createElement(sa,null):t.createElement(aa,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},p&&!a&&t.createElement(zn.Z,{value:[]},p),G?u&&u.map(ke=>t.createElement("option",{value:ke.value,key:ke.value},ke.label)):u&&u.map(ke=>t.createElement(zn.Z,{key:ke.value,value:ke.value},a&&t.createElement(Cn.Z,{color:"primary",checked:ce.includes(ke.value)||!1,className:ae.checkbox}),ke.label))))))}const Ar=()=>{},Ta=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:Ar,stepHistory:[],setStepHistory:Ar,onStepChange:Ar});function Pa(n){const{children:a,elevated:u,onStepChange:d,activeStep:p=0}=n,[R,L]=useState(p),[U,G]=useState([0]);useEffect(()=>{L(p)},[p]);const W=[];let ae;return Children.forEach(a,ce=>{isValidElement(ce)&&(ce.props.end?ae=ce:W.push(ce))}),React.createElement(React.Fragment,null,React.createElement(Ta.Provider,{value:{stepIndex:R,setStepIndex:L,stepHistory:U,setStepHistory:G,onStepChange:d,stepperLength:Children.count(a)}},React.createElement(MuiStepper,{activeStep:R,orientation:"vertical",elevation:u?2:0},W)),R>=Children.count(a)-1&&ae)}const v=(0,s.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),M=({text:n,handleClick:a})=>React.createElement(Button,{onClick:a},n||"Reset"),q=({text:n,handleClick:a,disabled:u,last:d,stepIndex:p})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:u,"data-testid":`nextButton-${p}`,onClick:a},n||(d?"Finish":"Next")),de=({text:n,handleClick:a,disabled:u,stepIndex:d})=>React.createElement(Button,{onClick:a,"data-testid":`backButton-${d}`,disabled:u},n||"Back"),Me=({actions:n={},children:a})=>{const u=v(),{stepperLength:d,stepIndex:p,setStepIndex:R,stepHistory:L,setStepHistory:U,onStepChange:G}=useContext(VerticalStepperContext),W=(Ce,Pe)=>{Pe&&Pe(),G&&G(p,Ce),R(Ce)},ae=()=>{const Ce=n.nextStep?n.nextStep(p,d-1):p+1;W(Ce,n.onNext),U([...L,Ce])},ce=()=>{L.pop(),W(L[L.length-1],n.onBack),U([...L])},Se=()=>{W(0,n.onRestart),U([0])};return React.createElement("div",{className:u.root},[void 0,!0].includes(n.showBack)&&p!==0&&React.createElement(de,{text:n.backText,handleClick:ce,disabled:p===0,stepIndex:p}),[void 0,!0].includes(n.showNext)&&React.createElement(q,{text:n.nextText,handleClick:ae,disabled:!!d&&p>=d||!!n.canNext&&!n.canNext(),stepIndex:p}),n.showRestart&&p!==0&&React.createElement(M,{text:n.restartText,handleClick:Se,stepIndex:p}),a)},Xe=(0,s.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function we(n){const{title:a,children:u,end:d,actions:p,...R}=n,L=Xe();return d?React.createElement("div",{className:L.end},React.createElement(Typography,{variant:"h6"},a),u,React.createElement(SimpleStepperFooter,{actions:{...p||{},showNext:!1}})):React.createElement(MuiStep,{...R},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},a)),React.createElement(StepContent,null,u,React.createElement(SimpleStepperFooter,{actions:p})))}const Je=(0,s.Z)(n=>({status:{fontWeight:500,"&::before":{width:"0.7em",height:"0.7em",display:"inline-block",marginRight:8,borderRadius:"50%",content:'""'}},ok:{"&::before":{backgroundColor:n.palette.status.ok}},warning:{"&::before":{backgroundColor:n.palette.status.warning}},error:{"&::before":{backgroundColor:n.palette.status.error}},pending:{"&::before":{backgroundColor:n.palette.status.pending}},running:{"&::before":{backgroundColor:n.palette.status.running}},aborted:{"&::before":{backgroundColor:n.palette.status.aborted}}}),{name:"BackstageStatus"});function dt(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function ft(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function Qt(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.error),"aria-label":"Status error","aria-hidden":"true",...n})}function $t(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function At(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.running),"aria-label":"Status running","aria-hidden":"true",...n})}function En(n){const a=Je(n);return React.createElement("span",{className:classNames(a.status,a.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var An=e(74600),Dn=e(15584);const qn=n=>(0,h.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),Hn={root:{border:"0",verticalAlign:"top"}},Vn=n=>(0,h.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),Zr=n=>(0,h.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),la=(0,Z.Z)(qn,{name:"BackstageMetadataTableTitleCell"})(Dn.Z),Nn=(0,Z.Z)(Hn,{name:"BackstageMetadataTableCell"})(Dn.Z),Gi=({dense:n,children:a})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,a)),Ki=({title:n,children:a,...u})=>React.createElement(TableRow,null,n&&React.createElement(la,null,n),React.createElement(Nn,{colSpan:n?1:2,...u},a)),Ia=(0,Z.Z)(Vn,{name:"BackstageMetadataTableList"})(({classes:n,children:a})=>t.createElement("ul",{className:n.root},a)),Yi=(0,Z.Z)(Zr,{name:"BackstageMetadataTableListItem"})(({classes:n,children:a})=>t.createElement("li",{className:n.root},a)),La=(0,h.Z)({root:{margin:"0 0",listStyleType:"none"}}),go=n=>(0,h.Z)({root:{...La.root,paddingLeft:n.spacing(1)}}),Oa=(0,Z.Z)(La,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:a})=>t.createElement(Ia,{classes:n},a)),xa=(0,Z.Z)(go,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:a})=>t.createElement(Ia,{classes:n},a));function po(n,a){const u=n.map((d,p)=>React.createElement(MetadataListItem,{key:p},ca(d)));return a?React.createElement(xa,null,u):React.createElement(Oa,null,u)}function yo(n,a,u){const d=Object.keys(n).map(p=>{const R=ca(n[p],!0),L=u&&u.titleFormat?u.titleFormat(p):startCase(p);return React.createElement(MetadataListItem,{key:p},`${L}: `,R)});return a?React.createElement(xa,null,d):React.createElement(Oa,null,d)}function ca(n,a,u){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?yo(n,a,u):Array.isArray(n)?po(n,u):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const Eo=({value:n,options:a})=>React.createElement(Fragment,null,ca(n,a)),Ao=({title:n,value:a,options:u})=>React.createElement(MetadataTableItem,{title:u&&u.titleFormat?u.titleFormat(n):startCase(n)},React.createElement(Eo,{value:a,options:u}));function vo(n,a){return Object.keys(n).map(u=>React.createElement(Ao,{key:u,title:u,value:n[u],options:a}))}function Ji(n){const{metadata:a,dense:u=!0,options:d}=n,p=vo(a,d||{});return React.createElement(MetadataTable,{dense:u},p)}var Ro=e(49429),So=e(86136),Da=e(79784),_n=e(76635),Co=e(19126),wr=e.n(Co),To=e(48760);function Po(n){return wr().stringify(n,{strictNullHandling:!0})}function ba(n){return wr().parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function Fa(n,a){return ba(n)[a]}function Io(n,a,u){const d={...ba(n),[a]:u};return Po(d)}function Lo(n,a=250){const[u,d]=(0,i.lr)(),p=u.toString(),[R,L]=(0,t.useState)(Fa(p,n));return(0,t.useEffect)(()=>{const U=Fa(p,n);L(G=>(0,_n.isEqual)(U,G)?G:U)},[p,L,n]),(0,To.Z)(()=>{const U=Io(p,n,R);p!==U&&d(U,{replace:!0})},a,[d,R,p,n]),[R,L]}const Oo={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/andrewthauer/backstage/blob/master/app-config.yaml"}]}]};function Ba(){const a=(0,l.useApi)(l.configApiRef).getOptionalConfig("app.support");return a?{url:a.getString("url"),items:a.getConfigArray("items").flatMap(u=>{var d;return{title:u.getString("title"),icon:u.getOptionalString("icon"),links:((d=u.getOptionalConfigArray("links"))!=null?d:[]).flatMap(p=>({url:p.getString("url"),title:p.getString("title")}))}})}:Oo}var xo=e(80079);function Tn(n,a){const d=(0,l.useApp)().getSystemIcon(n);return d?t.createElement(d,{...a}):t.createElement(xo.Z,{...a})}function Qi(n){return Tn("brokenImage",n)}function Xi(n){return Tn("catalog",n)}function ki(n){return Tn("chat",n)}function qi(n){return Tn("dashboard",n)}function _i(n){return Tn("docs",n)}function el(n){return Tn("email",n)}function tl(n){return Tn("github",n)}function nl(n){return Tn("group",n)}function Wr(n){return Tn("help",n)}function rl(n){return Tn("user",n)}function al(n){return Tn("warning",n)}const Do=(0,s.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),bo=({icon:n})=>{var d;const a=(0,l.useApp)(),u=n&&(d=a.getSystemIcon(n))!=null?d:Wr;return t.createElement(u,null)},Fo=({link:n})=>{var a;return t.createElement(P,{to:n.url},(a=n.title)!=null?a:n.url)},Bo=({item:n})=>{var a;return t.createElement(Re.Z,null,t.createElement(So.Z,null,t.createElement(bo,{icon:n.icon})),t.createElement(xe.Z,{primary:n.title,secondary:(a=n.links)==null?void 0:a.reduce((u,d,p)=>[...u,p>0&&t.createElement("br",{key:p}),t.createElement(Fo,{link:d,key:d.url})],[])}))};function Mo(n){const{title:a,children:u}=n,{items:d}=Ba(),[p,R]=(0,t.useState)(!1),[L,U]=(0,t.useState)(null),G=Do(),W=(0,Te.Z)(Se=>Se.breakpoints.down("sm")),ae=Se=>{U(Se.currentTarget),R(!0)},ce=()=>{R(!1)};return t.createElement(t.Fragment,null,t.createElement(k.Z,{display:"flex",ml:1},W?t.createElement(b.Z,{color:"primary",size:"small",onClick:ae,"data-testid":"support-button"},t.createElement(Wr,null)):t.createElement(c.Z,{"data-testid":"support-button",color:"primary",onClick:ae,startIcon:t.createElement(Wr,null)},"Support")),t.createElement(Da.ZP,{"data-testid":"support-button-popover",open:p,anchorEl:L,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:ce},t.createElement(ge.Z,{className:G.popoverList},a&&t.createElement(Re.Z,{alignItems:"flex-start"},t.createElement(oe.Z,{variant:"subtitle1"},a)),t.Children.map(u,(Se,Ce)=>t.createElement(Re.Z,{alignItems:"flex-start",key:`child-${Ce}`},Se)),d&&d.map((Se,Ce)=>t.createElement(Bo,{item:Se,key:`item-${Ce}`}))),t.createElement(Ro.Z,null,t.createElement(c.Z,{color:"primary",onClick:ce},"Close"))))}var ua=e(18671),vn=e(10289);const zr=72,Ma=24,Na=18,kt={drawerWidthClosed:zr,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:zr,iconSize:zr-Ma*2,iconPadding:Ma,selectedIndicatorWidth:3,userBadgePadding:Na,userBadgeDiameter:zr-Na*2,mobileSidebarHeight:56},da={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:kt.defaultOpenDelayMs+200},ol="@backstage/core/sidebar-intro-dismissed",vr=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),Ua=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var Hr;(function(n){const a="sidebarPinState";n.SIDEBAR_PIN_STATE=a})(Hr||(Hr={}));const $a={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(Hr.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(Hr.SIDEBAR_PIN_STATE,JSON.stringify(n))}},No=(0,s.Z)(n=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[n.breakpoints.up("sm")]:{paddingLeft:({isPinned:a})=>a?kt.drawerWidthOpen:kt.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:kt.mobileSidebarHeight}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),Rr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1}),Za=(0,t.createContext)({content:{contentRef:void 0}});function Uo(n){const[a,u]=(0,t.useState)(()=>$a.getSidebarPinState()),d=(0,t.useRef)(null),p=(0,t.useMemo)(()=>({content:{contentRef:d}}),[d]);(0,t.useEffect)(()=>{$a.setSidebarPinState(a)},[a]);const R=(0,Te.Z)(G=>G.breakpoints.down("xs"),{noSsr:!0}),L=()=>u(!a),U=No({isPinned:a});return t.createElement(Rr.Provider,{value:{isPinned:a,toggleSidebarPinState:L,isMobile:R}},t.createElement(Za.Provider,{value:p},t.createElement("div",{className:U.root},n.children)))}function fa(){const{content:n}=(0,t.useContext)(Za);return{focusContent:(0,t.useCallback)(()=>{var u,d;(d=(u=n==null?void 0:n.contentRef)==null?void 0:u.current)==null||d.focus()},[n]),contentRef:n==null?void 0:n.contentRef}}var $o=e(50023),Zo=e(4190),wo=e(87685),Wo=e(44882),zo=e(57998);const Ho=(0,s.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:{color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${kt.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"},label:{display:"none"}})),Vo=n=>{const{to:a,label:u,icon:d,value:p}=n,R=Ho(),L=(0,vn.TH)(),{selectedMenuItemIndex:U,setSelectedMenuItemIndex:G}=(0,t.useContext)(za),W=(ce,Se)=>{G(Se===U?-1:Se)},ae=p===U&&U>=0||p!==U&&!(U>=0)&&a===L.pathname;return t.createElement(zo.Z,{label:u,icon:d,component:P,to:a||L.pathname,onChange:W,value:p,selected:ae,classes:R})},wa=n=>{const{children:a,to:u,label:d,icon:p,value:R}=n,{isMobile:L}=(0,t.useContext)(Rr);return L?t.createElement(Vo,{to:u,label:d,icon:p,value:R}):t.createElement(t.Fragment,null,a)},Wa=(0,s.Z)(n=>({root:{position:"fixed",backgroundColor:n.palette.navigation.background,color:n.palette.navigation.color,bottom:0,left:0,right:0,zIndex:n.zIndex.snackbar,borderTop:"1px solid #383838"},overlay:{background:n.palette.navigation.background,width:"100%",bottom:`${kt.mobileSidebarHeight}px`,height:`calc(100% - ${kt.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"},overlayHeader:{display:"flex",color:n.palette.bursts.fontColor,alignItems:"center",justifyContent:"space-between",padding:n.spacing(2,3)},overlayHeaderClose:{color:n.palette.bursts.fontColor}})),jo=n=>(0,_n.orderBy)(n,({props:{priority:a}})=>Number.isInteger(a)?a:-1,"desc"),Go=t.createElement(wa).type,Ko=({children:n,label:a="Menu",open:u,onClose:d})=>{const p=Wa();return t.createElement(Zo.ZP,{anchor:"bottom",open:u,onClose:d,classes:{paperAnchorBottom:p.overlay}},t.createElement(k.Z,{className:p.overlayHeader},t.createElement(oe.Z,{variant:"h3"},a),t.createElement(b.Z,{onClick:d,classes:{root:p.overlayHeaderClose}},t.createElement(wo.Z,null))),t.createElement(k.Z,null,n))},za=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),Yo=n=>{const{children:a}=n,u=Wa(),d=(0,vn.TH)(),[p,R]=(0,t.useState)(-1);(0,t.useEffect)(()=>{R(-1)},[d.pathname]);let L=(0,l.useElementFilter)(a,G=>G.getElements().filter(W=>W.type===Go));if(a)L.length?L=jo(L):L.push(t.createElement(wa,{key:"default_menu",icon:t.createElement(Wo.Z,null)},a));else return null;const U=p>=0&&!L[p].props.to;return t.createElement(vr.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(za.Provider,{value:{selectedMenuItemIndex:p,setSelectedMenuItemIndex:R}},t.createElement(Ko,{label:L[p]&&L[p].props.label,open:U,onClose:()=>R(-1)},L[p]&&L[p].props.children),t.createElement($o.Z,{className:u.root,"data-testid":"mobile-sidebar-root"},L)))},Ha=(0,s.Z)(n=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:n.zIndex.appBar,background:n.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",width:kt.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:kt.drawerWidthOpen,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shorter})},visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var dn;(function(n){const a=0;n[n.Closed=a]="Closed";const u=a+1;n[n.Idle=u]="Idle";const d=u+1;n[n.Open=d]="Open"})(dn||(dn={}));const Jo=n=>{const{openDelayMs:a=kt.defaultOpenDelayMs,closeDelayMs:u=kt.defaultCloseDelayMs,disableExpandOnHover:d,children:p}=n,R=Ha(),L=(0,Te.Z)(Xt=>Xt.breakpoints.down("md"),{noSsr:!0}),[U,G]=(0,t.useState)(dn.Closed),W=(0,t.useRef)(),{isPinned:ae,toggleSidebarPinState:ce}=(0,t.useContext)(Rr),Se=()=>{ae||d||(W.current&&(clearTimeout(W.current),W.current=void 0),U!==dn.Open&&!L&&(W.current=window.setTimeout(()=>{W.current=void 0,G(dn.Open)},a),G(dn.Idle)))},Ce=()=>{ae||d||(W.current&&(clearTimeout(W.current),W.current=void 0),U===dn.Idle?G(dn.Closed):U===dn.Open&&(W.current=window.setTimeout(()=>{W.current=void 0,G(dn.Closed)},u)))},Pe=U===dn.Open&&!L||ae,ht=Xt=>{Xt?(G(dn.Open),ce()):(G(dn.Closed),ce())};return t.createElement("div",{style:{}},t.createElement(Xo,null),t.createElement(vr.Provider,{value:{isOpen:Pe,setOpen:ht}},t.createElement("div",{className:R.root,"data-testid":"sidebar-root",onMouseEnter:d?()=>{}:Se,onFocus:d?()=>{}:Se,onMouseLeave:d?()=>{}:Ce,onBlur:d?()=>{}:Ce},t.createElement("div",{className:be()(R.drawer,{[R.drawerOpen]:Pe})},p))))},Qo=n=>{const{children:a,openDelayMs:u,closeDelayMs:d,disableExpandOnHover:p}=n,{isMobile:R}=(0,t.useContext)(Rr);return R?t.createElement(Yo,null,a):t.createElement(Jo,{openDelayMs:u,closeDelayMs:d,disableExpandOnHover:p},a)};function Xo(){const{focusContent:n,contentRef:a}=fa(),u=Ha();return(a==null?void 0:a.current)?t.createElement(c.Z,{onClick:n,variant:"contained",className:be()(u.visuallyHidden)},"Skip to content"):null}function Va(n,a){const u=new URLSearchParams(a.search).toString(),d=wr().parse(u),p=new URLSearchParams(n.search).toString(),R=wr().parse(p);return(0,_n.isEqual)(a.pathname,n.pathname)&&(0,_n.isMatch)(R,d)}const ko=(0,s.Z)(n=>({item:{height:48,width:"100%","&:hover":{background:"#6f6f6f",color:n.palette.navigation.selectedColor},display:"flex",alignItems:"center",color:n.palette.navigation.color,padding:20,cursor:"pointer",position:"relative",background:"none",border:"none"},itemContainer:{width:"100%"},selected:{background:"#6f6f6f",color:"#FFF"},label:{margin:14,marginLeft:7,fontSize:14},dropdownArrow:{position:"absolute",right:21},dropdown:{display:"flex",flexDirection:"column",alignItems:"end"},dropdownItem:{width:"100%",padding:"10px 0 10px 0"},textContent:{color:n.palette.navigation.color,display:"flex",justifyContent:"center",[n.breakpoints.down("xs")]:{display:"block",paddingLeft:n.spacing(4)},fontSize:"14px"}})),sl=n=>{const{title:a,to:u,icon:d,dropdownItems:p}=n,R=ko(),{setIsHoveredOn:L}=useContext(SidebarItemWithSubmenuContext),U=()=>{L(!1)},G=useResolvedPath(u),W=useLocation();let ae=isLocationMatch(W,G);const[ce,Se]=useState(!1),Ce=()=>{Se(!ce)};return p!==void 0?(p.some(Pe=>{const ht=resolvePath(Pe.to);return ae=isLocationMatch(W,ht),ae}),React.createElement("div",{className:R.itemContainer},React.createElement("button",{onClick:Ce,onTouchStart:Pe=>Pe.stopPropagation(),className:classnames(R.item,ae?R.selected:void 0)},React.createElement(d,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a),ce?React.createElement(ArrowDropUpIcon,{className:R.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:R.dropdownArrow})),p&&ce&&React.createElement("div",{className:R.dropdown},p.map((Pe,ht)=>React.createElement(Link,{component:NavLink,to:Pe.to,underline:"none",className:R.dropdownItem,onClick:U,onTouchStart:Xt=>Xt.stopPropagation(),key:ht},React.createElement(Typography,{className:R.textContent},Pe.title)))))):React.createElement("div",{className:R.itemContainer},React.createElement(Link,{component:NavLink,to:u,underline:"none",className:classnames(R.item,ae?R.selected:void 0),onClick:U,onTouchStart:Pe=>Pe.stopPropagation()},React.createElement(d,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a)))},qo=n=>(0,s.Z)(a=>{var u,d;return{root:{zIndex:1e3,position:"relative",overflow:"visible",width:a.spacing(7)+1},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[a.breakpoints.up("sm")]:{marginLeft:n.left,transition:a.transitions.create("margin-left",{easing:a.transitions.easing.sharp,duration:a.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(d=(u=a.palette.navigation.submenu)==null?void 0:u.background)!=null?d:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:da.drawerWidthClosed,transitionDelay:`${da.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:da.drawerWidthOpen,[a.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:a.spacing(3),left:0,top:0}},title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[a.breakpoints.down("xs")]:{display:"none"}}}}),_o=n=>{const{isOpen:a}=(0,t.useContext)(vr),u=a?kt.drawerWidthOpen:kt.drawerWidthClosed,d=qo({left:u})(),{isHoveredOn:p}=(0,t.useContext)(Ua),[R,L]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{L(p)},[p]),t.createElement("div",{className:be()(d.drawer,{[d.drawerOpen]:R})},t.createElement(oe.Z,{variant:"h5",className:d.title},n.title),n.children)};var Vr=e(76600),es=e(26739),ts=e(98989),ns=e(59797),rs=e(83543);const as=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),il=()=>{const n=as();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})))};var ll=null;const os=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),cl=()=>{const n=os();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})))};var ul=null;const jr=(0,s.Z)(n=>{var R,L,U,G;const{selectedIndicatorWidth:a,drawerWidthClosed:u,drawerWidthOpen:d,iconContainerWidth:p}=kt;return{root:{color:n.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit"},closed:{width:u,justifyContent:"center"},open:{[n.breakpoints.up("sm")]:{width:d}},highlightable:{"&:hover":{background:(L=(R=n.palette.navigation.navItem)==null?void 0:R.hoverBackground)!=null?L:"#404040"}},highlighted:{background:(G=(U=n.palette.navigation.navItem)==null?void 0:U.hoverBackground)!=null?G:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:p,marginRight:-n.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:n.typography.fontSize},searchFieldHTMLInput:{padding:n.spacing(2,0,2)},searchContainer:{width:d-p},secondaryAction:{width:n.spacing(6),textAlign:"center",marginRight:n.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:n.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${a}px ${n.palette.navigation.indicator}`,color:n.palette.navigation.selectedColor},"&$closed":{width:u},"& $closedItemIcon":{paddingRight:a},"& $iconContainer":{marginLeft:-a}}}},{name:"BackstageSidebarItem"}),ss=(n,a)=>(0,l.useElementFilter)(n.props.children,u=>{let d=!1;return u.getElements().forEach(({props:{to:p,dropdownItems:R}})=>{if(!d){if(R==null?void 0:R.length){R.forEach(({to:L})=>d=d||Va(a,(0,vn.i3)(L)));return}p&&(d=Va(a,(0,vn.i3)(p)))}}),d},[a.pathname]);function ja(n){return n.to===void 0}const is=t.createElement(_o).type,ls=t.forwardRef(function({to:a,end:u,style:d,className:p,activeStyle:R,caseSensitive:L,activeClassName:U="active","aria-current":G="page",...W},ae){let{pathname:ce}=(0,vn.TH)(),{pathname:Se}=(0,vn.WU)(a);L||(ce=ce.toLocaleLowerCase("en-US"),Se=Se.toLocaleLowerCase("en-US"));let Ce=ce===Se;!Ce&&!u&&(Ce=ce.startsWith(`${Se}/`));const Pe=Ce?G:void 0;return t.createElement(i.rU,{...W,to:a,ref:ae,"aria-current":Pe,style:{...d,...Ce?R:void 0},className:be()([p,Ce?U:void 0])})}),Ga=(0,t.forwardRef)((n,a)=>{const{icon:u,text:d,hasNotifications:p=!1,disableHighlight:R=!1,onClick:L,children:U,className:G,...W}=n,ae=jr(),{isOpen:ce}=(0,t.useContext)(vr),Se=t.createElement(es.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!p,className:be()({[ae.closedItemIcon]:!ce})},t.createElement(u,{fontSize:"small"})),Ce=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:ae.iconContainer},Se),d&&t.createElement(oe.Z,{variant:"subtitle2",className:ae.label},d),t.createElement("div",{className:ae.secondaryAction},U)),Pe=ce?Ce:Se,ht={onClick:L,className:be()(G,ae.root,ce?ae.open:ae.closed,ja(n)&&ae.buttonItem,{[ae.highlightable]:!R})};return ja(n)?t.createElement("button",{"aria-label":d,...ht,ref:a},Pe):t.createElement(ls,{...ht,activeClassName:ae.selected,to:n.to?n.to:"",ref:a,"aria-label":d||n.to,...W},Pe)}),cs=({children:n,...a})=>{const u=jr(),[d,p]=(0,t.useState)(!1),R=(0,vn.TH)(),L=ss(n,R),U=(0,Te.Z)(ce=>ce.breakpoints.down("sm")),G=()=>{p(!0)},W=()=>{p(!1)},ae=()=>U?d?t.createElement(ns.Z,{fontSize:"small",className:u.submenuArrow}):t.createElement(rs.Z,{fontSize:"small",className:u.submenuArrow}):!d&&t.createElement(ts.Z,{fontSize:"small",className:u.submenuArrow});return t.createElement(Ua.Provider,{value:{isHoveredOn:d,setIsHoveredOn:p}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:W,onTouchStart:d?W:G,onMouseEnter:G,className:be()(d&&u.highlighted)},t.createElement(Ga,{className:L?u.selected:"",...a},ae()),d&&n))},Ka=(0,t.forwardRef)((n,a)=>{const[u]=(0,l.useElementFilter)(n.children,d=>d.getElements().filter(p=>p.type===is));return u?t.createElement(cs,{...n},u):t.createElement(Ga,{...n,ref:a})});function dl(n){const[a,u]=useState(""),d=jr(),p=n.icon?n.icon:SearchIcon,R=()=>{n.onSearch(a),u("")},L=ae=>{ae.key==="Enter"&&(ae.preventDefault(),R())},U=ae=>{u(ae.target.value)},G=ae=>{ae.preventDefault(),ae.stopPropagation()},W=ae=>{R(),ae.preventDefault()};return React.createElement("div",{className:d.searchRoot},React.createElement(Ka,{icon:p,to:n.to,onClick:W,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:a,onClick:G,onChange:U,onKeyDown:L,className:d.searchContainer,InputProps:{disableUnderline:!0,className:d.searchField},inputProps:{className:d.searchFieldHTMLInput}})))}const fl=(0,Vr.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),ml=(0,Vr.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),us=(0,Vr.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),ds=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),hl=(0,Vr.Z)("div")(({theme:n})=>{const a=ds(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":a,"&:hover":a}}),gl=()=>{const n=jr(),{isOpen:a,setOpen:u}=useContext(SidebarContext);if(useMediaQuery(R=>R.breakpoints.down("md"),{noSsr:!0}))return null;const p=()=>{u(!a)};return React.createElement("button",{onClick:p,className:n.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:n.arrows},a?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},fs=(0,s.Z)(n=>({introCard:{color:"#b5b5b5",fontSize:12,width:kt.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:kt.iconPadding,paddingRight:kt.iconPadding},introDismiss:{display:"flex",justifyContent:"flex-end",alignItems:"center",marginTop:12},introDismissLink:{color:"#dddddd",display:"flex",alignItems:"center",marginBottom:4,"&:hover":{color:n.palette.linkHover,transition:n.transitions.create("color",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})}},introDismissText:{fontSize:"0.7rem",fontWeight:"bold",textTransform:"uppercase",letterSpacing:1},introDismissIcon:{width:18,height:18,marginRight:12}}),{name:"BackstageSidebarIntro"});function ms(n){const a=fs(),{text:u,onClose:d}=n,p=()=>d();return React.createElement("div",{className:a.introCard},React.createElement(Typography,{variant:"subtitle2"},u),React.createElement("div",{className:a.introDismiss},React.createElement(Link,{component:"button",onClick:p,underline:"none",className:a.introDismissLink},React.createElement(CloseIcon,{className:a.introDismissIcon}),React.createElement(Typography,{component:"span",className:a.introDismissText},"Dismiss"))))}const Ya=n=>{const{text:a,onDismiss:u}=n,[d,p]=useState(!1),R=()=>{p(!0)};return React.createElement(Collapse,{in:!d,onExited:u},React.createElement(ms,{text:a,onClose:R}))},hs=null,gs="And your recently viewed plugins will pop up here!";function pl(n){const{isOpen:a}=useContext(SidebarContext),u={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[d,p]=useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:R,recentlyViewedItemsDismissed:L}=d!=null?d:{},U=()=>{p(W=>({...u,...W,starredItemsDismissed:!0}))},G=()=>{p(W=>({...u,...W,recentlyViewedItemsDismissed:!0}))};return a?React.createElement(React.Fragment,null,!R&&React.createElement(React.Fragment,null,React.createElement(Ya,{text:hs,onDismiss:U}),React.createElement(SidebarDivider,null)),!L&&React.createElement(Ya,{text:gs,onDismiss:G})):null}const ps=(0,s.Z)(n=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:n.spacing(3),paddingBottom:n.spacing(3),paddingLeft:n.spacing(2),paddingRight:n.spacing(2),[n.breakpoints.up("sm")]:{paddingLeft:n.spacing(3),paddingRight:n.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function Ja(n){const{className:a,stretch:u,noPadding:d,children:p,...R}=n,{contentRef:L}=fa(),U=ps();return t.createElement("article",{ref:L,tabIndex:-1,...R,className:be()(U.root,a,{[U.stretch]:u,[U.noPadding]:d})},p)}var ys=e(6487),Es=e(99152);const As=(0,s.Z)(n=>({tabsWrapper:{gridArea:"pageSubheader",backgroundColor:n.palette.background.paper,paddingLeft:n.spacing(3)},defaultTab:{padding:n.spacing(3,3),...n.typography.caption,textTransform:"uppercase",fontWeight:"bold",color:n.palette.text.secondary},selected:{color:n.palette.text.primary},tabRoot:{"&:hover":{backgroundColor:n.palette.background.default,color:n.palette.text.primary}}}),{name:"BackstageHeaderTabs"});function Qa(n){const{tabs:a,onChange:u,selectedIndex:d}=n,[p,R]=(0,t.useState)(d!=null?d:0),L=As(),U=(G,W)=>{d===void 0&&R(W),u&&u(W)};return(0,t.useEffect)(()=>{d!==void 0&&R(d)},[d]),t.createElement("div",{className:L.tabsWrapper},t.createElement(Es.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:U,value:p},a.map((G,W)=>t.createElement(ys.Z,{...G.tabProps,"data-testid":`header-tab-${W}`,label:G.label,key:G.id,value:W,className:L.defaultTab,classes:{selected:L.selected,root:L.tabRoot}}))))}function vs(n){var U,G,W;const a=(0,vn.UO)(),d=n.map(({path:ae,children:ce})=>({caseSensitive:!1,path:`${ae}/*`,element:ce})).sort((ae,ce)=>ce.path.replace(/\/\*$/,"").localeCompare(ae.path.replace(/\/\*$/,""))),p=(U=(0,vn.V$)(d))!=null?U:n[0].children,[R]=(G=(0,vn.fp)(d,`/${a["*"]}`))!=null?G:[],L=R?n.findIndex(ae=>`${ae.path}/*`===R.route.path):0;return{index:L===-1?0:L,element:p,route:(W=n[L])!=null?W:n[0]}}function Xa(n){const{routes:a}=n,u=(0,vn.s0)(),{index:d,route:p,element:R}=vs(a),L=(0,t.useMemo)(()=>a.map(G=>({id:G.path,label:G.title,tabProps:G.tabProps})),[a]),U=G=>u(a[G].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(Qa,{tabs:L,selectedIndex:d,onChange:U}),t.createElement(Ja,null,t.createElement(ua.q,{title:p.title}),R))}const ma=()=>null;(0,l.attachComponentData)(ma,"core.gatherMountPoints",!0);function ka(n){const a=t.createElement(ma,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(u=>{if(!(0,t.isValidElement)(u))return[];if(u.type===t.Fragment)return ka(u.props.children);if(u.type!==a)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:d,title:p,children:R,tabProps:L}=u.props;return[{path:d,title:p,children:R,tabProps:L}]})}function Rs(n){const a=ka(n.children);return t.createElement(Xa,{routes:a})}Rs.Route=ma;const Ss=(0,s.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Cs(n){const{value:a,subvalue:u}=n,d=Ss();return t.createElement(t.Fragment,null,t.createElement("div",{className:d.value},a),t.createElement("div",{className:d.subvalue},u))}var Ts=e(21070),Ps=e(90324),Is=e(98281),Ls=e(48049),qa=e(51209),_a=e(33375),Os=e(44233),xs=e(27604),ha=e(36444),Ds=e(37971),bs=e(59709),Fs=e(17373),Bs=e(3702),Ms=e(93111),Gr=e(67222);const Ns=(0,s.Z)(n=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:n.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:"60px",justifyContent:"space-between",borderBottom:`1px solid ${n.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:n.spacing(2)}}}),{name:"BackstageTableFilters"}),Us=n=>{var G;const a=Ns(),{onChangeFilters:u}=n,[d,p]=(0,t.useState)({...n.selectedFilters}),[R,L]=(0,t.useState)(!1),U=()=>{p({}),L(W=>!W)};return(0,t.useEffect)(()=>{u(d)},[d,u]),t.createElement("div",{className:a.root},t.createElement("div",{className:a.header},t.createElement("div",{className:a.value},"Filters"),t.createElement(c.Z,{color:"primary",onClick:U},"Clear all")),t.createElement("div",{className:a.filters},((G=n.filters)==null?void 0:G.length)&&n.filters.map(W=>t.createElement($r,{triggerReset:R,key:W.element.label,...W.element,selected:d[W.element.label],onChange:ae=>p({...d,[W.element.label]:ae})}))))},$s={Add:(0,t.forwardRef)((n,a)=>t.createElement(Ts.Z,{...n,ref:a})),Check:(0,t.forwardRef)((n,a)=>t.createElement(Is.Z,{...n,ref:a})),Clear:(0,t.forwardRef)((n,a)=>t.createElement(_a.Z,{...n,ref:a})),Delete:(0,t.forwardRef)((n,a)=>t.createElement(Os.Z,{...n,ref:a})),DetailPanel:(0,t.forwardRef)((n,a)=>t.createElement(qa.Z,{...n,ref:a})),Edit:(0,t.forwardRef)((n,a)=>t.createElement(xs.Z,{...n,ref:a})),Export:(0,t.forwardRef)((n,a)=>t.createElement(Bs.Z,{...n,ref:a})),Filter:(0,t.forwardRef)((n,a)=>t.createElement(ha.Z,{...n,ref:a})),FirstPage:(0,t.forwardRef)((n,a)=>t.createElement(Ds.Z,{...n,ref:a})),LastPage:(0,t.forwardRef)((n,a)=>t.createElement(bs.Z,{...n,ref:a})),NextPage:(0,t.forwardRef)((n,a)=>t.createElement(qa.Z,{...n,ref:a})),PreviousPage:(0,t.forwardRef)((n,a)=>t.createElement(Ls.Z,{...n,ref:a})),ResetSearch:(0,t.forwardRef)((n,a)=>t.createElement(_a.Z,{...n,ref:a})),Search:(0,t.forwardRef)((n,a)=>t.createElement(ha.Z,{...n,ref:a})),SortArrow:(0,t.forwardRef)((n,a)=>t.createElement(Ps.Z,{...n,ref:a})),ThirdStateCheck:(0,t.forwardRef)((n,a)=>t.createElement(Fs.Z,{...n,ref:a})),ViewColumn:(0,t.forwardRef)((n,a)=>t.createElement(Ms.Z,{...n,ref:a}))};function eo(n,a){const u=a.split(".");let d=n[u[0]];for(let p=1;p<u.length;++p){if(d===void 0)return d;const R=u[p];d=d[R]}return d}const Zs=(0,Z.Z)(n=>({header:{padding:n.spacing(1,2,1,2.5),borderTop:`1px solid ${n.palette.grey.A100}`,borderBottom:`1px solid ${n.palette.grey.A100}`,color:n.palette.textSubtle,fontWeight:n.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(Gr.W$),to=(0,Z.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})(Gr.UW),ws=(0,s.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),Ws=(0,s.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function zs(n,a){return n.map(u=>{const d={};let p=u.cellStyle||{};if(u.highlight)if(d.color=a.palette.textContrast,typeof p=="object")p.fontWeight=a.typography.fontWeightBold;else{const R=p;p=(L,U,G)=>({...R(L,U,G),fontWeight:a.typography.fontWeightBold})}return{...u,headerStyle:d,cellStyle:p}})}function Hs(n,a){return(0,_n.transform)(n,(u,d,p)=>{(0,_n.isEqual)(d,a[p])||(u[p]=d)})}const no={search:"",filtersOpen:!1,filters:{}};function Vs(n){const{toolbarRef:a,setSearch:u,hasFilters:d,selectedFiltersLength:p,toggleFilters:R}=n,L=ws(),U=(0,t.useCallback)(G=>{n.onSearchChanged(G),u(G)},[n,u]);return d?t.createElement("div",{className:L.root},t.createElement("div",{className:L.root},t.createElement(b.Z,{onClick:R,"aria-label":"filter list"},t.createElement(ha.Z,null)),t.createElement(oe.Z,{className:L.title},"Filters (",p,")")),t.createElement(to,{...n,ref:a,onSearchChanged:U})):t.createElement(to,{...n,ref:a,onSearchChanged:U})}function js(n){const{data:a,columns:u,options:d,title:p,subtitle:R,filters:L,initialState:U,emptyContent:G,onStateChange:W,...ae}=n,ce=Ws(),Se=(0,I.Z)(),Ce={...no,...U},[Pe,ht]=(0,t.useState)(Ce.filtersOpen),Xt=(0,t.useCallback)(()=>ht(rn=>!rn),[ht]),[cn,nn]=(0,t.useState)(0),[ke,Ht]=(0,t.useState)(a),[bt,sn]=(0,t.useState)(Ce.filters),jn=zs(u,Se),[fn,Yr]=(0,t.useState)(Ce.search);(0,t.useEffect)(()=>{if(W){const rn=Hs({search:fn,filtersOpen:Pe,filters:bt},no);W(rn)}},[fn,Pe,bt,W]);const Nt={headerStyle:{textTransform:"uppercase"}},Un=(0,t.useCallback)(rn=>{var mn;return(mn=u.find(Rn=>Rn.title===rn))==null?void 0:mn.field},[u]);(0,t.useEffect)(()=>{if(typeof a=="function")return;if(!bt){Ht(a);return}const rn=Object.values(bt);if(a&&rn.flat().length){const mn=a.filter(Rn=>!!Object.entries(bt).filter(([,Kn])=>!!Kn.length).every(([Kn,qt])=>{const _t=eo(Rn,Un(Kn));return Array.isArray(_t)&&Array.isArray(qt)?_t.some(er=>qt.includes(er)):Array.isArray(_t)?_t.includes(qt):Array.isArray(qt)?qt.includes(_t):_t===qt}));Ht(mn)}else Ht(a);nn(rn.flat().length)},[a,bt,Un]);const Aa=(rn,mn)=>{const Rn=qt=>{const _t=new Set,er=Yn=>{Yn!=null&&_t.add(Yn)};return mn&&mn.forEach(Yn=>{const tr=eo(Yn,Un(qt));Array.isArray(tr)?tr.forEach(er):er(tr)}),_t},Kn=qt=>({placeholder:"All results",label:qt.column,multiple:qt.type==="multiple-select",items:[...Rn(qt.column)].sort().map(_t=>({label:_t,value:_t}))});return rn.map(qt=>({type:qt.type,element:Kn(qt)}))},Gn=!!(L==null?void 0:L.length),va=(0,t.useCallback)(rn=>t.createElement(Vs,{setSearch:Yr,hasFilters:Gn,selectedFiltersLength:cn,toggleFilters:Xt,...rn}),[Xt,Gn,cn,Yr]),Jr=typeof a!="function"&&a.length===0,Qr=u.length,Ra=(0,t.useCallback)(rn=>G&&Jr?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:Qr},G))):t.createElement(Gr.os,{...rn}),[Jr,G,Qr]);return t.createElement("div",{className:ce.root},Pe&&a&&typeof a!="function"&&(L==null?void 0:L.length)&&t.createElement(Us,{filters:Aa(L,a),selectedFilters:bt,onChangeFilters:sn}),t.createElement(Gr.ZP,{components:{Header:Zs,Toolbar:va,Body:Ra},options:{...Nt,...d},columns:jn,icons:$s,title:t.createElement(t.Fragment,null,t.createElement(oe.Z,{variant:"h5",component:"h3"},p),R&&t.createElement(oe.Z,{color:"textSecondary",variant:"body1"},R)),data:typeof a=="function"?a:ke,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...ae}))}const yl=n=>{const{children:a,value:u,index:d,...p}=n;return React.createElement("div",{role:"tabpanel",hidden:u!==d,"aria-labelledby":`scrollable-auto-tab-${d}`,...p},u===d&&React.createElement(Box,{p:3},a))},Gs=(0,s.Z)(()=>({root:{color:"#6E6E6E",overflow:"visible",fontSize:"1.5rem",textAlign:"center",borderRadius:"50%",backgroundColor:"#E6E6E6",marginLeft:n=>n.isNext?"auto":"0",marginRight:n=>n.isNext?"0":"10px","&:hover":{backgroundColor:"#E6E6E6",opacity:"1"}}}),{name:"BackstageTabIcon"}),El=n=>{const a=Gs(n),{ariaLabel:u,onClick:d}=n;return React.createElement(IconButton,{onClick:d,className:a.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":u},n.children)},Ks=(n,a)=>a?n?"20px":"0":"40px",Ys=(0,s.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:a=>Ks(a.isFirstNav,a.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}})),Al=n=>{const a=Ys(n),{isFirstNav:u,isFirstIndex:d,...p}=n;return React.createElement(Tab,{className:a.root,disableRipple:!0,...p})},Js=(0,s.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),vl=n=>{const a=Js(n);return React.createElement(Tabs,{classes:a,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},Qs=(0,s.Z)(n=>({root:{flexGrow:1,width:"100%"},styledTabs:{backgroundColor:n.palette.background.paper},appbar:{boxShadow:"none",backgroundColor:n.palette.background.paper,paddingLeft:"10px",paddingRight:"10px"}}),{name:"BackstageTabs"});function Rl(n){const{tabs:a}=n,u=Qs(),[d,p]=useState([0,0]),[R,L]=useState(0),[U,G]=useState(0),[W,ae]=useState([[]]),ce=useRef(),{width:Se}=useWindowSize(),Ce=(nn,ke)=>{p([R,ke])},Pe=()=>{L(R-1)},ht=()=>{L(R+1)},Xt=()=>R+1<W.length;useEffect(()=>{const nn=20,ke=R===0?1:2,Ht=ce.current.offsetWidth-nn-ke*30,bt=d[0]*U+d[1],sn=Math.floor(Ht/170);G(sn),ae(chunkArray(a,sn)),p([Math.floor(bt/sn),bt%sn])},[Se,a]);const cn=R===d[0]?d[1]:!1;return React.createElement("div",{className:u.root},React.createElement(AppBar,{ref:ce,className:u.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:cn,onChange:Ce,selectionFollowsFocus:!0},R!==0&&React.createElement(StyledIcon,{onClick:Pe,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),W[R].map((nn,ke)=>React.createElement(StyledTab,{value:ke,isFirstIndex:ke===0,isFirstNav:R===0,key:ke,icon:nn.icon||void 0,label:nn.label||void 0})),Xt()&&React.createElement(StyledIcon,{isNext:!0,onClick:ht,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),cn!==!1?W[R].map((nn,ke)=>React.createElement(TabPanel,{key:ke,value:ke,index:cn},nn.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:d[1],index:d[1]},W[d[0]][d[1]].content))}var Sl=e(44311);function Xs(n,a){const u=n[n.length-1];if(!!u)return u>=.9?a.palette.status.ok:u>=.5?a.palette.status.warning:a.palette.status.error}function Cl(n){var u;const a=useTheme();return n.data?React.createElement(Sparklines,{width:120,height:30,min:0,max:1,...n},n.title&&React.createElement("title",null,n.title),React.createElement(SparklinesLine,{color:(u=n.color)!=null?u:Xs(n.data,a)})):null}const ks=n=>(0,s.Z)(a=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:a.spacing(2),textAlign:n.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:a.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),_s=({title:n="Unknown page",className:a})=>t.createElement(oe.Z,{variant:"h4",component:"h2",className:a,"data-testid":"header-title"},n);function ei(n){const{description:a,title:u,titleComponent:d=void 0,children:p,textAlign:R="left"}=n,L=ks({textAlign:R})(),U=d||t.createElement(_s,{title:u,className:L.title});return t.createElement(t.Fragment,null,t.createElement(ua.q,{title:u}),t.createElement("div",{className:L.container},t.createElement("div",{className:L.leftItemsBox},U,a&&t.createElement(oe.Z,{className:L.description,variant:"body2"},a)),t.createElement("div",{className:L.rightItemsBox},p)))}var ti=e(29788);const ni=(0,s.Z)(n=>({micDrop:{maxWidth:"60%",position:"absolute",bottom:n.spacing(2),right:n.spacing(2),[n.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",bottom:"unset",right:"unset",margin:`${n.spacing(10)}px auto ${n.spacing(4)}px`}}}),{name:"BackstageErrorPageMicDrop"}),ri=()=>{const n=ni();return t.createElement("img",{src:ti,className:n.micDrop,alt:"Girl dropping mic from her hands"})},ai=(0,s.Z)(n=>({container:{padding:n.spacing(8),[n.breakpoints.down("xs")]:{padding:n.spacing(2)}},title:{paddingBottom:n.spacing(5),[n.breakpoints.down("xs")]:{paddingBottom:n.spacing(4),fontSize:32}},subtitle:{color:n.palette.textSubtle}}),{name:"BackstageErrorPage"});function oi(n){const{status:a,statusMessage:u,additionalInfo:d}=n,p=ai(),R=(0,vn.s0)(),L=Ba();return t.createElement(Ke.Z,{container:!0,spacing:0,className:p.container},t.createElement(ri,null),t.createElement(Ke.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(oe.Z,{"data-testid":"error",variant:"body1",className:p.subtitle},"ERROR ",a,": ",u),t.createElement(oe.Z,{variant:"body1",className:p.subtitle},d),t.createElement(oe.Z,{variant:"h2",className:p.title},"Looks like someone dropped the mic!"),t.createElement(oe.Z,{variant:"h6"},t.createElement(P,{to:"#","data-testid":"go-back-link",onClick:()=>R(-1)},"Go back"),"... or please ",t.createElement(P,{to:L.url},"contact support")," if you think this is a bug.")))}var si=e(16173);const ii=(0,Z.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(oe.Z),ga=(0,Z.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(k.Z);function li(n){const{children:a,...u}=n,[d,p]=t.useState(null),R=t.Children.toArray(a),[L,U,...G]=R,W=G.length?G.pop():R[R.length-1],ae=R.length>3,ce=Pe=>{p(Pe.currentTarget)},Se=()=>{p(null)},Ce=Boolean(d);return t.createElement(t.Fragment,null,t.createElement(si.Z,{"aria-label":"breadcrumb",...u},R.length>1&&t.createElement(ga,{clone:!0},L),R.length>2&&t.createElement(ga,{clone:!0},U),ae&&t.createElement(ii,{onClick:ce},"..."),t.createElement(k.Z,{style:{fontStyle:"italic"}},W)),t.createElement(Da.ZP,{open:Ce,anchorEl:d,onClose:Se,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(ge.Z,null,G.map((Pe,ht)=>t.createElement(Re.Z,{key:ht,button:!0},t.createElement(ga,{clone:!0},Pe))))))}const ci=(0,s.Z)(n=>({header:{gridArea:"pageHeader",padding:n.spacing(3),width:"100%",boxShadow:n.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:n.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[n.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto"},title:{color:n.palette.bursts.fontColor,wordBreak:"break-all",fontSize:n.typography.h3.fontSize,marginBottom:0},subtitle:{color:n.palette.common.white,opacity:.8,display:"inline-block",marginTop:n.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:n.spacing(1),color:n.palette.bursts.fontColor},breadcrumb:{color:n.palette.bursts.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-n.spacing(.3),marginBottom:n.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-n.spacing(.3),marginBottom:n.spacing(.3)}}),{name:"BackstageHeader"}),ui=({type:n,typeLink:a,classes:u,pageTitle:d})=>n?a?t.createElement(li,{className:u.breadcrumb},t.createElement(P,{to:a},n),t.createElement(oe.Z,null,d)):t.createElement(oe.Z,{className:u.type},n):null,di=({pageTitle:n,classes:a,tooltip:u})=>{const d=t.createElement(oe.Z,{className:a.title,variant:"h1"},n);return u?t.createElement(O.ZP,{title:u,placement:"top-start"},d):d},fi=({classes:n,subtitle:a})=>a?typeof a!="string"?t.createElement(t.Fragment,null,a):t.createElement(oe.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},a):null;function ro(n){const{children:a,pageTitleOverride:u,style:d,subtitle:p,title:R,tooltip:L,type:U,typeLink:G}=n,W=ci(),ce=(0,l.useApi)(l.configApiRef).getOptionalString("app.title")||"Backstage",Se=u||R,Ce=R||u,Pe=`${Se} | %s | ${ce}`,ht=`${Se} | ${ce}`;return t.createElement(t.Fragment,null,t.createElement(ua.q,{titleTemplate:Pe,defaultTitle:ht}),t.createElement("header",{style:d,className:W.header},t.createElement(k.Z,{className:W.leftItemsBox},t.createElement(ui,{classes:W,type:U,typeLink:G,pageTitle:Ce}),t.createElement(di,{classes:W,pageTitle:Ce,tooltip:L}),t.createElement(fi,{classes:W,subtitle:p})),t.createElement(Ke.Z,{container:!0,className:W.rightItemsBox,spacing:4},a)))}const mi=(0,s.Z)(n=>({root:{textAlign:"left"},label:{color:n.palette.common.white,fontWeight:"bold",letterSpacing:0,fontSize:n.typography.fontSize,marginBottom:n.spacing(1)/2,lineHeight:1},value:{color:"rgba(255, 255, 255, 0.8)",fontSize:n.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),hi=({value:n,className:a})=>t.createElement(oe.Z,{className:a},n);function gi(n){const{label:a,value:u,url:d}=n,p=mi(),R=t.createElement(hi,{className:p.value,value:u||"<Unknown>"});return t.createElement(Ke.Z,{item:!0},t.createElement("span",{className:p.root},t.createElement(oe.Z,{className:p.label},a),d?t.createElement(P,{to:d},R):R))}const pi={hour:"2-digit",minute:"2-digit"};function ao(n){const a=new Date,u=window.navigator.language,d=[];if(!n.has("homepage.clocks"))return d;const p=n.getConfigArray("homepage.clocks");for(const R of p)if(R.has("label")&&R.has("timezone")){let L=R.getString("label");const U={timeZone:R.getString("timezone"),...pi};try{new Date().toLocaleString(u,U)}catch{console.warn(`The timezone ${U.timeZone} is invalid. Defaulting to GMT`),U.timeZone="GMT",L="GMT"}const G=a.toLocaleTimeString(u,U);d.push({time:G,label:L})}return d}function Tl(n){const a=useApi(configApiRef),u=[],[d,p]=React.useState(u);return React.useEffect(()=>{p(ao(a));const R=setInterval(()=>{p(ao(a))},1e3);return()=>{clearInterval(R)}},[a]),d.length!==0?React.createElement(React.Fragment,null,d.map(R=>React.createElement(HeaderLabel,{label:R.label,value:R.time,key:R.label}))):null}const yi=n=>(0,h.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),Ei=(0,s.Z)(yi,{name:"BackstageItemCardHeader"});function Ai(n){const{title:a,subtitle:u,children:d}=n,p=Ei(n);return t.createElement("div",{className:p.root},u&&t.createElement(oe.Z,{variant:"subtitle2",component:"h3"},u),a&&t.createElement(oe.Z,{variant:"h6",component:"h4"},a),d)}function Pl(n){const{description:a,tags:u,title:d,type:p,subtitle:R,label:L,onClick:U,href:G}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:d,subtitle:R||p})),React.createElement(CardContent,null,(u==null?void 0:u.length)?React.createElement(Box,null,u.map((W,ae)=>React.createElement(Chip,{size:"small",label:W,key:ae}))):null,a),React.createElement(CardActions,null,!G&&React.createElement(Button,{to:"#",onClick:U,color:"primary"},L),G&&React.createElement(Button,{to:G,color:"primary"},L)))}const vi=n=>(0,h.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Ri=(0,s.Z)(vi,{name:"BackstageItemCardGrid"});function Si(n){const{children:a,...u}=n,d=Ri(u);return t.createElement("div",{className:d.root,...u},a)}var Ci=e(41547);const Ti=(0,s.Z)(()=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",height:"100%",overflowY:"auto"}}),{name:"BackstagePage"});function oo(n){const{themeId:a,children:u}=n,d=Ti();return t.createElement(Ci.Z,{theme:p=>({...p,page:p.getPageTheme({themeId:a})})},t.createElement("div",{className:d.root},u))}function Pi(n){const{themeId:a,children:u,...d}=n;return t.createElement(oo,{themeId:a},t.createElement(ro,{...d}),u)}var ln=e(30195);const Il=ln.z.object({providerInfo:ln.z.object({}).catchall(ln.z.unknown()).optional(),profile:ln.z.object({email:ln.z.string().optional(),displayName:ln.z.string().optional(),picture:ln.z.string().optional()}),backstageIdentity:ln.z.object({token:ln.z.string(),identity:ln.z.object({type:ln.z.literal("user"),userEntityRef:ln.z.string(),ownershipEntityRefs:ln.z.array(ln.z.string())})})}),so={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function Ii(n){const a=new Date(Date.now()+so.defaultTokenExpiryMillis);if(!n)return a;const[u,d,p]=n.split("."),R=JSON.parse(atob(d));return typeof R.exp!="number"?a:new Date(R.exp*1e3-so.tokenExpiryMarginMillis)}class Ll{constructor(a){X(this,"options");X(this,"abortController");X(this,"state");this.options=a,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:a}=this.getSessionSync(),u=a.identity.userEntityRef,d=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(u);if(!d)throw new TypeError(`Invalid user entity reference "${u}"`);return d[3]}async getIdToken(){return(await this.getSessionAsync()).backstageIdentity.token}getProfile(){return this.getSessionSync().profile}async getProfileInfo(){return(await this.getSessionAsync()).profile}async getBackstageIdentity(){return(await this.getSessionAsync()).backstageIdentity.identity}async getCredentials(){return{token:(await this.getSessionAsync()).backstageIdentity.token}}async signOut(){this.abortController.abort()}getSessionSync(){if(this.state.type==="active")return this.state.session;if(this.state.type==="fetching"&&this.state.previous)return this.state.previous;throw new Error("No session available. Try reloading your browser page.")}async getSessionAsync(){if(this.state.type==="fetching")return this.state.promise;if(this.state.type==="active"&&new Date<this.state.expiresAt)return this.state.session;const a=this.state.type==="active"?this.state.session:void 0,u=this.fetchSession().then(d=>(this.state={type:"active",session:d,expiresAt:Ii(d.backstageIdentity.token)},d),d=>{throw this.state={type:"failed",error:d},d});return this.state={type:"fetching",promise:u,previous:a},u}async fetchSession(){const a=await this.options.discoveryApi.getBaseUrl("auth"),u=await fetch(`${a}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!u.ok)throw await ResponseError.fromResponse(u);return proxiedSessionSchema.parse(await u.json())}}const Ol=n=>{const a=useApi(discoveryApiRef),{loading:u,error:d}=useAsync(async()=>{const p=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:a});await p.start(),n.onSignInSuccess(p)},[]);return u?React.createElement(Progress,null):d?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:d}):null},Li=(0,s.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),pa=({children:n})=>{const a=Li();return t.createElement(Ke.Z,{component:"li",item:!0,classes:a},n)};class ya{getUserId(){return"guest"}async getIdToken(){}getProfile(){return{email:"guest@example.com",displayName:"Guest"}}async getProfileInfo(){return{email:"guest@example.com",displayName:"Guest"}}async getBackstageIdentity(){const a="user:default/guest";return{type:"user",userEntityRef:a,ownershipEntityRefs:[a]}}async getCredentials(){return{}}async signOut(){}}function Oi(n){const[a,u,d]=n.split(".");return JSON.parse(atob(u))}class Ea{constructor(a){this.result=a}getUserId(){return this.result.userId}static fromResult(a){return new Ea(a)}async getIdToken(){var a,u;return(u=(a=this.result).getIdToken)==null?void 0:u.call(a)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const a=await this.getIdToken();if(!a){const p=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:p,ownershipEntityRefs:[p]}}const{sub:u,ent:d}=Oi(a);return{type:"user",userEntityRef:u,ownershipEntityRefs:d!=null?d:[]}}async getCredentials(){var u,d;return{token:await((d=(u=this.result).getIdToken)==null?void 0:d.call(u))}}async signOut(){var a,u;return(u=(a=this.result).signOut)==null?void 0:u.call(a)}}class Sr{constructor(a,u,d){X(this,"profilePromise");this.identity=a,this.authApi=u,this.profile=d}static createGuest(){return new ya}static fromLegacy(a){return Ea.fromResult(a)}static create(a){return new Sr(a.identity,a.authApi,a.profile)}getUserId(){const a=this.identity.userEntityRef,u=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(a);if(!u)throw new TypeError(`Invalid user entity reference "${a}"`);return u[3]}async getIdToken(){return(await this.authApi.getBackstageIdentity()).token}getProfile(){if(!this.profile)throw new Error("The identity API does not implement synchronous profile fetching, use getProfileInfo() instead");return this.profile}async getProfileInfo(){if(this.profilePromise)return await this.profilePromise;try{return this.profilePromise=this.authApi.getProfile(),await this.profilePromise}catch(a){throw this.profilePromise=void 0,a}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const xi={Component:({config:n,onSignInSuccess:a})=>{const{apiRef:u,title:d,message:p}=n,R=(0,l.useApi)(u),L=(0,l.useApi)(l.errorApiRef),U=async()=>{try{const G=await R.getBackstageIdentity({instantPopup:!0});if(!G)throw new Error(`The ${d} provider is not configured to support sign-in`);const W=await R.getProfile();a(Sr.create({identity:G.identity,profile:W,authApi:R}))}catch(G){L.post(new br.SP("Login failed",G))}};return t.createElement(pa,null,t.createElement(Ge,{variant:"fullHeight",title:d,actions:t.createElement(c.Z,{color:"primary",variant:"outlined",onClick:U},"Sign In")},t.createElement(oe.Z,{variant:"body1"},p)))},loader:async(n,a)=>{const u=n.get(a),d=await u.getBackstageIdentity({optional:!0});if(!d)return;const p=await u.getProfile();return Sr.create({identity:d.identity,profile:p,authApi:u})}},Di={Component:({onSignInSuccess:n})=>t.createElement(pa,null,t.createElement(Ge,{title:"Guest",variant:"fullHeight",actions:t.createElement(c.Z,{color:"primary",variant:"outlined",onClick:()=>n(new ya)},"Enter")},t.createElement(oe.Z,{variant:"body1"},"Enter as a Guest User.",t.createElement("br",null),"You will not have a verified identity,",t.createElement("br",null),"meaning some features might be unavailable."))),loader:async()=>new ya};var bi=e(94106),io=e(86619),lo=e(74828),Fi=e(45455),Bi=e.n(Fi);const Mi=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,Ni=(0,s.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),co=n=>{const{ref:a,...u}=n;return{inputRef:a,...u}},Ui={Component:({onSignInSuccess:n})=>{const a=Ni(),{register:u,handleSubmit:d,formState:p}=(0,bi.cI)({mode:"onChange"}),{errors:R}=p,L=({userId:U})=>{n(Sr.fromLegacy({userId:U,profile:{email:`${U}@example.com`}}))};return t.createElement(pa,null,t.createElement(Ge,{title:"Custom User",variant:"fullHeight"},t.createElement(oe.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:a.form,onSubmit:d(L)},t.createElement(Jt.Z,null,t.createElement(io.Z,{...co(u("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(R.userId)}),R.userId&&t.createElement(lo.Z,{error:!0},R.userId.message)),t.createElement(Jt.Z,null,t.createElement(io.Z,{...co(u("idToken",{required:!1,validate:U=>!U||Mi.test(U)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(R.idToken)}),R.idToken&&t.createElement(lo.Z,{error:!0},R.idToken.message)),t.createElement(c.Z,{type:"submit",color:"primary",variant:"outlined",className:a.button,disabled:!(p==null?void 0:p.isDirty)||!Bi()(R)},"Continue"))))},loader:async()=>{}},Kr="@backstage/core:SignInPage:provider",uo={guest:Di,custom:Ui,common:xi};function fo(n,a){if(n in a)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function Nl(n){return n.reduce((u,d)=>{if(typeof d=="string")return fo(d,u),u[d]={components:uo[d],id:d},u;const{id:p}=d;return fo(p,u),u[p]={components:uo.common,id:p,config:d},u},{})}const Ul=(n,a)=>{const u=useApi(errorApiRef),d=useApiHolder(),[p,R]=useState(!0),L=useCallback(G=>{a(IdentityApiSignOutProxy.from({identityApi:G,signOut:async()=>{var W;localStorage.removeItem(Kr),await((W=G.signOut)==null?void 0:W.call(G))}}))},[a]);useLayoutEffect(()=>{var ce;if(!p)return;const G=localStorage.getItem(Kr);if(G===null){R(!1);return}const W=n[G];if(!W){R(!1);return}let ae=!1;return W.components.loader(d,(ce=W.config)==null?void 0:ce.apiRef).then(Se=>{ae||(Se?L(Se):R(!1))}).catch(Se=>{ae||(localStorage.removeItem(Kr),u.post(Se),R(!1))}),()=>{ae=!0}},[p,u,a,d,n,L]);const U=useMemo(()=>Object.keys(n).map(G=>{const W=n[G],{Component:ae}=W.components,ce=Se=>{localStorage.setItem(Kr,W.id),L(Se)};return React.createElement(ae,{key:W.id,config:W.config,onSignInSuccess:ce})}),[n,L]);return[p,U]},$i=({onSignInSuccess:n,providers:a=[],title:u,align:d="left"})=>{const p=useApi(configApiRef),R=useStyles(),L=getSignInProviders(a),[U,G]=useSignInProviders(L,n);return U?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:p.getString("app.title")}),React.createElement(Content,null,u&&React.createElement(ContentHeader,{title:u,textAlign:d}),React.createElement(Grid,{container:!0,justifyContent:d==="center"?d:"flex-start",spacing:2,component:"ul",classes:R},G)))},Zi=({provider:n,auto:a,onSignInSuccess:u})=>{const d=useStyles(),p=useApi(n.apiRef),R=useApi(configApiRef),[L,U]=useState(),[G,W]=useState(!1),ae=async({checkExisting:ce,showPopup:Se})=>{try{let Ce;if(ce&&(Ce=await p.getBackstageIdentity({optional:!0})),!Ce&&(Se||a)&&(W(!0),Ce=await p.getBackstageIdentity({instantPopup:!0}),!Ce))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Ce){W(!0);return}const Pe=await p.getProfile();u(UserIdentity.create({identity:Ce.identity,authApi:p,profile:Pe}))}catch(Ce){U(Ce),W(!0)}};return useMount(()=>ae({checkExisting:!0})),G?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:R.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:d},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{ae({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),L&&L.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},L.message)))))):React.createElement(Progress,null)};function $l(n){return"provider"in n?React.createElement(Zi,{...n}):React.createElement($i,{...n})}const wi=(0,s.Z)(n=>({root:{padding:n.spacing(0,2,0,2.5),minHeight:n.spacing(3)},indicator:{backgroundColor:n.palette.info.main,height:n.spacing(.3)}}),{name:"BackstageTabbedCard"}),Wi=(0,Z.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(N.Z);function Zl(n){const{slackChannel:a,errorBoundaryProps:u,children:d,title:p,deepLink:R,value:L,onChange:U}=n,G=wi(),[W,ae]=useState(0),ce=U||((Pe,ht)=>ae(ht));let Se;L?React.Children.map(d,Pe=>{(Pe==null?void 0:Pe.props.value)===L&&(Se=Pe==null?void 0:Pe.props.children)}):React.Children.map(d,(Pe,ht)=>{ht===W&&(Se=Pe==null?void 0:Pe.props.children)});const Ce=u||(a?{slackChannel:a}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Ce},p&&React.createElement(Wi,{title:p}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:G,value:L||W,onChange:ce},d),React.createElement(Divider,null),React.createElement(CardContent,null,Se),R&&React.createElement(BottomLink,{...R})))}const zi=(0,s.Z)(n=>({root:{minWidth:n.spacing(6),minHeight:n.spacing(3),margin:n.spacing(0,2,0,0),padding:n.spacing(.5,0,.5,0),textTransform:"none","&:hover":{opacity:1,backgroundColor:"transparent",color:n.palette.text.primary}},selected:{fontWeight:"bold"}}),{name:"BackstageCardTab"});function wl(n){const{children:a,...u}=n,d=zi();return React.createElement(Tab,{disableRipple:!0,classes:d,...u})}},88609:function(J,o,e){"use strict";e.d(o,{Os:function(){return f},fC:function(){return g}});var r=e(76241),t=e(2784);const l=(0,r.CT)("analytics-context"),f=()=>{const h=(0,t.useContext)(l);if(h===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const m=h.atVersion(1);if(m===void 0)throw new Error("No context found for version 1.");return m},g=h=>{const{attributes:m,children:y}=h,E={...f(),...m},i=(0,r.EI)({1:E});return t.createElement(l.Provider,{value:i},y)};function s(h,m){const y=c=>React.createElement(g,{attributes:m},React.createElement(h,{...c}));return y.displayName=`WithAnalyticsContext(${h.displayName||h.name||"Component"})`,y}},28461:function(J,o,e){"use strict";e.d(o,{f:function(){return r.fC},z:function(){return s}});var r=e(88609),t=e(27399),l=e(2784);class f{constructor(m,y={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=m,this.context=y}setContext(m){this.context=m}captureEvent(m,y,{value:c,attributes:E}={}){try{this.analyticsApi.captureEvent({action:m,subject:y,value:c,attributes:E,context:this.context})}catch(i){console.warn("Error during analytics event capture. %o",i)}}}function g(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function s(){const h=(0,l.useRef)(null),m=(0,r.Os)(),y=g();function c(){return h.current===null&&(h.current=new f(y)),h.current}const E=c();return E.setContext(m),E}},39135:function(J,o,e){"use strict";e.d(o,{CL:function(){return K},sM:function(){return t},$v:function(){return P},v_:function(){return j},hg:function(){return x},uB:function(){return F},iW:function(){return h},bq:function(){return S},Ds:function(){return I},NW:function(){return b},VE:function(){return O},W0:function(){return _},gP:function(){return ie},F4:function(){return f},ux:function(){return s},Kp:function(){return l},$4:function(){return pe},p_:function(){return m},br:function(){return y},ZM:function(){return Le},eC:function(){return c},D:function(){return g},gW:function(){return i},Yp:function(){return E},E6:function(){return me}});var r=e(86833),t;(function(je){const Te="SignedIn";je.SignedIn=Te;const Qe="SignedOut";je.SignedOut=Qe})(t||(t={}));const l=(0,r.T0)({id:"core.auth.google"}),f=(0,r.T0)({id:"core.auth.github"}),g=(0,r.T0)({id:"core.auth.okta"}),s=(0,r.T0)({id:"core.auth.gitlab"}),h=(0,r.T0)({id:"core.auth.auth0"}),m=(0,r.T0)({id:"core.auth.microsoft"}),y=(0,r.T0)({id:"core.auth.oauth2"}),c=(0,r.T0)({id:"core.auth.oidc"}),E=(0,r.T0)({id:"core.auth.saml"}),i=(0,r.T0)({id:"core.auth.onelogin"}),S=(0,r.T0)({id:"core.auth.bitbucket"}),F=(0,r.T0)({id:"core.auth.atlassian"}),P=(0,r.T0)({id:"core.alert"}),j=(0,r.T0)({id:"core.analytics"}),x=(0,r.T0)({id:"core.apptheme"}),I=(0,r.T0)({id:"core.config"}),b=(0,r.T0)({id:"core.discovery"}),O=(0,r.T0)({id:"core.error"});var K;(function(je){const Te=0;je[je.None=Te]="None";const Qe=1;je[je.Active=Qe]="Active"})(K||(K={}));const _=(0,r.T0)({id:"core.featureflags"}),ie=(0,r.T0)({id:"core.fetch"}),pe=(0,r.T0)({id:"core.identity"}),Le=(0,r.T0)({id:"core.oauthrequest"}),me=(0,r.T0)({id:"core.storage"})},27399:function(J,o,e){"use strict";e.d(o,{createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.T0},useApi:function(){return r.h_},useApiHolder:function(){return r.I_},FeatureFlagState:function(){return t.CL},SessionState:function(){return t.sM},alertApiRef:function(){return t.$v},analyticsApiRef:function(){return t.v_},appThemeApiRef:function(){return t.hg},atlassianAuthApiRef:function(){return t.uB},auth0AuthApiRef:function(){return t.iW},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},discoveryApiRef:function(){return t.NW},errorApiRef:function(){return t.VE},featureFlagsApiRef:function(){return t.W0},fetchApiRef:function(){return t.gP},githubAuthApiRef:function(){return t.F4},gitlabAuthApiRef:function(){return t.ux},googleAuthApiRef:function(){return t.Kp},identityApiRef:function(){return t.$4},microsoftAuthApiRef:function(){return t.p_},oauth2ApiRef:function(){return t.br},oauthRequestApiRef:function(){return t.ZM},oidcAuthApiRef:function(){return t.eC},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},samlAuthApiRef:function(){return t.Yp},storageApiRef:function(){return t.E6}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(o,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(o,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(o,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return r.auth0AuthApiRef}}),e.o(r,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(o,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(o,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(o,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(o,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(o,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(o,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return r.oauth2ApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return r.oidcAuthApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return r.samlAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(o,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(o,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(o,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(o,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(J,o,e){"use strict";e.d(o,{T:function(){return t}});class r{constructor(f){if(this.config=f,!f.id.split(".").flatMap(s=>s.split("-")).every(s=>s.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${f.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function t(l){return new r(l)}},25182:function(J,o,e){"use strict";e.d(o,{n:function(){return r}});function r(t,l){return"id"in t?{api:t,deps:{},factory:()=>l}:t}},86833:function(J,o,e){"use strict";e.d(o,{h_:function(){return r.h_},I_:function(){return r.I_},T0:function(){return t.T},createApiFactory:function(){return g.n}});var r=e(5761),t=e(90515),l=e(16362),f=e.n(l);e.o(l,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return l.FeatureFlagState}}),e.o(l,"SessionState")&&e.d(o,{SessionState:function(){return l.SessionState}}),e.o(l,"alertApiRef")&&e.d(o,{alertApiRef:function(){return l.alertApiRef}}),e.o(l,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return l.analyticsApiRef}}),e.o(l,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return l.appThemeApiRef}}),e.o(l,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return l.atlassianAuthApiRef}}),e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return l.auth0AuthApiRef}}),e.o(l,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return l.bitbucketAuthApiRef}}),e.o(l,"configApiRef")&&e.d(o,{configApiRef:function(){return l.configApiRef}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return l.discoveryApiRef}}),e.o(l,"errorApiRef")&&e.d(o,{errorApiRef:function(){return l.errorApiRef}}),e.o(l,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return l.featureFlagsApiRef}}),e.o(l,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return l.fetchApiRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return l.githubAuthApiRef}}),e.o(l,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return l.gitlabAuthApiRef}}),e.o(l,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return l.googleAuthApiRef}}),e.o(l,"identityApiRef")&&e.d(o,{identityApiRef:function(){return l.identityApiRef}}),e.o(l,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return l.microsoftAuthApiRef}}),e.o(l,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return l.oauth2ApiRef}}),e.o(l,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return l.oauthRequestApiRef}}),e.o(l,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return l.oidcAuthApiRef}}),e.o(l,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return l.oktaAuthApiRef}}),e.o(l,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return l.oneloginAuthApiRef}}),e.o(l,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return l.samlAuthApiRef}}),e.o(l,"storageApiRef")&&e.d(o,{storageApiRef:function(){return l.storageApiRef}}),e.o(l,"useApp")&&e.d(o,{useApp:function(){return l.useApp}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var g=e(25182)},16362:function(){},5761:function(J,o,e){"use strict";e.d(o,{I_:function(){return l},h_:function(){return f}});var r=e(2784),t=e(76241);function l(){const s=(0,t.Vt)("api-context");if(!s)throw new Error("API context is not available");const h=s.atVersion(1);if(!h)throw new Error("ApiContext v1 not available");return h}function f(s){const m=l().get(s);if(!m)throw new Error(`No implementation available for ${s}`);return m}function g(s){return function(m){const y=E=>{const i=l(),S={};for(const F in s)if(s.hasOwnProperty(F)){const P=s[F],j=i.get(P);if(!j)throw new Error(`No implementation available for ${P}`);S[F]=j}return React.createElement(m,{...E,...S})},c=m.displayName||m.name||"Component";return y.displayName=`withApis(${c})`,y}}},31311:function(J,o,e){"use strict";e.d(o,{q:function(){return r.q}});var r=e(32483),t=e(67229),l=e.n(t);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(J,o,e){"use strict";e.d(o,{q:function(){return t}});var r=e(76241);const t=()=>{const l=(0,r.Vt)("app-context");if(!l)throw new Error("App context is not available");const f=l.atVersion(1);if(!f)throw new Error("AppContext v1 not available");return f}},74181:function(J,o,e){"use strict";e.d(o,{R5:function(){return f},CO:function(){return i},P4:function(){return E},IY:function(){return g},vJ:function(){return x}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),l="__backstage_data";function f(I,b,O){var ie;const K=I;let _=(ie=K[l])!=null?ie:t.get(I);if(_||(_={map:new Map},Object.defineProperty(K,l,{enumerable:!1,configurable:!0,writable:!1,value:_}),t.set(I,_)),_.map.has(b)){const pe=I.displayName||I.name;throw new Error(`Attempted to attach duplicate data "${b}" to component "${pe}"`)}_.map.set(b,O)}function g(I,b){var _;if(!I)return;const O=I.type;if(!O)return;const K=(_=O[l])!=null?_:t.get(O);if(!!K)return K.map.get(b)}var s=e(2784),h=e(88609),m=e(31311),y=e(82772);class c extends s.Component{constructor(){super(...arguments);X(this,"state",{error:void 0});X(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(b){return{error:b}}render(){const{error:b}=this.state,{app:O,plugin:K}=this.props,{ErrorBoundaryFallback:_}=O.getComponents();return b?s.createElement(_,{error:b,resetError:this.handleErrorReset,plugin:K}):this.props.children}}function E(I){const{component:b,mountPoint:O,name:K}=I;return S({component:{lazy:()=>b().then(_=>{const ie=Le=>{try{(0,y.tg)(O)}catch(me){if(typeof me=="object"&&me!==null){const{message:je}=me;if(typeof je=="string"&&je.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${O} was not discovered in the app element tree. Routable extension components may not be rendered by other components and must be directly available as an element within the App provider component.`)}throw me}return s.createElement(_,{...Le})},pe=K||_.displayName||_.name||"LazyComponent";return ie.displayName=`RoutableExtension(${pe})`,ie},_=>pe=>{const Le=(0,m.q)(),{BootErrorPage:me}=Le.getComponents();return s.createElement(me,{step:"load-chunk",error:_})})},data:{"core.mountPoint":O},name:K})}function i(I){const{component:b,name:O}=I;return S({component:b,name:O})}function S(I){const{data:b={},name:O}=I;O||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let K;if("lazy"in I.component){const ie=I.component.lazy;K=(0,s.lazy)(()=>ie().then(pe=>({default:pe})))}else K=I.component.sync;const _=O||K.displayName||K.name||"Component";return{expose(ie){const pe=Le=>{const me=(0,m.q)(),{Progress:je}=me.getComponents(),Te=b==null?void 0:b["core.mountPoint"];return s.createElement(s.Suspense,{fallback:s.createElement(je,null)},s.createElement(c,{app:me,plugin:ie},s.createElement(h.fC,{attributes:{pluginId:ie.getId(),...O&&{extension:O},...Te&&{routeRef:Te.id}}},s.createElement(K,{...Le}))))};f(pe,"core.plugin",ie);for(const[Le,me]of Object.entries(b))f(pe,Le,me);return pe.displayName=`Extension(${_})`,pe}}}var F=e(27399);function P(I,b,O,K){return s.Children.toArray(I).flatMap(_=>{if(!(0,s.isValidElement)(_))return[];if(_.type===s.Fragment)return P(_.props.children,b,O,K);if(g(_,"core.featureFlagged")){const ie=_.props;return("with"in ie?b.isActive(ie.with):!b.isActive(ie.without))?P(_.props.children,b,O,K):[]}if(O===void 0||O(_))return[_];if(K)throw new Error(K);return P(_.props.children,b,O,K)})}class j{constructor(b,O){this.node=b,this.featureFlagsApi=O}selectByComponentData(b){const O=P(this.node,this.featureFlagsApi,K=>g(K,b.key)!==void 0,b.withStrictError);return new j(O,this.featureFlagsApi)}findComponentData(b){return P(this.node,this.featureFlagsApi,K=>g(K,b.key)!==void 0).map(K=>g(K,b.key)).filter(K=>K!==void 0)}getElements(){return P(this.node,this.featureFlagsApi)}}function x(I,b,O=[]){const K=(0,F.useApi)(F.featureFlagsApiRef),_=new j(I,K);return(0,s.useMemo)(()=>b(_),[I,...O])}},80274:function(){},36964:function(J,o,e){"use strict";e.d(o,{AnalyticsContext:function(){return r.f},useAnalytics:function(){return r.z},FeatureFlagState:function(){return t.FeatureFlagState},SessionState:function(){return t.SessionState},alertApiRef:function(){return t.alertApiRef},analyticsApiRef:function(){return t.analyticsApiRef},appThemeApiRef:function(){return t.appThemeApiRef},atlassianAuthApiRef:function(){return t.atlassianAuthApiRef},auth0AuthApiRef:function(){return t.auth0AuthApiRef},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},githubAuthApiRef:function(){return t.githubAuthApiRef},gitlabAuthApiRef:function(){return t.gitlabAuthApiRef},googleAuthApiRef:function(){return t.googleAuthApiRef},identityApiRef:function(){return t.identityApiRef},microsoftAuthApiRef:function(){return t.microsoftAuthApiRef},oauth2ApiRef:function(){return t.oauth2ApiRef},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oidcAuthApiRef:function(){return t.oidcAuthApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},samlAuthApiRef:function(){return t.samlAuthApiRef},storageApiRef:function(){return t.storageApiRef},useApp:function(){return l.q},attachComponentData:function(){return f.R5},createComponentExtension:function(){return f.CO},createRoutableExtension:function(){return f.P4},getComponentData:function(){return f.IY},useElementFilter:function(){return f.vJ},createPlugin:function(){return h.r},createExternalRouteRef:function(){return m.x8},createRouteRef:function(){return m.NT},useRouteRef:function(){return m.tg},useRouteRefParams:function(){return m.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(o,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}});var l=e(31311);e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createApiRef")&&e.d(o,{createApiRef:function(){return l.createApiRef}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"useApi")&&e.d(o,{useApi:function(){return l.useApi}}),e.o(l,"useApiHolder")&&e.d(o,{useApiHolder:function(){return l.useApiHolder}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var f=e(74181),g=e(80274),s=e.n(g);e.o(g,"createApiFactory")&&e.d(o,{createApiFactory:function(){return g.createApiFactory}}),e.o(g,"createApiRef")&&e.d(o,{createApiRef:function(){return g.createApiRef}}),e.o(g,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return g.createExternalRouteRef}}),e.o(g,"createPlugin")&&e.d(o,{createPlugin:function(){return g.createPlugin}}),e.o(g,"createRouteRef")&&e.d(o,{createRouteRef:function(){return g.createRouteRef}}),e.o(g,"useApi")&&e.d(o,{useApi:function(){return g.useApi}}),e.o(g,"useApiHolder")&&e.d(o,{useApiHolder:function(){return g.useApiHolder}}),e.o(g,"useRouteRef")&&e.d(o,{useRouteRef:function(){return g.useRouteRef}}),e.o(g,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return g.useRouteRefParams}});var h=e(96896),m=e(82772)},96896:function(J,o,e){"use strict";e.d(o,{r:function(){return t}});class r{constructor(f){this.config=f}getId(){return this.config.id}getApis(){var f;return(f=this.config.apis)!=null?f:[]}getFeatureFlags(){var f,g;return(g=(f=this.config.featureFlags)==null?void 0:f.slice())!=null?g:[]}get routes(){var f;return(f=this.config.routes)!=null?f:{}}get externalRoutes(){var f;return(f=this.config.externalRoutes)!=null?f:{}}provide(f){return f.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(l){return new r(l)}},82772:function(J,o,e){var F,P,j;"use strict";e.d(o,{x8:function(){return y},NT:function(){return f},tg:function(){return i},Oi:function(){return S}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class l{constructor(I,b){X(this,F,"absolute");this.id=I,this.params=b}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}F=t;function f(x){var I;return new l(x.id,(I=x.params)!=null?I:[])}const g=/^\w+$/;class s{constructor(I,b,O,K){X(this,P,"sub");this.id=I,this.path=b,this.parent=O,this.params=K}toString(){return`routeRef{type=sub,id=${this.id}}`}}P=t;function h(x){const{id:I,path:b,parent:O}=x,K=b.split("/").filter(pe=>pe.startsWith(":")).map(pe=>pe.substring(1)),_=[...O.params,...K];if(O.params.some(pe=>K.includes(pe)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!b.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${b}'`);if(b.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${b}'`);for(const pe of K)if(!g.test(pe))throw new Error(`SubRouteRef path has invalid param, got '${pe}'`);return new s(I,b,O,_)}class m{constructor(I,b,O){X(this,j,"external");this.id=I,this.params=b,this.optional=O}toString(){return`routeRef{type=external,id=${this.id}}`}}j=t;function y(x){var I;return new m(x.id,(I=x.params)!=null?I:[],Boolean(x.optional))}var c=e(2784),E=e(10289);function i(x){const I=(0,E.TH)(),b=(0,r.Vt)("routing-context");if(!b)throw new Error("Routing context is not available");const O=b.atVersion(1),K=(0,c.useMemo)(()=>O&&O.resolve(x,I),[O,x,I]);if(!b)throw new Error("useRouteRef used outside of routing context");if(!O)throw new Error("RoutingContext v1 not available");const _="optional"in x&&x.optional;if(!K&&!_)throw new Error(`No path for ${x}`);return K}function S(x){return(0,E.UO)()}},41333:function(J,o,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return Ve}});var t=e(2784),l=e(28316),f=e(10289),g=e(49208),s=e(36964),h=e(20221);const m=[(0,s.createApiFactory)({api:s.discoveryApiRef,deps:{configApi:s.configApiRef},factory:({configApi:v})=>g.UrlPatternDiscovery.compile(`${v.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,s.createApiFactory)({api:s.alertApiRef,deps:{},factory:()=>new g.AlertApiForwarder}),(0,s.createApiFactory)({api:s.analyticsApiRef,deps:{},factory:()=>new g.NoOpAnalyticsApi}),(0,s.createApiFactory)({api:s.errorApiRef,deps:{alertApi:s.alertApiRef},factory:({alertApi:v})=>{const M=new g.ErrorAlerter(v,new g.ErrorApiForwarder);return g.UnhandledErrorForwarder.forward(M,{hidden:!1}),M}}),(0,s.createApiFactory)({api:s.storageApiRef,deps:{errorApi:s.errorApiRef},factory:({errorApi:v})=>g.WebStorage.create({errorApi:v})}),(0,s.createApiFactory)({api:s.fetchApiRef,deps:{configApi:s.configApiRef,identityApi:s.identityApiRef,discoveryApi:s.discoveryApiRef},factory:({configApi:v,identityApi:M,discoveryApi:q})=>(0,g.createFetchApi)({middleware:[g.FetchMiddlewares.resolvePluginProtocol({discoveryApi:q}),g.FetchMiddlewares.injectIdentityAuth({identityApi:M,config:v})]})}),(0,s.createApiFactory)({api:s.oauthRequestApiRef,deps:{},factory:()=>new g.OAuthRequestManager}),(0,s.createApiFactory)({api:s.googleAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.GoogleAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.microsoftAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.MicrosoftAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.githubAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.GithubAuth.create({discoveryApi:v,oauthRequestApi:M,defaultScopes:["read:user"],environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oktaAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.OktaAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.gitlabAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.GitlabAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.auth0AuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.Auth0Auth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oauth2ApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.OAuth2.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.samlAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,configApi:M})=>g.SamlAuth.create({discoveryApi:v,environment:M.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oneloginAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.OneLoginAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oidcAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.OAuth2.create({discoveryApi:v,oauthRequestApi:M,provider:{id:"oidc",title:"Your Identity Provider",icon:()=>null},environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.bitbucketAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.BitbucketAuth.create({discoveryApi:v,oauthRequestApi:M,defaultScopes:["team"],environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.atlassianAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:v,oauthRequestApi:M,configApi:q})=>g.AtlassianAuth.create({discoveryApi:v,oauthRequestApi:M,environment:q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:h.RV,deps:{discovery:s.discoveryApiRef,identity:s.identityApiRef,config:s.configApiRef},factory:({config:v,discovery:M,identity:q})=>h.iM.create({config:v,discovery:M,identity:q})})];var y=e(77277),c=e(9118),E=e(62833);function i({children:v}){return(0,f.GV)()?t.createElement(t.Fragment,null,v):t.createElement(f.VA,null,v)}const S=()=>t.createElement(c.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),F=({step:v,error:M})=>{let q="";return v==="load-config"?q=`The configuration failed to load, someone should have a look at this error: ${M.message}`:v==="load-chunk"&&(q=`Lazy loaded chunk failed to load, try to reload the page: ${M.message}`),t.createElement(i,null,t.createElement(c.ErrorPage,{status:"501",statusMessage:q}))},P=({error:v,resetError:M,plugin:q})=>t.createElement(c.ErrorPanel,{title:`Error in ${q==null?void 0:q.getId()}`,defaultExpanded:!0,error:v},t.createElement(y.Z,{variant:"outlined",onClick:M},"Retry")),j={Progress:c.Progress,Router:E.VK,NotFoundErrorPage:S,BootErrorPage:F,ErrorBoundaryFallback:P};var x=e(43642),I=e(80079),b=e(90941),O=e(32915),K=e(40562),_=e(21853),ie=e(60744),pe=e(66569),Le=e(30254),me=e(13384),je=e(15933),Te=e(58838),Qe=e(86737),st=e(4989),_e=e(44407),gt=e(18628),nt=e(84219),at=e(98685),vt=e(39781);const wt={brokenImage:I.Z,catalog:gt.Z,scaffolder:O.Z,techdocs:K.Z,search:_.Z,chat:ie.Z,dashboard:pe.Z,docs:Le.Z,email:me.Z,github:Te.Z,group:nt.Z,help:Qe.Z,"kind:api":je.Z,"kind:component":_e.Z,"kind:domain":x.Z,"kind:group":nt.Z,"kind:location":st.Z,"kind:system":b.Z,"kind:user":at.Z,user:at.Z,warning:vt.Z};var Lt=e(73689),pt=e(48032);const rt={wave:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,wave2:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,round:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`},Ct={darkGrey:["#171717","#383838"],marineBlue:["#006D8F","#0049A1"],veryBlue:["#0027AF","#270094"],rubyRed:["#98002B","#8D1134"],toastyOrange:["#BE2200","#A41D00"],purpleSky:["#8912CA","#3E00EA"],eveningSea:["#00FFF2","#035355"],teal:["#005B4B"],pinkSea:["#C8077A","#C2297D"]};function Tt(v,M){const de=`linear-gradient(90deg, ${(v.length===1?[v[0],v[0]]:v).join(", ")})`,Me=`${M}, ${de}`;return{colors:v,shape:M,backgroundImage:Me}}const Ot={home:Tt(Ct.teal,rt.wave),documentation:Tt(Ct.pinkSea,rt.wave2),tool:Tt(Ct.purpleSky,rt.round),service:Tt(Ct.marineBlue,rt.wave),website:Tt(Ct.veryBlue,rt.wave),library:Tt(Ct.rubyRed,rt.wave),other:Tt(Ct.darkGrey,rt.wave),app:Tt(Ct.toastyOrange,rt.wave),apis:Tt(Ct.teal,rt.wave2)},Ft='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function mt(v){const{palette:M,fontFamily:q=Ft,defaultPageTheme:de,pageTheme:Me=Ot}=v;if(!Me[de])throw new Error(`${de} is not defined in pageTheme.`);return{palette:M,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:q,h5:{fontWeight:700},h4:{fontWeight:700,fontSize:28,marginBottom:6},h3:{fontSize:32,fontWeight:700,marginBottom:6},h2:{fontSize:40,fontWeight:700,marginBottom:8},h1:{fontSize:54,fontWeight:700,marginBottom:10}},page:Me[de],getPageTheme:({themeId:Xe})=>{var we;return(we=Me[Xe])!=null?we:Me[de]}}}function Pt(v){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:v.typography.fontFamily},body:{height:"100%",fontFamily:v.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:v.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:v.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:v.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:v.spacing(1.5,2,1.5,2.5)},head:{wordBreak:"break-word",overflow:"hidden",color:"rgb(179, 179, 179)",fontWeight:"normal",lineHeight:"1"}},MuiTabs:{root:{minHeight:24}},MuiTab:{root:{color:v.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,pt.darken)(v.palette.link,.3),background:(0,pt.lighten)(v.palette.link,.95)},[v.breakpoints.up("md")]:{minWidth:120,fontSize:v.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:v.palette.link}},MuiTableSortLabel:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"}},active:{fontWeight:"bold",color:"inherit"}},MuiListItemText:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},MuiButton:{text:{padding:void 0}},MuiChip:{root:{backgroundColor:"#D9D9D9",marginRight:v.spacing(1),marginBottom:v.spacing(1),color:v.palette.grey[900]},outlined:{color:v.palette.text.primary},label:{lineHeight:`${v.spacing(2.5)}px`,fontWeight:v.typography.fontWeightMedium,fontSize:`${v.spacing(1.75)}px`},labelSmall:{fontSize:`${v.spacing(1.5)}px`},deleteIcon:{color:v.palette.grey[500],width:`${v.spacing(3)}px`,height:`${v.spacing(3)}px`,margin:`0 ${v.spacing(.75)}px 0 -${v.spacing(.75)}px`},deleteIconSmall:{width:`${v.spacing(2)}px`,height:`${v.spacing(2)}px`,margin:`0 ${v.spacing(.5)}px 0 -${v.spacing(.5)}px`}},MuiCard:{root:{display:"flex",flexDirection:"column"}},MuiCardHeader:{root:{paddingBottom:0}},MuiCardContent:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}},MuiCardActions:{root:{justifyContent:"flex-end"}}}}function Bt(v){const M=mt(v),q=(0,Lt.Z)(M),de=Pt(q);return{...q,overrides:de}}var De=e(34505);const ot=Bt({palette:{type:"light",background:{default:"#F8F8F8"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#2E77D0",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#2E77D0"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#000000",textVerySubtle:"#DDD",textSubtle:"#6E6E6E",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#2196F3",link:"#0A6EBE",gold:De.Z.A700,navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:Ot}),it=Bt({palette:{type:"dark",background:{default:"#333333"},status:{ok:"#71CF88",warning:"#FFB84D",error:"#F84C55",running:"#3488E3",pending:"#FEF071",aborted:"#9E9E9E"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#9CC9FF",dark:"#82BAFD"},secondary:{main:"#FF88B2"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#FFFFFF",textVerySubtle:"#727272",textSubtle:"#CCCCCC",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#82BAFD",link:"#9CC9FF",gold:De.Z.A700,navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:Ot});var St=e(98192),re=e(15222),te=e(41547),C=e(87561);const T=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(re.Z,null),Provider:({children:v})=>t.createElement(te.Z,{theme:ot},t.createElement(C.ZP,null,v))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(St.Z,null),Provider:({children:v})=>t.createElement(te.Z,{theme:it},t.createElement(C.ZP,null,v))}];function B(v){var M,q,de;return(0,g.createSpecializedApp)({...v,apis:(M=v==null?void 0:v.apis)!=null?M:[],bindRoutes:v==null?void 0:v.bindRoutes,components:{...j,...v==null?void 0:v.components},configLoader:v==null?void 0:v.configLoader,defaultApis:m,icons:{...wt,...v==null?void 0:v.icons},plugins:(q=v==null?void 0:v.plugins)!=null?q:[],themes:(de=v==null?void 0:v.themes)!=null?de:T})}var H=e(39398),Y=e(49782),le=e(79692);const Ae=(0,le.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}}),ye=({result:v})=>{const M=Ae();return React.createElement(Link,{to:v.location},React.createElement(ListItem,{alignItems:"flex-start",className:M.flexContainer},React.createElement(ListItemText,{className:M.itemText,primaryTypographyProps:{variant:"h6"},primary:v.title,secondary:v.text}),React.createElement(Box,null,v.kind&&React.createElement(Chip,{label:`Kind: ${v.kind}`,size:"small"}),v.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${v.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))};var Fe=e(91730),Ie=e(17499),ve=e(52890),Ee=e(19139),be=e(95544),Rt=e(99688),ut=e(12231),Ke=e(86136),oe=e(49378),Be=e(85256),et=e(61837),Ne=e(79784),$e=e(50758),Ye=e(49166),V=e(43054);const A="catalog-entity",D={name:"catalog.entity.read",attributes:{action:"read"},resourceType:A},z={name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:A},ee={name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:A},Oe={name:"catalog.location.read",attributes:{action:"read"}},ge={name:"catalog.location.create",attributes:{action:"create"}},Re={name:"catalog.location.delete",attributes:{action:"delete"}},xe=(0,le.Z)({button:{color:"white"}}),Ze=({UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:M,onUnregisterEntity:q})=>{var $t;const[de,Me]=(0,t.useState)(),Xe=xe(),we=(0,Ee.useEntityPermission)(z),Je=At=>{Me(At.currentTarget)},dt=()=>{Me(void 0)},ft=v&&[...v.map(At=>t.createElement(ut.Z,{key:At.title,onClick:()=>{dt(),At.onClick()}},t.createElement(Ke.Z,null,t.createElement(At.Icon,{fontSize:"small"})),t.createElement(oe.Z,{primary:At.title}))),t.createElement(Be.Z,{key:"the divider is here!"})],Qt=($t=!we.allowed||(M==null?void 0:M.disableUnregister))!=null?$t:!1;return t.createElement(t.Fragment,null,t.createElement(et.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true",onClick:Je,"data-testid":"menu-button",className:Xe.button},t.createElement(V.Z,null)),t.createElement(Ne.ZP,{open:Boolean(de),onClose:dt,anchorEl:de,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},t.createElement($e.Z,null,ft,t.createElement(ut.Z,{onClick:()=>{dt(),q()},disabled:Qt},t.createElement(Ke.Z,null,t.createElement(Ye.Z,{fontSize:"small"})),t.createElement(oe.Z,{primary:"Unregister entity"})))))},Et="plugin.catalog.entityLayoutRoute",ne=()=>null;(0,s.attachComponentData)(ne,Et,!0),(0,s.attachComponentData)(ne,"core.gatherMountPoints",!0);const $=({entity:v,title:M})=>t.createElement(be.Z,{display:"inline-flex",alignItems:"center",height:"1em",maxWidth:"100%"},t.createElement(be.Z,{component:"span",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},M),v&&t.createElement(Ee.FavoriteEntity,{entity:v})),Q=(v,M,q,de)=>{var Je,dt,ft,Qt,$t;const Me=(Je=v!=null?v:de==null?void 0:de.kind)!=null?Je:"",Xe=(dt=M!=null?M:de==null?void 0:de.metadata.namespace)!=null?dt:"";return{headerTitle:`${($t=(Qt=(ft=de==null?void 0:de.metadata.title)!=null?ft:q)!=null?Qt:de==null?void 0:de.metadata.name)!=null?$t:""}${Xe&&Xe!==ve.sk?` in ${Xe}`:""}`,headerType:(()=>{let At=Me.toLocaleLowerCase("en-US");return de&&de.spec&&"type"in de.spec&&(At+=" \u2014 ",At+=de.spec.type.toLocaleLowerCase("en-US")),At})()}},he=({entity:v})=>{var q;const M=(0,Ee.getEntityRelations)(v,ve.S4);return t.createElement(t.Fragment,null,M.length>0&&t.createElement(c.HeaderLabel,{label:"Owner",value:t.createElement(Ee.EntityRefLinks,{entityRefs:M,defaultKind:"Group",color:"inherit"})}),((q=v.spec)==null?void 0:q.lifecycle)&&t.createElement(c.HeaderLabel,{label:"Lifecycle",value:v.spec.lifecycle}))},He=({UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:M,children:q})=>{var Hn,Vn,Zr;const{kind:de,namespace:Me,name:Xe}=(0,Ee.useEntityCompoundName)(),{entity:we,loading:Je,error:dt}=(0,t.useContext)(Ee.EntityContext),ft=(0,s.useElementFilter)(q,la=>la.selectByComponentData({key:Et,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:Nn})=>Nn.if&&we&&!Nn.if(we)?[]:[{path:Nn.path,title:Nn.title,children:Nn.children,tabProps:Nn.tabProps}]),[we]),{headerTitle:Qt,headerType:$t}=Q(de,Me,Xe,we),[At,En]=(0,t.useState)(!1),An=(0,f.s0)(),Dn=async()=>{En(!1),An("/")},qn=()=>En(!0);return t.createElement(c.Page,{themeId:(Zr=(Vn=(Hn=we==null?void 0:we.spec)==null?void 0:Hn.type)==null?void 0:Vn.toString())!=null?Zr:"home"},t.createElement(c.Header,{title:t.createElement($,{title:Qt,entity:we}),pageTitleOverride:Qt,type:$t},we&&t.createElement(t.Fragment,null,t.createElement(he,{entity:we}),t.createElement(Ze,{UNSTABLE_extraContextMenuItems:v,UNSTABLE_contextMenuOptions:M,onUnregisterEntity:qn}))),Je&&t.createElement(c.Progress,null),we&&t.createElement(c.RoutedTabs,{routes:ft}),dt&&t.createElement(c.Content,null,t.createElement(Rt.Z,{severity:"error"},dt.toString())),!Je&&!dt&&!we&&t.createElement(c.Content,null,t.createElement(c.WarningPanel,{title:"Entity not found"},"There is no ",de," with the requested"," ",t.createElement(c.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Ee.UnregisterEntityDialog,{open:At,entity:we,onConfirm:Dn,onClose:()=>En(!1)}))};He.Route=ne;var ze=e(10179);const lt=({open:v,onClose:M,onConfirm:q,entity:de})=>{const[Me,Xe]=useState(!1),we=useApi(catalogApiRef),Je=useApi(alertApiRef),dt=async()=>{Xe(!0);try{const ft=de.metadata.uid;await we.removeEntityByUid(ft),q()}catch(ft){assertError(ft),Je.post({message:ft.message})}finally{Xe(!1)}};return React.createElement(Dialog,{open:v,onClose:M},React.createElement(DialogTitle,{id:"responsive-dialog-title"},"Are you sure you want to delete this entity?"),React.createElement(DialogActions,null,React.createElement(Button,{variant:"contained",color:"secondary",disabled:Me,onClick:dt},"Delete"),React.createElement(Button,{onClick:M,color:"primary"},"Cancel")))},xt=v=>{var M,q;return((q=(M=v==null?void 0:v.metadata)==null?void 0:M.annotations)==null?void 0:q["backstage.io/orphan"])==="true"},en=()=>{const v=useNavigate(),M=useRouteRef(catalogRouteRef),[q,de]=useState(!1),{entity:Me}=useEntity(),Xe=async()=>{de(!1),v(M())};return React.createElement(React.Fragment,null,React.createElement(Alert,{severity:"warning",onClick:()=>de(!0)},"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."),React.createElement(DeleteEntityDialog,{open:q,entity:Me,onConfirm:Xe,onClose:()=>de(!1)}))};var on=e(30001);const $n=v=>v.error&&v.level==="error"&&v.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function hn(v,M){return{items:(await M.getEntityAncestors({entityRef:v})).items.map(Me=>{var Je,dt;return{errors:((dt=(Je=Me.entity.status)==null?void 0:Je.items)!=null?dt:[]).filter($n).map(ft=>ft.error).filter(ft=>Boolean(ft)),entity:Me.entity}}).filter(Me=>Me.errors.length>0)}}const On=async(v,M)=>{const q=M.apis.get(catalogApiRef);if(!q)throw new Error(`No implementation available for ${catalogApiRef}`);return(await hn(stringifyEntityRef(v),q)).items.length>0},yt=()=>{const{entity:v}=useEntity(),M=stringifyEntityRef(v),q=useApi(catalogApiRef),{loading:de,error:Me,value:Xe}=useAsync(async()=>hn(M,q),[M,q]);return Me?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Me})):de||!Xe?null:React.createElement(React.Fragment,null,Xe.items.map((we,Je)=>React.createElement(Box,{key:Je,mb:1},!compareEntityToRef(v,stringifyEntityRef(we.entity))&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:we.entity})),we.errors.map((dt,ft)=>React.createElement(ResponseErrorPanel,{key:ft,error:dt})))))};var Wt=e(18671);const un=(v,M,q=0)=>{if(!v)return q;const de=M.findIndex(Me=>Me.id===v.route.path);return~de?de:q},gn={Layout:({children:v})=>{var $t,At,En;const M=[],q=[],de=(0,f.UO)(),Me=(0,f.s0)();t.Children.forEach(v,An=>{if(!t.isValidElement(An))return;if(An.type!==gn.Content)throw new Error("This component only accepts Content elements as direct children. Check the code of the EntityPage.");const Dn=An.props.path;q.push({id:Dn,label:An.props.title}),M.push({path:Dn,element:An.props.element})}),((At=($t=M==null?void 0:M[0])==null?void 0:$t.path)!=null?At:"")!==""&&M.push({path:"/*",element:t.createElement(f.Fg,{to:M[0].path})});const[Xe]=(En=(0,f.fp)(M,`/${de["*"]}`))!=null?En:[],we=un(Xe,q),Je=q[we],dt=Je==null?void 0:Je.label,ft=An=>Me(q[An].id.replace(/\/\*$/,"").replace(/^\//,"")),Qt=(0,f.V$)(M);return Je?t.createElement(t.Fragment,null,t.createElement(c.HeaderTabs,{tabs:q,selectedIndex:we,onChange:ft}),t.createElement(c.Content,null,t.createElement(Wt.q,{title:dt}),Qt)):null},Content:v=>null},jt=({entity:v,title:M})=>t.createElement(be.Z,{display:"inline-flex",alignItems:"center",height:"1em"},M,v&&t.createElement(Ee.FavoriteEntity,{entity:v})),Zn=({entity:v})=>{var q;const M=(0,Ee.getEntityRelations)(v,ve.S4);return t.createElement(t.Fragment,null,M.length>0&&t.createElement(c.HeaderLabel,{label:"Owner",value:t.createElement(Ee.EntityRefLinks,{entityRefs:M,defaultKind:"Group",color:"inherit"})}),((q=v.spec)==null?void 0:q.lifecycle)&&t.createElement(c.HeaderLabel,{label:"Lifecycle",value:v.spec.lifecycle}))},nr=(v,M,q,de)=>({headerTitle:`${q}${M&&M!==ve.sk?` in ${M}`:""}`,headerType:(()=>{let Me=v.toLocaleLowerCase("en-US");return de&&de.spec&&"type"in de.spec&&(Me+=" \u2014 ",Me+=de.spec.type.toLocaleLowerCase("en-US")),Me})()}),rr=({children:v,UNSTABLE_extraContextMenuItems:M,UNSTABLE_contextMenuOptions:q})=>{var qn,Hn,Vn;const{kind:de,namespace:Me,name:Xe}=(0,Ee.useEntityCompoundName)(),{entity:we,loading:Je,error:dt}=(0,t.useContext)(Ee.EntityContext),{headerTitle:ft,headerType:Qt}=nr(de,Me,Xe,we),[$t,At]=(0,t.useState)(!1),En=(0,f.s0)(),An=async()=>{At(!1),En("/")},Dn=()=>At(!0);return t.createElement(c.Page,{themeId:(Vn=(Hn=(qn=we==null?void 0:we.spec)==null?void 0:qn.type)==null?void 0:Hn.toString())!=null?Vn:"home"},t.createElement(c.Header,{title:t.createElement(jt,{title:ft,entity:we}),pageTitleOverride:ft,type:Qt},we&&t.createElement(t.Fragment,null,t.createElement(Zn,{entity:we}),t.createElement(Ze,{UNSTABLE_extraContextMenuItems:M,UNSTABLE_contextMenuOptions:q,onUnregisterEntity:Dn}))),Je&&t.createElement(c.Content,null,t.createElement(c.Progress,null)),we&&t.createElement(gn.Layout,null,v),dt&&t.createElement(c.Content,null,t.createElement(c.ResponseErrorPanel,{error:dt})),!Je&&!dt&&!we&&t.createElement(c.Content,null,t.createElement(c.WarningPanel,{title:"Entity not found"},"There is no ",de," with the requested"," ",t.createElement(c.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Ee.UnregisterEntityDialog,{open:$t,entity:we,onConfirm:An,onClose:()=>At(!1)}))};rr.Content=gn.Content;var Cr=e(64279);const Fn="core.backstage.entitySwitch",Bn=v=>null;(0,s.attachComponentData)(Bn,Fn,!0);const ar=({children:v})=>{var Xe,we;const{entity:M}=(0,Ee.useEntity)(),q=(0,s.useApiHolder)(),de=(0,s.useElementFilter)(v,Je=>Je.selectByComponentData({key:Fn,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(dt=>{var $t;const{if:ft,children:Qt}=dt.props;return[{if:($t=ft==null?void 0:ft(M,{apis:q}))!=null?$t:!0,children:Qt}]}),[q,M]);return de.some(Je=>typeof Je.if=="object"&&"then"in Je.if)?t.createElement(or,{results:de}):(we=(Xe=de.find(Je=>Je.if))==null?void 0:Xe.children)!=null?we:null};function or({results:v}){const{loading:M,value:q}=(0,Cr.default)(async()=>{var Me;const de=v.map(async({if:Xe,children:we})=>{try{if(await Xe)return we}catch{}return null});return(Me=(await Promise.all(de)).find(Boolean))!=null?Me:null},[v]);return M||!q?null:q}ar.Case=Bn;var Jn=e(26997),Tr=e(7758),kr=e(219);const sr=(0,le.Z)(v=>({illo:{maxWidth:"60%",top:100,right:20,position:"absolute",[v.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",top:"unset",right:"unset",margin:`${v.spacing(10)}px auto ${v.spacing(4)}px`}}})),Pr=()=>{const v=sr();return React.createElement("img",{src:IlloSvgUrl,className:v.illo,alt:"Illustration on entity not found page"})},ir=(0,le.Z)(v=>({container:{paddingTop:v.spacing(24),paddingLeft:v.spacing(8),[v.breakpoints.down("xs")]:{padding:v.spacing(2)}},title:{paddingBottom:v.spacing(2),[v.breakpoints.down("xs")]:{fontSize:32}},body:{paddingBottom:v.spacing(6),[v.breakpoints.down("xs")]:{paddingBottom:v.spacing(5)}}})),lr=()=>{const v=ir();return React.createElement(Grid,{container:!0,spacing:0,className:v.container},React.createElement(Illo,null),React.createElement(Grid,{item:!0,xs:12,sm:6},React.createElement(Typography,{variant:"h2",className:v.title},"Entity was not found"),React.createElement(Typography,{variant:"body1",className:v.body},"Want to help us build this? Check out our Getting Started documentation."),React.createElement(Button,{variant:"contained",color:"primary",href:"https://backstage.io/docs"},"DOCS")))},cr=()=>React.createElement(EntityPageLayout,null,React.createElement(EntityPageLayout.Content,{path:"/",title:"Overview",element:React.createElement(Content,null,React.createElement(Typography,{variant:"h2"},"This is the default entity page."),React.createElement(Typography,{variant:"body1"},"To override this component with your custom implementation, read docs on"," ",React.createElement(Link,{to:"https://backstage.io/docs"},"backstage.io/docs")))})),Qn=({EntityPage:v})=>{const{entity:M,loading:q,error:de}=useEntity();return q?React.createElement(EntityPageLayout,null):de||!M?React.createElement(EntityNotFound,null):React.createElement(v,null)},Xn=()=>{var we;const{optionalNamespaceAndName:v,"*":M}=useParams(),[q,de]=v.split(":").reverse(),Me=(we=de==null?void 0:de.toLocaleLowerCase("en-US"))!=null?we:ENTITY_DEFAULT_NAMESPACE,Xe=M?`/${M}`:"";return React.createElement(Navigate,{to:`../../${Me}/component/${q}${Xe}`})},Mn=v=>React.createElement(AsyncEntityProvider,{...useEntityFromUrl(),...v}),Ir=({EntityPage:v=cr})=>React.createElement(Routes,null,React.createElement(Route,{path:"/",element:React.createElement(CatalogPage,null)}),React.createElement(Route,{path:"/:namespace/:kind/:name",element:React.createElement(Mn,null,React.createElement(Qn,{EntityPage:v}))}),React.createElement(Route,{path:"Component/:optionalNamespaceAndName/*",element:React.createElement(Xn,null)}));var pn=e(47851);const Ut=(0,s.createPlugin)({id:"catalog",apis:[(0,s.createApiFactory)({api:Ee.Ah,deps:{discoveryApi:s.discoveryApiRef,fetchApi:s.fetchApiRef},factory:({discoveryApi:v,fetchApi:M})=>new on.MS({discoveryApi:v,fetchApi:M})}),(0,s.createApiFactory)({api:Ee.starredEntitiesApiRef,deps:{storageApi:s.storageApiRef},factory:({storageApi:v})=>new Ee.DefaultStarredEntitiesApi({storageApi:v})})],routes:{catalogIndex:Ee.M4,catalogEntity:Ee.wi},externalRoutes:{createComponent:pn.y,viewTechDoc:pn.j}}),qr=Ut.provide((0,s.createRoutableExtension)({name:"CatalogIndexPage",component:()=>Promise.resolve().then(e.bind(e,7758)).then(v=>v.CatalogPage),mountPoint:Ee.M4})),ur=Ut.provide((0,s.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6650).then(e.bind(e,76650)).then(v=>v.CatalogEntityPage),mountPoint:Ee.wi})),_r=Ut.provide((0,s.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(v=>v.AboutCard)}})),Lr=Ut.provide((0,s.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(v=>v.EntityLinksCard)}})),Or=Ut.provide((0,s.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(v=>v.HasSystemsCard)}})),dr=Ut.provide((0,s.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(v=>v.HasComponentsCard)}})),xr=Ut.provide((0,s.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(v=>v.HasSubcomponentsCard)}})),Dr=Ut.provide((0,s.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(v=>v.HasResourcesCard)}})),br=Ut.provide((0,s.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(v=>v.DependsOnComponentsCard)}})),Fr=Ut.provide((0,s.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(v=>v.DependencyOfComponentsCard)}})),ea=Ut.provide((0,s.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(v=>v.DependsOnResourcesCard)}})),Br=Ut.provide((0,s.createComponentExtension)({name:"EntitySystemDiagramCard",component:{lazy:()=>e.e(4960).then(e.bind(e,14960)).then(v=>v.SystemDiagramCard)}})),Mr=Ut.provide((0,s.createComponentExtension)({name:"RelatedEntitiesCard",component:{lazy:()=>e.e(2426).then(e.bind(e,62426)).then(v=>v.RelatedEntitiesCard)}}));var wn=e(3337),fr=e(76372);class mr{constructor(M){X(this,"configApi");X(this,"discoveryApi");X(this,"fetchApi");this.configApi=M.configApi,this.discoveryApi=M.discoveryApi,this.fetchApi=M.fetchApi}async getApiOrigin(){var M;return(M=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?M:await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(M){const{kind:q,namespace:de,name:Me}=M,we=`${await this.getApiOrigin()}/metadata/techdocs/${de}/${q}/${Me}`,Je=await this.fetchApi.fetch(`${we}`);if(!Je.ok)throw await ze.VL.fromResponse(Je);return await Je.json()}async getEntityMetadata(M){const{kind:q,namespace:de,name:Me}=M,we=`${await this.getApiOrigin()}/metadata/entity/${de}/${q}/${Me}`,Je=await this.fetchApi.fetch(`${we}`);if(!Je.ok)throw await ze.VL.fromResponse(Je);return await Je.json()}}class hr{constructor(M){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");X(this,"fetchApi");this.configApi=M.configApi,this.discoveryApi=M.discoveryApi,this.identityApi=M.identityApi,this.fetchApi=M.fetchApi}async getApiOrigin(){var M;return(M=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?M:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var M;return(M=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?M:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(M,q){const{kind:de,namespace:Me,name:Xe}=M,Je=`${await this.getStorageUrl()}/${Me}/${de}/${Xe}/${q}`,dt=await this.fetchApi.fetch(`${Je.endsWith("/")?Je:`${Je}/`}index.html`);let ft="";switch(dt.status){case 404:throw ft="Page not found. ",q||(ft+="This could be because there is no index.md file in the root of the docs directory of this repository."),new ze.dR(ft);case 500:throw ft="Could not generate documentation or an error in the TechDocs backend. ",new Error(ft);default:break}return dt.text()}async syncEntityDocs(M,q=()=>{}){const{kind:de,namespace:Me,name:Xe}=M,Je=`${await this.getApiOrigin()}/sync/${Me}/${de}/${Xe}`,{token:dt}=await this.identityApi.getCredentials();return new Promise((ft,Qt)=>{const $t=new fr.EventSourcePolyfill(Je,{withCredentials:!0,headers:dt?{Authorization:`Bearer ${dt}`}:{}});$t.addEventListener("log",At=>{At.data&&q(JSON.parse(At.data))}),$t.addEventListener("finish",At=>{let En=!1;At.data&&({updated:En}=JSON.parse(At.data)),ft(En?"updated":"cached")}),$t.onerror=At=>{switch($t.close(),At.status){case 404:Qt(new ze.dR(At.message));return;default:Qt(new Error(At.data));return}}})}async getBaseUrl(M,q,de){const{kind:Me,namespace:Xe,name:we}=q,dt=`${await this.getApiOrigin()}/static/docs/${Xe}/${Me}/${we}/${de}`;return new URL(M,dt.endsWith("/")?dt:`${dt}/`).toString()}}var Nr=e(71226),gr=e(95074),pr=e(76635),yr=e(83201),kn=e(50294),Er=e(67430);const w=({columns:v,actions:M})=>{var $t,At;const{loading:q,error:de,entities:Me,filters:Xe}=(0,Ee.useEntityListProvider)(),{isStarredEntity:we,toggleStarredEntity:Je}=(0,Ee.useStarredEntities)(),[,dt]=(0,gr.Z)(),ft=(0,pr.capitalize)((At=($t=Xe.user)==null?void 0:$t.value)!=null?At:"all"),Qt=[kn.createCopyDocsUrlAction(dt),kn.createStarEntityAction(we,Je)];return de?t.createElement(c.WarningPanel,{severity:"error",title:"Could not load available documentation."},t.createElement(c.CodeSnippet,{language:"text",text:de.toString()})):t.createElement(yr.DocsTable,{title:ft,entities:Me,loading:q,actions:M||Qt,columns:v})};w.columns=Er,w.actions=kn;var N=e(1114);class Z{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":Ee.n3}}}const k=()=>{const{updateFilters:v}=(0,Ee.useEntityListProvider)();return(0,t.useEffect)(()=>{v({techdocs:new Z})},[v]),null},ue=({initialFilter:v="all",columns:M,actions:q})=>t.createElement(N.j,null,t.createElement(c.Content,null,t.createElement(c.ContentHeader,{title:""},t.createElement(c.SupportButton,null,"Discover documentation in your ecosystem.")),t.createElement(Ee.EntityListProvider,null,t.createElement(Jn.q7,null,t.createElement(Jn.Gh,null,t.createElement(k,null),t.createElement(Ee.UserListPicker,{initialFilter:v}),t.createElement(Ee.EntityOwnerPicker,null),t.createElement(Ee.EntityTagPicker,null)),t.createElement(Jn.Nz,null,t.createElement(w,{actions:q,columns:M}))))));var se=e(10187);const fe=()=>{const{loading:v,error:M,entities:q}=useEntityListProvider();return M?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:M.toString()})):v||!q?React.createElement(Progress,null):(q.sort((de,Me)=>{var Xe,we;return((Xe=de.metadata.title)!=null?Xe:de.metadata.name).localeCompare((we=Me.metadata.title)!=null?we:Me.metadata.name)}),React.createElement(DocsCardGrid,{entities:q}))};var Ue=e(68725);const Ve=(0,s.createPlugin)({id:"techdocs",apis:[(0,s.createApiFactory)({api:wn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef,fetchApi:s.fetchApiRef},factory:({configApi:v,discoveryApi:M,identityApi:q,fetchApi:de})=>new hr({configApi:v,discoveryApi:M,identityApi:q,fetchApi:de})}),(0,s.createApiFactory)({api:wn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,fetchApi:s.fetchApiRef},factory:({configApi:v,discoveryApi:M,fetchApi:q})=>new mr({configApi:v,discoveryApi:M,fetchApi:q})})],routes:{root:Ue._Z,docRoot:Ue.Fw,entityContent:Ue.pd}}),tt=Ve.provide((0,s.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(v=>v.Router),mountPoint:Ue._Z})),ct=Ve.provide((0,s.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(v=>v.EmbeddedDocsRouter),mountPoint:Ue.pd})),We=Ve.provide((0,s.createComponentExtension)({name:"DocsCardGrid",component:{lazy:()=>Promise.resolve().then(e.bind(e,10187)).then(v=>v.DocsCardGrid)}})),Ge=Ve.provide((0,s.createComponentExtension)({name:"DocsTable",component:{lazy:()=>Promise.resolve().then(e.bind(e,83201)).then(v=>v.DocsTable)}})),It=Ve.provide((0,s.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>Promise.resolve().then(e.bind(e,57110)).then(v=>v.TechDocsCustomHome),mountPoint:Ue._Z})),Dt=Ve.provide((0,s.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,41481)).then(v=>v.TechDocsIndexPage),mountPoint:Ue._Z})),Mt=Ve.provide((0,s.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,31752)).then(v=>v.TechDocsPage),mountPoint:Ue.Fw}));var Gt=e(73873),tn=e(94067),Yt=e(36356);class yn{constructor({configApi:M,discoveryApi:q,identityApi:de}){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");this.configApi=M,this.discoveryApi=q,this.identityApi=de}async getApiOrigin(){var M;return(M=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?M:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var M;return(M=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?M:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(M,q){const Me=`${await this.getApiOrigin()}/${q}`,Xe=await fetch(`${Me.endsWith("/")?Me:`${Me}/`}index.html`);if(Xe.status===404)throw new Error("Page not found");return Xe.text()}async syncEntityDocs(M){return"cached"}async getBaseUrl(M,q,de){const Me=await this.getApiOrigin();return new URL(M,`${Me}/${de}`).toString()}}class Zt{constructor({configApi:M,discoveryApi:q,identityApi:de}){X(this,"configApi");X(this,"discoveryApi");X(this,"identityApi");this.configApi=M,this.discoveryApi=q,this.identityApi=de}async getApiOrigin(){var M;return(M=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?M:await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(M){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(M){return{site_name:"Live preview environment",site_description:""}}}const Cn=[(0,s.createApiFactory)({api:wn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:M,identityApi:q})=>new yn({configApi:v,discoveryApi:M,identityApi:q})}),(0,s.createApiFactory)({api:wn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:v,discoveryApi:M,identityApi:q})=>new Zt({configApi:v,discoveryApi:M,identityApi:q})}),(0,s.createApiFactory)({api:Yt.q3,deps:{configApi:s.configApiRef},factory:({configApi:v})=>Yt.ae.fromConfig(v)})];var xn=e(86689),zt=e(58845);const Jt=(0,le.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var zn=()=>{const v=Jt();return t.createElement("svg",{className:v.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:v.path,d:"M302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Zm241-88.84q7.94,0,17.09.17t18.12,1a139.3,139.3,0,0,1,16.74,2.57,42.78,42.78,0,0,1,13.3,5.14,64.27,64.27,0,0,1,20.54,19.89Q662,168,662,186.54q0,19.54-9.49,33.78t-27.1,21.09v.68q22.78,4.82,34.87,20.58t12.08,38.4a72.62,72.62,0,0,1-4.83,26.06,65.29,65.29,0,0,1-14.33,22.46,71.57,71.57,0,0,1-23.47,15.78q-14,6-32.28,6H478.38V126.54Zm9,105.27q28,0,40.21-9.78t12.26-29.31q0-13-4.14-20.58a29.47,29.47,0,0,0-11.4-11.66A45,45,0,0,0,597,155.17a161.2,161.2,0,0,0-20.19-1.2h-65.6v77.84Zm16.57,112.13q21.74,0,34-11.66T639.59,300q0-12-4.48-19.88a34.85,34.85,0,0,0-11.91-12.52,50.14,50.14,0,0,0-17.09-6.52,105,105,0,0,0-20-1.88H511.17v84.7Zm274.79,26.74q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58A41.19,41.19,0,0,1,705,348.56q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.08-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7T736.6,249.29H707.26q.69-16.46,6.9-27.77a52.21,52.21,0,0,1,16.57-18.35,70,70,0,0,1,23.65-10.11A125.51,125.51,0,0,1,782.86,190a168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7A41.23,41.23,0,0,1,844,213.59q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-18,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.5,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14ZM1002.07,225q-11.05-9.25-29.69-9.26-15.89,0-26.58,5.83A47.29,47.29,0,0,0,928.71,237a64.66,64.66,0,0,0-9.15,22.12A119.83,119.83,0,0,0,916.8,285a98.22,98.22,0,0,0,2.93,24,64.18,64.18,0,0,0,9.15,20.74,46.2,46.2,0,0,0,16.23,14.58q10,5.49,23.82,5.48,21.75,0,34-11.31t15-31.89h30q-4.83,32.91-24.68,50.75t-54,17.83q-20.37,0-36.07-6.52A69.86,69.86,0,0,1,907,350.11a79.92,79.92,0,0,1-15.88-28.63A118.64,118.64,0,0,1,885.73,285a129.41,129.41,0,0,1,5.18-37.21,85.63,85.63,0,0,1,15.71-30.17A73.46,73.46,0,0,1,933,197.35Q948.91,190,970,190a108.54,108.54,0,0,1,28.48,3.6,69.59,69.59,0,0,1,23.48,11.15,61,61,0,0,1,16.74,19q6.55,11.49,8.29,27.26h-30.38Q1013.11,234.21,1002.07,225Zm109.77-98.41v145l81.47-77.49h39.36l-70.77,64.46,75.95,112.82h-37.29l-61.1-92.59-27.62,25.38v67.21H1082.5V126.54Zm170.54,205.22a31.07,31.07,0,0,0,10.87,10.63,49,49,0,0,0,15.19,5.66,87.06,87.06,0,0,0,17.44,1.71,109.18,109.18,0,0,0,14.5-1,53.22,53.22,0,0,0,14-3.78,26.27,26.27,0,0,0,10.53-8q4.14-5.32,4.14-13.55,0-11.31-8.63-17.14a73.69,73.69,0,0,0-21.58-9.43q-12.94-3.6-28.13-6.52a146,146,0,0,1-28.14-8.23A58.16,58.16,0,0,1,1261,267.13q-8.64-9.6-8.63-26.75,0-13.38,6-23a49.26,49.26,0,0,1,15.53-15.61,71.76,71.76,0,0,1,21.4-8.91A99.41,99.41,0,0,1,1319,190a141.31,141.31,0,0,1,28,2.58,64.85,64.85,0,0,1,22.62,8.91,46.16,46.16,0,0,1,15.7,17.15q5.87,10.8,6.91,26.91h-29.35q-.69-8.57-4.48-14.23a29.36,29.36,0,0,0-9.67-9.08,44.16,44.16,0,0,0-12.94-5,67.68,67.68,0,0,0-14.33-1.54,87.29,87.29,0,0,0-13.29,1,45.28,45.28,0,0,0-12.26,3.6,24.49,24.49,0,0,0-9,6.86q-3.46,4.29-3.46,11.14a16.32,16.32,0,0,0,5.36,12.52,42.75,42.75,0,0,0,13.63,8.23,120,120,0,0,0,18.64,5.48q10.37,2.24,20.72,4.63,11,2.4,21.57,5.83A70.74,70.74,0,0,1,1382,284.1a44.55,44.55,0,0,1,13.12,14.23q5,8.58,5,21.26,0,16.13-6.73,26.75a52.5,52.5,0,0,1-17.61,17.14,73.89,73.89,0,0,1-24.51,9.09,146.3,146.3,0,0,1-27.1,2.57,126.24,126.24,0,0,1-28.31-3.09A69.56,69.56,0,0,1,1272,361.94a51.74,51.74,0,0,1-16.57-18.52q-6.21-11.49-6.9-27.95h29.34A32.65,32.65,0,0,0,1282.38,331.76Zm226.46-137.67v25.72h-35.56V329.88a31.37,31.37,0,0,0,.87,8.23,8.42,8.42,0,0,0,3.28,4.8,14.61,14.61,0,0,0,6.73,2.23,99.19,99.19,0,0,0,11.22.51h13.46v25.72H1486.4a105.8,105.8,0,0,1-19.5-1.55,28.65,28.65,0,0,1-13.12-5.65,24.09,24.09,0,0,1-7.42-11.66q-2.43-7.54-2.42-19.89V219.81h-30.38V194.09h30.38V140.94h29.34v53.15ZM1699.4,370.68q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58,41.19,41.19,0,0,1-12.6-15.26q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.07-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7t-13.46,26.57h-29.34q.67-16.46,6.9-27.77A52.21,52.21,0,0,1,1562,203.17a70,70,0,0,1,23.65-10.11,125.51,125.51,0,0,1,28.48-3.09,168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7,41.23,41.23,0,0,1,15.53,14.89q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-17.95,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.51,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14Zm208.85,141.62q-20,21.6-62.83,21.6a122.11,122.11,0,0,1-25.37-2.74,78,78,0,0,1-23.48-8.92,54.41,54.41,0,0,1-17.43-16.11q-6.91-10-7.6-24.35h29.35a21.47,21.47,0,0,0,5,13.38,36.67,36.67,0,0,0,11.4,8.91,55.52,55.52,0,0,0,14.67,5,79.51,79.51,0,0,0,15.19,1.55q14.49,0,24.51-5A46,46,0,0,0,1840.59,401a56.53,56.53,0,0,0,9.49-21.09,117.46,117.46,0,0,0,2.94-27.09V341.19h-.7q-7.59,16.46-23,24.18a71.8,71.8,0,0,1-32.63,7.71q-20,0-34.86-7.2A72.88,72.88,0,0,1,1737,346.51a82.13,82.13,0,0,1-15-28.46,116.62,116.62,0,0,1-5-34.47,133.92,133.92,0,0,1,4.14-32.4A88.17,88.17,0,0,1,1735,221a75.49,75.49,0,0,1,25.55-22.29q15.87-8.75,39-8.75a66.21,66.21,0,0,1,31.07,7.38,52.13,52.13,0,0,1,22.09,22.11h.35V194.09h27.61V356.28Q1880.63,399.83,1860.61,421.43Zm-37.46-79.72a47.94,47.94,0,0,0,16.4-15.78,71.89,71.89,0,0,0,9.15-22.11,106.77,106.77,0,0,0,2.93-24.69,96.71,96.71,0,0,0-2.76-23,64,64,0,0,0-8.8-20.4,45.76,45.76,0,0,0-15.71-14.57q-9.66-5.49-23.47-5.49-14.16,0-24.17,5.32a46.77,46.77,0,0,0-16.4,14.23,60.14,60.14,0,0,0-9.32,20.57,99.69,99.69,0,0,0-2.93,24.35,120.63,120.63,0,0,0,2.42,24,67.5,67.5,0,0,0,8.28,21.77,46.37,46.37,0,0,0,15.54,15.78q9.66,6,24.16,6T1823.15,341.71Zm228,18.34q-20,15.09-50.41,15.09-21.4,0-37.11-6.86a73.16,73.16,0,0,1-26.41-19.2,81.52,81.52,0,0,1-16-29.49,141.12,141.12,0,0,1-6-37.38,106.1,106.1,0,0,1,6.21-37A88.56,88.56,0,0,1,1938.8,216a79.09,79.09,0,0,1,26.58-19.2A81.66,81.66,0,0,1,1999,190q23.82,0,39.53,9.78a78,78,0,0,1,25.2,24.86,98.18,98.18,0,0,1,13.12,32.91,140.6,140.6,0,0,1,2.93,34h-133.6a70,70,0,0,0,2.76,22.12,49.9,49.9,0,0,0,10,18.51A49.1,49.1,0,0,0,1976.6,345q10.7,4.82,25.2,4.8,18.65,0,30.55-8.57t15.71-26.06h29Q2071.18,345,2051.17,360.05Zm-7.08-113.84a50,50,0,0,0-10.7-16,53.1,53.1,0,0,0-56.62-10.63,47.48,47.48,0,0,0-15.71,10.81,51.69,51.69,0,0,0-10.35,15.94,60.18,60.18,0,0,0-4.49,19.37h102.53A59.47,59.47,0,0,0,2044.09,246.21ZM302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Z"}))};const ta=(0,le.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var ra=()=>{const v=ta();return t.createElement("svg",{className:v.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:v.path,d:"M303,166.05a80.69,80.69,0,0,0,13.45-10.37c.79-.77,1.55-1.53,2.3-2.3a83.12,83.12,0,0,0,7.93-9.38A63.69,63.69,0,0,0,333,133.23a48.58,48.58,0,0,0,4.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56,0,78.3,115.23,0,190.25l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.22,49.22,0,0,0-6.8-8.87A89.17,89.17,0,0,0,259,178.29h.15a85.08,85.08,0,0,0,31-5.79A80.88,80.88,0,0,0,303,166.05ZM202.45,225.86c-19.32,18.51-50.4,21.23-75.7,5.9L51.61,186.15l67.45-64.64,76.41,46.38C223,184.58,221.49,207.61,202.45,225.86Zm8.93-82.22-70.65-42.89L205.14,39,274.51,81.1c25.94,15.72,29.31,37,10.55,55A60.69,60.69,0,0,1,211.38,143.64Zm29.86,190c-19.57,18.75-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,282.52v24.67L108.6,373.1a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.27,87.27,0,0,1,241.24,333.68Zm0-39c-19.57,18.75-46.17,29.08-74.88,29.08a123.81,123.81,0,0,1-64.1-18.19L0,243.53v24.68l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.5v-1.78A87.27,87.27,0,0,1,241.24,294.7Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.81,123.81,0,0,1-64.1-18.19L0,204.55v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.82A86.09,86.09,0,0,1,241.24,255.71Zm83.7,25.74a94.15,94.15,0,0,1-60.2,25.86h0V334a81.6,81.6,0,0,0,51.74-22.37c14-13.38,21.14-28.11,21-42.64v-2.19A94.92,94.92,0,0,1,324.94,281.45Zm-83.7,91.21c-19.57,18.76-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,321.5v24.68l108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A86.29,86.29,0,0,1,241.24,372.66ZM327,162.45c-.68.69-1.35,1.38-2.05,2.06a94.37,94.37,0,0,1-10.64,8.65,91.35,91.35,0,0,1-11.6,7,94.53,94.53,0,0,1-26.24,8.71,97.69,97.69,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a53.27,53.27,0,0,1,1.14,12V217h.05a84.41,84.41,0,0,0,25.35-5.55,81,81,0,0,0,26.39-16.82c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,172.17a48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08,1.54-2.25,3.09A96.73,96.73,0,0,1,327,162.45Zm0,77.92c-.69.7-1.31,1.41-2,2.1a94.2,94.2,0,0,1-60.2,25.86h0l0,26.67h0a81.6,81.6,0,0,0,51.74-22.37A73.51,73.51,0,0,0,333,250.13a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74,1.07-1.46,2.15-2.27,3.21A95.68,95.68,0,0,1,327,240.37Zm0-39c-.69.7-1.31,1.41-2,2.1a93.18,93.18,0,0,1-10.63,8.65,91.63,91.63,0,0,1-11.63,7,95.47,95.47,0,0,1-37.94,10.18h0V256h0a81.65,81.65,0,0,0,51.74-22.37c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,211.15a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.46,2.16-2.27,3.22A95.68,95.68,0,0,1,327,201.39Z"}))};const Sa=(0,le.Z)({root:{width:c.sidebarConfig.drawerWidthClosed,height:3*c.sidebarConfig.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:c.sidebarConfig.drawerWidthClosed,marginLeft:24}}),aa=()=>{const v=Sa(),{isOpen:M}=(0,t.useContext)(c.SidebarContext);return t.createElement("div",{className:v.root},t.createElement(xn.Z,{component:E.OL,to:"/docs/default/component/local/",underline:"none",className:v.link},M?t.createElement(zn,null):t.createElement(ra,null)))},oa=({children:v})=>t.createElement(c.SidebarPage,null,t.createElement(c.Sidebar,null,t.createElement(aa,null),t.createElement(c.SidebarDivider,null),t.createElement(c.SidebarItem,{icon:zt.Z,to:"docs/default/component/local/",text:"Docs Preview"})),v),Ca=()=>{const v={site_name:"Live preview environment",site_description:""};return t.createElement(Gt.EV,null,({entityRef:M,onReady:q})=>t.createElement(t.Fragment,null,t.createElement(Gt.nN,{techDocsMetadata:v,entityRef:M}),t.createElement(c.Content,{"data-testid":"techdocs-content"},t.createElement(Gt.Ej,{onReady:q,entityRef:M,withSearch:!1}))))},sa=t.createElement(Ca,null),Ur=B({apis:Cn,plugins:Object.values(r)}),ia=Ur.getProvider(),$r=Ur.getRouter(),Ar=t.createElement(g.FlatRoutes,null,t.createElement(f.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(f.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(ur,null)}),t.createElement(f.AW,{path:"/docs",element:t.createElement(Dt,null)},t.createElement(ue,null)),t.createElement(f.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(Mt,null)},sa));var Pa=()=>t.createElement(ia,null,t.createElement($r,null,t.createElement(oa,null,Ar)));l.render(t.createElement(Pa,null),document.getElementById("root"))},10179:function(J,o,e){"use strict";e.d(o,{SP:function(){return F},dR:function(){return E},VL:function(){return j},BD:function(){return t}});function r(x){if(typeof x!="object"||x===null||Array.isArray(x))return!1;const I=x;return!(typeof I.name!="string"||I.name===""||typeof I.message!="string")}function t(x){if(typeof x!="object"||x===null||Array.isArray(x))throw new Error(`Encountered invalid error, not an object, got '${x}'`);const I=x;if(typeof I.name!="string"||I.name==="")throw new Error(`Encountered error object without a name, got '${x}'`);if(typeof I.message!="string")throw new Error(`Encountered error object without a message, got '${x}'`)}var l=e(24852);function f(x,I){const b=serializeErrorInternal(x),O={name:"Unknown",message:"<no reason given>",...b};return(I==null?void 0:I.includeStack)||delete O.stack,O}function g(x){const I=(0,l.deserializeError)(x);return x.stack||(I.stack=void 0),I}function s(x){if(r(x)){const I=String(x);return I!=="[object Object]"?I:`${x.name}: ${x.message}`}return`unknown error '${x}'`}class h extends Error{constructor(I,b){var K;let O=I;if(b!==void 0){const _=s(b);O?O+=`; caused by ${_}`:O=`caused by ${_}`}super(O);X(this,"cause");(K=Error.captureStackTrace)==null||K.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(b)?b:void 0}}class m extends null{}class y extends null{}class c extends null{}class E extends h{}class i extends null{}class S extends null{}class F extends h{constructor(I,b){super(I,b);this.name=r(b)?b.name:"Error"}}async function P(x){var I;try{const b=await x.text();if(b){if((I=x.headers.get("content-type"))==null?void 0:I.startsWith("application/json"))try{const O=JSON.parse(b);if(O.error&&O.response)return O}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}, ${b}`},response:{statusCode:x.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${x.status} ${x.statusText}`},response:{statusCode:x.status}}}class j extends Error{constructor(I){super(I.message);X(this,"response");X(this,"body");X(this,"cause");this.name="ResponseError",this.response=I.response,this.body=I.data,this.cause=I.cause}static async fromResponse(I){const b=await P(I),O=b.response.statusCode||I.status,K=b.error.name||I.statusText,_=`Request failed with ${O} ${K}`,ie=g(b.error);return new j({message:_,response:I,data:b,cause:ie})}}},36356:function(J,o,e){var E,i,S,F;"use strict";e.d(o,{nW:function(){return c},ae:function(){return s},q3:function(){return h}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class l{constructor(x){Sn(this,E,void 0);Ln(this,E,x)}async getCredentials(x){const I=new URL(x.url),b=qe(this,E).find(O=>O.isUrlSupported(I));if(!b)throw new Error(`No authentication provider available for access to '${x.url}'`);return b.getCredentials(x)}}E=new WeakMap;const P=class{constructor(x,I,b){Sn(this,i,void 0);Sn(this,S,void 0);Sn(this,F,void 0);Ln(this,i,x),Ln(this,S,I),Ln(this,F,b)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef},factory:({github:x,gitlab:I,azure:b})=>P.merge(P.forGithub(x),P.forGitlab(I),P.forAzure(b))})}static forAuthApi(x,I){return new P(x,I.host,I.scopeMapping)}static forGithub(x,I){var O;const b=(O=I==null?void 0:I.host)!=null?O:"github.com";return new P(x,b,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(x,I){var O;const b=(O=I==null?void 0:I.host)!=null?O:"gitlab.com";return new P(x,b,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(x,I){var O;const b=(O=I==null?void 0:I.host)!=null?O:"dev.azure.com";return new P(x,b,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(x,I){var O;const b=(O=I==null?void 0:I.host)!=null?O:"bitbucket.org";return new P(x,b,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...x){return new l(x)}isUrlSupported(x){return x.host===qe(this,S)}async getCredentials(x){const{url:I,additionalScope:b,...O}=x,K=qe(this,F).default.slice();(b==null?void 0:b.repoWrite)&&K.push(...qe(this,F).repoWrite);const _=await qe(this,i).getAccessToken(K,O);return{token:_,headers:{Authorization:`Bearer ${_}`}}}};let f=P;i=new WeakMap,S=new WeakMap,F=new WeakMap;var g=e(63925);class s{static fromConfig(x){return g.Lx.fromConfig(x)}}const h=(0,r.createApiRef)({id:"integration.scmintegrations"});var m=e(73250),y=e(2784);const c=j=>{var K;const{type:x}=j,I=(0,r.useApp)(),b=m.Z,O=x&&(K=I.getSystemIcon(x))!=null?K:b;return y.createElement(O,null)}},63925:function(J,o,e){var Ie,ve,Ee,be,Rt,ut,Ke;"use strict";e.d(o,{Lx:function(){return Fe},Pb:function(){return Pt}});var r=e(82717),t=e.n(r),l=e(76635);function f(V){const A=new URL("http://example.com");return A.host=V,A.host===V}function g(V){try{return new URL(V),!0}catch{return!1}}function s(V,A){return{list(){return V},byUrl(D){try{const z=typeof D=="string"?new URL(D):D;return V.find(ee=>A(ee)===z.host)}catch{return}},byHost(D){return V.find(z=>A(z)===D)}}}function h(V){const{url:A,base:D,lineNumber:z}=V;try{return new URL(A),A}catch{}let ee;if(A.startsWith("/")){const{filepath:Oe}=t()(D);ee=new URL(D);const ge=(0,l.trimEnd)(ee.pathname.substring(0,ee.pathname.length-Oe.length),"/");ee.pathname=`${ge}${A}`}else ee=new URL(A,D);return ee.search=new URL(D).search,z&&(ee.hash=`L${z}`),ee.toString()}const m="GB",oe=class{constructor(A,D,z,ee,Oe,ge){Sn(this,Ie,void 0);Sn(this,ve,void 0);Sn(this,Ee,void 0);Sn(this,be,void 0);Sn(this,Rt,void 0);Sn(this,ut,void 0);Sn(this,Ke,(...A)=>{const D=new URL(qe(this,Ie));return D.pathname=A.map(z=>encodeURIComponent(z)).join("/"),D});Ln(this,Ie,A),Ln(this,ve,D),Ln(this,Ee,z),Ln(this,be,ee),Ln(this,Rt,Oe),Ln(this,ut,ge)}static fromRepoUrl(A){var Et;const D=new URL(A);let z,ee,Oe;const ge=D.pathname.split("/").map(ne=>decodeURIComponent(ne));if(ge[2]==="_git"?(z=ge[1],ee=Oe=ge[3]):ge[3]==="_git"&&(z=ge[1],ee=ge[2],Oe=ge[4]),!z||!ee||!Oe)throw new Error("Azure URL must point to a git repository");const Re=(Et=D.searchParams.get("path"))!=null?Et:void 0;let xe;const Ze=D.searchParams.get("version");if(Ze){if(Ze.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");xe=Ze.slice(2)}return new oe(D.origin,z,ee,Oe,Re,xe)}toRepoUrl(){let A;return qe(this,Ee)===qe(this,be)?A=qe(this,Ke).call(this,qe(this,ve),"_git",qe(this,be)):A=qe(this,Ke).call(this,qe(this,ve),qe(this,Ee),"_git",qe(this,be)),qe(this,Rt)&&A.searchParams.set("path",qe(this,Rt)),qe(this,ut)&&A.searchParams.set("version",m+qe(this,ut)),A.toString()}toFileUrl(){if(!qe(this,Rt))throw new Error("Azure URL must point to a specific path to be able to download a file");const A=qe(this,Ke).call(this,qe(this,ve),qe(this,Ee),"_apis","git","repositories",qe(this,be),"items");return A.searchParams.set("api-version","6.0"),A.searchParams.set("path",qe(this,Rt)),qe(this,ut)&&A.searchParams.set("version",qe(this,ut)),A.toString()}toArchiveUrl(){const A=qe(this,Ke).call(this,qe(this,ve),qe(this,Ee),"_apis","git","repositories",qe(this,be),"items");return A.searchParams.set("recursionLevel","full"),A.searchParams.set("download","true"),A.searchParams.set("api-version","6.0"),qe(this,Rt)&&A.searchParams.set("scopePath",qe(this,Rt)),qe(this,ut)&&A.searchParams.set("version",qe(this,ut)),A.toString()}toCommitsUrl(){const A=qe(this,Ke).call(this,qe(this,ve),qe(this,Ee),"_apis","git","repositories",qe(this,be),"commits");return A.searchParams.set("api-version","6.0"),qe(this,ut)&&A.searchParams.set("searchCriteria.itemVersion.version",qe(this,ut)),A.toString()}getOwner(){return qe(this,ve)}getProject(){return qe(this,Ee)}getRepo(){return qe(this,be)}getPath(){return qe(this,Rt)}getRef(){return qe(this,ut)}};let y=oe;Ie=new WeakMap,ve=new WeakMap,Ee=new WeakMap,be=new WeakMap,Rt=new WeakMap,ut=new WeakMap,Ke=new WeakMap;const c="dev.azure.com";function E(V){var z;const A=(z=V.getOptionalString("host"))!=null?z:c,D=V.getOptionalString("token");if(!f(A))throw new Error(`Invalid Azure integration config, '${A}' is not a valid host`);return{host:A,token:D}}function i(V){const A=V.map(E);return A.some(D=>D.host===c)||A.push({host:c}),A}const Be=class{constructor(A){this.integrationConfig=A}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){var ee;const{url:D,base:z}=A;if(g(D))return D;try{const Oe=y.fromRepoUrl(z),ge=new URL(z),Re=new URL(`https://a.com${(ee=Oe.getPath())!=null?ee:""}`),xe=new URL(D,Re).pathname;return ge.searchParams.set("path",xe),A.lineNumber&&(ge.searchParams.set("line",String(A.lineNumber)),ge.searchParams.set("lineEnd",String(A.lineNumber+1)),ge.searchParams.set("lineStartColumn","1"),ge.searchParams.set("lineEndColumn","1")),ge.toString()}catch{return new URL(D,z).toString()}}resolveEditUrl(A){return A}};let S=Be;X(S,"factory",({config:A})=>{var z;const D=i((z=A.getOptionalConfigArray("integrations.azure"))!=null?z:[]);return s(D.map(ee=>new Be(ee)),ee=>ee.config.host)});var F=e(48834).Buffer;function P(V){return AzureUrl.fromRepoUrl(V).toFileUrl()}function j(V){return AzureUrl.fromRepoUrl(V).toArchiveUrl()}function x(V){return AzureUrl.fromRepoUrl(V).toCommitsUrl()}function I(V,A){const D=A?{...A}:{};if(V.token){const z=F.from(`:${V.token}`,"utf8");D.Authorization=`Basic ${z.toString("base64")}`}return{headers:D}}const b="bitbucket.org",O="https://api.bitbucket.org/2.0";function K(V){var ge;const A=(ge=V.getOptionalString("host"))!=null?ge:b;let D=V.getOptionalString("apiBaseUrl");const z=V.getOptionalString("token"),ee=V.getOptionalString("username"),Oe=V.getOptionalString("appPassword");if(!f(A))throw new Error(`Invalid Bitbucket integration config, '${A}' is not a valid host`);return D?D=(0,l.trimEnd)(D,"/"):A===b&&(D=O),{host:A,apiBaseUrl:D,token:z,username:ee,appPassword:Oe}}function _(V){const A=V.map(K);return A.some(D=>D.host===b)||A.push({host:b,apiBaseUrl:O}),A}const et=class{constructor(A){this.integrationConfig=A}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){const D=h(A);if(A.lineNumber){const z=new URL(D),ee=z.pathname.split("/").slice(-1)[0];return z.hash=`${ee}-${A.lineNumber}`,z.toString()}return D}resolveEditUrl(A){const D=t()(A),z=new URL(A);return z.searchParams.set("mode","edit"),z.searchParams.set("spa","0"),z.searchParams.set("at",D.ref),z.toString()}};let ie=et;X(ie,"factory",({config:A})=>{var z;const D=_((z=A.getOptionalConfigArray("integrations.bitbucket"))!=null?z:[]);return s(D.map(ee=>new et(ee)),ee=>ee.config.host)});var pe=e(96279),Le=e(48834).Buffer;async function me(V,A){const{name:D,owner:z,resource:ee}=parseGitUrl(V),Oe=ee==="bitbucket.org";let ge=Oe?`${A.apiBaseUrl}/repositories/${z}/${D}`:`${A.apiBaseUrl}/projects/${z}/repos/${D}/default-branch`,Re=await fetch(ge,Qe(A));if(Re.status===404&&!Oe&&(ge=`${A.apiBaseUrl}/projects/${z}/repos/${D}/branches/default`,Re=await fetch(ge,Qe(A))),!Re.ok){const Ze=`Failed to retrieve default branch from ${ge}, ${Re.status} ${Re.statusText}`;throw new Error(Ze)}let xe;if(Oe)xe=(await Re.json()).mainbranch.name;else{const{displayId:Ze}=await Re.json();xe=Ze}if(!xe)throw new Error(`Failed to read default branch from ${ge}. Response ${Re.status} ${Re.json()}`);return xe}async function je(V,A){const{name:D,owner:z,ref:ee,protocol:Oe,resource:ge,filepath:Re}=parseGitUrl(V),xe=ge==="bitbucket.org";let Ze=ee;Ze||(Ze=await me(V,A));const Et=Re?`&path=${encodeURIComponent(Re)}`:"";return xe?`${Oe}://${ge}/${z}/${D}/get/${Ze}.tar.gz`:`${A.apiBaseUrl}/projects/${z}/repos/${D}/archive?format=tgz&at=${Ze}&prefix=${z}-${D}${Et}`}function Te(V,A){try{const{owner:D,name:z,ref:ee,filepathtype:Oe,filepath:ge}=parseGitUrl(V);if(!D||!z||Oe!=="browse"&&Oe!=="raw"&&Oe!=="src")throw new Error("Invalid Bitbucket URL or file path");const Re=ge.replace(/^\//,"");if(A.host==="bitbucket.org"){if(!ee)throw new Error("Invalid Bitbucket URL or file path");return`${A.apiBaseUrl}/repositories/${D}/${z}/src/${ee}/${Re}`}return`${A.apiBaseUrl}/projects/${D}/repos/${z}/raw/${Re}?at=${ee}`}catch(D){throw new Error(`Incorrect URL: ${V}, ${D}`)}}function Qe(V){const A={};if(V.token)A.Authorization=`Bearer ${V.token}`;else if(V.username&&V.appPassword){const D=Le.from(`${V.username}:${V.appPassword}`,"utf8");A.Authorization=`Basic ${D.toString("base64")}`}return{headers:A}}const st="github.com",_e="https://api.github.com",gt="https://raw.githubusercontent.com";function nt(V){var ge,Re;const A=(ge=V.getOptionalString("host"))!=null?ge:st;let D=V.getOptionalString("apiBaseUrl"),z=V.getOptionalString("rawBaseUrl");const ee=V.getOptionalString("token"),Oe=(Re=V.getOptionalConfigArray("apps"))==null?void 0:Re.map(xe=>({appId:xe.getNumber("appId"),clientId:xe.getString("clientId"),clientSecret:xe.getString("clientSecret"),webhookSecret:xe.getString("webhookSecret"),privateKey:xe.getString("privateKey"),allowedInstallationOwners:xe.getOptionalStringArray("allowedInstallationOwners")}));if(!f(A))throw new Error(`Invalid GitHub integration config, '${A}' is not a valid host`);return D?D=(0,l.trimEnd)(D,"/"):A===st&&(D=_e),z?z=(0,l.trimEnd)(z,"/"):A===st&&(z=gt),{host:A,apiBaseUrl:D,rawBaseUrl:z,token:ee,apps:Oe}}function at(V){const A=V.map(nt);return A.some(D=>D.host===st)||A.push({host:st,apiBaseUrl:_e,rawBaseUrl:gt}),A}function vt(V,A,D){try{const{owner:z,name:ee,ref:Oe,filepathtype:ge,filepath:Re}=parseGitUrl(V);if(!z||!ee||!Oe||ge!=="blob"&&ge!=="raw"&&ge!=="tree")throw new Error("Invalid GitHub URL or file path");const xe=Re.replace(/^\//,"");return Lt(A,D)==="api"?`${A.apiBaseUrl}/repos/${z}/${ee}/contents/${xe}?ref=${Oe}`:`${A.rawBaseUrl}/${z}/${ee}/${Oe}/${xe}`}catch(z){throw new Error(`Incorrect URL: ${V}, ${z}`)}}function wt(V,A){const D={};return Lt(V,A)==="api"&&(D.Accept="application/vnd.github.v3.raw"),A.token&&(D.Authorization=`token ${A.token}`),{headers:D}}function Lt(V,A){return V.apiBaseUrl&&(A.token||!V.rawBaseUrl)?"api":"raw"}class pt{constructor(){X(this,"tokenCache",new Map);X(this,"isNotExpired",A=>A.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(A,D){const z=this.tokenCache.get(A);if(z&&this.isNotExpired(z.expiresAt))return{accessToken:z.token};const ee=await D();return this.tokenCache.set(A,ee),{accessToken:ee.token}}}const rt={Accept:"application/vnd.github.machine-man-preview+json"};class Ct{constructor(A,D){X(this,"appClient");X(this,"baseUrl");X(this,"baseAuthConfig");X(this,"cache",new pt);X(this,"allowedInstallationOwners");this.allowedInstallationOwners=A.allowedInstallationOwners,this.baseUrl=D,this.baseAuthConfig={appId:A.appId,privateKey:A.privateKey.replace(/\\n/gm,`
|
|
31
|
-
`)},this.appClient=new Octokit({baseUrl:D,headers:rt,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(A,D){var ge;const{installationId:z,suspended:ee}=await this.getInstallationData(A);if(this.allowedInstallationOwners&&!((ge=this.allowedInstallationOwners)==null?void 0:ge.includes(A)))return{accessToken:void 0};if(ee)throw new Error(`The GitHub application for ${A} is suspended`);const Oe=D?`${A}/${D}`:A;return this.cache.getOrCreateToken(Oe,async()=>{const Re=await this.appClient.apps.createInstallationAccessToken({installation_id:z,headers:rt});if(D&&Re.data.repository_selection==="selected"){const xe=new Octokit({baseUrl:this.baseUrl,auth:Re.data.token});if(!(await xe.paginate(xe.apps.listReposAccessibleToInstallation)).some(ne=>ne.name===D))throw new Error(`The Backstage GitHub application used in the ${A} organization does not have access to a repository with the name ${D}`)}return{token:Re.data.token,expiresAt:DateTime.fromISO(Re.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(A){const z=(await this.getInstallations()).find(Oe=>{var ge,Re;return((Re=(ge=Oe.account)==null?void 0:ge.login)==null?void 0:Re.toLocaleLowerCase("en-US"))===A.toLocaleLowerCase("en-US")});if(z)return{installationId:z.id,suspended:Boolean(z.suspended_by)};const ee=new Error(`No app installation found for ${A} in ${this.baseAuthConfig.appId}`);throw ee.name="NotFoundError",ee}}class Tt{constructor(A){X(this,"apps");var D,z;this.apps=(z=(D=A.apps)==null?void 0:D.map(ee=>new Ct(ee,A.apiBaseUrl)))!=null?z:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(D=>D.getInstallations()))).flat():[]}async getAppToken(A,D){if(this.apps.length===0)return;const z=await Promise.all(this.apps.map(Re=>Re.getInstallationCredentials(A,D).then(xe=>({credentials:xe,error:void 0}),xe=>({credentials:void 0,error:xe})))),ee=z.find(Re=>Re.credentials);if(ee)return ee.credentials.accessToken;const ge=z.map(Re=>Re.error).find(Re=>Re.name!=="NotFoundError");if(ge)throw ge}}class Ot{constructor(A,D){this.githubAppCredentialsMux=A,this.token=D}async getCredentials(A){const D=parseGitUrl(A.url),z=D.owner||D.name,ee=D.owner?D.name:void 0;let Oe="app",ge=await this.githubAppCredentialsMux.getAppToken(z,ee);return ge||(Oe="token",ge=this.token),{headers:ge?{Authorization:`Bearer ${ge}`}:void 0,token:ge,type:Oe}}}X(Ot,"create",null);class Ft{static fromIntegrations(A){const D=new Map;return A.github.list().forEach(z=>{const ee=SingleInstanceGithubCredentialsProvider.create(z.config);D.set(z.config.host,ee)}),new Ft(D)}constructor(A){this.providers=A}async getCredentials(A){const D=new URL(A.url),z=this.providers.get(D.host);if(!z)throw new Error(`There is no GitHub integration that matches ${A.url}. Please add a configuration for an integration.`);return z.getCredentials(A)}}const Ne=class{constructor(A){this.integrationConfig=A}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return Pt(h(A),"tree")}resolveEditUrl(A){return Pt(A,"edit")}};let mt=Ne;X(mt,"factory",({config:A})=>{var z;const D=at((z=A.getOptionalConfigArray("integrations.github"))!=null?z:[]);return s(D.map(ee=>new Ne(ee)),ee=>ee.config.host)});function Pt(V,A){return V.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(D,z,ee,Oe)=>`//${z}/${ee}/${Oe}/${A}/`)}const Bt="gitlab.com",De="https://gitlab.com/api/v4";function ot(V){const A=V.getString("host");let D=V.getOptionalString("apiBaseUrl");const z=V.getOptionalString("token");let ee=V.getOptionalString("baseUrl");if(D?D=(0,l.trimEnd)(D,"/"):A===Bt&&(D=De),ee?ee=(0,l.trimEnd)(ee,"/"):ee=`https://${A}`,A.includes(":"))throw new Error(`Invalid GitLab integration config, host '${A}' should just be the host name (e.g. "github.com"), not a URL`);if(f(A)){if(!D||!g(D))throw new Error(`Invalid GitLab integration config, '${D}' is not a valid apiBaseUrl`);if(!g(ee))throw new Error(`Invalid GitLab integration config, '${ee}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${A}' is not a valid host`);return{host:A,token:z,apiBaseUrl:D,baseUrl:ee}}function it(V){const A=V.map(ot);return A.some(D=>D.host===Bt)||A.push({host:Bt,apiBaseUrl:De,baseUrl:`https://${Bt}`}),A}async function St(V,A){if(V.includes("/-/blob/")){const D=await T(V,A);return C(V,D).toString()}return te(V).toString()}function re(V){const{token:A=""}=V;return{headers:{"PRIVATE-TOKEN":A}}}function te(V){try{const A=new URL(V),[D,z,ee,Oe,...ge]=A.pathname.split("/");if(D!==""||z===""||ee===""||Oe!=="blob"||!ge.join("/").match(/\.(yaml|yml)$/))throw new Error("Wrong GitLab URL");return A.pathname=[D,z,ee,"raw",...ge].join("/"),A}catch(A){throw new Error(`Incorrect url: ${V}, ${A}`)}}function C(V,A){try{const D=new URL(V),z=D.pathname.split("/-/blob/")[1],[ee,...Oe]=z.split("/");return D.pathname=["/api/v4/projects",A,"repository/files",encodeURIComponent(decodeURIComponent(Oe.join("/"))),"raw"].join("/"),D.search=`?ref=${ee}`,D}catch(D){throw new Error(`Incorrect url: ${V}, ${D}`)}}async function T(V,A){const D=new URL(V);if(!D.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const z=D.pathname.split("/-/blob/")[0],ee=new URL(`${D.protocol+D.hostname}/api/v4/projects/${encodeURIComponent(z.replace(/^\//,""))}`),Oe=await fetch(ee.toString(),re(A)),ge=await Oe.json();if(!Oe.ok)throw new Error(`GitLab Error '${ge.error}', ${ge.error_description}`);return Number(ge.id)}catch(z){throw new Error(`Could not get GitLab project ID for: ${V}, ${z}`)}}const $e=class{constructor(A){this.integrationConfig=A}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(A){return h(A)}resolveEditUrl(A){return H(A,"edit")}};let B=$e;X(B,"factory",({config:A})=>{var z;const D=it((z=A.getOptionalConfigArray("integrations.gitlab"))!=null?z:[]);return s(D.map(ee=>new $e(ee)),ee=>ee.config.host)});function H(V,A){return V.replace(/\/\-\/(blob|tree|edit)\//,`/-/${A}/`)}const Y="amazonaws.com";function le(V){var xe;const A=V.getOptionalString("endpoint"),D=(xe=V.getOptionalBoolean("s3ForcePathStyle"))!=null?xe:!1;let z,ee;if(A){try{const Ze=new URL(A);z=Ze.host,ee=Ze.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${A}' is not a valid URL`)}if(ee!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${A}'`)}else z=Y;const Oe=V.getOptionalString("accessKeyId"),ge=V.getOptionalString("secretAccessKey"),Re=V.getOptionalString("roleArn");return{host:z,endpoint:A,s3ForcePathStyle:D,accessKeyId:Oe,secretAccessKey:ge,roleArn:Re}}function Ae(V){const A=V.map(le);return A.some(D=>D.host===Y)||A.push({host:Y}),A}const Ye=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(A){this.integrationConfig=A}resolveUrl(A){return h(A)}resolveEditUrl(A){return A}};let ye=Ye;X(ye,"factory",({config:A})=>{var z;const D=Ae((z=A.getOptionalConfigArray("integrations.awsS3"))!=null?z:[]);return s(D.map(ee=>new Ye(ee)),ee=>ee.config.host)});class Fe{constructor(A){X(this,"byType");this.byType=A}static fromConfig(A){return new Fe({awsS3:ye.factory({config:A}),azure:S.factory({config:A}),bitbucket:ie.factory({config:A}),github:mt.factory({config:A}),gitlab:B.factory({config:A})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}list(){return Object.values(this.byType).flatMap(A=>A.list())}byUrl(A){return Object.values(this.byType).map(D=>D.byUrl(A)).find(Boolean)}byHost(A){return Object.values(this.byType).map(D=>D.byHost(A)).find(Boolean)}resolveUrl(A){const D=this.byUrl(A.base);return D?D.resolveUrl(A):h(A)}resolveEditUrl(A){const D=this.byUrl(A);return D?D.resolveEditUrl(A):A}}},76241:function(J,o,e){"use strict";e.d(o,{CT:function(){return s},EI:function(){return y},uW:function(){return f},Vt:function(){return h}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),l=c=>`__@backstage/${c}__`;function f(c,E){const i=l(c);let S=t[i];return S||(S=E(),t[i]=S,S)}var g=e(2784);function s(c){return f(c,()=>(0,g.createContext)(void 0))}function h(c){return(0,g.useContext)(s(c))}function m(c){return{set(E){globalThis[`__@backstage/${c}__`]=createContext(createVersionedValueMap(E))},reset(){delete globalThis[`__@backstage/${c}__`]}}}function y(c){return Object.freeze(c),{atVersion(E){return c[E]}}}},19139:function(J,o,e){"use strict";e.d(o,{AsyncEntityProvider:function(){return Le},n3:function(){return t.n3},DefaultStarredEntitiesApi:function(){return c},EntityContext:function(){return _},EntityKindFilter:function(){return C},EntityLifecyclePicker:function(){return He},EntityListProvider:function(){return Ft},EntityOwnerPicker:function(){return en},EntityRefLink:function(){return re},EntityRefLinks:function(){return te},EntityTable:function(){return Fn},EntityTagPicker:function(){return Jn},EntityTypePicker:function(){return sr},FavoriteEntity:function(){return Ir},UnregisterEntityDialog:function(){return ea},UserListPicker:function(){return yr},Ah:function(){return f},M4:function(){return x},wi:function(){return I},favoriteEntityIcon:function(){return Mn},favoriteEntityTooltip:function(){return Xn},formatEntityRefTitle:function(){return ot},getEntityMetadataEditUrl:function(){return pt},getEntityMetadataViewUrl:function(){return Lt},getEntityRelations:function(){return rt},getEntitySourceLocation:function(){return Ct},isOwnerOf:function(){return Tt},starredEntitiesApiRef:function(){return E},useEntity:function(){return Qe},useEntityCompoundName:function(){return K},useEntityFromUrl:function(){return Te},useEntityKinds:function(){return Fe},useEntityListProvider:function(){return mt},useEntityPermission:function(){return V},useOwnUser:function(){return Ie},useRelatedEntities:function(){return Ee},useStarredEntities:function(){return ut}});var r={};e.r(r),e.d(r,{createDomainColumn:function(){return Wt},createEntityRefColumn:function(){return hn},createEntityRelationColumn:function(){return On},createMetadataDescriptionColumn:function(){return gn},createOwnerColumn:function(){return yt},createSpecLifecycleColumn:function(){return jt},createSpecTypeColumn:function(){return Zn},createSystemColumn:function(){return un}});var t=e(30001),l=e(36964);const f=(0,l.createApiRef)({id:"plugin.catalog.service"});var g=e(82394),s=e.n(g),h=e(52890),m=e(76635);async function y({storageApi:w}){var se;const N=w.forBucket("settings"),Z=w.forBucket("starredEntities"),k=N.get("starredEntities");if(!(0,m.isArray)(k))return;const ue=new Set((se=Z.get("entityRefs"))!=null?se:[]);k.filter(m.isString).map(fe=>fe.split(":")).filter(fe=>fe.length===4&&fe[0]==="entity").map(([fe,Ue,Ve,tt])=>(0,h.eE)({kind:Ue,namespace:Ve,name:tt})).forEach(fe=>ue.add(fe)),await Z.set("entityRefs",Array.from(ue)),await N.remove("starredEntities")}class c{constructor(N){X(this,"settingsStore");X(this,"starredEntities");X(this,"subscribers",new Set);X(this,"observable",new(s())(N=>(N.next(this.starredEntities),this.subscribers.add(N),()=>{this.subscribers.delete(N)})));var Z;y(N).then(),this.settingsStore=N.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((Z=this.settingsStore.get("entityRefs"))!=null?Z:[]),this.settingsStore.observe$("entityRefs").subscribe({next:k=>{var ue;this.starredEntities=new Set((ue=k.newValue)!=null?ue:[]),this.notifyChanges()}})}async toggleStarred(N){this.starredEntities.has(N)?this.starredEntities.delete(N):this.starredEntities.add(N),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}isStarred(N){return this.starredEntities.has(N)}notifyChanges(){for(const N of this.subscribers)N.next(this.starredEntities)}}const E=(0,l.createApiRef)({id:"catalog-react.starred-entities"});var i=e(2784),S=e(76241),F=e(10289),P=e(77446);const x=(0,l.createRouteRef)({id:"catalog"}),I=(0,S.uW)("catalog:entity-route-ref",()=>(0,l.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]})),b=null;function O(w){var N,Z;return{kind:w.kind.toLocaleLowerCase("en-US"),namespace:(Z=(N=w.metadata.namespace)==null?void 0:N.toLocaleLowerCase("en-US"))!=null?Z:ENTITY_DEFAULT_NAMESPACE,name:w.metadata.name}}const K=()=>{const{kind:w,namespace:N,name:Z}=(0,l.useRouteRefParams)(I);return{kind:w,namespace:N,name:Z}},_=(0,i.createContext)({entity:void 0,loading:!0,error:void 0,refresh:()=>{}}),ie=_.Provider,pe=(0,S.CT)("entity-context"),Le=({children:w,entity:N,loading:Z,error:k,refresh:ue})=>{const se={entity:N,loading:Z,error:k,refresh:ue};return i.createElement(ie,{value:se},i.createElement(pe.Provider,{value:(0,S.EI)({1:se})},w))},me=({entity:w,children:N})=>React.createElement(Le,{entity:w,loading:!Boolean(w),error:void 0,refresh:void 0,children:N}),je=({value:w,children:N})=>i.createElement(Le,{...w,children:N});_.Provider=je;const Te=()=>{const{kind:w,namespace:N,name:Z}=K(),k=(0,F.s0)(),ue=(0,l.useApi)(l.errorApiRef),se=(0,l.useApi)(f),{value:fe,error:Ue,loading:Ve,retry:tt}=(0,P.Z)(()=>se.getEntityByName({kind:w,namespace:N,name:Z}),[se,w,N,Z]);return(0,i.useEffect)(()=>{Z||(ue.post(new Error("No name provided!")),k("/"))},[ue,k,Ue,Ve,fe,Z]),{entity:fe,loading:Ve,error:Ue,refresh:tt}};function Qe(){const w=(0,S.Vt)("entity-context");if(!w)return{entity:void 0,loading:!0,error:void 0,refresh:()=>{}};const N=w.atVersion(1);if(!N)throw new Error("EntityContext v1 not available");const{entity:Z,loading:k,error:ue,refresh:se}=N;return{entity:Z,loading:k,error:ue,refresh:se}}var st=e(19126),_e=e.n(st),gt=e(69294),nt=e(48760),at=e(90736);function vt(w){return w.reduce((N,Z)=>({...N,...Z.getCatalogFilters?Z.getCatalogFilters():{}}),{})}function wt(w){return N=>w.every(Z=>!Z.filterEntity||Z.filterEntity(N))}function Lt(w){var N;return(N=w.metadata.annotations)==null?void 0:N[h.wh]}function pt(w){var N;return(N=w.metadata.annotations)==null?void 0:N[h.J1]}function rt(w,N,Z){var ue,se;let k=((se=(ue=w==null?void 0:w.relations)==null?void 0:ue.filter(fe=>fe.type===N))==null?void 0:se.map(fe=>fe.target))||[];return(Z==null?void 0:Z.kind)&&(k=k==null?void 0:k.filter(fe=>fe.kind.toLocaleLowerCase("en-US")===Z.kind.toLocaleLowerCase("en-US"))),k}function Ct(w,N){var k;const Z=(k=w.metadata.annotations)==null?void 0:k[h.wX];if(!!Z)try{const ue=(0,h.Me)(Z),se=N.byUrl(ue.target);return{locationTargetUrl:ue.target,integrationType:se==null?void 0:se.type}}catch{return}}function Tt(w,N){const Z=new Set([...rt(w,h.hr,{kind:"group"}),...w?[(0,h.C_)(w)]:[]].map(h.eE)),k=rt(N,h.S4).map(h.eE);for(const ue of k)if(Z.has(ue))return!0;return!1}const Ot=(0,i.createContext)(void 0),Ft=({children:w})=>{const N=(0,at.default)(),Z=(0,l.useApi)(f),[k,ue]=(0,i.useState)({}),[se,fe]=(0,i.useState)(()=>{var It;const Ge=_e().parse(window.location.search,{ignoreQueryPrefix:!0});return{appliedFilters:{},entities:[],backendEntities:[],queryParameters:(It=Ge.filters)!=null?It:{}}}),[{loading:Ue,error:Ve},tt]=(0,gt.default)(async()=>{var tn;const Ge=(0,m.compact)(Object.values(k)),It=wt(Ge),Dt=vt(Ge),Mt=vt((0,m.compact)(Object.values(se.appliedFilters))),Gt=Object.keys(k).reduce((Yt,yn)=>{const Zt=k[yn];return(Zt==null?void 0:Zt.toQueryValue)&&(Yt[yn]=Zt.toQueryValue()),Yt},{});if((0,m.isEqual)(Mt,Dt))fe({appliedFilters:k,backendEntities:se.backendEntities,entities:se.backendEntities.filter(It),queryParameters:Gt});else{const Yt=await Z.getEntities({filter:Dt});fe({appliedFilters:k,backendEntities:Yt.items,entities:Yt.items.filter(It),queryParameters:Gt})}if(N()){const Yt=_e().parse(window.location.search,{ignoreQueryPrefix:!0}),yn=_e().stringify({...Yt,filters:Gt},{addQueryPrefix:!0}),Zt=`${window.location.pathname}${yn}`;(tn=window.history)==null||tn.replaceState(null,document.title,Zt)}},[Z,k,se],{loading:!0});(0,nt.Z)(tt,10,[k]);const ct=(0,i.useCallback)(Ge=>{ue(It=>{const Dt=typeof Ge=="function"?Ge(It):Ge;return{...It,...Dt}})},[]),We=(0,i.useMemo)(()=>({filters:se.appliedFilters,entities:se.entities,backendEntities:se.backendEntities,updateFilters:ct,queryParameters:se.queryParameters,loading:Ue,error:Ve}),[se,ct,Ue,Ve]);return i.createElement(Ot.Provider,{value:We},w)};function mt(){const w=(0,i.useContext)(Ot);if(!w)throw new Error("useEntityListProvider must be used within EntityListProvider");return w}var Pt=e(64279),Bt=e(18149),De=e.n(Bt);function ot(w,N){const Z=N==null?void 0:N.defaultKind;let k,ue,se;return"metadata"in w?(k=w.kind,ue=w.metadata.namespace,se=w.metadata.name):(k=w.kind,ue=w.namespace,se=w.name),ue===h.sk&&(ue=void 0),k=k.toLocaleLowerCase("en-US"),`${(0,h.TH)({kind:Z&&Z.toLocaleLowerCase("en-US")===k?void 0:k,name:se,namespace:ue})}`}var it=e(9118),St=e(80030);const re=(0,i.forwardRef)((w,N)=>{var Dt;const{entityRef:Z,defaultKind:k,title:ue,children:se,...fe}=w,Ue=(0,l.useRouteRef)(I);let Ve,tt,ct;"metadata"in Z?(Ve=Z.kind,tt=Z.metadata.namespace,ct=Z.metadata.name):(Ve=Z.kind,tt=Z.namespace,ct=Z.name),Ve=Ve.toLocaleLowerCase("en-US");const We={kind:Ve,namespace:(Dt=tt==null?void 0:tt.toLocaleLowerCase("en-US"))!=null?Dt:h.sk,name:ct},Ge=ot(Z,{defaultKind:k}),It=i.createElement(it.Link,{...fe,ref:N,to:Ue(We)},se,!se&&(ue!=null?ue:Ge));return ue?i.createElement(St.ZP,{title:Ge},It):It}),te=({entityRefs:w,defaultKind:N,...Z})=>i.createElement(i.Fragment,null,w.map((k,ue)=>i.createElement(i.Fragment,{key:ue},ue>0&&", ",i.createElement(re,{...Z,entityRef:k,defaultKind:N}))));class C{constructor(N){this.value=N}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class T{constructor(N){this.value=N}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class B{constructor(N){this.values=N}filterEntity(N){return this.values.every(Z=>{var k;return((k=N.metadata.tags)!=null?k:[]).includes(Z)})}toQueryValue(){return this.values}}class H{constructor(N){this.value=N}filterEntity(N){var k;const Z=this.value.toLocaleUpperCase("en-US");return N.metadata.name.toLocaleUpperCase("en-US").includes(Z)||`${N.metadata.title}`.toLocaleUpperCase("en-US").includes(Z)||((k=N.metadata.tags)==null?void 0:k.join("").toLocaleUpperCase("en-US").indexOf(Z))!==-1}}class Y{constructor(N){this.values=N}filterEntity(N){return this.values.some(Z=>rt(N,h.S4).some(k=>ot(k,{defaultKind:"group"})===Z))}toQueryValue(){return this.values}}class le{constructor(N){this.values=N}filterEntity(N){return this.values.some(Z=>{var k;return((k=N.spec)==null?void 0:k.lifecycle)===Z})}toQueryValue(){return this.values}}class Ae{constructor(N,Z,k){this.value=N,this.isOwnedEntity=Z,this.isStarredEntity=k}filterEntity(N){switch(this.value){case"owned":return this.isOwnedEntity(N);case"starred":return this.isStarredEntity(N);default:return!0}}toQueryValue(){return this.value}}function ye(){var Mt;const w=(0,l.useApi)(f),{filters:{kind:N,type:Z},queryParameters:k,updateFilters:ue}=mt(),se=[k.type].flat().filter(Boolean),[fe,Ue]=(0,i.useState)(se.length?se:(Mt=Z==null?void 0:Z.getTypes())!=null?Mt:[]),[Ve,tt]=(0,i.useState)([]),ct=(0,i.useMemo)(()=>N==null?void 0:N.value,[N]),{error:We,loading:Ge,value:It}=(0,Pt.default)(async()=>ct?await w.getEntities({filter:{kind:ct},fields:["spec.type"]}).then(tn=>tn.items):[],[ct,w]),Dt=(0,i.useRef)(It);return(0,i.useEffect)(()=>{const Gt=Dt.current;if(Dt.current=It,Ge||!ct||Gt===It||!It)return;const tn=It.reduce((Zt,Cn)=>{var zt;if(typeof((zt=Cn.spec)==null?void 0:zt.type)!="string")return Zt;const xn=Cn.spec.type.toLocaleLowerCase("en-US");return Zt[xn]||(Zt[xn]=0),Zt[xn]+=1,Zt},{}),Yt=Object.entries(tn).sort(([,Zt],[,Cn])=>Cn-Zt).map(([Zt])=>Zt);tt(Yt);const yn=fe.filter(Zt=>Yt.includes(Zt));De()(fe,yn)||Ue(yn)},[Ge,ct,fe,Ue,It]),(0,i.useEffect)(()=>{ue({type:fe.length?new T(fe):void 0})},[fe,ue]),{loading:Ge,error:We,availableTypes:Ve,selectedTypes:fe,setSelectedTypes:Ue}}function Fe(){const w=(0,l.useApi)(f),{error:N,loading:Z,value:k}=(0,Pt.default)(async()=>{const ue=await w.getEntities({fields:["kind"]}).then(se=>se.items);return[...new Set(ue.map(se=>se.kind))].sort()});return{error:N,loading:Z,kinds:k}}function Ie(){const w=(0,l.useApi)(f),N=(0,l.useApi)(l.identityApiRef);return(0,Pt.default)(async()=>{const Z=await N.getBackstageIdentity();return w.getEntityByName((0,h.of)(Z.userEntityRef,{defaultKind:"User",defaultNamespace:h.sk}))},[w,N])}const ve=20;function Ee(w,{type:N,kind:Z}){const k=(0,l.useApi)(f),{loading:ue,value:se,error:fe}=(0,Pt.default)(async()=>{const Ue=w.relations&&w.relations.filter(We=>(!N||We.type.toLocaleLowerCase("en-US")===N.toLocaleLowerCase("en-US"))&&(!Z||We.target.kind.toLocaleLowerCase("en-US")===Z.toLocaleLowerCase("en-US")));if(!Ue)return[];const Ve=Object.values((0,m.groupBy)(Ue,({target:We})=>`${We.kind}:${We.namespace}`.toLocaleLowerCase("en-US"))),tt=[];for(const We of Ve)tt.push({kind:We[0].target.kind,namespace:We[0].target.namespace,nameBatches:(0,m.chunk)(We.map(Ge=>Ge.target.name),ve)});return(await Promise.all(tt.flatMap(We=>We.nameBatches.map(Ge=>k.getEntities({filter:{kind:We.kind,"metadata.namespace":We.namespace,"metadata.name":Ge}}))))).flatMap(We=>We.items)},[w,N]);return{entities:se,loading:ue,error:fe}}var be=e(72164);function Rt(w){return typeof w=="string"?w:(0,h.eE)(w)}function ut(){const w=(0,l.useApi)(E),N=(0,be.Z)(w.starredEntitie$(),new Set),Z=(0,i.useCallback)(ue=>N.has(Rt(ue)),[N]),k=(0,i.useCallback)(ue=>w.toggleStarred(Rt(ue)).then(),[w]);return{starredEntities:N,toggleStarredEntity:k,isStarredEntity:Z}}function Ke(w){return typeof w=="string"?w:(0,h.eE)(w)}function oe(w){const N=(0,l.useApi)(E),[Z,k]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{const se=N.starredEntitie$().subscribe({next(fe){k(fe.has(Ke(w)))}});return()=>{se.unsubscribe()}},[w,N]),{toggleStarredEntity:(0,i.useCallback)(()=>N.toggleStarred(Ke(w)).then(),[w,N]),isStarredEntity:Z}}async function Be(w){return(await w.getBackstageIdentity()).ownershipEntityRefs}async function et(w,N){const Z=new Array,k=N.find(ue=>ue.startsWith("user:"));if(k){const ue=await w.getEntityByName((0,h.of)(k));if(ue){const se=rt(ue,h.hr,{kind:"Group"});for(const fe of se)Z.push((0,h.eE)(fe))}}return Z}function Ne(){const w=(0,l.useApi)(l.identityApiRef),N=(0,l.useApi)(f),{loading:Z,value:k}=(0,Pt.default)(async()=>{const{ownershipEntityRefs:se}=await w.getBackstageIdentity(),fe=await et(N,se);return new Set([...se,...fe])},[]),ue=(0,i.useMemo)(()=>{const se=new Set(k!=null?k:[]);return fe=>{const Ue=("metadata"in fe?rt(fe,h.S4):[fe]).map(h.eE);for(const Ve of Ue)if(se.has(Ve))return!0;return!1}},[k]);return(0,i.useMemo)(()=>({loading:Z,isOwnedEntity:ue}),[Z,ue])}function $e(w){const N=useApi(identityApiRef),Z=useApi(catalogApiRef),{loading:k,value:ue}=useAsync(async()=>{const fe=await loadIdentityOwnerRefs(N),Ue=await loadCatalogOwnerRefs(Z,fe);return await Z.getEntities(w?{filter:{kind:w,[`relations.${RELATION_OWNED_BY}`]:[...fe,...Ue]}}:{filter:{[`relations.${RELATION_OWNED_BY}`]:[...fe,...Ue]}})},[]),se=useMemo(()=>ue,[ue]);return useMemo(()=>({loading:k,ownedEntities:se}),[k,se])}var Ye=e(20221);function V(w){const{entity:N,loading:Z,error:k}=Qe(),{allowed:ue,loading:se,error:fe}=(0,Ye.gI)(w,N?(0,h.eE)(N):void 0);return Z||se?{loading:!0,allowed:!1}:k?{loading:!1,allowed:!1,error:k}:{loading:!1,allowed:ue,error:fe}}const A=({initialFilter:w,hidden:N})=>{var se;const{updateFilters:Z,queryParameters:k}=useEntityListProvider(),[ue]=useState((se=[k.kind].flat()[0])!=null?se:w);return useEffect(()=>{Z({kind:ue?new EntityKindFilter(ue):void 0})},[ue,Z]),N?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var D=e(79692),z=e(95544),ee=e(90436),Oe=e(5806),ge=e(21324),Re=e(86619),xe=e(19996),Ze=e(25505),Et=e(38016),ne=e(88013);const $=(0,D.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),Q=i.createElement(Ze.Z,{fontSize:"small"}),he=i.createElement(xe.Z,{fontSize:"small"}),He=()=>{var tt,ct;const w=$(),{updateFilters:N,backendEntities:Z,filters:k,queryParameters:ue}=mt(),se=[ue.lifecycles].flat().filter(Boolean),[fe,Ue]=(0,i.useState)(se.length?se:(ct=(tt=k.lifecycles)==null?void 0:tt.values)!=null?ct:[]);(0,i.useEffect)(()=>{N({lifecycles:fe.length?new le(fe):void 0})},[fe,N]);const Ve=(0,i.useMemo)(()=>[...new Set(Z.map(We=>{var Ge;return(Ge=We.spec)==null?void 0:Ge.lifecycle}).filter(Boolean))].sort(),[Z]);return Ve.length?i.createElement(z.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Lifecycle"),i.createElement(ne.ZP,{"aria-label":"Lifecycle",multiple:!0,options:Ve,value:fe,onChange:(We,Ge)=>Ue(Ge),renderOption:(We,{selected:Ge})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:Q,checkedIcon:he,checked:Ge}),label:We}),size:"small",popupIcon:i.createElement(Et.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:We=>i.createElement(Re.Z,{...We,className:w.input,variant:"outlined"})})):null},ze=(0,D.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),lt=i.createElement(Ze.Z,{fontSize:"small"}),xt=i.createElement(xe.Z,{fontSize:"small"}),en=()=>{var tt,ct;const w=ze(),{updateFilters:N,backendEntities:Z,filters:k,queryParameters:ue}=mt(),se=[ue.owners].flat().filter(Boolean),[fe,Ue]=(0,i.useState)(se.length?se:(ct=(tt=k.owners)==null?void 0:tt.values)!=null?ct:[]);(0,i.useEffect)(()=>{N({owners:fe.length?new Y(fe):void 0})},[fe,N]);const Ve=(0,i.useMemo)(()=>[...new Set(Z.flatMap(We=>rt(We,h.S4).map(Ge=>ot(Ge,{defaultKind:"group"}))).filter(Boolean))].sort(),[Z]);return Ve.length?i.createElement(z.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Owner"),i.createElement(ne.ZP,{multiple:!0,"aria-label":"Owner",options:Ve,value:fe,onChange:(We,Ge)=>Ue(Ge),renderOption:(We,{selected:Ge})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:lt,checkedIcon:xt,checked:Ge}),label:We}),size:"small",popupIcon:i.createElement(Et.Z,{"data-testid":"owner-picker-expand"}),renderInput:We=>i.createElement(Re.Z,{...We,className:w.input,variant:"outlined"})})):null},on=(0,D.Z)(w=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),$n=()=>{var se,fe;const w=on(),{filters:N,updateFilters:Z}=useEntityListProvider(),[k,ue]=useState((fe=(se=N.text)==null?void 0:se.value)!=null?fe:"");return useDebounce(()=>{Z({text:k.length?new EntityTextFilter(k):void 0})},250,[k,Z]),React.createElement(Toolbar,{className:w.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{id:"input-with-icon-adornment",className:w.input,placeholder:"Search",autoComplete:"off",onChange:Ue=>ue(Ue.target.value),value:k,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>ue(""),edge:"end",disabled:k.length===0},React.createElement(Clear,null)))})))};function hn({defaultKind:w}){function N(Z){var k;return((k=Z.metadata)==null?void 0:k.title)||ot(Z,{defaultKind:w})}return{title:"Name",highlight:!0,customFilterAndSearch(Z,k){return N(k).includes(Z)},customSort(Z,k){return N(Z).localeCompare(N(k))},render:Z=>{var k;return i.createElement(re,{entityRef:Z,defaultKind:w,title:(k=Z.metadata)==null?void 0:k.title})}}}function On({title:w,relation:N,defaultKind:Z,filter:k}){function ue(fe){return rt(fe,N,k)}function se(fe){return ue(fe).map(Ue=>ot(Ue,{defaultKind:Z})).join(", ")}return{title:w,customFilterAndSearch(fe,Ue){return se(Ue).includes(fe)},customSort(fe,Ue){return se(fe).localeCompare(se(Ue))},render:fe=>i.createElement(te,{entityRefs:ue(fe),defaultKind:Z})}}function yt(){return On({title:"Owner",relation:h.S4,defaultKind:"group"})}function Wt(){return On({title:"Domain",relation:h.cz,defaultKind:"domain",filter:{kind:"domain"}})}function un(){return On({title:"System",relation:h.cz,defaultKind:"system",filter:{kind:"system"}})}function gn(){return{title:"Description",field:"metadata.description",render:w=>i.createElement(it.OverflowTooltip,{text:w.metadata.description,placement:"bottom-start",line:2}),width:"auto"}}function jt(){return{title:"Lifecycle",field:"spec.lifecycle"}}function Zn(){return{title:"Type",field:"spec.type"}}const nr=[hn({defaultKind:"system"}),Wt(),yt(),gn()],rr=[hn({defaultKind:"component"}),un(),yt(),Zn(),jt(),gn()],Cr=(0,D.Z)(w=>({empty:{padding:w.spacing(2),display:"flex",justifyContent:"center"}}));function Fn({entities:w,title:N,emptyContent:Z,variant:k="gridItem",columns:ue}){const se=Cr(),fe={minWidth:"0",width:"100%"};return k==="gridItem"&&(fe.height="calc(100% - 10px)"),i.createElement(it.Table,{columns:ue,title:N,style:fe,emptyContent:Z&&i.createElement("div",{className:se.empty},Z),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:w})}Fn.columns=r,Fn.systemEntityColumns=nr,Fn.componentEntityColumns=rr;const Bn=(0,D.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),ar=i.createElement(Ze.Z,{fontSize:"small"}),or=i.createElement(xe.Z,{fontSize:"small"}),Jn=()=>{var tt,ct;const w=Bn(),{updateFilters:N,backendEntities:Z,filters:k,queryParameters:ue}=mt(),se=[ue.tags].flat().filter(Boolean),[fe,Ue]=(0,i.useState)(se.length?se:(ct=(tt=k.tags)==null?void 0:tt.values)!=null?ct:[]);(0,i.useEffect)(()=>{N({tags:fe.length?new B(fe):void 0})},[fe,N]);const Ve=(0,i.useMemo)(()=>[...new Set(Z.flatMap(We=>We.metadata.tags).filter(Boolean))].sort(),[Z]);return Ve.length?i.createElement(z.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Tags"),i.createElement(ne.ZP,{multiple:!0,"aria-label":"Tags",options:Ve,value:fe,onChange:(We,Ge)=>Ue(Ge),renderOption:(We,{selected:Ge})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:ar,checkedIcon:or,checked:Ge}),label:We}),size:"small",popupIcon:i.createElement(Et.Z,{"data-testid":"tag-picker-expand"}),renderInput:We=>i.createElement(Re.Z,{...We,className:w.input,variant:"outlined"})})):null};var Tr=e(82108),kr=e.n(Tr);const sr=w=>{var tt;const{hidden:N,initialFilter:Z}=w,k=(0,l.useApi)(l.alertApiRef),{error:ue,availableTypes:se,selectedTypes:fe,setSelectedTypes:Ue}=ye();if((0,i.useEffect)(()=>{ue&&k.post({message:"Failed to load entity types",severity:"error"}),Z&&Ue([Z])},[ue,k,Z,Ue]),se.length===0||ue)return null;const Ve=[{value:"all",label:"All"},...se.map(ct=>({value:ct,label:kr()(ct)}))];return N?null:i.createElement(z.Z,{pb:1,pt:1},i.createElement(it.Select,{label:"Type",items:Ve,selected:(tt=Ve.length>1?fe[0]:void 0)!=null?tt:"all",onChange:ct=>Ue(ct==="all"?[]:[String(ct)])}))};var Pr=e(15459),ir=e(61837),lr=e(11640),cr=e(28347);const Qn=(0,Pr.Z)({root:{color:"#f3ba37"}})(lr.Z),Xn=w=>w?"Remove from favorites":"Add to favorites",Mn=w=>w?i.createElement(Qn,null):i.createElement(cr.Z,null),Ir=w=>{const{toggleStarredEntity:N,isStarredEntity:Z}=oe(w.entity);return i.createElement(ir.Z,{color:"inherit",...w,onClick:()=>N()},i.createElement(St.ZP,{title:Xn(Z)},Mn(Z)))};var pn=e(77277),Ut=e(55999),qr=e(85256),ur=e(8629),_r=e(79249),Lr=e(38724),Or=e(49429),dr=e(99688);function xr(w){var It;const N=(0,l.useApi)(f),Z=(It=w.metadata.annotations)==null?void 0:It[h.lb],k=w.metadata.uid,ue=Z==="bootstrap:bootstrap",se=(0,Pt.default)(async()=>{const Dt=N.getOriginLocationByEntity(w);let Mt;if(!Z)Mt=Promise.resolve([]);else{const Gt=`metadata.annotations.${h.lb}`;Mt=N.getEntities({filter:{[Gt]:Z},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(tn=>tn.items)}return Promise.all([Dt,Mt]).then(([Gt,tn])=>({location:Gt,colocatedEntities:tn}))},[N,w]),fe=(0,i.useCallback)(async function(){const{location:Mt,colocatedEntities:Gt}=se.value;await N.removeLocationById(Mt.id),await Promise.allSettled(Gt.map(tn=>N.removeEntityByUid(tn.metadata.uid)))},[N,se]),Ue=(0,i.useCallback)(async function(){await N.removeEntityByUid(k)},[N,k]);if(ue)return{type:"bootstrap",location:Z,deleteEntity:Ue};const{loading:Ve,error:tt,value:ct}=se;if(Ve)return{type:"loading"};if(tt)return{type:"error",error:tt};const{location:We,colocatedEntities:Ge}=ct;return We?{type:"unregister",location:Z,colocatedEntities:Ge.map(h.C_),unregisterLocation:fe,deleteEntity:Ue}:{type:"only-delete",deleteEntity:Ue}}var Dr=e(10179);const br=(0,D.Z)({advancedButton:{fontSize:"0.7em"}}),Fr=({entity:w,onConfirm:N})=>{var It;const Z=(0,l.useApi)(l.alertApiRef),k=(0,l.useApi)(l.configApiRef),ue=br(),se=xr(w),[fe,Ue]=(0,i.useState)(!1),[Ve,tt]=(0,i.useState)(!1),ct=(It=k.getOptionalString("app.title"))!=null?It:"Backstage",We=(0,i.useCallback)(async function(){if("unregisterLocation"in se){tt(!0);try{await se.unregisterLocation(),N()}catch(Mt){(0,Dr.BD)(Mt),Z.post({message:Mt.message})}finally{tt(!1)}}},[Z,N,se]),Ge=(0,i.useCallback)(async function(){if("deleteEntity"in se){tt(!0);try{await se.deleteEntity(),N()}catch(Mt){(0,Dr.BD)(Mt),Z.post({message:Mt.message})}finally{tt(!1)}}},[Z,N,se]);return se.type==="loading"?i.createElement(it.Progress,null):se.type==="error"?i.createElement(it.ResponseErrorPanel,{error:se.error}):se.type==="bootstrap"?i.createElement(i.Fragment,null,i.createElement(dr.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',se.location,'"). If you believe this is in error, please contact the ',ct," ","integrator."),i.createElement(z.Z,{marginTop:2},!fe&&i.createElement(pn.Z,{variant:"text",size:"small",color:"primary",className:ue.advancedButton,onClick:()=>Ue(!0)},"Advanced Options"),fe&&i.createElement(i.Fragment,null,i.createElement(Ut.Z,null,"You have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ve,onClick:Ge},"Delete Entity")))):se.type==="only-delete"?i.createElement(i.Fragment,null,i.createElement(Ut.Z,null,"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ve,onClick:Ge},"Delete Entity")):se.type==="unregister"?i.createElement(i.Fragment,null,i.createElement(Ut.Z,null,"This action will unregister the following entities:"),i.createElement(Ut.Z,{component:"ul"},se.colocatedEntities.map(Dt=>i.createElement("li",{key:`${Dt.kind}:${Dt.namespace}/${Dt.name}`},i.createElement(re,{entityRef:Dt})))),i.createElement(Ut.Z,null,"Located at the following location:"),i.createElement(Ut.Z,{component:"ul"},i.createElement("li",null,se.location)),i.createElement(Ut.Z,null,"To undo, just re-register the entity in ",ct,"."),i.createElement(z.Z,{marginTop:2},i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ve,onClick:We},"Unregister Location"),!fe&&i.createElement(z.Z,{component:"span",marginLeft:2},i.createElement(pn.Z,{variant:"text",size:"small",color:"primary",className:ue.advancedButton,onClick:()=>Ue(!0)},"Advanced Options"))),fe&&i.createElement(i.Fragment,null,i.createElement(z.Z,{paddingTop:4,paddingBottom:4},i.createElement(qr.Z,null)),i.createElement(Ut.Z,null,"You also have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),i.createElement(pn.Z,{variant:"contained",color:"secondary",disabled:Ve,onClick:Ge},"Delete Entity"))):i.createElement(dr.Z,{severity:"error"},"Internal error: Unknown state")},ea=({open:w,onConfirm:N,onClose:Z,entity:k})=>i.createElement(ur.Z,{open:w,onClose:Z},i.createElement(_r.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),i.createElement(Lr.Z,null,i.createElement(Fr,{entity:k,onConfirm:N})),i.createElement(Or.Z,null,i.createElement(pn.Z,{onClick:Z,color:"primary"},"Cancel")));var Br=e(94339),Mr=e(11776),wn=e(12231),fr=e(86136),mr=e(49378),hr=e(9520),Nr=e(47603);const gr=(0,D.Z)(w=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:w.spacing(1,0,1,0)},title:{margin:w.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:w.palette.text.primary},menuItem:{minHeight:w.spacing(6)},groupWrapper:{margin:w.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function pr(w){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:Nr.Z},{id:"starred",label:"Starred",icon:lr.Z}]},{name:w!=null?w:"Company",items:[{id:"all",label:"All"}]}]}const yr=({initialFilter:w,availableFilters:N})=>{var Cn,xn;const Z=gr(),ue=(Cn=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?Cn:"Company",{filters:se,updateFilters:fe,backendEntities:Ue,queryParameters:Ve}=mt(),tt=["starred","all"],ct=pr(ue).map(zt=>({...zt,items:zt.items.filter(({id:Jt})=>["group","user"].some(Wn=>Wn===Ve.kind)?tt.includes(Jt):!N||N.includes(Jt))})).filter(({items:zt})=>!!zt.length),{isStarredEntity:We}=ut(),{isOwnedEntity:Ge}=Ne(),It=(0,i.useMemo)(()=>new Ae("owned",Ge,We),[Ge,We]),Dt=(0,i.useMemo)(()=>new Ae("starred",Ge,We),[Ge,We]),[Mt,Gt]=(0,i.useState)(Ue),tn=Mt.filter(zt=>It.filterEntity(zt)).length,[Yt,yn]=(0,i.useState)(tn>0?(xn=[Ve.user].flat()[0])!=null?xn:w:"all");(0,i.useEffect)(()=>{fe({user:Yt?new Ae(Yt,Ge,We):void 0})},[Yt,Ge,We,fe]),(0,i.useEffect)(()=>{const zt=wt((0,m.compact)(Object.values({...se,user:void 0})));Gt(Ue.filter(zt))},[se,Ue]);function Zt(zt){switch(zt){case"owned":return tn;case"starred":return Mt.filter(Jt=>Dt.filterEntity(Jt)).length;default:return Mt.length}}return i.createElement(Br.Z,{className:Z.root},ct.map(zt=>i.createElement(i.Fragment,{key:zt.name},i.createElement(ee.Z,{variant:"subtitle2",className:Z.title},zt.name),i.createElement(Br.Z,{className:Z.groupWrapper},i.createElement(Mr.Z,{disablePadding:!0,dense:!0},zt.items.map(Jt=>{var Wn,zn;return i.createElement(wn.Z,{key:Jt.id,button:!0,divider:!0,onClick:()=>yn(Jt.id),selected:Jt.id===((Wn=se.user)==null?void 0:Wn.value),className:Z.menuItem},Jt.icon&&i.createElement(fr.Z,{className:Z.listIcon},i.createElement(Jt.icon,{fontSize:"small"})),i.createElement(mr.Z,null,i.createElement(ee.Z,{variant:"body1","data-testid":`user-picker-${Jt.id}`},Jt.label)),i.createElement(hr.Z,null,(zn=Zt(Jt.id))!=null?zn:"-"))}))))))},kn=({children:w,value:N})=>{var Ve;const[Z,k]=useState((Ve=N==null?void 0:N.filters)!=null?Ve:{}),ue=useCallback(tt=>{k(ct=>{const We=typeof tt=="function"?tt(ct):tt;return{...ct,...We}})},[]),se={entities:[],backendEntities:[],updateFilters:ue,filters:Z,loading:!1,queryParameters:{}},{filters:fe,...Ue}=N!=null?N:{};return React.createElement(EntityListContext.Provider,{value:{...se,...Ue}},w)};var Er=e(92787)},92787:function(){},39398:function(J,o,e){"use strict";e.r(o),e.d(o,{AboutCard:function(){return Le},AboutContent:function(){return ie},AboutField:function(){return K}});var r=e(52890),t=e(9118),l=e(36964),f=e(36356),g=e(19139),s=e(79692),h=e(94339),m=e(32552),y=e(61837),c=e(85256),E=e(24579),i=e(52866),S=e(30254),F=e(27604),P=e(2784),j=e(47851),x=e(60905),I=e(90436),b=e(7089);const O=(0,s.Z)(me=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:me.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}})),K=({label:me,value:je,gridSizes:Te,children:Qe})=>{const st=O(),_e=(0,l.useElementFilter)(Qe,nt=>nt.getElements()),gt=_e.length>0?_e:P.createElement(I.Z,{variant:"body2",className:st.value},je||"unknown");return P.createElement(x.Z,{item:!0,...Te},P.createElement(I.Z,{variant:"subtitle2",className:st.label},me),gt)},_=(0,s.Z)({description:{wordBreak:"break-word"}}),ie=({entity:me})=>{var rt,Ct,Tt,Ot,Ft,mt;const je=_(),Te=me.kind.toLocaleLowerCase("en-US")==="system",Qe=me.kind.toLocaleLowerCase("en-US")==="resource",st=me.kind.toLocaleLowerCase("en-US")==="component",_e=me.kind.toLocaleLowerCase("en-US")==="api",gt=me.kind.toLocaleLowerCase("en-US")==="template",nt=me.kind.toLocaleLowerCase("en-US")==="location",at=me.kind.toLocaleLowerCase("en-US")==="group",vt=(0,g.getEntityRelations)(me,r.cz,{kind:"system"}),wt=(0,g.getEntityRelations)(me,r.cz,{kind:"component"}),Lt=(0,g.getEntityRelations)(me,r.cz,{kind:"domain"}),pt=(0,g.getEntityRelations)(me,r.S4);return P.createElement(x.Z,{container:!0},P.createElement(K,{label:"Description",gridSizes:{xs:12}},P.createElement(I.Z,{variant:"body2",paragraph:!0,className:je.description},((rt=me==null?void 0:me.metadata)==null?void 0:rt.description)||"No description")),P.createElement(K,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},pt.length>0&&P.createElement(g.EntityRefLinks,{entityRefs:pt,defaultKind:"group"})),(Te||Lt.length>0)&&P.createElement(K,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},Lt.length>0&&P.createElement(g.EntityRefLinks,{entityRefs:Lt,defaultKind:"domain"})),(_e||st||Qe||vt.length>0)&&P.createElement(K,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},vt.length>0&&P.createElement(g.EntityRefLinks,{entityRefs:vt,defaultKind:"system"})),st&&wt.length>0&&P.createElement(K,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},P.createElement(g.EntityRefLinks,{entityRefs:wt,defaultKind:"component"})),(_e||st||Qe||gt||at||nt||typeof((Ct=me==null?void 0:me.spec)==null?void 0:Ct.type)=="string")&&P.createElement(K,{label:"Type",value:(Tt=me==null?void 0:me.spec)==null?void 0:Tt.type,gridSizes:{xs:12,sm:6,lg:4}}),(_e||st||typeof((Ot=me==null?void 0:me.spec)==null?void 0:Ot.lifecycle)=="string")&&P.createElement(K,{label:"Lifecycle",value:(Ft=me==null?void 0:me.spec)==null?void 0:Ft.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),P.createElement(K,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((mt=me==null?void 0:me.metadata)==null?void 0:mt.tags)||[]).map(Pt=>P.createElement(b.Z,{key:Pt,size:"small",label:Pt}))))},pe=(0,s.Z)({gridItemCard:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"},fullHeightCard:{display:"flex",flexDirection:"column",height:"100%"},gridItemCardContent:{flex:1},fullHeightCardContent:{flex:1}});function Le({variant:me}){var Ot,Ft;const je=pe(),{entity:Te}=(0,g.useEntity)(),Qe=(0,l.useApi)(f.q3),st=(0,l.useApi)(g.Ah),_e=(0,l.useApi)(l.alertApiRef),gt=(0,l.useRouteRef)(j.j),nt=(0,g.getEntitySourceLocation)(Te,Qe),at=(0,g.getEntityMetadataEditUrl)(Te),vt={label:"View Source",disabled:!nt,icon:P.createElement(f.nW,{type:nt==null?void 0:nt.integrationType}),href:nt==null?void 0:nt.locationTargetUrl},wt={label:"View TechDocs",disabled:!((Ot=Te.metadata.annotations)==null?void 0:Ot["backstage.io/techdocs-ref"])||!gt,icon:P.createElement(S.Z,null),href:gt&>({namespace:Te.metadata.namespace||r.sk,kind:Te.kind,name:Te.metadata.name})};let Lt="";me==="gridItem"?Lt=je.gridItemCard:me==="fullHeight"&&(Lt=je.fullHeightCard);let pt="";me==="gridItem"?pt=je.gridItemCardContent:me==="fullHeight"&&(pt=je.fullHeightCardContent);const rt=(Ft=Te.metadata.annotations)==null?void 0:Ft[r.Jl],Ct=(rt==null?void 0:rt.startsWith("url:"))||(rt==null?void 0:rt.startsWith("file:")),Tt=(0,P.useCallback)(async()=>{await st.refreshEntity((0,r.eE)(Te)),_e.post({message:"Refresh scheduled",severity:"info"})},[st,_e,Te]);return P.createElement(h.Z,{className:Lt},P.createElement(m.Z,{title:"About",action:P.createElement(P.Fragment,null,Ct&&P.createElement(y.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:Tt},P.createElement(i.Z,null)),P.createElement(y.Z,{component:t.Link,"aria-label":"Edit",disabled:!at,title:"Edit Metadata",to:at!=null?at:"#"},P.createElement(F.Z,null))),subheader:P.createElement(t.HeaderIconLinkRow,{links:[vt,wt]})}),P.createElement(c.Z,null),P.createElement(E.Z,{className:pt},P.createElement(ie,{entity:Te})))}},49782:function(J,o,e){"use strict";e.d(o,{K:function(){return c}});var r=e(2784),t=e(79692),l=e(12420),f=e(97580),g=e(73698),s=e(74603),h=e(12231),m=e(19139);const y=(0,t.Z)(E=>(0,l.Z)({root:{...E.typography.h4}})),c=({initialFilter:E="component"})=>{var b;const i=y(),{kinds:S=[]}=(0,m.useEntityKinds)(),{updateFilters:F,queryParameters:P}=(0,m.useEntityListProvider)(),[j,x]=(0,r.useState)(((b=[P.kind].flat()[0])!=null?b:E).toLocaleLowerCase("en-US"));(0,r.useEffect)(()=>{F({kind:j?new m.EntityKindFilter(j):void 0})},[j,F]);const I=[(0,f.Z)(j)].concat(S).sort().reduce((O,K)=>(O[K.toLocaleLowerCase("en-US")]=K,O),{});return r.createElement(g.Z,{input:r.createElement(s.Z,{value:j}),value:j,onChange:O=>x(O.target.value),classes:i},Object.keys(I).map(O=>r.createElement(h.Z,{value:O,key:O},`${I[O]}s`)))}},7758:function(J,o,e){"use strict";e.r(o),e.d(o,{CatalogPage:function(){return E},DefaultCatalogPage:function(){return c}});var r=e(2784),t=e(10289),l=e(9118),f=e(36964),g=e(19139),s=e(47851),h=e(91730),m=e(26997),y=e(49782);const c=({columns:i,actions:S,initiallySelectedFilter:F="owned"})=>{var x;const P=(x=(0,f.useApi)(f.configApiRef).getOptionalString("organization.name"))!=null?x:"Backstage",j=(0,f.useRouteRef)(s.y);return r.createElement(l.PageWithHeader,{title:`${P} Catalog`,themeId:"home"},r.createElement(g.EntityListProvider,null,r.createElement(l.Content,null,r.createElement(l.ContentHeader,{titleComponent:r.createElement(y.K,null)},r.createElement(l.CreateButton,{title:"Create Component",to:j&&j()}),r.createElement(l.SupportButton,null,"All your software catalog entities")),r.createElement(m.q7,null,r.createElement(m.Gh,null,r.createElement(g.EntityTypePicker,null),r.createElement(g.UserListPicker,{initialFilter:F}),r.createElement(g.EntityOwnerPicker,null),r.createElement(g.EntityLifecyclePicker,null),r.createElement(g.EntityTagPicker,null)),r.createElement(m.Nz,null,r.createElement(h.E,{columns:i,actions:S}))))))},E=i=>(0,t.pC)()||r.createElement(c,{...i})},17499:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return g},createSystemColumn:function(){return s},createOwnerColumn:function(){return h},createSpecTypeColumn:function(){return m},createSpecLifecycleColumn:function(){return y},createMetadataDescriptionColumn:function(){return c},createTagsColumn:function(){return E}});var r=e(2784),t=e(19139),l=e(7089),f=e(9118);function g(i){function S(F){var P;return((P=F.metadata)==null?void 0:P.title)||(0,t.formatEntityRefTitle)(F,{defaultKind:i==null?void 0:i.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:F},{entity:P}){return S(F).localeCompare(S(P))},render:({entity:F})=>{var P;return r.createElement(t.EntityRefLink,{entityRef:F,defaultKind:(i==null?void 0:i.defaultKind)||"Component",title:(P=F.metadata)==null?void 0:P.title})}}}function s(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.partOfSystemRelations,defaultKind:"system"})}}function h(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.ownedByRelations,defaultKind:"group"})}}function m(){return{title:"Type",field:"entity.spec.type",hidden:!0}}function y(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}}function c(){return{title:"Description",field:"entity.metadata.description",render:({entity:i})=>r.createElement(f.OverflowTooltip,{text:i.metadata.description,placement:"bottom-start"}),width:"auto"}}function E(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:i})=>r.createElement(r.Fragment,null,i.metadata.tags&&i.metadata.tags.map(S=>r.createElement(l.Z,{key:S,label:S,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}},91730:function(J,o,e){"use strict";e.d(o,{E:function(){return y}});var r=e(52890),t=e(19139),l=e(27604),f=e(2997),g=e(76635),s=e(2784),h=e(17499),m=e(9118);const y=({columns:c,actions:E})=>{var Le,me,je;const{isStarredEntity:i,toggleStarredEntity:S}=(0,t.useStarredEntities)(),{loading:F,error:P,entities:j,filters:x}=(0,t.useEntityListProvider)(),I=(0,s.useMemo)(()=>{var Te;return[h.createNameColumn({defaultKind:(Te=x.kind)==null?void 0:Te.value}),h.createSystemColumn(),h.createOwnerColumn(),h.createSpecTypeColumn(),h.createSpecLifecycleColumn(),h.createMetadataDescriptionColumn(),h.createTagsColumn()]},[(Le=x.kind)==null?void 0:Le.value]),b=x.type===void 0,O=(0,g.capitalize)((je=(me=x.user)==null?void 0:me.value)!=null?je:"all");if(P)return s.createElement("div",null,s.createElement(m.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},s.createElement(m.CodeSnippet,{language:"text",text:P.toString()})));const K=[({entity:Te})=>{const Qe=(0,t.getEntityMetadataViewUrl)(Te);return{icon:()=>s.createElement(f.Z,{"aria-label":"View",fontSize:"small"}),tooltip:"View",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:Te})=>{const Qe=(0,t.getEntityMetadataEditUrl)(Te);return{icon:()=>s.createElement(l.Z,{"aria-label":"Edit",fontSize:"small"}),tooltip:"Edit",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:Te})=>{const Qe=i(Te);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,t.favoriteEntityIcon)(Qe),tooltip:(0,t.favoriteEntityTooltip)(Qe),onClick:()=>S(Te)}}],_=j.map(Te=>{const Qe=(0,t.getEntityRelations)(Te,r.cz,{kind:"system"}),st=(0,t.getEntityRelations)(Te,r.S4);return{entity:Te,resolved:{name:(0,t.formatEntityRefTitle)(Te,{defaultKind:"Component"}),ownedByRelationsTitle:st.map(_e=>(0,t.formatEntityRefTitle)(_e,{defaultKind:"group"})).join(", "),ownedByRelations:st,partOfSystemRelationTitle:Qe.map(_e=>(0,t.formatEntityRefTitle)(_e,{defaultKind:"system"})).join(", "),partOfSystemRelations:Qe}}}),ie=(c||I).find(Te=>Te.title==="Type");ie&&(ie.hidden=!b);const pe=_.length>20;return s.createElement(m.Table,{isLoading:F,columns:c||I,options:{paging:pe,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!F,padding:"dense",pageSizeOptions:[20,50,100]},title:`${O} (${j.length})`,data:_,actions:E||K})};y.columns=h},26997:function(J,o,e){"use strict";e.d(o,{Nz:function(){return i},Gh:function(){return E},q7:function(){return l}});var r=e(60905),t=e(2784);const l=({children:S})=>t.createElement(r.Z,{container:!0,style:{position:"relative"}},S);var f=e(41156),g=e(60364),s=e(77277),h=e(4190),m=e(95544),y=e(90436),c=e(36444);const E=({children:S})=>{const F=(0,f.Z)(I=>I.breakpoints.down("md")),P=(0,g.Z)(),[j,x]=(0,t.useState)(!1);return F?t.createElement(t.Fragment,null,t.createElement(s.Z,{style:{marginTop:P.spacing(1),marginLeft:P.spacing(1)},onClick:()=>x(!0),startIcon:t.createElement(c.Z,null)},"Filters"),t.createElement(h.ZP,{open:j,onClose:()=>x(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},t.createElement(m.Z,{m:2},t.createElement(y.Z,{variant:"h6",component:"h2",style:{marginBottom:P.spacing(1)}},"Filters"),S))):t.createElement(r.Z,{item:!0,lg:2},S)},i=({children:S})=>t.createElement(r.Z,{item:!0,xs:12,lg:10},S)},47851:function(J,o,e){"use strict";e.d(o,{y:function(){return t},j:function(){return l}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),l=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]})},20221:function(J,o,e){"use strict";e.d(o,{iM:function(){return F},RV:function(){return f},gI:function(){return P}});var r=e(2784),t=e(36964),l=e(64279);const f=(0,t.createApiRef)({id:"plugin.permission.api"});var g;(function(x){const I="DENY";x.DENY=I;const b="ALLOW";x.ALLOW=b;const O="CONDITIONAL";x.CONDITIONAL=O})(g||(g={}));var s=e(10179),h=e(96279),m=e.n(h),y=e(9571),c=e(30195);const E=c.z.lazy(()=>c.z.object({rule:c.z.string(),params:c.z.array(c.z.unknown())}).or(c.z.object({anyOf:c.z.array(E)})).or(c.z.object({allOf:c.z.array(E)})).or(c.z.object({not:E}))),i=c.z.object({items:c.z.array(c.z.object({id:c.z.string(),result:c.z.literal(g.ALLOW).or(c.z.literal(g.DENY))}).or(c.z.object({id:c.z.string(),result:c.z.literal(g.CONDITIONAL),conditions:E})))});class S{constructor(I){X(this,"enabled");X(this,"discovery");var b;this.discovery=I.discovery,this.enabled=(b=I.config.getOptionalBoolean("permission.enabled"))!=null?b:!1}async authorize(I,b){if(!this.enabled)return I.map(Le=>({result:g.ALLOW}));const O={items:I.map(Le=>({id:y.Z(),...Le}))},K=await this.discovery.getBaseUrl("permission"),_=await m()(`${K}/authorize`,{method:"POST",body:JSON.stringify(O),headers:{...this.getAuthorizationHeader(b==null?void 0:b.token),"content-type":"application/json"}});if(!_.ok)throw await s.VL.fromResponse(_);const ie=await _.json();this.assertValidResponse(O,ie);const pe=ie.items.reduce((Le,me)=>(Le[me.id]=me,Le),{});return O.items.map(Le=>pe[Le.id])}getAuthorizationHeader(I){return I?{Authorization:`Bearer ${I}`}:{}}assertValidResponse(I,b){const K=i.parse(b).items.map(ie=>ie.id);if(!I.items.every(ie=>K.includes(ie.id)))throw new Error("Unexpected authorization response from permission-backend")}}class F{constructor(I,b){this.permissionClient=I,this.identityApi=b}static create(I){const{config:b,discovery:O,identity:K}=I,_=new S({discovery:O,config:b});return new F(_,K)}async authorize(I){return(await this.permissionClient.authorize([I],await this.identityApi.getCredentials()))[0]}}const P=(x,I)=>{const b=(0,t.useApi)(f),{loading:O,error:K,value:_}=(0,l.default)(async()=>{const{result:ie}=await b.authorize({permission:x,resourceRef:I});return ie},[b,x,I]);return O?{loading:!0,allowed:!1}:K?{error:K,loading:!1,allowed:!1}:{loading:!1,allowed:_===g.ALLOW}},j=x=>{const{permission:I,resourceRef:b,errorComponent:O,...K}=x,_=usePermission(I,b),ie=useApp(),{NotFoundErrorPage:pe}=ie.getComponents();let Le=O===void 0?React.createElement(pe,null):O;return _.loading?Le=null:_.allowed&&(Le=x.element),React.createElement(Route,{...K,element:Le})}},91512:function(J,o,e){"use strict";e.d(o,{g:function(){return g},w:function(){return s}});var r=e(36964),t=e(10179),l=e(19126),f=e.n(l);const g=(0,r.createApiRef)({id:"plugin.search.queryservice"});class s{constructor(m){X(this,"discoveryApi");X(this,"identityApi");this.discoveryApi=m.discoveryApi,this.identityApi=m.identityApi}async query(m){const{token:y}=await this.identityApi.getCredentials(),c=f().stringify(m),E=`${await this.discoveryApi.getBaseUrl("search/query")}?${c}`,i=await fetch(E,{headers:y?{Authorization:`Bearer ${y}`}:{}});if(!i.ok)throw await t.VL.fromResponse(i);return i.json()}}},19941:function(J,o,e){"use strict";e.r(o),e.d(o,{DefaultResultListItem:function(){return m}});var r=e(2784),t=e(38402),l=e(86136),f=e(49378),g=e(95544),s=e(85256),h=e(9118);const m=({result:y,icon:c,secondaryAction:E})=>r.createElement(h.Link,{to:y.location},r.createElement(t.Z,{alignItems:"center"},c&&r.createElement(l.Z,null,c),r.createElement(f.Z,{primaryTypographyProps:{variant:"h6"},primary:y.title,secondary:y.text}),E&&r.createElement(g.Z,{alignItems:"flex-end"},E)),r.createElement(s.Z,null))},1795:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchBar:function(){return S},SearchBarBase:function(){return i}});var r=e(2784),t=e(48760),l=e(36964),f=e(50581),g=e(61837),s=e(74603),h=e(21853),m=e(33375),y=e(22313);const c=({children:F})=>{const P=(0,l.useAnalytics)(),{term:j}=(0,y.Rx)();return(0,r.useEffect)(()=>{j&&P.captureEvent("search",j)},[P,j]),r.createElement(r.Fragment,null,F)},E=()=>(0,r.useContext)(y.ci)!==void 0,i=({onChange:F,onKeyDown:P,onSubmit:j,debounceTime:x=200,clearButton:I=!0,fullWidth:b=!0,value:O,inputProps:K={},endAdornment:_,...ie})=>{const pe=(0,l.useApi)(l.configApiRef),[Le,me]=(0,r.useState)(O),je=E();(0,r.useEffect)(()=>{me(vt=>vt!==O?O:vt)},[O]),(0,t.Z)(()=>F(Le),x,[Le]);const Te=(0,r.useCallback)(vt=>{me(vt.target.value)},[me]),Qe=(0,r.useCallback)(vt=>{P&&P(vt),j&&vt.key==="Enter"&&j()},[P,j]),st=(0,r.useCallback)(()=>{F("")},[F]),_e=`Search in ${pe.getOptionalString("app.title")||"Backstage"}`,gt=r.createElement(f.Z,{position:"start"},r.createElement(g.Z,{"aria-label":"Query",disabled:!0},r.createElement(h.Z,null))),nt=r.createElement(f.Z,{position:"end"},r.createElement(g.Z,{"aria-label":"Clear",onClick:st},r.createElement(m.Z,null))),at=r.createElement(c,null,r.createElement(s.Z,{"data-testid":"search-bar-next",value:Le,placeholder:_e,startAdornment:gt,endAdornment:I?nt:_,inputProps:{"aria-label":"Search",...K},fullWidth:b,onChange:Te,onKeyDown:Qe,...ie}));return je?at:r.createElement(y.Nd,null,at)},S=({onChange:F,...P})=>{const{term:j,setTerm:x}=(0,y.Rx)(),I=b=>{F?F(b):x(b)};return r.createElement(i,{value:j,onChange:I,...P})}},22313:function(J,o,e){"use strict";e.d(o,{ci:function(){return s},Nd:function(){return h},Rx:function(){return m}});var r=e(36964),t=e(2784),l=e(64279),f=e(1849),g=e(91512);const s=(0,t.createContext)(void 0),h=({initialState:y={term:"",pageCursor:void 0,filters:{},types:[]},children:c})=>{var st,_e,gt,nt;const E=(0,r.useApi)(g.g),[i,S]=(0,t.useState)(y.pageCursor),[F,P]=(0,t.useState)(y.filters),[j,x]=(0,t.useState)(y.term),[I,b]=(0,t.useState)(y.types),[O,K]=(0,t.useState)(!1),_=(0,t.useCallback)(()=>K(at=>!at),[]),ie=(0,f.Z)(j),pe=(0,l.default)(()=>E.query({term:j,filters:F,pageCursor:i,types:I}),[j,F,I,i]),Le=!pe.loading&&!pe.error&&((st=pe.value)==null?void 0:st.nextPageCursor),me=!pe.loading&&!pe.error&&((_e=pe.value)==null?void 0:_e.previousPageCursor),je=(0,t.useCallback)(()=>{var at;S((at=pe.value)==null?void 0:at.nextPageCursor)},[(gt=pe.value)==null?void 0:gt.nextPageCursor]),Te=(0,t.useCallback)(()=>{var at;S((at=pe.value)==null?void 0:at.previousPageCursor)},[(nt=pe.value)==null?void 0:nt.previousPageCursor]);(0,t.useEffect)(()=>{j&&ie&&j!==ie&&S(void 0)},[j,ie,y.pageCursor]);const Qe={result:pe,filters:F,setFilters:P,open:O,toggleModal:_,term:j,setTerm:x,types:I,setTypes:b,pageCursor:i,setPageCursor:S,fetchNextPage:Le?je:void 0,fetchPreviousPage:me?Te:void 0};return t.createElement(r.AnalyticsContext,{attributes:{searchTypes:I.sort().join(",")}},t.createElement(s.Provider,{value:Qe,children:c}))},m=()=>{const y=(0,t.useContext)(s);if(y===void 0)throw new Error("useSearch must be used within a SearchContextProvider");return y}},65678:function(J,o,e){"use strict";e.d(o,{s:function(){return ie}});var r=e(2784),t=e(60364),l=e(8629),f=e(79249),g=e(27556),s=e(38724),h=e(60905),m=e(85256),y=e(11776),c=e(49429),E=e(69001),i=e(79692),S=e(1795),F=e(19941),P=e(39332),j=e(22313),x=e(8542),I=e(36964),b=e(9118),O=e(20863);const K=(0,i.Z)(pe=>({container:{borderRadius:30,display:"flex",height:"2.4em"},input:{flex:1},paperFullWidth:{height:"calc(100% - 128px)"},dialogActionsContainer:{padding:pe.spacing(1,3)},viewResultsLink:{verticalAlign:"0.5em"}})),_=({open:pe=!0,toggleModal:Le})=>{const me=(0,I.useRouteRef)(O._Z),je=K(),{term:Te}=(0,j.Rx)(),{focusContent:Qe}=(0,b.useContent)(),{transitions:st}=(0,t.Z)(),_e=()=>{Le(),setTimeout(Qe,st.duration.leavingScreen)},gt=()=>{_e()};return r.createElement(l.Z,{classes:{paperFullWidth:je.paperFullWidth},onClose:Le,"aria-labelledby":"search-modal-title",open:pe,fullWidth:!0,maxWidth:"lg"},r.createElement(f.Z,null,r.createElement(g.Z,{className:je.container},r.createElement(S.SearchBar,{className:je.input}))),r.createElement(s.Z,null,r.createElement(h.Z,{container:!0,direction:"row-reverse",justifyContent:"flex-start",alignItems:"center"},r.createElement(h.Z,{item:!0},r.createElement(b.Link,{onClick:()=>{Le(),setTimeout(Qe,st.duration.leavingScreen)},to:`${me()}?query=${Te}`},r.createElement("span",{className:je.viewResultsLink},"View Full Results"),r.createElement(E.Z,{color:"primary"})))),r.createElement(m.Z,null),r.createElement(P.SearchResult,null,({results:nt})=>r.createElement(y.Z,null,nt.map(({document:at})=>r.createElement("div",{role:"button",tabIndex:0,key:`${at.location}-btn`,onClick:_e,onKeyPress:gt},r.createElement(F.DefaultResultListItem,{key:at.location,result:at})))))),r.createElement(c.Z,{className:je.dialogActionsContainer},r.createElement(h.Z,{container:!0,direction:"row"},r.createElement(h.Z,{item:!0,xs:12},r.createElement(x.G,null)))))},ie=({open:pe=!0,toggleModal:Le})=>r.createElement(j.Nd,null,r.createElement(_,{open:pe,toggleModal:Le}))},3992:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchPage:function(){return Bt}});var r=e(2784),t=e(1849),l=e(19126),f=e.n(l),g=e(10289),s=e(22313),h=e(60905),m=e(48760),y=e(79692),c=e(27556),E=e(74603),i=e(61837),S=e(21853),F=e(33375);const P=(0,y.Z)(()=>({root:{display:"flex",alignItems:"center"},input:{flex:1}})),j=({searchQuery:De,handleSearch:ot,handleClearSearchBar:it})=>{const St=P();return r.createElement(c.Z,{component:"form",onSubmit:re=>ot(re),className:St.root},r.createElement(i.Z,{disabled:!0,type:"submit","aria-label":"search"},r.createElement(S.Z,null)),r.createElement(E.Z,{className:St.input,placeholder:"Search in Backstage",value:De,onChange:re=>ot(re),inputProps:{"aria-label":"search backstage"}}),r.createElement(i.Z,{"aria-label":"search",onClick:()=>it()},r.createElement(F.Z,null)))};var x=e(85256),I=e(90436),b=e(99688),O=e(64279),K=e(19139),_=e(36444);const ie=(0,y.Z)(De=>({filters:{width:"250px",display:"flex"},icon:{margin:De.spacing(-1,0,0,0)}})),pe=({numberOfSelectedFilters:De,handleToggleFilters:ot})=>{const it=ie();return r.createElement("div",{className:it.filters},r.createElement(i.Z,{className:it.icon,"aria-label":"settings",onClick:ot},r.createElement(_.Z,null)),r.createElement(I.Z,{variant:"h6"},"Filters (",De||0,")"))};var Le=e(94339),me=e(32552),je=e(77277),Te=e(24579),Qe=e(73698),st=e(12231),_e=e(11776),gt=e(38402),nt=e(21324),at=e(49378);const vt=(0,y.Z)(De=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:De.spacing(0,1,0,1)},dropdown:{width:"100%"}})),wt=({filters:De,filterOptions:ot,resetFilters:it,updateSelected:St,updateChecked:re})=>{const te=vt();return r.createElement(Le.Z,{className:te.filters},r.createElement(me.Z,{title:r.createElement(I.Z,{variant:"h6"},"Filters"),action:r.createElement(je.Z,{color:"primary",onClick:()=>it()},"CLEAR ALL")}),r.createElement(x.Z,null),ot.kind.length===0&&ot.lifecycle.length===0&&r.createElement(Te.Z,null,r.createElement(I.Z,{variant:"subtitle2"},"Filters cannot be applied to available results")),ot.kind.length>0&&r.createElement(Te.Z,null,r.createElement(I.Z,{variant:"subtitle2"},"Kind"),r.createElement(Qe.Z,{id:"outlined-select",onChange:C=>{var T;return St((T=C==null?void 0:C.target)==null?void 0:T.value)},variant:"outlined",className:te.dropdown,value:De.selected},ot.kind.map(C=>r.createElement(st.Z,{selected:C==="",dense:!0,key:C,value:C},C)))),ot.lifecycle.length>0&&r.createElement(Te.Z,null,r.createElement(I.Z,{variant:"subtitle2"},"Lifecycle"),r.createElement(_e.Z,{disablePadding:!0,dense:!0},ot.lifecycle.map(C=>r.createElement(gt.Z,{key:C,dense:!0,button:!0,onClick:()=>re(C)},r.createElement(nt.Z,{edge:"start",disableRipple:!0,className:te.checkbox,color:"primary",checked:De.checked.includes(C),tabIndex:-1,value:C,name:C}),r.createElement(at.Z,{id:C,primary:C}))))))};var Lt=e(52890),pt=e(9118),rt=e(36964);const Ct=(0,y.Z)(De=>({searchQuery:{color:De.palette.text.primary,background:De.palette.background.default,borderRadius:"10%"},tableHeader:{margin:De.spacing(1,0,0,0),display:"flex"},divider:{width:"1px",margin:De.spacing(0,2),padding:De.spacing(2,0)}})),Tt=[{title:"Name",field:"name",highlight:!0,render:De=>r.createElement(pt.Link,{to:De.url||""},De.name)},{title:"Description",field:"description"},{title:"Owner",field:"owner"},{title:"Kind",field:"kind"},{title:"LifeCycle",field:"lifecycle"}],Ot=({searchQuery:De,numberOfSelectedFilters:ot,numberOfResults:it,handleToggleFilters:St})=>{const re=Ct();return r.createElement("div",{className:re.tableHeader},r.createElement(pe,{numberOfSelectedFilters:ot,handleToggleFilters:St}),r.createElement(x.Z,{className:re.divider,orientation:"vertical"}),r.createElement(h.Z,{item:!0,xs:12},De?r.createElement(I.Z,{variant:"h6"},`${it} `,it>1?"results for ":"result for ",r.createElement("span",{className:re.searchQuery},'"',De,'"')," "):r.createElement(I.Z,{variant:"h6"},`${it} results`)))},Ft=({searchQuery:De})=>{const ot=(0,rt.useApi)(K.Ah),[it,St]=(0,r.useState)(!1),[re,te]=(0,r.useState)({selected:"",checked:[]}),[C,T]=(0,r.useState)([]),{loading:B,error:H,value:Y}=(0,O.default)(async()=>(await ot.getEntities()).items.map(ve=>{var Ee,be,Rt,ut,Ke;return{name:ve.metadata.name,description:ve.metadata.description,owner:typeof((Ee=ve.spec)==null?void 0:Ee.owner)=="string"?(be=ve.spec)==null?void 0:be.owner:void 0,kind:ve.kind,lifecycle:typeof((Rt=ve.spec)==null?void 0:Rt.lifecycle)=="string"?(ut=ve.spec)==null?void 0:ut.lifecycle:void 0,url:`/catalog/${((Ke=ve.metadata.namespace)==null?void 0:Ke.toLocaleLowerCase("en-US"))||Lt.sk}/${ve.kind.toLocaleLowerCase("en-US")}/${ve.metadata.name}`}}),[]);if((0,r.useEffect)(()=>{if(Y){let Ie=Y;re.selected!==""&&(Ie=Y.filter(ve=>re.selected.includes(ve.kind))),re.checked.length>0&&(Ie=Ie.filter(ve=>ve.lifecycle&&re.checked.includes(ve.lifecycle))),De&&(Ie=Ie.filter(ve=>{var Ee,be,Rt;return((Ee=ve.name)==null?void 0:Ee.toLocaleLowerCase("en-US").includes(De))||((be=ve.name)==null?void 0:be.toLocaleLowerCase("en-US").includes(De.split(" ").join("-")))||((Rt=ve.description)==null?void 0:Rt.toLocaleLowerCase("en-US").includes(De))})),T(Ie)}},[re,De,Y]),B)return r.createElement(pt.Progress,null);if(H)return r.createElement(b.Z,{severity:"error"},"Error encountered while fetching search results. ",H.toString());if(!Y||Y.length===0)return r.createElement(pt.EmptyState,{missing:"data",title:"Sorry, no results were found"});const le=()=>{te({selected:"",checked:[]})},Ae=Ie=>{te(ve=>({...ve,selected:Ie}))},ye=Ie=>{if(re.checked.includes(Ie)){te(ve=>({...ve,checked:ve.checked.filter(Ee=>Ee!==Ie)}));return}te(ve=>({...ve,checked:[...ve.checked,Ie]}))},Fe=Y.reduce((Ie,ve)=>(ve.kind&&Ie.kind.indexOf(ve.kind)<0&&Ie.kind.push(ve.kind),ve.lifecycle&&Ie.lifecycle.indexOf(ve.lifecycle)<0&&Ie.lifecycle.push(ve.lifecycle),Ie),{kind:[],lifecycle:[]});return r.createElement(r.Fragment,null,r.createElement(h.Z,{container:!0},it&&r.createElement(h.Z,{item:!0,xs:3},r.createElement(wt,{filters:re,filterOptions:Fe,resetFilters:le,updateSelected:Ae,updateChecked:ye})),r.createElement(h.Z,{item:!0,xs:it?9:12},r.createElement(pt.Table,{options:{paging:!0,pageSize:20,search:!1},data:C,columns:Tt,title:r.createElement(Ot,{searchQuery:De,numberOfResults:C.length,numberOfSelectedFilters:(re.selected!==""?1:0)+re.checked.length,handleToggleFilters:()=>St(!it)})}))))},mt=()=>{const[De,ot]=(0,pt.useQueryParamState)("query"),[it,St]=(0,r.useState)(De!=null?De:""),re=C=>{C.preventDefault(),St(C.target.value)};(0,r.useEffect)(()=>St(De!=null?De:""),[De]),(0,m.Z)(()=>{ot(it)},200,[it]);const te=()=>{St("")};return r.createElement(pt.Page,{themeId:"home"},r.createElement(pt.Header,{title:"Search"}),r.createElement(pt.Content,null,r.createElement(h.Z,{container:!0,direction:"row"},r.createElement(h.Z,{item:!0,xs:12},r.createElement(j,{handleSearch:re,handleClearSearchBar:te,searchQuery:it})),r.createElement(h.Z,{item:!0,xs:12},r.createElement(Ft,{searchQuery:(De!=null?De:"").toLocaleLowerCase("en-US")})))))},Pt=()=>{const De=(0,g.TH)(),{term:ot,setTerm:it,types:St,setTypes:re,pageCursor:te,setPageCursor:C,filters:T,setFilters:B}=(0,s.Rx)(),H=(0,t.Z)(De.search);return(0,r.useEffect)(()=>{if(De.search===H)return;const Y=f().parse(De.search.substring(1),{arrayLimit:0})||{};Y.filters&&B(Y.filters),Y.query&&it(Y.query),Y.pageCursor&&C(Y.pageCursor),Y.types&&re(Y.types)},[H,De,it,re,C,B]),(0,r.useEffect)(()=>{const Y=f().stringify({query:ot,types:St,pageCursor:te,filters:T},{arrayFormat:"brackets"}),le=`${window.location.pathname}?${Y}`;window.history.replaceState(null,document.title,le)},[ot,St,te,T]),null},Bt=()=>{const De=(0,g.pC)();return r.createElement(s.Nd,null,r.createElement(Pt,null),De||r.createElement(mt,null))}},39332:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchResult:function(){return f}});var r=e(9118),t=e(2784),l=e(22313);const f=({children:g})=>{const{result:{loading:s,error:h,value:m}}=(0,l.Rx)();return s?t.createElement(r.Progress,null):h?t.createElement(r.ResponseErrorPanel,{title:"Error encountered while fetching search results",error:h}):(m==null?void 0:m.results.length)?t.createElement(t.Fragment,null,g({results:m.results})):t.createElement(r.EmptyState,{missing:"data",title:"Sorry, no results were found"})}},8542:function(J,o,e){"use strict";e.d(o,{G:function(){return m}});var r=e(79692),t=e(77277),l=e(35352),f=e(27742),g=e(2784),s=e(22313);const h=(0,r.Z)(y=>({root:{display:"flex",justifyContent:"space-between",gap:y.spacing(2),margin:y.spacing(2,0)}})),m=()=>{const{fetchNextPage:y,fetchPreviousPage:c}=(0,s.Rx)(),E=h();return!y&&!c?g.createElement(g.Fragment,null):g.createElement("nav",{"arial-label":"pagination navigation",className:E.root},g.createElement(t.Z,{"aria-label":"previous page",disabled:!c,onClick:c,startIcon:g.createElement(l.Z,null)},"Previous"),g.createElement(t.Z,{"aria-label":"next page",disabled:!y,onClick:y,endIcon:g.createElement(f.Z,null)},"Next"))}},20863:function(J,o,e){"use strict";e.d(o,{_Z:function(){return l}});var r=e(91512),t=e(36964);const l=(0,t.createRouteRef)({id:"search"}),f=(0,t.createRouteRef)({id:"search:next"}),g=(0,t.createPlugin)({id:"search",apis:[(0,t.createApiFactory)({api:r.g,deps:{discoveryApi:t.discoveryApiRef,identityApi:t.identityApiRef},factory:({discoveryApi:P,identityApi:j})=>new r.w({discoveryApi:P,identityApi:j})})],routes:{root:l,nextRoot:f}}),s=g.provide((0,t.createRoutableExtension)({name:"SearchPage",component:()=>Promise.resolve().then(e.bind(e,3992)).then(P=>P.SearchPage),mountPoint:l})),h=g.provide((0,t.createRoutableExtension)({name:"SearchPageNext",component:()=>Promise.resolve().then(e.bind(e,3992)).then(P=>P.SearchPage),mountPoint:f})),m=g.provide((0,t.createComponentExtension)({name:"SearchBar",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(P=>P.SearchBar)}})),y=g.provide((0,t.createComponentExtension)({name:"SearchBarNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(P=>P.SearchBar)}})),c=g.provide((0,t.createComponentExtension)({name:"SearchResult",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(P=>P.SearchResult)}})),E=g.provide((0,t.createComponentExtension)({name:"SearchResultNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(P=>P.SearchResult)}})),i=g.provide((0,t.createComponentExtension)({name:"SidebarSearchModal",component:{lazy:()=>e.e(3825).then(e.bind(e,43825)).then(P=>P.SidebarSearchModal)}})),S=g.provide((0,t.createComponentExtension)({name:"DefaultResultListItem",component:{lazy:()=>Promise.resolve().then(e.bind(e,19941)).then(P=>P.DefaultResultListItem)}})),F=g.provide((0,t.createComponentExtension)({name:"HomePageSearchBar",component:{lazy:()=>e.e(6105).then(e.bind(e,46105)).then(P=>P.HomePageSearchBar)}}))},94067:function(J,o,e){"use strict";e.r(o),e.d(o,{EmbeddedDocsRouter:function(){return F},Router:function(){return S},isTechDocsAvailable:function(){return i}});var r=e(2784),t=e(19139),l=e(10289),f=e(41481),g=e(31752),s=e(73873),h=e(97589),m=e(36964);const y=({entity:P})=>{var x;const j=(0,m.useApi)(m.configApiRef);return r.createElement(s.Ej,{withSearch:!1,entityRef:{namespace:(0,h.D)((x=P.metadata.namespace)!=null?x:"default",j),kind:(0,h.D)(P.kind,j),name:(0,h.D)(P.metadata.name,j)}})};var c=e(9118);const E="backstage.io/techdocs-ref",i=P=>{var j,x;return Boolean((x=(j=P==null?void 0:P.metadata)==null?void 0:j.annotations)==null?void 0:x[E])},S=()=>r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/",element:r.createElement(f.TechDocsIndexPage,null)}),r.createElement(l.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(g.TechDocsPage,null)})),F=P=>{var I;const{entity:j}=(0,t.useEntity)();return((I=j.metadata.annotations)==null?void 0:I[E])?r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/*",element:r.createElement(y,{entity:j})})):r.createElement(c.MissingAnnotationEmptyState,{annotation:E})}},3337:function(J,o,e){"use strict";e.d(o,{D:function(){return t},g:function(){return l}});var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),l=(0,r.createApiRef)({id:"plugin.techdocs.service"})},71226:function(J,o,e){"use strict";e.d(o,{O:function(){return c}});var r=e(2784),t=e(79692),l=e(49378),f=e(38402),g=e(85256),s=e(9118),h=e(15277),m=e.n(h);const y=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),c=({result:E,lineClamp:i=5,asListItem:S=!0,asLink:F=!0,title:P})=>{const j=y(),x=()=>{var O;return r.createElement(l.Z,{className:j.itemText,primaryTypographyProps:{variant:"h6"},primary:P||`${E.title} | ${(O=E.entityTitle)!=null?O:E.name} docs`,secondary:r.createElement(m(),{line:i,truncateText:"\u2026",text:E.text,element:"span"})})},I=({children:O})=>F?r.createElement(s.Link,{to:E.location},O):r.createElement(r.Fragment,null,O),b=({children:O})=>S?r.createElement(r.Fragment,null,r.createElement(f.Z,{alignItems:"flex-start",className:j.flexContainer},O),r.createElement(g.Z,{component:"li"})):r.createElement(r.Fragment,null,O);return r.createElement(I,null,r.createElement(b,null,r.createElement(x,null)))}},97589:function(J,o,e){"use strict";e.d(o,{D:function(){return r}});function r(t,l){return l.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},10187:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsCardGrid:function(){return c}});var r=e(2784),t=e(36964),l=e(94339),f=e(16111),g=e(24579),s=e(14503),h=e(68725),m=e(9118),y=e(97589);const c=({entities:E})=>{const i=(0,t.useRouteRef)(h.Fw),S=(0,t.useApi)(t.configApiRef);return E?r.createElement(m.ItemCardGrid,{"data-testid":"docs-explore"},(E==null?void 0:E.length)?E.map((F,P)=>{var j,x;return r.createElement(l.Z,{key:P},r.createElement(f.Z,null,r.createElement(m.ItemCardHeader,{title:(j=F.metadata.title)!=null?j:F.metadata.name})),r.createElement(g.Z,null,F.metadata.description),r.createElement(s.Z,null,r.createElement(m.Button,{to:i({namespace:(0,y.D)((x=F.metadata.namespace)!=null?x:"default",S),kind:(0,y.D)(F.kind,S),name:(0,y.D)(F.metadata.name,S)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null}},83201:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsTable:function(){return E}});var r=e(2784),t=e(95074),l=e(36964),f=e(52890),g=e(19139),s=e(68725),h=e(9118),m=e(50294),y=e(67430),c=e(97589);const E=({entities:i,title:S,loading:F,columns:P,actions:j})=>{const[,x]=(0,t.Z)(),I=(0,l.useRouteRef)(s.Fw),b=(0,l.useApi)(l.configApiRef);if(!i)return null;const O=i.map(ie=>{var Le;const pe=(0,g.getEntityRelations)(ie,f.S4);return{entity:ie,resolved:{docsUrl:I({namespace:(0,c.D)((Le=ie.metadata.namespace)!=null?Le:"default",b),kind:(0,c.D)(ie.kind,b),name:(0,c.D)(ie.metadata.name,b)}),ownedByRelations:pe,ownedByRelationsTitle:pe.map(me=>(0,g.formatEntityRefTitle)(me,{defaultKind:"group"})).join(", ")}}}),K=[y.createNameColumn(),y.createOwnerColumn(),y.createTypeColumn()],_=[m.createCopyDocsUrlAction(x)];return r.createElement(r.Fragment,null,F||O&&O.length>0?r.createElement(h.Table,{isLoading:F,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:O,columns:P||K,actions:j||_,title:S?`${S} (${O.length})`:`All (${O.length})`}):r.createElement(h.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(h.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))}},57110:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsCustomHome:function(){return i}});var r=e(2784),t=e(64279),l=e(79692),f=e(19139),g=e(83201),s=e(10187),h=e(1114),m=e(9118),y=e(36964);const c={DocsTable:g.DocsTable,DocsCardGrid:s.DocsCardGrid},E=({config:S,entities:F,index:P})=>{const x=(0,l.Z)({panelContainer:{marginBottom:"2rem",...S.panelCSS?S.panelCSS:{}}})(),{value:I}=(0,f.useOwnUser)(),b=c[S.panelType],O=F.filter(K=>S.filterPredicate==="ownedByUser"?I?(0,f.isOwnerOf)(I,K):!1:typeof S.filterPredicate=="function"&&S.filterPredicate(K));return r.createElement(r.Fragment,null,r.createElement(m.ContentHeader,{title:S.title,description:S.description},P===0?r.createElement(m.SupportButton,null,"Discover documentation in your ecosystem."):null),r.createElement("div",{className:x.panelContainer},r.createElement(b,{"data-testid":"techdocs-custom-panel",entities:O})))},i=({tabsConfig:S})=>{const[F,P]=(0,r.useState)(0),j=(0,y.useApi)(f.Ah),{value:x,loading:I,error:b}=(0,t.default)(async()=>(await j.getEntities({filter:{"metadata.annotations.backstage.io/techdocs-ref":f.n3},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(_=>{var ie;return!!((ie=_.metadata.annotations)==null?void 0:ie["backstage.io/techdocs-ref"])})),O=S[F];return I?r.createElement(h.j,null,r.createElement(m.Content,null,r.createElement(m.Progress,null))):b?r.createElement(h.j,null,r.createElement(m.Content,null,r.createElement(m.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(m.CodeSnippet,{language:"text",text:b.toString()})))):r.createElement(h.j,null,r.createElement(m.HeaderTabs,{selectedIndex:F,onChange:K=>P(K),tabs:S.map(({label:K},_)=>({id:_.toString(),label:K}))}),r.createElement(m.Content,{"data-testid":"techdocs-content"},O.panels.map((K,_)=>r.createElement(E,{key:_,config:K,entities:x||[],index:_}))))}},41481:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsIndexPage:function(){return g}});var r=e(2784),t=e(10289),l=e(57110);const f=()=>{const s=[{label:"Overview",panels:[{title:"Overview",description:"Explore your internal technical ecosystem through documentation.",panelType:"DocsCardGrid",filterPredicate:()=>!0}]},{label:"Owned Documents",panels:[{title:"Owned documents",description:"Access your documentation.",panelType:"DocsTable",filterPredicate:"ownedByUser"}]}];return r.createElement(l.TechDocsCustomHome,{tabsConfig:s})},g=()=>(0,t.pC)()||r.createElement(f,null)},1114:function(J,o,e){"use strict";e.d(o,{j:function(){return f}});var r=e(2784),t=e(9118),l=e(36964);const f=({children:g})=>{var m;const h=`Documentation available in ${(m=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?m:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:h,themeId:"documentation"},g)}},50294:function(J,o,e){"use strict";e.r(o),e.d(o,{createCopyDocsUrlAction:function(){return f},createStarEntityAction:function(){return g}});var r=e(2784),t=e(39981),l=e(19139);function f(s){return h=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>s(`${window.location.origin}${h.resolved.docsUrl}`)})}function g(s,h){return({entity:m})=>{const y=s(m);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,l.favoriteEntityIcon)(y),tooltip:(0,l.favoriteEntityTooltip)(y),onClick:()=>h(m)}}}},67430:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return g},createOwnerColumn:function(){return s},createTypeColumn:function(){return h}});var r=e(2784),t=e(9118),l=e(19139);function f(m){return m.metadata.title||m.metadata.name}function g(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:m=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:m.resolved.docsUrl},f(m.entity)),subvalue:m.entity.metadata.description})}}function s(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:m})=>r.createElement(l.EntityRefLinks,{entityRefs:m.ownedByRelations,defaultKind:"group"})}}function h(){return{title:"Type",field:"entity.spec.type"}}},80547:function(J,o,e){"use strict";e.d(o,{Ej:function(){return St},DK:function(){return De}});var r=e(2784),t=e(10289),l=e(79692),f=e(60364),g=e(60905),s=e(36964),h=e(36356),m=e(9118),y=e(3337);const c=(re,te,C)=>{const T=re==="src"&&te.endsWith(".svg"),B=!te.match(/^([a-z]*:)?\/\//i),H=te.startsWith(C);return T&&(B||H)},E=({techdocsStorageApi:re,entityId:te,path:C})=>async T=>{const B=await re.getApiOrigin(),H=async(Y,le)=>{for(const Ae of Y)if(Ae.hasAttribute(le)){const ye=Ae.getAttribute(le);if(!ye)return;const Fe=await re.getBaseUrl(ye,te,C);if(c(le,ye,B))try{const ve=await(await fetch(Fe,{credentials:"include"})).text();Ae.setAttribute(le,`data:image/svg+xml;base64,${btoa(ve)}`)}catch{Ae.setAttribute("alt",`Error: ${ye}`)}else Ae.setAttribute(le,Fe)}};return await Promise.all([H(T.querySelectorAll("img"),"src"),H(T.querySelectorAll("script"),"src"),H(T.querySelectorAll("link"),"href"),H(T.querySelectorAll("a[download]"),"href")]),T};var i=e(63925),S=e(67097),F=e(28316),P=e(82717),j=e.n(P);const x=re=>te=>{const C=te.querySelector('[title="Edit this page"]');if(!C||!C.href)return te;const T=new URL(C.href),B=re.byUrl(T);if((B==null?void 0:B.type)!=="github"&&(B==null?void 0:B.type)!=="gitlab")return te;const H=te.querySelector("article>h1").childNodes[0].textContent,Y=encodeURIComponent(`Documentation Feedback: ${H}`),le=encodeURIComponent(`Page source:
|
|
32
|
-
${C.href}
|
|
33
|
-
|
|
34
|
-
Feedback:`),Ae=(B==null?void 0:B.type)==="github"?(0,i.Pb)(T.href,"blob"):T.href,ye=j()(Ae),Fe=`/${ye.organization}/${ye.name}`,Ie=C.cloneNode();switch(B==null?void 0:B.type){case"gitlab":Ie.href=`${T.origin}${Fe}/issues/new?issue[title]=${Y}&issue[description]=${le}`;break;case"github":Ie.href=`${T.origin}${Fe}/issues/new?title=${Y}&body=${le}`;break;default:return te}return F.render(r.createElement(S.Z),Ie),Ie.style.paddingLeft="5px",Ie.title="Leave feedback for this page",Ie.id="git-feedback-link",C==null||C.insertAdjacentElement("beforebegin",Ie),te},I=()=>re=>(((C,T)=>{Array.from(C).filter(B=>B.hasAttribute(T)).forEach(B=>{const H=B.getAttribute(T);if(H){H.match(/^https?:\/\//i)&&B.setAttribute("target","_blank");try{const Y=b(window.location.href);B.setAttribute(T,new URL(H,Y).toString())}catch{B.replaceWith(B.textContent||H)}}})})(Array.from(re.getElementsByTagName("a")),"href"),re);function b(re){const te=new URL(re);return!te.pathname.endsWith("/")&&!te.pathname.endsWith(".html")&&(te.pathname+="/"),te.toString()}const O=({baseUrl:re,onClick:te})=>C=>(Array.from(C.getElementsByTagName("a")).forEach(T=>{T.addEventListener("click",B=>{const Y=T.getAttribute("href");!Y||Y.startsWith(re)&&(B.preventDefault(),te(B,Y))})}),C),K=()=>re=>(Array.from(re.querySelectorAll("code")).forEach(te=>{var B;const C=document.createElement("button"),T=te.textContent||"";C.className="md-clipboard md-icon",C.title="Copy to clipboard",C.innerHTML='<svg viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg>',C.addEventListener("click",()=>navigator.clipboard.writeText(T)),(B=te==null?void 0:te.parentElement)==null||B.prepend(C)}),re),_=()=>re=>{var te;return(te=re.querySelector(".md-header"))==null||te.remove(),re},ie=()=>re=>{var te;return(te=re.querySelector(".md-footer-copyright"))==null||te.remove(),re},pe=({docStorageUrl:re,onLoading:te,onLoaded:C})=>T=>{const B=Array.from(T.querySelectorAll('head > link[rel="stylesheet"]')).filter(Y=>{var le;return(le=Y.getAttribute("href"))==null?void 0:le.startsWith(re)});let H=B.length;return H>0&&te(T),B.forEach(Y=>Y.addEventListener("load",()=>{H-=1,H===0&&C(T)})),T};var Le=e(35368),me=e.n(Le);const je=/main\.[A-Fa-f0-9]{8}\.min\.css$/,Te=/^https:\/\/fonts\.googleapis\.com/,Qe=/^https:\/\/fonts\.gstatic\.com/,st=re=>{if(re.nodeName&&re.nodeName==="LINK"){const te=re.getAttribute("href")||"";te.match(je)&&re.setAttribute("rel","stylesheet"),te.match(Te)&&re.setAttribute("rel","stylesheet"),te.match(Qe)&&re.setAttribute("rel","preconnect")}return re},_e=re=>te=>{if(te.nodeName==="IFRAME"){const C=te.getAttribute("src");if(!C)return te.remove(),te;try{const T=new URL(C);re.some(H=>T.host===H)||te.remove()}catch(T){console.warn(`Invalid iframe src, ${T}`),te.remove()}}return te},gt=re=>{const te=(re==null?void 0:re.getOptionalStringArray("allowedIframeHosts"))||[];return C=>{me().addHook("afterSanitizeAttributes",st);const T=["link"];return te.length>0&&(me().addHook("beforeSanitizeElements",_e(te)),T.push("iframe")),me().sanitize(C.innerHTML,{ADD_TAGS:T,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})}},nt=({css:re})=>te=>(te.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${re}</style>`),te),at=()=>re=>(setTimeout(()=>{var te;if(window.location.hash){const C=window.location.hash.slice(1);(te=re==null?void 0:re.querySelector(`#${C}`))==null||te.scrollIntoView()}},200),re),vt=async(re,te)=>{let C;if(typeof re=="string")C=new DOMParser().parseFromString(re,"text/html").documentElement;else if(re instanceof Element)C=re;else throw new Error("dom is not a recognized type");for(const T of te)C=await T(C);return C};var wt=e(82957),Lt=e(25921),pt=e(64279),rt=e(77446);function Ct({contentLoading:re,content:te,activeSyncState:C}){return re||C==="BUILD_READY_RELOAD"||!te&&C==="CHECKING"?"CHECKING":!te&&C==="BUILDING"?"INITIAL_BUILD":te?C==="BUILDING"?"CONTENT_STALE_REFRESHING":C==="BUILD_READY"?"CONTENT_STALE_READY":C==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Tt(re,te){const C={...re};switch(te.type){case"sync":te.state==="CHECKING"&&(C.buildLog=[]),C.activeSyncState=te.state,C.syncError=te.syncError;break;case"contentLoading":C.contentLoading=!0,C.contentError=void 0;break;case"content":typeof te.path=="string"&&(C.path=te.path),C.contentLoading=!1,C.content=te.content,C.contentError=te.contentError;break;case"buildLog":C.buildLog=C.buildLog.concat(te.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(C.activeSyncState)&&["contentLoading","content"].includes(te.type)&&(C.activeSyncState="UP_TO_DATE",C.buildLog=[]),C}function Ot(re,te,C,T){var Fe,Ie;const[B,H]=(0,r.useReducer)(Tt,{activeSyncState:"CHECKING",path:T,contentLoading:!0,buildLog:[]}),Y=(0,s.useApi)(y.D),{retry:le}=(0,rt.Z)(async()=>{H({type:"contentLoading"});try{const ve=await Y.getEntityDocs({kind:re,namespace:te,name:C},T);return H({type:"content",content:ve,path:T}),ve}catch(ve){H({type:"content",contentError:ve,path:T})}},[Y,re,te,C,T]),Ae=(0,r.useRef)({content:void 0,reload:()=>{}});return Ae.current={content:B.content,reload:le},(0,pt.default)(async()=>{H({type:"sync",state:"CHECKING"});const ve=setTimeout(()=>{H({type:"sync",state:"BUILDING"})},1e3);try{switch(await Y.syncEntityDocs({kind:re,namespace:te,name:C},be=>{H({type:"buildLog",log:be})})){case"updated":Ae.current.content?H({type:"sync",state:"BUILD_READY"}):(Ae.current.reload(),H({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":H({type:"sync",state:"UP_TO_DATE"});break;default:H({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(Ee){H({type:"sync",state:"ERROR",syncError:Ee})}finally{clearTimeout(ve)}},[re,C,te,Y,H,Ae]),{state:(0,r.useMemo)(()=>Ct({activeSyncState:B.activeSyncState,contentLoading:B.contentLoading,content:B.content}),[B.activeSyncState,B.content,B.contentLoading]),contentReload:le,path:B.path,content:B.content,contentErrorMessage:(Fe=B.contentError)==null?void 0:Fe.toString(),syncErrorMessage:(Ie=B.syncError)==null?void 0:Ie.toString(),buildLog:B.buildLog}}const Ft=(0,l.Z)(re=>({searchBar:{marginLeft:"20rem",maxWidth:"calc(100% - 20rem * 2 - 3rem)",marginTop:re.spacing(1),"@media screen and (max-width: 76.1875em)":{marginLeft:"10rem",maxWidth:"calc(100% - 10rem)"}}})),mt=(0,r.createContext)({}),Pt=({children:re,entityRef:te})=>{const{"*":C}=(0,t.UO)(),{kind:T,namespace:B,name:H}=te,Y=Ot(T,B,H,C);return r.createElement(mt.Provider,{value:Y},re)},Bt=(re,te)=>C=>React.createElement(Pt,{entityRef:te},React.createElement(re,{...C})),De=()=>(0,r.useContext)(mt),ot=re=>{const te=(0,t.s0)(),C=(0,f.Z)(),T=(0,s.useApi)(y.D),B=(0,s.useApi)(h.q3),H=(0,s.useApi)(s.configApiRef),{namespace:Y="",kind:le="",name:Ae=""}=re,{state:ye,path:Fe,content:Ie}=De(),[ve,Ee]=(0,r.useState)(),[be,Rt]=(0,r.useState)(null),{isPinned:ut}=(0,r.useContext)(m.SidebarPinStateContext),Ke=(0,r.useCallback)(()=>{if(!be||!ve)return;const Ne=be.querySelector(".md-container > .md-tabs");ve.forEach($e=>{const Ye=Math.max(be.getBoundingClientRect().top,0);$e.style.top=Ne?`${Ye+Ne.getBoundingClientRect().height}px`:`${Ye}px`})},[be,ve]);(0,r.useEffect)(()=>(Ke(),window.addEventListener("scroll",Ke,!0),window.addEventListener("resize",Ke),()=>{window.removeEventListener("scroll",Ke,!0),window.removeEventListener("resize",Ke)}),[Ke,ye]);const oe=(0,r.useCallback)(()=>{if(!be)return;const Ne=be.querySelector(".md-footer");Ne&&(Ne.style.width=`${be.getBoundingClientRect().width}px`)},[be]);(0,r.useEffect)(()=>(oe(),window.addEventListener("resize",oe),()=>{window.removeEventListener("resize",oe)}));const Be=(0,r.useCallback)((Ne,$e)=>vt(Ne,[gt(H.getOptionalConfig("techdocs.sanitizer")),E({techdocsStorageApi:T,entityId:{kind:le,name:Ae,namespace:Y},path:$e}),I(),_(),ie(),x(B),nt({css:`
|
|
35
|
-
body {
|
|
36
|
-
font-family: ${C.typography.fontFamily};
|
|
37
|
-
--md-text-color: ${C.palette.text.primary};
|
|
38
|
-
--md-text-link-color: ${C.palette.primary.main};
|
|
39
|
-
|
|
40
|
-
--md-code-fg-color: ${C.palette.text.primary};
|
|
41
|
-
--md-code-bg-color: ${C.palette.background.paper};
|
|
42
|
-
--md-accent-fg-color: ${C.palette.primary.main};
|
|
43
|
-
--md-default-fg-color--lightest: ${C.palette.textVerySubtle};
|
|
44
|
-
}
|
|
45
|
-
.md-main__inner { margin-top: 0; }
|
|
46
|
-
.md-sidebar { position: fixed; bottom: 100px; width: 20rem; }
|
|
47
|
-
.md-sidebar--secondary { right: 2rem; }
|
|
48
|
-
.md-content { margin-bottom: 50px }
|
|
49
|
-
.md-footer { position: fixed; bottom: 0px; }
|
|
50
|
-
.md-footer-nav__link { width: 20rem;}
|
|
51
|
-
.md-content { margin-left: 20rem; max-width: calc(100% - 20rem * 2 - 3rem); }
|
|
52
|
-
.md-typeset { font-size: 1rem; }
|
|
53
|
-
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: bold; }
|
|
54
|
-
.md-nav { font-size: 1rem; }
|
|
55
|
-
.md-grid { max-width: 90vw; margin: 0 }
|
|
56
|
-
.md-typeset blockquote {
|
|
57
|
-
color: ${C.palette.textSubtle};
|
|
58
|
-
border-left: 0.2rem solid ${C.palette.textVerySubtle};
|
|
59
|
-
}
|
|
60
|
-
.md-typeset hr {
|
|
61
|
-
border-bottom: 0.05rem dotted ${C.palette.textVerySubtle};
|
|
62
|
-
}
|
|
63
|
-
.md-typeset table:not([class]) {
|
|
64
|
-
font-size: 1rem;
|
|
65
|
-
border: 1px solid ${C.palette.text.primary};
|
|
66
|
-
border-bottom: none;
|
|
67
|
-
border-collapse: collapse;
|
|
68
|
-
}
|
|
69
|
-
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
|
|
70
|
-
border-bottom: 1px solid ${C.palette.text.primary};
|
|
71
|
-
}
|
|
72
|
-
.md-typeset table:not([class]) th { font-weight: bold; }
|
|
73
|
-
.md-typeset .admonition, .md-typeset details {
|
|
74
|
-
font-size: 1rem;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/* style the checkmarks of the task list */
|
|
78
|
-
.md-typeset .task-list-control .task-list-indicator::before {
|
|
79
|
-
background-color: ${C.palette.action.disabledBackground};
|
|
80
|
-
}
|
|
81
|
-
.md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
|
|
82
|
-
background-color: ${C.palette.success.main};
|
|
83
|
-
}
|
|
84
|
-
/**/
|
|
85
|
-
|
|
86
|
-
@media screen and (max-width: 76.1875em) {
|
|
87
|
-
.md-nav {
|
|
88
|
-
background-color: ${C.palette.background.default};
|
|
89
|
-
transition: none !important
|
|
90
|
-
}
|
|
91
|
-
.md-sidebar--secondary { display: none; }
|
|
92
|
-
.md-sidebar--primary { left: ${ut?"242px":"72px"}; width: 10rem }
|
|
93
|
-
.md-content { margin-left: 10rem; max-width: calc(100% - 10rem); }
|
|
94
|
-
.md-content__inner { font-size: 0.9rem }
|
|
95
|
-
.md-footer {
|
|
96
|
-
position: static;
|
|
97
|
-
padding-left: 10rem;
|
|
98
|
-
}
|
|
99
|
-
.md-footer-nav__link {
|
|
100
|
-
/* footer links begin to overlap at small sizes without setting width */
|
|
101
|
-
width: 50%;
|
|
102
|
-
}
|
|
103
|
-
.md-nav--primary .md-nav__title {
|
|
104
|
-
white-space: normal;
|
|
105
|
-
height: auto;
|
|
106
|
-
line-height: 1rem;
|
|
107
|
-
cursor: auto;
|
|
108
|
-
}
|
|
109
|
-
.md-nav--primary > .md-nav__title [for="none"] {
|
|
110
|
-
padding-top: 0;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
`}),nt({css:`
|
|
114
|
-
.md-nav__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
|
|
115
|
-
transition: none;
|
|
116
|
-
}
|
|
117
|
-
`}),nt({css:`
|
|
118
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb {
|
|
119
|
-
background-color: hsla(0, 0%, 0%, 0.32);
|
|
120
|
-
}
|
|
121
|
-
.md-typeset pre > code::-webkit-scrollbar-thumb:hover {
|
|
122
|
-
background-color: hsla(0, 0%, 0%, 0.87);
|
|
123
|
-
}
|
|
124
|
-
`}),nt({css:`
|
|
125
|
-
:host {
|
|
126
|
-
--md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
|
|
127
|
-
--md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
|
|
128
|
-
--md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');
|
|
129
|
-
--md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
|
|
130
|
-
--md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
131
|
-
--md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');
|
|
132
|
-
--md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
|
|
133
|
-
--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
|
|
134
|
-
--md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
|
|
135
|
-
--md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');
|
|
136
|
-
--md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');
|
|
137
|
-
--md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>');
|
|
138
|
-
}
|
|
139
|
-
:host {
|
|
140
|
-
--md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>');
|
|
141
|
-
}
|
|
142
|
-
:host {
|
|
143
|
-
--md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
|
|
144
|
-
}
|
|
145
|
-
:host {
|
|
146
|
-
--md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>');
|
|
147
|
-
--md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
|
|
148
|
-
}
|
|
149
|
-
`})]),[le,Ae,Y,B,T,H,C.palette.action.disabledBackground,C.palette.background.default,C.palette.background.paper,C.palette.primary.main,C.palette.success.main,C.palette.text.primary,C.palette.textSubtle,C.palette.textVerySubtle,C.typography.fontFamily,ut]),et=(0,r.useCallback)(async Ne=>vt(Ne,[at(),K(),O({baseUrl:window.location.origin,onClick:($e,Ye)=>{var D,z;const V=$e.ctrlKey||$e.metaKey,A=new URL(Ye);A.hash?V?window.open(`${A.pathname}${A.hash}`,"_blank"):(te(`${A.pathname}${A.hash}`),(D=Ne==null?void 0:Ne.querySelector(`#${A.hash.slice(1)}`))==null||D.scrollIntoView()):V?window.open(A.pathname,"_blank"):(te(A.pathname),(z=Ne==null?void 0:Ne.querySelector(".md-content__inner"))==null||z.scrollIntoView())}}),pe({docStorageUrl:await T.getApiOrigin(),onLoading:$e=>{$e.style.setProperty("opacity","0")},onLoaded:$e=>{var Ye;$e.style.removeProperty("opacity"),(Ye=$e.querySelector(".md-nav__title"))==null||Ye.removeAttribute("for"),Ee(Array.from($e.querySelectorAll(".md-sidebar")))}})]),[te,T]);return(0,r.useEffect)(()=>{if(!Ie)return()=>{};let Ne=!0;return Be(Ie,Fe).then(async $e=>{if(!($e==null?void 0:$e.innerHTML)||!Ne)return;window.scroll({top:0});const Ye=await et($e);Rt(Ye)}),()=>{Ne=!1}},[Ie,Fe,Be,et]),be},it=({entityRef:re,onReady:te=()=>{},withSearch:C=!0})=>{var le,Ae;const T=Ft(),B=ot(re),H=(0,r.useRef)(null),Y=(0,r.useRef)(te);return(0,r.useEffect)(()=>{Y.current=te},[te]),(0,r.useEffect)(()=>{if(!B||!H.current)return;const ye=H.current,Fe=ye.shadowRoot||ye.attachShadow({mode:"open"});Array.from(Fe.children).forEach(Ie=>Fe.removeChild(Ie)),Fe.appendChild(B),Y.current()},[B]),r.createElement(r.Fragment,null,r.createElement(Lt.N,null),C&&((Ae=(le=H==null?void 0:H.current)==null?void 0:le.shadowRoot)==null?void 0:Ae.innerHTML)&&r.createElement(g.Z,{container:!0,className:T.searchBar},r.createElement(wt.S,{entityId:re})),r.createElement("div",{"data-testid":"techdocs-content-shadowroot",ref:H}))},St=({entityRef:re,onReady:te=()=>{},withSearch:C=!0})=>r.createElement(Pt,{entityRef:re},r.createElement(it,{entityRef:re,onReady:te,withSearch:C}))},94252:function(J,o,e){"use strict";e.d(o,{T:function(){return f}});var r=e(2784),t=e(36964),l=e(9118);const f=({errorMessage:g})=>{const s=(0,t.useApi)(t.configApiRef).getOptionalString("techdocs.builder");let h="";return s!=="local"&&(h="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),r.createElement(l.ErrorPage,{status:"404",statusMessage:g||"Documentation not found",additionalInfo:h})}},31752:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsPage:function(){return E}});var r=e(2784),t=e(10289),l=e(64279),f=e(3337),g=e(94252),s=e(36964),h=e(9118),m=e(80547),y=e(46025);const c=()=>{const[i,S]=(0,r.useState)(!1),{namespace:F,kind:P,name:j}=(0,t.UO)(),x=(0,s.useApi)(f.g),{value:I}=(0,l.default)(()=>i?x.getTechDocsMetadata({kind:P,namespace:F,name:j}):Promise.resolve(void 0),[P,F,j,x,i]),{value:b,error:O}=(0,l.default)(()=>x.getEntityMetadata({kind:P,namespace:F,name:j}),[P,F,j,x]),K=(0,r.useCallback)(()=>{S(!0)},[S]);return O?r.createElement(g.T,{errorMessage:O.message}):r.createElement(h.Page,{themeId:"documentation"},r.createElement(y.n,{techDocsMetadata:I,entityMetadata:b,entityRef:{kind:P,namespace:F,name:j}}),r.createElement(h.Content,{"data-testid":"techdocs-content"},r.createElement(m.Ej,{onReady:K,entityRef:{kind:P,namespace:F,name:j}})))},E=({children:i})=>{const S=(0,t.pC)(),[F,P]=(0,r.useState)(!1),{namespace:j,kind:x,name:I}=(0,t.UO)(),b=(0,s.useApi)(f.g),{value:O}=(0,l.default)(()=>F?b.getTechDocsMetadata({kind:x,namespace:j,name:I}):Promise.resolve(void 0),[x,j,I,b,F]),{value:K,error:_}=(0,l.default)(()=>b.getEntityMetadata({kind:x,namespace:j,name:I}),[x,j,I,b]),ie=(0,r.useCallback)(()=>{P(!0)},[P]);return _?r.createElement(g.T,{errorMessage:_.message}):i?r.createElement(h.Page,{themeId:"documentation"},i instanceof Function?i({techdocsMetadataValue:O,entityMetadataValue:K,entityRef:{kind:x,namespace:j,name:I},onReady:ie}):i):S||r.createElement(c,null)}},46025:function(J,o,e){"use strict";e.d(o,{n:function(){return m}});var r=e(52890),t=e(9118),l=e(36964),f=e(19139),g=e(73250),s=e(2784),h=e(68725);const m=({entityRef:y,entityMetadata:c,techDocsMetadata:E})=>{const{name:i}=y,{site_name:S,site_description:F}=E||{},{locationMetadata:P,spec:j}=c||{},x=j==null?void 0:j.lifecycle,I=c?(0,f.getEntityRelations)(c,r.S4):[],b=(0,l.useRouteRef)(h._Z)(),O=s.createElement(s.Fragment,null,s.createElement(t.HeaderLabel,{label:"Component",value:s.createElement(f.EntityRefLink,{color:"inherit",entityRef:y,defaultKind:"Component"})}),I.length>0&&s.createElement(t.HeaderLabel,{label:"Owner",value:s.createElement(f.EntityRefLinks,{color:"inherit",entityRefs:I,defaultKind:"group"})}),x?s.createElement(t.HeaderLabel,{label:"Lifecycle",value:x}):null,P&&P.type!=="dir"&&P.type!=="file"?s.createElement(t.HeaderLabel,{label:"",value:s.createElement("a",{href:P.target,target:"_blank",rel:"noopener noreferrer"},s.createElement(g.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return s.createElement(t.Header,{title:S||".",pageTitleOverride:S||i,subtitle:F&&F!=="None"?F:"",type:"Docs",typeLink:b},O)}},82957:function(J,o,e){"use strict";e.d(o,{S:function(){return Ke}});var r=e(91512),t=e(2784),l=e(79692);const f=(0,l.Z)(oe=>({filters:{width:"250px",display:"flex"},icon:{margin:oe.spacing(-1,0,0,0)}})),g=({numberOfSelectedFilters:oe,handleToggleFilters:Be})=>{const et=f();return React.createElement("div",{className:et.filters},React.createElement(IconButton,{className:et.icon,"aria-label":"settings",onClick:Be},React.createElement(FilterListIcon,null)),React.createElement(Typography,{variant:"h6"},"Filters (",oe||0,")"))},s=(0,l.Z)(oe=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:oe.spacing(0,1,0,1)},dropdown:{width:"100%"}})),h=({filters:oe,filterOptions:Be,resetFilters:et,updateSelected:Ne,updateChecked:$e})=>{const Ye=s();return React.createElement(Card,{className:Ye.filters},React.createElement(CardHeader,{title:React.createElement(Typography,{variant:"h6"},"Filters"),action:React.createElement(Button,{color:"primary",onClick:()=>et()},"CLEAR ALL")}),React.createElement(Divider,null),Be.kind.length===0&&Be.lifecycle.length===0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Filters cannot be applied to available results")),Be.kind.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Kind"),React.createElement(Select,{id:"outlined-select",onChange:V=>{var A;return Ne((A=V==null?void 0:V.target)==null?void 0:A.value)},variant:"outlined",className:Ye.dropdown,value:oe.selected},Be.kind.map(V=>React.createElement(MenuItem,{selected:V==="",dense:!0,key:V,value:V},V)))),Be.lifecycle.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Lifecycle"),React.createElement(List,{disablePadding:!0,dense:!0},Be.lifecycle.map(V=>React.createElement(ListItem,{key:V,dense:!0,button:!0,onClick:()=>$e(V)},React.createElement(Checkbox,{edge:"start",disableRipple:!0,className:Ye.checkbox,color:"primary",checked:oe.checked.includes(V),tabIndex:-1,value:V,name:V}),React.createElement(ListItemText,{id:V,primary:V}))))))};var m=e(1795),y=e(22313),c=e(42494),E=e(84899),i=e(5806),S=e(21324),F=e(56939),P=e(73698),j=e(12231),x=e(86619),I=e(7089),b=e(88013),O=e(69294),K=e(48760);const _=(oe,Be,et=[],Ne=250)=>{const $e=(0,t.useRef)({}),Ye=oe||(()=>Promise.resolve([])),[V,A]=(0,O.default)(Ye,[Be],{loading:!0});if((0,K.Z)(()=>{$e.current[Be]===void 0&&($e.current[Be]=A(Be).then(z=>($e.current[Be]=z,z)))},Ne,[A,Be]),et.length)return{loading:!1,value:et};const D=$e.current[Be];return Array.isArray(D)?{loading:!1,value:D}:V},ie=(oe,Be)=>{const{setFilters:et}=(0,y.Rx)();(0,t.useEffect)(()=>{Be&&[Be].flat().length>0&&et(Ne=>({...Ne,[oe]:Be}))},[])},pe=oe=>{const{className:Be,defaultValue:et,name:Ne,values:$e,valuesDebounceMs:Ye,label:V,filterSelectedOptions:A,limitTags:D,multiple:z}=oe,[ee,Oe]=(0,t.useState)("");ie(Ne,et);const ge=typeof $e=="function"?$e:void 0,Re=typeof $e=="function"?void 0:$e,{value:xe,loading:Ze}=_(ge,ee,Re,Ye),{filters:Et,setFilters:ne}=(0,y.Rx)(),$=Et[Ne]||(z?[]:null),Q=(ze,lt)=>{ne(xt=>{const{[Ne]:en,...on}=xt;return lt?{...on,[Ne]:lt}:{...on}})},he=ze=>t.createElement(x.Z,{...ze,name:"search",variant:"outlined",label:V,fullWidth:!0}),He=(ze,lt)=>ze.map((xt,en)=>t.createElement(I.Z,{label:xt,color:"primary",...lt({index:en})}));return t.createElement(b.ZP,{filterSelectedOptions:A,limitTags:D,multiple:z,className:Be,id:`${z?"multi-":""}select-filter-${Ne}--select`,options:xe||[],loading:Ze,value:$,onChange:Q,onInputChange:(ze,lt)=>Oe(lt),renderInput:he,renderTags:He})},Le=(0,l.Z)({label:{textTransform:"capitalize"}}),me=oe=>{const{className:Be,defaultValue:et,label:Ne,name:$e,values:Ye=[],valuesDebounceMs:V}=oe,A=Le(),{filters:D,setFilters:z}=(0,y.Rx)();ie($e,et);const ee=typeof Ye=="function"?Ye:void 0,Oe=typeof Ye=="function"?void 0:Ye,{value:ge=[],loading:Re}=_(ee,"",Oe,V),xe=Ze=>{const{target:{value:Et,checked:ne}}=Ze;z($=>{const{[$e]:Q,...he}=$,He=(Q||[]).filter(lt=>lt!==Et),ze=ne?[...He,Et]:He;return ze.length?{...he,[$e]:ze}:he})};return t.createElement(c.Z,{className:Be,disabled:Re,fullWidth:!0,"data-testid":"search-checkboxfilter-next"},Ne?t.createElement(E.Z,{className:A.label},Ne):null,ge.map(Ze=>{var Et;return t.createElement(i.Z,{key:Ze,control:t.createElement(S.Z,{color:"primary",tabIndex:-1,inputProps:{"aria-labelledby":Ze},value:Ze,name:Ze,onChange:xe,checked:((Et=D[$e])!=null?Et:[]).includes(Ze)}),label:Ze})}))},je=oe=>{const{className:Be,defaultValue:et,label:Ne,name:$e,values:Ye,valuesDebounceMs:V}=oe,A=Le();ie($e,et);const D=typeof Ye=="function"?Ye:void 0,z=typeof Ye=="function"?void 0:Ye,{value:ee=[],loading:Oe}=_(D,"",z,V),{filters:ge,setFilters:Re}=(0,y.Rx)(),xe=Ze=>{const{target:{value:Et}}=Ze;Re(ne=>{const{[$e]:$,...Q}=ne;return Et?{...Q,[$e]:Et}:Q})};return t.createElement(c.Z,{disabled:Oe,className:Be,variant:"filled",fullWidth:!0,"data-testid":"search-selectfilter-next"},Ne?t.createElement(F.Z,{className:A.label,margin:"dense"},Ne):null,t.createElement(P.Z,{variant:"outlined",value:ge[$e]||"",onChange:xe},t.createElement(j.Z,{value:""},t.createElement("em",null,"All")),ee.map(Ze=>t.createElement(j.Z,{key:Ze,value:Ze},Ze))))},Te=({component:oe,...Be})=>t.createElement(oe,{...Be});Te.Checkbox=oe=>t.createElement(Te,{...oe,component:me}),Te.Select=oe=>t.createElement(Te,{...oe,component:je}),Te.Autocomplete=oe=>t.createElement(Te,{...oe,component:pe});const Qe=null;var st=e(65678),_e=e(3992),gt=e(8542),nt=e(49378),at=e(62155),vt=e(94339),wt=e(32552),Lt=e(24579),pt=e(27616),rt=e(8284),Ct=e(70660),Tt=e(11776),Ot=e(85256),Ft=e(38402),mt=e(86136),Pt=e(38016),Bt=e(56881);const De=(0,l.Z)(oe=>({card:{backgroundColor:"rgba(0, 0, 0, .11)"},cardContent:{paddingTop:oe.spacing(1)},icon:{color:oe.palette.common.black},list:{width:"100%"},listItemIcon:{width:"24px",height:"24px"},accordion:{backgroundColor:oe.palette.background.paper},accordionSummary:{minHeight:"auto","&.Mui-expanded":{minHeight:"auto"}},accordionSummaryContent:{margin:oe.spacing(2,0),"&.Mui-expanded":{margin:oe.spacing(2,0)}},accordionDetails:{padding:oe.spacing(0,0,1)}})),ot=oe=>{const Be=De(),{setPageCursor:et,setTypes:Ne,types:$e}=(0,y.Rx)(),[Ye,V]=(0,t.useState)(!0),{defaultValue:A,name:D,types:z}=oe,ee=()=>V(xe=>!xe),Oe=xe=>()=>{Ne(xe!==""?[xe]:[]),et(void 0),V(!1)};(0,t.useEffect)(()=>{A&&Ne([A])},[]);const ge=[{value:"",name:"All",icon:t.createElement(Bt.Z,null)},...z],Re=$e[0]||"";return t.createElement(vt.Z,{className:Be.card},t.createElement(wt.Z,{title:D,titleTypographyProps:{variant:"overline"}}),t.createElement(Lt.Z,{className:Be.cardContent},t.createElement(pt.Z,{className:Be.accordion,expanded:Ye,onChange:ee},t.createElement(rt.Z,{classes:{root:Be.accordionSummary,content:Be.accordionSummaryContent},expandIcon:t.createElement(Pt.Z,{className:Be.icon}),IconButtonProps:{size:"small"}},Ye?"Collapse":ge.filter(xe=>xe.value===Re)[0].name),t.createElement(Ct.Z,{classes:{root:Be.accordionDetails}},t.createElement(Tt.Z,{className:Be.list,component:"nav","aria-label":"filter by type",disablePadding:!0,dense:!0},ge.map(xe=>t.createElement(t.Fragment,{key:xe.value},t.createElement(Ot.Z,null),t.createElement(Ft.Z,{selected:$e[0]===xe.value||$e.length===0&&xe.value==="",onClick:Oe(xe.value),button:!0},t.createElement(mt.Z,null,(0,t.cloneElement)(xe.icon,{className:Be.listItemIcon})),t.createElement(nt.Z,{primary:xe.name})))))))))};var it=e(99152),St=e(6487);const re=(0,l.Z)(oe=>({tabs:{borderBottom:`1px solid ${oe.palette.textVerySubtle}`,padding:oe.spacing(0,4)},tab:{height:"50px",fontWeight:oe.typography.fontWeightBold,fontSize:oe.typography.pxToRem(13),color:oe.palette.textSubtle,minWidth:"130px"}})),te=oe=>{const Be=re(),{setPageCursor:et,setTypes:Ne,types:$e}=(0,y.Rx)(),{defaultValue:Ye,types:V}=oe,A=(z,ee)=>{Ne(ee!==""?[ee]:[]),et(void 0)};(0,t.useEffect)(()=>{Ye&&Ne([Ye])},[]);const D=[{value:"",name:"All"},...V];return t.createElement(it.Z,{className:Be.tabs,indicatorColor:"primary",value:$e.length===0?"":$e[0],onChange:A},D.map(z=>t.createElement(St.Z,{className:Be.tab,disableRipple:!0,label:z.name,value:z.value})))},C=(0,l.Z)(oe=>({label:{textTransform:"capitalize"},chips:{display:"flex",flexWrap:"wrap",marginTop:oe.spacing(1)},chip:{margin:2}})),T=oe=>{const{className:Be,defaultValue:et,name:Ne,values:$e=[]}=oe,Ye=C(),{types:V,setTypes:A}=(0,y.Rx)();(0,at.Z)(()=>{V.length||(et&&Array.isArray(et)?A(et):et&&A([et]))});const D=z=>{const ee=z.target.value;A(ee)};return t.createElement(c.Z,{className:Be,variant:"filled",fullWidth:!0,"data-testid":"search-typefilter-next"},t.createElement(F.Z,{className:Ye.label,margin:"dense"},Ne),t.createElement(P.Z,{multiple:!0,variant:"outlined",value:V,onChange:D,placeholder:"All Results",renderValue:z=>t.createElement("div",{className:Ye.chips},z.map(ee=>t.createElement(I.Z,{key:ee,label:ee,className:Ye.chip,size:"small"})))},$e.map(z=>t.createElement(j.Z,{key:z,value:z},t.createElement(S.Z,{checked:V.indexOf(z)>-1}),t.createElement(nt.Z,{primary:z})))))};T.Accordion=oe=>t.createElement(ot,{...oe}),T.Tabs=oe=>t.createElement(te,{...oe});var B=e(19126),H=e(20863),Y=e(36964),le=e(9118);const Ae=oe=>{const Be=useRouteRef(rootRouteRef),{focusContent:et}=useContent(),Ne=useNavigate(),$e=useCallback(Ye=>{const V=qs.stringify({query:Ye},{addQueryPrefix:!0});et(),Ne(`${Be()}${V}`)},[et,Ne,Be]);return React.createElement(SidebarSearchField,{icon:oe.icon,onSearch:$e,to:"/search"})};var ye=e(60905),Fe=e(50581),Ie=e(61837),ve=e(4614),Ee=e(21853),be=e(10289),Rt=e(71226);const ut=({entityId:oe,debounceTime:Be=150})=>{const[et,Ne]=(0,t.useState)(!1),$e=(0,be.s0)(),{term:Ye,setTerm:V,result:{loading:A,value:D}}=(0,y.Rx)(),[z,ee]=(0,t.useState)([]);(0,t.useEffect)(()=>{let Ze=!0;if(Ze&&D){const Et=D.results.slice(0,10);ee(Et)}return()=>{Ze=!1}},[A,D]);const[Oe,ge]=(0,t.useState)(Ye);(0,K.Z)(()=>V(Oe),Be,[Oe]);const Re=Ze=>{et||Ne(!0),ge(Ze.target.value)},xe=(Ze,Et)=>{if(Et==null?void 0:Et.document){const{location:ne}=Et.document;$e(ne)}};return t.createElement(ye.Z,{item:!0,xs:12},t.createElement(b.ZP,{"data-testid":"techdocs-search-bar",size:"small",open:et,getOptionLabel:()=>"",filterOptions:Ze=>Ze,onClose:()=>{Ne(!1)},onFocus:()=>{Ne(!0)},onChange:xe,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:z,renderOption:({document:Ze})=>t.createElement(Rt.O,{result:Ze,lineClamp:3,asListItem:!1,asLink:!1,title:Ze.title}),loading:A,renderInput:Ze=>t.createElement(x.Z,{...Ze,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${oe.name} docs`,value:Oe,onChange:Re,InputProps:{...Ze.InputProps,startAdornment:t.createElement(Fe.Z,{position:"start"},t.createElement(Ie.Z,{"aria-label":"Query",disabled:!0},t.createElement(Ee.Z,null))),endAdornment:t.createElement(t.Fragment,null,A?t.createElement(ve.Z,{color:"inherit",size:20}):null,Ze.InputProps.endAdornment)}})}))},Ke=oe=>{const Be={term:"",types:["techdocs"],pageCursor:"",filters:oe.entityId};return t.createElement(y.Nd,{initialState:Be},t.createElement(ut,{...oe}))}},25921:function(J,o,e){"use strict";e.d(o,{N:function(){return b}});var r=e(2784),t=e(9118),l=e(79692),f=e(4614),g=e(77277),s=e(99688),h=e(12420),m=e(60905),y=e(90436),c=e(61837),E=e(4190),i=e(87685);const S=(0,l.Z)(O=>(0,h.Z)({paper:{width:"100%",[O.breakpoints.up("sm")]:{width:"75%"},[O.breakpoints.up("md")]:{width:"50%"},padding:O.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:O.palette.background.default}})),F=({buildLog:O,onClose:K})=>{const _=S(),ie=O.length===0?"Waiting for logs...":O.join(`
|
|
150
|
-
`);return r.createElement(m.Z,{container:!0,direction:"column",className:_.root,spacing:0,wrap:"nowrap"},r.createElement(m.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(y.Z,{variant:"h5"},"Build Details"),r.createElement(c.Z,{key:"dismiss",title:"Close the drawer",onClick:K,color:"inherit"},r.createElement(i.Z,null))),r.createElement(t.LogViewer,{text:ie,classes:{root:_.logs}}))},P=({buildLog:O})=>{const K=S(),[_,ie]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(g.Z,{color:"inherit",onClick:()=>ie(!0)},"Show Build Logs"),r.createElement(E.ZP,{classes:{paper:K.paper},anchor:"right",open:_,onClose:()=>ie(!1)},r.createElement(F,{buildLog:O,onClose:()=>ie(!1)})))};var j=e(94252),x=e(80547);const I=(0,l.Z)(()=>({message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),b=()=>{let O=null;const K=I(),{state:_,contentReload:ie,contentErrorMessage:pe,syncErrorMessage:Le,buildLog:me}=(0,x.DK)(),je=_==="CHECKING"?r.createElement(t.Progress,null):null;return _==="INITIAL_BUILD"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(f.Z,{size:"24px"}),action:r.createElement(P,{buildLog:me})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),_==="CONTENT_STALE_REFRESHING"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(f.Z,{size:"24px"}),action:r.createElement(P,{buildLog:me})},"A newer version of this documentation is being prepared and will be available shortly.")),_==="CONTENT_STALE_READY"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"success",action:r.createElement(g.Z,{color:"inherit",onClick:()=>ie()},"Refresh")},"A newer version of this documentation is now available, please refresh to view.")),_==="CONTENT_STALE_ERROR"&&(O=r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(P,{buildLog:me}),classes:{message:K.message}},"Building a newer version of this documentation failed."," ",Le)),_==="CONTENT_NOT_FOUND"&&(O=r.createElement(r.Fragment,null,Le&&r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(P,{buildLog:me}),classes:{message:K.message}},"Building a newer version of this documentation failed."," ",Le),r.createElement(j.T,{errorMessage:pe}))),r.createElement(r.Fragment,null,je,O)}},73873:function(J,o,e){"use strict";e.d(o,{Ej:function(){return r.Ej},EV:function(){return t.TechDocsPage},nN:function(){return l.n}});var r=e(80547),t=e(31752),l=e(46025),f=e(25921),g=e(82957)},68725:function(J,o,e){"use strict";e.d(o,{_Z:function(){return t},Fw:function(){return l},pd:function(){return f}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),l=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),f=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},19133:function(J,o,e){"use strict";J.exports=e.p+"static/createComponent.975d1e1e..svg"},86284:function(J,o,e){"use strict";J.exports=e.p+"static/missingAnnotation.67f79e98..svg"},3871:function(J,o,e){"use strict";J.exports=e.p+"static/noBuild.1715fa71..svg"},96465:function(J,o,e){"use strict";J.exports=e.p+"static/noInformation.4b426325..svg"},29788:function(J,o,e){"use strict";J.exports=e.p+"static/mic-drop.fe3ef4d0..svg"},219:function(J,o,e){"use strict";J.exports=e.p+"static/illo.7884c54f..svg"},53260:function(){}},function(J){var o=function(r){return J(J.s=r)};J.O(0,[2370,6202,9284,2126,7012,427,5218,4736],function(){return o(88649),o(41333)});var e=J.O()}]);
|
|
151
|
-
|
|
152
|
-
//# sourceMappingURL=main.7a58b1e5.js.map
|