UNPKG

@techdocs/cli

Version:

Utility CLI for managing TechDocs sites in Backstage.

2 lines • 9.9 kB
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["6333"],{27597:function(e,t,a){var r=a(15755),n=a(25357);t.default=void 0;var i=n(a(2784));t.default=(0,r(a(50175)).default)(i.createElement("path",{d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward")},35402:function(e,t,a){a.d(t,{r:()=>P});var r=a(52322),n=a(94339),i=a(14503),l=a(24579),s=a(32552),o=a(85256),d=a(79692),c=a(77392),p=a(16709),h=a.n(p),m=a(53244),u=a(90436),g=a(27597),x=a(13039);let f=(0,d.Z)(e=>({root:{maxWidth:"fit-content",padding:e.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:e.palette.textSubtle},arrow:{color:e.palette.textSubtle}}),{name:"BackstageBottomLink"});function j(e){let{link:t,title:a,onClick:n}=e,i=f();return(0,r.jsxs)(m.Z,{children:[(0,r.jsx)(o.Z,{}),(0,r.jsx)(x.rU,{to:t,onClick:n,underline:"none",children:(0,r.jsxs)(m.Z,{display:"flex",alignItems:"center",className:i.root,children:[(0,r.jsx)(m.Z,{className:i.boxTitle,fontWeight:"fontWeightBold",m:1,children:(0,r.jsx)(u.Z,{children:(0,r.jsx)("strong",{children:a})})}),(0,r.jsx)(g.default,{className:i.arrow})]})})]})}var b=a(2784),y=a(37667),v=a(33414),k=a(2210),C=a(14380);let Z=e=>{let{slackChannel:t}=e,{t:a}=(0,C.i)(k.v);return t?"string"==typeof t?(0,r.jsx)(u.Z,{children:a("errorBoundary.title",{slackChannel:t})}):t.href?(0,r.jsx)(y.Q,{to:t.href,variant:"contained",children:t.name}):(0,r.jsx)(u.Z,{children:a("errorBoundary.title",{slackChannel:t.name})}):null},T=class extends b.Component{constructor(e){super(e),this.state={error:void 0,errorInfo:void 0}}componentDidCatch(e,t){console.error(`ErrorBoundary, error: ${e}`,{error:e,errorInfo:t}),this.setState({error:e,errorInfo:t})}render(){let{slackChannel:e,children:t}=this.props,{error:a}=this.state;return a?(0,r.jsx)(v.y,{title:"Something Went Wrong",error:a,children:(0,r.jsx)(Z,{slackChannel:e})}):t}},B=(0,d.Z)(e=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},contentAlignBottom:{display:"flex",alignItems:"self-end"},header:{padding:e.spacing(2,2,2,2.5)},headerTitle:{fontWeight:e.typography.fontWeightBold},headerSubheader:{paddingTop:e.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),D=(0,c.Z)(e=>({root:{display:"inline-block",padding:e.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(i.Z),w={flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px",breakInside:"avoid-page","@media print":{height:"auto"}}},I={fullHeight:{flex:1},gridItem:{flex:1}};function P(e){let{title:t,subheader:a,divider:d=!0,deepLink:c,slackChannel:p,errorBoundaryProps:m,variant:u,alignContent:g="normal",children:x,headerStyle:f,headerProps:b,icon:y,action:v,actionsClassName:k,actions:C,cardClassName:Z,actionsTopRight:P,className:S,noPadding:W,titleTypographyProps:N,subheaderTypographyProps:E}=e,_=B(),A={},H={};return u&&u.split(/[\s]+/g).forEach(e=>{A={...A,...w[e]},H={...H,...I[e]}}),(0,r.jsx)(n.Z,{style:A,className:S,children:(0,r.jsxs)(T,{...m||(p?{slackChannel:p}:{}),children:[t&&(0,r.jsx)(s.Z,{classes:{root:h()(_.header),title:_.headerTitle,subheader:_.headerSubheader,avatar:_.headerAvatar,action:_.headerAction,content:_.headerContent},title:t,subheader:a||y?(0,r.jsxs)("div",{"data-testid":"info-card-subheader",children:[a&&(0,r.jsx)("div",{className:_.subheader,children:a}),y]}):null,action:v,style:{...f},titleTypographyProps:N,subheaderTypographyProps:E,...b}),P&&(0,r.jsx)(D,{children:P}),d&&(0,r.jsx)(o.Z,{}),(0,r.jsx)(l.Z,{className:h()(Z,{[_.noPadding]:W,[_.contentAlignBottom]:"bottom"===g}),style:H,children:x}),C&&(0,r.jsx)(i.Z,{className:k,children:C}),c&&(0,r.jsx)(j,{...c})]})})}},8005:function(e,t,a){a.r(t),a.d(t,{TechDocsCustomHome:()=>J,CustomDocsPanel:()=>X});var r=a(52322),n=a(2784),i=a(4812),l=a(79692),s=a(58985),o=a(39381),d=a(16162),c=a(47530),p=a(79043),h=a(52265),m=a(84081),u=a(37939),g=a(24615),x=a(51173),f=a(35854),j=a(93048),b=a(47337),y=a(53244),v=a(13314);let k=(0,l.Z)(e=>(0,v.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:e.spacing(2)}}),{name:"BackstageItemCardGrid"});function C(e){let{children:t,...a}=e,n=k(a);return(0,r.jsx)(y.Z,{className:n.root,...a,children:t})}var Z=a(90436);let T=(0,l.Z)(e=>(0,v.Z)({root:{color:e.palette.common.white,padding:e.spacing(2,2,3),backgroundImage:e.getPageTheme({themeId:"card"}).backgroundImage,backgroundPosition:0,backgroundSize:"inherit"}}),{name:"BackstageItemCardHeader"});function B(e){let{title:t,subtitle:a,children:n}=e,i=T(e);return(0,r.jsxs)(y.Z,{className:i.root,children:[a&&(0,r.jsx)(Z.Z,{variant:"subtitle2",component:"h3",children:a}),t&&(0,r.jsx)(Z.Z,{variant:"h6",component:"h4",children:t}),n]})}var D=a(37667),w=a(94339),I=a(14503),P=a(24579),S=a(16111),W=a(77344),N=a(35402),E=a(13039),_=a(1465);let A=(0,l.Z)(e=>({linkSpacer:{paddingTop:e.spacing(.2)},readMoreLink:{paddingTop:e.spacing(.2)}}),{name:"BackstageInfoCardGrid"});var H=a(36295),G=a(84377),L=a(13904),R=a(70862),M=a(14522),F=a(85051),U=a(12753),V=a(6487),$=a(28039);let O=(0,l.Z)(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 z(e){let{tabs:t,onChange:a,selectedIndex:i}=e,[l,s]=(0,n.useState)(i??0),o=O(),d=(0,n.useCallback)((e,t)=>{void 0===i&&s(t),a&&a(t)},[i,a]);return(0,n.useEffect)(()=>{void 0!==i&&s(i)},[i]),(0,r.jsx)(y.Z,{className:o.tabsWrapper,children:(0,r.jsx)($.Z,{indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"tabs",onChange:d,value:l,children:t.map((e,t)=>(0,r.jsx)(V.Z,{"data-testid":`header-tab-${t}`,label:e.label,value:t,className:o.defaultTab,classes:{selected:o.selected,root:o.tabRoot},...e.tabProps},e.id))})})}var Q=a(99503);let q={DocsTable:g.H,DocsCardGrid:e=>{let{entities:t}=e,a=(0,j.t)(x.Fw),n=(0,d.h_)(b.D);return t?(0,r.jsx)(C,{"data-testid":"docs-explore",children:t?.length?t.map((e,t)=>(0,r.jsxs)(w.Z,{children:[(0,r.jsx)(S.Z,{children:(0,r.jsx)(B,{title:e.metadata.title??e.metadata.name})}),(0,r.jsx)(P.Z,{children:e.metadata.description}),(0,r.jsx)(I.Z,{children:(0,r.jsx)(D.Q,{to:a({namespace:(0,f.D)(e.metadata.namespace??"default",n),kind:(0,f.D)(e.kind,n),name:(0,f.D)(e.metadata.name,n)}),color:"primary","data-testid":"read_docs",children:"Read Docs"})})]},t)):null}):null},TechDocsIndexPage:G.TechDocsIndexPage,InfoCardGrid:e=>{let{entities:t,linkContent:a,linkDestination:n}=e,l=A(),s=(0,j.t)(x.Fw),c=(0,d.h_)(b.D),p=(0,d.h_)(_.X),{value:h,loading:m}=(0,i.Z)(async()=>new Map(await Promise.all(t?.map(async e=>{let t=await p.forEntity(e).promise;return[(0,o.eE)(e),t]})||[])));return m?(0,r.jsx)(W.E,{}):t&&t?.length?(0,r.jsx)(C,{"data-testid":"info-card-container",children:t.map(e=>(0,r.jsxs)(N.r,{"data-testid":e?.metadata?.title,title:h?.get((0,o.eE)(e))?.primaryTitle,children:[(0,r.jsx)("div",{children:e?.metadata?.description}),(0,r.jsx)("div",{className:l.linkSpacer}),(0,r.jsx)(E.rU,{to:(e=>{if(n){let t=n(e);if(t)return t}return s({namespace:(0,f.D)(e.metadata.namespace??"default",c),kind:(0,f.D)(e.kind,c),name:(0,f.D)(e.metadata.name,c)})})(e),className:l.readMoreLink,"data-testid":"read-docs-link",children:a||"Read Docs"})]},e.metadata.name))}):null}},X=({config:e,entities:t,index:a})=>{let m=(0,l.Z)({panelContainer:{marginBottom:"2rem",...e.panelCSS?e.panelCSS:{}}})(),{loading:u,isOwnedEntity:g}=function(){let e=(0,d.h_)(c.$),{loading:t,value:a}=(0,i.Z)(async()=>{let{ownershipEntityRefs:t}=await e.getBackstageIdentity();return t},[]);return{loading:t,isOwnedEntity:(0,n.useMemo)(()=>{let e=new Set(a??[]);return t=>{for(let a of(0,p.h)(t,s.S4).map(o.eE))if(e.has(a))return!0;return!1}},[a])}}(),x=q[e.panelType],f=t.filter(t=>"ownedByUser"===e.filterPredicate?!u&&g(t):"function"==typeof e.filterPredicate&&e.filterPredicate(t)),j=e.panelProps?.CustomHeader||(()=>(0,r.jsx)(L.y,{title:e.title,description:e.description,children:0===a?(0,r.jsx)(R.q,{children:"Discover documentation in your ecosystem."}):null}));return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j,{}),(0,r.jsx)("div",{className:m.panelContainer,children:(0,r.jsx)(h.UO,{children:(0,r.jsx)(x,{"data-testid":"techdocs-custom-panel",entities:f,...e.panelProps})})})]})},J=e=>{let{tabsConfig:t,filter:a,CustomPageWrapper:l}=e,[s,o]=(0,n.useState)(0),c=(0,d.h_)(m.A),{value:p,loading:h,error:g}=(0,i.Z)(async()=>(await c.getEntities({filter:{...a,[`metadata.annotations.${Q.w5}`]:u.n},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(e=>!!e.metadata.annotations?.[Q.w5])),x=t[s];return h?(0,r.jsx)(H.j,{CustomPageWrapper:l,children:(0,r.jsx)(M.V,{children:(0,r.jsx)(W.E,{})})}):g?(0,r.jsx)(H.j,{CustomPageWrapper:l,children:(0,r.jsx)(M.V,{children:(0,r.jsx)(F.G,{severity:"error",title:"Could not load available documentation.",children:(0,r.jsx)(U.O,{language:"text",text:g.toString()})})})}):(0,r.jsxs)(H.j,{CustomPageWrapper:l,children:[(0,r.jsx)(z,{selectedIndex:s,onChange:e=>o(e),tabs:t.map(({label:e},t)=>({id:t.toString(),label:e}))}),(0,r.jsx)(M.V,{"data-testid":"techdocs-content",children:x.panels.map((e,t)=>(0,r.jsx)(X,{config:e,entities:p||[],index:t},t))})]})}},84377:function(e,t,a){a.r(t),a.d(t,{TechDocsIndexPage:()=>l});var r=a(52322),n=a(73557),i=a(74556);let l=e=>(0,n.pC)()||(0,r.jsx)(i.u,{...e})}}]); //# sourceMappingURL=6333.0782515a.chunk.js.map