@techdocs/cli
Version:
Utility CLI for managing TechDocs sites in Backstage.
2 lines • 31.5 kB
JavaScript
;(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["3641"],{6033(e,t,a){var i,n;a.d(t,{D:()=>i}),(n=i||(i={})).Direction={TOP_BOTTOM:"TB",BOTTOM_TOP:"BT",LEFT_RIGHT:"LR",RIGHT_LEFT:"RL"},n.Alignment={UP_LEFT:"UL",UP_RIGHT:"UR",DOWN_LEFT:"DL",DOWN_RIGHT:"DR"},n.Ranker={NETWORK_SIMPLEX:"network-simplex",TIGHT_TREE:"tight-tree",LONGEST_PATH:"longest-path"},n.LabelPosition={LEFT:"l",RIGHT:"r",CENTER:"c"}},43151(e,t,a){a.d(t,{q:()=>eE});var i=a(31085),n=a(98197),r=a(76028),s=a(14041),l=a(58077),o=a(11773),c=a(55489),d=a(97673),p=a(60603);let u=(0,s.lazy)(()=>Promise.all([a.e("1435"),a.e("7632")]).then(a.bind(a,6659)).then(e=>({default:e.DependencyGraph})));function m(e){return(0,i.jsx)(s.Suspense,{fallback:(0,i.jsx)("div",{}),children:(0,i.jsx)(u,{...e})})}var g=a(6033),h=a(50509),f=a(81219),x=a(91189),y=a(13408),b=a(69749),j=a(58837),v=a(53373),T=a.n(v),k=a(18690),w=a(73466),N=a(76272),E=a(15448),L=a(76355);let S=a(10437).A;function A(e){let t,a,{kind:n,entityRef:r,...s}=e,o=(t=(0,x.n)(),(a=function(e,t){if(e)return e.toLocaleLowerCase("en-US");if(t)try{return(0,l.KU)(t).kind.toLocaleLowerCase("en-US")}catch{}}(n,r))&&t.getSystemIcon(`kind:${a}`)||S);return(0,i.jsx)(o,{...s})}var D=a(79811),C=a(89595);let I=(0,j.A)(e=>({node:{fill:e.palette.grey[300],stroke:e.palette.grey[300],"&.primary":{fill:e.palette.primary.light,stroke:e.palette.primary.light},"&.secondary":{fill:e.palette.secondary.light,stroke:e.palette.secondary.light}},text:{fill:e.palette.getContrastText(e.palette.grey[300]),"&.primary":{fill:e.palette.primary.contrastText},"&.secondary":{fill:e.palette.secondary.contrastText},"&.focused":{fontWeight:"bold"}},clickable:{cursor:"pointer"}}));function P({node:e}){let t=I(),a=(0,k.useNavigate)(),n=(0,f.S)(E.s),[r,l]=(0,s.useState)(0),[c,d]=(0,s.useState)(0),p=(0,x.n)(),u=(0,s.useRef)(null);(0,s.useLayoutEffect)(()=>{if(u.current){let{height:e,width:t}=u.current.getBBox();e=Math.round(e),t=Math.round(t),(e!==c||t!==r)&&(l(t),d(e))}},[r,c]);let m=p.getSystemIcon(`kind:${e.kind.toLocaleLowerCase("en-US")}`),g=m?c+10:0,h=c+20,{primaryTitle:y}=(0,L.f)(e);return(0,i.jsxs)("g",{onClick:()=>{a(n({kind:e.kind,namespace:e.metadata.namespace||o.oQ,name:e.metadata.name}))},className:t.clickable,children:[(0,i.jsx)("rect",{className:T()(t.node,e.root?"secondary":"primary"),width:g+r+20,height:h,rx:10}),m&&(0,i.jsx)(A,{kind:e.kind,y:10,x:10,width:c,height:c,className:T()(t.text,e.root?"secondary":"primary")}),(0,i.jsx)("text",{ref:u,className:T()(t.text,e.root?"secondary":"primary"),y:h/2,x:g+(r+20)/2,textAnchor:"middle",alignmentBaseline:"middle",children:y})]})}function R(e){let{loading:t,error:a,nodes:n,edges:r}=function(e){let t=(0,h.gf)(N.v),a=(0,l.U2)(e),{loading:i,error:n,value:r}=(0,w.A)(async()=>{let e=await t.getEntityAncestors({entityRef:a}),i=[],n=[];for(let t of e.items){let a=(0,l.U2)(t.entity),r=a===e.rootEntityRef;for(let e of(i.push({id:a,root:r,...t.entity}),t.parentEntityRefs))n.push({from:a,to:e})}return{nodes:i,edges:n}},[a]);return{loading:i,error:n,nodes:r?.nodes||[],edges:r?.edges||[]}}(e.entity),{t:s}=(0,C.i)(D.j);return t?(0,i.jsx)(c.k,{}):a?(0,i.jsx)(d._,{error:a}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y.a,{mb:"2",children:(0,i.jsx)(b.E,{as:"p",children:s("inspectEntityDialog.ancestryPage.description",{processorsLink:(0,i.jsx)(p.N_,{to:"https://backstage.io/docs/features/software-catalog/life-of-an-entity",children:s("inspectEntityDialog.ancestryPage.processorsLink")})})})}),(0,i.jsx)(y.a,{mt:"8",children:(0,i.jsx)(m,{nodes:n,edges:r,renderNode:P,direction:g.D.Direction.BOTTOM_TOP,zoom:"enable-on-click"})})]})}var O=a(16263),F=a(40743),z=a(3438);let W=(0,j.A)({list:{listStyle:"none",margin:0,padding:0},indented:{paddingLeft:"var(--bui-space-4)"},listItem:{display:"flex",alignItems:"flex-start",marginTop:"var(--bui-space-1)",paddingLeft:"var(--bui-space-4)",fontFamily:"monospace",fontSize:"var(--bui-font-size-3)","&:first-child":{marginTop:0}}});function B(e){let t=W();return(0,i.jsx)("ul",{className:T()(t.list,e.indent&&t.indented,e.className),"aria-label":e["aria-label"],children:e.children})}function $(e){let t=W();return(0,i.jsx)("li",{className:t.listItem,children:e.children})}let U=(0,j.A)({header:{paddingLeft:"var(--bui-space-4)",marginTop:"var(--bui-space-4)",marginBottom:"var(--bui-space-4)"},headerLabel:{margin:0,fontFamily:"monospace",fontSize:"var(--bui-font-size-3)",fontWeight:"var(--bui-font-weight-regular)"},entityList:{marginTop:"var(--bui-space-4)"},headerValue:{margin:0,marginTop:"var(--bui-space-1)",fontFamily:"monospace",fontSize:"var(--bui-font-size-3)",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}});function _(e){let t=U(),{t:a}=(0,C.i)(D.j);return(0,i.jsxs)(i.Fragment,{children:[e.header&&(0,i.jsxs)("header",{className:t.header,children:[(0,i.jsx)("h4",{className:t.headerLabel,children:e.header[0]}),(0,i.jsx)("p",{className:t.headerValue,children:e.header[1]})]}),(0,i.jsx)(B,{"aria-label":a("inspectEntityDialog.colocatedPage.entityListAriaLabel"),className:t.entityList,children:e.entities.map(e=>(0,i.jsx)($,{children:(0,i.jsx)(z.z,{entityRef:e})},(0,l.U2)(e)))})]})}function M(e){let{entity:t}=e,{t:a}=(0,C.i)(D.j),{loading:n,error:r,location:s,originLocation:o,colocatedEntities:p}=function(e){let t=(0,h.gf)(N.v),a=(0,l.U2)(e),i=e.metadata.annotations?.[O.Eo],n=e.metadata.annotations?.[O.r2],{loading:r,error:s,value:o}=(0,w.A)(async()=>i||n?(await t.getEntities({filter:[...i?[{[`metadata.annotations.${O.Eo}`]:i}]:[],...n?[{[`metadata.annotations.${O.r2}`]:n}]:[]]})).items:[],[i,n]);return{loading:r,error:s,location:i,originLocation:n,colocatedEntities:o?.filter(e=>(0,l.U2)(e)!==a)}}(t);if(n)return(0,i.jsx)(c.k,{});if(r)return(0,i.jsx)(d._,{error:r});if(!s&&!o)return(0,i.jsx)(F.F,{status:"warning",description:a("inspectEntityDialog.colocatedPage.alertNoLocation"),mt:"4"});if(!p?.length)return(0,i.jsx)(F.F,{status:"info",description:a("inspectEntityDialog.colocatedPage.alertNoEntity"),mt:"4"});if(s===o)return(0,i.jsx)(_,{entities:p});let u=p.filter(e=>e.metadata.annotations?.[O.Eo]===s),m=p.filter(e=>e.metadata.annotations?.[O.r2]===o);return(0,i.jsxs)(i.Fragment,{children:[u.length>0&&(0,i.jsx)(_,{entities:u,header:[a("inspectEntityDialog.colocatedPage.locationHeader"),s]}),m.length>0&&(0,i.jsx)(_,{entities:m,header:[a("inspectEntityDialog.colocatedPage.originHeader"),o]})]})}function G(e){let{t}=(0,C.i)(D.j);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.E,{as:"p",children:t("inspectEntityDialog.colocatedPage.description")}),(0,i.jsx)(M,{entity:e.entity})]})}var H=a(4809);function K(e){return Object.fromEntries([...Object.entries(e)].sort((e,t)=>e[0]<t[0]?-1:1))}function V(e){let{t}=(0,C.i)(D.j);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.E,{as:"p",children:t("inspectEntityDialog.jsonPage.description")}),(0,i.jsx)("div",{"data-testid":"code-snippet",children:(0,i.jsx)(H.z,{text:JSON.stringify(K(e.entity),void 0,2),language:"json",showCopyCodeButton:!0})})]})}var Y=a(32725),Z=a(82604),Q=a(33998),q=a(26438),X=a(73880),J=a(15784),ee=a(57873),et=a(63690),ea=a(68133),ei=a(48119);let en={"bui-TagList":"RH6vZOMUe3ozH13w","bui-Tag":"RbVv4ECvOgnU1Dwb","bui-TagRemoveButton":"l9zJlYdsd_AvoCWG","bui-TagIcon":"APxTgEybjsYQrIC6"},er=(0,ei.p)()({styles:en,classNames:{root:"bui-TagGroup",list:"bui-TagList"},propDefs:{items:{},children:{},renderEmptyState:{},className:{}}}),es=(0,ei.p)()({styles:en,classNames:{root:"bui-Tag",icon:"bui-TagIcon",removeButton:"bui-TagRemoveButton"},analytics:!0,propDefs:{noTrack:{},icon:{},size:{dataAttribute:!0,default:"small"},href:{},children:{},className:{}}});var el=a(76435);let eo=e=>{let{ownProps:t,restProps:a}=(0,ea.Z)(er,e),{classes:n,items:r,children:s,renderEmptyState:l}=t;return(0,i.jsx)(J.CR,{className:n.root,...a,children:(0,i.jsx)(J.LY,{className:n.list,items:r,renderEmptyState:l,children:s})})},ec=(0,s.forwardRef)((e,t)=>{let{ownProps:a,restProps:n,dataAttributes:r,analytics:s}=(0,ea.Z)(es,e),{classes:l,children:o,icon:c,href:d}=a,p="string"==typeof o?o:void 0;return(0,i.jsx)(J.vw,{ref:t,textValue:p,className:l.root,href:d,...r,...n,onPress:t=>{if(n.onPress?.(t),d){let t=e["aria-label"]??p??(0,el.O)(o)??String(d);s.captureEvent("click",t,{attributes:{to:String(d)}})}},children:({allowsRemoving:e})=>(0,i.jsxs)(i.Fragment,{children:[c&&(0,i.jsx)("span",{className:l.icon,children:c}),o,e&&(0,i.jsx)(ee.$,{className:l.removeButton,slot:"remove",children:(0,i.jsx)(et.qFd,{size:16})})]})})});var ed=a(87809),ep=a.n(ed),eu=a(40074),em=a.n(eu);let eg=(0,j.A)({headingWithIcon:{display:"flex",alignItems:"center"},definitionList:{margin:0,padding:0},definitionItem:{display:"flex",alignItems:"flex-start",marginTop:"var(--bui-space-4)",paddingLeft:"var(--bui-space-4)",fontFamily:"monospace",fontSize:"var(--bui-font-size-3)","&:first-child":{marginTop:0}},definitionContent:{flex:1,minWidth:0},definitionKey:{fontWeight:"bold"},definitionValue:{margin:0,marginTop:"var(--bui-space-1)",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},copyAction:{marginLeft:"var(--bui-space-2)",flexShrink:0},relationGroup:{"& + &":{marginTop:"var(--bui-space-4)"}},monospace:{fontFamily:"monospace"},sectionHeading:{marginTop:"var(--bui-space-3)"},metadataList:{marginTop:"var(--bui-space-2)"},relationList:{marginTop:"var(--bui-space-2)"},tagGroup:{marginTop:"var(--bui-space-3)",paddingLeft:"var(--bui-space-4)"}});function eh(e){return e.map(([e,t])=>{let a=t.match(/^url:https?:\/\//)?t.slice(4):t.match(/^https?:\/\//)?t:void 0;return{key:e,value:a?(0,i.jsx)(p.N_,{to:a,children:t}):t}})}function ef({text:e,label:t}){let{t:a}=(0,C.i)(D.j),[n,r]=(0,s.useState)(!1),l=(0,s.useRef)();(0,s.useEffect)(()=>()=>clearTimeout(l.current),[]);let o=async()=>{try{await window.navigator.clipboard.writeText(e),r(!0),l.current=setTimeout(()=>r(!1),2e3)}catch{}};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Y.a,{icon:n?(0,i.jsx)(et.s0,{}):(0,i.jsx)(et.NGz,{}),"aria-label":a("inspectEntityDialog.overviewPage.copyAriaLabel",{label:t}),variant:"tertiary",size:"small",onPress:o}),(0,i.jsx)(Z.s,{role:"status",children:n?a("inspectEntityDialog.overviewPage.copiedStatus"):""})]})}function ex(e){let{t}=(0,C.i)(D.j);return(0,i.jsx)(Q.v,{href:e.to,target:"_blank",rel:"noopener noreferrer",variant:"tertiary",size:"small",iconStart:(0,i.jsx)(et.Kt4,{}),"aria-label":t("inspectEntityDialog.overviewPage.helpLinkAriaLabel")})}function ey(e){let t=eg();return(0,i.jsxs)(q.Zp,{children:[(0,i.jsx)(q.aR,{children:(0,i.jsxs)(b.E,{variant:"title-x-small",as:"h3",className:e.helpLink?t.headingWithIcon:void 0,children:[e.title,e.helpLink&&(0,i.jsx)(ex,{to:e.helpLink})]})}),(0,i.jsx)(q.bw,{children:e.children})]})}function eb(e){let t=eg();return(0,i.jsx)(b.E,{variant:"body-large",as:"h4",className:T()(t.headingWithIcon,e.className),children:e.children})}function ej(e){let t=eg();return(0,i.jsx)("dl",{className:T()(t.definitionList,e.className),"aria-label":e["aria-label"],children:e.items.map(e=>(0,i.jsxs)("div",{className:t.definitionItem,children:[(0,i.jsxs)("div",{className:t.definitionContent,children:[(0,i.jsx)("dt",{className:t.definitionKey,children:e.key}),(0,i.jsx)("dd",{className:t.definitionValue,children:e.value})]}),e.copyable&&"string"==typeof e.value&&(0,i.jsx)("div",{className:t.copyAction,children:(0,i.jsx)(ef,{text:e.value,label:e.key})})]},e.key))})}function ev(e){let t=eg(),{apiVersion:a,kind:n,metadata:r,spec:s,relations:o=[],status:c={}}=e.entity,d=ep()(em()(o,e=>e.targetRef),"type"),{t:p}=(0,C.i)(D.j),u=(0,l.U2)(e.entity);return(0,i.jsxs)(X.s,{direction:"column",gap:"4",children:[(0,i.jsx)(ey,{title:p("inspectEntityDialog.overviewPage.identity.title"),children:(0,i.jsx)(ej,{"aria-label":p("inspectEntityDialog.overviewPage.identity.title"),items:[{key:"apiVersion",value:a},{key:"kind",value:n},...s?.type?[{key:"spec.type",value:s.type.toString()}]:[],...r.uid?[{key:"uid",value:r.uid,copyable:!0}]:[],...r.etag?[{key:"etag",value:r.etag,copyable:!0}]:[],{key:"entityRef",value:u,copyable:!0}]})}),(0,i.jsxs)(ey,{title:p("inspectEntityDialog.overviewPage.metadata.title"),children:[!!Object.keys(r.annotations||{}).length&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(eb,{children:[p("inspectEntityDialog.overviewPage.annotations"),(0,i.jsx)(ex,{to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"})]}),(0,i.jsx)(ej,{items:eh(Object.entries(r.annotations)),"aria-label":p("inspectEntityDialog.overviewPage.annotations"),className:t.metadataList})]}),!!Object.keys(r.labels||{}).length&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eb,{className:t.sectionHeading,children:p("inspectEntityDialog.overviewPage.labels")}),(0,i.jsx)(ej,{items:eh(Object.entries(r.labels)),"aria-label":p("inspectEntityDialog.overviewPage.labels"),className:t.metadataList})]}),!!r.tags?.length&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eb,{className:t.sectionHeading,children:p("inspectEntityDialog.overviewPage.tags")}),(0,i.jsx)(eo,{"aria-label":p("inspectEntityDialog.overviewPage.tags"),className:t.tagGroup,children:r.tags.map(e=>(0,i.jsx)(ec,{id:e,children:e},e))})]})]}),!!o.length&&(0,i.jsx)(ey,{title:p("inspectEntityDialog.overviewPage.relation.title"),helpLink:"https://backstage.io/docs/features/software-catalog/well-known-relations",children:Object.entries(d).map(([e,a])=>(0,i.jsxs)("div",{className:t.relationGroup,children:[(0,i.jsx)(eb,{className:t.monospace,children:e}),(0,i.jsx)(B,{"aria-label":e,className:t.relationList,children:a.map(e=>(0,i.jsx)($,{children:(0,i.jsx)(z.z,{entityRef:e.targetRef})},e.targetRef))})]},e))}),!!c.items?.length&&(0,i.jsx)(ey,{title:p("inspectEntityDialog.overviewPage.status.title"),helpLink:"https://backstage.io/docs/features/software-catalog/well-known-statuses",children:c.items.map((e,t)=>(0,i.jsxs)("div",{children:[(0,i.jsxs)(b.E,{children:[e.level,": ",e.type]}),(0,i.jsx)(y.a,{ml:"4",children:e.message})]},t))})]})}var eT=a(64402);function ek(e){let{t}=(0,C.i)(D.j);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.E,{as:"p",children:t("inspectEntityDialog.yamlPage.description")}),(0,i.jsx)("div",{"data-testid":"code-snippet",children:(0,i.jsx)(H.z,{text:eT.Ay.stringify(K(e.entity)),language:"yaml",showCopyCodeButton:!0})})]})}let ew=["overview","ancestry","colocated","json","yaml"];function eN(e){let{entity:t,initialTab:a,onSelect:l}=e,{t:o}=(0,C.i)(D.j),c=(0,s.useMemo)(()=>({overview:o("inspectEntityDialog.tabNames.overview"),ancestry:o("inspectEntityDialog.tabNames.ancestry"),colocated:o("inspectEntityDialog.tabNames.colocated"),json:o("inspectEntityDialog.tabNames.json"),yaml:o("inspectEntityDialog.tabNames.yaml")}),[o]),d={overview:(0,i.jsx)(ev,{entity:t}),ancestry:(0,i.jsx)(R,{entity:t}),colocated:(0,i.jsx)(G,{entity:t}),json:(0,i.jsx)(V,{entity:t}),yaml:(0,i.jsx)(ek,{entity:t})};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.c7,{children:o("inspectEntityDialog.title")}),(0,i.jsx)(n.R4,{children:(0,i.jsxs)(r.tU,{defaultSelectedKey:a||"overview",onSelectionChange:e=>l?.(e),children:[(0,i.jsx)(r.wb,{"aria-label":o("inspectEntityDialog.tabsAriaLabel"),children:ew.map(e=>(0,i.jsx)(r.oz,{id:e,children:c[e]},e))}),ew.map(e=>(0,i.jsx)(r.Kp,{id:e,children:d[e]},e))]})})]})}function eE(e){let{open:t,entity:a,initialTab:r,onClose:s,onSelect:l}=e;return a?(0,i.jsx)(n.lG,{isOpen:t,onOpenChange:e=>!e&&s(),width:"940px",height:"100vh",children:t&&(0,i.jsx)(eN,{entity:a,initialTab:r,onSelect:l})}):null}},15542(e,t,a){a.d(t,{w:()=>o});var i=a(58077),n=a(50509),r=a(14041),s=a(769);function l(e){return"string"==typeof e?e:(0,i.U2)(e)}function o(e){let t=(0,n.gf)(s.a),[a,i]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let a=t.starredEntitie$().subscribe({next(t){i(t.has(l(e)))}});return()=>{a.unsubscribe()}},[e,t]),{toggleStarredEntity:(0,r.useCallback)(()=>t.toggleStarred(l(e)).then(),[e,t]),isStarredEntity:a}}},12307(e,t,a){a.d(t,{Q:()=>u});var i=a(31085),n=a(70205),r=a(89595),s=a(19654),l=a(32725),o=a(63690),c=a(50010);function d(e){let{icon:t,useProps:a}=e.data,{title:n,disabled:r,onClick:l,...o}=a(),c=l?()=>{let e=l();e&&e.catch(()=>{})}:void 0;return"href"in o?(0,i.jsx)(s.Dr,{iconStart:t,href:o.href,onAction:c,isDisabled:r,children:n}):(0,i.jsx)(s.Dr,{iconStart:t,onAction:c,isDisabled:r,children:n})}function p(e){return(0,i.jsx)(n.u,{node:e.item.node,children:(0,i.jsx)(d,{data:e.item.data})})}function u(e){let{UNSTABLE_extraContextMenuItems:t,contextMenuItems:a}=e,{t:n}=(0,r.i)(c.W);return(0,i.jsxs)(s.cQ,{children:[(0,i.jsx)(l.a,{variant:"secondary",icon:(0,i.jsx)(o.BlR,{}),"aria-label":n("entityContextMenu.moreButtonAriaLabel")}),(0,i.jsxs)(s.W1,{placement:"bottom end",children:[t?.map((e,t)=>(0,i.jsx)(s.Dr,{iconStart:(0,i.jsx)(e.Icon,{}),onAction:()=>e.onClick(),children:e.title},`${e.title}-${t}`)),t?.length&&a?.length?(0,i.jsx)(s.bX,{}):null,a?.map(e=>(0,i.jsx)(p,{item:e},e.node.spec.id))]})]})}},95008(e,t,a){a.r(t),a.d(t,{EntityLayoutBui:()=>ea});var i=a(31085),n=a(14041),r=a(93285),s=a(73657),l=a(62445),o=a(40743),c=a(50509),d=a(19735),p=a(90615),u=a(89595),m=a(60603),g=a(55489),h=a(51021),f=a(15448),x=a(22845),y=a(76355),b=a(43151),j=a(50010),v=a(13408),T=a(12860),k=a(68133);let w=(0,a(48119).p)()({styles:{"bui-AvatarRoot":"gNh1vAfzsq8THFv8","bui-AvatarImage":"UTo1RZ1yTUTQjyTy","bui-AvatarFallback":"ZmCUJdIze6ktXtdz"},classNames:{root:"bui-AvatarRoot",image:"bui-AvatarImage",fallback:"bui-AvatarFallback"},propDefs:{size:{dataAttribute:!0,default:"medium"},purpose:{default:"informative"},src:{},name:{},className:{}}}),N=(0,n.forwardRef)((e,t)=>{let{ownProps:a,restProps:r,dataAttributes:s}=(0,k.Z)(w,e),{classes:l,size:o,src:c,name:d,purpose:p}=a,[u,m]=(0,n.useState)("loading");(0,n.useEffect)(()=>{m("loading");let e=new Image;return e.onload=()=>m("loaded"),e.onerror=()=>m("error"),e.src=c,()=>{e.onload=null,e.onerror=null}},[c]);let g=["x-small","small"].includes(o)?1:2,h=d.split(" ").map(e=>e[0]).join("").toLocaleUpperCase("en-US").slice(0,g);return(0,i.jsx)("div",{ref:t,role:"img","aria-label":"informative"===p?d:void 0,"aria-hidden":"decoration"===p||void 0,className:l.root,...s,...r,children:"loaded"===u?(0,i.jsx)("img",{src:c,alt:"",className:l.image}):(0,i.jsx)("div",{"aria-hidden":"true",className:l.fallback,children:h})})});N.displayName="Avatar";var E=a(28237),L=a(69749);a(3837),a(68509);var S=a(28052),A=a(92032),D=a(99278),C=a(73817),I=a(54469);let P=n.forwardRef(({children:e,...t},a)=>{a=(0,I.U)(a);let{pressProps:i}=(0,D.d)({...t,ref:a}),{focusableProps:r}=(0,C.Wc)(t,a),s=n.Children.only(e);(0,n.useEffect)(()=>{},[a,t.isDisabled]);let l=19>parseInt(n.version,10)?s.ref:s.props.ref;return n.cloneElement(s,{...(0,S.v)(i,r,s.props),ref:(0,A.P)(l,a)})}),R="OVBrDVLk9cMf8eGe",O=({users:e})=>{if(0===e.length)return null;if(1===e.length){let t=e[0];return t.href?(0,i.jsxs)(T.N,{href:t.href,variant:"body-medium",standalone:!0,className:R,children:[(0,i.jsx)(N,{src:t.src??"data:,",name:t.name,size:"small",purpose:"decoration"}),t.name]}):(0,i.jsxs)("div",{className:R,children:[(0,i.jsx)(N,{src:t.src??"data:,",name:t.name,size:"small",purpose:"decoration"}),(0,i.jsx)(L.E,{variant:"body-medium",children:t.name})]})}return(0,i.jsx)("ul",{className:"dGAkWeg0vjQStoX_",children:e.map((e,t)=>(0,i.jsx)("li",{children:(0,i.jsxs)(E.k,{children:[e.href?(0,i.jsx)(T.N,{href:e.href,"aria-label":e.name,className:"HoW5Wjzr74sm26Zo",children:(0,i.jsx)(N,{src:e.src??"data:,",name:e.name,size:"small",purpose:"decoration"})}):(0,i.jsx)(P,{children:(0,i.jsx)(N,{src:e.src??"data:,",name:e.name,size:"small",purpose:"informative"})}),(0,i.jsx)(E.m,{children:e.name})]})},e.href??`${t}:${e.name}`))})};var F=a(32725),z=a(74891),W=a(49185),B=a(58077),$=a(76272),U=a(3438),_=a(53320),M=a(79811),G=a(15542),H=a(63690),K=a(73466),V=a(12307);function Y(e){let t=(0,U.k)();return(0,i.jsx)(v.a,{as:"ul",display:"inline",m:"0",p:"0",style:{listStyle:"none"},children:e.refs.map((e,a)=>(0,i.jsxs)(v.a,{as:"li",display:"inline",children:[a>0?", ":null,(0,i.jsx)(T.N,{href:t(e),standalone:!0,children:e.name})]},(0,B.U2)(e)))})}function Z(e){let{t}=(0,u.i)(M.j),{isStarredEntity:a,toggleStarredEntity:n}=(0,G.w)(e.entity);return(0,i.jsx)(F.a,{variant:"secondary","aria-label":t(a?"favoriteEntity.removeFromFavorites":"favoriteEntity.addToFavorites"),icon:a?(0,i.jsx)(H.xe7,{}):(0,i.jsx)(H.WN7,{}),onPress:()=>n()})}function Q(e){let{entity:t}=(0,x.TY)(),a=(0,p.K)(f.s),r=(0,y.f)(t??a),s=function(e){let t=function(e){let t=(0,c.gf)($.v),a=(0,U.k)(),i=(0,n.useMemo)(()=>(0,_.t)(e,W.vv),[e]),r=(0,n.useMemo)(()=>i.map(e=>(0,B.U2)(e)),[i]),{value:s}=(0,K.A)(async()=>0===r.length?[]:(await t.getEntitiesByRefs({entityRefs:r,fields:["kind","metadata.name","metadata.namespace","metadata.title","spec.profile"]})).items,[t,r]);return i.map((e,t)=>{let i=s?.[t],n=i?.spec?.profile;return{name:i?.metadata.title??i?.metadata.name??e.name,src:n?.picture,href:a(e)}})}(e),{t:a}=(0,u.i)(j.W);return(0,n.useMemo)(()=>{if(!e)return[];let n=[],r=e.spec?.lifecycle?.toString();for(let[s,l]of(r&&n.push({label:a("entityLabels.lifecycleLabel"),value:r}),t.length>0&&n.push({label:a("entityLabels.ownerLabel"),value:(0,i.jsx)(O,{users:t})}),Object.entries((0,_.t)(e,W.jn).reduce((e,t)=>{let a=function(e){switch(e.kind.toLocaleLowerCase("en-US")){case"system":return"systemLabel";case"domain":return"domainLabel";default:return"partOfLabel"}}(t);return e[a]=[...e[a]??[],t],e},{}))))n.push({label:a(`entityLabels.${s}`),value:(0,i.jsx)(Y,{refs:l})});return n},[e,t,a])}(t),l=t?.spec?.type?.toString();return(0,i.jsx)(z.Y,{title:r.primaryTitle,tags:[{label:t?.kind??a.kind},...l?[{label:l}]:[]],metadata:s,tabs:t?e.tabs:void 0,activeTabId:e.activeTabId,customActions:t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(Z,{entity:t}),(0,i.jsx)(V.Q,{contextMenuItems:e.contextMenuItems})]}):void 0})}var q=a(63156),X=a(7221);function J(e){let t=(0,c.gf)(d.U),a=(0,p.K)(f.s),{entity:n}=(0,x.TY)(),s=(0,y.f)(n??a),l=t.getOptionalString("app.title")||"Backstage";return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.m,{titleTemplate:`${s.primaryTitle} | %s | ${l}`,defaultTitle:`${s.primaryTitle} | ${l}`}),e.activeContentTitle&&(0,i.jsx)(r.m,{title:e.activeContentTitle})]})}function ee(){let{entity:e}=(0,x.TY)(),[t,a]=(0,s.useSearchParams)(),r=t.get("inspect"),l=(0,n.useCallback)(e=>a(t=>{let a=new URLSearchParams(t);return a.set("inspect",e),a}),[a]),o=(0,n.useCallback)(()=>a(e=>{let t=new URLSearchParams(e);return t.delete("inspect"),t}),[a]);return e?(0,i.jsx)(b.q,{entity:e,initialTab:r||void 0,open:"string"==typeof r,onClose:o,onSelect:l}):null}function et(e){let t,{kind:a}=(0,p.K)(f.s),{entity:n,loading:r,error:s}=(0,x.TY)(),{t:c}=(0,u.i)(j.W);return s?t=(0,i.jsx)(l.m,{children:(0,i.jsx)(o.F,{status:"danger",title:s.toString()})}):n?t=(0,i.jsx)(l.m,{children:e.content??(0,i.jsx)(h.zK,{})}):r||(t=(0,i.jsx)(l.m,{children:e.NotFoundComponent??(0,i.jsx)(o.F,{status:"warning",title:c("entityLabels.warningPanelTitle"),description:c("entityPage.notFoundMessage",{kind:a,link:(0,i.jsx)(m.N_,{to:"https://backstage.io/docs/features/software-catalog/references",children:c("entityPage.notFoundLinkText")})})})})),(0,i.jsxs)(i.Fragment,{children:[r&&(0,i.jsx)(g.k,{}),t]})}function ea(e){let{routes:t,NotFoundComponent:a,groupDefinitions:r,defaultContentOrder:s,contextMenuItems:l,HeaderComponent:o}=e,{entity:c}=(0,x.TY)(),d=function(e){let{routes:t,groupDefinitions:a,defaultContentOrder:i}=e,{route:r,element:s}=(0,q.S)(t);return{tabs:(0,n.useMemo)(()=>(function(e,t,a){let i=Object.entries(t).reduce((e,[t,a])=>{for(let i of a.aliases??[])e[i]=t;return e},{}),n=e.reduce((e,a)=>{let n=a.group&&(t[a.group]?a.group:i[a.group]),r=n?t[n]:void 0,s=n&&r?n:a.path;return e[s]??={group:r,items:[]},e[s].items.push({id:a.path,label:a.title,href:a.path.replace(/\/\*$/,"").replace(/^\//,"")}),e},{}),r=Object.keys(t),s=Object.entries(n).sort(([e],[t])=>{let a=r.indexOf(e),i=r.indexOf(t);return -1!==a&&-1!==i?a-i:-1!==a?-1:+(-1!==i)});for(let[,e]of s)e.group&&(e.group.contentOrder??a)==="title"&&e.items.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:"base"}));return s.map(([e,t])=>t.group&&t.items.length>1?{id:e,label:t.group.title,items:t.items}:t.items[0])})(t,a,i),[t,a,i]),activeTabId:r?.path,content:s,title:r?.title}}({routes:(0,X.I)(t,c),groupDefinitions:r,defaultContentOrder:s});return(0,i.jsxs)("main",{children:[(0,i.jsx)(J,{activeContentTitle:d.title}),o?(0,i.jsx)(o,{tabs:d.tabs,activeTabId:d.activeTabId}):(0,i.jsx)(Q,{tabs:d.tabs,activeTabId:d.activeTabId,contextMenuItems:l}),(0,i.jsx)(et,{content:d.content,NotFoundComponent:a}),(0,i.jsx)(ee,{})]})}},7221(e,t,a){a.d(t,{I:()=>i});function i(e,t){return t?e.filter(e=>!e.if||e.if(t)):[]}},63156(e,t,a){a.d(t,{s:()=>B,S:()=>W});var i=a(31085),n=a(14041),r=a(93285),s=a(18690),l=a(21613),o=a(51021),c=a(53373),d=a.n(c),p=a(58837);let u=(0,p.A)(e=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:e.spacing(3),paddingBottom:e.spacing(3),paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"EntityTabsPanel"});function m(e){let{className:t,stretch:a,noPadding:n,children:r,...s}=e,l=u();return(0,i.jsx)("article",{...s,className:d()(l.root,t,{[l.stretch]:a,[l.noPadding]:n}),children:r})}var g=a(77125),h=a(74953),f=a(89595),x=a(73657),y=a(72501),b=a(55197),j=a(11192),v=a(99703),T=a(7031),k=a(6924),w=a(64947),N=a(8109),E=a(46423),L=a(5951),S=a(58007),A=a(50509),D=a(80615);function C(e,t,a){if(a){if("string"==typeof e){let a=t.getIcon(e);return a?(0,i.jsx)(a,{}):void 0}return e}}let I=(0,n.forwardRef)(function(e,t){let[a,r]=(0,n.useState)(null),s=(0,A.gf)(D.s),l=!!a,{classes:o,className:c,disabled:p=!1,disableFocusRipple:u=!1,items:m,fullWidth:g,indicator:h,label:f,onSelectTab:v,selected:T,textColor:I="inherit",wrapped:P=!1,highlightedButton:R,showIcons:O=!1}=e,F=C(e.icon,s,O),z="data-testid"in e&&e["data-testid"],W=()=>{r(null)},B=[o?.root,o?.[`textColor${(0,j.A)(I)}`],o&&{[o.disabled]:p,[o.selected]:T,[o.labelIcon]:f&&F,[o.fullWidth]:g,[o.wrapped]:P},c];if(1===m.length)return(0,i.jsxs)(w.A,{focusRipple:!u,"data-testid":z,className:d()(B,o&&{[o.labelIcon]:f&&(m[0].icon??F)}),ref:t,role:"tab","aria-selected":T,disabled:p,component:x.Link,onClick:v,to:m[0]?.path,startIcon:C(m[0].icon,s,O),children:[(0,i.jsx)(y.A,{className:o?.wrapper,variant:"button",children:m[0].label}),h]});let $=O&&m.some(e=>e.icon);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(w.A,{"data-testid":z,focusRipple:!u,className:d()(B),ref:t,role:"tab","aria-selected":T,disabled:p,onClick:e=>{r(e.currentTarget)},startIcon:F,children:[(0,i.jsx)(y.A,{className:o?.wrapper,variant:"button",children:f}),(0,i.jsx)(k.default,{})]}),(0,i.jsx)(b.Ay,{id:l?"tabbed-submenu":void 0,open:l,anchorEl:a,onClose:W,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:(0,i.jsx)(S.A,{component:"nav",children:m.map(e=>{let a=C(e.icon,s,O);return(0,i.jsxs)(N.A,{button:!0,focusRipple:!u,classes:{selected:d()(o?.selectedButton),default:d()(o?.unselectedButton),disabled:d()(o?.disabled)},ref:t,"aria-selected":T,disabled:p,selected:R===e.id,component:x.Link,onClick:e=>{W(),v?.(e)},to:e.path,children:[a&&(0,i.jsx)(E.A,{children:a}),(0,i.jsx)(L.A,{inset:!a&&$,primary:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y.A,{variant:"button",children:e.label}),h]})})]},`popover_item_${e.id}`)})})})]})}),P=(0,T.A)(e=>(0,v.A)({root:{...e.typography.button,maxWidth:264,minWidth:72,position:"relative",boxSizing:"border-box",minHeight:48,flexShrink:0,padding:"6px 12px",[e.breakpoints.up("sm")]:{padding:"6px 24px"},overflow:"hidden",whiteSpace:"normal",textAlign:"center",[e.breakpoints.up("sm")]:{minWidth:160}},defaultTab:{...e.typography.caption,padding:e.spacing(3,3),textTransform:"uppercase",fontWeight:e.typography.fontWeightBold,color:e.palette.text.secondary},labelIcon:{minHeight:72,paddingTop:9,"& $wrapper > *:first-child":{marginBottom:6}},textColorInherit:{color:"inherit",opacity:.7,"&$selected":{opacity:1},"&$disabled":{opacity:.5}},selectedButton:{color:`${e.palette.text.primary}`,opacity:"1"},unselectedButton:{color:`${e.palette.text.secondary}`,opacity:"0.7"},textColorPrimary:{color:e.palette.text.secondary,"&$selected":{color:e.palette.primary.main},"&$disabled":{color:e.palette.text.disabled}},textColorSecondary:{color:e.palette.text.secondary,"&$selected":{color:e.palette.secondary.main},"&$disabled":{color:e.palette.text.disabled}},selected:{},disabled:{},fullWidth:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},wrapped:{fontSize:e.typography.pxToRem(12),lineHeight:1.5},wrapper:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"100%",flexDirection:"row"}}),{name:"MuiTab"})(I);var R=a(50010);let O=(0,p.A)(e=>({tabsWrapper:{gridArea:"pageSubheader",backgroundColor:e.palette.background.paper,paddingLeft:e.spacing(3),minWidth:0},defaultTab:{...e.typography.caption,padding:e.spacing(3,3),textTransform:"uppercase",fontWeight:e.typography.fontWeightBold,color:e.palette.text.secondary},selected:{color:e.palette.text.primary},tabRoot:{"&:hover":{backgroundColor:e.palette.background.default,color:e.palette.text.primary}}}),{name:"BackstageHeaderTabs"});function F(e,t,a){if(e)return t[e]?e:a[e]}function z(e){let t=O(),{t:a}=(0,f.i)(R.W),{tabs:r,selectedIndex:s=0,showIcons:l,groupDefinitions:o,defaultContentOrder:c="title"}=e,d=(0,n.useMemo)(()=>Object.entries(o).reduce((e,[t,a])=>{for(let i of a.aliases??[])e[i]=t;return e},{}),[o]),p=(0,n.useMemo)(()=>{let e=r.reduce((e,t)=>{let a=F(t.group,o,d),i=a?o[a]:void 0,n=i&&a?a:t.id;return e[n]=e[n]??{group:i,items:[]},e[n].items.push(t),e},{}),t=Object.keys(o),a=Object.entries(e).sort(([e],[a])=>{let i=t.indexOf(e),n=t.indexOf(a);return -1!==i&&-1!==n?i-n:-1!==i?-1:+(-1!==n)});for(let[e,t]of a){let a=o[e];a&&"title"===(a.contentOrder??c)&&t.items.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:"base"}))}return a},[r,o,d,c]),u=s>=0?r[s]:void 0,m=F(u?.group,o,d);return(0,i.jsx)(g.A,{className:t.tabsWrapper,children:(0,i.jsx)(h.A,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":a("entityTabs.tabsAriaLabel"),value:m??u?.id??!1,children:p.map(([e,a])=>(0,i.jsx)(P,{"data-testid":`header-tab-${e}`,className:t.defaultTab,classes:{selected:t.selected,root:t.tabRoot},label:a.group?.title,icon:a.group?.icon,value:e,items:a.items,highlightedButton:u?.id,showIcons:l},e))})})}function W(e){let t=(0,s.useParams)(),a=(0,n.useMemo)(()=>e.map(({path:e,children:t})=>({caseSensitive:!1,path:function(e){let t=e.replace(/^\/+/,"");if(t.endsWith("*"))return t;let a=t.replace(/\/+$/,"");return a?`${a}/*`:""}(e),element:t})),[e]),i=(0,s.useRoutes)(a)??void 0,r=t["*"]??"";r.startsWith("/")||(r=`/${r}`);let[o]=(0,l.ue)(a,r)??[],c=o?a.findIndex(e=>e.path===o.route.path):-1;return{index:c,element:i,route:e[c]}}function B(e){let{routes:t,groupDefinitions:a,defaultContentOrder:s,showIcons:l}=e,{index:c,route:d,element:p}=W(t),u=(0,n.useMemo)(()=>t.map(e=>{let{path:t,title:a,group:i,icon:n}=e,r=t;return{group:i,id:t,path:r=(r=r.replace(/\/\*$/,"")).replace(/^\//,""),label:a,icon:n}}),[t]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(z,{tabs:u,selectedIndex:c,showIcons:l,groupDefinitions:a,defaultContentOrder:s}),(0,i.jsxs)(m,{children:[(0,i.jsx)(r.m,{title:d?.title}),p??(0,i.jsx)(o.zK,{})]})]})}}}]);
//# sourceMappingURL=3641.3c249272db15.chunk.js.map