@techdocs/cli 1.9.7 → 1.9.8-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 +5 -2
- package/dist/embedded-app/.config-schema.json +46 -46
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/index.html.tmpl +1 -1
- package/dist/embedded-app/static/{main.1ee3a29b.js → main.9ead869c.js} +2 -2
- package/dist/embedded-app/static/{main.1ee3a29b.js.map → main.9ead869c.js.map} +1 -1
- package/dist/embedded-app/static/{runtime.1ee3a29b.js → runtime.9ead869c.js} +1 -1
- package/dist/embedded-app/static/{runtime.1ee3a29b.js.map → runtime.9ead869c.js.map} +1 -1
- package/dist/embedded-app/static/{vendor.1ee3a29b.js → vendor.9ead869c.js} +1 -1
- package/dist/embedded-app/static/{vendor.1ee3a29b.js.map → vendor.9ead869c.js.map} +1 -1
- package/dist/package.json.cjs.js +1 -1
- package/package.json +7 -7
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
DEPRECATION WARNING: React Router Beta is deprecated and support for it will be removed in a future release.
|
|
3
3
|
Please migrate to use React Router v6 stable.
|
|
4
4
|
See https://backstage.io/docs/tutorials/react-router-stable-migration
|
|
5
|
-
`);let t=function(e){let t={};for(let r in e.collectors)e.collectors.hasOwnProperty(r)&&(t[r]=e.collectors[r]());let r=[{node:tb.Children.toArray(e.root),parent:void 0,contexts:{}}];for(;0!==r.length;){let{node:i,parent:n,contexts:a}=r.shift();tb.Children.forEach(i,i=>{if(!(0,tb.isValidElement)(i))return;let o={};for(let e in t)if(t.hasOwnProperty(e)){let r=t[e];o[e]=r.visit(r.accumulator,i,n,a[e])}for(let t of e.discoverers){let e=t(i);e&&r.push({node:e,parent:i,contexts:o})}})}return Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.accumulator]))}({root:i,discoverers:[rd,ru],collectors:{routing:e?rw:rb,collectedPlugins:rp,featureFlags:rx}});return t.collectedPlugins.forEach(e=>this.plugins.add(e)),this.verifyPlugins(this.plugins),this.getApiHolder(),t},[i]),c=function(e,t,r){let i,n=!!e,a=(0,tV.Z)(e||(()=>Promise.resolve([])));if(n&&a.loading){let{Progress:e}=t;i=(0,s.jsx)(e,{})}else if(a.error){let{BootErrorPage:e}=t;i=(0,s.jsx)(e,{step:"load-config",error:a.error})}let{ThemeProvider:o=rZ}=t;return i?{node:(0,s.jsx)(tX,{apis:rD.with(ri,r),children:(0,s.jsx)(o,{children:i})})}:{api:t8.fromConfigs(a.value?.length?function(e){let t,r,i=t8.fromConfigs(e),n=i.getOptionalString("app.baseUrl"),a=i.getOptionalString("backend.baseUrl"),o=e;if(n&&a&&new URL(n).origin===new URL(a).origin){let e=r8(a);a!==e&&(t=e)}if(n){let e=r8(n);n!==e&&(r=e)}return(r||t)&&(o=o.concat({data:{app:r&&{baseUrl:r},backend:t&&{baseUrl:t}},context:"relative-resolver"})),o}(a.value):[])}}(this.configLoader,this.components,a),d="api"in c;if(d){let{api:e}=c;this.configApi=e}if("node"in c)return c.node;if(t)throw t;if(!e)try{e=function(e,t,r){let i=function(e){let t=new Map,r=new Map;for(let i of e){for(let[e,r]of Object.entries(i.routes??{})){let n=`${i.getId()}.${e}`;if(t.has(n))throw Error(`Unexpected duplicate route '${n}'`);t.set(n,r)}for(let[e,t]of Object.entries(i.externalRoutes??{})){let n=`${i.getId()}.${e}`;if(r.has(n))throw Error(`Unexpected duplicate external route '${n}'`);r.set(n,t)}}return{routes:t,externalRoutes:r}}(r),n=new Map,a=new Set;e&&e({bind:(e,t)=>{for(let[r,i]of Object.entries(t)){let t=e[r];if(!t)throw Error(`Key ${r} is not an existing external route`);if(!i&&!t.optional)throw Error(`External route ${r} is required but was ${!1===i?"disabled":"not provided"}`);i?n.set(t,i):!1===i&&a.add(t)}}});let o=t.getOptionalConfig("app.routes.bindings")?.get();if(o)for(let[e,t]of Object.entries(o)){var s;if(s=t,!1!==s&&("string"!=typeof s||!s))throw Error(`Invalid config at app.routes.bindings['${e}'], value must be a non-empty string or false`);let r=i.externalRoutes.get(e);if(!r)throw Error(`Invalid config at app.routes.bindings, '${e}' is not a valid external route`);if(!(n.has(r)||a.has(r)))if(!1===t)a.add(r);else{let a=i.routes.get(t);if(!a)throw Error(`Invalid config at app.routes.bindings['${e}'], '${t}' is not a valid route`);n.set(r,a)}}for(let e of i.externalRoutes.values())if(!n.has(e)&&!a.has(e)){let t="getDefaultTarget"in e?e.getDefaultTarget():void 0;if(t){let r=i.routes.get(t);r&&n.set(e,r)}}return n}(this.bindRoutes,c.api,this.plugins),function(e,t){let r=new Set(t.values());for(let i of(r.delete(void 0),t.keys())){if(r.has(i))continue;let n=i,a="";for(;n;){let r=e.get(n);if(void 0===r)throw Error(`No path for ${n}`);a=rE(r,a),n=t.get(n)}let o=a.match(/:(\w+)/g);if(o){for(let e=0;e<o.length;e++)for(let t=e+1;t<o.length;t++)if(o[t]===o[e])throw Error(`Parameter ${o[t]} is duplicated in path ${a}`)}}}(o.paths,o.parents);var u,h=e;for(let e of this.plugins)if(e.externalRoutes){for(let[t,r]of Object.entries(e.externalRoutes))if(!r.optional&&!h.has(r))throw Error(`External route '${t}' of the '${e.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}catch(e){throw t=e,e}if(d&&n.current){n.current=!1;let e=this.getApiHolder().get(re.W);if(e){for(let t of this.featureFlags)e.registerFlag({...t,pluginId:""});for(let t of this.plugins.values())if("getFeatureFlags"in t)for(let r of t.getFeatureFlags())e.registerFlag({name:r.name,pluginId:t.getId()});else for(let r of t.output())"feature-flag"===r.type&&e.registerFlag({name:r.name,pluginId:t.getId()});let t=new Set(e.getRegisteredFlags().map(e=>e.name));for(let r of l)t.has(r)||e.registerFlag({name:r,pluginId:""})}}let{ThemeProvider:p=rZ,Progress:g}=this.components,f=this.getApiHolder();if(function(){let e=document.querySelector('meta[name="backstage-app-mode"]');return"protected"===(e?.getAttribute("content")??"public")}()){let e=f.get(eZ.V),t=f.get(ez.g),r=f.get(eB.N);if(!e||!t||!r)throw Error("App is running in protected mode but missing required APIs");this.appIdentityProxy.enableCookieAuth({errorApi:e,fetchApi:t,discoveryApi:r})}return(0,s.jsx)(tX,{apis:f,children:(0,s.jsx)(rL,{appContext:r,children:(0,s.jsx)(p,{children:(0,s.jsx)(rI,{routePaths:o.paths,routeParents:o.parents,routeObjects:o.objects,routeBindings:e,basePath:(u=c.api,rM()?rK(u):""),children:(0,s.jsx)(r_.Provider,{value:{routeObjects:o.objects,appIdentityProxy:this.appIdentityProxy},children:(0,s.jsx)(tb.Suspense,{fallback:(0,s.jsx)(g,{}),children:i})})})})})})}}getRouter(){return rJ}getApiHolder(){if(this.apiHolder){for(let e of this.plugins)for(let t of e.getApis())this.apiFactoryRegistry.get(t.api)||this.apiFactoryRegistry.register("default",t);return rl.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}for(let e of(this.apiFactoryRegistry.register("static",{api:ri,deps:{},factory:()=>t9.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:eF.D,deps:{},factory:()=>{if(!this.configApi)throw Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:eD.$,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("static",{api:rn,deps:{},factory:()=>this.appLanguageApi}),this.apiFactoryRegistry.register("default",{api:ra.o,deps:{languageApi:rn},factory:({languageApi:e})=>r6.create({languageApi:e,resources:this.translationResources})}),this.apiFactoryRegistry.register("default",{api:re.W,deps:{},factory:()=>new rr}),this.defaultApis))this.apiFactoryRegistry.register("default",e);for(let e of this.plugins)for(let t of e.getApis())if(!this.apiFactoryRegistry.register("default",t))throw Error(`Plugin ${e.getId()} tried to register duplicate or forbidden API factory for ${t.api}`);for(let e of this.apis)if(!this.apiFactoryRegistry.register("app",e))throw Error(`Duplicate or forbidden API factory for ${e.api} in app`);return rl.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new rl(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(e){let t=new Set;for(let r of e){let e=r.getId();if(t.has(e))throw Error(`Duplicate plugin found '${e}'`);t.add(e)}}}var ie=r(37840);let it=!1,ir=e=>{let{NotFoundErrorPage:t}=(0,rq.q)().getComponents(),r=(0,tb.useMemo)(()=>rM(),[]),i=[...(0,ie.v)(e.children,e=>e.getElements().flatMap(e=>{let t=e.props.path;if(""===t)return[];t=t?.replace(/\/\*$/,"")??"/";let i=r?e:e.props.element;return r||i||(i=e,it||(console.warn("DEPRECATION WARNING: All elements within <FlatRoutes> must be of type <Route> with an element prop. Existing usages of <Navigate key=[path] to=[to] /> should be replaced with <Route path=[path] element={<Navigate to=[to] />} />."),it=!0)),[{path:t,element:i,children:e.props.children?[{path:"/"===t?"/":"*",element:e.props.children}]:void 0}]}).sort((e,t)=>t.path.localeCompare(e.path)).map(e=>({...e,path:"/"===e.path?"/":`${e.path}/*`}))),{path:"*",element:(0,s.jsx)(t,{})}];return(0,c.V$)(i)};(0,rh.R)(ir,"core.type","FlatRoutes");var ii=r(39381),ia=r(47645),io=r(37939);let is="catalog";var il=r(23587);class ic{discoveryApi;fetchApi;constructor(e){this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi||{fetch:eV()}}async deleteEntityByUid(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"DELETE"})}async getEntities(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities{?fields,limit,filter*,offset,after,order*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntitiesByQuery(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-query{?fields,limit,offset,orderField*,cursor,filter*,fullTextFilterTerm,fullTextFilterFields}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntitiesByRefs(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-refs{?filter*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async getEntityAncestryByName(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-name/{kind}/{namespace}/{name}/ancestry").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityByName(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-name/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityByUid(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityFacets(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entity-facets{?facet*,filter*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async refreshEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/refresh").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async validateEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/validate-entity").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async analyzeLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/analyze-location").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async createLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations{?dryRun}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async deleteLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"DELETE"})}async getLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getLocationByEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/by-entity/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getLocations(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}}class id{apiClient;constructor(e){this.apiClient=new ic(e)}async getEntityAncestors(e,t){return await this.requestRequired(await this.apiClient.getEntityAncestryByName({path:(0,ii.of)(e.entityRef)},t))}async getLocations(e,t){return{items:(await this.requestRequired(await this.apiClient.getLocations(e??{},t))).map(e=>e.data)}}async getLocationById(e,t){return await this.requestOptional(await this.apiClient.getLocation({path:{id:e}},t))}async getLocationByEntity(e,t){return await this.requestOptional(await this.apiClient.getLocationByEntity({path:(0,ii.of)(e)},t))}async getEntities(e,t){let{filter:r=[],fields:i=[],order:n,offset:a,limit:o,after:s}=e??{},l=[];if(n)for(let e of[n].flat())e&&l.push(`${e.order}:${e.field}`);return{items:await this.requestRequired(await this.apiClient.getEntities({query:{fields:i,limit:o,filter:this.getFilterValue(r),offset:a,after:s,order:n?l:void 0}},t))}}async getEntitiesByRefs(e,t){let r,i=async r=>{let i=await this.apiClient.getEntitiesByRefs({body:{entityRefs:r,fields:e.fields},query:{filter:this.getFilterValue(e.filter)}},t);if(!i.ok)throw await eq.V.fromResponse(i);return(await i.json()).items.map(e=>e??void 0)};for(let t of function(e,t){if(!e.length)return[];let{maxCountPerChunk:r=1e3,maxStringLengthPerChunk:i=92160,extraStringLengthPerRef:n=3}=(void 0)??{},a=[],o=0,s=0,l=0;for(let t=0;t<e.length;++t){let c=e[t].length+n;l>0&&(s+c>i||l+1>r)&&(a.push(e.slice(o,t)),o=t,s=0,l=0),s+=c,l+=1}return a.push(e.slice(o,e.length)),a}(e.entityRefs)){let e=await i(t);r?r.push(...e):r=e}return{items:r??[]}}async queryEntities(e={},t){let r={};if(e.cursor){let{fields:t=[],limit:i,cursor:n}=e;r.cursor=n,void 0!==i&&(r.limit=i),t.length&&(r.fields=t)}else{let{fields:t=[],filter:i,limit:n,offset:a,orderFields:o,fullTextFilter:s}=e;r.filter=this.getFilterValue(i),void 0!==n&&(r.limit=n),void 0!==a&&(r.offset=a),void 0!==o&&(r.orderField=(Array.isArray(o)?o:[o]).map(({field:e,order:t})=>`${e},${t}`)),t.length&&(r.fields=t);let l=s?.term?.trim();l&&(r.fullTextFilterTerm=l),s?.fields?.length&&(r.fullTextFilterFields=s.fields)}return this.requestRequired(await this.apiClient.getEntitiesByQuery({query:r},t))}async getEntityByRef(e,t){return this.requestOptional(await this.apiClient.getEntityByName({path:(0,ii.of)(e)},t))}async getEntityByName(e,t){let{kind:r,namespace:i="default",name:n}=e;return this.requestOptional(await this.apiClient.getEntityByName({path:{kind:r,namespace:i,name:n}},t))}async refreshEntity(e,t){let r=await this.apiClient.refreshEntity({body:{entityRef:e}},t);if(200!==r.status)throw await eq.V.fromResponse(r)}async getEntityFacets(e,t){let{filter:r=[],facets:i}=e;return await this.requestOptional(await this.apiClient.getEntityFacets({query:{facet:i,filter:this.getFilterValue(r)}},t))}async addLocation(e,t){let{type:r="url",target:i,dryRun:n}=e,a=await this.apiClient.createLocation({body:{type:r,target:i},query:{dryRun:n?"true":void 0}},t);if(201!==a.status)throw await eq.V.fromResponse(a);let{location:o,entities:s,exists:l}=await a.json();if(!o)throw Error(`Location wasn't added: ${i}`);return{location:o,entities:s,exists:l}}async getLocationByRef(e,t){return(await this.requestRequired(await this.apiClient.getLocations({},t))).map(e=>e.data).find(t=>e===(0,ia.NZ)(t))}async removeLocationById(e,t){await this.requestIgnored(await this.apiClient.deleteLocation({path:{id:e}},t))}async removeEntityByUid(e,t){await this.requestIgnored(await this.apiClient.deleteEntityByUid({path:{uid:e}},t))}async validateEntity(e,t,r){let i=await this.apiClient.validateEntity({body:{entity:e,location:t}},r);if(i.ok)return{valid:!0};if(400!==i.status)throw await eq.V.fromResponse(i);let{errors:n=[]}=await i.json();return{valid:!1,errors:n}}async analyzeLocation(e,t){let r=await this.apiClient.analyzeLocation({body:e},t);if(200!==r.status)throw await eq.V.fromResponse(r);return r.json()}async requestIgnored(e){if(!e.ok)throw await eq.V.fromResponse(e)}async requestRequired(e){if(!e.ok)throw await eq.V.fromResponse(e);return e.json()}async requestOptional(e){if(!e.ok){if(404===e.status)return;throw await eq.V.fromResponse(e)}return await e.json()}getFilterValue(e=[]){let t=[];for(let r of[e].flat()){let e=[];for(let[t,i]of Object.entries(r))for(let r of[i].flat())r===io.n?e.push(t):"string"==typeof r&&e.push(`${t}=${r}`);e.length&&t.push(e.join(","))}return t}}var iu=r(84081),ih=r(47410),ip=r(1465),ig=r(11504),im=r(2694),iy=r(93949),iv=r(30303),ib=r(98909),iw=r(76635);async function ix({storageApi:e}){let t=e.forBucket("settings"),r=e.forBucket("starredEntities"),i=t.snapshot("starredEntities").value;if(!(0,iw.isArray)(i))return;let n=new Set(r.snapshot("entityRefs").value??[]);i.filter(iw.isString).map(e=>e.split(":")).filter(e=>4===e.length&&"entity"===e[0]).map(([e,t,r,i])=>(0,ii.eE)({kind:t,namespace:r,name:i})).forEach(e=>n.add(e)),await r.set("entityRefs",Array.from(n)),await t.remove("starredEntities")}class iS{settingsStore;starredEntities;constructor(e){ix(e).then(),this.settingsStore=e.storageApi.forBucket("starredEntities"),this.starredEntities=new Set(this.settingsStore.snapshot("entityRefs").value??[]),this.settingsStore.observe$("entityRefs").subscribe({next:e=>{this.starredEntities=new Set(e.value??[]),this.notifyChanges()}})}async toggleStarred(e){this.starredEntities.has(e)?this.starredEntities.delete(e):this.starredEntities.add(e),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}subscribers=new Set;observable=new(j())(e=>(e.next(new Set(this.starredEntities)),this.subscribers.add(e),()=>{this.subscribers.delete(e)}));notifyChanges(){for(let e of this.subscribers)e.next(new Set(this.starredEntities))}}function ik(e){let{years:t=0,months:r=0,weeks:i=0,days:n=0,hours:a=0,minutes:o=0,seconds:s=0,milliseconds:l=0}=e;return 1e3*(60*(60*(24*(365*t+30*r+7*i+n)+a)+o)+s)+l}var iC=r(99798),ij=r.n(iC),iE=r(96428);let iA={seconds:10},i$={milliseconds:50},iR={api:tn.default,component:tl.default,system:e6.default,resource:tp.default,domain:e4.default,location:ts.default,user:tu.default,group:td.default,template:tg.default};function iT(e){return{async:e.async,render:({entityRef:t,entity:r,context:i})=>({snapshot:(0,iE.n)(r||t,i),loadEntity:e.async})}}class iI extends Map{#I;#O=new Map;constructor(e){super(),this.#I=e}set(e,t){let r=super.set(e,t);return this.#O.set(e,Date.now()),r}get(e){if(!this.has(e))return;let t=this.#O.get(e);return Date.now()-t>this.#I?void this.delete(e):super.get(e)}delete(e){return this.#O.delete(e),super.delete(e)}clear(){return this.#O.clear(),super.clear()}}class iO{static createLocal(){return new iO({renderer:iT({async:!1})})}static create(e){return new iO(e)}#L;#B;#C;#F;#P;constructor(e){let t=e.cacheTtl??iA,r=e.batchDelay??i$,i=e.renderer??iT({async:!0}),n={};if(Object.entries(iR).forEach(([e,t])=>{n[e.toLocaleLowerCase("en-US")]=t}),Object.entries(e.kindIcons??{}).forEach(([e,t])=>{n[e.toLocaleLowerCase("en-US")]=t}),i.async){if(!e.catalogApi)throw TypeError("Asynchronous rendering requires a catalog API");this.#C=this.#N({cacheTtl:t,batchDelay:r,renderer:i,catalogApi:e.catalogApi})}this.#B=ik(t),this.#L=new Map,this.#F=n,this.#P=i}forEntity(e,t){let r,{entityRef:i,kind:n,entity:a,needsLoad:o}=this.#Z(e),s=e=>{let{snapshot:r}=this.#P.render({entityRef:i,loading:e.loading,entity:e.entity,context:t||{}});return{...r,entityRef:i,Icon:this.#U(r.Icon,n)}};try{r=s({loading:o,entity:a})}catch{r={primaryTitle:i,entityRef:i}}if(!o)return{snapshot:r,promise:Promise.resolve(r)};let l=Promise.resolve().then(()=>this.#C?.load(i)).then(e=>s({loading:!1,entity:e??a})).catch(()=>{}),c=new(j())(e=>{let t=!1;return l.then(t=>{t&&e.next(t)}).finally(()=>{t||e.complete()}),()=>{t=!0}}),d=l.then(e=>e??r);return{snapshot:r,update$:c,promise:d}}#Z(e){if("string"!=typeof e)return{entity:e,kind:e.kind,entityRef:(0,ii.eE)(e),needsLoad:!1};let t=this.#L.get(e),r=t?.entity,i=(!t||Date.now()-t.updatedAt>this.#B)&&!1!==this.#P.async&&void 0!==this.#C;return{entity:r,kind:(0,ii.of)(e).kind,entityRef:e,needsLoad:i}}#N(e){let t=ik(e.cacheTtl),r=ik(e.batchDelay);return new(ij())(async t=>{let{items:r}=await e.catalogApi.getEntitiesByRefs({entityRefs:t,fields:["kind","metadata.name","metadata.namespace","metadata.title","metadata.description","spec.profile.displayName","spec.type"]}),i=Date.now();return t.forEach((e,t)=>{this.#L.set(e,{updatedAt:i,entity:r[t]})}),r},{name:"DefaultEntityPresentationApi",cacheMap:new iI(t),maxBatchSize:100,batchScheduleFn:r?e=>setTimeout(e,r):void 0})}#U(e,t){return e||!1!==e&&this.#F[t.toLocaleLowerCase("en-US")]}}let iL=(0,iy.r)({id:"catalog",apis:[(0,eL.n)({api:iu.A,deps:{discoveryApi:eB.N,fetchApi:ez.g},factory:({discoveryApi:e,fetchApi:t})=>new id({discoveryApi:e,fetchApi:t})}),(0,eL.n)({api:ih.p,deps:{storageApi:eU},factory:({storageApi:e})=>new iS({storageApi:e})}),(0,eL.n)({api:ip.X,deps:{catalogApi:iu.A},factory:({catalogApi:e})=>iO.create({catalogApi:e})})],routes:{catalogIndex:im._Z,catalogEntity:ig.w},externalRoutes:{createComponent:im.yw,viewTechDoc:im.jU,createFromTemplate:im.ql,unregisterRedirect:im.kR}});iL.provide((0,iv.P4)({name:"CatalogIndexPage",component:()=>Promise.all([r.e("3072"),r.e("2695"),r.e("6356")]).then(r.bind(r,63459)).then(e=>e.CatalogPage),mountPoint:im._Z}));let iB=iL.provide((0,iv.P4)({name:"CatalogEntityPage",component:()=>r.e("1513").then(r.bind(r,3299)).then(e=>e.CatalogEntityPage),mountPoint:ig.w}));iL.provide((0,iv.CO)({name:"EntityAboutCard",component:{lazy:()=>Promise.all([r.e("3072"),r.e("2686"),r.e("8403")]).then(r.bind(r,34626)).then(e=>e.AboutCard)}})),iL.provide((0,iv.CO)({name:"EntityLinksCard",component:{lazy:()=>r.e("7996").then(r.bind(r,63354)).then(e=>e.EntityLinksCard)}})),iL.provide((0,iv.CO)({name:"EntityLabelsCard",component:{lazy:()=>r.e("843").then(r.bind(r,64833)).then(e=>e.EntityLabelsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSystemsCard",component:{lazy:()=>r.e("4217").then(r.bind(r,57470)).then(e=>e.HasSystemsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasComponentsCard",component:{lazy:()=>r.e("7952").then(r.bind(r,64450)).then(e=>e.HasComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>r.e("1361").then(r.bind(r,49908)).then(e=>e.HasSubcomponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSubdomainsCard",component:{lazy:()=>r.e("73").then(r.bind(r,78205)).then(e=>e.HasSubdomainsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasResourcesCard",component:{lazy:()=>r.e("5526").then(r.bind(r,73969)).then(e=>e.HasResourcesCard)}})),iL.provide((0,iv.CO)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>r.e("1479").then(r.bind(r,39010)).then(e=>e.DependsOnComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>r.e("8111").then(r.bind(r,72047)).then(e=>e.DependencyOfComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>r.e("4142").then(r.bind(r,75926)).then(e=>e.DependsOnResourcesCard)}})),iL.provide((0,iv.CO)({name:"RelatedEntitiesCard",component:{lazy:()=>r.e("4446").then(r.bind(r,93690)).then(e=>e.RelatedEntitiesCard)}})),iL.provide((0,ib.E5)({name:"CatalogSearchResultListItem",component:()=>r.e("8827").then(r.bind(r,75970)).then(e=>e.CatalogSearchResultListItem),predicate:e=>"software-catalog"===e.type}));var iF=r(43221),iP=r(25018);class iN{configApi;discoveryApi;identityApi;constructor({configApi:e,discoveryApi:t,identityApi:r}){this.configApi=e,this.discoveryApi=t,this.identityApi=r}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getOptionalString("techdocs.builder")||"local"}async getEntityDocs(e,t){let r=await this.getApiOrigin(),i=`${r}/${t}`,n=await fetch(`${i.endsWith("/")?i:`${i}/`}index.html`);if(404===n.status)throw Error("Page not found");return n.text()}async syncEntityDocs(e){return"cached"}async getBaseUrl(e,t,r){let i=await this.getApiOrigin();return new URL(e,`${i}/${r}`).toString()}}class iZ{configApi;discoveryApi;identityApi;constructor({configApi:e,discoveryApi:t,identityApi:r}){this.configApi=e,this.discoveryApi=t,this.identityApi=r}async getCookie(){return{expiresAt:new Date(Date.now()+6e5).toISOString()}}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(e){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(e){return{site_name:"Live preview environment",site_description:""}}}let iU=[(0,eL.n)({api:iP.D,deps:{configApi:eF.D,discoveryApi:eB.N,identityApi:eD.$},factory:({configApi:e,discoveryApi:t,identityApi:r})=>new iN({configApi:e,discoveryApi:t,identityApi:r})}),(0,eL.n)({api:iP.g,deps:{configApi:eF.D,discoveryApi:eB.N,identityApi:eD.$},factory:({configApi:e,discoveryApi:t,identityApi:r})=>new iZ({configApi:e,discoveryApi:t,identityApi:r})}),(0,eL.n)({api:iF.q,deps:{configApi:eF.D},factory:({configApi:e})=>iF.a.fromConfig(e)})],iz={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},iD={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function iM(){let e=await fetch("/.detect");return!!e.ok&&"techdocs-cli-server"===(await e.text()).trim()}async function i_(){return[...await rU(),{context:"detected",data:await iM()?iz:iD}]}var iq=r(79692),iH=r(58845);let iV=(0,iq.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}}),iW=()=>{let e=iV();return(0,s.jsx)("svg",{className:e.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05",children:(0,s.jsx)("path",{className:e.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"})})},iG=(0,iq.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}}),iK=()=>{let e=iG();return(0,s.jsx)("svg",{className:e.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5",children:(0,s.jsx)("path",{className:e.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"})})};var iY=r(56121);let iJ={isOpen:!1,setOpen:()=>{}},iQ=(0,tb.createContext)(iJ),iX=(0,tY.CT)("sidebar-open-state-context");function i0(e){let{children:t,value:r}=e;return(0,s.jsx)(iQ.Provider,{value:r,children:(0,s.jsx)(iX.Provider,{value:(0,tJ.E)({1:r}),children:t})})}let i1=()=>{let e=(0,tb.useContext)(iX),t=(0,tb.useContext)(iQ);if(void 0===e)return t||iJ;let r=e.atVersion(1);if(void 0===r)throw Error("No context found for version 1.");return r};var i2=r(13039),i3=r(65260),i4=r(53244),i5=r(41156),i6=r(16709),i8=r.n(i6),i7=r(50023),i9=r(61837),ne=r(4190),nt=r(90436),nr=r(87685),ni=r(44882),nn=r(57998);let na=(0,tb.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}});var no=r(42332);let ns=(0,iq.Z)(e=>({root:{flexGrow:0,margin:e.spacing(0,2),color:e.palette.navigation.color},selected:t=>({color:`${e.palette.navigation.selectedColor}!important`,borderTop:`solid ${t.sidebarConfig.selectedIndicatorWidth}px ${e.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),nl=e=>{let{to:t,label:r,icon:i,value:n}=e,{sidebarConfig:a}=(0,tb.useContext)(iY.kG),o=ns({sidebarConfig:a}),l=(0,c.TH)(),{selectedMenuItemIndex:d,setSelectedMenuItemIndex:u}=(0,tb.useContext)(na),h=n===d&&d>=0||n!==d&&!(d>=0)&&t===l.pathname;return(0,s.jsx)(nn.Z,{"aria-label":r,label:r,icon:i,component:i2.rU,to:t||l.pathname,onChange:(e,t)=>{t===d?u(-1):u(t)},value:n,selected:h,classes:o})},nc=e=>{let{children:t,to:r,label:i,icon:n,value:a}=e,{isMobile:o}=(0,no.Pf)();return o?(0,s.jsx)(nl,{to:r,label:i,icon:n,value:a}):(0,s.jsx)(s.Fragment,{children:t})},nd=(0,iq.Z)(e=>({root:{position:"fixed",backgroundColor:e.palette.navigation.background,color:e.palette.navigation.color,bottom:0,left:0,right:0,zIndex:e.zIndex.snackbar,borderTop:"1px solid #383838","@media print":{display:"none"}},overlay:t=>({background:e.palette.navigation.background,width:"100%",bottom:`${t.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${t.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:e.palette.navigation.color,alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)},overlayHeaderClose:{color:e.palette.navigation.color},marginMobileSidebar:e=>({marginBottom:`${e.sidebarConfig.mobileSidebarHeight}px`})})),nu=(0,tb.createElement)(nc).type,nh=({children:e,label:t="Menu",open:r,onClose:i})=>{let{sidebarConfig:n}=(0,tb.useContext)(iY.kG),a=nd({sidebarConfig:n});return(0,s.jsxs)(ne.ZP,{anchor:"bottom",open:r,onClose:i,ModalProps:{BackdropProps:{classes:{root:a.marginMobileSidebar}}},classes:{root:a.marginMobileSidebar,paperAnchorBottom:a.overlay},children:[(0,s.jsxs)(i4.Z,{className:a.overlayHeader,children:[(0,s.jsx)(nt.Z,{variant:"h3",children:t}),(0,s.jsx)(i9.Z,{onClick:i,classes:{root:a.overlayHeaderClose},children:(0,s.jsx)(nr.default,{})})]}),(0,s.jsx)(i4.Z,{component:"nav",children:e})]})},np=e=>{let{sidebarConfig:t}=(0,tb.useContext)(iY.kG),{children:r}=e,i=nd({sidebarConfig:t}),n=(0,c.TH)(),[a,o]=(0,tb.useState)(-1);(0,tb.useEffect)(()=>{o(-1)},[n.pathname]);let l=(0,ie.v)(r,e=>e.getElements().filter(e=>e.type===nu));if(!r)return null;if(l.length){let e;e=l,l=(0,iw.orderBy)(e,({props:{priority:e}})=>Number.isInteger(e)?e:-1,"desc")}else l.push((0,s.jsx)(nc,{icon:(0,s.jsx)(ni.default,{}),children:r},"default_menu"));let d=a>=0&&!l[a].props.to;return(0,s.jsx)(i0,{value:{isOpen:!0,setOpen:()=>{}},children:(0,s.jsxs)(na.Provider,{value:{selectedMenuItemIndex:a,setSelectedMenuItemIndex:o},children:[(0,s.jsx)(nh,{label:l[a]&&l[a].props.label,open:d,onClose:()=>o(-1),children:l[a]&&l[a].props.children}),(0,s.jsx)(i7.Z,{className:i.root,"data-testid":"mobile-sidebar-root",component:"nav",children:l})]})})};var ng=r(14380),nf=r(2210);let nm=(0,iq.Z)(e=>({root:{left:0,top:0,bottom:0,zIndex:e.zIndex.appBar,position:"fixed"},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",left:0,top:0,bottom:0,position:"absolute",background:e.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"},"@media print":{display:"none"}},drawerWidth:e=>({width:e.sidebarConfig.drawerWidthClosed}),drawerOpen:t=>({width:t.sidebarConfig.drawerWidthOpen,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"}),ny=e=>{let{sidebarConfig:t}=(0,tb.useContext)(iY.kG),{openDelayMs:r=t.defaultOpenDelayMs,closeDelayMs:i=t.defaultCloseDelayMs,disableExpandOnHover:n,children:a}=e,o=nm({sidebarConfig:t}),l=(0,i5.Z)(e=>e.breakpoints.down("md"),{noSsr:!0}),[c,d]=(0,tb.useState)(0),u=(0,tb.useRef)(),{isPinned:h,toggleSidebarPinState:p}=(0,no.Pf)(),g=()=>{h||n||(u.current&&(clearTimeout(u.current),u.current=void 0),2===c||l||(u.current=window.setTimeout(()=>{u.current=void 0,d(2)},r),d(1)))},f=()=>{h||n||(u.current&&(clearTimeout(u.current),u.current=void 0),1===c?d(0):2===c&&(u.current=window.setTimeout(()=>{u.current=void 0,d(0)},i)))},m=2===c&&!l||h;return(0,s.jsxs)("nav",{style:{},"aria-label":"sidebar nav",children:[(0,s.jsx)(nb,{}),(0,s.jsx)(i0,{value:{isOpen:m,setOpen:e=>{e?d(2):d(0),p()}},children:(0,s.jsx)(i4.Z,{className:o.root,"data-testid":"sidebar-root",onMouseEnter:n?()=>{}:g,onFocus:n?()=>{}:g,onMouseLeave:n?()=>{}:f,onBlur:n?()=>{}:f,children:(0,s.jsx)(i4.Z,{className:i8()(o.drawer,o.drawerWidth,{[o.drawerOpen]:m}),children:a})})})]})},nv=e=>{let t=(0,iY.$E)(e.sidebarOptions??{}),r=(0,iY.rW)(e.submenuOptions??{}),{children:i,disableExpandOnHover:n,openDelayMs:a,closeDelayMs:o}=e,{isMobile:l}=(0,no.Pf)();return l?(0,s.jsx)(np,{children:i}):(0,s.jsx)(iY.kG.Provider,{value:{sidebarConfig:t,submenuConfig:r},children:(0,s.jsx)(ny,{openDelayMs:a,closeDelayMs:o,disableExpandOnHover:n,children:i})})};function nb(){let{sidebarConfig:e}=(0,tb.useContext)(iY.kG),{focusContent:t,contentRef:r}=(0,i3.r)(),i=nm({sidebarConfig:e}),{t:n}=(0,ng.i)(nf.v);return r?.current?(0,s.jsx)(g.Z,{onClick:t,variant:"contained",className:i8()(i.visuallyHidden),children:n("skipToContent")}):null}var nw=r(26739),nx=r(36363),nS=r(83543),nk=r(59797),nC=r(98989);let nj=(0,iq.Z)(e=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:e.spacing(7)+1},drawer:t=>({display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",opacity:0,[e.breakpoints.up("sm")]:{marginLeft:t.left,transition:e.transitions.create(["margin-left","opacity"],{easing:e.transitions.easing.sharp,duration:t.submenuConfig.defaultOpenDelayMs})},top:0,bottom:0,padding:0,background:e.palette.navigation.submenu?.background??"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:t.submenuConfig.drawerWidthClosed,transitionDelay:`${t.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}),drawerOpen:t=>({marginLeft:t.left,opacity:1,width:t.submenuConfig.drawerWidthOpen,[e.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:e.spacing(3),left:0,top:0}}),title:{fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium,color:e.palette.navigation.color,padding:e.spacing(2.5),[e.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"});var nE=r(19126),nA=r.n(nE);function n$(e,t,r=!1){let i=new URLSearchParams(t.search).toString(),n=nA().parse(i),a=new URLSearchParams(e.search).toString(),o=nA().parse(a),s=r?iw.isEqual:iw.isMatch;return(0,iw.isEqual)(t.pathname,e.pathname)&&s(o,n)}function nR(e){return(0,tb.useMemo)(()=>(0,iq.Z)(t=>({root:{color:t.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",textTransform:"none"},closed:{width:e.drawerWidthClosed,justifyContent:"center"},open:{[t.breakpoints.up("sm")]:{width:e.drawerWidthOpen}},highlightable:{"&:hover":{background:t.palette.navigation.navItem?.hoverBackground??"#404040"}},highlighted:{background:t.palette.navigation.navItem?.hoverBackground??"#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:e.iconContainerWidth,marginRight:-t.spacing(2),display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"0"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:t.typography.fontWeightBold,fontSize:t.typography.fontSize},searchFieldHTMLInput:{padding:t.spacing(2,0,2)},searchContainer:{width:e.drawerWidthOpen-e.iconContainerWidth},secondaryAction:{width:t.spacing(6),textAlign:"center",marginRight:t.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:t.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${e.selectedIndicatorWidth}px ${t.palette.navigation.indicator}`,color:t.palette.navigation.selectedColor},"&$closed":{width:e.drawerWidthClosed},"& $closedItemIcon":{paddingRight:e.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-e.selectedIndicatorWidth}}}),{name:"BackstageSidebarItem"}),[e])()}function nT(e){return void 0===e.to}let nI=(0,tb.createElement)(e=>{let{isOpen:t}=i1(),{sidebarConfig:r,submenuConfig:i}=(0,tb.useContext)(iY.kG),n=nj({left:t?r.drawerWidthOpen:r.drawerWidthClosed,submenuConfig:i}),{isHoveredOn:a}=(0,tb.useContext)(iY.Ag),[o,l]=(0,tb.useState)(!1);return(0,tb.useEffect)(()=>{l(a)},[a]),(0,s.jsxs)(i4.Z,{className:i8()(n.drawer,{[n.drawerOpen]:o}),children:[(0,s.jsx)(nt.Z,{variant:"h5",component:"span",className:n.title,children:e.title}),e.children]})}).type,nO=(0,tb.forwardRef)(function({to:e,end:t,style:r,className:i,activeStyle:n,caseSensitive:a,activeClassName:o="active","aria-current":l="page",...d},u){let{pathname:h}=(0,c.TH)(),{pathname:p}=(0,c.WU)(e);a||(h=h.toLocaleLowerCase("en-US"),p=p.toLocaleLowerCase("en-US"));let g=h===p;g||t||(g=h.startsWith(`${p}/`));let f=g?l:void 0;return(0,s.jsx)(v.rU,{...d,to:e,ref:u,"aria-current":f,style:{...r,...g?n:void 0},className:i8()(["function"!=typeof i?i:void 0,g?o:void 0])})}),nL=(0,tb.forwardRef)((e,t)=>{let{icon:r,text:i,hasNotifications:n=!1,hasSubmenu:a=!1,disableHighlight:o=!1,onClick:l,noTrack:d,children:u,className:h,...p}=e,{sidebarConfig:f}=(0,tb.useContext)(iY.kG),m=nR(f),{isOpen:y}=i1(),v=(0,s.jsxs)(i4.Z,{style:!y&&a?{display:"flex",marginLeft:"20px"}:{lineHeight:"0"},children:[(0,s.jsx)(r,{fontSize:"small"}),!y&&a?(0,s.jsx)(nC.default,{fontSize:"small"}):(0,s.jsx)(s.Fragment,{})]}),b=(0,s.jsx)(nw.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!n,className:i8()({[m.closedItemIcon]:!y}),children:v}),w=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i4.Z,{"data-testid":"login-button",className:m.iconContainer,children:b}),i&&(0,s.jsx)(nt.Z,{variant:"subtitle2",component:"span",className:m.label,children:i}),(0,s.jsx)("div",{className:m.secondaryAction,children:u})]}),x=y?w:b,S={onClick:l,className:i8()(h,m.root,y?m.open:m.closed,nT(e)&&m.buttonItem,{[m.highlightable]:!o})},k=(0,rH.z)(),{pathname:C}=(0,c.WU)(!nT(e)&&e.to?e.to:""),j=(0,tb.useCallback)(e=>{if(!d){let e=i??"Sidebar Item",t=C?{attributes:{to:C}}:void 0;k.captureEvent("click",e,t)}l?.(e)},[k,i,C,d,l]);return nT(e)?(0,s.jsx)(g.Z,{role:"button","aria-label":i,...S,ref:t,onClick:j,children:x}):(0,s.jsx)(nO,{...S,activeClassName:m.selected,to:e.to?e.to:"",ref:t,"aria-label":i||e.to,...p,onClick:j,children:x})}),nB=({children:e,...t})=>{let{sidebarConfig:r}=(0,tb.useContext)(iY.kG),i=nR(r),[n,a]=(0,tb.useState)(!1),o=(0,c.TH)(),l=(0,ie.v)(e.props.children,e=>{let t=!1;return e.getElements().forEach(({props:{to:e,dropdownItems:r}})=>{if(!t){if(r?.length)return void r.forEach(({to:e})=>t=t||n$(o,(0,rS.i3)(e)));e&&(t=n$(o,(0,rS.i3)(e)))}}),t},[o.pathname]),d=(0,i5.Z)(e=>e.breakpoints.down("sm")),u=()=>{a(!0)},h=()=>{a(!1)};return(0,s.jsx)(iY.Ag.Provider,{value:{isHoveredOn:n,setIsHoveredOn:a},children:(0,s.jsxs)("div",{"data-testid":"item-with-submenu",onMouseLeave:h,onTouchStart:n?h:u,onMouseEnter:u,className:i8()(n&&i.highlighted),children:[(0,s.jsx)(nL,{hasSubmenu:!0,className:l?i.selected:"",...t,children:d?n?(0,s.jsx)(nk.default,{fontSize:"small",className:i.submenuArrow}):(0,s.jsx)(nS.default,{fontSize:"small",className:i.submenuArrow}):!n&&(0,s.jsx)(nC.default,{fontSize:"small",className:i.submenuArrow})}),n&&e]})})},nF=(0,tb.forwardRef)((e,t)=>{let[r]=(0,ie.v)(e.children,e=>e.getElements().filter(e=>e.type===nI));return r?(0,s.jsx)(nB,{...e,children:r}):(0,s.jsx)(nL,{...e,ref:t})});(0,nx.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),(0,nx.Z)("div")({height:8},{name:"BackstageSidebarSpacer"});let nP=(0,nx.Z)("hr")(({theme:e})=>({height:1,width:"100%",background:"#383838",border:"none",margin:e.spacing(1.2,0)}),{name:"BackstageSidebarDivider"});(0,nx.Z)("div")(({theme:e})=>{let t={overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:e.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:e.palette.text.secondary,borderRadius:"5px"}};return{flex:"0 1 auto",overflowX:"hidden",width:"100%",minHeight:"48px",overflowY:"hidden","@media (hover: none)":t,"&:hover":t}});let nN=(0,iq.Z)({root:{width:iY.po.drawerWidthClosed,height:3*iY.po.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:iY.po.drawerWidthClosed,marginLeft:24}}),nZ=()=>{let e=nN(),{isOpen:t}=i1();return(0,s.jsx)("div",{className:e.root,children:(0,s.jsx)(i2.rU,{to:"/docs/default/component/local/",underline:"none",className:e.link,children:t?(0,s.jsx)(iW,{}):(0,s.jsx)(iK,{})})})},nU=({children:e})=>(0,s.jsxs)(i3.t,{children:[(0,s.jsxs)(nv,{children:[(0,s.jsx)(nZ,{}),(0,s.jsx)(nP,{}),(0,s.jsx)(nF,{icon:iH.default,to:"/docs/default/component/local",text:"Docs Preview"})]}),e]});var nz=r(80030),nD=r(32388),nM=r(4142),n_=r(99064),nq=r(59998);let nH=(0,iq.Z)(e=>({headerIcon:{color:e.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:e.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}})),nV=(0,s.jsx)(()=>(0,s.jsxs)(d.I6,{children:[(0,s.jsx)(n_.S,{}),(0,s.jsx)(nq.F,{withSearch:!1})]}),{}),nW=new r9({...i={apis:iU,configLoader:i_,plugins:Object.values(o)},apis:i?.apis??[],bindRoutes:i?.bindRoutes,components:{...w,...i?.components},configLoader:i?.configLoader,defaultApis:e3,icons:{...tv,...i?.icons},plugins:i?.plugins??[],featureFlags:i?.featureFlags??[],themes:i?.themes??tH}),nG=nW.getProvider(),nK=nW.getRouter(),nY=d.s4.provide((0,h.KY)({name:"ThemeToggleAddon",component:()=>{let e=(0,rg.h_)(ri),t=nH(),[r,i]=(0,tb.useState)("dark"===e.getActiveThemeId()?"dark":"light"),{title:n,icon:a}={light:{icon:nM.default,title:"Dark theme"},dark:{icon:nD.default,title:"Light theme"}}[r];return(0,s.jsx)(i4.Z,{display:"flex",alignItems:"center",mr:2,children:(0,s.jsx)(nz.ZP,{title:n,arrow:!0,children:(0,s.jsx)(i9.Z,{size:"small",onClick:()=>{i(t=>{let r="light"===t?"dark":"light";return e.setActiveThemeId(r),r})},children:(0,s.jsx)(a,{className:t.headerIcon})})})})},location:p.o.Header})),nJ=(0,s.jsxs)(ir,{children:[(0,s.jsx)(c.Fg,{to:"/docs/default/component/local/"},"/"),(0,s.jsx)(c.AW,{path:"/catalog/:namespace/:kind/:name",element:(0,s.jsx)(iB,{})}),(0,s.jsx)(c.AW,{path:"/docs",element:(0,s.jsx)(d.Jl,{}),children:(0,s.jsx)(u.u,{})}),(0,s.jsxs)(c.AW,{path:"/docs/:namespace/:kind/:name/*",element:(0,s.jsx)(d.I6,{}),children:[nV,(0,s.jsx)(h.DR,{children:(0,s.jsx)(nY,{})})]})]});l.createRoot(document.getElementById("root")).render((0,s.jsx)(()=>(0,s.jsx)(nG,{children:(0,s.jsx)(nK,{children:(0,s.jsx)(nU,{children:nJ})})}),{}))},18011:function(e,t,r){"use strict";r.d(t,{CT:()=>a,Vt:()=>o});var i=r(2784),n=r(95275);function a(e){return(0,n.u)(e,()=>(0,i.createContext)(void 0))}function o(e){return(0,i.useContext)(a(e))}},88260:function(e,t,r){"use strict";function i(e){Object.freeze(e);let t={atVersion:t=>e[t]};return Object.defineProperty(t,"$map",{configurable:!0,enumerable:!0,get:()=>e}),t}r.d(t,{E:()=>i})},95275:function(e,t,r){"use strict";r.d(t,{u:()=>n});let i="undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof self&&self.Math===Math?self:Function("return this")();function n(e,t){let r=`__@backstage/${e}__`,n=i[r];return n||(n=t(),i[r]=n),n}},84081:function(e,t,r){"use strict";r.d(t,{A:()=>i});let i=(0,r(91424).T)({id:"plugin.catalog.service"})},1465:function(e,t,r){"use strict";r.d(t,{X:()=>i});let i=(0,r(91424).T)({id:"plugin.catalog.entity-presentation"})},96428:function(e,t,r){"use strict";r.d(t,{n:()=>s});var i=r(39381),n=r(99182),a=r(72579),o=r.n(a);function s(e,t){let{kind:r,namespace:a,name:s,title:c,description:d,displayName:u,type:h}=function(e){if("string"==typeof e){let t=e.indexOf(":"),r=e.indexOf("/");-1!==r&&r<t&&(t=-1);let i=-1===t?void 0:e.slice(0,t);return{kind:i,namespace:-1===r?void 0:e.slice(t+1,r),name:e.slice(Math.max(t+1,r+1))}}if("object"==typeof e&&null!==e){let t=[o()(e,"kind")].find(l),r=[o()(e,"metadata.namespace"),o()(e,"namespace")].find(l),i=[o()(e,"metadata.name"),o()(e,"name")].find(l),n=[o()(e,"metadata.title")].find(l),a=[o()(e,"metadata.description")].find(l);return{kind:t,namespace:r,name:i,title:n,description:a,displayName:[o()(e,"spec.profile.displayName")].find(l),type:[o()(e,"spec.type")].find(l)}}return{}}(e),p=(0,i.eE)({kind:r||"unknown",namespace:a||n.zG,name:s||"unknown"}),g=[u,c,function(e){let t=e.kind?.toLocaleLowerCase("en-US")||"unknown",r=e.namespace||n.zG,i=e.name||"unknown",a=e.context?.defaultKind?.toLocaleLowerCase("en-US"),o=e.context?.defaultNamespace?.toLocaleLowerCase("en-US"),s=i;return(o&&r.toLocaleLowerCase("en-US")!==o||r!==n.zG)&&(s=`${r}/${s}`),a&&t.toLocaleLowerCase("en-US")!==a&&(s=`${t}:${s}`),s}({kind:r,namespace:a,name:s,context:t})].find(e=>e&&"string"==typeof e),f=[g!==p?p:void 0,h,d].filter(e=>e&&"string"==typeof e).join(" | ");return{entityRef:p,primaryTitle:g,secondaryTitle:f||void 0,Icon:void 0}}let l=e=>!!e&&"string"==typeof e},42462:function(e,t,r){"use strict";r.d(t,{V:()=>l});var i=r(39381),n=r(16162),a=r(2784),o=r(1465),s=r(96428);function l(e,t){let r=(0,n.I_)().get(o.X),l=[r,JSON.stringify(e),JSON.stringify(t||null)],c=(0,a.useMemo)(()=>{if(!r){let r=(0,s.n)(e,t);return{snapshot:r,promise:Promise.resolve(r)}}return r.forEntity("string"==typeof e||"metadata"in e?e:(0,i.eE)(e),t)},l);return function(e,t,r){let[i,n]=(0,a.useState)(e);return(0,a.useEffect)(()=>{n(e);let r=t?.subscribe({next:e=>{n(e)},complete:()=>{r?.unsubscribe()}});return()=>{r?.unsubscribe()}},r),i}(c.snapshot,c.update$,[c])}},47410:function(e,t,r){"use strict";r.d(t,{p:()=>i});let i=(0,r(91424).T)({id:"catalog-react.starred-entities"})},24107:function(e,t,r){"use strict";r.d(t,{C:()=>k});var i=r(52322),n=r(53244),a=r(90436),o=r(27556),s=r(71658),l=r(86619),c=r(72654),d=r(79692),u=r(77392),h=r(13314),p=r(38016),g=r(63628),f=r(2784),m=r(76635),y=r(16709),v=r.n(y);let b=(0,d.Z)(e=>({root:{margin:e.spacing(1,0)},label:{position:"relative",fontWeight:"bold",fontSize:e.typography.body2.fontSize,fontFamily:e.typography.fontFamily,color:e.palette.text.primary,"& > span":{top:0,left:0,position:"absolute"}}}),{name:"BackstageAutocomplete"}),w=(0,u.Z)(e=>(0,h.Z)({root:{},paper:{margin:0},hasClearIcon:{},hasPopupIcon:{},focused:{},inputRoot:{marginTop:24,backgroundColor:e.palette.background.paper,"$root$hasClearIcon$hasPopupIcon &":{paddingBlock:e.spacing(.75),paddingInlineStart:e.spacing(.75)},"$root$focused &":{outline:"none"},"$root &:hover > fieldset":{borderColor:"#ced4da"},"$root$focused & > fieldset":{borderWidth:1,borderColor:e.palette.primary.main}},popupIndicator:{padding:0,margin:0,color:"#616161","&:hover":{backgroundColor:"unset"},'& [class*="MuiTouchRipple-root"]':{display:"none"}},endAdornment:{"$root$hasClearIcon$hasPopupIcon &":{right:4}},input:{"$root$hasClearIcon$hasPopupIcon &":{fontSize:e.typography.body1.fontSize,paddingBlock:e.spacing(.8125)}}}),{name:"BackstageAutocompleteBase"})(g.ZP),x=e=>(0,i.jsx)(s.Z,{...e,transition:!0,placement:"bottom-start",children:({TransitionProps:t})=>(0,i.jsx)(c.Z,{...t,style:{transformOrigin:"0 0 0"},children:(0,i.jsx)(n.Z,{children:e.children})})}),S=e=>(0,i.jsx)(o.Z,{...e,elevation:8});function k(e){let{label:t,name:r,LabelProps:o,TextFieldProps:s,...c}=e,d=b(),u=(0,f.useCallback)(e=>(0,i.jsx)(l.Z,{...(0,m.merge)(e,s),variant:"outlined"}),[s]),h=(0,i.jsx)(w,{size:"small",...c,renderInput:c.renderInput??u,popupIcon:(0,i.jsx)(p.default,{"data-testid":`${r}-expand`}),PaperComponent:S,PopperComponent:x});return(0,i.jsx)(n.Z,{className:d.root,children:t?(0,i.jsxs)(a.Z,{...o,className:v()(d.label,o?.className),component:"label",children:[(0,i.jsx)(n.Z,{component:"span",children:t}),h]}):h})}},26524:function(e,t,r){"use strict";r.d(t,{_i:()=>f});var i=r(52322),n=r(2784),a=r(53244),o=r(77277),s=r(4190),l=r(60905),c=r(90436),d=r(41156),u=r(60364),h=r(36444),p=r(79669),g=r(14380);let f=e=>(0,i.jsx)(l.Z,{container:!0,style:{position:"relative"},children:e.children});f.Filters=e=>{let t=(0,d.Z)(t=>t.breakpoints.down(e.options?.drawerBreakpoint??"md"),{noSsr:!0}),r=(0,u.Z)(),[f,m]=(0,n.useState)(!1),{t:y}=(0,g.i)(p.P);return t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{style:{marginTop:r.spacing(1),marginLeft:r.spacing(1)},onClick:()=>m(!0),startIcon:(0,i.jsx)(h.default,{}),children:y("catalogFilter.buttonTitle")}),(0,i.jsx)(s.ZP,{open:f,onClose:()=>m(!1),anchor:e.options?.drawerAnchor??"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,i.jsxs)(a.Z,{m:2,children:[(0,i.jsx)(c.Z,{variant:"h6",component:"h2",style:{marginBottom:r.spacing(1)},children:y("catalogFilter.title")}),e.children]})})]}):(0,i.jsx)(l.Z,{item:!0,lg:2,children:e.children})},f.Content=e=>(0,i.jsx)(l.Z,{item:!0,xs:12,lg:10,children:e.children})},55830:function(e,t,r){"use strict";r.d(t,{K:()=>k});var i=r(52322),n=r(53244),a=r(79692),o=r(2784),s=r(16162),l=r(4812),c=r(84081),d=r(16847),u=r(5806),h=r(19996),p=r(25505);let g=(0,i.jsx)(p.default,{fontSize:"small"}),f=(0,i.jsx)(h.default,{fontSize:"small"});function m({selected:e}){return(0,i.jsx)(d.Z,{icon:g,checkedIcon:f,checked:e})}let y=(0,o.memo)(e=>{let{selected:t,value:r,availableOptions:n,showCounts:a}=e,o=a?`${r} (${n?.[r]})`:r;return(0,i.jsx)(u.Z,{control:(0,i.jsx)(m,{selected:t}),label:o,onClick:e=>e.preventDefault()})});var v=r(52265),b=r(57736),w=r(24107),x=r(76635);let S=(0,a.Z)({root:{},label:{textTransform:"none",fontWeight:"bold"}},{name:"CatalogReactEntityAutocompletePicker"});function k(e){let{label:t,name:r,path:a,showCounts:d,Filter:u,InputProps:h,initialSelectedOptions:p=[],filtersForAvailableValues:g=["kind"],hidden:f}=e,m=S(),{updateFilters:k,filters:C,queryParameters:{[r]:j}}=(0,v.wp)(),E=(0,s.h_)(c.A),A=g.map(e=>C[e]),{value:$}=(0,l.Z)(async()=>{let{facets:e}=await E.getEntityFacets({facets:[a],filter:(0,b.Oq)(A.filter(Boolean))});return Object.fromEntries(e[a].map(({value:e,count:t})=>[e,t]))},[...A]),R=(0,o.useMemo)(()=>[j].flat().filter(Boolean),[j]),T=C[r]?.values,[I,O]=(0,o.useState)(R.length?R:T??p);(0,o.useEffect)(()=>{R.length&&O(R)},[R]);let L=Object.keys($??{}),B=I.length&&L.length;(0,o.useEffect)(()=>{k({[r]:B?new u(I):void 0})},[r,B,I,u,k]),(0,o.useEffect)(()=>{if(!B)return;let e=T??[];(0,x.isEqual)(e,I)||O(e)},[T]);let F=C[r];return(!F||"object"!=typeof F||"values"in F)&&L.length?f?null:(0,i.jsx)(n.Z,{className:m.root,pb:1,pt:1,children:(0,i.jsx)(w.C,{multiple:!0,disableCloseOnSelect:!0,label:t,name:`${String(r)}-picker`,options:L,value:I,TextFieldProps:h,onChange:(e,t)=>O(t),renderOption:(e,{selected:t})=>(0,i.jsx)(y,{selected:t,value:e,availableOptions:$,showCounts:!!d})})}):null}},43622:function(e,t,r){"use strict";r.d(t,{d:()=>B});var i=r(52322),n=r(39381),a=r(53244),o=r(16847),s=r(5806),l=r(90436),c=r(80030),d=r(79692),u=r(19996),h=r(25505),p=r(2784),g=r(52265),f=r(44073),m=r(40442),y=r(98685),v=r(62367),b=r(93386),w=r(16162),x=r(66088),S=r(84081),k=r(91246),C=r(77392),j=r(42462),E=r(79669),A=r(14380),$=r(24107);let R=(0,d.Z)({root:{},label:{},input:{},fullWidth:{width:"100%"},boxLabel:{width:"100%",textOverflow:"ellipsis",overflow:"hidden"}},{name:"CatalogReactEntityOwnerPicker"}),T=(0,C.Z)(e=>({label:{width:"100%"},root:{width:"90%"}}),{name:"FixedWidthFormControlLabel"})(s.Z),I=(0,i.jsx)(h.default,{fontSize:"small"}),O=(0,i.jsx)(u.default,{fontSize:"small"});function L(e){let t=R(),r="group"===e.entity.kind.toLocaleLowerCase("en-US"),{primaryTitle:n}=(0,j.V)(e.entity);return(0,i.jsx)(a.Z,{className:t.fullWidth,children:(0,i.jsx)(T,{className:t.fullWidth,control:(0,i.jsx)(o.Z,{icon:I,checkedIcon:O,checked:e.isSelected}),onClick:e=>e.preventDefault(),label:(0,i.jsx)(c.ZP,{title:n,children:(0,i.jsxs)(a.Z,{display:"flex",alignItems:"center",children:[r?(0,i.jsx)(v.default,{fontSize:"small"}):(0,i.jsx)(y.default,{fontSize:"small"}),"\xa0",(0,i.jsx)(a.Z,{className:t.boxLabel,children:(0,i.jsx)(l.Z,{noWrap:!0,children:n})})]})})})})}let B=e=>{let t=R(),{mode:r="owners-only"}=e||{},{updateFilters:o,filters:s,queryParameters:{owners:l}}=(0,g.wp)(),[c,d]=(0,p.useState)(""),{t:u}=(0,A.i)(E.P),h=(0,p.useMemo)(()=>[l].flat().filter(Boolean),[l]),[y,v]=(0,p.useState)(h.length?h:s.owners?.values??[]),[{value:C,loading:j},T,I]=function({mode:e,initialSelectedOwnersRefs:t}){let r="owners-only"===e,i=function(){let e=(0,w.h_)(S.A);return(0,x.Z)(async(t,r)=>{let i=r?.limit??20;if(t.cursor){let r=await e.queryEntities({cursor:t.cursor,limit:i});return{cursor:r.pageInfo.nextCursor,items:[...t.items,...r.items]}}let n=await e.queryEntities({fullTextFilter:{term:t.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:i});return{cursor:n.pageInfo.nextCursor,items:n.items}},[],{loading:!0})}(),a=function({enabled:e}){let t=(0,w.h_)(S.A),[r]=(0,p.useState)(async()=>{if(!e)return[];let r="relations.ownedBy";return t.getEntityFacets({facets:[r]}).then(e=>e.facets[r].map(e=>e.value).map(e=>{let{kind:t,name:r,namespace:i}=(0,n.of)(e);return{apiVersion:"backstage.io/v1beta1",kind:t,metadata:{name:r,namespace:i}}}).sort((e,t)=>e.kind.localeCompare(t.kind,"en-US")||e.metadata.namespace.localeCompare(t.metadata.namespace,"en-US")||e.metadata.name.localeCompare(t.metadata.name,"en-US"))).catch(()=>[])});return(0,x.Z)(async(e,t)=>{var i;let n=await r;if(!n)return{items:[]};let a=t?.limit??20,{text:o,start:s}=(i=e).cursor&&i.cursor?JSON.parse(atob(i.cursor)):{text:i.text||"",start:0},l=n.filter(e=>(function(e,t){let r=e.trim();return t.kind.includes(r)||t.metadata.namespace?.includes(r)||t.metadata.name.includes(r)})(o,e)),c=s+a;return{items:l.slice(0,c),...function({entities:e,limit:t,payload:r}){return e.length>t?{cursor:btoa(JSON.stringify(r))}:{}}({entities:l,limit:c,payload:{text:o,start:c}})}},[r],{loading:!0,value:{items:[]}})}({enabled:r}),[o,s]=r?a:i;return[o,s,function({enabled:e,initialSelectedOwnersRefs:t}){let r=(0,p.useRef)({}),i=(0,w.h_)(S.A),[,a]=(0,x.Z)(async()=>{(await i.getEntitiesByRefs({entityRefs:t})).items.forEach(e=>{e&&(r.current[(0,n.eE)(e)]=e)})},[]);return(0,k.n)(()=>{e&&t.length>0&&a()}),{getEntity:e=>r.current[e],setEntity:e=>{r.current[(0,n.eE)(e)]=e}}}({enabled:!r,initialSelectedOwnersRefs:t})]}({mode:r,initialSelectedOwnersRefs:y});(0,m.b)(()=>T({text:c}),[c,T],250);let O=C?.items||[];return((0,p.useEffect)(()=>{h.length&&v(new f.rf(h).values)},[h]),(0,p.useEffect)(()=>{o({owners:y.length?new f.rf(y):void 0})},[y,o]),["user","group"].includes(s.kind?.value.toLocaleLowerCase("en-US")||""))?null:(0,i.jsx)(a.Z,{className:t.root,pb:1,pt:1,children:(0,i.jsx)($.C,{label:u("entityOwnerPicker.title"),multiple:!0,disableCloseOnSelect:!0,loading:j,options:O,value:y,getOptionSelected:(e,t)=>"string"==typeof t?(0,n.eE)(e)===t:e===t,getOptionLabel:e=>{let t="string"==typeof e?I.getEntity(e)||(0,n.of)(e,{defaultKind:"group",defaultNamespace:"default"}):e;return(0,b.w)(t,(0,b.$)(t))},onChange:(e,t)=>{d(""),v(t.map(e=>{let t="string"==typeof e?e:(0,n.eE)(e);return"string"!=typeof e&&I.setEntity(e),t}))},filterOptions:e=>e,renderOption:(e,{selected:t})=>(0,i.jsx)(L,{entity:e,isSelected:t}),name:"owner-picker",onInputChange:(e,t)=>{d(t)},ListboxProps:{onScroll:e=>{let t=e.currentTarget;1>Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)&&C?.cursor&&T({items:C.items,cursor:C.cursor})},"data-testid":"owner-picker-listbox"},LabelProps:{className:t.label},TextFieldProps:{className:t.input}})})}},41410:function(e,t,r){"use strict";r.d(t,{d:()=>g});var i=r(52322),n=r(13039),a=r(93048),o=r(2784),s=r(11504),l=r(53244),c=r(80030),d=r(79692),u=r(42462);let h=(0,d.Z)(e=>({root:{display:"inline-flex",alignItems:"center",textDecoration:"inherit"},icon:{marginRight:e.spacing(.5),color:e.palette.text.secondary,"& svg":{verticalAlign:"middle"}}}),{name:"CatalogReactEntityDisplayName"}),p=e=>{let{entityRef:t,hideIcon:r,disableTooltip:n,defaultKind:a,defaultNamespace:o}=e,s=h(),{primaryTitle:d,secondaryTitle:p,Icon:g}=(0,u.V)(t,{defaultKind:a,defaultNamespace:o}),f=(0,i.jsx)(i.Fragment,{children:d});return f=(0,i.jsxs)(l.Z,{component:"span",className:s.root,children:[g&&!r?(0,i.jsx)(l.Z,{component:"span",className:s.icon,children:(0,i.jsx)(g,{fontSize:"inherit"})}):null,f]}),p&&!n&&(f=(0,i.jsx)(c.ZP,{enterDelay:1500,title:p,children:f})),f},g=(0,o.forwardRef)((e,t)=>{var r;let{entityRef:o,defaultKind:l,defaultNamespace:c,title:d,children:u,hideIcon:h,disableTooltip:g,...f}=e,m=(r=e.entityRef,(0,a.t)(s.w)((0,s.h)(r,{encodeParams:!0}))),y=u??d??(0,i.jsx)(p,{entityRef:o,defaultKind:l,defaultNamespace:c,hideIcon:h,disableTooltip:g});return(0,i.jsx)(n.rU,{...f,ref:t,to:m,children:y})})},57148:function(e,t,r){"use strict";r.d(t,{r:()=>s});var i=r(52322),n=r(39381),a=r(2784),o=r(41410);function s(e){let{entityRefs:t,hideIcons:r,...s}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e,t)=>{let l="string"==typeof e?e:(0,n.eE)(e);return(0,i.jsxs)(a.Fragment,{children:[t>0&&", ",(0,i.jsx)(o.d,{...s,entityRef:e,hideIcon:r})]},`${t}.${l}`)})})}},93386:function(e,t,r){"use strict";r.d(t,{$:()=>o,w:()=>s});var i=r(99182),n=r(72579),a=r.n(n);function o(e,t){let r,n,a,o=t?.defaultKind;return"metadata"in e?(r=e.kind,n=e.metadata.namespace,a=e.metadata.name):(r=e.kind,n=e.namespace,a=e.name),(void 0===n||""===n)&&(n=i.zG),t?.defaultNamespace!==void 0?t?.defaultNamespace===n&&(n=void 0):n===i.zG&&(n=void 0),r=r.toLocaleLowerCase("en-US"),r=o&&o.toLocaleLowerCase("en-US")===r?void 0:r,`${r?`${r}:`:""}${n?`${n}/`:""}${a}`}function s(e,t){for(let t of["spec.profile.displayName","metadata.title"]){let r=a()(e,t);if(r&&"string"==typeof r)return r}return t}},2296:function(e,t,r){"use strict";r.d(t,{x:()=>d});var i=r(52322),n=r(79692),a=r(44073),o=r(55830),s=r(79669),l=r(14380);let c=(0,n.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),d=e=>{let t=c(),{t:r}=(0,l.i)(s.P);return(0,i.jsx)(o.K,{label:r("entityTagPicker.title"),name:"tags",path:"metadata.tags",Filter:a.Cu,showCounts:e.showCounts,InputProps:{className:t.input},initialSelectedOptions:e.initialFilter?e.initialFilter:[],hidden:e.hidden})}},10465:function(e,t,r){"use strict";r.d(t,{E:()=>I});var i=r(52322),n=r(16162),a=r(47337),o=r(94339),s=r(11776),l=r(86136),c=r(9520),d=r(49378),u=r(12231),h=r(90436),p=r(79692),g=r(47603),f=r(1820),m=r(2784),y=r(44073),v=r(52265),b=r(47530),w=r(76635),x=r(4812),S=r(84081),k=r(57736),C=r(66088),j=r(883),E=r(39381),A=r(76051),$=r(14380),R=r(79669);let T=(0,p.Z)(e=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:e.spacing(1,0,1,0)},title:{margin:e.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:e.palette.text.primary},menuItem:{minHeight:e.spacing(6)},groupWrapper:{margin:e.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"}),I=e=>{let{initialFilter:t,availableFilters:r,hidden:p,alwaysKeepFilters:I}=e,O=T(),L=(0,n.h_)(a.D),{t:B}=(0,$.i)(R.P),F=L.getOptionalString("organization.name")??B("userListPicker.defaultOrgName"),{filters:P,updateFilters:N,queryParameters:{kind:Z,user:U}}=(0,v.wp)(),z=["starred","all"],D=[{name:B("userListPicker.personalFilter.title"),items:[{id:"owned",label:B("userListPicker.personalFilter.ownedLabel"),icon:g.default},{id:"starred",label:B("userListPicker.personalFilter.starredLabel"),icon:f.r7}]},{name:F,items:[{id:"all",label:B("userListPicker.orgFilterAllLabel")}]}].map(e=>({...e,items:e.items.filter(({id:e})=>["group","user"].some(e=>e===Z)?z.includes(e):!r||r.includes(e))})).filter(({items:e})=>!!e.length),{count:M,loading:_,filter:q}=function(){let e=(0,n.h_)(b.$),t=(0,n.h_)(S.A),{filters:r}=(0,v.wp)(),{value:i,loading:a}=(0,x.Z)(async()=>(await e.getBackstageIdentity()).ownershipEntityRefs,[]),{user:o,owners:s,...l}=r,{orderFields:c,...d}=(0,k.wq)((0,w.compact)(Object.values(l))),[{value:u,loading:h},p]=(0,C.Z)(async e=>{let r=function(e,t){if(void 0===t)return;let r=e?.values??[];if(r.length){let e=(0,w.intersection)(r,t);if(0===e.length)return;return e}return t}(e.owners,e.ownershipEntityRefs);if(void 0===r)return 0;let{"metadata.name":i,...n}=e.filter.filter,{totalItems:a}=await t.queryEntities({...e.filter,filter:{...n,"relations.ownedBy":r},limit:0});return a},[],{loading:!0});return(0,j.Z)(()=>{0!==Object.keys(d.filter).length&&void 0!==i&&p({ownershipEntityRefs:i,owners:s,filter:d})},[i,s,d]),{count:u,loading:a||h,filter:(0,m.useMemo)(()=>y.t$.owned(i??[]),[i]),ownershipEntityRefs:i}}(),{count:H}=function(){let e=(0,n.h_)(S.A),{filters:t}=(0,v.wp)(),r=(0,m.useRef)(),i=(0,m.useMemo)(()=>{let{user:e,...i}=t,n=(0,w.compact)(Object.values(i)),{orderFields:a,...o}=(0,k.wq)(n),s={...o,limit:0};return 0===Object.keys(o.filter).length?(r.current=void 0,r.current):(0,w.isEqual)(s,r.current)?r.current:(r.current=s,s)},[t]),{value:a,loading:o}=(0,x.Z)(async()=>{if(void 0===i)return 0;let{totalItems:t}=await e.queryEntities(i);return t},[i]);return{count:a,loading:o}}(),{count:V,filter:W,loading:G}=function(){let e=(0,n.h_)(S.A),{filters:t}=(0,v.wp)(),{starredEntities:r}=(0,A.C)(),i=(0,m.useRef)(),a=(0,m.useMemo)(()=>{let{user:e,...n}=t,a=(0,w.compact)(Object.values(n)),{orderFields:o,...s}=(0,k.wq)(a),l={...s,filter:{...s.filter,"metadata.name":Array.from(r).map(e=>(0,E.of)(e).name)},limit:1e3};return(0,w.isEqual)(l,i.current)?i.current:(i.current=l,l)},[t,r]),{value:o,loading:s}=(0,x.Z)(async()=>r.size?(await e.queryEntities(a)).items.map(e=>(0,E.eE)({kind:e.kind,namespace:e.metadata.namespace,name:e.metadata.name})).filter(e=>r.has(e)).length:0,[a,r]);return{count:o,loading:s,filter:(0,m.useMemo)(()=>y.t$.starred(Array.from(r)),[r])}}(),K=(0,m.useMemo)(()=>[U].flat()[0],[U]),[Y,J]=(0,m.useState)(K??t),Q=(0,m.useMemo)(()=>({all:H,starred:V,owned:M}),[V,M,H]);(0,m.useEffect)(()=>{K&&J(K)},[K]);let X=_||G;return(0,m.useEffect)(()=>{X||!Y||"all"===Y||0!==Q[Y]||I||J("all")},[X,Q,Y,J,I]),(0,m.useEffect)(()=>{Y&&!X&&N({user:"owned"===Y?q:"starred"===Y?W:y.t$.all()})},[Y,W,q,N,X]),p?null:(0,i.jsx)(o.Z,{className:O.root,children:D.map(e=>(0,i.jsxs)(m.Fragment,{children:[(0,i.jsx)(h.Z,{variant:"subtitle2",component:"span",className:O.title,children:e.name}),(0,i.jsx)(o.Z,{className:O.groupWrapper,children:(0,i.jsx)(s.Z,{disablePadding:!0,dense:!0,role:"menu","aria-label":e.name,children:e.items.map((t,r)=>(0,i.jsxs)(u.Z,{role:"none presentation",divider:r!==e.items.length-1,onClick:()=>J(t.id),selected:t.id===P.user?.value,className:O.menuItem,disabled:0===Q[t.id],"data-testid":`user-picker-${t.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[t.icon&&(0,i.jsx)(l.Z,{className:O.listIcon,children:(0,i.jsx)(t.icon,{fontSize:"small"})}),(0,i.jsx)(d.Z,{children:(0,i.jsxs)(h.Z,{variant:"body1",children:[t.label," "]})}),(0,i.jsx)(c.Z,{children:Q[t.id]??"-"})]},t.id))})})]},e.name))})}},44073:function(e,t,r){"use strict";r.d(t,{A5:()=>m,Bf:()=>s,Cu:()=>l,IZ:()=>g,Qe:()=>h,SZ:()=>c,mM:()=>f,rf:()=>d,t$:()=>p,zH:()=>u,zo:()=>o});var i=r(39381),n=r(58985),a=r(79043);class o{value;label;constructor(e,t){this.value=e,this.label=t}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class s{value;constructor(e){this.value=e}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class l{values;constructor(e){this.values=e}filterEntity(e){return this.values.every(t=>(e.metadata.tags??[]).includes(t))}getCatalogFilters(){return{"metadata.tags":this.values}}toQueryValue(){return this.values}}class c{value;constructor(e){this.value=e}filterEntity(e){let t=this.toUpperArray(this.value.split(/\s/)),r=this.toUpperArray([e.metadata.tags]),i=this.toUpperArray([e.metadata.name,e.metadata.title,e.spec?.profile?.displayName]);for(let e of t)if(r.every(t=>t!==e)&&i.every(t=>!t.includes(e)))return!1;return!0}getFullTextFilters(){return{term:this.value,fields:["metadata.name","metadata.title","spec.profile.displayName"]}}toQueryValue(){return this.value}toUpperArray(e){return e.flat().filter(e=>!!e).map(e=>e.toLocaleUpperCase("en-US"))}}class d{values;constructor(e){this.values=e.reduce((e,t)=>{try{return e.push((0,i.eE)((0,i.of)(t,{defaultKind:"Group"}))),e}catch(t){return e}},[])}getCatalogFilters(){return{"relations.ownedBy":this.values}}filterEntity(e){return this.values.some(t=>(0,a.h)(e,n.S4).some(e=>(0,i.eE)(e)===t))}toQueryValue(){return this.values}}class u{values;constructor(e){this.values=e}getCatalogFilters(){return{"spec.lifecycle":this.values}}filterEntity(e){return this.values.some(t=>e.spec?.lifecycle===t)}toQueryValue(){return this.values}}class h{values;constructor(e){this.values=e}getCatalogFilters(){return{"metadata.namespace":this.values}}filterEntity(e){return this.values.some(t=>e.metadata.namespace===t)}toQueryValue(){return this.values}}class p{value;refs;constructor(e,t){this.value=e,this.refs=t}static owned(e){return new p("owned",e)}static all(){return new p("all")}static starred(e){return new p("starred",e)}getCatalogFilters(){return"owned"===this.value?{"relations.ownedBy":this.refs??[]}:"starred"===this.value?{"metadata.name":this.refs?.map(e=>(0,i.of)(e).name)??[]}:{}}filterEntity(e){if("starred"===this.value)return this.refs?.includes((0,i.eE)(e))??!0;if("owned"===this.value){let t=(0,a.h)(e,n.S4);return this.refs?.some(e=>t.some(t=>(0,i.eE)(t)===e))??!1}return!0}toQueryValue(){return this.value}}class g{value;isOwnedEntity;isStarredEntity;constructor(e,t,r){this.value=e,this.isOwnedEntity=t,this.isStarredEntity=r}filterEntity(e){switch(this.value){case"owned":return this.isOwnedEntity(e);case"starred":return this.isStarredEntity(e);default:return!0}}toQueryValue(){return this.value}}class f{value;constructor(e){this.value=e}getCatalogFilters(){return this.value?{"metadata.annotations.backstage.io/orphan":String(this.value)}:{}}filterEntity(e){let t=e.metadata.annotations?.["backstage.io/orphan"];return void 0!==t&&this.value.toString()===t}}class m{value;constructor(e){this.value=e}filterEntity(e){let t=e?.status?.items?.length>0;return void 0!==t&&this.value===t}}},52265:function(e,t,r){"use strict";r.d(t,{UO:()=>m,wp:()=>y});var i=r(52322),n=r(76635),a=r(19126),o=r.n(a),s=r(2784),l=r(73557),c=r(66088),d=r(20581),u=r(87438),h=r(84081),p=r(57736),g=r(16162);let f=(0,s.createContext)(void 0),m=e=>{let t=(0,u.Z)(),r=(0,g.h_)(h.A),[a,m]=(0,s.useState)({}),y=(0,l.TH)(),v=!0===e.pagination?"cursor":"object"==typeof e.pagination?e.pagination.mode??"cursor":"none",b="object"==typeof e.pagination?e.pagination.limit??20:20,{queryParameters:w,cursor:x,offset:S,limit:k}=(0,s.useMemo)(()=>{let e=o().parse(y.search,{ignoreQueryPrefix:!0}),t=b;if("string"==typeof e.limit){let r=Number.parseInt(e.limit,10);isNaN(r)||(t=r)}let r="string"==typeof e.offset&&"offset"===v?Number.parseInt(e.offset,10):void 0;return{queryParameters:e.filters??{},cursor:"string"==typeof e.cursor&&"cursor"===v?e.cursor:void 0,offset:"offset"===v&&r&&!isNaN(r)?r:void 0,limit:t}},[v,y.search,b]),[C,j]=(0,s.useState)(x),[E,A]=(0,s.useState)(S),[$,R]=(0,s.useState)(k),[T,I]=(0,s.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[],pageInfo:{},offset:E,limit:$})),[{loading:O,error:L},B]=(0,c.Z)(async()=>{let e=a.kind?.value?.toLocaleLowerCase("en-US"),i="user"===e||"group"===e?{...a,owners:void 0}:a,s=(0,n.compact)(Object.values(i)),l=Object.keys(a).reduce((e,t)=>{let r=a[t];return r?.toQueryValue&&(e[t]=r.toQueryValue()),e},{});if("none"!==v)if(C){if(C!==T.appliedCursor){let e=(0,p.Gz)(s),t=await r.queryEntities({cursor:C,limit:$});I({appliedFilters:a,appliedCursor:C,backendEntities:t.items,entities:t.items.filter(e),pageInfo:t.pageInfo,totalItems:t.totalItems})}}else{let e=(0,p.Gz)(s),t=(0,p.wq)(s),i=(0,p.wq)((0,n.compact)(Object.values(T.appliedFilters)));if("offset"===v&&(T.limit!==$||T.offset!==E)||!(0,n.isEqual)(i,t)){let i=await r.queryEntities({...t,limit:$,offset:E});I({appliedFilters:a,backendEntities:i.items,entities:i.items.filter(e),pageInfo:i.pageInfo,totalItems:i.totalItems,limit:$,offset:E})}}else{let e=(0,p.Gz)(s),t=(0,p.Oq)(s),i=(0,p.Oq)((0,n.compact)(Object.values(T.appliedFilters)));if((0,n.isEqual)(i,t)){let t=T.backendEntities.filter(e);I({appliedFilters:a,backendEntities:T.backendEntities,entities:t,totalItems:t.length})}else{let i=await r.getEntities({filter:t}),n=i.items.filter(e);I({appliedFilters:a,backendEntities:i.items,entities:n,totalItems:n.length})}}if(t()){let e=o().parse(y.search,{ignoreQueryPrefix:!0}),t=o().stringify({...e,filters:l,..."none"===v?{}:{cursor:C,limit:$,offset:E}},{addQueryPrefix:!0,arrayFormat:"repeat"}),r=`${window.location.pathname}${t}`;window.history?.replaceState(null,document.title,r)}},[r,w,a,T,C,v,$,E],{loading:!0});(0,d.Z)(B,10,[a,C,$,E]);let F=(0,s.useCallback)(e=>{"cursor"===v?j(void 0):"offset"===v&&A(0),m(t=>{let r="function"==typeof e?e(t):e;return{...t,...r}})},[v]),P=(0,s.useMemo)(()=>{if("cursor"!==v)return;let e=T.pageInfo?.prevCursor,t=T.pageInfo?.nextCursor;return{prev:e?()=>j(e):void 0,next:t?()=>j(t):void 0}},[v,T.pageInfo]),N=(0,s.useMemo)(()=>({filters:T.appliedFilters,entities:T.entities,backendEntities:T.backendEntities,updateFilters:F,queryParameters:w,loading:O,error:L,pageInfo:P,totalItems:T.totalItems,limit:$,offset:E,setLimit:R,setOffset:A,paginationMode:v}),[T,F,w,O,L,P,$,E,v,R,A]);return(0,i.jsx)(f.Provider,{value:N,children:e.children})};function y(){let e=(0,s.useContext)(f);if(!e)throw Error("useEntityList must be used within EntityListProvider");return e}},76051:function(e,t,r){"use strict";r.d(t,{C:()=>c});var i=r(39381),n=r(16162),a=r(2784),o=r(92703),s=r(47410);function l(e){return"string"==typeof e?e:(0,i.eE)(e)}function c(){let e=(0,n.h_)(s.p),t=(0,o.Z)((0,a.useMemo)(()=>e.starredEntitie$(),[e]),new Set),r=(0,a.useCallback)(e=>t.has(l(e)),[t]);return{starredEntities:t,toggleStarredEntity:(0,a.useCallback)(t=>e.toggleStarred(l(t)).then(),[e]),isStarredEntity:r}}},11504:function(e,t,r){"use strict";r.d(t,{h:()=>s,w:()=>o});var i=r(39381),n=r(99182),a=r(84912);let o=(0,r(95275).u)("catalog:entity-route-ref",()=>(0,a.N)({id:"catalog:entity",params:["namespace","kind","name"]}));function s(e,t){let r,a,o;if("string"==typeof e){let t=(0,i.of)(e);r=t.kind,a=t.namespace,o=t.name}else"metadata"in e?(r=e.kind,a=e.metadata.namespace,o=e.metadata.name):(r=e.kind,a=e.namespace,o=e.name);r=r.toLocaleLowerCase("en-US"),a=a?.toLocaleLowerCase("en-US")??n.zG;let{encodeParams:s=!1}=t||{};return s&&(r=encodeURIComponent(r),a=encodeURIComponent(a),o=encodeURIComponent(o)),{kind:r,namespace:a,name:o}}},79669:function(e,t,r){"use strict";r.d(t,{P:()=>i});let i=(0,r(73669).F)({id:"catalog-react",messages:{catalogFilter:{title:"Filters",buttonTitle:"Filters"},entityKindPicker:{title:"Kind",errorMessage:"Failed to load entity kinds"},entityLifecyclePicker:{title:"Lifecycle"},entityNamespacePicker:{title:"Namespace"},entityOwnerPicker:{title:"Owner"},entityProcessingStatusPicker:{title:"Processing Status"},entityTagPicker:{title:"Tags"},entityPeekAheadPopover:{title:"Drill into the entity to see all of the tags.",emailCardAction:{title:"Email {{email}}",subTitle:"mailto {{email}}"},entityCardActionsTitle:"Show details"},entitySearchBar:{placeholder:"Search"},entityTypePicker:{title:"Type",errorMessage:"Failed to load entity types",optionAllTitle:"all"},favoriteEntity:{addToFavorites:"Add to favorites",removeFromFavorites:"Remove from favorites"},inspectEntityDialog:{title:"Entity Inspector",closeButtonTitle:"Close",ancestryPage:{title:"Ancestry"},colocatedPage:{title:"Colocated",description:"These are the entities that are colocated with this entity - as in, they originated from the same data source (e.g. came from the same YAML file), or from the same origin (e.g. the originally registered URL).",alertNoLocation:"Entity had no location information.",alertNoEntity:"There were no other entities on this location."},jsonPage:{title:"Entity as JSON",description:"This is the raw entity data as received from the catalog, on JSON form."},overviewPage:{title:"Overview"},yamlPage:{title:"Entity as YAML",description:"This is the raw entity data as received from the catalog, on YAML form."}},unregisterEntityDialog:{title:"Are you sure you want to unregister this entity?",cancelButtonTitle:"Cancel",deleteButtonTitle:"Delete Entity",deleteEntitySuccessMessage:"Removed entity {{entityName}}",bootstrapState:{title:'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "{{location}}"). If you believe this is in error, please contact the {{appTitle}} integrator.',advancedDescription:"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.",advancedOptions:"Advanced Options"},onlyDeleteStateTitle:"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog.",unregisterState:{title:"This action will unregister the following entities:",subTitle:"Located at the following location:",description:"To undo, just re-register the entity in {{appTitle}}.",unregisterButtonTitle:"Unregister Location",advancedOptions:"Advanced Options",advancedDescription:"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."},errorStateTitle:"Internal error: Unknown state"},userListPicker:{defaultOrgName:"Company",personalFilter:{title:"Personal",ownedLabel:"Owned",starredLabel:"Starred"},orgFilterAllLabel:"All"}}})},57736:function(e,t,r){"use strict";r.d(t,{Gz:()=>l,Oq:()=>s,wq:()=>o});var i=r(44073);function n(e){return!!e.getFullTextFilters}function a(e){return!!e.getOrderFilters}function o(e){let t=e.reduce((e,t)=>({...e,...t.getCatalogFilters?t.getCatalogFilters():{}}),{});return{filter:t,fullTextFilter:e.find(n)?.getFullTextFilters(),orderFields:e.find(a)?.getOrderFilters()||[{field:"metadata.name",order:"asc"}]}}function s(e){let t={};return e.forEach(e=>{e instanceof i.Cu||e instanceof i.rf||e instanceof i.zH||e instanceof i.Qe||e instanceof i.t$||e instanceof i.mM||e instanceof i.SZ||e instanceof i.IZ||Object.assign(t,e.getCatalogFilters?.()||{})}),t}function l(e){return t=>e.every(e=>!e.filterEntity||e.filterEntity(t))}},79043:function(e,t,r){"use strict";r.d(t,{h:()=>n});var i=r(39381);function n(e,t,r){let n=e?.relations?.filter(e=>e.type===t).map(e=>(0,i.of)(e.targetRef))||[];return r?.kind&&(n=n.filter(e=>e.kind.toLocaleLowerCase("en-US")===r.kind.toLocaleLowerCase("en-US"))),n}},2694:function(e,t,r){"use strict";r.d(t,{_Z:()=>u,ql:()=>c,jU:()=>l,kR:()=>d,yw:()=>s});var i=r(9456);class n{id;params;optional;defaultTarget;[i.K]="external";constructor(e,t,r,i){this.id=e,this.params=t,this.optional=r,this.defaultTarget=i}toString(){return`routeRef{type=external,id=${this.id}}`}getDefaultTarget(){return this.defaultTarget}}function a(e){return new n(e.id,e.params??[],!!e.optional,e?.defaultTarget)}var o=r(84912);let s=a({id:"create-component",optional:!0,defaultTarget:"scaffolder.createComponent"}),l=a({id:"view-techdoc",optional:!0,params:["namespace","kind","name"],defaultTarget:"techdocs.docRoot"}),c=a({id:"create-from-template",optional:!0,params:["namespace","templateName"],defaultTarget:"scaffolder.selectedTemplate"}),d=a({id:"catalog:unregister-redirect",optional:!0}),u=(0,o.N)({id:"catalog"})},79563:function(e,t,r){"use strict";function i(e,t){return"resourceType"in e&&(!t||e.resourceType===t)}r.d(t,{g2:()=>i})},45471:function(e,t,r){"use strict";r.d(t,{r:()=>n});var i,n=((i={}).DENY="DENY",i.ALLOW="ALLOW",i.CONDITIONAL="CONDITIONAL",i)},55944:function(e,t,r){"use strict";r.d(t,{R:()=>i});let i=(0,r(91424).T)({id:"plugin.permission.api"})},37026:function(e,t,r){"use strict";r.d(t,{F:()=>o});var i=r(52322),n=r(2784);let a=(0,r(79692).Z)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),o=e=>{let{text:t,preTag:r,postTag:o}=e,s=a(),l=(0,n.useMemo)(()=>t.split(RegExp(`(${r}.+?${o})`)),[o,r,t]);return(0,i.jsx)(i.Fragment,{children:l.map((e,t)=>e.includes(r)?(0,i.jsx)("mark",{className:s.highlight,children:e.replace(RegExp(`${r}|${o}`,"g"),"")},t):e)})}},98909:function(e,t,r){"use strict";r.d(t,{E5:()=>c});var i=r(52322),n=r(2784),a=r(29129),o=r(30303),s=r(38402);let l=e=>{let{rank:t,result:r,noTrack:o,children:l,alignItems:c="flex-start",...d}=e,u=(0,a.z)(),h=(0,n.useCallback)(()=>{!o&&r&&u.captureEvent("discover",r.title,{attributes:{to:r.location},value:t})},[t,r,o,u]);return(0,i.jsx)(s.Z,{divider:!0,alignItems:c,onClickCapture:h,...d,children:l})},c=e=>{let{name:t,component:r,predicate:a=()=>!0}=e;return(0,o.YO)({name:t,component:{lazy:()=>r().then(e=>t=>(0,i.jsx)(l,{rank:t.rank,result:t.result,noTrack:t.noTrack,children:(0,n.createElement)(e,t)}))},data:{"search.results.list.items.extensions.v1":a}})}},99503:function(e,t,r){"use strict";r.d(t,{AQ:()=>a,Un:()=>n,w5:()=>i});let i="backstage.io/techdocs-ref",n="backstage.io/techdocs-entity",a="backstage.io/techdocs-entity-path"},98049:function(e,t,r){"use strict";r.d(t,{$L:()=>m,DR:()=>u,KY:()=>p,Zz:()=>d,jM:()=>c});var i=r(52322),n=r(2784),a=r(73557),o=r(32904),s=r(30303),l=r(37840);let c="techdocs.addons.addon.v1",d="techdocs.addons.wrapper.v1",u=()=>null;(0,o.R)(u,d,!0);let h=e=>`${c}.${e.toLocaleLowerCase("en-US")}`;function p(e){let{name:t,component:r}=e;return(0,s.YO)({name:t,component:{sync:e=>(0,i.jsx)(r,{...e})},data:{[c]:e,[h(t)]:!0}})}let g=e=>e.selectByComponentData({key:d}).selectByComponentData({key:c}),f=e=>e.selectByComponentData({key:d}).findComponentData({key:c}),m=()=>{let e=(0,a.pC)(),t=(0,l.v)(e,g),r=(0,l.v)(e,f),i=(0,n.useCallback)(e=>{if(!t||!e)return null;let r=h(e.name);return t.selectByComponentData({key:r}).getElements()[0]??null},[t]);return{renderComponentByName:(0,n.useCallback)(e=>{let t=r.find(t=>t.name===e);return t?i(t):null},[r,i]),renderComponentsByLocation:(0,n.useCallback)(e=>{let t=r.filter(t=>t.location===e);return t.length?t.map(i):null},[r,i])}}},25018:function(e,t,r){"use strict";r.d(t,{D:()=>a,g:()=>n});var i=r(91424);let n=(0,i.T)({id:"plugin.techdocs.service"}),a=(0,i.T)({id:"plugin.techdocs.storageservice"})},31546:function(e,t,r){"use strict";r.d(t,{Z:()=>y,x:()=>v});var i=r(52322),n=r(2784),a=r(4812),o=r(84767),s=r(39381),l=r(18011),c=r(88260),d=r(16162),u=r(47337),h=r(60214),p=r(25018),g=r(25942);let f={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},m=(0,l.CT)("techdocs-reader-page-context"),y=(0,n.memo)(e=>{let{entityRef:t,children:r}=e,l=(0,d.h_)(p.g),y=(0,d.h_)(u.D),v=(0,a.Z)(async()=>l.getEntityMetadata(t),[t]),b=(0,o.Z)(async()=>l.getTechDocsMetadata(t),[t]),[w,x]=(0,n.useState)(f.title),[S,k]=(0,n.useState)(f.subtitle),[C,j]=(0,n.useState)(f.shadowRoot);(0,n.useEffect)(()=>{!C||b.value||b.loading||b.retry()},[b.value,b.loading,C,b.retry,b]);let E={metadata:b,entityRef:(0,g.wg)(t,y),entityMetadata:v,shadowRoot:C,setShadowRoot:j,title:w,setTitle:x,subtitle:S,setSubtitle:k},A=(0,c.E)({1:E});return(0,i.jsx)(h.fC,{attributes:{entityRef:(0,s.eE)(t)},children:(0,i.jsx)(m.Provider,{value:A,children:r instanceof Function?r(E):r})})},(e,t)=>{let r,i;return r=e.entityRef,i=t.entityRef,(0,s.eE)(r)===(0,s.eE)(i)}),v=()=>{let e=(0,n.useContext)(m);if(void 0===e)return f;let t=e.atVersion(1);if(void 0===t)throw Error("No context found for version 1.");return t}},25942:function(e,t,r){"use strict";r.d(t,{IG:()=>o,Li:()=>s,wg:()=>a});var i=r(39381),n=r(99503);function a(e,t){return t.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")||(e.kind=e.kind.toLocaleLowerCase(),e.name=e.name.toLocaleLowerCase(),e.namespace=e.namespace.toLocaleLowerCase()),e}function o(e){let t=e.metadata.annotations?.[n.AQ];return t?(t.startsWith("/")||(t=`/${t}`),t):""}let s=(e,t)=>{if(!t)return;let{namespace:r,kind:a,name:s}=(0,i.iB)(e);if(e.metadata.annotations?.[n.Un])try{let t=(0,i.of)(e.metadata.annotations?.[n.Un]);r=t.namespace,a=t.kind,s=t.name}catch{}let l=t({namespace:r,kind:a,name:s}),c=o(e);return`${l}${c}`}},63424:function(e,t,r){"use strict";r.d(t,{o:()=>i});let i=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},35854:function(e,t,r){"use strict";function i(e,t){return t.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?e:e.toLocaleLowerCase("en-US")}r.d(t,{D:()=>i})},74556:function(e,t,r){"use strict";r.d(t,{u:()=>P});var i=r(52322),n=r(13904),a=r(70862),o=r(14522),s=r(52265),l=r(26524),c=r(10465),d=r(43622),u=r(2296),h=r(36295),p=r(2784),g=r(37939),f=r(99503);class m{getCatalogFilters(){return{[`metadata.annotations.${f.w5}`]:g.n}}}let y=()=>{let{updateFilters:e}=(0,s.wp)();return(0,p.useEffect)(()=>{e({techdocs:new m})},[e]),null};var v=r(13303),b=r(76635),w=r(85051),x=r(12753),S=r(93048),k=r(16162),C=r(47337),j=r(76051),E=r(24615),A=r(33702),$=r(44073);function R(e){let{actions:t,columns:r,data:n,isLoading:a,options:o}=e,{updateFilters:l,setLimit:c,setOffset:d,limit:u,totalItems:h,offset:g}=(0,s.wp)(),[f,m]=(0,p.useState)(g&&u?Math.floor(g/u):0);return(0,p.useEffect)(()=>{h&&f*u>=h?d(Math.max(0,h-u)):d(Math.max(0,f*u))},[d,f,u,h]),(0,i.jsx)(A.i,{columns:r,data:n,options:{paginationPosition:"both",pageSizeOptions:[5,10,20,50,100],pageSize:u,emptyRowsWhenPaging:!1,actionsColumnIndex:-1,...o},actions:t,onSearchChange:e=>l({text:e?new $.SZ(e):void 0}),page:f,onPageChange:e=>{m(e)},onRowsPerPageChange:e=>{c(e)},totalCount:h,localization:{pagination:{labelDisplayedRows:""}},isLoading:a})}function T(e){let{actions:t,columns:r,data:n,next:a,prev:o,title:s,isLoading:l,options:c,...d}=e;return(0,i.jsx)(A.i,{title:l?"":s,columns:r,data:n,options:{paginationPosition:"both",...c,pageSizeOptions:[],showFirstLastPageButtons:!1,pageSize:Number.MAX_SAFE_INTEGER,emptyRowsWhenPaging:!1,actionsColumnIndex:-1},onPageChange:e=>{e>0?a?.():o?.()},page:+!!o,totalCount:a?Number.MAX_VALUE:Number.MAX_SAFE_INTEGER,localization:{pagination:{labelDisplayedRows:""}},isLoading:l,...d})}var I=r(21477),O=r(81264),L=r(51173),B=r(25537);let F=e=>{let{columns:t,actions:r,options:n}=e,{loading:a,error:o,entities:l,filters:c,paginationMode:d,pageInfo:u}=(0,s.wp)(),{isStarredEntity:h,toggleStarredEntity:p}=(0,j.C)(),[,g]=(0,v.Z)(),f=(0,S.t)(L.Fw),m=(0,k.h_)(C.D),y=(0,b.capitalize)(c.user?.value??"all"),A=[I.n.createCopyDocsUrlAction(g),I.n.createStarEntityAction(h,p)],$=(0,B.J)(l,f,m);return"cursor"===d?(0,i.jsx)(T,{columns:t||O.y,isLoading:a,title:y,actions:r||A,options:n,data:$,next:u?.next,prev:u?.prev}):"offset"===d?(0,i.jsx)(R,{columns:t||O.y,isLoading:a,title:y,actions:r||A,options:n,data:$}):o?(0,i.jsx)(w.G,{severity:"error",title:"Could not load available documentation.",children:(0,i.jsx)(x.O,{language:"text",text:o.toString()})}):(0,i.jsx)(E.H,{title:y,entities:l,loading:a,actions:r||A,columns:t,options:n})};F.columns=O.N,F.actions=I.n;let P=e=>{let{initialFilter:t="owned",columns:r,actions:p,ownerPickerMode:g,pagination:f,options:m,PageWrapper:v,CustomHeader:b}=e,w=v||h.j,x=b||(()=>(0,i.jsx)(n.y,{title:"",children:(0,i.jsx)(a.q,{children:"Discover documentation in your ecosystem."})}));return(0,i.jsx)(w,{children:(0,i.jsxs)(o.V,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(s.UO,{pagination:f,children:(0,i.jsxs)(l._i,{children:[(0,i.jsxs)(l._i.Filters,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(c.E,{initialFilter:t}),(0,i.jsx)(d.d,{mode:g}),(0,i.jsx)(u.x,{})]}),(0,i.jsx)(l._i.Content,{children:(0,i.jsx)(F,{actions:p,columns:r,options:m})})]})})]})})}},24615:function(e,t,r){"use strict";r.d(t,{H:()=>f});var i=r(52322),n=r(13303),a=r(93048),o=r(16162),s=r(47337),l=r(51173),c=r(33702),d=r(24780),u=r(37667),h=r(21477),p=r(81264),g=r(25537);let f=e=>{let{entities:t,title:r,loading:f,columns:m,actions:y,options:v}=e,[,b]=(0,n.Z)(),w=(0,a.t)(l.Fw),x=(0,o.h_)(s.D);if(!t)return null;let S=(0,g.J)(t,w,x),k=[h.n.createCopyDocsUrlAction(b)],C=S&&S.length>20;return(0,i.jsx)(i.Fragment,{children:f||S&&S.length>0?(0,i.jsx)(c.i,{isLoading:f,options:{paging:C,pageSize:20,search:!0,actionsColumnIndex:-1,...v},data:S,columns:m||p.y,actions:y||k,title:r?`${r} (${S.length})`:`All (${S.length})`}):(0,i.jsx)(d.u,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:(0,i.jsx)(u.Q,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:"DOCS"})})})};f.columns=p.N,f.actions=h.n},21477:function(e,t,r){"use strict";r.d(t,{n:()=>o});var i=r(52322),n=r(39981),a=r(63298);let o={createCopyDocsUrlAction:e=>t=>({icon:()=>(0,i.jsx)(n.default,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>e(`${window.location.origin}${t.resolved.docsUrl}`)}),createStarEntityAction:(e,t)=>r=>{let n=r.entity,o=e(n);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,i.jsx)(a.a,{isFavorite:o}),tooltip:o?"Remove from favorites":"Add to favorites",onClick:()=>t(n)}}}},81264:function(e,t,r){"use strict";r.d(t,{y:()=>u,N:()=>d});var i=r(52322),n=r(53244);let a=(0,r(79692).Z)(e=>({value:{marginBottom:e.spacing(.75)},subvalue:{color:e.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function o(e){let{value:t,subvalue:r}=e,o=a();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.Z,{className:o.value,children:t}),(0,i.jsx)(n.Z,{className:o.subvalue,children:r})]})}var s=r(13039),l=r(57148);function c(e){return e.metadata.title||e.metadata.name}let d={createTitleColumn:e=>({...d.createNameColumn(),field:"entity.metadata.title",hidden:e?.hidden}),createNameColumn:()=>({title:"Document",field:"entity.metadata.name",highlight:!0,searchable:!0,defaultSort:"asc",customSort:(e,t)=>{let r=c(e.entity).toLocaleLowerCase(),i=c(t.entity).toLocaleLowerCase();return r.localeCompare(i)},render:e=>(0,i.jsx)(o,{value:(0,i.jsx)(s.rU,{to:e.resolved.docsUrl,children:c(e.entity)}),subvalue:e.entity.metadata.description})}),createOwnerColumn:()=>({title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:e})=>(0,i.jsx)(l.r,{entityRefs:e.ownedByRelations,defaultKind:"group"})}),createKindColumn:()=>({title:"Kind",field:"entity.kind"}),createTypeColumn:()=>({title:"Type",field:"entity.spec.type"})},u=[d.createTitleColumn({hidden:!0}),d.createNameColumn(),d.createOwnerColumn(),d.createKindColumn(),d.createTypeColumn()]},25537:function(e,t,r){"use strict";r.d(t,{J:()=>s});var i=r(58985),n=r(79043),a=r(93386),o=r(35854);function s(e,t,r){return e.map(e=>{let s=(0,n.h)(e,i.S4);return{entity:e,resolved:{docsUrl:t({namespace:(0,o.D)(e.metadata.namespace??"default",r),kind:(0,o.D)(e.kind,r),name:(0,o.D)(e.metadata.name,r)}),ownedByRelations:s,ownedByRelationsTitle:s.map(e=>(0,a.$)(e,{defaultKind:"group"})).join(", ")}}})}},36295:function(e,t,r){"use strict";r.d(t,{j:()=>s});var i=r(52322),n=r(55386),a=r(16162),o=r(47337);let s=e=>{let{children:t,CustomPageWrapper:r}=e,s=(0,a.h_)(o.D),l=`Documentation available in ${s.getOptionalString("organization.name")??"Backstage"}`;return(0,i.jsx)(i.Fragment,{children:r?(0,i.jsx)(r,{children:t}):(0,i.jsx)(n.g,{title:"Documentation",subtitle:l,themeId:"documentation",children:t})})}},98248:function(e,t,r){"use strict";r.d(t,{Jl:()=>v,I6:()=>b,s4:()=>y});var i=r(25018),n=r(26291),a=r(36810),o=r(19920);class s{configApi;discoveryApi;fetchApi;constructor(e){this.configApi=e.configApi,this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi}async getCookie(){let e=await this.getApiOrigin(),t=`${e}/cookie`,r=await this.fetchApi.fetch(`${t}`,{credentials:"include"});if(!r.ok)throw await n.V.fromResponse(r);return await r.json()}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(e){let{kind:t,namespace:r,name:i}=e,a=await this.getApiOrigin(),o=`${a}/metadata/techdocs/${r}/${t}/${i}`,s=await this.fetchApi.fetch(`${o}`);if(!s.ok)throw await n.V.fromResponse(s);return await s.json()}async getEntityMetadata(e){let{kind:t,namespace:r,name:i}=e,a=await this.getApiOrigin(),o=`${a}/metadata/entity/${r}/${t}/${i}`,s=await this.fetchApi.fetch(`${o}`);if(!s.ok)throw await n.V.fromResponse(s);return await s.json()}}class l{configApi;discoveryApi;fetchApi;constructor(e){this.configApi=e.configApi,this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return this.configApi.getOptionalString("techdocs.storageUrl")??`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getOptionalString("techdocs.builder")||"local"}async getEntityDocs(e,t){let{kind:r,namespace:i,name:n}=e,o=await this.getStorageUrl(),s=`${o}/${i}/${r}/${n}/${t}`,l=await this.fetchApi.fetch(`${s.endsWith("/")?s:`${s}/`}index.html`),c="";switch(l.status){case 404:throw c="Page not found. ",t||(c+="This could be because there is no index.md file in the root of the docs directory of this repository."),new a.dR(c);case 500:throw Error(c="Could not generate documentation or an error in the TechDocs backend. ")}return l.text()}async syncEntityDocs(e,t=()=>{}){let{kind:r,namespace:i,name:n}=e,a=await this.getApiOrigin(),s=`${a}/sync/${i}/${r}/${n}`;return new Promise((e,r)=>{let i=new AbortController;(0,o.L)(s,{fetch:this.fetchApi.fetch,signal:i.signal,onmessage(i){if("log"===i.event)i.data&&t(JSON.parse(i.data));else if("finish"===i.event){let t=!1;i.data&&({updated:t}=JSON.parse(i.data)),e(t?"updated":"cached")}else"error"===i.event&&r(Error(i.data))},onerror(e){throw i.abort(),r(e),e}})})}async getBaseUrl(e,t,r){let{kind:i,namespace:n,name:a}=t,o=await this.getApiOrigin(),s=`${o}/static/docs/${n}/${i}/${a}/${r}`;return new URL(e,s.endsWith("/")?s:`${s}/`).toString()}}var c=r(51173),d=r(93949),u=r(74726),h=r(47337),p=r(51943),g=r(42412),f=r(30303),m=r(98909);let y=(0,d.r)({id:"techdocs",apis:[(0,u.n)({api:i.D,deps:{configApi:h.D,discoveryApi:p.N,fetchApi:g.g},factory:({configApi:e,discoveryApi:t,fetchApi:r})=>new l({configApi:e,discoveryApi:t,fetchApi:r})}),(0,u.n)({api:i.g,deps:{configApi:h.D,discoveryApi:p.N,fetchApi:g.g},factory:({configApi:e,discoveryApi:t,fetchApi:r})=>new s({configApi:e,discoveryApi:t,fetchApi:r})})],routes:{root:c._Z,docRoot:c.Fw,entityContent:c.pd}});y.provide((0,f.P4)({name:"TechdocsPage",component:()=>r.e("3058").then(r.bind(r,55195)).then(e=>e.Router),mountPoint:c._Z})),y.provide((0,f.P4)({name:"EntityTechdocsContent",component:()=>r.e("3058").then(r.bind(r,55195)).then(e=>e.LegacyEmbeddedDocsRouter),mountPoint:c.pd})),y.provide((0,f.P4)({name:"TechDocsCustomHome",component:()=>r.e("6333").then(r.bind(r,8005)).then(e=>e.TechDocsCustomHome),mountPoint:c._Z}));let v=y.provide((0,f.P4)({name:"TechDocsIndexPage",component:()=>r.e("763").then(r.bind(r,84377)).then(e=>e.TechDocsIndexPage),mountPoint:c._Z})),b=y.provide((0,f.P4)({name:"TechDocsReaderPage",component:()=>r.e("8189").then(r.bind(r,95930)).then(e=>e.TechDocsReaderPage),mountPoint:c.Fw}));y.provide((0,m.E5)({name:"TechDocsSearchResultListItem",component:()=>Promise.resolve().then(r.bind(r,43087)).then(e=>e.TechDocsSearchResultListItem),predicate:e=>"techdocs"===e.type}))},59998:function(e,t,r){"use strict";let i,n,a;r.d(t,{F:()=>e7});var o=r(52322),s=r(2784),l=r(60905),c=r(79692),d=r(31546),u=r(70882),h=r(19219),p=r(50236);let g="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",f=e=>{let[t,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!e)return()=>{};r(!0);let t=e.style;t.setProperty("opacity","0");let i=()=>{r(!1),t.setProperty("opacity","1")};return e.addEventListener(g,i),()=>{e.removeEventListener(g,i)}},[e]),t},m=e=>{let{element:t,onAppend:r,children:i}=e,[n,a]=(0,s.useState)((0,u.Ue)({...(0,p.Z)(),insertionPoint:void 0}));(0,s.useEffect)(()=>{if(!t)return()=>{};let e=t.querySelectorAll('head > link[rel="stylesheet"]'),r=e?.length??0,i=new CustomEvent(g);if(!r)return t.dispatchEvent(i),()=>{};let n=()=>{0==--r&&t.dispatchEvent(i)};return e?.forEach(e=>{e.addEventListener("load",n)}),()=>{e?.forEach(e=>{e.removeEventListener("load",n)})}},[t]);let l=(0,s.useCallback)(e=>{if(!t||!e)return;a((0,u.Ue)({...(0,p.Z)(),insertionPoint:t.querySelector("head")||void 0}));let i=e.shadowRoot;i||(i=e.attachShadow({mode:"open"})),i.replaceChildren(t),"function"==typeof r&&r(i)},[t,r]);return(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)(h.ZP,{jss:n,sheetsManager:new Map,children:[(0,o.jsx)("div",{ref:l,"data-testid":"techdocs-native-shadowroot"}),i]})})};r(54073);var y=r(14522),v=r(77344),b=r(76635),w=r(4812),x=r(76539),S=r(18011),k=r(88260),C=r(16162),j=r(29129),E=r(60214),A=r(47337);let $=(0,r(91424).T)({id:"plugin.search.queryservice"}),R=(0,S.CT)("search-context"),T=()=>{let e=(0,s.useContext)(R);if(!e)throw Error("useSearch must be used within a SearchContextProvider");let t=e.atVersion(1);if(!t)throw Error("No SearchContext v1 found");return t},I={term:"",types:[],filters:{},pageLimit:void 0,pageCursor:void 0},O=e=>{let{initialState:t,children:r}=e,i=((e=I)=>{let t=(0,C.h_)($),r=(0,j.z)(),[i,n]=(0,s.useState)(e.term),[a,o]=(0,s.useState)(e.types),[l,c]=(0,s.useState)(e.filters),[d,u]=(0,s.useState)(e.pageLimit),[h,p]=(0,s.useState)(e.pageCursor),g=(0,x.Z)(i),f=(0,x.Z)(l),m=(0,w.Z)(async()=>{let e=await t.query({term:i,types:a,filters:l,pageLimit:d,pageCursor:h});return i&&r.captureEvent("search",i,{value:e.numberOfResults}),e},[i,a,l,d,h]),y=!m.loading&&!m.error&&m.value?.nextPageCursor,v=!m.loading&&!m.error&&m.value?.previousPageCursor,S=(0,s.useCallback)(()=>{p(m.value?.nextPageCursor)},[m.value?.nextPageCursor]),k=(0,s.useCallback)(()=>{p(m.value?.previousPageCursor)},[m.value?.previousPageCursor]);return(0,s.useEffect)(()=>{void 0!==g&&i!==g&&p(void 0)},[i,g,p]),(0,s.useEffect)(()=>{void 0===f||(0,b.isEqual)(l,f)||p(void 0)},[l,f,p]),{result:m,term:i,setTerm:n,types:a,setTypes:o,filters:l,setFilters:c,pageLimit:d,setPageLimit:u,pageCursor:h,setPageCursor:p,fetchNextPage:y?S:void 0,fetchPreviousPage:v?k:void 0}})(t);return(0,o.jsx)(E.fC,{attributes:{searchTypes:i.types.sort().join(",")},children:(0,o.jsx)(R.Provider,{value:(0,k.E)({1:i}),children:r})})},L=e=>{let{initialState:t,inheritParentContextIfAvailable:r,children:i}=e,n=void 0!==(0,s.useContext)(R),a=(0,C.h_)(A.D),l=a.has("search.query.pageLimit")?{pageLimit:a.getNumber("search.query.pageLimit")}:{},c={...I,...t??{},...l};return n&&r?(0,o.jsx)(o.Fragment,{children:i}):(0,o.jsx)(O,{initialState:c,children:i})};var B=r(4614),F=r(63628),P=r(40098),N=r(61837),Z=r(50581),U=r(86619),z=r(77277),D=r(21853),M=r(20581),_=r(14380);let q=(0,r(73669).F)({id:"search-react",messages:{searchBar:{title:"Search",placeholder:"Search in {{org}}",clearButtonTitle:"Clear"},searchFilter:{allOptionTitle:"All"},searchPagination:{limitLabel:"Results per page:",limitText:"of {{num}}"},noResultsDescription:"Sorry, no results were found",searchResultGroup:{linkTitle:"See All",addFilterButtonTitle:"Add filter"},searchResultPager:{previous:"Previous",next:"Next"}}}),H=(0,s.forwardRef)((e,t)=>{let{onChange:r,onKeyDown:i=()=>{},onClear:n=()=>{},onSubmit:a=()=>{},debounceTime:l=200,clearButton:c=!0,fullWidth:d=!0,value:u,label:h,placeholder:p,inputProps:g={},InputProps:f={},endAdornment:m,...y}=e,v=(0,C.h_)(A.D),[b,w]=(0,s.useState)(""),x=(0,s.useRef)(""),{t:S}=(0,_.i)(q);(0,s.useEffect)(()=>{w(e=>e===x.current?String(u):e)},[u,x]),(0,M.Z)(()=>{x.current=b,r(b)},l,[b]);let k=(0,s.useCallback)(e=>{w(e.target.value)},[w]),j=(0,s.useCallback)(e=>{i&&i(e),a&&"Enter"===e.key&&a()},[i,a]),E=(0,s.useCallback)(()=>{x.current="",r(""),w(""),n&&n()},[r,n]),$=h?void 0:S("searchBar.title"),R=p??S("searchBar.placeholder",{org:v.getOptionalString("app.title")||"Backstage"}),T=(0,P.q)().getSystemIcon("search")||D.default,I=(0,o.jsx)(Z.Z,{position:"start",children:(0,o.jsx)(N.Z,{"aria-label":"Query",size:"small",disabled:!0,children:(0,o.jsx)(T,{})})}),O=(0,o.jsx)(Z.Z,{position:"end",children:(0,o.jsx)(z.Z,{"aria-label":S("searchBar.clearButtonTitle"),size:"small",onClick:E,onKeyDown:e=>{"Enter"===e.key&&e.stopPropagation()},children:S("searchBar.clearButtonTitle")})});return(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(U.Z,{id:"search-bar-text-field","data-testid":"search-bar-next",variant:"outlined",margin:"normal",inputRef:t,value:b,label:h,placeholder:R,InputProps:{startAdornment:I,endAdornment:c?O:m,...f},inputProps:{"aria-label":$,...g},fullWidth:d,onChange:k,onKeyDown:j,...y})})}),V=(0,s.forwardRef)((e,t)=>{let{value:r="",onChange:i,...n}=e,{term:a,setTerm:l}=T();(0,s.useEffect)(()=>{r&&l(String(r))},[r,l]);let c=(0,s.useCallback)(e=>{i?i(e):l(e)},[i,l]);return(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(E.fC,{attributes:{pluginId:"search",extension:"SearchBar"},children:(0,o.jsx)(H,{...n,ref:t,value:a,onChange:c})})})}),W=(0,c.Z)(e=>({loading:{right:e.spacing(1),position:"absolute"}})),G=()=>{let e=W();return(0,o.jsx)(B.Z,{className:e.loading,"data-testid":"search-autocomplete-progressbar",color:"inherit",size:20})},K=(n=function(e){let{loading:t,value:r,onChange:i=()=>{},options:n=[],getOptionLabel:a=e=>String(e),inputPlaceholder:l,inputDebounceTime:c,freeSolo:d=!0,fullWidth:u=!0,clearOnBlur:h=!1,"data-testid":p="search-autocomplete",...g}=e,{setTerm:f}=T(),m=(0,s.useCallback)(e=>e?"string"==typeof e?e:a(e):"",[a]),y=(0,s.useMemo)(()=>m(r),[r,m]),v=(0,s.useCallback)((e,t,r,n)=>{f(m(t)),i(e,t,r,n)},[m,f,i]),b=(0,s.useCallback)(({InputProps:{ref:e,className:r,endAdornment:i},InputLabelProps:n,...a})=>(0,o.jsx)(V,{...a,ref:e,clearButton:!1,value:y,placeholder:l,debounceTime:c,endAdornment:t?(0,o.jsx)(G,{}):i,InputProps:{className:r}}),[t,y,l,c]);return(0,o.jsx)(F.ZP,{...g,"data-testid":p,value:r,onChange:v,options:n,getOptionLabel:a,renderInput:b,freeSolo:d,fullWidth:u,clearOnBlur:h})},e=>(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(n,{...e})}));var Y=r(73557),J=r(43087);let Q=e=>{let{entityId:t,entityTitle:r,debounceTime:i=150,searchResultUrlMapper:n}=e,[a,l]=(0,s.useState)(!1),c=(0,Y.s0)(),{setFilters:d,term:u,result:{loading:h,value:p}}=T(),[g,f]=(0,s.useState)([]);(0,s.useEffect)(()=>(p&&f(p.results.slice(0,10)),()=>{}),[h,p]);let{kind:m,name:y,namespace:v}=t;return(0,s.useEffect)(()=>{d(e=>({...e,kind:m,namespace:v,name:y}))},[m,v,y,d]),(0,o.jsx)(K,{"data-testid":"techdocs-search-bar",size:"small",open:a&&!!u,getOptionLabel:()=>"",filterOptions:e=>e,onClose:()=>{l(!1)},onOpen:()=>{l(!0)},onChange:(e,t)=>{if(t?.document){let{location:e}=t.document;c(n?n(e):e)}},blurOnSelect:!0,noOptionsText:"No results found",value:null,options:g,renderOption:({document:e,highlight:t})=>(0,o.jsx)(J.TechDocsSearchResultListItem,{result:e,lineClamp:3,asListItem:!1,asLink:!1,title:e.title,highlight:t}),loading:h,inputDebounceTime:i,inputPlaceholder:`Search ${r||t.name} docs`,freeSolo:!1})},X=e=>{let t={term:"",types:["techdocs"],pageCursor:"",filters:e.entityId};return(0,o.jsx)(L,{initialState:t,children:(0,o.jsx)(Q,{...e})})};var ee=r(23933);let et=(0,s.lazy)(()=>Promise.all([r.e("1029"),r.e("9787")]).then(r.bind(r,33194)).then(e=>({default:e.RealLogViewer})));function er(e){let{Progress:t}=(0,P.q)().getComponents();return(0,o.jsx)(s.Suspense,{fallback:(0,o.jsx)(t,{}),children:(0,o.jsx)(et,{...e})})}var ei=r(4190),en=r(90436),ea=r(13314),eo=r(87685);let es=(0,c.Z)(e=>(0,ea.Z)({paper:{width:"100%",[e.breakpoints.up("sm")]:{width:"75%"},[e.breakpoints.up("md")]:{width:"50%"},padding:e.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:e.palette.background.default}})),el=({buildLog:e,onClose:t})=>{let r=es(),i=0===e.length?"Waiting for logs...":e.join("\n");return(0,o.jsxs)(l.Z,{container:!0,direction:"column",className:r.root,spacing:0,wrap:"nowrap",children:[(0,o.jsxs)(l.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap",children:[(0,o.jsx)(en.Z,{variant:"h5",children:"Build Details"}),(0,o.jsx)(N.Z,{title:"Close the drawer",onClick:t,color:"inherit",children:(0,o.jsx)(eo.default,{})},"dismiss")]}),(0,o.jsx)(l.Z,{item:!0,xs:!0,children:(0,o.jsx)(er,{text:i,classes:{root:r.logs}})})]})},ec=({buildLog:e})=>{let t=es(),[r,i]=(0,s.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(z.Z,{color:"inherit",onClick:()=>i(!0),children:"Show Build Logs"}),(0,o.jsx)(ei.ZP,{classes:{paper:t.paper},anchor:"right",open:r,onClose:()=>i(!1),children:(0,o.jsx)(el,{buildLog:e,onClose:()=>i(!1)})})]})};var ed=r(20082);let eu=({errorMessage:e})=>{let t=(0,C.h_)(A.D).getOptionalString("techdocs.builder"),r=(0,j.z)(),{entityRef:i}=(0,d.x)(),n=(0,Y.TH)();(0,s.useEffect)(()=>{let{pathname:e,search:t,hash:a}=n;r.captureEvent("not-found",`${e}${t}${a}`,{attributes:i})},[r,i,n]);let a="";return[void 0,"local"].includes(t)||(a="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."),(0,o.jsx)(ed.m,{status:"404",statusMessage:e||"Documentation not found",additionalInfo:a})};var eh=r(84767),ep=r(25018);function eg(e,t){let r={...e};switch(t.type){case"sync":"CHECKING"===t.state&&(r.buildLog=[]),r.activeSyncState=t.state,r.syncError=t.syncError;break;case"contentLoading":r.contentLoading=!0,r.contentError=void 0;break;case"content":"string"==typeof t.path&&(r.path=t.path),r.contentLoading=!1,r.content=t.content,r.contentError=t.contentError;break;case"buildLog":r.buildLog=r.buildLog.concat(t.log);break;default:throw Error()}return["BUILD_READY","BUILD_READY_RELOAD"].includes(r.activeSyncState)&&["contentLoading","content"].includes(t.type)&&(r.activeSyncState="UP_TO_DATE",r.buildLog=[]),r}let ef=(0,s.createContext)({}),em=()=>(0,s.useContext)(ef),ey=e=>{let{children:t}=e,{"*":r=""}=(0,Y.UO)(),{entityRef:i}=(0,d.x)(),{kind:n,namespace:a,name:l}=i,c=function(e,t,r,i){let[n,a]=(0,s.useReducer)(eg,{activeSyncState:"CHECKING",path:i,contentLoading:!0,buildLog:[]}),o=(0,C.h_)(ep.D),{retry:l}=(0,eh.Z)(async()=>{a({type:"contentLoading"});try{let n=await o.getEntityDocs({kind:e,namespace:t,name:r},i);return a({type:"content",content:n,path:i}),n}catch(e){a({type:"content",contentError:e,path:i})}},[o,e,t,r,i]),c=(0,s.useRef)({content:void 0,reload:()=>{}});c.current={content:n.content,reload:l},(0,w.Z)(async()=>{a({type:"sync",state:"CHECKING"});let i=setTimeout(()=>{a({type:"sync",state:"BUILDING"})},1e3);try{switch(await o.syncEntityDocs({kind:e,namespace:t,name:r},e=>{a({type:"buildLog",log:e})})){case"updated":c.current.content?a({type:"sync",state:"BUILD_READY"}):(c.current.reload(),a({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":a({type:"sync",state:"UP_TO_DATE"});break;default:a({type:"sync",state:"ERROR",syncError:Error("Unexpected return state")})}}catch(e){a({type:"sync",state:"ERROR",syncError:e})}finally{clearTimeout(i)}},[e,r,t,o,a,c]);let d=(0,s.useMemo)(()=>(function({contentLoading:e,content:t,activeSyncState:r}){return e||"BUILD_READY_RELOAD"===r||!t&&"CHECKING"===r?"CHECKING":t||"BUILDING"!==r?t?"BUILDING"===r?"CONTENT_STALE_REFRESHING":"BUILD_READY"===r?"CONTENT_STALE_READY":"ERROR"===r?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND":"INITIAL_BUILD"})({activeSyncState:n.activeSyncState,contentLoading:n.contentLoading,content:n.content}),[n.activeSyncState,n.content,n.contentLoading]);return(0,s.useMemo)(()=>({state:d,contentReload:l,path:n.path,content:n.content,contentErrorMessage:n.contentError?.toString(),syncErrorMessage:n.syncError?.toString(),buildLog:n.buildLog}),[d,l,n.path,n.content,n.contentError,n.syncError,n.buildLog])}(n,a,l,r);return(0,o.jsx)(ef.Provider,{value:c,children:t instanceof Function?t(c):t})},ev=(0,c.Z)(e=>({root:{marginBottom:e.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),eb=()=>{let e=null,t=ev(),{state:r,contentReload:i,contentErrorMessage:n,syncErrorMessage:a,buildLog:s}=em();return"INITIAL_BUILD"===r&&(e=(0,o.jsx)(ee.Z,{classes:{root:t.root},variant:"outlined",severity:"info",icon:(0,o.jsx)(B.Z,{size:"24px"}),action:(0,o.jsx)(ec,{buildLog:s}),children:"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster."})),"CONTENT_STALE_REFRESHING"===r&&(e=(0,o.jsx)(ee.Z,{variant:"outlined",severity:"info",icon:(0,o.jsx)(B.Z,{size:"24px"}),action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root},children:"A newer version of this documentation is being prepared and will be available shortly."})),"CONTENT_STALE_READY"===r&&(e=(0,o.jsx)(ee.Z,{variant:"outlined",severity:"success",action:(0,o.jsx)(z.Z,{color:"inherit",onClick:()=>i(),children:"Refresh"}),classes:{root:t.root},children:"A newer version of this documentation is now available, please refresh to view."})),"CONTENT_STALE_ERROR"===r&&(e=(0,o.jsxs)(ee.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root,message:t.message},children:["Building a newer version of this documentation failed."," ",a]})),"CONTENT_NOT_FOUND"===r&&(e=(0,o.jsxs)(o.Fragment,{children:[a&&(0,o.jsxs)(ee.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root,message:t.message},children:["Building a newer version of this documentation failed."," ",a]}),(0,o.jsx)(eu,{errorMessage:n})]})),e};var ew=r(41156),ex=r(60364),eS=r(43221),ek=r(35368),eC=r.n(ek);let ej=/main\.[A-Fa-f0-9]{8}\.min\.css$/,eE=/^https:\/\/fonts\.googleapis\.com/,eA=/^https:\/\/fonts\.gstatic\.com/,e$=e=>("LINK"!==e.nodeName||(e=>{let t=e?.getAttribute("href")||"",r=t.match(ej),i=t.match(eE),n=t.match(eA);return r||i||n})(e)||e.remove(),e);var eR=r(42332),eT=r(41128);let eI=["h1","h2","h3","h4","h5","h6"],eO=/(em)|(rem)/gi,eL=/var\(|\)/gi,eB={dark:["#only-light","#gh-light-mode-only"],light:["#only-dark","#gh-dark-mode-only"]},eF=[({theme:e})=>`
|
|
5
|
+
`);let t=function(e){let t={};for(let r in e.collectors)e.collectors.hasOwnProperty(r)&&(t[r]=e.collectors[r]());let r=[{node:tb.Children.toArray(e.root),parent:void 0,contexts:{}}];for(;0!==r.length;){let{node:i,parent:n,contexts:a}=r.shift();tb.Children.forEach(i,i=>{if(!(0,tb.isValidElement)(i))return;let o={};for(let e in t)if(t.hasOwnProperty(e)){let r=t[e];o[e]=r.visit(r.accumulator,i,n,a[e])}for(let t of e.discoverers){let e=t(i);e&&r.push({node:e,parent:i,contexts:o})}})}return Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.accumulator]))}({root:i,discoverers:[rd,ru],collectors:{routing:e?rw:rb,collectedPlugins:rp,featureFlags:rx}});return t.collectedPlugins.forEach(e=>this.plugins.add(e)),this.verifyPlugins(this.plugins),this.getApiHolder(),t},[i]),c=function(e,t,r){let i,n=!!e,a=(0,tV.Z)(e||(()=>Promise.resolve([])));if(n&&a.loading){let{Progress:e}=t;i=(0,s.jsx)(e,{})}else if(a.error){let{BootErrorPage:e}=t;i=(0,s.jsx)(e,{step:"load-config",error:a.error})}let{ThemeProvider:o=rZ}=t;return i?{node:(0,s.jsx)(tX,{apis:rD.with(ri,r),children:(0,s.jsx)(o,{children:i})})}:{api:t8.fromConfigs(a.value?.length?function(e){let t,r,i=t8.fromConfigs(e),n=i.getOptionalString("app.baseUrl"),a=i.getOptionalString("backend.baseUrl"),o=e;if(n&&a&&new URL(n).origin===new URL(a).origin){let e=r8(a);a!==e&&(t=e)}if(n){let e=r8(n);n!==e&&(r=e)}return(r||t)&&(o=o.concat({data:{app:r&&{baseUrl:r},backend:t&&{baseUrl:t}},context:"relative-resolver"})),o}(a.value):[])}}(this.configLoader,this.components,a),d="api"in c;if(d){let{api:e}=c;this.configApi=e}if("node"in c)return c.node;if(t)throw t;if(!e)try{e=function(e,t,r){let i=function(e){let t=new Map,r=new Map;for(let i of e){for(let[e,r]of Object.entries(i.routes??{})){let n=`${i.getId()}.${e}`;if(t.has(n))throw Error(`Unexpected duplicate route '${n}'`);t.set(n,r)}for(let[e,t]of Object.entries(i.externalRoutes??{})){let n=`${i.getId()}.${e}`;if(r.has(n))throw Error(`Unexpected duplicate external route '${n}'`);r.set(n,t)}}return{routes:t,externalRoutes:r}}(r),n=new Map,a=new Set;e&&e({bind:(e,t)=>{for(let[r,i]of Object.entries(t)){let t=e[r];if(!t)throw Error(`Key ${r} is not an existing external route`);if(!i&&!t.optional)throw Error(`External route ${r} is required but was ${!1===i?"disabled":"not provided"}`);i?n.set(t,i):!1===i&&a.add(t)}}});let o=t.getOptionalConfig("app.routes.bindings")?.get();if(o)for(let[e,t]of Object.entries(o)){var s;if(s=t,!1!==s&&("string"!=typeof s||!s))throw Error(`Invalid config at app.routes.bindings['${e}'], value must be a non-empty string or false`);let r=i.externalRoutes.get(e);if(!r)throw Error(`Invalid config at app.routes.bindings, '${e}' is not a valid external route`);if(!(n.has(r)||a.has(r)))if(!1===t)a.add(r);else{let a=i.routes.get(t);if(!a)throw Error(`Invalid config at app.routes.bindings['${e}'], '${t}' is not a valid route`);n.set(r,a)}}for(let e of i.externalRoutes.values())if(!n.has(e)&&!a.has(e)){let t="getDefaultTarget"in e?e.getDefaultTarget():void 0;if(t){let r=i.routes.get(t);r&&n.set(e,r)}}return n}(this.bindRoutes,c.api,this.plugins),function(e,t){let r=new Set(t.values());for(let i of(r.delete(void 0),t.keys())){if(r.has(i))continue;let n=i,a="";for(;n;){let r=e.get(n);if(void 0===r)throw Error(`No path for ${n}`);a=rE(r,a),n=t.get(n)}let o=a.match(/:(\w+)/g);if(o){for(let e=0;e<o.length;e++)for(let t=e+1;t<o.length;t++)if(o[t]===o[e])throw Error(`Parameter ${o[t]} is duplicated in path ${a}`)}}}(o.paths,o.parents);var u,h=e;for(let e of this.plugins)if(e.externalRoutes){for(let[t,r]of Object.entries(e.externalRoutes))if(!r.optional&&!h.has(r))throw Error(`External route '${t}' of the '${e.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}catch(e){throw t=e,e}if(d&&n.current){n.current=!1;let e=this.getApiHolder().get(re.W);if(e){for(let t of this.featureFlags)e.registerFlag({...t,pluginId:""});for(let t of this.plugins.values())if("getFeatureFlags"in t)for(let r of t.getFeatureFlags())e.registerFlag({name:r.name,pluginId:t.getId()});else for(let r of t.output())"feature-flag"===r.type&&e.registerFlag({name:r.name,pluginId:t.getId()});let t=new Set(e.getRegisteredFlags().map(e=>e.name));for(let r of l)t.has(r)||e.registerFlag({name:r,pluginId:""})}}let{ThemeProvider:p=rZ,Progress:g}=this.components,f=this.getApiHolder();if(function(){let e=document.querySelector('meta[name="backstage-app-mode"]');return"protected"===(e?.getAttribute("content")??"public")}()){let e=f.get(eZ.V),t=f.get(ez.g),r=f.get(eB.N);if(!e||!t||!r)throw Error("App is running in protected mode but missing required APIs");this.appIdentityProxy.enableCookieAuth({errorApi:e,fetchApi:t,discoveryApi:r})}return(0,s.jsx)(tX,{apis:f,children:(0,s.jsx)(rL,{appContext:r,children:(0,s.jsx)(p,{children:(0,s.jsx)(rI,{routePaths:o.paths,routeParents:o.parents,routeObjects:o.objects,routeBindings:e,basePath:(u=c.api,rM()?rK(u):""),children:(0,s.jsx)(r_.Provider,{value:{routeObjects:o.objects,appIdentityProxy:this.appIdentityProxy},children:(0,s.jsx)(tb.Suspense,{fallback:(0,s.jsx)(g,{}),children:i})})})})})})}}getRouter(){return rJ}getApiHolder(){if(this.apiHolder){for(let e of this.plugins)for(let t of e.getApis())this.apiFactoryRegistry.get(t.api)||this.apiFactoryRegistry.register("default",t);return rl.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}for(let e of(this.apiFactoryRegistry.register("static",{api:ri,deps:{},factory:()=>t9.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:eF.D,deps:{},factory:()=>{if(!this.configApi)throw Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:eD.$,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("static",{api:rn,deps:{},factory:()=>this.appLanguageApi}),this.apiFactoryRegistry.register("default",{api:ra.o,deps:{languageApi:rn},factory:({languageApi:e})=>r6.create({languageApi:e,resources:this.translationResources})}),this.apiFactoryRegistry.register("default",{api:re.W,deps:{},factory:()=>new rr}),this.defaultApis))this.apiFactoryRegistry.register("default",e);for(let e of this.plugins)for(let t of e.getApis())if(!this.apiFactoryRegistry.register("default",t))throw Error(`Plugin ${e.getId()} tried to register duplicate or forbidden API factory for ${t.api}`);for(let e of this.apis)if(!this.apiFactoryRegistry.register("app",e))throw Error(`Duplicate or forbidden API factory for ${e.api} in app`);return rl.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new rl(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(e){let t=new Set;for(let r of e){let e=r.getId();if(t.has(e))throw Error(`Duplicate plugin found '${e}'`);t.add(e)}}}var ie=r(37840);let it=!1,ir=e=>{let{NotFoundErrorPage:t}=(0,rq.q)().getComponents(),r=(0,tb.useMemo)(()=>rM(),[]),i=[...(0,ie.v)(e.children,e=>e.getElements().flatMap(e=>{let t=e.props.path;if(""===t)return[];t=t?.replace(/\/\*$/,"")??"/";let i=r?e:e.props.element;return r||i||(i=e,it||(console.warn("DEPRECATION WARNING: All elements within <FlatRoutes> must be of type <Route> with an element prop. Existing usages of <Navigate key=[path] to=[to] /> should be replaced with <Route path=[path] element={<Navigate to=[to] />} />."),it=!0)),[{path:t,element:i,children:e.props.children?[{path:"/"===t?"/":"*",element:e.props.children}]:void 0}]}).sort((e,t)=>t.path.localeCompare(e.path)).map(e=>({...e,path:"/"===e.path?"/":`${e.path}/*`}))),{path:"*",element:(0,s.jsx)(t,{})}];return(0,c.V$)(i)};(0,rh.R)(ir,"core.type","FlatRoutes");var ii=r(39381),ia=r(47645),io=r(37939);let is="catalog";var il=r(23587);class ic{discoveryApi;fetchApi;constructor(e){this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi||{fetch:eV()}}async deleteEntityByUid(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"DELETE"})}async getEntities(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities{?fields,limit,filter*,offset,after,order*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntitiesByQuery(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-query{?fields,limit,offset,orderField*,cursor,filter*,fullTextFilterTerm,fullTextFilterFields}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntitiesByRefs(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-refs{?filter*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async getEntityAncestryByName(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-name/{kind}/{namespace}/{name}/ancestry").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityByName(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-name/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityByUid(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entities/by-uid/{uid}").expand({uid:e.path.uid});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getEntityFacets(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/entity-facets{?facet*,filter*}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async refreshEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/refresh").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async validateEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/validate-entity").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async analyzeLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/analyze-location").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async createLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations{?dryRun}").expand({...e.query});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"POST",body:JSON.stringify(e.body)})}async deleteLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"DELETE"})}async getLocation(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/{id}").expand({id:e.path.id});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getLocationByEntity(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations/by-entity/{kind}/{namespace}/{name}").expand({kind:e.path.kind,namespace:e.path.namespace,name:e.path.name});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}async getLocations(e,t){let r=await this.discoveryApi.getBaseUrl(is),i=il.parse("/locations").expand({});return await this.fetchApi.fetch(`${r}${i}`,{headers:{"Content-Type":"application/json",...t?.token&&{Authorization:`Bearer ${t?.token}`}},method:"GET"})}}class id{apiClient;constructor(e){this.apiClient=new ic(e)}async getEntityAncestors(e,t){return await this.requestRequired(await this.apiClient.getEntityAncestryByName({path:(0,ii.of)(e.entityRef)},t))}async getLocations(e,t){return{items:(await this.requestRequired(await this.apiClient.getLocations(e??{},t))).map(e=>e.data)}}async getLocationById(e,t){return await this.requestOptional(await this.apiClient.getLocation({path:{id:e}},t))}async getLocationByEntity(e,t){return await this.requestOptional(await this.apiClient.getLocationByEntity({path:(0,ii.of)(e)},t))}async getEntities(e,t){let{filter:r=[],fields:i=[],order:n,offset:a,limit:o,after:s}=e??{},l=[];if(n)for(let e of[n].flat())e&&l.push(`${e.order}:${e.field}`);return{items:await this.requestRequired(await this.apiClient.getEntities({query:{fields:i,limit:o,filter:this.getFilterValue(r),offset:a,after:s,order:n?l:void 0}},t))}}async getEntitiesByRefs(e,t){let r,i=async r=>{let i=await this.apiClient.getEntitiesByRefs({body:{entityRefs:r,fields:e.fields},query:{filter:this.getFilterValue(e.filter)}},t);if(!i.ok)throw await eq.V.fromResponse(i);return(await i.json()).items.map(e=>e??void 0)};for(let t of function(e,t){if(!e.length)return[];let{maxCountPerChunk:r=1e3,maxStringLengthPerChunk:i=92160,extraStringLengthPerRef:n=3}=(void 0)??{},a=[],o=0,s=0,l=0;for(let t=0;t<e.length;++t){let c=e[t].length+n;l>0&&(s+c>i||l+1>r)&&(a.push(e.slice(o,t)),o=t,s=0,l=0),s+=c,l+=1}return a.push(e.slice(o,e.length)),a}(e.entityRefs)){let e=await i(t);r?r.push(...e):r=e}return{items:r??[]}}async queryEntities(e={},t){let r={};if(e.cursor){let{fields:t=[],limit:i,cursor:n}=e;r.cursor=n,void 0!==i&&(r.limit=i),t.length&&(r.fields=t)}else{let{fields:t=[],filter:i,limit:n,offset:a,orderFields:o,fullTextFilter:s}=e;r.filter=this.getFilterValue(i),void 0!==n&&(r.limit=n),void 0!==a&&(r.offset=a),void 0!==o&&(r.orderField=(Array.isArray(o)?o:[o]).map(({field:e,order:t})=>`${e},${t}`)),t.length&&(r.fields=t);let l=s?.term?.trim();l&&(r.fullTextFilterTerm=l),s?.fields?.length&&(r.fullTextFilterFields=s.fields)}return this.requestRequired(await this.apiClient.getEntitiesByQuery({query:r},t))}async getEntityByRef(e,t){return this.requestOptional(await this.apiClient.getEntityByName({path:(0,ii.of)(e)},t))}async getEntityByName(e,t){let{kind:r,namespace:i="default",name:n}=e;return this.requestOptional(await this.apiClient.getEntityByName({path:{kind:r,namespace:i,name:n}},t))}async refreshEntity(e,t){let r=await this.apiClient.refreshEntity({body:{entityRef:e}},t);if(200!==r.status)throw await eq.V.fromResponse(r)}async getEntityFacets(e,t){let{filter:r=[],facets:i}=e;return await this.requestOptional(await this.apiClient.getEntityFacets({query:{facet:i,filter:this.getFilterValue(r)}},t))}async addLocation(e,t){let{type:r="url",target:i,dryRun:n}=e,a=await this.apiClient.createLocation({body:{type:r,target:i},query:{dryRun:n?"true":void 0}},t);if(201!==a.status)throw await eq.V.fromResponse(a);let{location:o,entities:s,exists:l}=await a.json();if(!o)throw Error(`Location wasn't added: ${i}`);return{location:o,entities:s,exists:l}}async getLocationByRef(e,t){return(await this.requestRequired(await this.apiClient.getLocations({},t))).map(e=>e.data).find(t=>e===(0,ia.NZ)(t))}async removeLocationById(e,t){await this.requestIgnored(await this.apiClient.deleteLocation({path:{id:e}},t))}async removeEntityByUid(e,t){await this.requestIgnored(await this.apiClient.deleteEntityByUid({path:{uid:e}},t))}async validateEntity(e,t,r){let i=await this.apiClient.validateEntity({body:{entity:e,location:t}},r);if(i.ok)return{valid:!0};if(400!==i.status)throw await eq.V.fromResponse(i);let{errors:n=[]}=await i.json();return{valid:!1,errors:n}}async analyzeLocation(e,t){let r=await this.apiClient.analyzeLocation({body:e},t);if(200!==r.status)throw await eq.V.fromResponse(r);return r.json()}async requestIgnored(e){if(!e.ok)throw await eq.V.fromResponse(e)}async requestRequired(e){if(!e.ok)throw await eq.V.fromResponse(e);return e.json()}async requestOptional(e){if(!e.ok){if(404===e.status)return;throw await eq.V.fromResponse(e)}return await e.json()}getFilterValue(e=[]){let t=[];for(let r of[e].flat()){let e=[];for(let[t,i]of Object.entries(r))for(let r of[i].flat())r===io.n?e.push(t):"string"==typeof r&&e.push(`${t}=${r}`);e.length&&t.push(e.join(","))}return t}}var iu=r(84081),ih=r(47410),ip=r(1465),ig=r(11504),im=r(2694),iy=r(93949),iv=r(30303),ib=r(98909),iw=r(76635);async function ix({storageApi:e}){let t=e.forBucket("settings"),r=e.forBucket("starredEntities"),i=t.snapshot("starredEntities").value;if(!(0,iw.isArray)(i))return;let n=new Set(r.snapshot("entityRefs").value??[]);i.filter(iw.isString).map(e=>e.split(":")).filter(e=>4===e.length&&"entity"===e[0]).map(([e,t,r,i])=>(0,ii.eE)({kind:t,namespace:r,name:i})).forEach(e=>n.add(e)),await r.set("entityRefs",Array.from(n)),await t.remove("starredEntities")}class iS{settingsStore;starredEntities;constructor(e){ix(e).then(),this.settingsStore=e.storageApi.forBucket("starredEntities"),this.starredEntities=new Set(this.settingsStore.snapshot("entityRefs").value??[]),this.settingsStore.observe$("entityRefs").subscribe({next:e=>{this.starredEntities=new Set(e.value??[]),this.notifyChanges()}})}async toggleStarred(e){this.starredEntities.has(e)?this.starredEntities.delete(e):this.starredEntities.add(e),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}subscribers=new Set;observable=new(j())(e=>(e.next(new Set(this.starredEntities)),this.subscribers.add(e),()=>{this.subscribers.delete(e)}));notifyChanges(){for(let e of this.subscribers)e.next(new Set(this.starredEntities))}}function ik(e){let{years:t=0,months:r=0,weeks:i=0,days:n=0,hours:a=0,minutes:o=0,seconds:s=0,milliseconds:l=0}=e;return 1e3*(60*(60*(24*(365*t+30*r+7*i+n)+a)+o)+s)+l}var iC=r(99798),ij=r.n(iC),iE=r(96428);let iA={seconds:10},i$={milliseconds:50},iR={api:tn.default,component:tl.default,system:e6.default,resource:tp.default,domain:e4.default,location:ts.default,user:tu.default,group:td.default,template:tg.default};function iT(e){return{async:e.async,render:({entityRef:t,entity:r,context:i})=>({snapshot:(0,iE.n)(r||t,i),loadEntity:e.async})}}class iI extends Map{#I;#O=new Map;constructor(e){super(),this.#I=e}set(e,t){let r=super.set(e,t);return this.#O.set(e,Date.now()),r}get(e){if(!this.has(e))return;let t=this.#O.get(e);return Date.now()-t>this.#I?void this.delete(e):super.get(e)}delete(e){return this.#O.delete(e),super.delete(e)}clear(){return this.#O.clear(),super.clear()}}class iO{static createLocal(){return new iO({renderer:iT({async:!1})})}static create(e){return new iO(e)}#L;#B;#C;#F;#P;constructor(e){let t=e.cacheTtl??iA,r=e.batchDelay??i$,i=e.renderer??iT({async:!0}),n={};if(Object.entries(iR).forEach(([e,t])=>{n[e.toLocaleLowerCase("en-US")]=t}),Object.entries(e.kindIcons??{}).forEach(([e,t])=>{n[e.toLocaleLowerCase("en-US")]=t}),i.async){if(!e.catalogApi)throw TypeError("Asynchronous rendering requires a catalog API");this.#C=this.#N({cacheTtl:t,batchDelay:r,renderer:i,catalogApi:e.catalogApi})}this.#B=ik(t),this.#L=new Map,this.#F=n,this.#P=i}forEntity(e,t){let r,{entityRef:i,kind:n,entity:a,needsLoad:o}=this.#Z(e),s=e=>{let{snapshot:r}=this.#P.render({entityRef:i,loading:e.loading,entity:e.entity,context:t||{}});return{...r,entityRef:i,Icon:this.#U(r.Icon,n)}};try{r=s({loading:o,entity:a})}catch{r={primaryTitle:i,entityRef:i}}if(!o)return{snapshot:r,promise:Promise.resolve(r)};let l=Promise.resolve().then(()=>this.#C?.load(i)).then(e=>s({loading:!1,entity:e??a})).catch(()=>{}),c=new(j())(e=>{let t=!1;return l.then(t=>{t&&e.next(t)}).finally(()=>{t||e.complete()}),()=>{t=!0}}),d=l.then(e=>e??r);return{snapshot:r,update$:c,promise:d}}#Z(e){if("string"!=typeof e)return{entity:e,kind:e.kind,entityRef:(0,ii.eE)(e),needsLoad:!1};let t=this.#L.get(e),r=t?.entity,i=(!t||Date.now()-t.updatedAt>this.#B)&&!1!==this.#P.async&&void 0!==this.#C;return{entity:r,kind:(0,ii.of)(e).kind,entityRef:e,needsLoad:i}}#N(e){let t=ik(e.cacheTtl),r=ik(e.batchDelay);return new(ij())(async t=>{let{items:r}=await e.catalogApi.getEntitiesByRefs({entityRefs:t,fields:["kind","metadata.name","metadata.namespace","metadata.title","metadata.description","spec.profile.displayName","spec.type"]}),i=Date.now();return t.forEach((e,t)=>{this.#L.set(e,{updatedAt:i,entity:r[t]})}),r},{name:"DefaultEntityPresentationApi",cacheMap:new iI(t),maxBatchSize:100,batchScheduleFn:r?e=>setTimeout(e,r):void 0})}#U(e,t){return e||!1!==e&&this.#F[t.toLocaleLowerCase("en-US")]}}let iL=(0,iy.r)({id:"catalog",apis:[(0,eL.n)({api:iu.A,deps:{discoveryApi:eB.N,fetchApi:ez.g},factory:({discoveryApi:e,fetchApi:t})=>new id({discoveryApi:e,fetchApi:t})}),(0,eL.n)({api:ih.p,deps:{storageApi:eU},factory:({storageApi:e})=>new iS({storageApi:e})}),(0,eL.n)({api:ip.X,deps:{catalogApi:iu.A},factory:({catalogApi:e})=>iO.create({catalogApi:e})})],routes:{catalogIndex:im._Z,catalogEntity:ig.w},externalRoutes:{createComponent:im.yw,viewTechDoc:im.jU,createFromTemplate:im.ql,unregisterRedirect:im.kR}});iL.provide((0,iv.P4)({name:"CatalogIndexPage",component:()=>Promise.all([r.e("3072"),r.e("2695"),r.e("6356")]).then(r.bind(r,63459)).then(e=>e.CatalogPage),mountPoint:im._Z}));let iB=iL.provide((0,iv.P4)({name:"CatalogEntityPage",component:()=>r.e("1513").then(r.bind(r,3299)).then(e=>e.CatalogEntityPage),mountPoint:ig.w}));iL.provide((0,iv.CO)({name:"EntityAboutCard",component:{lazy:()=>Promise.all([r.e("3072"),r.e("2686"),r.e("8403")]).then(r.bind(r,34626)).then(e=>e.AboutCard)}})),iL.provide((0,iv.CO)({name:"EntityLinksCard",component:{lazy:()=>r.e("7996").then(r.bind(r,63354)).then(e=>e.EntityLinksCard)}})),iL.provide((0,iv.CO)({name:"EntityLabelsCard",component:{lazy:()=>r.e("843").then(r.bind(r,64833)).then(e=>e.EntityLabelsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSystemsCard",component:{lazy:()=>r.e("4217").then(r.bind(r,57470)).then(e=>e.HasSystemsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasComponentsCard",component:{lazy:()=>r.e("7952").then(r.bind(r,64450)).then(e=>e.HasComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>r.e("1361").then(r.bind(r,49908)).then(e=>e.HasSubcomponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasSubdomainsCard",component:{lazy:()=>r.e("73").then(r.bind(r,78205)).then(e=>e.HasSubdomainsCard)}})),iL.provide((0,iv.CO)({name:"EntityHasResourcesCard",component:{lazy:()=>r.e("5526").then(r.bind(r,73969)).then(e=>e.HasResourcesCard)}})),iL.provide((0,iv.CO)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>r.e("1479").then(r.bind(r,39010)).then(e=>e.DependsOnComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>r.e("8111").then(r.bind(r,72047)).then(e=>e.DependencyOfComponentsCard)}})),iL.provide((0,iv.CO)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>r.e("4142").then(r.bind(r,75926)).then(e=>e.DependsOnResourcesCard)}})),iL.provide((0,iv.CO)({name:"RelatedEntitiesCard",component:{lazy:()=>r.e("4446").then(r.bind(r,93690)).then(e=>e.RelatedEntitiesCard)}})),iL.provide((0,ib.E5)({name:"CatalogSearchResultListItem",component:()=>r.e("8827").then(r.bind(r,75970)).then(e=>e.CatalogSearchResultListItem),predicate:e=>"software-catalog"===e.type}));var iF=r(43221),iP=r(25018);class iN{configApi;discoveryApi;identityApi;constructor({configApi:e,discoveryApi:t,identityApi:r}){this.configApi=e,this.discoveryApi=t,this.identityApi=r}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getOptionalString("techdocs.builder")||"local"}async getEntityDocs(e,t){let r=await this.getApiOrigin(),i=`${r}/${t}`,n=await fetch(`${i.endsWith("/")?i:`${i}/`}index.html`);if(404===n.status)throw Error("Page not found");return n.text()}async syncEntityDocs(e){return"cached"}async getBaseUrl(e,t,r){let i=await this.getApiOrigin();return new URL(e,`${i}/${r}`).toString()}}class iZ{configApi;discoveryApi;identityApi;constructor({configApi:e,discoveryApi:t,identityApi:r}){this.configApi=e,this.discoveryApi=t,this.identityApi=r}async getCookie(){return{expiresAt:new Date(Date.now()+6e5).toISOString()}}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(e){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(e){return{site_name:"Live preview environment",site_description:""}}}let iU=[(0,eL.n)({api:iP.D,deps:{configApi:eF.D,discoveryApi:eB.N,identityApi:eD.$},factory:({configApi:e,discoveryApi:t,identityApi:r})=>new iN({configApi:e,discoveryApi:t,identityApi:r})}),(0,eL.n)({api:iP.g,deps:{configApi:eF.D,discoveryApi:eB.N,identityApi:eD.$},factory:({configApi:e,discoveryApi:t,identityApi:r})=>new iZ({configApi:e,discoveryApi:t,identityApi:r})}),(0,eL.n)({api:iF.q,deps:{configApi:eF.D},factory:({configApi:e})=>iF.a.fromConfig(e)})],iz={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external"}},iD={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external"}};async function iM(){let e=await fetch("/.detect");return!!e.ok&&"techdocs-cli-server"===(await e.text()).trim()}async function i_(){return[...await rU(),{context:"detected",data:await iM()?iz:iD}]}var iq=r(79692),iH=r(58845);let iV=(0,iq.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}}),iW=()=>{let e=iV();return(0,s.jsx)("svg",{className:e.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05",children:(0,s.jsx)("path",{className:e.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"})})},iG=(0,iq.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}}),iK=()=>{let e=iG();return(0,s.jsx)("svg",{className:e.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5",children:(0,s.jsx)("path",{className:e.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"})})};var iY=r(56121);let iJ={isOpen:!1,setOpen:()=>{}},iQ=(0,tb.createContext)(iJ),iX=(0,tY.CT)("sidebar-open-state-context");function i0(e){let{children:t,value:r}=e;return(0,s.jsx)(iQ.Provider,{value:r,children:(0,s.jsx)(iX.Provider,{value:(0,tJ.E)({1:r}),children:t})})}let i1=()=>{let e=(0,tb.useContext)(iX),t=(0,tb.useContext)(iQ);if(void 0===e)return t||iJ;let r=e.atVersion(1);if(void 0===r)throw Error("No context found for version 1.");return r};var i2=r(13039),i3=r(65260),i4=r(53244),i5=r(41156),i6=r(16709),i8=r.n(i6),i7=r(50023),i9=r(61837),ne=r(4190),nt=r(90436),nr=r(87685),ni=r(44882),nn=r(57998);let na=(0,tb.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}});var no=r(42332);let ns=(0,iq.Z)(e=>({root:{flexGrow:0,margin:e.spacing(0,2),color:e.palette.navigation.color},selected:t=>({color:`${e.palette.navigation.selectedColor}!important`,borderTop:`solid ${t.sidebarConfig.selectedIndicatorWidth}px ${e.palette.navigation.indicator}`,marginTop:"-1px"}),label:{display:"none"}})),nl=e=>{let{to:t,label:r,icon:i,value:n}=e,{sidebarConfig:a}=(0,tb.useContext)(iY.kG),o=ns({sidebarConfig:a}),l=(0,c.TH)(),{selectedMenuItemIndex:d,setSelectedMenuItemIndex:u}=(0,tb.useContext)(na),h=n===d&&d>=0||n!==d&&!(d>=0)&&t===l.pathname;return(0,s.jsx)(nn.Z,{"aria-label":r,label:r,icon:i,component:i2.rU,to:t||l.pathname,onChange:(e,t)=>{t===d?u(-1):u(t)},value:n,selected:h,classes:o})},nc=e=>{let{children:t,to:r,label:i,icon:n,value:a}=e,{isMobile:o}=(0,no.Pf)();return o?(0,s.jsx)(nl,{to:r,label:i,icon:n,value:a}):(0,s.jsx)(s.Fragment,{children:t})},nd=(0,iq.Z)(e=>({root:{position:"fixed",backgroundColor:e.palette.navigation.background,color:e.palette.navigation.color,bottom:0,left:0,right:0,zIndex:e.zIndex.snackbar,borderTop:"1px solid #383838","@media print":{display:"none"}},overlay:t=>({background:e.palette.navigation.background,width:"100%",bottom:`${t.sidebarConfig.mobileSidebarHeight}px`,height:`calc(100% - ${t.sidebarConfig.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"}),overlayHeader:{display:"flex",color:e.palette.navigation.color,alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)},overlayHeaderClose:{color:e.palette.navigation.color},marginMobileSidebar:e=>({marginBottom:`${e.sidebarConfig.mobileSidebarHeight}px`})})),nu=(0,tb.createElement)(nc).type,nh=({children:e,label:t="Menu",open:r,onClose:i})=>{let{sidebarConfig:n}=(0,tb.useContext)(iY.kG),a=nd({sidebarConfig:n});return(0,s.jsxs)(ne.ZP,{anchor:"bottom",open:r,onClose:i,ModalProps:{BackdropProps:{classes:{root:a.marginMobileSidebar}}},classes:{root:a.marginMobileSidebar,paperAnchorBottom:a.overlay},children:[(0,s.jsxs)(i4.Z,{className:a.overlayHeader,children:[(0,s.jsx)(nt.Z,{variant:"h3",children:t}),(0,s.jsx)(i9.Z,{onClick:i,classes:{root:a.overlayHeaderClose},children:(0,s.jsx)(nr.default,{})})]}),(0,s.jsx)(i4.Z,{component:"nav",children:e})]})},np=e=>{let{sidebarConfig:t}=(0,tb.useContext)(iY.kG),{children:r}=e,i=nd({sidebarConfig:t}),n=(0,c.TH)(),[a,o]=(0,tb.useState)(-1);(0,tb.useEffect)(()=>{o(-1)},[n.pathname]);let l=(0,ie.v)(r,e=>e.getElements().filter(e=>e.type===nu));if(!r)return null;if(l.length){let e;e=l,l=(0,iw.orderBy)(e,({props:{priority:e}})=>Number.isInteger(e)?e:-1,"desc")}else l.push((0,s.jsx)(nc,{icon:(0,s.jsx)(ni.default,{}),children:r},"default_menu"));let d=a>=0&&!l[a].props.to;return(0,s.jsx)(i0,{value:{isOpen:!0,setOpen:()=>{}},children:(0,s.jsxs)(na.Provider,{value:{selectedMenuItemIndex:a,setSelectedMenuItemIndex:o},children:[(0,s.jsx)(nh,{label:l[a]&&l[a].props.label,open:d,onClose:()=>o(-1),children:l[a]&&l[a].props.children}),(0,s.jsx)(i7.Z,{className:i.root,"data-testid":"mobile-sidebar-root",component:"nav",children:l})]})})};var ng=r(14380),nf=r(2210);let nm=(0,iq.Z)(e=>({root:{left:0,top:0,bottom:0,zIndex:e.zIndex.appBar,position:"fixed"},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",left:0,top:0,bottom:0,position:"absolute",background:e.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"},"@media print":{display:"none"}},drawerWidth:e=>({width:e.sidebarConfig.drawerWidthClosed}),drawerOpen:t=>({width:t.sidebarConfig.drawerWidthOpen,transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.shorter})}),visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"}),ny=e=>{let{sidebarConfig:t}=(0,tb.useContext)(iY.kG),{openDelayMs:r=t.defaultOpenDelayMs,closeDelayMs:i=t.defaultCloseDelayMs,disableExpandOnHover:n,children:a}=e,o=nm({sidebarConfig:t}),l=(0,i5.Z)(e=>e.breakpoints.down("md"),{noSsr:!0}),[c,d]=(0,tb.useState)(0),u=(0,tb.useRef)(),{isPinned:h,toggleSidebarPinState:p}=(0,no.Pf)(),g=()=>{h||n||(u.current&&(clearTimeout(u.current),u.current=void 0),2===c||l||(u.current=window.setTimeout(()=>{u.current=void 0,d(2)},r),d(1)))},f=()=>{h||n||(u.current&&(clearTimeout(u.current),u.current=void 0),1===c?d(0):2===c&&(u.current=window.setTimeout(()=>{u.current=void 0,d(0)},i)))},m=2===c&&!l||h;return(0,s.jsxs)("nav",{style:{},"aria-label":"sidebar nav",children:[(0,s.jsx)(nb,{}),(0,s.jsx)(i0,{value:{isOpen:m,setOpen:e=>{e?d(2):d(0),p()}},children:(0,s.jsx)(i4.Z,{className:o.root,"data-testid":"sidebar-root",onMouseEnter:n?()=>{}:g,onFocus:n?()=>{}:g,onMouseLeave:n?()=>{}:f,onBlur:n?()=>{}:f,children:(0,s.jsx)(i4.Z,{className:i8()(o.drawer,o.drawerWidth,{[o.drawerOpen]:m}),children:a})})})]})},nv=e=>{let t=(0,iY.$E)(e.sidebarOptions??{}),r=(0,iY.rW)(e.submenuOptions??{}),{children:i,disableExpandOnHover:n,openDelayMs:a,closeDelayMs:o}=e,{isMobile:l}=(0,no.Pf)();return l?(0,s.jsx)(np,{children:i}):(0,s.jsx)(iY.kG.Provider,{value:{sidebarConfig:t,submenuConfig:r},children:(0,s.jsx)(ny,{openDelayMs:a,closeDelayMs:o,disableExpandOnHover:n,children:i})})};function nb(){let{sidebarConfig:e}=(0,tb.useContext)(iY.kG),{focusContent:t,contentRef:r}=(0,i3.r)(),i=nm({sidebarConfig:e}),{t:n}=(0,ng.i)(nf.v);return r?.current?(0,s.jsx)(g.Z,{onClick:t,variant:"contained",className:i8()(i.visuallyHidden),children:n("skipToContent")}):null}var nw=r(26739),nx=r(36363),nS=r(83543),nk=r(59797),nC=r(98989);let nj=(0,iq.Z)(e=>({root:{zIndex:1e3,position:"relative",overflow:"visible",width:e.spacing(7)+1},drawer:t=>({display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",opacity:0,[e.breakpoints.up("sm")]:{marginLeft:t.left,transition:e.transitions.create(["margin-left","opacity"],{easing:e.transitions.easing.sharp,duration:t.submenuConfig.defaultOpenDelayMs})},top:0,bottom:0,padding:0,background:e.palette.navigation.submenu?.background??"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:t.submenuConfig.drawerWidthClosed,transitionDelay:`${t.submenuConfig.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}}),drawerOpen:t=>({marginLeft:t.left,opacity:1,width:t.submenuConfig.drawerWidthOpen,[e.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:e.spacing(3),left:0,top:0}}),title:{fontSize:e.typography.h5.fontSize,fontWeight:e.typography.fontWeightMedium,color:e.palette.navigation.color,padding:e.spacing(2.5),[e.breakpoints.down("xs")]:{display:"none"}}}),{name:"BackstageSidebarSubmenu"});var nE=r(19126),nA=r.n(nE);function n$(e,t,r=!1){let i=new URLSearchParams(t.search).toString(),n=nA().parse(i),a=new URLSearchParams(e.search).toString(),o=nA().parse(a),s=r?iw.isEqual:iw.isMatch;return(0,iw.isEqual)(t.pathname,e.pathname)&&s(o,n)}function nR(e){return(0,tb.useMemo)(()=>(0,iq.Z)(t=>({root:{color:t.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",textTransform:"none"},closed:{width:e.drawerWidthClosed,justifyContent:"center"},open:{[t.breakpoints.up("sm")]:{width:e.drawerWidthOpen}},highlightable:{"&:hover":{background:t.palette.navigation.navItem?.hoverBackground??"#404040"}},highlighted:{background:t.palette.navigation.navItem?.hoverBackground??"#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:e.iconContainerWidth,marginRight:-t.spacing(2),display:"flex",alignItems:"center",justifyContent:"center",lineHeight:"0"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:t.typography.fontWeightBold,fontSize:t.typography.fontSize},searchFieldHTMLInput:{padding:t.spacing(2,0,2)},searchContainer:{width:e.drawerWidthOpen-e.iconContainerWidth},secondaryAction:{width:t.spacing(6),textAlign:"center",marginRight:t.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:t.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${e.selectedIndicatorWidth}px ${t.palette.navigation.indicator}`,color:t.palette.navigation.selectedColor},"&$closed":{width:e.drawerWidthClosed},"& $closedItemIcon":{paddingRight:e.selectedIndicatorWidth},"& $iconContainer":{marginLeft:-e.selectedIndicatorWidth}}}),{name:"BackstageSidebarItem"}),[e])()}function nT(e){return void 0===e.to}let nI=(0,tb.createElement)(e=>{let{isOpen:t}=i1(),{sidebarConfig:r,submenuConfig:i}=(0,tb.useContext)(iY.kG),n=nj({left:t?r.drawerWidthOpen:r.drawerWidthClosed,submenuConfig:i}),{isHoveredOn:a}=(0,tb.useContext)(iY.Ag),[o,l]=(0,tb.useState)(!1);return(0,tb.useEffect)(()=>{l(a)},[a]),(0,s.jsxs)(i4.Z,{className:i8()(n.drawer,{[n.drawerOpen]:o}),children:[(0,s.jsx)(nt.Z,{variant:"h5",component:"span",className:n.title,children:e.title}),e.children]})}).type,nO=(0,tb.forwardRef)(function({to:e,end:t,style:r,className:i,activeStyle:n,caseSensitive:a,activeClassName:o="active","aria-current":l="page",...d},u){let{pathname:h}=(0,c.TH)(),{pathname:p}=(0,c.WU)(e);a||(h=h.toLocaleLowerCase("en-US"),p=p.toLocaleLowerCase("en-US"));let g=h===p;g||t||(g=h.startsWith(`${p}/`));let f=g?l:void 0;return(0,s.jsx)(v.rU,{...d,to:e,ref:u,"aria-current":f,style:{...r,...g?n:void 0},className:i8()(["function"!=typeof i?i:void 0,g?o:void 0])})}),nL=(0,tb.forwardRef)((e,t)=>{let{icon:r,text:i,hasNotifications:n=!1,hasSubmenu:a=!1,disableHighlight:o=!1,onClick:l,noTrack:d,children:u,className:h,...p}=e,{sidebarConfig:f}=(0,tb.useContext)(iY.kG),m=nR(f),{isOpen:y}=i1(),v=(0,s.jsxs)(i4.Z,{style:!y&&a?{display:"flex",marginLeft:"20px"}:{lineHeight:"0"},children:[(0,s.jsx)(r,{fontSize:"small"}),!y&&a?(0,s.jsx)(nC.default,{fontSize:"small"}):(0,s.jsx)(s.Fragment,{})]}),b=(0,s.jsx)(nw.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!n,className:i8()({[m.closedItemIcon]:!y}),children:v}),w=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i4.Z,{"data-testid":"login-button",className:m.iconContainer,children:b}),i&&(0,s.jsx)(nt.Z,{variant:"subtitle2",component:"span",className:m.label,children:i}),(0,s.jsx)("div",{className:m.secondaryAction,children:u})]}),x=y?w:b,S={onClick:l,className:i8()(h,m.root,y?m.open:m.closed,nT(e)&&m.buttonItem,{[m.highlightable]:!o})},k=(0,rH.z)(),{pathname:C}=(0,c.WU)(!nT(e)&&e.to?e.to:""),j=(0,tb.useCallback)(e=>{if(!d){let e=i??"Sidebar Item",t=C?{attributes:{to:C}}:void 0;k.captureEvent("click",e,t)}l?.(e)},[k,i,C,d,l]);return nT(e)?(0,s.jsx)(g.Z,{role:"button","aria-label":i,...S,ref:t,onClick:j,children:x}):(0,s.jsx)(nO,{...S,activeClassName:m.selected,to:e.to?e.to:"",ref:t,"aria-label":i||e.to,...p,onClick:j,children:x})}),nB=({children:e,...t})=>{let{sidebarConfig:r}=(0,tb.useContext)(iY.kG),i=nR(r),[n,a]=(0,tb.useState)(!1),o=(0,c.TH)(),l=(0,ie.v)(e.props.children,e=>{let t=!1;return e.getElements().forEach(({props:{to:e,dropdownItems:r}})=>{if(!t){if(r?.length)return void r.forEach(({to:e})=>t=t||n$(o,(0,rS.i3)(e)));e&&(t=n$(o,(0,rS.i3)(e)))}}),t},[o.pathname]),d=(0,i5.Z)(e=>e.breakpoints.down("sm")),u=()=>{a(!0)},h=()=>{a(!1)};return(0,s.jsx)(iY.Ag.Provider,{value:{isHoveredOn:n,setIsHoveredOn:a},children:(0,s.jsxs)("div",{"data-testid":"item-with-submenu",onMouseLeave:h,onTouchStart:n?h:u,onMouseEnter:u,className:i8()(n&&i.highlighted),children:[(0,s.jsx)(nL,{hasSubmenu:!0,className:l?i.selected:"",...t,children:d?n?(0,s.jsx)(nk.default,{fontSize:"small",className:i.submenuArrow}):(0,s.jsx)(nS.default,{fontSize:"small",className:i.submenuArrow}):!n&&(0,s.jsx)(nC.default,{fontSize:"small",className:i.submenuArrow})}),n&&e]})})},nF=(0,tb.forwardRef)((e,t)=>{let[r]=(0,ie.v)(e.children,e=>e.getElements().filter(e=>e.type===nI));return r?(0,s.jsx)(nB,{...e,children:r}):(0,s.jsx)(nL,{...e,ref:t})});(0,nx.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),(0,nx.Z)("div")({height:8},{name:"BackstageSidebarSpacer"});let nP=(0,nx.Z)("hr")(({theme:e})=>({height:1,width:"100%",background:"#383838",border:"none",margin:e.spacing(1.2,0)}),{name:"BackstageSidebarDivider"});(0,nx.Z)("div")(({theme:e})=>{let t={overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:e.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:e.palette.text.secondary,borderRadius:"5px"}};return{flex:"0 1 auto",overflowX:"hidden",width:"100%",minHeight:"48px",overflowY:"hidden","@media (hover: none)":t,"&:hover":t}});let nN=(0,iq.Z)({root:{width:iY.po.drawerWidthClosed,height:3*iY.po.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:iY.po.drawerWidthClosed,marginLeft:24}}),nZ=()=>{let e=nN(),{isOpen:t}=i1();return(0,s.jsx)("div",{className:e.root,children:(0,s.jsx)(i2.rU,{to:"/docs/default/component/local/",underline:"none",className:e.link,children:t?(0,s.jsx)(iW,{}):(0,s.jsx)(iK,{})})})},nU=({children:e})=>(0,s.jsxs)(i3.t,{children:[(0,s.jsxs)(nv,{children:[(0,s.jsx)(nZ,{}),(0,s.jsx)(nP,{}),(0,s.jsx)(nF,{icon:iH.default,to:"/docs/default/component/local",text:"Docs Preview"})]}),e]});var nz=r(80030),nD=r(32388),nM=r(4142),n_=r(99064),nq=r(59998);let nH=(0,iq.Z)(e=>({headerIcon:{color:e.palette.common.white,width:"32px",height:"32px"},content:{backgroundColor:e.palette.background.default},contentToolbar:{display:"flex",justifyContent:"flex-end",padding:0}})),nV=(0,s.jsx)(()=>(0,s.jsxs)(d.I6,{children:[(0,s.jsx)(n_.S,{}),(0,s.jsx)(nq.F,{withSearch:!1})]}),{}),nW=new r9({...i={apis:iU,configLoader:i_,plugins:Object.values(o)},apis:i?.apis??[],bindRoutes:i?.bindRoutes,components:{...w,...i?.components},configLoader:i?.configLoader,defaultApis:e3,icons:{...tv,...i?.icons},plugins:i?.plugins??[],featureFlags:i?.featureFlags??[],themes:i?.themes??tH}),nG=nW.getProvider(),nK=nW.getRouter(),nY=d.s4.provide((0,h.KY)({name:"ThemeToggleAddon",component:()=>{let e=(0,rg.h_)(ri),t=nH(),[r,i]=(0,tb.useState)("dark"===e.getActiveThemeId()?"dark":"light"),{title:n,icon:a}={light:{icon:nM.default,title:"Dark theme"},dark:{icon:nD.default,title:"Light theme"}}[r];return(0,s.jsx)(i4.Z,{display:"flex",alignItems:"center",mr:2,children:(0,s.jsx)(nz.ZP,{title:n,arrow:!0,children:(0,s.jsx)(i9.Z,{size:"small",onClick:()=>{i(t=>{let r="light"===t?"dark":"light";return e.setActiveThemeId(r),r})},children:(0,s.jsx)(a,{className:t.headerIcon})})})})},location:p.o.Header})),nJ=(0,s.jsxs)(ir,{children:[(0,s.jsx)(c.Fg,{to:"/docs/default/component/local/"},"/"),(0,s.jsx)(c.AW,{path:"/catalog/:namespace/:kind/:name",element:(0,s.jsx)(iB,{})}),(0,s.jsx)(c.AW,{path:"/docs",element:(0,s.jsx)(d.Jl,{}),children:(0,s.jsx)(u.u,{})}),(0,s.jsxs)(c.AW,{path:"/docs/:namespace/:kind/:name/*",element:(0,s.jsx)(d.I6,{}),children:[nV,(0,s.jsx)(h.DR,{children:(0,s.jsx)(nY,{})})]})]});l.createRoot(document.getElementById("root")).render((0,s.jsx)(()=>(0,s.jsx)(nG,{children:(0,s.jsx)(nK,{children:(0,s.jsx)(nU,{children:nJ})})}),{}))},18011:function(e,t,r){"use strict";r.d(t,{CT:()=>a,Vt:()=>o});var i=r(2784),n=r(95275);function a(e){return(0,n.u)(e,()=>(0,i.createContext)(void 0))}function o(e){return(0,i.useContext)(a(e))}},88260:function(e,t,r){"use strict";function i(e){Object.freeze(e);let t={atVersion:t=>e[t]};return Object.defineProperty(t,"$map",{configurable:!0,enumerable:!0,get:()=>e}),t}r.d(t,{E:()=>i})},95275:function(e,t,r){"use strict";r.d(t,{u:()=>n});let i="undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof self&&self.Math===Math?self:Function("return this")();function n(e,t){let r=`__@backstage/${e}__`,n=i[r];return n||(n=t(),i[r]=n),n}},84081:function(e,t,r){"use strict";r.d(t,{A:()=>i});let i=(0,r(91424).T)({id:"plugin.catalog.service"})},1465:function(e,t,r){"use strict";r.d(t,{X:()=>i});let i=(0,r(91424).T)({id:"plugin.catalog.entity-presentation"})},96428:function(e,t,r){"use strict";r.d(t,{n:()=>s});var i=r(39381),n=r(99182),a=r(72579),o=r.n(a);function s(e,t){let{kind:r,namespace:a,name:s,title:c,description:d,displayName:u,type:h}=function(e){if("string"==typeof e){let t=e.indexOf(":"),r=e.indexOf("/");-1!==r&&r<t&&(t=-1);let i=-1===t?void 0:e.slice(0,t);return{kind:i,namespace:-1===r?void 0:e.slice(t+1,r),name:e.slice(Math.max(t+1,r+1))}}if("object"==typeof e&&null!==e){let t=[o()(e,"kind")].find(l),r=[o()(e,"metadata.namespace"),o()(e,"namespace")].find(l),i=[o()(e,"metadata.name"),o()(e,"name")].find(l),n=[o()(e,"metadata.title")].find(l),a=[o()(e,"metadata.description")].find(l);return{kind:t,namespace:r,name:i,title:n,description:a,displayName:[o()(e,"spec.profile.displayName")].find(l),type:[o()(e,"spec.type")].find(l)}}return{}}(e),p=(0,i.eE)({kind:r||"unknown",namespace:a||n.zG,name:s||"unknown"}),g=[u,c,function(e){let t=e.kind?.toLocaleLowerCase("en-US")||"unknown",r=e.namespace||n.zG,i=e.name||"unknown",a=e.context?.defaultKind?.toLocaleLowerCase("en-US"),o=e.context?.defaultNamespace?.toLocaleLowerCase("en-US"),s=i;return(o&&r.toLocaleLowerCase("en-US")!==o||r!==n.zG)&&(s=`${r}/${s}`),a&&t.toLocaleLowerCase("en-US")!==a&&(s=`${t}:${s}`),s}({kind:r,namespace:a,name:s,context:t})].find(e=>e&&"string"==typeof e),f=[g!==p?p:void 0,h,d].filter(e=>e&&"string"==typeof e).join(" | ");return{entityRef:p,primaryTitle:g,secondaryTitle:f||void 0,Icon:void 0}}let l=e=>!!e&&"string"==typeof e},42462:function(e,t,r){"use strict";r.d(t,{V:()=>l});var i=r(39381),n=r(16162),a=r(2784),o=r(1465),s=r(96428);function l(e,t){let r=(0,n.I_)().get(o.X),l=[r,JSON.stringify(e),JSON.stringify(t||null)],c=(0,a.useMemo)(()=>{if(!r){let r=(0,s.n)(e,t);return{snapshot:r,promise:Promise.resolve(r)}}return r.forEntity("string"==typeof e||"metadata"in e?e:(0,i.eE)(e),t)},l);return function(e,t,r){let[i,n]=(0,a.useState)(e);return(0,a.useEffect)(()=>{n(e);let r=t?.subscribe({next:e=>{n(e)},complete:()=>{r?.unsubscribe()}});return()=>{r?.unsubscribe()}},r),i}(c.snapshot,c.update$,[c])}},47410:function(e,t,r){"use strict";r.d(t,{p:()=>i});let i=(0,r(91424).T)({id:"catalog-react.starred-entities"})},24107:function(e,t,r){"use strict";r.d(t,{C:()=>k});var i=r(52322),n=r(53244),a=r(90436),o=r(27556),s=r(71658),l=r(86619),c=r(72654),d=r(79692),u=r(77392),h=r(13314),p=r(38016),g=r(63628),f=r(2784),m=r(76635),y=r(16709),v=r.n(y);let b=(0,d.Z)(e=>({root:{margin:e.spacing(1,0)},label:{position:"relative",fontWeight:"bold",fontSize:e.typography.body2.fontSize,fontFamily:e.typography.fontFamily,color:e.palette.text.primary,"& > span":{top:0,left:0,position:"absolute"}}}),{name:"BackstageAutocomplete"}),w=(0,u.Z)(e=>(0,h.Z)({root:{},paper:{margin:0},hasClearIcon:{},hasPopupIcon:{},focused:{},inputRoot:{marginTop:24,backgroundColor:e.palette.background.paper,"$root$hasClearIcon$hasPopupIcon &":{paddingBlock:e.spacing(.75),paddingInlineStart:e.spacing(.75)},"$root$focused &":{outline:"none"},"$root &:hover > fieldset":{borderColor:"#ced4da"},"$root$focused & > fieldset":{borderWidth:1,borderColor:e.palette.primary.main}},popupIndicator:{padding:0,margin:0,color:"#616161","&:hover":{backgroundColor:"unset"},'& [class*="MuiTouchRipple-root"]':{display:"none"}},endAdornment:{"$root$hasClearIcon$hasPopupIcon &":{right:4}},input:{"$root$hasClearIcon$hasPopupIcon &":{fontSize:e.typography.body1.fontSize,paddingBlock:e.spacing(.8125)}}}),{name:"BackstageAutocompleteBase"})(g.ZP),x=e=>(0,i.jsx)(s.Z,{...e,transition:!0,placement:"bottom-start",children:({TransitionProps:t})=>(0,i.jsx)(c.Z,{...t,style:{transformOrigin:"0 0 0"},children:(0,i.jsx)(n.Z,{children:e.children})})}),S=e=>(0,i.jsx)(o.Z,{...e,elevation:8});function k(e){let{label:t,name:r,LabelProps:o,TextFieldProps:s,...c}=e,d=b(),u=(0,f.useCallback)(e=>(0,i.jsx)(l.Z,{...(0,m.merge)(e,s),variant:"outlined"}),[s]),h=(0,i.jsx)(w,{size:"small",...c,renderInput:c.renderInput??u,popupIcon:(0,i.jsx)(p.default,{"data-testid":`${r}-expand`}),PaperComponent:S,PopperComponent:x});return(0,i.jsx)(n.Z,{className:d.root,children:t?(0,i.jsxs)(a.Z,{...o,className:v()(d.label,o?.className),component:"label",children:[(0,i.jsx)(n.Z,{component:"span",children:t}),h]}):h})}},26524:function(e,t,r){"use strict";r.d(t,{_i:()=>f});var i=r(52322),n=r(2784),a=r(53244),o=r(77277),s=r(4190),l=r(60905),c=r(90436),d=r(41156),u=r(60364),h=r(36444),p=r(79669),g=r(14380);let f=e=>(0,i.jsx)(l.Z,{container:!0,style:{position:"relative"},children:e.children});f.Filters=e=>{let t=(0,d.Z)(t=>t.breakpoints.down(e.options?.drawerBreakpoint??"md"),{noSsr:!0}),r=(0,u.Z)(),[f,m]=(0,n.useState)(!1),{t:y}=(0,g.i)(p.P);return t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{style:{marginTop:r.spacing(1),marginLeft:r.spacing(1)},onClick:()=>m(!0),startIcon:(0,i.jsx)(h.default,{}),children:y("catalogFilter.buttonTitle")}),(0,i.jsx)(s.ZP,{open:f,onClose:()=>m(!1),anchor:e.options?.drawerAnchor??"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary",children:(0,i.jsxs)(a.Z,{m:2,children:[(0,i.jsx)(c.Z,{variant:"h6",component:"h2",style:{marginBottom:r.spacing(1)},children:y("catalogFilter.title")}),e.children]})})]}):(0,i.jsx)(l.Z,{item:!0,lg:2,children:e.children})},f.Content=e=>(0,i.jsx)(l.Z,{item:!0,xs:12,lg:10,children:e.children})},55830:function(e,t,r){"use strict";r.d(t,{K:()=>k});var i=r(52322),n=r(53244),a=r(79692),o=r(2784),s=r(16162),l=r(4812),c=r(84081),d=r(16847),u=r(5806),h=r(19996),p=r(25505);let g=(0,i.jsx)(p.default,{fontSize:"small"}),f=(0,i.jsx)(h.default,{fontSize:"small"});function m({selected:e}){return(0,i.jsx)(d.Z,{icon:g,checkedIcon:f,checked:e})}let y=(0,o.memo)(e=>{let{selected:t,value:r,availableOptions:n,showCounts:a}=e,o=a?`${r} (${n?.[r]})`:r;return(0,i.jsx)(u.Z,{control:(0,i.jsx)(m,{selected:t}),label:o,onClick:e=>e.preventDefault()})});var v=r(52265),b=r(57736),w=r(24107),x=r(76635);let S=(0,a.Z)({root:{},label:{textTransform:"none",fontWeight:"bold"}},{name:"CatalogReactEntityAutocompletePicker"});function k(e){let{label:t,name:r,path:a,showCounts:d,Filter:u,InputProps:h,initialSelectedOptions:p=[],filtersForAvailableValues:g=["kind"],hidden:f}=e,m=S(),{updateFilters:k,filters:C,queryParameters:{[r]:j}}=(0,v.wp)(),E=(0,s.h_)(c.A),A=g.map(e=>C[e]),{value:$}=(0,l.Z)(async()=>{let{facets:e}=await E.getEntityFacets({facets:[a],filter:(0,b.Oq)(A.filter(Boolean))});return Object.fromEntries(e[a].map(({value:e,count:t})=>[e,t]))},[...A]),R=(0,o.useMemo)(()=>[j].flat().filter(Boolean),[j]),T=C[r]?.values,[I,O]=(0,o.useState)(R.length?R:T??p);(0,o.useEffect)(()=>{R.length&&O(R)},[R]);let L=Object.keys($??{}),B=I.length&&L.length;(0,o.useEffect)(()=>{k({[r]:B?new u(I):void 0})},[r,B,I,u,k]),(0,o.useEffect)(()=>{if(!B)return;let e=T??[];(0,x.isEqual)(e,I)||O(e)},[T]);let F=C[r];return(!F||"object"!=typeof F||"values"in F)&&L.length?f?null:(0,i.jsx)(n.Z,{className:m.root,pb:1,pt:1,children:(0,i.jsx)(w.C,{multiple:!0,disableCloseOnSelect:!0,label:t,name:`${String(r)}-picker`,options:L,value:I,TextFieldProps:h,onChange:(e,t)=>O(t),renderOption:(e,{selected:t})=>(0,i.jsx)(y,{selected:t,value:e,availableOptions:$,showCounts:!!d})})}):null}},43622:function(e,t,r){"use strict";r.d(t,{d:()=>B});var i=r(52322),n=r(39381),a=r(53244),o=r(16847),s=r(5806),l=r(90436),c=r(80030),d=r(79692),u=r(19996),h=r(25505),p=r(2784),g=r(52265),f=r(44073),m=r(40442),y=r(98685),v=r(62367),b=r(93386),w=r(16162),x=r(66088),S=r(84081),k=r(91246),C=r(77392),j=r(42462),E=r(79669),A=r(14380),$=r(24107);let R=(0,d.Z)({root:{},label:{},input:{},fullWidth:{width:"100%"},boxLabel:{width:"100%",textOverflow:"ellipsis",overflow:"hidden"}},{name:"CatalogReactEntityOwnerPicker"}),T=(0,C.Z)(e=>({label:{width:"100%"},root:{width:"90%"}}),{name:"FixedWidthFormControlLabel"})(s.Z),I=(0,i.jsx)(h.default,{fontSize:"small"}),O=(0,i.jsx)(u.default,{fontSize:"small"});function L(e){let t=R(),r="group"===e.entity.kind.toLocaleLowerCase("en-US"),{primaryTitle:n}=(0,j.V)(e.entity);return(0,i.jsx)(a.Z,{className:t.fullWidth,children:(0,i.jsx)(T,{className:t.fullWidth,control:(0,i.jsx)(o.Z,{icon:I,checkedIcon:O,checked:e.isSelected}),onClick:e=>e.preventDefault(),label:(0,i.jsx)(c.ZP,{title:n,children:(0,i.jsxs)(a.Z,{display:"flex",alignItems:"center",children:[r?(0,i.jsx)(v.default,{fontSize:"small"}):(0,i.jsx)(y.default,{fontSize:"small"}),"\xa0",(0,i.jsx)(a.Z,{className:t.boxLabel,children:(0,i.jsx)(l.Z,{noWrap:!0,children:n})})]})})})})}let B=e=>{let t=R(),{mode:r="owners-only"}=e||{},{updateFilters:o,filters:s,queryParameters:{owners:l}}=(0,g.wp)(),[c,d]=(0,p.useState)(""),{t:u}=(0,A.i)(E.P),h=(0,p.useMemo)(()=>[l].flat().filter(Boolean),[l]),[y,v]=(0,p.useState)(h.length?h:s.owners?.values??[]),[{value:C,loading:j},T,I]=function({mode:e,initialSelectedOwnersRefs:t}){let r="owners-only"===e,i=function(){let e=(0,w.h_)(S.A);return(0,x.Z)(async(t,r)=>{let i=r?.limit??20;if(t.cursor){let r=await e.queryEntities({cursor:t.cursor,limit:i});return{cursor:r.pageInfo.nextCursor,items:[...t.items,...r.items]}}let n=await e.queryEntities({fullTextFilter:{term:t.text||"",fields:["metadata.name","kind","spec.profile.displayname","metadata.title"]},filter:{kind:["User","Group"]},orderFields:[{field:"metadata.name",order:"asc"}],limit:i});return{cursor:n.pageInfo.nextCursor,items:n.items}},[],{loading:!0})}(),a=function({enabled:e}){let t=(0,w.h_)(S.A),[r]=(0,p.useState)(async()=>{if(!e)return[];let r="relations.ownedBy";return t.getEntityFacets({facets:[r]}).then(e=>e.facets[r].map(e=>e.value).map(e=>{let{kind:t,name:r,namespace:i}=(0,n.of)(e);return{apiVersion:"backstage.io/v1beta1",kind:t,metadata:{name:r,namespace:i}}}).sort((e,t)=>e.kind.localeCompare(t.kind,"en-US")||e.metadata.namespace.localeCompare(t.metadata.namespace,"en-US")||e.metadata.name.localeCompare(t.metadata.name,"en-US"))).catch(()=>[])});return(0,x.Z)(async(e,t)=>{var i;let n=await r;if(!n)return{items:[]};let a=t?.limit??20,{text:o,start:s}=(i=e).cursor&&i.cursor?JSON.parse(atob(i.cursor)):{text:i.text||"",start:0},l=n.filter(e=>(function(e,t){let r=e.trim();return t.kind.includes(r)||t.metadata.namespace?.includes(r)||t.metadata.name.includes(r)})(o,e)),c=s+a;return{items:l.slice(0,c),...function({entities:e,limit:t,payload:r}){return e.length>t?{cursor:btoa(JSON.stringify(r))}:{}}({entities:l,limit:c,payload:{text:o,start:c}})}},[r],{loading:!0,value:{items:[]}})}({enabled:r}),[o,s]=r?a:i;return[o,s,function({enabled:e,initialSelectedOwnersRefs:t}){let r=(0,p.useRef)({}),i=(0,w.h_)(S.A),[,a]=(0,x.Z)(async()=>{(await i.getEntitiesByRefs({entityRefs:t})).items.forEach(e=>{e&&(r.current[(0,n.eE)(e)]=e)})},[]);return(0,k.n)(()=>{e&&t.length>0&&a()}),{getEntity:e=>r.current[e],setEntity:e=>{r.current[(0,n.eE)(e)]=e}}}({enabled:!r,initialSelectedOwnersRefs:t})]}({mode:r,initialSelectedOwnersRefs:y});(0,m.b)(()=>T({text:c}),[c,T],250);let O=C?.items||[];return((0,p.useEffect)(()=>{h.length&&v(new f.rf(h).values)},[h]),(0,p.useEffect)(()=>{o({owners:y.length?new f.rf(y):void 0})},[y,o]),["user","group"].includes(s.kind?.value.toLocaleLowerCase("en-US")||""))?null:(0,i.jsx)(a.Z,{className:t.root,pb:1,pt:1,children:(0,i.jsx)($.C,{label:u("entityOwnerPicker.title"),multiple:!0,disableCloseOnSelect:!0,loading:j,options:O,value:y,getOptionSelected:(e,t)=>"string"==typeof t?(0,n.eE)(e)===t:e===t,getOptionLabel:e=>{let t="string"==typeof e?I.getEntity(e)||(0,n.of)(e,{defaultKind:"group",defaultNamespace:"default"}):e;return(0,b.w)(t,(0,b.$)(t))},onChange:(e,t)=>{d(""),v(t.map(e=>{let t="string"==typeof e?e:(0,n.eE)(e);return"string"!=typeof e&&I.setEntity(e),t}))},filterOptions:e=>e,renderOption:(e,{selected:t})=>(0,i.jsx)(L,{entity:e,isSelected:t}),name:"owner-picker",onInputChange:(e,t)=>{d(t)},ListboxProps:{onScroll:e=>{let t=e.currentTarget;1>Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)&&C?.cursor&&T({items:C.items,cursor:C.cursor})},"data-testid":"owner-picker-listbox"},LabelProps:{className:t.label},TextFieldProps:{className:t.input}})})}},41410:function(e,t,r){"use strict";r.d(t,{d:()=>g});var i=r(52322),n=r(13039),a=r(93048),o=r(2784),s=r(11504),l=r(53244),c=r(80030),d=r(79692),u=r(42462);let h=(0,d.Z)(e=>({root:{display:"inline-flex",alignItems:"center",textDecoration:"inherit"},icon:{marginRight:e.spacing(.5),color:e.palette.text.secondary,"& svg":{verticalAlign:"middle"}}}),{name:"CatalogReactEntityDisplayName"}),p=e=>{let{entityRef:t,hideIcon:r,disableTooltip:n,defaultKind:a,defaultNamespace:o}=e,s=h(),{primaryTitle:d,secondaryTitle:p,Icon:g}=(0,u.V)(t,{defaultKind:a,defaultNamespace:o}),f=(0,i.jsx)(i.Fragment,{children:d});return f=(0,i.jsxs)(l.Z,{component:"span",className:s.root,children:[g&&!r?(0,i.jsx)(l.Z,{component:"span",className:s.icon,children:(0,i.jsx)(g,{fontSize:"inherit"})}):null,f]}),p&&!n&&(f=(0,i.jsx)(c.ZP,{enterDelay:1500,title:p,children:f})),f},g=(0,o.forwardRef)((e,t)=>{var r;let{entityRef:o,defaultKind:l,defaultNamespace:c,title:d,children:u,hideIcon:h,disableTooltip:g,...f}=e,m=(r=e.entityRef,(0,a.t)(s.w)((0,s.h)(r,{encodeParams:!0}))),y=u??d??(0,i.jsx)(p,{entityRef:o,defaultKind:l,defaultNamespace:c,hideIcon:h,disableTooltip:g});return(0,i.jsx)(n.rU,{...f,ref:t,to:m,children:y})})},57148:function(e,t,r){"use strict";r.d(t,{r:()=>s});var i=r(52322),n=r(39381),a=r(2784),o=r(41410);function s(e){let{entityRefs:t,hideIcons:r,...s}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e,t)=>{let l="string"==typeof e?e:(0,n.eE)(e);return(0,i.jsxs)(a.Fragment,{children:[t>0&&", ",(0,i.jsx)(o.d,{...s,entityRef:e,hideIcon:r})]},`${t}.${l}`)})})}},93386:function(e,t,r){"use strict";r.d(t,{$:()=>o,w:()=>s});var i=r(99182),n=r(72579),a=r.n(n);function o(e,t){let r,n,a,o=t?.defaultKind;return"metadata"in e?(r=e.kind,n=e.metadata.namespace,a=e.metadata.name):(r=e.kind,n=e.namespace,a=e.name),(void 0===n||""===n)&&(n=i.zG),t?.defaultNamespace!==void 0?t?.defaultNamespace===n&&(n=void 0):n===i.zG&&(n=void 0),r=r.toLocaleLowerCase("en-US"),r=o&&o.toLocaleLowerCase("en-US")===r?void 0:r,`${r?`${r}:`:""}${n?`${n}/`:""}${a}`}function s(e,t){for(let t of["spec.profile.displayName","metadata.title"]){let r=a()(e,t);if(r&&"string"==typeof r)return r}return t}},2296:function(e,t,r){"use strict";r.d(t,{x:()=>d});var i=r(52322),n=r(79692),a=r(44073),o=r(55830),s=r(79669),l=r(14380);let c=(0,n.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),d=e=>{let t=c(),{t:r}=(0,l.i)(s.P);return(0,i.jsx)(o.K,{label:r("entityTagPicker.title"),name:"tags",path:"metadata.tags",Filter:a.Cu,showCounts:e.showCounts,InputProps:{className:t.input},initialSelectedOptions:e.initialFilter?e.initialFilter:[],hidden:e.hidden})}},10465:function(e,t,r){"use strict";r.d(t,{E:()=>I});var i=r(52322),n=r(16162),a=r(47337),o=r(94339),s=r(11776),l=r(86136),c=r(9520),d=r(49378),u=r(12231),h=r(90436),p=r(79692),g=r(47603),f=r(1820),m=r(2784),y=r(44073),v=r(52265),b=r(47530),w=r(76635),x=r(4812),S=r(84081),k=r(57736),C=r(66088),j=r(883),E=r(39381),A=r(76051),$=r(14380),R=r(79669);let T=(0,p.Z)(e=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:e.spacing(1,0,1,0)},title:{margin:e.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:e.palette.text.primary},menuItem:{minHeight:e.spacing(6)},groupWrapper:{margin:e.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"}),I=e=>{let{initialFilter:t,availableFilters:r,hidden:p,alwaysKeepFilters:I}=e,O=T(),L=(0,n.h_)(a.D),{t:B}=(0,$.i)(R.P),F=L.getOptionalString("organization.name")??B("userListPicker.defaultOrgName"),{filters:P,updateFilters:N,queryParameters:{kind:Z,user:U}}=(0,v.wp)(),z=["starred","all"],D=[{name:B("userListPicker.personalFilter.title"),items:[{id:"owned",label:B("userListPicker.personalFilter.ownedLabel"),icon:g.default},{id:"starred",label:B("userListPicker.personalFilter.starredLabel"),icon:f.r7}]},{name:F,items:[{id:"all",label:B("userListPicker.orgFilterAllLabel")}]}].map(e=>({...e,items:e.items.filter(({id:e})=>["group","user"].some(e=>e===Z)?z.includes(e):!r||r.includes(e))})).filter(({items:e})=>!!e.length),{count:M,loading:_,filter:q}=function(){let e=(0,n.h_)(b.$),t=(0,n.h_)(S.A),{filters:r}=(0,v.wp)(),{value:i,loading:a}=(0,x.Z)(async()=>(await e.getBackstageIdentity()).ownershipEntityRefs,[]),{user:o,owners:s,...l}=r,{orderFields:c,...d}=(0,k.wq)((0,w.compact)(Object.values(l))),[{value:u,loading:h},p]=(0,C.Z)(async e=>{let r=function(e,t){if(void 0===t)return;let r=e?.values??[];if(r.length){let e=(0,w.intersection)(r,t);if(0===e.length)return;return e}return t}(e.owners,e.ownershipEntityRefs);if(void 0===r)return 0;let{"metadata.name":i,...n}=e.filter.filter,{totalItems:a}=await t.queryEntities({...e.filter,filter:{...n,"relations.ownedBy":r},limit:0});return a},[],{loading:!0});return(0,j.Z)(()=>{0!==Object.keys(d.filter).length&&void 0!==i&&p({ownershipEntityRefs:i,owners:s,filter:d})},[i,s,d]),{count:u,loading:a||h,filter:(0,m.useMemo)(()=>y.t$.owned(i??[]),[i]),ownershipEntityRefs:i}}(),{count:H}=function(){let e=(0,n.h_)(S.A),{filters:t}=(0,v.wp)(),r=(0,m.useRef)(),i=(0,m.useMemo)(()=>{let{user:e,...i}=t,n=(0,w.compact)(Object.values(i)),{orderFields:a,...o}=(0,k.wq)(n),s={...o,limit:0};return 0===Object.keys(o.filter).length?(r.current=void 0,r.current):(0,w.isEqual)(s,r.current)?r.current:(r.current=s,s)},[t]),{value:a,loading:o}=(0,x.Z)(async()=>{if(void 0===i)return 0;let{totalItems:t}=await e.queryEntities(i);return t},[i]);return{count:a,loading:o}}(),{count:V,filter:W,loading:G}=function(){let e=(0,n.h_)(S.A),{filters:t}=(0,v.wp)(),{starredEntities:r}=(0,A.C)(),i=(0,m.useRef)(),a=(0,m.useMemo)(()=>{let{user:e,...n}=t,a=(0,w.compact)(Object.values(n)),{orderFields:o,...s}=(0,k.wq)(a),l={...s,filter:{...s.filter,"metadata.name":Array.from(r).map(e=>(0,E.of)(e).name)},limit:1e3};return(0,w.isEqual)(l,i.current)?i.current:(i.current=l,l)},[t,r]),{value:o,loading:s}=(0,x.Z)(async()=>r.size?(await e.queryEntities(a)).items.map(e=>(0,E.eE)({kind:e.kind,namespace:e.metadata.namespace,name:e.metadata.name})).filter(e=>r.has(e)).length:0,[a,r]);return{count:o,loading:s,filter:(0,m.useMemo)(()=>y.t$.starred(Array.from(r)),[r])}}(),K=(0,m.useMemo)(()=>[U].flat()[0],[U]),[Y,J]=(0,m.useState)(K??t),Q=(0,m.useMemo)(()=>({all:H,starred:V,owned:M}),[V,M,H]);(0,m.useEffect)(()=>{K&&J(K)},[K]);let X=_||G;return(0,m.useEffect)(()=>{X||!Y||"all"===Y||0!==Q[Y]||I||J("all")},[X,Q,Y,J,I]),(0,m.useEffect)(()=>{Y&&!X&&N({user:"owned"===Y?q:"starred"===Y?W:y.t$.all()})},[Y,W,q,N,X]),p?null:(0,i.jsx)(o.Z,{className:O.root,children:D.map(e=>(0,i.jsxs)(m.Fragment,{children:[(0,i.jsx)(h.Z,{variant:"subtitle2",component:"span",className:O.title,children:e.name}),(0,i.jsx)(o.Z,{className:O.groupWrapper,children:(0,i.jsx)(s.Z,{disablePadding:!0,dense:!0,role:"menu","aria-label":e.name,children:e.items.map((t,r)=>(0,i.jsxs)(u.Z,{role:"none presentation",divider:r!==e.items.length-1,onClick:()=>J(t.id),selected:t.id===P.user?.value,className:O.menuItem,disabled:0===Q[t.id],"data-testid":`user-picker-${t.id}`,tabIndex:0,ContainerProps:{role:"menuitem"},children:[t.icon&&(0,i.jsx)(l.Z,{className:O.listIcon,children:(0,i.jsx)(t.icon,{fontSize:"small"})}),(0,i.jsx)(d.Z,{children:(0,i.jsxs)(h.Z,{variant:"body1",children:[t.label," "]})}),(0,i.jsx)(c.Z,{children:Q[t.id]??"-"})]},t.id))})})]},e.name))})}},44073:function(e,t,r){"use strict";r.d(t,{A5:()=>m,Bf:()=>s,Cu:()=>l,IZ:()=>g,Qe:()=>h,SZ:()=>c,mM:()=>f,rf:()=>d,t$:()=>p,zH:()=>u,zo:()=>o});var i=r(39381),n=r(58985),a=r(79043);class o{value;label;constructor(e,t){this.value=e,this.label=t}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class s{value;constructor(e){this.value=e}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class l{values;constructor(e){this.values=e}filterEntity(e){return this.values.every(t=>(e.metadata.tags??[]).includes(t))}getCatalogFilters(){return{"metadata.tags":this.values}}toQueryValue(){return this.values}}class c{value;constructor(e){this.value=e}filterEntity(e){let t=this.toUpperArray(this.value.split(/\s/)),r=this.toUpperArray([e.metadata.tags]),i=this.toUpperArray([e.metadata.name,e.metadata.title,e.spec?.profile?.displayName]);for(let e of t)if(r.every(t=>t!==e)&&i.every(t=>!t.includes(e)))return!1;return!0}getFullTextFilters(){return{term:this.value,fields:["metadata.name","metadata.title","spec.profile.displayName"]}}toQueryValue(){return this.value}toUpperArray(e){return e.flat().filter(e=>!!e).map(e=>e.toLocaleUpperCase("en-US"))}}class d{values;constructor(e){this.values=e.reduce((e,t)=>{try{return e.push((0,i.eE)((0,i.of)(t,{defaultKind:"Group"}))),e}catch(t){return e}},[])}getCatalogFilters(){return{"relations.ownedBy":this.values}}filterEntity(e){return this.values.some(t=>(0,a.h)(e,n.S4).some(e=>(0,i.eE)(e)===t))}toQueryValue(){return this.values}}class u{values;constructor(e){this.values=e}getCatalogFilters(){return{"spec.lifecycle":this.values}}filterEntity(e){return this.values.some(t=>e.spec?.lifecycle===t)}toQueryValue(){return this.values}}class h{values;constructor(e){this.values=e}getCatalogFilters(){return{"metadata.namespace":this.values}}filterEntity(e){return this.values.some(t=>e.metadata.namespace===t)}toQueryValue(){return this.values}}class p{value;refs;constructor(e,t){this.value=e,this.refs=t}static owned(e){return new p("owned",e)}static all(){return new p("all")}static starred(e){return new p("starred",e)}getCatalogFilters(){return"owned"===this.value?{"relations.ownedBy":this.refs??[]}:"starred"===this.value?{"metadata.name":this.refs?.map(e=>(0,i.of)(e).name)??[]}:{}}filterEntity(e){if("starred"===this.value)return this.refs?.includes((0,i.eE)(e))??!0;if("owned"===this.value){let t=(0,a.h)(e,n.S4);return this.refs?.some(e=>t.some(t=>(0,i.eE)(t)===e))??!1}return!0}toQueryValue(){return this.value}}class g{value;isOwnedEntity;isStarredEntity;constructor(e,t,r){this.value=e,this.isOwnedEntity=t,this.isStarredEntity=r}filterEntity(e){switch(this.value){case"owned":return this.isOwnedEntity(e);case"starred":return this.isStarredEntity(e);default:return!0}}toQueryValue(){return this.value}}class f{value;constructor(e){this.value=e}getCatalogFilters(){return this.value?{"metadata.annotations.backstage.io/orphan":String(this.value)}:{}}filterEntity(e){let t=e.metadata.annotations?.["backstage.io/orphan"];return void 0!==t&&this.value.toString()===t}}class m{value;constructor(e){this.value=e}filterEntity(e){let t=e?.status?.items?.length>0;return void 0!==t&&this.value===t}}},52265:function(e,t,r){"use strict";r.d(t,{UO:()=>m,wp:()=>y});var i=r(52322),n=r(16162),a=r(76635),o=r(19126),s=r.n(o),l=r(2784),c=r(73557),d=r(66088),u=r(20581),h=r(87438),p=r(84081),g=r(57736);let f=(0,l.createContext)(void 0),m=e=>{let t=(0,h.Z)(),r=(0,n.h_)(p.A),[o,m]=(0,l.useState)({}),y=(0,c.TH)(),v=!0===e.pagination?"cursor":"object"==typeof e.pagination?e.pagination.mode??"cursor":"none",b="object"==typeof e.pagination?e.pagination.limit??20:20,{queryParameters:w,cursor:x,offset:S,limit:k}=(0,l.useMemo)(()=>{let e=s().parse(y.search,{ignoreQueryPrefix:!0}),t=b;if("string"==typeof e.limit){let r=Number.parseInt(e.limit,10);isNaN(r)||(t=r)}let r="string"==typeof e.offset&&"offset"===v?Number.parseInt(e.offset,10):void 0;return{queryParameters:e.filters??{},cursor:"string"==typeof e.cursor&&"cursor"===v?e.cursor:void 0,offset:"offset"===v&&r&&!isNaN(r)?r:void 0,limit:t}},[v,y.search,b]),[C,j]=(0,l.useState)(x),[E,A]=(0,l.useState)(S),[$,R]=(0,l.useState)(k),[T,I]=(0,l.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[],pageInfo:{},offset:E,limit:$})),[{value:O,loading:L,error:B},F]=(0,d.Z)(async()=>{let e=o.kind?.value?.toLocaleLowerCase("en-US"),t="user"===e||"group"===e?{...o,owners:void 0}:o,i=(0,a.compact)(Object.values(t));if("none"!==v)if(C){if(C!==T.appliedCursor){let e=(0,g.Gz)(i),t=await r.queryEntities({cursor:C,limit:$});return{appliedFilters:o,appliedCursor:C,backendEntities:t.items,entities:t.items.filter(e),pageInfo:t.pageInfo,totalItems:t.totalItems}}}else{let e=(0,g.Gz)(i),t=(0,g.wq)(i),n=(0,g.wq)((0,a.compact)(Object.values(T.appliedFilters)));if("offset"===v&&(T.limit!==$||T.offset!==E)||!(0,a.isEqual)(n,t)){let i=await r.queryEntities({...t,limit:$,offset:E});return{appliedFilters:o,backendEntities:i.items,entities:i.items.filter(e),pageInfo:i.pageInfo,totalItems:i.totalItems,limit:$,offset:E}}}else{let e=(0,g.Gz)(i),t=(0,g.Oq)(i),n=(0,g.Oq)((0,a.compact)(Object.values(T.appliedFilters)));if(!(0,a.isEqual)(n,t)){let i=await r.getEntities({filter:t}),n=i.items.filter(e);return{appliedFilters:o,backendEntities:i.items,entities:n,totalItems:n.length}}let s=T.backendEntities.filter(e);return{appliedFilters:o,backendEntities:T.backendEntities,entities:s,totalItems:s.length}}},[r,w,o,T,C,v,$,E],{loading:!0});(0,u.Z)(F,10,[o,C,$,E]),(0,l.useEffect)(()=>{if(void 0!==O&&(I(O),t())){let e=Object.keys(o).reduce((e,t)=>{let r=o[t];return r?.toQueryValue&&(e[t]=r.toQueryValue()),e},{}),t=s().parse(y.search,{ignoreQueryPrefix:!0}),r=s().stringify({...t,filters:e,..."none"===v?{}:{cursor:C,limit:$,offset:E}},{addQueryPrefix:!0,arrayFormat:"repeat"}),i=`${window.location.pathname}${r}`;window.history?.replaceState(null,document.title,i)}},[C,t,$,y.search,E,o,O,v]);let P=(0,l.useCallback)(e=>{"cursor"===v?j(void 0):"offset"===v&&A(0),m(t=>{let r="function"==typeof e?e(t):e;return{...t,...r}})},[v]),N=(0,l.useMemo)(()=>{if("cursor"!==v)return;let e=T.pageInfo?.prevCursor,t=T.pageInfo?.nextCursor;return{prev:e?()=>j(e):void 0,next:t?()=>j(t):void 0}},[v,T.pageInfo]),Z=(0,l.useMemo)(()=>({filters:T.appliedFilters,entities:T.entities,backendEntities:T.backendEntities,updateFilters:P,queryParameters:w,loading:L,error:B,pageInfo:N,totalItems:T.totalItems,limit:$,offset:E,setLimit:R,setOffset:A,paginationMode:v}),[T,P,w,L,B,N,$,E,v,R,A]);return(0,i.jsx)(f.Provider,{value:Z,children:e.children})};function y(){let e=(0,l.useContext)(f);if(!e)throw Error("useEntityList must be used within EntityListProvider");return e}},76051:function(e,t,r){"use strict";r.d(t,{C:()=>c});var i=r(39381),n=r(16162),a=r(2784),o=r(92703),s=r(47410);function l(e){return"string"==typeof e?e:(0,i.eE)(e)}function c(){let e=(0,n.h_)(s.p),t=(0,o.Z)((0,a.useMemo)(()=>e.starredEntitie$(),[e]),new Set),r=(0,a.useCallback)(e=>t.has(l(e)),[t]);return{starredEntities:t,toggleStarredEntity:(0,a.useCallback)(t=>e.toggleStarred(l(t)).then(),[e]),isStarredEntity:r}}},11504:function(e,t,r){"use strict";r.d(t,{h:()=>s,w:()=>o});var i=r(39381),n=r(99182),a=r(84912);let o=(0,r(95275).u)("catalog:entity-route-ref",()=>(0,a.N)({id:"catalog:entity",params:["namespace","kind","name"]}));function s(e,t){let r,a,o;if("string"==typeof e){let t=(0,i.of)(e);r=t.kind,a=t.namespace,o=t.name}else"metadata"in e?(r=e.kind,a=e.metadata.namespace,o=e.metadata.name):(r=e.kind,a=e.namespace,o=e.name);r=r.toLocaleLowerCase("en-US"),a=a?.toLocaleLowerCase("en-US")??n.zG;let{encodeParams:s=!1}=t||{};return s&&(r=encodeURIComponent(r),a=encodeURIComponent(a),o=encodeURIComponent(o)),{kind:r,namespace:a,name:o}}},79669:function(e,t,r){"use strict";r.d(t,{P:()=>i});let i=(0,r(73669).F)({id:"catalog-react",messages:{catalogFilter:{title:"Filters",buttonTitle:"Filters"},entityKindPicker:{title:"Kind",errorMessage:"Failed to load entity kinds"},entityLifecyclePicker:{title:"Lifecycle"},entityNamespacePicker:{title:"Namespace"},entityOwnerPicker:{title:"Owner"},entityProcessingStatusPicker:{title:"Processing Status"},entityTagPicker:{title:"Tags"},entityPeekAheadPopover:{title:"Drill into the entity to see all of the tags.",emailCardAction:{title:"Email {{email}}",subTitle:"mailto {{email}}"},entityCardActionsTitle:"Show details"},entitySearchBar:{placeholder:"Search"},entityTypePicker:{title:"Type",errorMessage:"Failed to load entity types",optionAllTitle:"all"},favoriteEntity:{addToFavorites:"Add to favorites",removeFromFavorites:"Remove from favorites"},inspectEntityDialog:{title:"Entity Inspector",closeButtonTitle:"Close",ancestryPage:{title:"Ancestry"},colocatedPage:{title:"Colocated",description:"These are the entities that are colocated with this entity - as in, they originated from the same data source (e.g. came from the same YAML file), or from the same origin (e.g. the originally registered URL).",alertNoLocation:"Entity had no location information.",alertNoEntity:"There were no other entities on this location."},jsonPage:{title:"Entity as JSON",description:"This is the raw entity data as received from the catalog, on JSON form."},overviewPage:{title:"Overview"},yamlPage:{title:"Entity as YAML",description:"This is the raw entity data as received from the catalog, on YAML form."}},unregisterEntityDialog:{title:"Are you sure you want to unregister this entity?",cancelButtonTitle:"Cancel",deleteButtonTitle:"Delete Entity",deleteEntitySuccessMessage:"Removed entity {{entityName}}",bootstrapState:{title:'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "{{location}}"). If you believe this is in error, please contact the {{appTitle}} integrator.',advancedDescription:"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.",advancedOptions:"Advanced Options"},onlyDeleteStateTitle:"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog.",unregisterState:{title:"This action will unregister the following entities:",subTitle:"Located at the following location:",description:"To undo, just re-register the entity in {{appTitle}}.",unregisterButtonTitle:"Unregister Location",advancedOptions:"Advanced Options",advancedDescription:"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."},errorStateTitle:"Internal error: Unknown state"},userListPicker:{defaultOrgName:"Company",personalFilter:{title:"Personal",ownedLabel:"Owned",starredLabel:"Starred"},orgFilterAllLabel:"All"}}})},57736:function(e,t,r){"use strict";r.d(t,{Gz:()=>l,Oq:()=>s,wq:()=>o});var i=r(44073);function n(e){return!!e.getFullTextFilters}function a(e){return!!e.getOrderFilters}function o(e){let t=e.reduce((e,t)=>({...e,...t.getCatalogFilters?t.getCatalogFilters():{}}),{});return{filter:t,fullTextFilter:e.find(n)?.getFullTextFilters(),orderFields:e.find(a)?.getOrderFilters()||[{field:"metadata.name",order:"asc"}]}}function s(e){let t={};return e.forEach(e=>{e instanceof i.Cu||e instanceof i.rf||e instanceof i.zH||e instanceof i.Qe||e instanceof i.t$||e instanceof i.mM||e instanceof i.SZ||e instanceof i.IZ||Object.assign(t,e.getCatalogFilters?.()||{})}),t}function l(e){return t=>e.every(e=>!e.filterEntity||e.filterEntity(t))}},79043:function(e,t,r){"use strict";r.d(t,{h:()=>n});var i=r(39381);function n(e,t,r){let n=e?.relations?.filter(e=>e.type===t).map(e=>(0,i.of)(e.targetRef))||[];return r?.kind&&(n=n.filter(e=>e.kind.toLocaleLowerCase("en-US")===r.kind.toLocaleLowerCase("en-US"))),n}},2694:function(e,t,r){"use strict";r.d(t,{_Z:()=>u,ql:()=>c,jU:()=>l,kR:()=>d,yw:()=>s});var i=r(9456);class n{id;params;optional;defaultTarget;[i.K]="external";constructor(e,t,r,i){this.id=e,this.params=t,this.optional=r,this.defaultTarget=i}toString(){return`routeRef{type=external,id=${this.id}}`}getDefaultTarget(){return this.defaultTarget}}function a(e){return new n(e.id,e.params??[],!!e.optional,e?.defaultTarget)}var o=r(84912);let s=a({id:"create-component",optional:!0,defaultTarget:"scaffolder.createComponent"}),l=a({id:"view-techdoc",optional:!0,params:["namespace","kind","name"],defaultTarget:"techdocs.docRoot"}),c=a({id:"create-from-template",optional:!0,params:["namespace","templateName"],defaultTarget:"scaffolder.selectedTemplate"}),d=a({id:"catalog:unregister-redirect",optional:!0}),u=(0,o.N)({id:"catalog"})},79563:function(e,t,r){"use strict";function i(e,t){return"resourceType"in e&&(!t||e.resourceType===t)}r.d(t,{g2:()=>i})},45471:function(e,t,r){"use strict";r.d(t,{r:()=>n});var i,n=((i={}).DENY="DENY",i.ALLOW="ALLOW",i.CONDITIONAL="CONDITIONAL",i)},55944:function(e,t,r){"use strict";r.d(t,{R:()=>i});let i=(0,r(91424).T)({id:"plugin.permission.api"})},37026:function(e,t,r){"use strict";r.d(t,{F:()=>o});var i=r(52322),n=r(2784);let a=(0,r(79692).Z)(()=>({highlight:{}}),{name:"BackstageHighlightedSearchResultText"}),o=e=>{let{text:t,preTag:r,postTag:o}=e,s=a(),l=(0,n.useMemo)(()=>t.split(RegExp(`(${r}.+?${o})`)),[o,r,t]);return(0,i.jsx)(i.Fragment,{children:l.map((e,t)=>e.includes(r)?(0,i.jsx)("mark",{className:s.highlight,children:e.replace(RegExp(`${r}|${o}`,"g"),"")},t):e)})}},98909:function(e,t,r){"use strict";r.d(t,{E5:()=>c});var i=r(52322),n=r(2784),a=r(29129),o=r(30303),s=r(38402);let l=e=>{let{rank:t,result:r,noTrack:o,children:l,alignItems:c="flex-start",...d}=e,u=(0,a.z)(),h=(0,n.useCallback)(()=>{!o&&r&&u.captureEvent("discover",r.title,{attributes:{to:r.location},value:t})},[t,r,o,u]);return(0,i.jsx)(s.Z,{divider:!0,alignItems:c,onClickCapture:h,...d,children:l})},c=e=>{let{name:t,component:r,predicate:a=()=>!0}=e;return(0,o.YO)({name:t,component:{lazy:()=>r().then(e=>t=>(0,i.jsx)(l,{rank:t.rank,result:t.result,noTrack:t.noTrack,children:(0,n.createElement)(e,t)}))},data:{"search.results.list.items.extensions.v1":a}})}},99503:function(e,t,r){"use strict";r.d(t,{AQ:()=>a,Un:()=>n,w5:()=>i});let i="backstage.io/techdocs-ref",n="backstage.io/techdocs-entity",a="backstage.io/techdocs-entity-path"},98049:function(e,t,r){"use strict";r.d(t,{$L:()=>m,DR:()=>u,KY:()=>p,Zz:()=>d,jM:()=>c});var i=r(52322),n=r(2784),a=r(73557),o=r(32904),s=r(30303),l=r(37840);let c="techdocs.addons.addon.v1",d="techdocs.addons.wrapper.v1",u=()=>null;(0,o.R)(u,d,!0);let h=e=>`${c}.${e.toLocaleLowerCase("en-US")}`;function p(e){let{name:t,component:r}=e;return(0,s.YO)({name:t,component:{sync:e=>(0,i.jsx)(r,{...e})},data:{[c]:e,[h(t)]:!0}})}let g=e=>e.selectByComponentData({key:d}).selectByComponentData({key:c}),f=e=>e.selectByComponentData({key:d}).findComponentData({key:c}),m=()=>{let e=(0,a.pC)(),t=(0,l.v)(e,g),r=(0,l.v)(e,f),i=(0,n.useCallback)(e=>{if(!t||!e)return null;let r=h(e.name);return t.selectByComponentData({key:r}).getElements()[0]??null},[t]);return{renderComponentByName:(0,n.useCallback)(e=>{let t=r.find(t=>t.name===e);return t?i(t):null},[r,i]),renderComponentsByLocation:(0,n.useCallback)(e=>{let t=r.filter(t=>t.location===e);return t.length?t.map(i):null},[r,i])}}},25018:function(e,t,r){"use strict";r.d(t,{D:()=>a,g:()=>n});var i=r(91424);let n=(0,i.T)({id:"plugin.techdocs.service"}),a=(0,i.T)({id:"plugin.techdocs.storageservice"})},31546:function(e,t,r){"use strict";r.d(t,{Z:()=>y,x:()=>v});var i=r(52322),n=r(2784),a=r(4812),o=r(84767),s=r(39381),l=r(18011),c=r(88260),d=r(16162),u=r(47337),h=r(60214),p=r(25018),g=r(25942);let f={title:"",subtitle:"",setTitle:()=>{},setSubtitle:()=>{},setShadowRoot:()=>{},metadata:{loading:!0},entityMetadata:{loading:!0},entityRef:{kind:"",name:"",namespace:""}},m=(0,l.CT)("techdocs-reader-page-context"),y=(0,n.memo)(e=>{let{entityRef:t,children:r}=e,l=(0,d.h_)(p.g),y=(0,d.h_)(u.D),v=(0,a.Z)(async()=>l.getEntityMetadata(t),[t]),b=(0,o.Z)(async()=>l.getTechDocsMetadata(t),[t]),[w,x]=(0,n.useState)(f.title),[S,k]=(0,n.useState)(f.subtitle),[C,j]=(0,n.useState)(f.shadowRoot);(0,n.useEffect)(()=>{!C||b.value||b.loading||b.retry()},[b.value,b.loading,C,b.retry,b]);let E={metadata:b,entityRef:(0,g.wg)(t,y),entityMetadata:v,shadowRoot:C,setShadowRoot:j,title:w,setTitle:x,subtitle:S,setSubtitle:k},A=(0,c.E)({1:E});return(0,i.jsx)(h.fC,{attributes:{entityRef:(0,s.eE)(t)},children:(0,i.jsx)(m.Provider,{value:A,children:r instanceof Function?r(E):r})})},(e,t)=>{let r,i;return r=e.entityRef,i=t.entityRef,(0,s.eE)(r)===(0,s.eE)(i)}),v=()=>{let e=(0,n.useContext)(m);if(void 0===e)return f;let t=e.atVersion(1);if(void 0===t)throw Error("No context found for version 1.");return t}},25942:function(e,t,r){"use strict";r.d(t,{IG:()=>o,Li:()=>s,wg:()=>a});var i=r(39381),n=r(99503);function a(e,t){return t.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")||(e.kind=e.kind.toLocaleLowerCase(),e.name=e.name.toLocaleLowerCase(),e.namespace=e.namespace.toLocaleLowerCase()),e}function o(e){let t=e.metadata.annotations?.[n.AQ];return t?(t.startsWith("/")||(t=`/${t}`),t):""}let s=(e,t)=>{if(!t)return;let{namespace:r,kind:a,name:s}=(0,i.iB)(e);if(e.metadata.annotations?.[n.Un])try{let t=(0,i.of)(e.metadata.annotations?.[n.Un]);r=t.namespace,a=t.kind,s=t.name}catch{}let l=t({namespace:r,kind:a,name:s}),c=o(e);return`${l}${c}`}},63424:function(e,t,r){"use strict";r.d(t,{o:()=>i});let i=Object.freeze({Header:"Header",Subheader:"Subheader",Settings:"Settings",PrimarySidebar:"PrimarySidebar",SecondarySidebar:"SecondarySidebar",Content:"Content"})},35854:function(e,t,r){"use strict";function i(e,t){return t.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?e:e.toLocaleLowerCase("en-US")}r.d(t,{D:()=>i})},74556:function(e,t,r){"use strict";r.d(t,{u:()=>P});var i=r(52322),n=r(13904),a=r(70862),o=r(14522),s=r(52265),l=r(26524),c=r(10465),d=r(43622),u=r(2296),h=r(36295),p=r(2784),g=r(37939),f=r(99503);class m{getCatalogFilters(){return{[`metadata.annotations.${f.w5}`]:g.n}}}let y=()=>{let{updateFilters:e}=(0,s.wp)();return(0,p.useEffect)(()=>{e({techdocs:new m})},[e]),null};var v=r(13303),b=r(76635),w=r(85051),x=r(12753),S=r(93048),k=r(16162),C=r(47337),j=r(76051),E=r(24615),A=r(33702),$=r(44073);function R(e){let{actions:t,columns:r,data:n,isLoading:a,options:o}=e,{updateFilters:l,setLimit:c,setOffset:d,limit:u,totalItems:h,offset:g}=(0,s.wp)(),[f,m]=(0,p.useState)(g&&u?Math.floor(g/u):0);return(0,p.useEffect)(()=>{h&&f*u>=h?d(Math.max(0,h-u)):d(Math.max(0,f*u))},[d,f,u,h]),(0,i.jsx)(A.i,{columns:r,data:n,options:{paginationPosition:"both",pageSizeOptions:[5,10,20,50,100],pageSize:u,emptyRowsWhenPaging:!1,actionsColumnIndex:-1,...o},actions:t,onSearchChange:e=>l({text:e?new $.SZ(e):void 0}),page:f,onPageChange:e=>{m(e)},onRowsPerPageChange:e=>{c(e)},totalCount:h,localization:{pagination:{labelDisplayedRows:""}},isLoading:a})}function T(e){let{actions:t,columns:r,data:n,next:a,prev:o,title:s,isLoading:l,options:c,...d}=e;return(0,i.jsx)(A.i,{title:l?"":s,columns:r,data:n,options:{paginationPosition:"both",...c,pageSizeOptions:[],showFirstLastPageButtons:!1,pageSize:Number.MAX_SAFE_INTEGER,emptyRowsWhenPaging:!1,actionsColumnIndex:-1},onPageChange:e=>{e>0?a?.():o?.()},page:+!!o,totalCount:a?Number.MAX_VALUE:Number.MAX_SAFE_INTEGER,localization:{pagination:{labelDisplayedRows:""}},isLoading:l,...d})}var I=r(21477),O=r(81264),L=r(51173),B=r(25537);let F=e=>{let{columns:t,actions:r,options:n}=e,{loading:a,error:o,entities:l,filters:c,paginationMode:d,pageInfo:u}=(0,s.wp)(),{isStarredEntity:h,toggleStarredEntity:p}=(0,j.C)(),[,g]=(0,v.Z)(),f=(0,S.t)(L.Fw),m=(0,k.h_)(C.D),y=(0,b.capitalize)(c.user?.value??"all"),A=[I.n.createCopyDocsUrlAction(g),I.n.createStarEntityAction(h,p)],$=(0,B.J)(l,f,m);return"cursor"===d?(0,i.jsx)(T,{columns:t||O.y,isLoading:a,title:y,actions:r||A,options:n,data:$,next:u?.next,prev:u?.prev}):"offset"===d?(0,i.jsx)(R,{columns:t||O.y,isLoading:a,title:y,actions:r||A,options:n,data:$}):o?(0,i.jsx)(w.G,{severity:"error",title:"Could not load available documentation.",children:(0,i.jsx)(x.O,{language:"text",text:o.toString()})}):(0,i.jsx)(E.H,{title:y,entities:l,loading:a,actions:r||A,columns:t,options:n})};F.columns=O.N,F.actions=I.n;let P=e=>{let{initialFilter:t="owned",columns:r,actions:p,ownerPickerMode:g,pagination:f,options:m,PageWrapper:v,CustomHeader:b}=e,w=v||h.j,x=b||(()=>(0,i.jsx)(n.y,{title:"",children:(0,i.jsx)(a.q,{children:"Discover documentation in your ecosystem."})}));return(0,i.jsx)(w,{children:(0,i.jsxs)(o.V,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(s.UO,{pagination:f,children:(0,i.jsxs)(l._i,{children:[(0,i.jsxs)(l._i.Filters,{children:[(0,i.jsx)(y,{}),(0,i.jsx)(c.E,{initialFilter:t}),(0,i.jsx)(d.d,{mode:g}),(0,i.jsx)(u.x,{})]}),(0,i.jsx)(l._i.Content,{children:(0,i.jsx)(F,{actions:p,columns:r,options:m})})]})})]})})}},24615:function(e,t,r){"use strict";r.d(t,{H:()=>f});var i=r(52322),n=r(13303),a=r(93048),o=r(16162),s=r(47337),l=r(51173),c=r(33702),d=r(24780),u=r(37667),h=r(21477),p=r(81264),g=r(25537);let f=e=>{let{entities:t,title:r,loading:f,columns:m,actions:y,options:v}=e,[,b]=(0,n.Z)(),w=(0,a.t)(l.Fw),x=(0,o.h_)(s.D);if(!t)return null;let S=(0,g.J)(t,w,x),k=[h.n.createCopyDocsUrlAction(b)],C=S&&S.length>20;return(0,i.jsx)(i.Fragment,{children:f||S&&S.length>0?(0,i.jsx)(c.i,{isLoading:f,options:{paging:C,pageSize:20,search:!0,actionsColumnIndex:-1,...v},data:S,columns:m||p.y,actions:y||k,title:r?`${r} (${S.length})`:`All (${S.length})`}):(0,i.jsx)(d.u,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:(0,i.jsx)(u.Q,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained",children:"DOCS"})})})};f.columns=p.N,f.actions=h.n},21477:function(e,t,r){"use strict";r.d(t,{n:()=>o});var i=r(52322),n=r(39981),a=r(63298);let o={createCopyDocsUrlAction:e=>t=>({icon:()=>(0,i.jsx)(n.default,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>e(`${window.location.origin}${t.resolved.docsUrl}`)}),createStarEntityAction:(e,t)=>r=>{let n=r.entity,o=e(n);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,i.jsx)(a.a,{isFavorite:o}),tooltip:o?"Remove from favorites":"Add to favorites",onClick:()=>t(n)}}}},81264:function(e,t,r){"use strict";r.d(t,{y:()=>u,N:()=>d});var i=r(52322),n=r(53244);let a=(0,r(79692).Z)(e=>({value:{marginBottom:e.spacing(.75)},subvalue:{color:e.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function o(e){let{value:t,subvalue:r}=e,o=a();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.Z,{className:o.value,children:t}),(0,i.jsx)(n.Z,{className:o.subvalue,children:r})]})}var s=r(13039),l=r(57148);function c(e){return e.metadata.title||e.metadata.name}let d={createTitleColumn:e=>({...d.createNameColumn(),field:"entity.metadata.title",hidden:e?.hidden}),createNameColumn:()=>({title:"Document",field:"entity.metadata.name",highlight:!0,searchable:!0,defaultSort:"asc",customSort:(e,t)=>{let r=c(e.entity).toLocaleLowerCase(),i=c(t.entity).toLocaleLowerCase();return r.localeCompare(i)},render:e=>(0,i.jsx)(o,{value:(0,i.jsx)(s.rU,{to:e.resolved.docsUrl,children:c(e.entity)}),subvalue:e.entity.metadata.description})}),createOwnerColumn:()=>({title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:e})=>(0,i.jsx)(l.r,{entityRefs:e.ownedByRelations,defaultKind:"group"})}),createKindColumn:()=>({title:"Kind",field:"entity.kind"}),createTypeColumn:()=>({title:"Type",field:"entity.spec.type"})},u=[d.createTitleColumn({hidden:!0}),d.createNameColumn(),d.createOwnerColumn(),d.createKindColumn(),d.createTypeColumn()]},25537:function(e,t,r){"use strict";r.d(t,{J:()=>s});var i=r(58985),n=r(79043),a=r(93386),o=r(35854);function s(e,t,r){return e.map(e=>{let s=(0,n.h)(e,i.S4);return{entity:e,resolved:{docsUrl:t({namespace:(0,o.D)(e.metadata.namespace??"default",r),kind:(0,o.D)(e.kind,r),name:(0,o.D)(e.metadata.name,r)}),ownedByRelations:s,ownedByRelationsTitle:s.map(e=>(0,a.$)(e,{defaultKind:"group"})).join(", ")}}})}},36295:function(e,t,r){"use strict";r.d(t,{j:()=>s});var i=r(52322),n=r(55386),a=r(16162),o=r(47337);let s=e=>{let{children:t,CustomPageWrapper:r}=e,s=(0,a.h_)(o.D),l=`Documentation available in ${s.getOptionalString("organization.name")??"Backstage"}`;return(0,i.jsx)(i.Fragment,{children:r?(0,i.jsx)(r,{children:t}):(0,i.jsx)(n.g,{title:"Documentation",subtitle:l,themeId:"documentation",children:t})})}},98248:function(e,t,r){"use strict";r.d(t,{Jl:()=>v,I6:()=>b,s4:()=>y});var i=r(25018),n=r(26291),a=r(36810),o=r(19920);class s{configApi;discoveryApi;fetchApi;constructor(e){this.configApi=e.configApi,this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi}async getCookie(){let e=await this.getApiOrigin(),t=`${e}/cookie`,r=await this.fetchApi.fetch(`${t}`,{credentials:"include"});if(!r.ok)throw await n.V.fromResponse(r);return await r.json()}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(e){let{kind:t,namespace:r,name:i}=e,a=await this.getApiOrigin(),o=`${a}/metadata/techdocs/${r}/${t}/${i}`,s=await this.fetchApi.fetch(`${o}`);if(!s.ok)throw await n.V.fromResponse(s);return await s.json()}async getEntityMetadata(e){let{kind:t,namespace:r,name:i}=e,a=await this.getApiOrigin(),o=`${a}/metadata/entity/${r}/${t}/${i}`,s=await this.fetchApi.fetch(`${o}`);if(!s.ok)throw await n.V.fromResponse(s);return await s.json()}}class l{configApi;discoveryApi;fetchApi;constructor(e){this.configApi=e.configApi,this.discoveryApi=e.discoveryApi,this.fetchApi=e.fetchApi}async getApiOrigin(){return await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){return this.configApi.getOptionalString("techdocs.storageUrl")??`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getOptionalString("techdocs.builder")||"local"}async getEntityDocs(e,t){let{kind:r,namespace:i,name:n}=e,o=await this.getStorageUrl(),s=`${o}/${i}/${r}/${n}/${t}`,l=await this.fetchApi.fetch(`${s.endsWith("/")?s:`${s}/`}index.html`),c="";switch(l.status){case 404:throw c="Page not found. ",t||(c+="This could be because there is no index.md file in the root of the docs directory of this repository."),new a.dR(c);case 500:throw Error(c="Could not generate documentation or an error in the TechDocs backend. ")}return l.text()}async syncEntityDocs(e,t=()=>{}){let{kind:r,namespace:i,name:n}=e,a=await this.getApiOrigin(),s=`${a}/sync/${i}/${r}/${n}`;return new Promise((e,r)=>{let i=new AbortController;(0,o.L)(s,{fetch:this.fetchApi.fetch,signal:i.signal,onmessage(i){if("log"===i.event)i.data&&t(JSON.parse(i.data));else if("finish"===i.event){let t=!1;i.data&&({updated:t}=JSON.parse(i.data)),e(t?"updated":"cached")}else"error"===i.event&&r(Error(i.data))},onerror(e){throw i.abort(),r(e),e}})})}async getBaseUrl(e,t,r){let{kind:i,namespace:n,name:a}=t,o=await this.getApiOrigin(),s=`${o}/static/docs/${n}/${i}/${a}/${r}`;return new URL(e,s.endsWith("/")?s:`${s}/`).toString()}}var c=r(51173),d=r(93949),u=r(74726),h=r(47337),p=r(51943),g=r(42412),f=r(30303),m=r(98909);let y=(0,d.r)({id:"techdocs",apis:[(0,u.n)({api:i.D,deps:{configApi:h.D,discoveryApi:p.N,fetchApi:g.g},factory:({configApi:e,discoveryApi:t,fetchApi:r})=>new l({configApi:e,discoveryApi:t,fetchApi:r})}),(0,u.n)({api:i.g,deps:{configApi:h.D,discoveryApi:p.N,fetchApi:g.g},factory:({configApi:e,discoveryApi:t,fetchApi:r})=>new s({configApi:e,discoveryApi:t,fetchApi:r})})],routes:{root:c._Z,docRoot:c.Fw,entityContent:c.pd}});y.provide((0,f.P4)({name:"TechdocsPage",component:()=>r.e("3058").then(r.bind(r,55195)).then(e=>e.Router),mountPoint:c._Z})),y.provide((0,f.P4)({name:"EntityTechdocsContent",component:()=>r.e("3058").then(r.bind(r,55195)).then(e=>e.LegacyEmbeddedDocsRouter),mountPoint:c.pd})),y.provide((0,f.P4)({name:"TechDocsCustomHome",component:()=>r.e("6333").then(r.bind(r,8005)).then(e=>e.TechDocsCustomHome),mountPoint:c._Z}));let v=y.provide((0,f.P4)({name:"TechDocsIndexPage",component:()=>r.e("763").then(r.bind(r,84377)).then(e=>e.TechDocsIndexPage),mountPoint:c._Z})),b=y.provide((0,f.P4)({name:"TechDocsReaderPage",component:()=>r.e("8189").then(r.bind(r,95930)).then(e=>e.TechDocsReaderPage),mountPoint:c.Fw}));y.provide((0,m.E5)({name:"TechDocsSearchResultListItem",component:()=>Promise.resolve().then(r.bind(r,43087)).then(e=>e.TechDocsSearchResultListItem),predicate:e=>"techdocs"===e.type}))},59998:function(e,t,r){"use strict";let i,n,a;r.d(t,{F:()=>e7});var o=r(52322),s=r(2784),l=r(60905),c=r(79692),d=r(31546),u=r(70882),h=r(19219),p=r(50236);let g="TECH_DOCS_SHADOW_DOM_STYLE_LOAD",f=e=>{let[t,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!e)return()=>{};r(!0);let t=e.style;t.setProperty("opacity","0");let i=()=>{r(!1),t.setProperty("opacity","1")};return e.addEventListener(g,i),()=>{e.removeEventListener(g,i)}},[e]),t},m=e=>{let{element:t,onAppend:r,children:i}=e,[n,a]=(0,s.useState)((0,u.Ue)({...(0,p.Z)(),insertionPoint:void 0}));(0,s.useEffect)(()=>{if(!t)return()=>{};let e=t.querySelectorAll('head > link[rel="stylesheet"]'),r=e?.length??0,i=new CustomEvent(g);if(!r)return t.dispatchEvent(i),()=>{};let n=()=>{0==--r&&t.dispatchEvent(i)};return e?.forEach(e=>{e.addEventListener("load",n)}),()=>{e?.forEach(e=>{e.removeEventListener("load",n)})}},[t]);let l=(0,s.useCallback)(e=>{if(!t||!e)return;a((0,u.Ue)({...(0,p.Z)(),insertionPoint:t.querySelector("head")||void 0}));let i=e.shadowRoot;i||(i=e.attachShadow({mode:"open"})),i.replaceChildren(t),"function"==typeof r&&r(i)},[t,r]);return(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)(h.ZP,{jss:n,sheetsManager:new Map,children:[(0,o.jsx)("div",{ref:l,"data-testid":"techdocs-native-shadowroot"}),i]})})};r(54073);var y=r(14522),v=r(77344),b=r(76635),w=r(4812),x=r(76539),S=r(18011),k=r(88260),C=r(16162),j=r(29129),E=r(60214),A=r(47337);let $=(0,r(91424).T)({id:"plugin.search.queryservice"}),R=(0,S.CT)("search-context"),T=()=>{let e=(0,s.useContext)(R);if(!e)throw Error("useSearch must be used within a SearchContextProvider");let t=e.atVersion(1);if(!t)throw Error("No SearchContext v1 found");return t},I={term:"",types:[],filters:{},pageLimit:void 0,pageCursor:void 0},O=e=>{let{initialState:t,children:r}=e,i=((e=I)=>{let t=(0,C.h_)($),r=(0,j.z)(),[i,n]=(0,s.useState)(e.term),[a,o]=(0,s.useState)(e.types),[l,c]=(0,s.useState)(e.filters),[d,u]=(0,s.useState)(e.pageLimit),[h,p]=(0,s.useState)(e.pageCursor),g=(0,x.Z)(i),f=(0,x.Z)(l),m=(0,w.Z)(async()=>{let e=await t.query({term:i,types:a,filters:l,pageLimit:d,pageCursor:h});return i&&r.captureEvent("search",i,{value:e.numberOfResults}),e},[i,a,l,d,h]),y=!m.loading&&!m.error&&m.value?.nextPageCursor,v=!m.loading&&!m.error&&m.value?.previousPageCursor,S=(0,s.useCallback)(()=>{p(m.value?.nextPageCursor)},[m.value?.nextPageCursor]),k=(0,s.useCallback)(()=>{p(m.value?.previousPageCursor)},[m.value?.previousPageCursor]);return(0,s.useEffect)(()=>{void 0!==g&&i!==g&&p(void 0)},[i,g,p]),(0,s.useEffect)(()=>{void 0===f||(0,b.isEqual)(l,f)||p(void 0)},[l,f,p]),{result:m,term:i,setTerm:n,types:a,setTypes:o,filters:l,setFilters:c,pageLimit:d,setPageLimit:u,pageCursor:h,setPageCursor:p,fetchNextPage:y?S:void 0,fetchPreviousPage:v?k:void 0}})(t);return(0,o.jsx)(E.fC,{attributes:{searchTypes:i.types.sort().join(",")},children:(0,o.jsx)(R.Provider,{value:(0,k.E)({1:i}),children:r})})},L=e=>{let{initialState:t,inheritParentContextIfAvailable:r,children:i}=e,n=void 0!==(0,s.useContext)(R),a=(0,C.h_)(A.D),l=a.has("search.query.pageLimit")?{pageLimit:a.getNumber("search.query.pageLimit")}:{},c={...I,...t??{},...l};return n&&r?(0,o.jsx)(o.Fragment,{children:i}):(0,o.jsx)(O,{initialState:c,children:i})};var B=r(4614),F=r(63628),P=r(40098),N=r(61837),Z=r(50581),U=r(86619),z=r(77277),D=r(21853),M=r(20581),_=r(14380);let q=(0,r(73669).F)({id:"search-react",messages:{searchBar:{title:"Search",placeholder:"Search in {{org}}",clearButtonTitle:"Clear"},searchFilter:{allOptionTitle:"All"},searchPagination:{limitLabel:"Results per page:",limitText:"of {{num}}"},noResultsDescription:"Sorry, no results were found",searchResultGroup:{linkTitle:"See All",addFilterButtonTitle:"Add filter"},searchResultPager:{previous:"Previous",next:"Next"}}}),H=(0,s.forwardRef)((e,t)=>{let{onChange:r,onKeyDown:i=()=>{},onClear:n=()=>{},onSubmit:a=()=>{},debounceTime:l=200,clearButton:c=!0,fullWidth:d=!0,value:u,label:h,placeholder:p,inputProps:g={},InputProps:f={},endAdornment:m,...y}=e,v=(0,C.h_)(A.D),[b,w]=(0,s.useState)(""),x=(0,s.useRef)(""),{t:S}=(0,_.i)(q);(0,s.useEffect)(()=>{w(e=>e===x.current?String(u):e)},[u,x]),(0,M.Z)(()=>{x.current=b,r(b)},l,[b]);let k=(0,s.useCallback)(e=>{w(e.target.value)},[w]),j=(0,s.useCallback)(e=>{i&&i(e),a&&"Enter"===e.key&&a()},[i,a]),E=(0,s.useCallback)(()=>{x.current="",r(""),w(""),n&&n()},[r,n]),$=h?void 0:S("searchBar.title"),R=p??S("searchBar.placeholder",{org:v.getOptionalString("app.title")||"Backstage"}),T=(0,P.q)().getSystemIcon("search")||D.default,I=(0,o.jsx)(Z.Z,{position:"start",children:(0,o.jsx)(N.Z,{"aria-label":"Query",size:"small",disabled:!0,children:(0,o.jsx)(T,{})})}),O=(0,o.jsx)(Z.Z,{position:"end",children:(0,o.jsx)(z.Z,{"aria-label":S("searchBar.clearButtonTitle"),size:"small",onClick:E,onKeyDown:e=>{"Enter"===e.key&&e.stopPropagation()},children:S("searchBar.clearButtonTitle")})});return(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(U.Z,{id:"search-bar-text-field","data-testid":"search-bar-next",variant:"outlined",margin:"normal",inputRef:t,value:b,label:h,placeholder:R,InputProps:{startAdornment:I,endAdornment:c?O:m,...f},inputProps:{"aria-label":$,...g},fullWidth:d,onChange:k,onKeyDown:j,...y})})}),V=(0,s.forwardRef)((e,t)=>{let{value:r="",onChange:i,...n}=e,{term:a,setTerm:l}=T();(0,s.useEffect)(()=>{r&&l(String(r))},[r,l]);let c=(0,s.useCallback)(e=>{i?i(e):l(e)},[i,l]);return(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(E.fC,{attributes:{pluginId:"search",extension:"SearchBar"},children:(0,o.jsx)(H,{...n,ref:t,value:a,onChange:c})})})}),W=(0,c.Z)(e=>({loading:{right:e.spacing(1),position:"absolute"}})),G=()=>{let e=W();return(0,o.jsx)(B.Z,{className:e.loading,"data-testid":"search-autocomplete-progressbar",color:"inherit",size:20})},K=(n=function(e){let{loading:t,value:r,onChange:i=()=>{},options:n=[],getOptionLabel:a=e=>String(e),inputPlaceholder:l,inputDebounceTime:c,freeSolo:d=!0,fullWidth:u=!0,clearOnBlur:h=!1,"data-testid":p="search-autocomplete",...g}=e,{setTerm:f}=T(),m=(0,s.useCallback)(e=>e?"string"==typeof e?e:a(e):"",[a]),y=(0,s.useMemo)(()=>m(r),[r,m]),v=(0,s.useCallback)((e,t,r,n)=>{f(m(t)),i(e,t,r,n)},[m,f,i]),b=(0,s.useCallback)(({InputProps:{ref:e,className:r,endAdornment:i},InputLabelProps:n,...a})=>(0,o.jsx)(V,{...a,ref:e,clearButton:!1,value:y,placeholder:l,debounceTime:c,endAdornment:t?(0,o.jsx)(G,{}):i,InputProps:{className:r}}),[t,y,l,c]);return(0,o.jsx)(F.ZP,{...g,"data-testid":p,value:r,onChange:v,options:n,getOptionLabel:a,renderInput:b,freeSolo:d,fullWidth:u,clearOnBlur:h})},e=>(0,o.jsx)(L,{inheritParentContextIfAvailable:!0,children:(0,o.jsx)(n,{...e})}));var Y=r(73557),J=r(43087);let Q=e=>{let{entityId:t,entityTitle:r,debounceTime:i=150,searchResultUrlMapper:n}=e,[a,l]=(0,s.useState)(!1),c=(0,Y.s0)(),{setFilters:d,term:u,result:{loading:h,value:p}}=T(),[g,f]=(0,s.useState)([]);(0,s.useEffect)(()=>(p&&f(p.results.slice(0,10)),()=>{}),[h,p]);let{kind:m,name:y,namespace:v}=t;return(0,s.useEffect)(()=>{d(e=>({...e,kind:m,namespace:v,name:y}))},[m,v,y,d]),(0,o.jsx)(K,{"data-testid":"techdocs-search-bar",size:"small",open:a&&!!u,getOptionLabel:()=>"",filterOptions:e=>e,onClose:()=>{l(!1)},onOpen:()=>{l(!0)},onChange:(e,t)=>{if(t?.document){let{location:e}=t.document;c(n?n(e):e)}},blurOnSelect:!0,noOptionsText:"No results found",value:null,options:g,renderOption:({document:e,highlight:t})=>(0,o.jsx)(J.TechDocsSearchResultListItem,{result:e,lineClamp:3,asListItem:!1,asLink:!1,title:e.title,highlight:t}),loading:h,inputDebounceTime:i,inputPlaceholder:`Search ${r||t.name} docs`,freeSolo:!1})},X=e=>{let t={term:"",types:["techdocs"],pageCursor:"",filters:e.entityId};return(0,o.jsx)(L,{initialState:t,children:(0,o.jsx)(Q,{...e})})};var ee=r(23933);let et=(0,s.lazy)(()=>Promise.all([r.e("1029"),r.e("9787")]).then(r.bind(r,33194)).then(e=>({default:e.RealLogViewer})));function er(e){let{Progress:t}=(0,P.q)().getComponents();return(0,o.jsx)(s.Suspense,{fallback:(0,o.jsx)(t,{}),children:(0,o.jsx)(et,{...e})})}var ei=r(4190),en=r(90436),ea=r(13314),eo=r(87685);let es=(0,c.Z)(e=>(0,ea.Z)({paper:{width:"100%",[e.breakpoints.up("sm")]:{width:"75%"},[e.breakpoints.up("md")]:{width:"50%"},padding:e.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:e.palette.background.default}})),el=({buildLog:e,onClose:t})=>{let r=es(),i=0===e.length?"Waiting for logs...":e.join("\n");return(0,o.jsxs)(l.Z,{container:!0,direction:"column",className:r.root,spacing:0,wrap:"nowrap",children:[(0,o.jsxs)(l.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap",children:[(0,o.jsx)(en.Z,{variant:"h5",children:"Build Details"}),(0,o.jsx)(N.Z,{title:"Close the drawer",onClick:t,color:"inherit",children:(0,o.jsx)(eo.default,{})},"dismiss")]}),(0,o.jsx)(l.Z,{item:!0,xs:!0,children:(0,o.jsx)(er,{text:i,classes:{root:r.logs}})})]})},ec=({buildLog:e})=>{let t=es(),[r,i]=(0,s.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(z.Z,{color:"inherit",onClick:()=>i(!0),children:"Show Build Logs"}),(0,o.jsx)(ei.ZP,{classes:{paper:t.paper},anchor:"right",open:r,onClose:()=>i(!1),children:(0,o.jsx)(el,{buildLog:e,onClose:()=>i(!1)})})]})};var ed=r(20082);let eu=({errorMessage:e})=>{let t=(0,C.h_)(A.D).getOptionalString("techdocs.builder"),r=(0,j.z)(),{entityRef:i}=(0,d.x)(),n=(0,Y.TH)();(0,s.useEffect)(()=>{let{pathname:e,search:t,hash:a}=n;r.captureEvent("not-found",`${e}${t}${a}`,{attributes:i})},[r,i,n]);let a="";return[void 0,"local"].includes(t)||(a="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."),(0,o.jsx)(ed.m,{status:"404",statusMessage:e||"Documentation not found",additionalInfo:a})};var eh=r(84767),ep=r(25018);function eg(e,t){let r={...e};switch(t.type){case"sync":"CHECKING"===t.state&&(r.buildLog=[]),r.activeSyncState=t.state,r.syncError=t.syncError;break;case"contentLoading":r.contentLoading=!0,r.contentError=void 0;break;case"content":"string"==typeof t.path&&(r.path=t.path),r.contentLoading=!1,r.content=t.content,r.contentError=t.contentError;break;case"buildLog":r.buildLog=r.buildLog.concat(t.log);break;default:throw Error()}return["BUILD_READY","BUILD_READY_RELOAD"].includes(r.activeSyncState)&&["contentLoading","content"].includes(t.type)&&(r.activeSyncState="UP_TO_DATE",r.buildLog=[]),r}let ef=(0,s.createContext)({}),em=()=>(0,s.useContext)(ef),ey=e=>{let{children:t}=e,{"*":r=""}=(0,Y.UO)(),{entityRef:i}=(0,d.x)(),{kind:n,namespace:a,name:l}=i,c=function(e,t,r,i){let[n,a]=(0,s.useReducer)(eg,{activeSyncState:"CHECKING",path:i,contentLoading:!0,buildLog:[]}),o=(0,C.h_)(ep.D),{retry:l}=(0,eh.Z)(async()=>{a({type:"contentLoading"});try{let n=await o.getEntityDocs({kind:e,namespace:t,name:r},i);return a({type:"content",content:n,path:i}),n}catch(e){a({type:"content",contentError:e,path:i})}},[o,e,t,r,i]),c=(0,s.useRef)({content:void 0,reload:()=>{}});c.current={content:n.content,reload:l},(0,w.Z)(async()=>{a({type:"sync",state:"CHECKING"});let i=setTimeout(()=>{a({type:"sync",state:"BUILDING"})},1e3);try{switch(await o.syncEntityDocs({kind:e,namespace:t,name:r},e=>{a({type:"buildLog",log:e})})){case"updated":c.current.content?a({type:"sync",state:"BUILD_READY"}):(c.current.reload(),a({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":a({type:"sync",state:"UP_TO_DATE"});break;default:a({type:"sync",state:"ERROR",syncError:Error("Unexpected return state")})}}catch(e){a({type:"sync",state:"ERROR",syncError:e})}finally{clearTimeout(i)}},[e,r,t,o,a,c]);let d=(0,s.useMemo)(()=>(function({contentLoading:e,content:t,activeSyncState:r}){return e||"BUILD_READY_RELOAD"===r||!t&&"CHECKING"===r?"CHECKING":t||"BUILDING"!==r?t?"BUILDING"===r?"CONTENT_STALE_REFRESHING":"BUILD_READY"===r?"CONTENT_STALE_READY":"ERROR"===r?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND":"INITIAL_BUILD"})({activeSyncState:n.activeSyncState,contentLoading:n.contentLoading,content:n.content}),[n.activeSyncState,n.content,n.contentLoading]);return(0,s.useMemo)(()=>({state:d,contentReload:l,path:n.path,content:n.content,contentErrorMessage:n.contentError?.toString(),syncErrorMessage:n.syncError?.toString(),buildLog:n.buildLog}),[d,l,n.path,n.content,n.contentError,n.syncError,n.buildLog])}(n,a,l,r);return(0,o.jsx)(ef.Provider,{value:c,children:t instanceof Function?t(c):t})},ev=(0,c.Z)(e=>({root:{marginBottom:e.spacing(2)},message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),eb=()=>{let e=null,t=ev(),{state:r,contentReload:i,contentErrorMessage:n,syncErrorMessage:a,buildLog:s}=em();return"INITIAL_BUILD"===r&&(e=(0,o.jsx)(ee.Z,{classes:{root:t.root},variant:"outlined",severity:"info",icon:(0,o.jsx)(B.Z,{size:"24px"}),action:(0,o.jsx)(ec,{buildLog:s}),children:"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster."})),"CONTENT_STALE_REFRESHING"===r&&(e=(0,o.jsx)(ee.Z,{variant:"outlined",severity:"info",icon:(0,o.jsx)(B.Z,{size:"24px"}),action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root},children:"A newer version of this documentation is being prepared and will be available shortly."})),"CONTENT_STALE_READY"===r&&(e=(0,o.jsx)(ee.Z,{variant:"outlined",severity:"success",action:(0,o.jsx)(z.Z,{color:"inherit",onClick:()=>i(),children:"Refresh"}),classes:{root:t.root},children:"A newer version of this documentation is now available, please refresh to view."})),"CONTENT_STALE_ERROR"===r&&(e=(0,o.jsxs)(ee.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root,message:t.message},children:["Building a newer version of this documentation failed."," ",a]})),"CONTENT_NOT_FOUND"===r&&(e=(0,o.jsxs)(o.Fragment,{children:[a&&(0,o.jsxs)(ee.Z,{variant:"outlined",severity:"error",action:(0,o.jsx)(ec,{buildLog:s}),classes:{root:t.root,message:t.message},children:["Building a newer version of this documentation failed."," ",a]}),(0,o.jsx)(eu,{errorMessage:n})]})),e};var ew=r(41156),ex=r(60364),eS=r(43221),ek=r(35368),eC=r.n(ek);let ej=/main\.[A-Fa-f0-9]{8}\.min\.css$/,eE=/^https:\/\/fonts\.googleapis\.com/,eA=/^https:\/\/fonts\.gstatic\.com/,e$=e=>("LINK"!==e.nodeName||(e=>{let t=e?.getAttribute("href")||"",r=t.match(ej),i=t.match(eE),n=t.match(eA);return r||i||n})(e)||e.remove(),e);var eR=r(42332),eT=r(41128);let eI=["h1","h2","h3","h4","h5","h6"],eO=/(em)|(rem)/gi,eL=/var\(|\)/gi,eB={dark:["#only-light","#gh-light-mode-only"],light:["#only-dark","#gh-dark-mode-only"]},eF=[({theme:e})=>`
|
|
6
6
|
/*================== Variables ==================*/
|
|
7
7
|
/*
|
|
8
8
|
As the MkDocs output is rendered in shadow DOM, the CSS variable definitions on the root selector are not applied. Instead, they have to be applied on :host.
|
|
@@ -547,4 +547,4 @@ ${eB[e.palette.type].map(e=>`img[src$="${e}"]`).join(", ")} {
|
|
|
547
547
|
${t.href}
|
|
548
548
|
|
|
549
549
|
Feedback:`),l=i?.type==="github"?(0,eD.B)(r.href,"blob"):r.href,c=eq()(l),d=`/${c.organization}/${c.name}`,h=t.cloneNode();switch(i?.type){case"gitlab":h.href=`${r.origin}${d}/issues/new?issue[title]=${a}&issue[description]=${o}`;break;case"github":h.href=`${r.origin}${d}/issues/new?title=${a}&body=${o}`;break;default:return e}return ez((0,s.createElement)(eM.default),h),h.style.paddingLeft="5px",h.title="Leave feedback for this page",h.id="git-feedback-link",t?.insertAdjacentElement("beforebegin",h),e},l]),[e,u,d,a,l]),T=(0,s.useCallback)(async t=>eP(t,[((e,t)=>{let r=e=>{let r=eZ(window.location.href),i=new URL(e,r);if(i.hostname!==window.location.hostname){let e=window.location.pathname,i=e.indexOf(t);return new URL(e.slice(0,i+t.length),r).href}return i.href};return t=>{for(let i of Array.from(t.querySelectorAll("meta")))if("refresh"===i.getAttribute("http-equiv")){let n=i.getAttribute("content")?.split("url=");if(!n||n.length<2)return t;let a=r(n[1]);if(window.location.href===a)return t;let s=document.createElement("div");ez((0,o.jsx)(eW,{message:"This TechDocs page is no longer maintained. Will automatically redirect to the designated replacement.",handleButtonClick:()=>e(a),autoHideDuration:3e3}),s),document.body.appendChild(s),setTimeout(()=>{e(a)},3e3);break}return t}})(r,e.name),e=>(setTimeout(()=>{let t=e?.querySelectorAll("li.md-nav__item--active");0!==t.length&&(t.forEach(e=>{let t=e?.querySelector("input");t?.checked||t?.click()}),t[t.length-1].scrollIntoView())},200),e),e=>{for(let t of e.querySelectorAll("pre > code")){let e=t.textContent||"",r=document.createElement("div");t?.parentElement?.prepend(r),ez((0,o.jsx)(eG.Z,{theme:i,children:(0,o.jsx)(e1,{text:e})}),r)}return e},(({baseUrl:e,onClick:t})=>r=>(Array.from(r.getElementsByTagName("a")).forEach(r=>{r.addEventListener("click",i=>{let n=r.getAttribute("href");n&&n.startsWith(e)&&!r.hasAttribute("download")&&(i.preventDefault(),t(i,n))})}),r))({baseUrl:h.getOptionalString("app.baseUrl")||window.location.origin,onClick:(e,i)=>{let n=e.ctrlKey||e.metaKey,a=new URL(i),o=e.target?.innerText||i,s=i.replace(window.location.origin,"");c.captureEvent("click",o,{attributes:{to:s}}),a.hash?n?window.open(i,"_blank"):(window.location.pathname!==a.pathname?r(i):window.history.pushState(null,document.title,a.hash),t?.querySelector(`[id="${a.hash.slice(1)}"]`)?.scrollIntoView(),t?.querySelector(`[id="${a.hash.slice(1)}"]`)?.querySelector("a, button, [tabindex]")?.focus()):n?window.open(i,"_blank"):r(i)}}),e2({onLoading:()=>{},onLoaded:()=>{t.querySelector(".md-nav__title")?.removeAttribute("for")}}),e2({onLoading:()=>{Array.from(t.querySelectorAll(".md-sidebar")).forEach(e=>{e.style.setProperty("opacity","0")})},onLoaded:()=>{}}),e=>(e.querySelectorAll("label.md-nav__link[for]").forEach(t=>{t.setAttribute("tabIndex","0"),t.addEventListener("keydown",r=>{if("Enter"===r.key||" "===r.key){let i=t.getAttribute("for");if(!i)return;let n=e.querySelector(`#${i}`);n&&"checkbox"===n.type&&(n.checked=!n.checked,n.dispatchEvent(new Event("change",{bubbles:!0})),r.preventDefault(),r.stopPropagation())}})}),e)]),[i,r,c,e.name,h]);return(0,s.useEffect)(()=>{if(!m)return()=>{};let e=!0;return R(m,g).then(async t=>{t?.innerHTML&&e&&y===g&&(window.scroll({top:0}),b(await T(t)))}),()=>{e=!1}},[m,y,g,R,T]),v})(u,e.defaultPath),b=window.location.pathname,w=window.location.hash,x=f(g),[S]=(e=>{let t=(()=>{let{shadowRoot:e}=(0,d.x)();return e})(),[r,i]=(0,s.useState)(t?.firstChild);return((0,s.useEffect)(()=>{let e;return t&&(e=new MutationObserver(()=>{i(t?.firstChild)})).observe(t,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),()=>e?.disconnect()},[t]),r&&r instanceof HTMLElement)?e.map(e=>r.querySelectorAll(e)).filter(e=>e.length).map(e=>Array.from(e)).flat():[]})([`[id="${w.slice(1)}"]`]),{NotFoundErrorPage:k}=(0,P.q)().getComponents();(0,s.useEffect)(()=>{!x&&(w?S&&S.scrollIntoView():document?.querySelector("header")?.scrollIntoView())},[b,w,S,x]);let E=(0,s.useCallback)(e=>{h(e),i instanceof Function&&i()},[h,i]);return!1!==c||a?g?(0,o.jsx)(y.V,{children:(0,o.jsxs)(l.Z,{container:!0,children:[(0,o.jsx)(l.Z,{xs:12,item:!0,children:(0,o.jsx)(eb,{})}),t&&(0,o.jsx)(l.Z,{className:n.search,xs:"auto",item:!0,children:(0,o.jsx)(X,{entityId:u,entityTitle:a?.metadata?.title,searchResultUrlMapper:r})}),(0,o.jsxs)(l.Z,{xs:12,item:!0,children:[("CHECKING"===p||x)&&(0,o.jsx)(v.E,{}),(0,o.jsx)(m,{element:g,onAppend:E,children:(0,o.jsx)(e6,{})})]})]})}):(0,o.jsx)(y.V,{children:(0,o.jsx)(l.Z,{container:!0,children:(0,o.jsx)(l.Z,{xs:12,item:!0,children:(0,o.jsx)(eb,{})})})}):(0,o.jsx)(k,{})},e=>(0,o.jsx)(ey,{children:(0,o.jsx)(a,{...e})}))},99064:function(e,t,r){"use strict";r.d(t,{S:()=>B});var i=r(52322),n=r(2784),a=r(18671),o=r(60905),s=r(98069),l=r(73250),c=r(98049),d=r(31546),u=r(63424),h=r(1465),p=r(79043),g=r(41410),f=r(57148),m=r(58985),y=r(39381),v=r(79692),b=r(41128),w=r(90436),x=r(13039);let S=(0,v.Z)(e=>({root:{textAlign:"left"},label:{color:e.page.fontColor,fontWeight:e.typography.fontWeightBold,letterSpacing:0,fontSize:e.typography.fontSize,marginBottom:e.spacing(1)/2,lineHeight:1},value:{color:(0,b.Fq)(e.page.fontColor,.8),fontSize:e.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),k=({value:e,className:t,typographyRootComponent:r})=>(0,i.jsx)(w.Z,{component:r??("string"==typeof e?"p":"span"),className:t,children:e});function C(e){let{label:t,value:r,url:n,contentTypograpyRootComponent:a}=e,s=S(),l=(0,i.jsx)(k,{className:s.value,value:r||"<Unknown>",typographyRootComponent:a});return(0,i.jsx)(o.Z,{item:!0,children:(0,i.jsxs)(w.Z,{component:"span",className:s.root,children:[(0,i.jsx)(w.Z,{className:s.label,children:t}),n?(0,i.jsx)(x.rU,{to:n,children:l}):l]})})}var j=r(24438),E=r(16162),A=r(47337),$=r(93048),R=r(82108),T=r.n(R),I=r(51173),O=r(73557);let L=(0,i.jsx)(s.Z,{animation:"wave",variant:"text",height:40}),B=e=>{let{children:t}=e,r=(0,c.$L)(),s=(0,E.h_)(A.D),v=(0,E.h_)(h.X),{"*":b=""}=(0,O.UO)(),{title:w,setTitle:x,subtitle:S,setSubtitle:k,entityRef:R,metadata:{value:B,loading:F},entityMetadata:{value:P,loading:N}}=(0,d.x)();(0,n.useEffect)(()=>{B&&(x(B.site_name),k(()=>{let{site_description:e}=B;return e&&"None"!==e||(e=""),e}))},[B,x,k]);let Z=s.getOptional("app.title")||"Backstage",{locationMetadata:U,spec:z}=P||{},D=z?.lifecycle,M=P?(0,p.h)(P,m.S4):[],_=(0,$.t)(I._Z)(),q=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(C,{label:T()(P?.kind||"entity"),value:(0,i.jsx)(g.d,{color:"inherit",entityRef:R,title:P?.metadata.title,defaultKind:"Component"})}),M.length>0&&(0,i.jsx)(C,{label:"Owner",value:(0,i.jsx)(f.r,{color:"inherit",entityRefs:M,defaultKind:"group"})}),D?(0,i.jsx)(C,{label:"Lifecycle",value:String(D)}):null,U&&"dir"!==U.type&&"file"!==U.type?(0,i.jsx)(C,{label:"",value:(0,i.jsxs)(o.Z,{container:!0,direction:"column",alignItems:"center",children:[(0,i.jsx)(o.Z,{style:{padding:0},item:!0,children:(0,i.jsx)(l.default,{style:{marginTop:"-25px"}})}),(0,i.jsx)(o.Z,{style:{padding:0},item:!0,children:"Source"})]}),url:U.target}):null]}),H=!F&&void 0===B;if(!N&&void 0===P||H)return null;let V=(0,y.eE)(R),W=v.forEntity(V).snapshot.primaryTitle,G=[];""!==b&&(G=b.replace(/\/$/,"").split("/").slice(0,3).map(e=>e.replace(/-/g," ").split(" ").map(T()).join(" ")));let K=[Z,W,...G].join(" | ");return(0,i.jsxs)(j.h,{type:"Documentation",typeLink:_,title:w||L,subtitle:""===S?void 0:S||L,children:[(0,i.jsx)(a.Z,{titleTemplate:"%s",children:(0,i.jsx)("title",{children:K})}),q,t,r.renderComponentsByLocation(u.o.Header)]})}},51173:function(e,t,r){"use strict";r.d(t,{Fw:()=>a,_Z:()=>n,pd:()=>o});var i=r(84912);let n=(0,i.N)({id:"techdocs:index-page"}),a=(0,i.N)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),o=(0,i.N)({id:"techdocs:catalog-reader-view"})},43087:function(e,t,r){"use strict";r.r(t),r.d(t,{TechDocsSearchResultListItem:()=>u});var i=r(52322),n=r(86136),a=r(49378),o=r(79692),s=r(90436),l=r(13039),c=r(37026);let d=(0,o.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),u=e=>{let{result:t,highlight:r,lineClamp:o=5,asListItem:u=!0,asLink:h=!0,title:p,icon:g}=e,f=d(),m=({children:e})=>h?(0,i.jsx)(l.rU,{noTrack:!0,to:t.location,children:e}):(0,i.jsx)(i.Fragment,{children:e});return(0,i.jsx)(({children:e})=>u?(0,i.jsxs)(i.Fragment,{children:[g&&(0,i.jsx)(n.Z,{children:"function"==typeof g?g(t):g}),(0,i.jsx)("div",{className:f.flexContainer,children:e})]}):(0,i.jsx)(i.Fragment,{children:e}),{children:(0,i.jsx)(()=>{let e=r?.fields.title?(0,i.jsx)(c.F,{text:r.fields.title,preTag:r.preTag,postTag:r.postTag}):t.title,n=r?.fields.entityTitle?(0,i.jsx)(c.F,{text:r.fields.entityTitle,preTag:r.preTag,postTag:r.postTag}):t.entityTitle,l=r?.fields.name?(0,i.jsx)(c.F,{text:r.fields.name,preTag:r.preTag,postTag:r.postTag}):t.name;return t?(0,i.jsx)(a.Z,{className:f.itemText,primaryTypographyProps:{variant:"h6"},primary:(0,i.jsx)(m,{children:p||(0,i.jsxs)(i.Fragment,{children:[e," | ",n??l," docs"]})}),secondary:(0,i.jsx)(s.Z,{component:"span",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:o,overflow:"hidden"},color:"textSecondary",variant:"body2",children:r?.fields.text?(0,i.jsx)(c.F,{text:r.fields.text,preTag:r.preTag,postTag:r.postTag}):t.text})}):null},{})})}},56903:function(e,t,r){let i=document.querySelector('meta[name="backstage-public-path"]'),n=i?.getAttribute("content");n&&(r.p=n)},7855:function(){}},function(e){var t=function(t){return e(e.s=t)};e.O(0,["2886","3515","364","3815","4641","4899","6824","7058","830","8971","9782"],function(){return t(56903),t(87491)}),e.O()}]);
|
|
550
|
-
//# sourceMappingURL=main.
|
|
550
|
+
//# sourceMappingURL=main.9ead869c.js.map
|