@techdocs/cli
Version:
Utility CLI for managing TechDocs sites in Backstage.
22 lines • 10.3 kB
JavaScript
;(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["6718"],{68887(e,t,n){var r=n(4293),a=n(78920);t.default=void 0;var i=a(n(14041));t.default=(0,r(n(74044)).default)(i.createElement("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft")},63798(e,t,n){var r=n(4293),a=n(78920);t.default=void 0;var i=a(n(14041));t.default=(0,r(n(74044)).default)(i.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")},73293(e,t,n){n.d(t,{DefaultEntityContentLayout:()=>Z});var r=n(31085),a=n(14041),i=n(58837),l=n(22845),s=n(65605),o=n(50509),c=n(62335),d=n(73466);let f="core.backstage.entitySwitch",m=e=>null;(0,s.h)(m,f,!0);let h=e=>{let{entity:t,loading:n}=(0,l.TY)(),a=(0,o.Q2)(),i=(0,c.O)(e.children,e=>e.selectByComponentData({key:f,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(e=>{if(n&&!t)return[];let{if:r,children:i}=e.props;return t?[{if:r?.(t,{apis:a}),children:i}]:[{if:void 0===r,children:i}]}),[a,t,n]);if(i.some(e=>"object"==typeof e.if&&"then"in e.if))return(0,r.jsx)(u,{results:i,renderMultipleMatches:e.renderMultipleMatches});if("all"===e.renderMultipleMatches){let e=i.filter(e=>e.if).map(e=>e.children);return 0===e.length?p(i):(0,r.jsx)(r.Fragment,{children:e})}return i.find(e=>e.if)?.children??p(i)};function u({results:e,renderMultipleMatches:t}){let{loading:n,value:a}=(0,d.A)(async()=>{let n=e.map(async({if:e,children:t})=>{try{if(await e)return t}catch{}return null});if("all"===t){let t=(await Promise.all(n)).filter(Boolean);return 0===t.length?p(e):(0,r.jsx)(r.Fragment,{children:t})}return(await Promise.all(n)).find(Boolean)??p(e)},[e]);return n||!a?null:a}function p(e){return e.filter(e=>void 0===e.if)[0]?.children??null}h.Case=m;var g=n(18690),y=n(76272),x=n(50375),v=n(51700),j=n(50010),w=n(89595),b=n(98197),A=n(33167);function C(e){let{open:t,onClose:n,onConfirm:i,entity:l}=e,[s,c]=(0,a.useState)(!1),d=(0,o.gf)(y.v),f=(0,o.gf)(x.k),{t:m}=(0,w.i)(j.W),h=async()=>{c(!0);try{let e=l.metadata.uid;await d.removeEntityByUid(e),i()}catch(e){f.post({message:(0,v.iT)(e).message})}finally{c(!1)}};return(0,r.jsxs)(b.lG,{isOpen:t,onOpenChange:e=>!e&&n(),children:[(0,r.jsx)(b.c7,{children:m("deleteEntity.dialogTitle")}),(0,r.jsxs)(b.Es,{children:[(0,r.jsx)(A.$,{variant:"secondary",onPress:n,children:m("deleteEntity.cancelButtonTitle")}),(0,r.jsx)(A.$,{variant:"primary",destructive:!0,loading:s,onPress:h,children:m("deleteEntity.deleteButtonTitle")})]})]})}var E=n(81219),k=n(50714),$=n(40743);function L(e){return e?.metadata?.annotations?.["backstage.io/orphan"]==="true"}function N(){let e=(0,g.useNavigate)(),t=(0,E.S)(k.rQ),[n,i]=(0,a.useState)(!1),{entity:s}=(0,l.tN)(),{t:o}=(0,w.i)(j.W),c=async()=>{i(!1),e(t())};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)($.F,{status:"warning",icon:!0,title:o("deleteEntity.description"),customActions:(0,r.jsx)(A.$,{size:"small",variant:"tertiary",destructive:!0,onPress:()=>i(!0),children:o("deleteEntity.actionButtonTitle")})}),(0,r.jsx)(C,{open:n,entity:s,onConfirm:c,onClose:()=>i(!1)})]})}var S=n(97673),F=n(13408);async function M(e,t){let n=e.relations?.map(e=>e.targetRef);if(!n||n?.length<1||n.length>1e3)return[];let r=await t.getEntitiesByRefs({entityRefs:n,fields:["kind","metadata.name","metadata.namespace"]});return n.filter((e,t)=>void 0===r.items[t])}async function W(e,t){let n=t.apis.get(y.v);if(!n)throw Error(`No implementation available for ${y.v}`);return(await M(e,n)).length>0}function B(){let{entity:e}=(0,l.tN)(),t=(0,o.gf)(y.v),{loading:n,error:a,value:i}=(0,d.A)(async()=>M(e,t),[e,t]),{t:s}=(0,w.i)(j.W);return a?(0,r.jsx)(F.a,{mb:"2",children:(0,r.jsx)(S._,{error:a})}):n||!i||0===i.length?null:(0,r.jsx)($.F,{status:"warning",icon:!0,style:{whiteSpace:"pre-line"},description:(0,r.jsxs)(r.Fragment,{children:[s("entityRelationWarningDescription")," ",i.join(", ")]})})}var R=n(58077),T=n(3438);let _=e=>e.error&&"error"===e.level&&"backstage.io/catalog-processing"===e.type;async function z(e,t){return{items:(await t.getEntityAncestors({entityRef:e})).items.map(e=>({errors:(e.entity.status?.items??[]).filter(_).map(e=>e.error).filter(e=>!!e),entity:e.entity})).filter(e=>e.errors.length>0)}}async function P(e,t){let n=t.apis.get(y.v);if(!n)throw Error(`No implementation available for ${y.v}`);return(await z((0,R.U2)(e),n)).items.length>0}function I(){let{entity:e}=(0,l.tN)(),t=(0,R.U2)(e),n=(0,o.gf)(y.v),{loading:a,error:i,value:s}=(0,d.A)(async()=>z(t,n),[t,n]),{t:c}=(0,w.i)(j.W);return i?(0,r.jsx)(F.a,{mb:"2",children:(0,r.jsx)(S._,{error:i})}):a||!s?null:(0,r.jsx)(r.Fragment,{children:s.items.map((t,n)=>(0,r.jsxs)(F.a,{mb:"2",children:[(0,R.U2)(e)!==(0,R.U2)(t.entity)&&(0,r.jsxs)(F.a,{p:"2",children:[c("entityProcessingErrorsDescription")," ",(0,r.jsx)(T.z,{entityRef:t.entity})]}),t.errors.map((e,t)=>(0,r.jsx)(S._,{error:e},t))]},n))})}var D=n(77125),H=n(42899),U=n(29365),O=n(68887),G=n(63798),Q=n(53373),Y=n.n(Q);let q=e=>{let t="dark"===e?"16%":"97%";return`
hsl(0, 0%, ${t}) 0%,
hsla(0, 0%, ${t}, 0.987) 8.1%,
hsla(0, 0%, ${t}, 0.951) 15.5%,
hsla(0, 0%, ${t}, 0.896) 22.5%,
hsla(0, 0%, ${t}, 0.825) 29%,
hsla(0, 0%, ${t}, 0.741) 35.3%,
hsla(0, 0%, ${t}, 0.648) 41.2%,
hsla(0, 0%, ${t}, 0.55) 47.1%,
hsla(0, 0%, ${t}, 0.45) 52.9%,
hsla(0, 0%, ${t}, 0.352) 58.8%,
hsla(0, 0%, ${t}, 0.259) 64.7%,
hsla(0, 0%, ${t}, 0.175) 71%,
hsla(0, 0%, ${t}, 0.104) 77.5%,
hsla(0, 0%, ${t}, 0.049) 84.5%,
hsla(0, 0%, ${t}, 0.013) 91.9%,
hsla(0, 0%, ${t}, 0) 100%
`},J=(0,i.A)(e=>({root:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center"},container:{overflow:"auto",scrollbarWidth:0,"&::-webkit-scrollbar":{display:"none"}},fade:{position:"absolute",width:100,height:"calc(100% + 10px)",transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-10,background:`linear-gradient(90deg, ${q(e.palette.type)})`},fadeRight:{right:-10,background:`linear-gradient(270deg, ${q(e.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-e.spacing(2)},buttonRight:{right:-e.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function K(e){let{scrollStep:t=100,scrollSpeed:n=50,minScrollDistance:i=5,children:l,...s}=e,o=J(e),c=(0,a.useRef)(),[d,f]=function(e){let[[t,n],r]=(0,a.useState)([0,0]);return(0,a.useLayoutEffect)(()=>{let t=e.current;if(!t)return void r([0,0]);let n=()=>{r([t.scrollLeft,t.scrollWidth-t.offsetWidth-t.scrollLeft])};return n(),t.addEventListener("scroll",n),window.addEventListener("resize",n),()=>{t.removeEventListener("scroll",n),window.removeEventListener("resize",n)}},[e]),[t,n]}(c),m=function(e,t,n){let[r,i]=(0,a.useState)(0);return(0,a.useLayoutEffect)(()=>{if(0===r)return;let a=window.performance.now(),l=requestAnimationFrame(l=>{if(!e.current)return;let s=Math.max(n,Math.abs(r)*(l-a)/t)*Math.sign(r);e.current.scrollBy({left:s});let o=r-s;Math.sign(r)!==Math.sign(o)?i(0):i(o)});return()=>cancelAnimationFrame(l)},[e,r,t,n]),i}(c,n,i),h=e=>{c.current&&m(e?t:-t)};return(0,r.jsxs)(D.A,{...s,className:o.root,children:[(0,r.jsx)(H.A,{container:!0,direction:"row",wrap:"nowrap",className:o.container,ref:c,children:l}),(0,r.jsx)(D.A,{className:Y()(o.fade,o.fadeLeft,{[o.fadeHidden]:0===d})}),(0,r.jsx)(D.A,{className:Y()(o.fade,o.fadeRight,{[o.fadeHidden]:0===f})}),d>0&&(0,r.jsx)(U.A,{title:"Scroll Left",onClick:()=>h(!1),className:Y()(o.button,o.buttonLeft,{}),children:(0,r.jsx)(O.default,{})}),f>0&&(0,r.jsx)(U.A,{title:"Scroll Right",onClick:()=>h(!0),className:Y()(o.button,o.buttonRight,{}),children:(0,r.jsx)(G.default,{})})]})}let V=!1,X=(0,i.A)(e=>({root:{display:"flex",flexFlow:"column nowrap",gap:e.spacing(3)},warningArea:{display:"flex",flexDirection:"column",gap:e.spacing(2),marginBottom:e.spacing(3),"&:empty":{marginBottom:0,display:"none"}},mainContent:{display:"flex",flexFlow:"column",gap:e.spacing(3),alignItems:"stretch",minWidth:0},infoArea:{display:"flex",flexFlow:"column nowrap",alignItems:"stretch",gap:e.spacing(3),minWidth:0,"& > *":{flexShrink:0,flexGrow:0}},summaryArea:{minWidth:0,margin:e.spacing(1)},summaryCard:{flex:"0 0 auto",width:"100%","& + &":{marginLeft:e.spacing(3)}},contentArea:{display:"flex",flexFlow:"column",gap:e.spacing(3),alignItems:"stretch",minWidth:0},[e.breakpoints.up("md")]:{root:{display:"grid",gap:e.spacing(3),gridTemplateAreas:({summaryCards:e})=>`
"${e?"summary":"content"} info"
"content info"
`,gridTemplateColumns:({infoCards:e})=>e?"2fr 1fr":"1fr",alignItems:"start"},mainContent:{display:"contents"},contentArea:{gridArea:"content"},summaryArea:{gridArea:"summary",margin:e.spacing(1)},infoArea:{gridArea:"info",position:"sticky",top:e.spacing(3),maxHeight:"100vh",overflowY:"auto",alignSelf:"start",alignItems:"stretch",scrollbarWidth:"none",msOverflowStyle:"none","&::-webkit-scrollbar":{display:"none"}},summaryCard:{width:"auto"}}}));function Z(e){let{cards:t}=e,n=t.filter(e=>"info"===e.type),i=t.filter(e=>"summary"===e.type),l=t.filter(e=>!e.type||"content"===e.type);i.length>0&&!V&&(V=!0,console.warn("The 'summary' entity card type has been removed. Please update your cards to use 'content' or 'info' types instead."));let s=X({infoCards:!!n.length,summaryCards:!!i.length,contentCards:!!l.length});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:s.warningArea,children:[(0,r.jsx)(h,{children:(0,r.jsx)(h.Case,{if:L,children:(0,r.jsx)(N,{})})}),(0,r.jsx)(h,{children:(0,r.jsx)(h.Case,{if:W,children:(0,r.jsx)(B,{})})}),(0,r.jsx)(h,{children:(0,r.jsx)(h.Case,{if:P,children:(0,r.jsx)(I,{})})})]}),(0,r.jsxs)("div",{className:s.root,children:[n.length>0?(0,r.jsx)("div",{className:s.infoArea,children:n.map((e,t)=>(0,r.jsx)(a.Fragment,{children:e.element},e.element.key??t))}):null,(0,r.jsxs)("div",{className:s.mainContent,children:[i.length>0?(0,r.jsx)("div",{className:s.summaryArea,children:(0,r.jsx)(K,{scrollStep:400,scrollSpeed:100,children:i.map((e,t)=>(0,r.jsx)("div",{className:s.summaryCard,children:e.element},e.element.key??t))})}):null,l.length>0?(0,r.jsx)("div",{className:s.contentArea,children:l.map((e,t)=>(0,r.jsx)(a.Fragment,{children:e.element},e.element.key??t))}):null]})]})]})}}}]);
//# sourceMappingURL=6718.89aeb24410af.chunk.js.map