@techdocs/cli
Version:
Utility CLI for managing TechDocs sites in Backstage.
3 lines • 338 kB
JavaScript
(()=>{(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[8792],{86519:(H,S,t)=>{"use strict";t.d(S,{c:()=>s});const s=Symbol.for("CATALOG_FILTER_EXISTS_0e15b590c0b343a2bae3e787e84c2111")},72348:(H,S,t)=>{"use strict";t.d(S,{P:()=>x,_P:()=>a,oQ:()=>s});const s="default",a="backstage.io/view-url",x="backstage.io/edit-url",p="kubernetes.io/api-server",b="kubernetes.io/api-server-certificate-authority",h="kubernetes.io/auth-provider"},6820:(H,S,t)=>{"use strict";t.d(S,{KU:()=>p,U2:()=>b,sM:()=>x});var s=t(72348);function a(h){let d=h.indexOf(":");const m=h.indexOf("/");m!==-1&&m<d&&(d=-1);const u=d===-1?void 0:h.slice(0,d),v=m===-1?void 0:h.slice(d+1,m),g=h.slice(Math.max(d+1,m+1));if(u===""||v===""||g==="")throw new TypeError(`Entity reference "${h}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:u,namespace:v,name:g}}function x(h){return{kind:h.kind,namespace:h.metadata.namespace||s.oQ,name:h.metadata.name}}function p(h,d){if(!h)throw new Error("Entity reference must not be empty");const m=d?.defaultKind,u=d?.defaultNamespace||s.oQ;let v,g,C;if(typeof h=="string"){const O=a(h);v=O.kind??m,g=O.namespace??u,C=O.name}else v=h.kind??m,g=h.namespace??u,C=h.name;if(v)if(g){if(!C){const O=JSON.stringify(h);throw new Error(`Entity reference ${O} had missing or empty name`)}}else{const O=JSON.stringify(h);throw new Error(`Entity reference ${O} had missing or empty namespace`)}else{const O=JSON.stringify(h);throw new Error(`Entity reference ${O} had missing or empty kind (e.g. did not start with "component:" or similar)`)}return{kind:v,namespace:g,name:C}}function b(h){let d,m,u;return"metadata"in h?(d=h.kind,m=h.metadata.namespace??s.oQ,u=h.metadata.name):(d=h.kind,m=h.namespace??s.oQ,u=h.name),`${d.toLocaleLowerCase("en-US")}:${m.toLocaleLowerCase("en-US")}/${u.toLocaleLowerCase("en-US")}`}},51372:(H,S,t)=>{"use strict";t.d(S,{fT:()=>m,jn:()=>O,nC:()=>d,sA:()=>P,vv:()=>s});const s="ownedBy",a="ownerOf",x="consumesApi",p="apiConsumedBy",b="providesApi",h="apiProvidedBy",d="dependsOn",m="dependencyOf",u="parentOf",v="childOf",g="memberOf",C="hasMember",O="partOf",P="hasPart"},17736:(H,S,t)=>{"use strict";t.d(S,{Eo:()=>s,I4:()=>x});const s="backstage.io/managed-by-location",a="backstage.io/managed-by-origin-location",x="backstage.io/source-location"},78692:(H,S,t)=>{"use strict";t.d(S,{Cr:()=>h,KL:()=>b,aY:()=>p});var s=t(6820),a=t(17736);const x=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;function p(d){if(typeof d!="string")throw new TypeError(`Unable to parse location ref '${d}', unexpected argument ${typeof d}`);const m=d.indexOf(":");if(m<0)throw new TypeError(`Unable to parse location ref '${d}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const u=d.substring(0,m).trim(),v=d.substring(m+1).trim();if(!u||!v)throw new TypeError(`Unable to parse location ref '${d}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(u==="http"||u==="https")throw new TypeError(`Invalid location ref '${d}', please prefix it with 'url:', e.g. 'url:${d}'`);if(x.test(v))throw new TypeError(`Invalid location ref '${d}', target is a javascript: URL`);return{type:u,target:v}}function b(d){const{type:m,target:u}=d;if(m){if(!u)throw new TypeError("Unable to stringify location ref, empty target")}else throw new TypeError("Unable to stringify location ref, empty type");if(x.test(u))throw new TypeError(`Invalid location ref '${m}:${u}', target is a javascript: URL`);return`${m}:${u}`}function h(d){const m=d.metadata?.annotations?.[a.I4]??d.metadata?.annotations?.[a.Eo];if(!m)throw new Error(`Entity '${(0,s.U2)(d)}' is missing location`);return p(m)}},77310:(H,S,t)=>{"use strict";t.d(S,{z:()=>m});var s=t(31085),a=t(10394),x=t(54917),p=t(69578),b=t(40697),h=t(25577),d=t(37916);function m(u){const{text:v,language:g,showLineNumbers:C=!1,highlightedNumbers:O,customStyle:P,showCopyCodeButton:B=!1}=u,L=(0,x.A)(),I=L.palette.type==="dark"?b.A:h.A,M=L.palette.type==="dark"?"#256bf3":"#e6ffed";return(0,s.jsxs)(a.A,{position:"relative",children:[(0,s.jsx)(p.A,{customStyle:P,language:g,style:I,showLineNumbers:C,wrapLines:!0,lineNumberStyle:{color:L.palette.textVerySubtle},lineProps:$=>O?.includes($)?{style:{backgroundColor:M}}:{},children:v}),B&&(0,s.jsx)(a.A,{position:"absolute",top:0,right:0,children:(0,s.jsx)(d.l,{text:v})})]})}},37916:(H,S,t)=>{"use strict";t.d(S,{l:()=>g});var s=t(31085),a=t(72427),x=t(39837),p=t(29365),b=t(71677),h=t(99594),d=t(14041),m=t(36338),u=t(10315),v=t(87849);function g(C){const{t:O}=(0,v.i)(u.O),{text:P,tooltipDelay:B=1e3,tooltipText:L=O("copyTextButton.tooltipText"),"aria-label":I="Copy text"}=C,M=(0,a.gf)(x.m),[$,W]=(0,d.useState)(!1),[{error:X},z]=(0,m.A)();(0,d.useEffect)(()=>{X&&M.post(X)},[X,M]);const Y=K=>{K.stopPropagation(),W(!0),z(P)};return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(b.Ay,{id:"copy-test-tooltip",title:L,placement:"top",leaveDelay:B,onClose:()=>W(!1),open:$,children:(0,s.jsx)(p.A,{onClick:Y,"aria-label":I,children:(0,s.jsx)(h.A,{})})})})}},44186:(H,S,t)=>{"use strict";t.d(S,{p:()=>C});var s=t(31085),a=t(42899),x=t(58837),p=t(72501);const b=t.p+"static/missingAnnotation.67f79e98.svg",h=t.p+"static/noInformation.4b426325.svg",d=t.p+"static/createComponent.975d1e1e.svg",m=t.p+"static/noBuild.1715fa71.svg",u=(0,x.A)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),v=({missing:O})=>{const P=u();switch(O){case"field":return(0,s.jsx)("img",{src:b,className:P.generalImg,alt:"annotation is missing"});case"info":return(0,s.jsx)("img",{src:h,alt:"no Information",className:P.generalImg});case"content":return(0,s.jsx)("img",{src:d,alt:"create Component",className:P.generalImg});case"data":return(0,s.jsx)("img",{src:m,alt:"no Build",className:P.generalImg});default:return null}},g=(0,x.A)(O=>({root:{backgroundColor:O.palette.background.default,padding:O.spacing(2,0,0,0)},action:{marginTop:O.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function C(O){const{title:P,description:B,missing:L,action:I}=O,M=g();return(0,s.jsxs)(a.A,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:M.root,spacing:2,children:[(0,s.jsx)(a.A,{item:!0,xs:12,md:6,children:(0,s.jsxs)(a.A,{container:!0,direction:"column",children:[(0,s.jsx)(a.A,{item:!0,xs:!0,children:(0,s.jsx)(p.A,{variant:"h5",children:P})}),(0,s.jsx)(a.A,{item:!0,xs:!0,children:(0,s.jsx)(p.A,{variant:"body1",children:B})}),(0,s.jsx)(a.A,{item:!0,xs:!0,className:M.action,children:I})]})}),(0,s.jsx)(a.A,{item:!0,xs:12,md:6,className:M.imageContainer,children:typeof L=="string"?(0,s.jsx)(v,{missing:L}):L.customImage})]})}},22020:(H,S,t)=>{"use strict";t.d(S,{b:()=>v});var s=t(31085),a=t(58837),x=t(58007),p=t(8109),b=t(5951),h=t(37916),d=t(88640);const m=(0,a.A)(g=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:g.spacing(2)},divider:{margin:g.spacing(2)}}),{name:"BackstageErrorPanel"}),u=({error:g,message:C,stack:O,children:P})=>{const B=m();return(0,s.jsxs)(x.A,{dense:!0,children:[(0,s.jsxs)(p.A,{alignItems:"flex-start",children:[(0,s.jsx)(b.A,{classes:{secondary:B.text},primary:"Error",secondary:g}),(0,s.jsx)(h.l,{text:g})]}),(0,s.jsxs)(p.A,{alignItems:"flex-start",children:[(0,s.jsx)(b.A,{classes:{secondary:B.text},primary:"Message",secondary:C}),(0,s.jsx)(h.l,{text:C})]}),O&&(0,s.jsxs)(p.A,{alignItems:"flex-start",children:[(0,s.jsx)(b.A,{classes:{secondary:B.text},primary:"Stack Trace",secondary:O}),(0,s.jsx)(h.l,{text:O})]}),P]})};function v(g){const{title:C,error:O,defaultExpanded:P,titleFormat:B,children:L}=g;return(0,s.jsx)(d.B,{severity:"error",title:C??O.message,defaultExpanded:P,titleFormat:B,children:(0,s.jsx)(u,{error:O.name,message:O.message,stack:O.stack,children:L})})}},18956:(H,S,t)=>{"use strict";t.d(S,{m:()=>h});var s=t(31085),a=t(72501),x=t(58837),p=t(31129);const b=(0,x.A)(()=>({icon:{color:"#f3ba37",cursor:"pointer",display:"inline-flex"},iconBorder:{color:"inherit",cursor:"pointer",display:"inline-flex"}}),{name:"BackstageFavoriteToggleIcon"});function h(m){const{isFavorite:u}=m,v=b();return(0,s.jsx)(a.A,{component:"span",className:u?v.icon:v.iconBorder,children:u?(0,s.jsx)(p.Gg,{}):(0,s.jsx)(p.KG,{})})}function d(m){const{id:u,title:v,isFavorite:g,onToggle:C,...O}=m;return _jsx(Tooltip,{id:u,title:v,children:_jsx(IconButton,{"aria-label":v,id:u,onClick:()=>C(!g),color:"inherit",...O,children:_jsx(h,{isFavorite:g})})})}},72072:(H,S,t)=>{"use strict";t.d(S,{N_:()=>Q});var s=t(31085),a=t(82266),x=t(72427),p=t(65461),b=t(93368),h=t(49203),d=t(58837),m=t(72501),u=t(53373),v=t.n(u),g=t(45250),C=t.n(g),O=t(14041),P=t(18690),B=t(73657),L=t(39330);function I(){const[J]=(0,P.AV)((0,s.jsx)(P.qh,{index:!0,element:(0,s.jsx)("div",{})}));return!J.index}const M=(0,d.A)(J=>({visuallyHidden:{clip:"rect(0 0 0 0)",clipPath:"inset(50%)",overflow:"hidden",position:"absolute",userSelect:"none",whiteSpace:"nowrap",height:1,width:1},externalLink:{position:"relative"},externalLinkIcon:{verticalAlign:"bottom",marginLeft:J.spacing(.5)}}),{name:"Link"}),$=()=>{const ct=(0,a.n)().getSystemIcon("externalLink")||L.A,pt=M();return(0,s.jsx)(ct,{className:pt.externalLinkIcon})},W=J=>/^([a-z+.-]+):/.test(J),X=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,z=window.open;if(z&&!z.__backstage){const J=function(...pt){const yt=String(pt[0]);if(X.test(yt))throw new Error("Rejected window.open() with a javascript: URL as a security precaution");return z.apply(this,pt)};J.__backstage=!0,window.open=J}const Y=()=>{try{return(0,x.gf)(p.U).getOptionalString("app.baseUrl")}catch{return}},K=()=>{const J="http://sample.dev",ct=Y()??"/",{pathname:pt}=new URL(ct,J);return(0,g.trimEnd)(pt,"/")},dt=J=>{let ct=String(J);const pt=K(),yt=W(ct),At=ct.startsWith(pt);return!yt&&!At&&(ct=pt.concat(ct)),ct},G=J=>J instanceof Array?J.map(G).join(" ").trim():typeof J=="object"&&J?G(J?.props?.children):["string","number"].includes(typeof J)?String(J):"",Q=(0,O.forwardRef)(({onClick:J,noTrack:ct,externalLinkIcon:pt,...yt},At)=>{const Ot=M(),It=(0,b.s)(),ut=I()?dt(yt.to):yt.to,lt=G(yt.children)||ut,xt=W(ut),gt=xt&&!!/^https?:/.exec(ut);if(X.test(ut))throw new Error("Link component rejected javascript: URL as a security precaution");const bt=Rt=>{J?.(Rt),ct||It.captureEvent("click",lt,{attributes:{to:ut}})};return xt?(0,s.jsxs)(h.A,{...gt?{target:"_blank",rel:"noopener"}:{},...yt,...yt["aria-label"]?{"aria-label":`${yt["aria-label"]}, Opens in a new window`}:{},ref:At,href:ut,onClick:bt,className:v()(Ot.externalLink,yt.className),children:[yt.children,pt&&(0,s.jsx)($,{}),(0,s.jsx)(m.A,{component:"span",className:Ot.visuallyHidden,children:", Opens in a new window"})]}):(0,s.jsx)(h.A,{...yt,ref:At,component:B.N_,to:ut,onClick:bt})})},73896:(H,S,t)=>{"use strict";t.d(S,{z:()=>h});var s=t(31085),a=t(64947),x=t(14041),p=t(72072);const b=(0,x.forwardRef)((m,u)=>(0,s.jsx)(p.N_,{ref:u,...m,color:"initial"})),h=(0,x.forwardRef)((m,u)=>(0,s.jsx)(a.A,{ref:u,component:b,...m})),d=null},4650:(H,S,t)=>{"use strict";t.d(S,{h:()=>g});var s=t(31085),a=t(58837),x=t(45872),p=t(61125),b=t(14041),h=t(77310);const d=(0,a.A)(C=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${C.palette.border}`},"& th, & td":{border:`1px solid ${C.palette.border}`,padding:C.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:C.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:C.palette.background.paper},"& tr":{backgroundColor:C.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:C.palette.background.default},"& a":{color:C.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),m=(C,O)=>O?typeof O=="string"?C+O:b.Children.toArray(O.props.children).reduce(m,C):C,u=({level:C,children:O})=>{const L=b.Children.toArray(O).reduce(m,"").toLocaleLowerCase("en-US").replace(/\W/g,"-");return(0,b.createElement)(`h${C}`,{id:L},O)},v={code:({inline:C,className:O,children:P,...B})=>{const L=String(P).replace(/\n+$/,""),I=/language-(\w+)/.exec(O||"");return!C&&I?(0,s.jsx)(h.z,{language:I[1],text:L}):(0,s.jsx)("code",{className:O,...B,children:P})},h1:u,h2:u,h3:u,h4:u,h5:u,h6:u};function g(C){const{content:O,dialect:P="gfm",linkTarget:B,transformLinkUri:L,transformImageUri:I,className:M}=C,$=d();return(0,s.jsx)(x.$,{remarkPlugins:P==="gfm"?[p.A]:[],className:`${$.markdown} ${M??""}`.trim(),children:O,components:v,linkTarget:B,transformLinkUri:L,transformImageUri:I})}},68146:(H,S,t)=>{"use strict";t.d(S,{k:()=>h});var s=t(31085),a=t(10394),x=t(88951),p=t(54917),b=t(14041);function h(d){const m=(0,p.A)(),[u,v]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{const g=setTimeout(()=>v(!0),m.transitions.duration.short);return()=>clearTimeout(g)},[m.transitions.duration.short]),u?(0,s.jsx)(x.A,{...d,"data-testid":"progress"}):(0,s.jsx)(a.A,{display:"none","data-testid":"progress"})}},66917:(H,S,t)=>{"use strict";t.d(S,{w:()=>dt});var s=t(31085),a=t(10394),x=t(69076),p=t(67720),b=t(95061),h=t(41857),d=t(48543),m=t(26343),u=t(81215),v=t(87051),g=t(12398),C=t(58837),O=t(72501),P=t(92399),B=t(14041),L=t(10437);const I=(0,C.A)(G=>(0,g.A)({icon:{position:"absolute",right:G.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageClosedDropdown"}),$=()=>{const G=I();return(0,s.jsx)(L.A,{className:G.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"currentColor"})})},W=(0,C.A)(G=>(0,g.A)({icon:{position:"absolute",right:G.spacing(.5),pointerEvents:"none",color:"#616161"}}),{name:"BackstageOpenedDropdown"}),z=()=>{const G=W();return(0,s.jsx)(L.A,{className:G.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"currentColor"})})},Y=(0,v.A)(G=>(0,g.A)({root:{"label + &":{marginTop:G.spacing(3)},"&.Mui-focused > div[role=button]":{borderColor:G.palette.primary.main}},input:{borderRadius:G.shape.borderRadius,position:"relative",backgroundColor:G.palette.background.paper,border:"1px solid #ced4da",fontSize:G.typography.body1.fontSize,padding:G.spacing(1.25,3.25,1.25,1.5),transition:G.transitions.create(["border-color","box-shadow"]),"&:focus":{background:G.palette.background.paper,borderRadius:G.shape.borderRadius}}}),{name:"BackstageSelectInputBase"})(h.A),K=(0,C.A)(G=>(0,g.A)({formControl:{margin:G.spacing(1,0)},label:{transform:"initial",fontWeight:"bold",fontSize:G.typography.body2.fontSize,fontFamily:G.typography.fontFamily,color:G.palette.text.primary,"&.Mui-focused":{color:G.palette.text.primary}},formLabel:{transform:"initial",fontWeight:"bold",fontSize:G.typography.body2.fontSize,fontFamily:G.typography.fontFamily,color:G.palette.text.primary,"&.Mui-focused":{color:G.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function dt(G){const{multiple:Q,items:J,label:ct,placeholder:pt,selected:yt,onChange:At,triggerReset:Ot,native:It=!1,disabled:ut=!1,margin:lt,"data-testid":xt="select"}=G,gt=K(),[bt,Rt]=(0,B.useState)(yt||(Q?[]:"")),[it,ft]=(0,B.useState)(!1);(0,B.useEffect)(()=>{Rt(Q?[]:"")},[Ot,Q]),(0,B.useEffect)(()=>{Rt(yt||(Q?[]:""))},[yt,Q]);const vt=U=>{Rt(U.target.value),At(U.target.value)},st=U=>{if(ut){U.preventDefault();return}ft(V=>Q&&!(U.target instanceof HTMLElement)?!0:!V)},Et=()=>{ft(!1)},at=U=>()=>{const V=bt.filter(rt=>rt!==U);Rt(V),At(V)};return(0,s.jsx)(a.A,{className:gt.root,children:(0,s.jsxs)(b.A,{className:gt.formControl,children:[(0,s.jsx)(d.A,{className:gt.formLabel,children:ct}),(0,s.jsxs)(u.A,{"aria-label":ct,value:bt,native:It,disabled:ut,"data-testid":xt,displayEmpty:!0,multiple:Q,margin:lt,onChange:vt,open:it,onOpen:st,onClose:Et,input:(0,s.jsx)(Y,{}),label:ct,renderValue:U=>Q&&bt.length!==0?(0,s.jsx)(a.A,{className:gt.chips,children:U.map(V=>{const rt=J.find(Ct=>Ct.value===V);return rt?(0,s.jsx)(p.A,{"data-testid":"chip",label:rt?.label,clickable:!0,deleteIcon:(0,s.jsx)(P.A,{"data-testid":"cancel-icon",onMouseDown:Ct=>Ct.stopPropagation()}),onDelete:at(V),className:gt.chip},rt?.value):!1})}):(0,s.jsx)(O.A,{children:bt.length===0?pt||"":J.find(V=>V.value===U)?.label}),IconComponent:()=>it?(0,s.jsx)(z,{}):(0,s.jsx)($,{}),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null},children:[!!pt&&!Q&&(0,s.jsx)(m.A,{value:[],children:pt}),It?J&&J.map(U=>(0,s.jsx)("option",{value:U.value,children:U.label},U.value)):J&&J.map(U=>(0,s.jsxs)(m.A,{value:U.value,children:[Q&&(0,s.jsx)(x.A,{color:"primary",checked:bt.includes(U.value)||!1,className:gt.checkbox}),U.label]},U.value))]})]})})}},27586:(H,S,t)=>{"use strict";t.d(S,{Y:()=>Q});var s=t(31085),a=t(82266),x=t(72427),p=t(65461),b=t(10394),h=t(64947),d=t(93453),m=t(29365),u=t(68804),v=t(5951),g=t(26343),C=t(28233),O=t(55197),P=t(58837),B=t(72501),L=t(5893),I=t(14041),M=t(10795),$=t(31129),W=t(72072),X=t(10315),z=t(87849);const Y=(0,P.A)({popoverList:{minWidth:260,maxWidth:400},menuItem:{whiteSpace:"normal"}},{name:"BackstageSupportButton"}),K=({icon:J})=>{const ct=(0,a.n)(),pt=J?ct.getSystemIcon(J)??$.NT:$.NT;return(0,s.jsx)(pt,{})},dt=({link:J})=>(0,s.jsx)(W.N_,{to:J.url,children:J.title??J.url}),G=({item:J})=>(0,s.jsxs)(g.A,{button:!1,children:[(0,s.jsx)(u.A,{children:(0,s.jsx)(K,{icon:J.icon})}),(0,s.jsx)(v.A,{primary:J.title,secondary:J.links?.reduce((ct,pt,yt)=>[...ct,yt>0&&(0,s.jsx)("br",{},yt),(0,s.jsx)(dt,{link:pt},pt.url)],[])})]});function Q(J){const{t:ct}=(0,z.i)(X.O),{title:pt,items:yt,children:At}=J,{items:Ot}=(0,M.l)(),[It,ut]=(0,I.useState)(!1),[lt,xt]=(0,I.useState)(null),gt=Y(),bt=(0,x.gf)(p.U).getOptionalConfig("app.support"),Rt=(0,L.A)(vt=>vt.breakpoints.down("sm")),it=vt=>{xt(vt.currentTarget),ut(!0)},ft=()=>{ut(!1)};return bt?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b.A,{display:"flex",ml:1,children:Rt?(0,s.jsx)(m.A,{color:"primary",size:"small",onClick:it,"data-testid":"support-button","aria-label":"Support",children:(0,s.jsx)($.NT,{})}):(0,s.jsx)(h.A,{"data-testid":"support-button","aria-label":"Support",color:"primary",onClick:it,startIcon:(0,s.jsx)($.NT,{}),children:ct("supportButton.title")})}),(0,s.jsxs)(O.Ay,{"data-testid":"support-button-popover",open:It,anchorEl:lt,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:ft,children:[(0,s.jsxs)(C.A,{className:gt.popoverList,autoFocusItem:!!lt,children:[pt&&(0,s.jsx)(g.A,{button:!1,alignItems:"flex-start",className:gt.menuItem,children:(0,s.jsx)(B.A,{variant:"subtitle1",children:pt})}),I.Children.map(At,(vt,st)=>(0,s.jsx)(g.A,{button:!1,alignItems:"flex-start",className:gt.menuItem,children:vt},`child-${st}`)),(yt??Ot).map((vt,st)=>(0,s.jsx)(G,{item:vt},`item-${st}`))]}),(0,s.jsx)(d.A,{children:(0,s.jsx)(h.A,{color:"primary",onClick:ft,"aria-label":"Close",children:ct("supportButton.close")})})]})]}):null}},14209:(H,S,t)=>{"use strict";t.d(S,{X:()=>st});var s=t(31085),a=t(87849),x=t(25301),p=t(10394),b=t(29365),h=t(87051),d=t(58837),m=t(54917),u=t(72501),v=t(83313),g=t(89019),C=t(62461),O=t(68887),P=t(63798),B=t(64704),L=t(6774),I=t(75625),M=t(65859),$=t(45917),W=t(5416),X=t(33494),z=t(80113),Y=t(26229),K=t(46802),dt=t(45250),G=t(14041),Q=t(10315),J=t(64947),ct=t(66917);const pt=(0,d.A)(U=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:U.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:U.spacing(7.5),justifyContent:"space-between",borderBottom:`1px solid ${U.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:U.spacing(2)}}}),{name:"BackstageTableFilters"}),yt=U=>{const V=pt(),{onChangeFilters:rt}=U,{t:Ct}=(0,a.i)(Q.O),[ht,Bt]=(0,G.useState)({...U.selectedFilters}),[Nt,kt]=(0,G.useState)(!1),Jt=()=>{Bt({}),kt(Wt=>!Wt)};return(0,G.useEffect)(()=>{rt(ht)},[ht,rt]),(0,s.jsxs)(p.A,{className:V.root,children:[(0,s.jsxs)(p.A,{className:V.header,children:[(0,s.jsx)(p.A,{className:V.value,children:Ct("table.filter.title")}),(0,s.jsx)(J.A,{color:"primary",onClick:Jt,children:Ct("table.filter.clearAll")})]}),(0,s.jsx)(p.A,{className:V.filters,children:U.filters?.length&&U.filters.map(Wt=>(0,s.jsx)(ct.w,{triggerReset:Nt,...Wt.element,selected:ht[Wt.element.label],onChange:Vt=>Bt({...ht,[Wt.element.label]:Vt})},Wt.element.label))})]})};var At=t(78467);function Ot(U){return(0,s.jsx)("tbody",{"data-testid":"loading-indicator",children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:U.colSpan,children:(0,s.jsx)(p.A,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",minHeight:"15rem"},children:(0,s.jsx)(At.A,{size:"5rem"})})})})})}const It={Add:(0,G.forwardRef)((U,V)=>(0,s.jsx)(v.A,{...U,ref:V})),Check:(0,G.forwardRef)((U,V)=>(0,s.jsx)(C.A,{...U,ref:V})),Clear:(0,G.forwardRef)((U,V)=>(0,s.jsx)(B.A,{...U,ref:V})),Delete:(0,G.forwardRef)((U,V)=>(0,s.jsx)(L.A,{...U,ref:V})),DetailPanel:(0,G.forwardRef)((U,V)=>(0,s.jsx)(P.A,{...U,ref:V})),Edit:(0,G.forwardRef)((U,V)=>(0,s.jsx)(I.A,{...U,ref:V})),Export:(0,G.forwardRef)((U,V)=>(0,s.jsx)(Y.A,{...U,ref:V})),Filter:(0,G.forwardRef)((U,V)=>(0,s.jsx)(M.A,{...U,ref:V})),FirstPage:(0,G.forwardRef)((U,V)=>(0,s.jsx)(W.A,{...U,ref:V})),LastPage:(0,G.forwardRef)((U,V)=>(0,s.jsx)(X.A,{...U,ref:V})),NextPage:(0,G.forwardRef)((U,V)=>(0,s.jsx)(P.A,{...U,ref:V})),PreviousPage:(0,G.forwardRef)((U,V)=>(0,s.jsx)(O.A,{...U,ref:V})),ResetSearch:(0,G.forwardRef)((U,V)=>(0,s.jsx)(B.A,{...U,ref:V})),Search:(0,G.forwardRef)((U,V)=>(0,s.jsx)($.A,{...U,ref:V})),SortArrow:(0,G.forwardRef)((U,V)=>(0,s.jsx)(g.A,{...U,ref:V})),ThirdStateCheck:(0,G.forwardRef)((U,V)=>(0,s.jsx)(z.A,{...U,ref:V})),ViewColumn:(0,G.forwardRef)((U,V)=>(0,s.jsx)(K.A,{...U,ref:V}))};function ut(U,V){const rt=V.split(".");let Ct=U[rt[0]];for(let ht=1;ht<rt.length;++ht){if(Ct===void 0)return Ct;const Bt=rt[ht];Ct=Ct[Bt]}return Ct}const lt=(0,h.A)(U=>({header:{padding:U.spacing(1,2,1,2.5),borderTop:`1px solid ${U.palette.grey.A100}`,borderBottom:`1px solid ${U.palette.grey.A100}`,fontWeight:U.typography.fontWeightBold,position:"static",wordBreak:"normal",textTransform:"uppercase"}}),{name:"BackstageTableHeader"})(x.rV),xt=(0,h.A)(U=>({root:{padding:U.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:U.typography.fontWeightBold}},searchField:{paddingRight:U.spacing(2)}}),{name:"BackstageTableToolbar"})(x.Nb),gt=(0,d.A)(U=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:U.typography.fontWeightBold,fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),bt=(0,d.A)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function Rt(U,V){return U.map(rt=>{const Ct=rt.headerStyle??{};let ht=rt.cellStyle||{};if(rt.highlight)if(Ct.color=V.palette.textContrast,typeof ht=="object")ht.fontWeight=V.typography.fontWeightBold;else{const Bt=ht;ht=(Nt,kt,Jt)=>({...Bt(Nt,kt,Jt),fontWeight:V.typography.fontWeightBold})}return{...rt,headerStyle:Ct,cellStyle:ht}})}function it(U,V){return(0,dt.transform)(U,(rt,Ct,ht)=>{(0,dt.isEqual)(Ct,V[ht])||(rt[ht]=Ct)})}const ft={search:"",filtersOpen:!1,filters:{}};function vt(U){const{toolbarRef:V,setSearch:rt,hasFilters:Ct,selectedFiltersLength:ht,toggleFilters:Bt}=U,{t:Nt}=(0,a.i)(Q.O),kt=gt(),Jt=(0,G.useCallback)(Wt=>{U.onSearchChanged(Wt),rt(Wt)},[U,rt]);return Ct?(0,s.jsxs)(p.A,{className:kt.root,children:[(0,s.jsxs)(p.A,{className:kt.root,children:[(0,s.jsx)(b.A,{onClick:Bt,"aria-label":"filter list",children:(0,s.jsx)(M.A,{})}),(0,s.jsxs)(u.A,{className:kt.title,children:[Nt("table.filter.title")," (",ht,")"]})]}),(0,s.jsx)(xt,{...U,ref:V,onSearchChanged:Jt})]}):(0,s.jsx)(xt,{...U,ref:V,onSearchChanged:Jt})}function st(U){const{data:V,columns:rt,emptyContent:Ct,options:ht,title:Bt,subtitle:Nt,localization:kt,filters:Jt,initialState:Wt,onStateChange:Vt,components:jt,isLoading:Gt,style:ce,...he}=U,{t:Kt}=(0,a.i)(Q.O),ne=bt(),le=(0,m.A)(),Ye={...ft,...Wt},[ee,on]=(0,G.useState)(Ye.filtersOpen),We=(0,G.useCallback)(()=>on(be=>!be),[on]),[Re,Ve]=(0,G.useState)(Ye.filters),[se,qe]=(0,G.useState)(Ye.search);(0,G.useEffect)(()=>{if(Vt){const be=it({search:se,filtersOpen:ee,filters:Re},ft);Vt(be)}},[se,ee,Re,Vt]);const tn=(0,G.useCallback)(be=>rt.find(Qe=>Qe.title===be)?.field,[rt]),hn=(0,G.useMemo)(()=>{if(typeof V=="function"||!Re)return V;const be=Object.values(Re);return V&&be.flat().length?V.filter(Ze=>!!Object.entries(Re).filter(([,je])=>!!je.length).every(([je,Ue])=>{const Le=ut(Ze,tn(je));return Array.isArray(Le)&&Array.isArray(Ue)?Le.some(an=>Ue.includes(an)):Array.isArray(Le)?Le.includes(Ue):Array.isArray(Ue)?Ue.includes(Le):Le===Ue})):V},[V,Re,tn]),en=Object.values(Re).flat().length,nn=!!Jt?.length,pn=(0,G.useCallback)(be=>(0,s.jsx)(vt,{setSearch:qe,hasFilters:nn,selectedFiltersLength:en,toggleFilters:We,...be}),[We,nn,en,qe]),Ke=typeof V!="function"&&V.length===0,ze=rt.length,He=(0,G.useMemo)(()=>Et({hasNoRows:Ke,emptyContent:Ct,columnCount:ze,loading:Gt}),[Ke,Ct,ze,Gt]);return(0,s.jsxs)(p.A,{className:ne.root,children:[ee&&V&&typeof V!="function"&&Jt?.length&&(0,s.jsx)(yt,{filters:at(Jt,V,rt,Kt),selectedFilters:Re,onChangeFilters:Ve}),(0,s.jsx)(x.Ay,{components:{Header:lt,Body:He,Toolbar:pn,...jt},options:ht,columns:Rt(rt,le),icons:It,title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{variant:"h5",component:"h2",children:Bt}),Nt&&(0,s.jsx)(u.A,{color:"textSecondary",variant:"body1",children:Nt})]}),data:hn,style:{width:"100%",...ce},localization:{...kt,body:{emptyDataSourceMessage:Kt("table.body.emptyDataSourceMessage"),...kt?.body},pagination:{firstTooltip:Kt("table.pagination.firstTooltip"),labelDisplayedRows:Kt("table.pagination.labelDisplayedRows"),labelRowsSelect:Kt("table.pagination.labelRowsSelect"),lastTooltip:Kt("table.pagination.lastTooltip"),nextTooltip:Kt("table.pagination.nextTooltip"),previousTooltip:Kt("table.pagination.previousTooltip"),...kt?.pagination},header:{actions:Kt("table.header.actions"),...kt?.header},toolbar:{searchPlaceholder:Kt("table.toolbar.search"),searchTooltip:Kt("table.toolbar.search"),...kt?.toolbar}},...he})]})}st.icons=Object.freeze(It);function Et({columnCount:U,emptyContent:V,hasNoRows:rt,loading:Ct}){return ht=>Ct?(0,s.jsx)(Ot,{colSpan:U}):V&&rt?(0,s.jsx)("tbody",{children:(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:U,children:V})})}):(0,s.jsx)(x.C6,{...ht})}function at(U,V,rt,Ct){const ht=Nt=>{const kt=new Set,Jt=Wt=>{Wt!=null&&kt.add(Wt)};return V&&V.forEach(Wt=>{const Vt=ut(Wt,rt.find(jt=>jt.title===Nt)?.field);Array.isArray(Vt)?Vt.forEach(Jt):Jt(Vt)}),kt},Bt=Nt=>({placeholder:Ct("table.filter.placeholder"),label:Nt.column,multiple:Nt.type==="multiple-select",items:[...ht(Nt.column)].sort().map(kt=>({label:kt,value:kt}))});return U.map(Nt=>({type:Nt.type,element:Bt(Nt)}))}},88640:(H,S,t)=>{"use strict";t.d(S,{B:()=>$});var s=t(31085),a=t(268),x=t(58837),p=t(8973),b=t(29655),h=t(91567),d=t(42899),m=t(72501),u=t(9181),v=t(6924),g=t(4650);const C=(W,X)=>(X.palette.type==="light"?a.e$:a.a)(X.palette[W].light,.6),O=(W,X)=>(X.palette.type==="light"?a.a:a.e$)(X.palette[W].light,.9),P=(0,x.A)(W=>({root:{marginRight:W.spacing(1),fill:({severity:X})=>C(X,W)}})),B=({severity:W})=>{const X=P({severity:W});return(0,s.jsx)(u.A,{classes:X})},L=({severity:W})=>{const X=P({severity:W});return(0,s.jsx)(v.A,{classes:X})},I=(0,x.A)(W=>({panel:{backgroundColor:({severity:X})=>O(X,W),color:({severity:X})=>C(X,W),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:X})=>C(X,W),fontWeight:W.typography.fontWeightBold},markdownContent:{"& p":{display:"inline"}},message:{width:"100%",display:"block",color:({severity:X})=>C(X,W),backgroundColor:({severity:X})=>O(X,W)},details:{width:"100%",display:"block",color:W.palette.textContrast,backgroundColor:W.palette.background.default,border:`1px solid ${W.palette.border}`,padding:W.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),M=W=>W.charAt(0).toLocaleUpperCase("en-US")+W.slice(1);function $(W){const{severity:X="warning",title:z,titleFormat:Y,message:K,children:dt,defaultExpanded:G}=W,Q=I({severity:X}),J=M(X)+(z?`: ${z}`:"");return(0,s.jsxs)(p.A,{defaultExpanded:G??!1,className:Q.panel,role:"alert",children:[(0,s.jsxs)(b.A,{expandIcon:(0,s.jsx)(L,{severity:X}),className:Q.summary,children:[(0,s.jsx)(B,{severity:X}),(0,s.jsx)(m.A,{className:Q.summaryText,variant:"subtitle1",children:Y==="markdown"?(0,s.jsx)(g.h,{content:J,className:Q.markdownContent}):J})]}),(K||dt)&&(0,s.jsx)(h.A,{children:(0,s.jsxs)(d.A,{container:!0,children:[K&&(0,s.jsx)(d.A,{item:!0,xs:12,children:(0,s.jsx)(m.A,{className:Q.message,variant:"body1",children:K})}),dt&&(0,s.jsx)(d.A,{item:!0,xs:12,className:Q.details,children:dt})]})})]})}},10795:(H,S,t)=>{"use strict";t.d(S,{l:()=>h});var s=t(72427),a=t(65461),x=t(10315),p=t(87849);const b=()=>{const{t:d}=(0,p.i)(x.O);return{url:"https://github.com/backstage/backstage/issues",items:[{title:d("supportConfig.default.title"),icon:"warning",links:[{title:d("supportConfig.default.linkTitle"),url:"https://github.com/backstage/backstage/blob/master/app-config.yaml"}]}]}};function h(){const u=(0,s.Q2)().get(a.U)?.getOptionalConfig("app.support"),v=b();return u?{url:u.getString("url"),items:u.getConfigArray("items").flatMap(g=>({title:g.getString("title"),icon:g.getOptionalString("icon"),links:(g.getOptionalConfigArray("links")??[]).flatMap(C=>({url:C.getString("url"),title:C.getOptionalString("title")??""}))}))}:v}},31129:(H,S,t)=>{"use strict";t.d(S,{Gg:()=>L,KG:()=>I,NT:()=>O,z9:()=>p});var s=t(31085),a=t(82266),x=t(27799);function p(M){const{id:$,Fallback:W=x.A,...X}=M,Y=(0,a.n)().getSystemIcon($)??W;return(0,s.jsx)(Y,{...X})}function b(M){return _jsx(p,{id:"brokenImage",...M})}function h(M){return _jsx(p,{id:"catalog",...M})}function d(M){return _jsx(p,{id:"chat",...M})}function m(M){return _jsx(p,{id:"dashboard",...M})}function u(M){return _jsx(p,{id:"docs",...M})}function v(M){return _jsx(p,{id:"email",...M})}function g(M){return _jsx(p,{id:"github",...M})}function C(M){return _jsx(p,{id:"group",...M})}function O(M){return(0,s.jsx)(p,{id:"help",...M})}function P(M){return _jsx(p,{id:"user",...M})}function B(M){return _jsx(p,{id:"warning",...M})}function L(M){return(0,s.jsx)(p,{id:"star",...M})}function I(M){return(0,s.jsx)(p,{id:"unstarred",...M})}},26280:(H,S,t)=>{"use strict";t.d(S,{U:()=>h});var s=t(31085),a=t(58837),x=t(53373),p=t.n(x);const b=(0,a.A)(d=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:d.spacing(3),paddingBottom:d.spacing(3),paddingLeft:d.spacing(2),paddingRight:d.spacing(2),[d.breakpoints.up("sm")]:{paddingLeft:d.spacing(3),paddingRight:d.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function h(d){const{className:m,stretch:u,noPadding:v,children:g,...C}=d,O=b();return(0,s.jsx)("article",{...C,className:p()(O.root,m,{[O.stretch]:u,[O.noPadding]:v}),children:g})}},59428:(H,S,t)=>{"use strict";t.d(S,{d:()=>u});var s=t(31085),a=t(10394),x=t(58837),p=t(72501),b=t(93285);const h=v=>(0,x.A)(g=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:g.spacing(2),textAlign:v.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:g.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),d=({title:v,className:g})=>(0,s.jsx)(p.A,{variant:"h4",component:"h2",className:g,"data-testid":"header-title",children:v}),m=({description:v,className:g})=>v?(0,s.jsx)(p.A,{variant:"body2",className:g,"data-testid":"header-description",children:v}):null;function u(v){const{description:g,title:C,titleComponent:O=void 0,children:P,descriptionComponent:B=void 0,textAlign:L="left"}=v,I=h({textAlign:L})(),M=O||(0,s.jsx)(d,{title:C,className:I.title}),$=B||(0,s.jsx)(m,{description:g,className:I.description});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(b.m,{title:C}),(0,s.jsxs)(a.A,{className:I.container,children:[(0,s.jsxs)(a.A,{className:I.leftItemsBox,children:[M,$]}),(0,s.jsx)(a.A,{className:I.rightItemsBox,children:P})]})]})}},12173:(H,S,t)=>{"use strict";t.d(S,{M:()=>M});var s=t(31085),a=t(42899),x=t(58837),p=t(72501),b=t(18690),h=t(72072),d=t(10795);const m=t.p+"static/mic-drop.fe3ef4d0.svg",u=(0,x.A)($=>({micDrop:{maxWidth:"60%",bottom:$.spacing(2),right:$.spacing(2),[$.breakpoints.down("xs")]:{maxWidth:"96%",bottom:"unset",right:"unset",margin:$.spacing(10,"auto",4)}}}),{name:"BackstageErrorPageMicDrop"}),v=()=>{const $=u();return(0,s.jsx)("img",{src:m,className:$.micDrop,alt:"Girl dropping mic from her hands"})};var g=t(14041),C=t(77310),O=t(87849),P=t(10315);const B=(0,x.A)($=>({title:{paddingBottom:$.spacing(5),[$.breakpoints.down("xs")]:{paddingBottom:$.spacing(4),fontSize:$.typography.h3.fontSize}}}),{name:"BackstageErrorPageStackDetails"});function L($){const{stack:W}=$,X=B(),{t:z}=(0,O.i)(P.O),[Y,K]=(0,g.useState)(!1);return Y?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p.A,{variant:"h6",className:X.title,children:(0,s.jsx)(h.N_,{to:"#",onClick:()=>K(!1),children:z("errorPage.showLessDetails")})}),(0,s.jsx)(C.z,{text:W,language:"text",showCopyCodeButton:!0,showLineNumbers:!0})]}):(0,s.jsx)(p.A,{variant:"h6",className:X.title,children:(0,s.jsx)(h.N_,{to:"#",onClick:()=>K(!0),children:z("errorPage.showMoreDetails")})})}const I=(0,x.A)($=>({container:{padding:$.spacing(8),[$.breakpoints.down("xs")]:{padding:$.spacing(2)}},title:{paddingBottom:$.spacing(5),[$.breakpoints.down("xs")]:{paddingBottom:$.spacing(4),fontSize:$.typography.h3.fontSize}},subtitle:{color:$.palette.textSubtle}}),{name:"BackstageErrorPage"});function M($){const{status:W="",statusMessage:X,additionalInfo:z,supportUrl:Y,stack:K}=$,dt=I(),G=(0,b.Zp)(),Q=(0,d.l)(),{t:J}=(0,O.i)(P.O);return(0,s.jsxs)(a.A,{container:!0,className:dt.container,children:[(0,s.jsxs)(a.A,{item:!0,xs:12,sm:8,md:4,children:[(0,s.jsx)(p.A,{"data-testid":"error",variant:"body1",className:dt.subtitle,children:J("errorPage.subtitle",{status:W,statusMessage:X})}),(0,s.jsx)(p.A,{variant:"body1",className:dt.subtitle,children:z}),(0,s.jsx)(p.A,{variant:"h2",className:dt.title,children:J("errorPage.title")}),(0,s.jsxs)(p.A,{variant:"h6",className:dt.title,children:[(0,s.jsx)(h.N_,{to:"#","data-testid":"go-back-link",onClick:()=>G(-1),children:J("errorPage.goBack")}),"... or please"," ",(0,s.jsx)(h.N_,{to:Y||Q.url,children:"contact support"})," if you think this is a bug."]}),K&&(0,s.jsx)(L,{stack:K})]}),(0,s.jsx)(v,{})]})}},69814:(H,S,t)=>{"use strict";t.d(S,{Y:()=>G});var s=t(31085),a=t(72427),x=t(65461),p=t(10394),b=t(42899),h=t(58837),d=t(71677),m=t(72501),u=t(93285),v=t(72072),g=t(45634),C=t(58007),O=t(8109),P=t(55197),B=t(87051),L=t(14041);const I=(0,B.A)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(m.A),M=(0,B.A)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(p.A),$=(0,B.A)({root:{fontStyle:"italic"}},{name:"BreadcrumbsCurrentPage"})(p.A);function W(Q){const{children:J,...ct}=Q,[pt,yt]=(0,L.useState)(null),At=L.Children.toArray(J),[Ot,It,...ut]=At,lt=ut.length?ut.pop():At[At.length-1],xt=At.length>3,gt=it=>{yt(it.currentTarget)},bt=()=>{yt(null)},Rt=!!pt;return(0,s.jsxs)(L.Fragment,{children:[(0,s.jsxs)(g.A,{"aria-label":"breadcrumb",...ct,children:[At.length>1&&(0,s.jsx)(M,{clone:!0,children:Ot}),At.length>2&&(0,s.jsx)(M,{clone:!0,children:It}),xt&&(0,s.jsx)(I,{onClick:gt,children:"..."}),(0,s.jsx)($,{children:lt})]}),(0,s.jsx)(P.Ay,{open:Rt,anchorEl:pt,onClose:bt,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,s.jsx)(C.A,{children:ut.map((it,ft)=>(0,s.jsx)(O.A,{button:!0,children:(0,s.jsx)(M,{clone:!0,children:it})},ft))})})]})}var X=t(73524);const z=(0,h.A)(Q=>({header:{gridArea:"pageHeader",padding:Q.spacing(3),width:"100%",boxShadow:Q.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:Q.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[Q.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto",alignItems:"center"},title:{color:Q.page.fontColor,wordBreak:"break-word",fontSize:Q.typography.h3.fontSize,marginBottom:0},subtitle:{color:Q.page.fontColor,opacity:.8,display:"inline-block",marginTop:Q.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:Q.spacing(1),color:Q.page.fontColor},breadcrumb:{color:Q.page.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-Q.spacing(.3),marginBottom:Q.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-Q.spacing(.3),marginBottom:Q.spacing(.3)}}),{name:"BackstageHeader"}),Y=({type:Q,typeLink:J,classes:ct,pageTitle:pt})=>Q?J?(0,s.jsxs)(W,{className:ct.breadcrumb,children:[(0,s.jsx)(v.N_,{to:J,children:Q}),(0,s.jsx)(m.A,{children:pt})]}):(0,s.jsx)(m.A,{className:ct.type,children:Q}):null,K=({pageTitle:Q,classes:J,tooltip:ct})=>{const{contentRef:pt}=(0,X.H)(),yt=(0,s.jsx)(m.A,{ref:pt,tabIndex:-1,className:J.title,variant:"h1",children:Q});return ct?(0,s.jsx)(d.Ay,{title:ct,placement:"top-start",children:yt}):yt},dt=({classes:Q,subtitle:J})=>J?typeof J!="string"?(0,s.jsx)(s.Fragment,{children:J}):(0,s.jsx)(m.A,{className:Q.subtitle,variant:"subtitle2",component:"span",children:J}):null;function G(Q){const{children:J,pageTitleOverride:ct,style:pt,subtitle:yt,title:At,tooltip:Ot,type:It,typeLink:ut}=Q,lt=z(),gt=(0,a.gf)(x.U).getOptionalString("app.title")||"Backstage",bt=ct||At,Rt=At||ct,it=`${bt} | %s | ${gt}`,ft=`${bt} | ${gt}`;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.m,{titleTemplate:it,defaultTitle:ft}),(0,s.jsxs)("header",{style:pt,className:lt.header,children:[(0,s.jsxs)(p.A,{className:lt.leftItemsBox,children:[(0,s.jsx)(Y,{classes:lt,type:It,typeLink:ut,pageTitle:Rt}),(0,s.jsx)(K,{classes:lt,pageTitle:Rt,tooltip:Ot}),(0,s.jsx)(dt,{classes:lt,subtitle:yt})]}),(0,s.jsx)(b.A,{container:!0,className:lt.rightItemsBox,spacing:4,children:J})]})]})}},24504:(H,S,t)=>{"use strict";t.d(S,{Y:()=>d});var s=t(31085),a=t(58837),x=t(50868),p=t(53373),b=t.n(p);const h=(0,a.A)(m=>({root:{display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",overflowY:"auto",height:"100vh",[m.breakpoints.down("xs")]:{height:"100%"},"@media print":{display:"block",height:"auto",overflowY:"inherit"}}}),{name:"BackstagePage"});function d(m){const{themeId:u,className:v,children:g}=m,C=h();return(0,s.jsx)(x.A,{theme:O=>({...O,page:O.getPageTheme({themeId:u})}),children:(0,s.jsx)("main",{className:b()(C.root,v),children:g})})}},27155:(H,S,t)=>{"use strict";t.d(S,{d:()=>p});var s=t(31085),a=t(69814),x=t(24504);function p(b){const{themeId:h,children:d,...m}=b;return(0,s.jsxs)(x.Y,{themeId:h,children:[(0,s.jsx)(a.Y,{...m}),d]})}},73524:(H,S,t)=>{"use strict";t.d(S,{G:()=>C,H:()=>O});var s=t(31085),a=t(10394),x=t(58837),p=t(5893),b=t(14041),h=t(72664),d=function(P){return P.SIDEBAR_PIN_STATE="sidebarPinState",P}(d||{});const m={getSidebarPinState(){let P;try{P=JSON.parse(window.localStorage.getItem("sidebarPinState")||"true")}catch{return!0}return!!P},setSidebarPinState(P){return window.localStorage.setItem("sidebarPinState",JSON.stringify(P))}};var u=t(34435);const v=(0,x.A)(P=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[P.breakpoints.up("sm")]:{paddingLeft:B=>B.isPinned?B.sidebarConfig.drawerWidthOpen:B.sidebarConfig.drawerWidthClosed},[P.breakpoints.down("xs")]:{paddingBottom:B=>B.sidebarConfig.mobileSidebarHeight},"@media print":{padding:"0px !important"}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),g=(0,b.createContext)({content:{contentRef:void 0}});function C(P){const[B,L]=(0,b.useState)(()=>m.getSidebarPinState()),{sidebarConfig:I}=(0,b.useContext)(h.yY),M=(0,b.useRef)(null),$=(0,b.useMemo)(()=>({content:{contentRef:M}}),[M]);(0,b.useEffect)(()=>{m.setSidebarPinState(B)},[B]);const W=(0,p.A)(Y=>Y.breakpoints.down("xs"),{noSsr:!0}),X=()=>L(!B),z=v({isPinned:B,sidebarConfig:I});return(0,s.jsx)(u.qj,{value:{isPinned:B,toggleSidebarPinState:X,isMobile:W},children:(0,s.jsx)(g.Provider,{value:$,children:(0,s.jsx)(a.A,{className:z.root,children:P.children})})})}function O(){const{content:P}=(0,b.useContext)(g);return{focusContent:(0,b.useCallback)(()=>{P?.contentRef?.current?.focus()},[P]),contentRef:P?.contentRef}}},34435:(H,S,t)=>{"use strict";t.d(S,{Ut:()=>u,qj:()=>m});var s=t(31085),a=t(43836),x=t(10602),p=t(14041);const b={isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1},h=(0,p.createContext)(b),d=(0,a.tK)("sidebar-pin-state-context");function m(v){const{children:g,value:C}=v;return(0,s.jsx)(h.Provider,{value:C,children:(0,s.jsx)(d.Provider,{value:(0,x.B)({1:C}),children:g})})}const u=()=>{const v=(0,p.useContext)(d),g=(0,p.useContext)(h);if(v===void 0)return g||b;const C=v.atVersion(1);if(C===void 0)throw new Error("No context found for version 1.");return C}},72664:(H,S,t)=>{"use strict";t.d(S,{Rv:()=>h,U1:()=>g,hC:()=>b,i8:()=>m,yY:()=>v});var s=t(14041);const a=72,x=24,p=18,b={drawerWidthClosed:a,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:a,iconSize:a-x*2,iconPadding:x,selectedIndicatorWidth:3,userBadgePadding:p,userBadgeDiameter:a-p*2,mobileSidebarHeight:56},h=C=>({...b,...C,iconContainerWidth:b.drawerWidthClosed,iconSize:b.drawerWidthClosed-b.iconPadding*2,userBadgeDiameter:b.drawerWidthClosed-b.userBadgePadding*2}),d={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:b.defaultOpenDelayMs+200},m=C=>({...d,...C}),u="@backstage/core/sidebar-intro-dismissed",v=(0,s.createContext)({sidebarConfig:b,submenuConfig:d}),g=(0,s.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}})},10315:(H,S,t)=>{"use strict";t.d(S,{O:()=>a});var s=t(93184);const a=(0,s.h)({id:"core-components",messages:{signIn:{title:"Sign In",loginFailed:"Login failed",customProvider:{title:"Custom User",subtitle:`Enter your own User ID and credentials.
This selection will not be stored.`,userId:"User ID",tokenInvalid:"Token is not a valid OpenID Connect JWT Token",continue:"Continue",idToken:"ID Token (optional)"},guestProvider:{title:"Guest",subtitle:`Enter as a Guest User.
You will not have a verified identity, meaning some features might be unavailable.`,enter:"Enter"}},skipToContent:"Skip to content",copyTextButton:{tooltipText:"Text copied to clipboard"},simpleStepper:{reset:"Reset",finish:"Finish",next:"Next",skip:"Skip",back:"Back"},errorPage:{subtitle:"ERROR {{status}}: {{statusMessage}}",title:"Looks like someone dropped the mic!",goBack:"Go back",showMoreDetails:"Show more details",showLessDetails:"Show less details"},emptyState:{missingAnnotation:{title:"Missing Annotation",actionTitle:"Add the annotation to your component YAML as shown in the highlighted example below:",readMore:"Read more"}},supportConfig:{default:{title:"Support Not Configured",linkTitle:"Add `app.support` config key"}},errorBoundary:{title:"Please contact {{slackChannel}} for help."},oauthRequestDialog:{title:"Login Required",authRedirectTitle:"This will trigger a http redirect to OAuth Login.",login:"Log in",rejectAll:"Reject All"},supportButton:{title:"Support",close:"Close"},table:{filter:{title:"Filters",clearAll:"Clear all",placeholder:"All results"},body:{emptyDataSourceMessage:"No records to display"},pagination:{firstTooltip:"First Page",labelDisplayedRows:"{from}-{to} of {count}",labelRowsSelect:"rows",lastTooltip:"Last Page",nextTooltip:"Next Page",previousTooltip:"Previous Page"},toolbar:{search:"Filter"},header:{actions:"Actions"}},alertDisplay:{message_one:"({{ count }} newer message)",message_other:"({{ count }} newer messages)"},autoLogout:{stillTherePrompt:{title:"Logging out due to inactivity",buttonText:"Yes! Don't log me out"}},proxiedSignInPage:{title:"You do not appear to be signed in. Please try reloading the browser page."}}})},25862:(H,S,t)=>{"use strict";t.d(S,{Ig:()=>d,pn:()=>h});var s=t(31085),a=t(43836),x=t(10602),p=t(14041);const b=(0,a.tK)("analytics-context"),h=()=>{const u=(0,p.useContext)(b);if(u===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const v=u.atVersion(1);if(v===void 0)throw new Error("No context found for version 1.");return v},d=u=>{const{attributes:v,children:g}=u,O={...h(),...v},P=(0,x.B)({1:O});return(0,s.jsx)(b.Provider,{value:P,children:g})};function m(u,v){const g=C=>_jsx(d,{attributes:v,children:_jsx(u,{...C})});return g.displayName=`WithAnalyticsContext(${u.displayName||u.name||"Component"})`,g}},67237:(H,S,t)=>{"use strict";t.d(S,{J:()=>p,t:()=>x});var s=t(63544);const a=(0,s.Q)("core-plugin-api:analytics-tracker-events",()=>({mostRecentGatheredNavigation:void 0,mostRecentRoutableExtensionRender:void 0,beforeUnloadRegistered:!1})),x="_ROUTABLE-EXTENSION-RENDERED";class p{analyticsApi;context;constructor(h,d={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=h,this.context=d,a.beforeUnloadRegistered||(addEventListener("beforeunload",()=>{a.mostRecentGatheredNavigation&&(this.analyticsApi.captureEvent({...a.mostRecentGatheredNavigation,...a.mostRecentRoutableExtensionRender}),a.mostRecentGatheredNavigation=void 0,a.mostRecentRoutableExtensionRender=void 0)},{once:!0,passive:!0}),a.beforeUnloadRegistered=!0)}setContext(h){this.context=h}captureEvent(h,d,{value:m,attributes:u}={}){const{_routeNodeType:v,...g}=this.context;if(h===x){a.mostRecentGatheredNavigation&&(a.mostRecentRoutableExtensionRender={context:{...g,extension:"App"}});return}if(a.mostRecentGatheredNavigation){try{this.analyticsApi.captureEvent({...a.mostRecentGatheredNavigation,...a.mostRecentRoutableExtensionRender})}catch(C){console.warn("Error during analytics event capture. %o",C)}a.mostRecentGatheredNavigation=void 0,a.mostRecentRoutableExtensionRender=void 0}if(h==="navigate"&&v==="gathered"&&g.pluginId==="root"){a.mostRecentGatheredNavigation={action:h,subject:d,value:m,attributes:u,context:g};return}try{this.analyticsApi.captureEvent({action:h,subject:d,value:m,attributes:u,context:g})}catch(C){console.warn("Error during analytics event capture. %o",C)}}}},93368:(H,S,t)=>{"use strict";t.d(S,{s:()=>d});var s=t(25862),a=t(72427),x=t(99303),p=t(14041),b=t(67237);function h(){try{return(0,a.gf)(x.c)}catch{return{captureEvent:()=>{}}}}function d(){const m=(0,p.useRef)(null),u=(0,s.pn)(),v=h();function g(){return m.current===null&&(m.current=new b.J(v)),m.current}const C=g();return C.setContext(u),C}},36017:(H,S,t)=>{"use strict";t.d(S,{k:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.alert"})},99303:(H,S,t)=>{"use strict";t.d(S,{c:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.analytics"})},65461:(H,S,t)=>{"use strict";t.d(S,{U:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.config"})},57405:(H,S,t)=>{"use strict";t.d(S,{I:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.discovery"})},39837:(H,S,t)=>{"use strict";t.d(S,{m:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.error"})},63636:(H,S,t)=>{"use strict";t.d(S,{B:()=>x,S:()=>a});var s=t(55309),a=function(p){return p[p.None=0]="None",p[p.Active=1]="Active",p}({});const x=(0,s.y)({id:"core.featureflags"})},70795:(H,S,t)=>{"use strict";t.d(S,{a:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.fetch"})},16009:(H,S,t)=>{"use strict";t.d(S,{K:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.identity"})},56038:(H,S,t)=>{"use strict";t.d(S,{J:()=>a});var s=t(55309);const a=(0,s.y)({id:"core.translation"})},55309:(H,S,t)=>{"use strict";t.d(S,{y:()=>a});class s{config;constructor(p){if(this.config=p,!p.id.split(".").flatMap(h=>h.split("-")).every(h=>h.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${p.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function a(x){return new s(x)}},12935:(H,S,t)=>{"use strict";t.d(S,{b:()=>s});function s(a,x){return"id"in a?{api:a,deps:{},factory:()=>x}:a}},72427:(H,S,t)=>{"use strict";t.d(S,{Q2:()=>p,gf:()=>b});var s=t(31085),a=t(43836),x=t(97142);function p(){const d=(0,a.qO)("api-context");if(!d)throw new x.EH("API context is not available");const m=d.atVersion(1);if(!m)throw new x.EH("ApiContext v1 not available");return m}function b(d){const u=p().get(d);if(!u)throw new x.EH(`No implementation available for ${d}`);return u}function h(d){return function(u){const v=C=>{const O=p(),P={};for(const B in d)if(d.hasOwnProperty(B)){const L=d[B],I=O.get(L);if(!I)throw new NotImplementedError(`No implementation available for ${L}`);P[B]=I}return _jsx(u,{...C,...P})},g=u.displayName||u.name||"Component";return v.displayName=`withApis(${g})`,v}}},82266:(H,S,t)=>{"use strict";t.d(S,{n:()=>a});var s=t(43836);const a=()=>{const x=(0,s.qO)("app-context");if(!x)throw new Error("App context is not available");const p=x.atVersion(1);if(!p)throw new Error("AppContext v1 not available");return p}},19402:(H,S,t)=>{"use strict";t.d(S,{E:()=>b,h:()=>p});var s=t(63544);const a=(0,s.Q)("component-data-store",()=>new WeakMap),x="__backstage_data";funct