UNPKG

@techdocs/cli

Version:

Utility CLI for managing TechDocs sites in Backstage.

2 lines • 6.03 kB
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["7226"],{68817(e,a,t){t.d(a,{TechDocsCustomHome:()=>Z});var r=t(31085),n=t(14041),i=t(73466),s=t(58837),d=t(49185),l=t(58077),o=t(50509),c=t(48203),p=t(53320),m=t(59378),u=t(76272),g=t(74854),h=t(31314),x=t(90898),f=t(99255),j=t(81219),b=t(19735),k=t(77125),A=t(99703);let C=(0,s.A)(e=>(0,A.A)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:e.spacing(2)}}),{name:"BackstageItemCardGrid"});function v(e){let{children:a,...t}=e,n=C(t);return(0,r.jsx)(k.A,{className:n.root,...t,children:a})}var y=t(72501);let S=(0,s.A)(e=>(0,A.A)({root:{color:e.getPageTheme({themeId:"card"}).fontColor,padding:e.spacing(2,2,3),backgroundImage:e.getPageTheme({themeId:"card"}).backgroundImage,backgroundPosition:0,backgroundSize:"inherit"}}),{name:"BackstageItemCardHeader"});function P(e){let{title:a,subtitle:t,children:n}=e,i=S(e);return(0,r.jsxs)(k.A,{className:i.root,children:[t&&(0,r.jsx)(y.A,{variant:"subtitle2",component:"h3",children:t}),a&&(0,r.jsx)(y.A,{variant:"h6",component:"h4",children:a}),n]})}var T=t(45463),w=t(40703),B=t(59469),I=t(48653),U=t(57369),N=t(55489),W=t(89439),_=t(60603),D=t(87623);let V=(0,s.A)(e=>({linkSpacer:{paddingTop:e.spacing(.2)},readMoreLink:{paddingTop:e.spacing(.2)}}),{name:"BackstageInfoCardGrid"});var M=t(59821),G=t(47677),R=t(15179),E=t(45794),H=t(84391),L=t(87187),z=t(4809),O=t(38605),$=t(74953);let F=(0,s.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 K(e){let{tabs:a,onChange:t,selectedIndex:i}=e,[s,d]=(0,n.useState)(i??0),l=F(),o=(0,n.useCallback)((e,a)=>{void 0===i&&d(a),t&&t(a)},[i,t]);return(0,n.useEffect)(()=>{void 0!==i&&d(i)},[i]),(0,r.jsx)(k.A,{className:l.tabsWrapper,children:(0,r.jsx)($.A,{indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"tabs",onChange:o,value:s,children:a.map((e,a)=>(0,r.jsx)(O.A,{"data-testid":`header-tab-${a}`,label:e.label,value:a,className:l.defaultTab,classes:{selected:l.selected,root:l.tabRoot},...e.tabProps},e.id))})})}var Y=t(89595),q=t(64009),J=t(78931);let Q={DocsTable:h.o,DocsCardGrid:e=>{let{entities:a}=e,t=(0,j.S)(x.Oc),n=(0,o.gf)(b.U);return a?(0,r.jsx)(v,{"data-testid":"docs-explore",children:a?.length?a.map((e,a)=>(0,r.jsxs)(w.A,{children:[(0,r.jsx)(U.A,{children:(0,r.jsx)(P,{title:e.metadata.title??e.metadata.name})}),(0,r.jsx)(I.A,{children:e.metadata.description}),(0,r.jsx)(B.A,{children:(0,r.jsx)(T.z,{to:t({namespace:(0,f.V)(e.metadata.namespace??"default",n),kind:(0,f.V)(e.kind,n),name:(0,f.V)(e.metadata.name,n)}),color:"primary","data-testid":"read_docs",children:"Read Docs"})})]},a)):null}):null},TechDocsIndexPage:G.TechDocsIndexPage,InfoCardGrid:e=>{let{entities:a,linkContent:t,linkDestination:n}=e,s=V(),d=(0,j.S)(x.Oc),c=(0,o.gf)(b.U),p=(0,o.gf)(D.n),{value:m,loading:u}=(0,i.A)(async()=>new Map(await Promise.all(a?.map(async e=>{let a=await p.forEntity(e).promise;return[(0,l.U2)(e),a]})||[])));return u?(0,r.jsx)(N.k,{}):a&&a?.length?(0,r.jsx)(v,{"data-testid":"info-card-container",children:a.map(e=>(0,r.jsxs)(W.n,{"data-testid":e?.metadata?.title,title:m?.get((0,l.U2)(e))?.primaryTitle,children:[(0,r.jsx)("div",{children:e?.metadata?.description}),(0,r.jsx)("div",{className:s.linkSpacer}),(0,r.jsx)(_.N_,{to:(e=>{if(n){let a=n(e);if(a)return a}return d({namespace:(0,f.V)(e.metadata.namespace??"default",c),kind:(0,f.V)(e.kind,c),name:(0,f.V)(e.metadata.name,c)})})(e),className:s.readMoreLink,"data-testid":"read-docs-link",children:t||"Read Docs"})]},(0,l.U2)(e)))}):null}},X=({config:e,entities:a,index:t})=>{let u=(0,s.A)({panelContainer:{marginBottom:"2rem",...e.panelCSS?e.panelCSS:{}}})(),{loading:g,isOwnedEntity:h}=function(){let e=(0,o.gf)(c.K),{loading:a,value:t}=(0,i.A)(async()=>{let{ownershipEntityRefs:a}=await e.getBackstageIdentity();return a},[]);return{loading:a,isOwnedEntity:(0,n.useMemo)(()=>{let e=new Set(t??[]);return a=>{for(let t of(0,p.t)(a,d.vv).map(l.U2))if(e.has(t))return!0;return!1}},[t])}}(),x=Q[e.panelType],f=a.filter(a=>"ownedByUser"===e.filterPredicate?!g&&h(a):"function"==typeof e.filterPredicate&&e.filterPredicate(a)),{t:j}=(0,Y.i)(q.M),b=e.panelProps?.CustomHeader||(()=>(0,r.jsx)(R.d,{title:e.title,description:e.description,children:0===t?(0,r.jsx)(E.Y,{children:j("home.supportButton")}):null}));return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{}),(0,r.jsx)("div",{className:u.panelContainer,children:(0,r.jsx)(m.B9,{children:(0,r.jsx)(x,{"data-testid":"techdocs-custom-panel",entities:f,...e.panelProps})})})]})},Z=e=>{let{tabsConfig:a,filter:t,CustomPageWrapper:s}=e,[d,l]=(0,n.useState)(0),c=(0,o.gf)(u.v),{t:p}=(0,Y.i)(q.M),{value:m,loading:h,error:x}=(0,i.A)(async()=>(await c.getEntities({filter:{...t,[`metadata.annotations.${J.As}`]:g.c},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(e=>!!e.metadata.annotations?.[J.As])),f=a[d];return h?(0,r.jsx)(M.S,{CustomPageWrapper:s,children:(0,r.jsx)(H.U,{children:(0,r.jsx)(N.k,{})})}):x?(0,r.jsx)(M.S,{CustomPageWrapper:s,children:(0,r.jsx)(H.U,{children:(0,r.jsx)(L.B,{severity:"error",title:p("error.couldNotLoad"),children:(0,r.jsx)(z.z,{language:"text",text:x.toString()})})})}):(0,r.jsxs)(M.S,{CustomPageWrapper:s,children:[(0,r.jsx)(K,{selectedIndex:d,onChange:e=>l(e),tabs:a.map(({label:e},a)=>({id:a.toString(),label:e}))}),(0,r.jsx)(H.U,{"data-testid":"techdocs-content",children:f.panels.map((e,a)=>(0,r.jsx)(X,{config:e,entities:m||[],index:a},a))})]})}}}]); //# sourceMappingURL=7226.07a43ca65ff9.chunk.js.map