@spotify/backstage-plugin-soundcheck 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -484,5 +484,5 @@ ${ue}`,Gt=c`
484
484
  }
485
485
  }
486
486
  ${M}
487
- ${kt}`,Xt=(e,t,a)=>e();function Yt(e,t=Xt){return{archiveCampaign(a,r){return t(i=>e.request(vt,a,{...r,...i}),"archiveCampaign","mutation")},createCampaign(a,r){return t(i=>e.request(Ct,a,{...r,...i}),"createCampaign","mutation")},createCheck(a,r){return t(i=>e.request(Rt,a,{...r,...i}),"createCheck","mutation")},createProgram(a,r){return t(i=>e.request(Et,a,{...r,...i}),"createProgram","mutation")},deleteCampaign(a,r){return t(i=>e.request(Pt,a,{...r,...i}),"deleteCampaign","mutation")},deleteChecker(a,r){return t(i=>e.request(wt,a,{...r,...i}),"deleteChecker","mutation")},deleteProgram(a,r){return t(i=>e.request($t,a,{...r,...i}),"deleteProgram","mutation")},updateCampaign(a,r){return t(i=>e.request(It,a,{...r,...i}),"updateCampaign","mutation")},updateCheck(a,r){return t(i=>e.request(bt,a,{...r,...i}),"updateCheck","mutation")},updateCollectorConfig(a,r){return t(i=>e.request(St,a,{...r,...i}),"updateCollectorConfig","mutation")},updateProgram(a,r){return t(i=>e.request(Dt,a,{...r,...i}),"updateProgram","mutation")},getAllCertifications(a,r){return t(i=>e.request(Ft,a,{...r,...i}),"getAllCertifications","query")},getTracks(a,r){return t(i=>e.request(Nt,a,{...r,...i}),"getTracks","query")},getCampaigns(a,r){return t(i=>e.request(qt,a,{...r,...i}),"getCampaigns","query")},getCertificationDetails(a,r){return t(i=>e.request(Tt,a,{...r,...i}),"getCertificationDetails","query")},getCertificationDetailsForTrack(a,r){return t(i=>e.request(Ot,a,{...r,...i}),"getCertificationDetailsForTrack","query")},getCheckResultDetails(a,r){return t(i=>e.request(Gt,a,{...r,...i}),"getCheckResultDetails","query")},getCheckers(a,r){return t(i=>e.request(Lt,a,{...r,...i}),"getCheckers","query")},getEntityRefsForTechHealthFilter(a,r){return t(i=>e.request(xt,a,{...r,...i}),"getEntityRefsForTechHealthFilter","query")},getFacetsForOwner(a,r){return t(i=>e.request(At,a,{...r,...i}),"getFacetsForOwner","query")},getCollectors(a,r){return t(i=>e.request(Bt,a,{...r,...i}),"getCollectors","query")},getFactSchemas(a,r){return t(i=>e.request(zt,a,{...r,...i}),"getFactSchemas","query")},getIndividualCheckPassRates(a,r){return t(i=>e.request(Mt,a,{...r,...i}),"getIndividualCheckPassRates","query")},getIndividualEntityPassRates(a,r){return t(i=>e.request(Ut,a,{...r,...i}),"getIndividualEntityPassRates","query")},getIndividualGroupPassRates(a,r){return t(i=>e.request(Ht,a,{...r,...i}),"getIndividualGroupPassRates","query")},getIndividualTrackPassRate(a,r){return t(i=>e.request(Wt,a,{...r,...i}),"getIndividualTrackPassRate","query")},getOverallCheckPassRates(a,r){return t(i=>e.request(Qt,a,{...r,...i}),"getOverallCheckPassRates","query")},getOverallEntityPassRates(a,r){return t(i=>e.request(jt,a,{...r,...i}),"getOverallEntityPassRates","query")},getOverallGroupPassRates(a,r){return t(i=>e.request(Vt,a,{...r,...i}),"getOverallGroupPassRates","query")},getOverallTrackPassRate(a,r){return t(i=>e.request(Kt,a,{...r,...i}),"getOverallTrackPassRate","query")},getPlaylists(a,r){return t(i=>e.request(_t,a,{...r,...i}),"getPlaylists","query")},getProgramOverviewForOwner(a,r){return t(i=>e.request(Jt,a,{...r,...i}),"getProgramOverviewForOwner","query")}}}var me=(e,t,a)=>{if(!t.has(e))throw TypeError("Cannot "+a)},s=(e,t,a)=>(me(e,t,"read from private field"),a?a.call(e):t.get(e)),b=(e,t,a)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,a)},U=(e,t,a,r)=>(me(e,t,"write to private field"),r?r.call(e,a):t.set(e,a),a),T,O,l,H,o;const G=xe({id:"plugin.soundcheck"}),Zt=e=>"response"in e&&"errors"in e.response,ea=e=>"response"in e&&"message"in e.response;class ta{constructor(t){b(this,T,void 0),b(this,O,void 0),b(this,l,void 0),b(this,H,r=>{var i,d,u;return Zt(r)?(u=(d=(i=r.response)==null?void 0:i.errors)==null?void 0:d[0].message)!=null?u:`${r}`:ea(r)?r.response.message:`${r}`}),b(this,o,async r=>{try{return await r()}catch(i){throw new Error(`Error from Soundcheck backend: ${s(this,H).call(this,i)}`)}}),U(this,T,t.fetchApi),U(this,O,t.discoveryApi);const a=new We("/graphql",{fetch:async(r,i)=>{const d=`${await s(this,O).getBaseUrl("soundcheck")}${r}`;return s(this,T).fetch(d,i)}});U(this,l,Yt(a))}async getAllCertifications(t){return s(this,o).call(this,async()=>{const{certifications:a}=await s(this,l).getAllCertifications({entityRef:t});return a})}async getCertificationDetails(t){return s(this,o).call(this,async()=>{const{certifications:a}=await s(this,l).getCertificationDetails({entityRef:t});return a})}async getCertificationDetailsForTrack(t,a){return s(this,o).call(this,async()=>{const{programCertification:r}=await s(this,l).getCertificationDetailsForTrack({entityRef:t,programId:a});return r})}async getCheckResultDetails(t,a,r){return s(this,o).call(this,async()=>{const{checkResult:i}=await s(this,l).getCheckResultDetails({entityRef:t,programId:a,checkId:r});return i})}async getFacetsForOwner(t){return s(this,o).call(this,async()=>{const{facetsForOwner:a}=await s(this,l).getFacetsForOwner({ownerEntityRef:t});return a})}async getProgramOverviewForOwner(t,a){return s(this,o).call(this,async()=>{const{programOverviewForOwner:r}=await s(this,l).getProgramOverviewForOwner({ownerEntityRef:t,facet:a});return r})}async getTracks(t,a,r,i){return s(this,o).call(this,async()=>{const{programs:d}=await s(this,l).getTracks({programIds:t,first:a,after:r,type:i});return d})}async createProgram(t){return s(this,o).call(this,async()=>{const{program:a}=await s(this,l).createProgram({input:t});return a})}async updateProgram(t){return s(this,o).call(this,async()=>{const{program:a}=await s(this,l).updateProgram({input:t});return a})}async deleteProgram(t){return s(this,o).call(this,async()=>{const{programDeleted:a}=await s(this,l).deleteProgram({programId:t});return a})}async getPlaylists(t){return s(this,o).call(this,async()=>{const{playlists:a}=await s(this,l).getPlaylists({entityRef:t});return a})}async getChecks(t,a,r){return s(this,o).call(this,async()=>{const{checkers:i}=await s(this,l).getCheckers({ids:t,first:a,after:r});return i})}async createCheck(t){return s(this,o).call(this,async()=>{const{check:a}=await s(this,l).createCheck({input:t});return a})}async updateCheck(t){return s(this,o).call(this,async()=>{const{check:a}=await s(this,l).updateCheck({input:t});return a})}async deleteCheck(t){return s(this,o).call(this,async()=>await s(this,l).deleteChecker({checkerId:t}))}async getCollectors(t){return s(this,o).call(this,async()=>{const{collectors:a}=await s(this,l).getCollectors({ids:t});return a})}async getFactSchema(t,a){if(!(!t||!a))return s(this,o).call(this,async()=>{const{factSchema:r}=await s(this,l).getFactSchemas({collectorId:t,factName:a});return r})}async updateCollectorConfig(t){return s(this,o).call(this,async()=>{const{collector:a}=await s(this,l).updateCollectorConfig({input:t});return a})}async getOverallCheckPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallCheckPassRates({filter:t}))}async getIndividualCheckPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualCheckPassRates({filter:t}))}async getOverallTrackPassRate(t){return s(this,o).call(this,async()=>await s(this,l).getOverallTrackPassRate({filter:t}))}async getIndividualTrackPassRate(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualTrackPassRate({filter:t}))}async getOverallEntityPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallEntityPassRates({filter:t}))}async getIndividualEntityPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualEntityPassRates({filter:t}))}async getOverallGroupPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallGroupPassRates({filter:t}))}async getIndividualGroupPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualGroupPassRates({filter:t}))}async getEntityRefsForTechHealthFilter(t){return s(this,o).call(this,async()=>await s(this,l).getEntityRefsForTechHealthFilter({ownerEntityRef:t}))}async getCampaigns(t){return s(this,o).call(this,async()=>{const{campaigns:a}=await s(this,l).getCampaigns({filter:t});return a})}async createCampaign(t){return s(this,o).call(this,async()=>{const{campaign:a}=await s(this,l).createCampaign({input:t});return a})}async updateCampaign(t){return s(this,o).call(this,async()=>{const{campaign:a}=await s(this,l).updateCampaign({input:t});return a})}async deleteCampaign(t){return s(this,o).call(this,async()=>{const{campaignDeleted:a}=await s(this,l).deleteCampaign({campaignId:t});return a})}async archiveCampaign(t){return s(this,o).call(this,async()=>{const{campaignArchived:a}=await s(this,l).archiveCampaign({campaignId:t});return a})}}T=new WeakMap,O=new WeakMap,l=new WeakMap,H=new WeakMap,o=new WeakMap;const R=D({id:"soundcheck-entity"}),aa=D({id:"soundcheck-group"}),pe=g({id:"soundcheck-entity-certification-track-redirect",parent:R,path:"/tracks/:trackId"}),ge=g({id:"soundcheck-entity-certification",parent:R,path:"/tracks/:trackId/checks/:checkId"}),ra=g({id:"soundcheck-entity-playlist-redirect",parent:R,path:"/playlists/:playlistId"}),na=g({id:"soundcheck-entity-playlist-track-redirect",parent:R,path:"/playlists/:playlistId/tracks/:trackId"}),he=g({id:"soundcheck-entity-playlist-track-redirect",parent:R,path:"/playlists/:playlistId/tracks/:trackId/checks/:checkId"}),ia=D({id:"soundcheck-overview"}),y=D({id:"soundcheck"}),sa=g({id:"soundcheck-checks",parent:y,path:"/checks"}),ca=g({id:"soundcheck-check-details",parent:y,path:"/checks/:checkId"}),la=g({id:"soundcheck-tracks",parent:y,path:"/tracks"}),oa=g({id:"soundcheck-track-details",parent:y,path:"/tracks/:trackId"}),da=g({id:"soundcheck-campaigns",parent:y,path:"/campaigns"}),ua=g({id:"soundcheck-campaign-details",parent:y,path:"/campaigns/:campaignId"}),ma=g({id:"soundcheck-campaign-edit",parent:y,path:"/campaigns/:campaignId/edit"}),pa=g({id:"soundcheck-tech-health",parent:y,path:"/tech-health"}),ga=g({id:"soundcheck-collectors-page",parent:y,path:"/collectors"}),ha=g({id:"soundcheck-collector-details",parent:y,path:"/collectors/:collectorId"}),E=Ae({id:"soundcheck",apis:[Be({api:G,deps:{discoveryApi:ze,fetchApi:Me},factory:e=>new ta(e)})],routes:{entityContent:R}}),ya=E.provide(F({name:"EntitySoundcheckContent",component:()=>import("./EntitySoundcheckContent-296037fb.esm.js").then(e=>e.EntitySoundcheckContent),mountPoint:R})),fa=E.provide(Ue({name:"EntitySoundcheckCard",component:{lazy:()=>import("./index-fdc09bba.esm.js").then(e=>e.EntitySoundcheckCard)}})),ka=E.provide(F({name:"GroupSoundcheckContent",component:()=>import("./index-7588122c.esm.js").then(e=>e.FixedGroupOverviewPage),mountPoint:aa})),va=E.provide(F({name:"SoundcheckOverviewPage",component:()=>import("./index-7588122c.esm.js").then(e=>e.OverviewPage),mountPoint:ia})),Ca=E.provide(F({name:"SoundcheckRoutingPage",component:()=>import("./index-6236514d.esm.js").then(e=>e.RoutingPage),mountPoint:y})),Ra=Je(e=>new Ke({defaultOptions:{queries:{refetchInterval:6e4,refetchIntervalInBackground:!1,refetchOnWindowFocus:"always",retry:2,retryDelay:t=>{const a=450+Math.ceil(Math.random()*100);return Math.min(a*2**t,3e4)},onError:t=>e.post(t)}}})),Ea=e=>{const t=B(He),a=Ra(t);return n.createElement(_e,{client:a},e.children)};function ye(e){const t=B(G),a=se(e);return Z(["soundcheck/certifications",a],async()=>t.getAllCertifications(a))}function fe(e,t){const a=B(G),r=se(e);return Z(["soundcheck/certifications",r,t],async()=>a.getCertificationDetailsForTrack(r,t),{enabled:!!t})}var ke=(e=>(e.GetAllPrograms="soundcheck/programs",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetCampaigns="soundcheck/campaigns",e.GetOverallCheckPassRates="soundcheck/charts/overallCheckPassRates",e.GetIndividualCheckPassRate="soundcheck/charts/getIndividualCheckPassRate",e.GetOverallTrackPassRate="soundcheck/charts/overallTrackPassRate",e.GetIndividualTrackPassRate="soundcheck/charts/individualTrackPassRate",e.GetOverallEntityPassRates="soundcheck/charts/overallEntityPassRates",e.GetIndividualEntityPassRate="soundcheck/charts/individualEntityPassRate",e.GetOverallGroupPassRates="soundcheck/charts/overallGroupPassRates",e.GetIndividualGroupPassRates="soundcheck/charts/individualGroupPassRates",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e))(ke||{}),ve=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.DeleteProgram="soundcheck/deleteProgram",e.CreateProgram="soundcheck/createProgram",e.UpdateProgram="soundcheck/updateProgram",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e))(ve||{});const Pa=h(e=>({root:{padding:e.spacing(3)},icon:{display:"none"},message:{padding:0},type:{fontWeight:700,lineHeight:1.75}})),L=e=>{const{type:t,...a}=Pa();return n.createElement(it,{severity:e.severity,elevation:1,classes:a,onClose:e.onClose},n.createElement(p,{classes:{root:t}},e.title),e.children)},Ce=X({}),wa=e=>{const[t,a]=N(),r=w(d=>{a(d)},[]),i=w(()=>{a(null)},[]);return n.createElement(Ce.Provider,{value:{showAlert:r,clearAlert:i}},t&&n.createElement(L,{severity:t.severity,title:t.title,onClose:i},t.message),e.children)},$a=()=>Y(Ce),Ia=h(e=>({modalContent:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",padding:"25px",backgroundColor:e.palette.type==="dark"?e.palette.grey[800]:e.palette.grey[200]},modalButtons:{display:"flex",justifyContent:"space-evenly","& button":{width:"40%",maxWidth:"185px"}},modalMessage:{margin:"15px 0 35px"}})),Re=X({}),ba=e=>{const t=Ia(),[a,r]=N(!1),[i,d]=N(),u=Qe(),m=w(({title:C,message:S,error:Ge})=>(d({title:C,message:S,error:Ge}),r(!0),new Promise(Le=>{u.current=Le})),[]),P=w(()=>{u.current&&u.current(!0),r(!1)},[]),v=w(()=>{u.current&&u.current(!1),r(!1)},[]);return n.createElement(Re.Provider,{value:{showModal:m}},e.children,i&&n.createElement(Ye,{open:a,onClose:v,"aria-labelledby":"confirmation-modal-title","aria-describedby":"confirmation-modal-description"},n.createElement(ee,{className:t.modalContent},n.createElement(p,{id:"confirmation-modal-title",variant:"h6"},i.title),n.createElement(p,{className:t.modalMessage,id:"confirmation-modal-description",variant:"body1"},i.message),n.createElement("div",{className:t.modalButtons},!i.error&&n.createElement(te,{onClick:v,variant:"contained","aria-label":"cancel"},"Cancel"),n.createElement(te,{color:"primary",onClick:P,variant:"contained","aria-label":"confirm"},i.error?"Ok":"Confirm")))))},Sa=()=>Y(Re),Ee=24,Da=11,W=e=>e==="small"?1:2,Fa=h({root:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",borderWidth:"2px",fontWeight:700,width:({size:e})=>`${Ee*W(e)}px`,height:({size:e})=>`${Ee*W(e)}px`,fontSize:({size:e})=>`${Da*W(e)}px`}}),Q=({className:e,label:t,size:a="small"})=>{const r=Fa({size:a});return n.createElement("span",{className:I(e,r.root),role:"img","aria-label":`${t} badge`},t)},Na=h(e=>({root:{background:({color:t})=>t,color:e.palette.common.black,borderColor:e.palette.common.black,borderStyle:"solid","&::after":{position:"absolute",display:"block",content:'""',top:0,left:0,width:"100%",height:"100%",borderRadius:"50%",boxShadow:["inset 0 -0.18em 0 0 rgba(0, 0, 0, 0.25)","inset 0px 0.18em 0px 0px rgba(255, 255, 255, 0.5)","inset 0px 1.3em 0px -0.5em rgba(255, 255, 255, 0.2)"].join(",")}}})),j=({className:e,badge:t,size:a="small"})=>{const r=Na({color:t.options.color,size:a});return n.createElement(Q,{className:I(e,r.root),size:a,label:`L${t.options.level}`})},qa=h({root:{borderColor:"currentColor",borderStyle:"solid"}}),Pe=({className:e,size:t="small"})=>{const a=qa();return n.createElement(Q,{className:I(e,a.root),size:t,label:"C"})},Ta=h({root:{borderColor:"currentColor",borderStyle:"dashed"}}),we=({className:e,size:t="small"})=>{const a=Ta();return n.createElement(Q,{className:I(e,a.root),size:t,label:"NL"})},$e=({badge:e,className:t,size:a="small",isCampaign:r})=>{const i=t||"";let d=n.createElement(we,{className:i,size:a});return r?d=n.createElement(Pe,{className:i,size:a}):e&&(d=n.createElement(j,{className:i,size:a,badge:e})),d},V=h(e=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:e.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:e.spacing(2)},title:{fontSize:e.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:e.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function Oa({description:e,documentationUrl:t}){const a=V();return t?n.createElement("div",{className:a.description},n.createElement(ae,{content:e}),n.createElement(re,{to:t},"Learn more")):n.createElement("div",{className:a.description},n.createElement(ae,{content:e}))}const Ie=({name:e,level:t,badge:a,description:r,documentationUrl:i,isCampaign:d=!1})=>{const u=V();return n.createElement("div",{className:u.root},n.createElement($e,{badge:a,isCampaign:d,size:"large"}),n.createElement("div",null,!d&&n.createElement(p,{variant:"caption",className:u.level},t!=null?t:"No Level"),n.createElement(p,{className:u.title},e),r&&n.createElement(Oa,{description:r,documentationUrl:i})))},x=({children:e})=>{const[t,a]=N(!1);return je(()=>{const r=setTimeout(()=>{a(!0)},250);return()=>clearTimeout(r)},[]),n.createElement(Ze,{in:t,timeout:250},e)},K=({hideDescription:e=!1})=>{const t=V();return n.createElement(x,null,n.createElement("div",{className:t.root},n.createElement(k,{width:44,height:44}),n.createElement("div",null,n.createElement(p,{variant:"caption",className:t.level},n.createElement(k,{width:100})),n.createElement(p,{variant:"h4",className:t.title},n.createElement(k,{width:300})),!e&&n.createElement(p,{variant:"body2"},n.createElement(k,null)))))},be=h(e=>{const t=e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100];return{wrapper:{backgroundColor:t,color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.caption.fontSize,minHeight:"auto",borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`,padding:e.spacing(1),display:"grid",gridTemplateAreas:({badge:a})=>[`"${a?"badge":"title"} title"`,`"${a?".":"description"} description"`].join(" "),gridTemplateColumns:"auto 1fr"},title:{gridArea:"title",textTransform:"uppercase",fontWeight:"bold",color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.body2.fontSize,paddingTop:e.spacing(.5),paddingBottom:e.spacing(.5),lineHeight:1},badge:{gridArea:"badge",marginRight:e.spacing(1)},description:{gridArea:"description",color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.subtitle2.fontSize,marginTop:e.spacing(1)}}}),Ga=e=>{const t=be({badge:e.badge});return n.createElement("div",{className:t.wrapper},e.badge?n.createElement(j,{className:t.badge,badge:e.badge}):null,n.createElement(p,{className:t.title},e.title),e.description?n.createElement(p,{className:t.description},e.description):null)},La=()=>{const e=be({});return n.createElement(x,null,n.createElement("div",{className:e.wrapper},n.createElement(k,{className:e.title}),n.createElement(p,{className:e.description},n.createElement(k,null))))},xa=h(e=>({root:{display:"inline-flex",alignItems:"center",gap:e.spacing(1)}})),Se=({timestamp:e,description:t})=>{const a=xa(),r=le.fromISO(e).toLocaleString(le.DATETIME_FULL),i=rt(e),d=t?`${t}: ${i}`:void 0;return n.createElement("div",{className:a.root},n.createElement(et,{title:r},n.createElement(p,{variant:"caption","aria-label":d},i)),n.createElement(ct,null))},Aa=e=>({[f.Passed]:"Check passed",[f.NotReported]:"Check not reported",[f.Failed]:"Check failed",[f.NotApplicable]:"Check not applicable"})[e],Ba=q(e=>({root:{color:e.palette.success.main}}))(lt),za=q(e=>({root:{color:e.palette.error.main}}))(ot),Ma=q(e=>({root:{color:e.palette.info.main}}))(ut),Ua=q(e=>({root:{color:e.palette.text.disabled}}))(dt),De=({result:e,className:t})=>{const a={className:t,"aria-label":Aa(e),"aria-hidden":!1};return e===f.Passed?n.createElement(Ba,{...a}):e===f.NotReported?n.createElement(Ma,{...a}):e===f.Failed?n.createElement(za,{...a}):e===f.NotApplicable?n.createElement(Ua,{...a}):null},Fe=h(e=>({root:{display:"grid",width:"100%",gridTemplateColumns:"auto 1fr auto",gridColumnGap:e.spacing(1),padding:e.spacing(1),alignItems:"center","&.selected":{backgroundColor:$(e.palette.primary[e.palette.type],.2)},"&:hover, &:active, &:focus":{backgroundColor:$(e.palette.primary[e.palette.type],.3)}}})),Ha=({className:e,href:t,children:a})=>t?n.createElement(st,{to:t,className:e},a):n.createElement("div",{className:e},a),Wa=({result:e,name:t,timestamp:a,selected:r=!1,href:i})=>{const d=Fe(),u=I(d.root,{selected:r});return n.createElement(Ha,{href:i,className:u},n.createElement(De,{result:e}),n.createElement(p,{variant:"body2"},t),a?n.createElement(Se,{timestamp:a}):null)},_=()=>{const e=Fe();return n.createElement(x,null,n.createElement("div",{className:e.root},n.createElement(k,{width:24,height:24}),n.createElement(p,{variant:"body2"},n.createElement(k,null)),n.createElement(k,{width:100,height:24})))},Qa=()=>{const e=_a();return n.createElement("div",null,n.createElement(K,null),new Array(3).fill(null).map((t,a)=>n.createElement(n.Fragment,{key:`skeleton-level-${a}`},n.createElement(La,null),n.createElement("ul",{className:e.checks},n.createElement(_,null),n.createElement(_,null),n.createElement(_,null)))))},ja=h(e=>({noChecks:{padding:e.spacing(1)},checks:{padding:0,margin:0,flex:1,listStyle:"none"},checkItem:{borderBottom:`1px solid ${e.palette.divider}`,"&:last-of-type":{borderBottom:"0"}}})),Va=({checks:e,playlistId:t,trackId:a,checkId:r})=>{const i=ja(),d=z(ge),u=z(he);return e.length?n.createElement("ul",{className:i.checks},e.map(m=>n.createElement("li",{key:m.id,className:i.checkItem},n.createElement(Wa,{...m,selected:m.id===r,href:t?u({playlistId:t,trackId:a,checkId:m.id}):d({trackId:a,checkId:m.id})})))):n.createElement(p,{variant:"body2",className:i.noChecks},"No applicable checks at this level.")},Ka=({level:e,checkId:t,trackId:a,playlistId:r,isCampaign:i})=>{var d;return n.createElement(n.Fragment,null,!i&&n.createElement(Ga,{badge:e.badge,title:e.name,description:e.description}),n.createElement(Va,{checks:(d=e.checks)!=null?d:[],playlistId:r,trackId:a,checkId:t}))},_a=h(()=>({checks:{padding:0,margin:0,flex:1,listStyle:"none"}})),Ja=({playlistId:e,trackId:t,checkId:a})=>{var r,i;const{entity:d}=ne(),{data:u,isLoading:m,isError:P}=fe(d,t);if(P)return n.createElement("div",null,n.createElement(ee,{padding:2},n.createElement(L,{severity:"error",title:"Error loading certification"})));if(m||!t)return n.createElement(Qa,null);if(!u)return null;const v=u.program.type==="campaign";return n.createElement("div",null,n.createElement(Ie,{name:u.program.name,level:(r=u.highestLevel)==null?void 0:r.name,badge:(i=u.highestLevel)==null?void 0:i.badge,description:u.program.description,documentationUrl:u.program.documentationURL,isCampaign:v}),u==null?void 0:u.levels.map(C=>n.createElement(Ka,{key:C.ordinal,level:C,checkId:a,trackId:t,playlistId:e,isCampaign:v})))},Xa=()=>n.createElement(n.Fragment,null,n.createElement(K,{hideDescription:!0}),n.createElement(K,{hideDescription:!0})),Ya=h(e=>({card:{backgroundColor:e.palette.background.paper,border:`1px solid ${e.palette.border}`,borderRadius:e.shape.borderRadius,display:"flex",padding:e.spacing(5)},container:{margin:"0 auto",display:"flex",flexDirection:"row",alignItems:"center",gap:e.spacing(5)},content:{width:"20rem",display:"flex",flexDirection:"column",gap:e.spacing(2)},header:{display:"flex",flexDirection:"column",gap:e.spacing(2)},description:{color:e.palette.grey[600],fontWeight:500},action:{display:"inline-block"},img:{maxHeight:400}})),J=({title:e,description:t,imgSrc:a,action:r})=>{const i=Ya();return n.createElement("div",{className:i.card},n.createElement("div",{className:i.container},n.createElement("div",{className:i.content},n.createElement("header",{className:i.header},n.createElement(p,{variant:"h5"},e),n.createElement(p,{variant:"body1",className:i.description},t)),r&&n.createElement("div",{className:i.action},r)),n.createElement("div",null,n.createElement("img",{src:a!=null?a:mt,className:i.img,alt:e}))))},Za="No certifications available",Ne=({ownerEntityRef:e,selectGroupHint:t})=>{let a="There are no tracks configured that apply to this entity.";return e&&(a=`Looks like the group '${ie(ce(e),{defaultKind:"Group"})}' doesn't own any entities that have any applicable tracks configured. ${t}`),n.createElement(J,{title:Za,description:a})},er="Missing entities",tr=({ownerEntityRef:e,selectGroupHint:t})=>{if(!e)return null;const a=ie(ce(e),{defaultKind:"Group"});return n.createElement(J,{title:er,description:`The group '${a}' doesn't own any entities. ${t!=null?t:""}`})},qe="soundcheck",Te="Submitted check results will still be stored, but it will not be possible to view certifications or individual results until a valid license is present.",Oe=Xe(e=>({certificationWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center"},infoCard:{display:"grid",gridRowGap:e.spacing(2)},emptyState:{overflow:"hidden"}})),A=({children:e,title:t})=>{const a=Oe();return n.createElement(at,{title:t},n.createElement("div",{className:a.infoCard},n.createElement(nt,{inline:!0,backend:qe,invalidLicenseMessage:Te}),e))},ar=({title:e="Soundcheck"})=>{const{entity:t}=ne(),a=Oe(),{data:r,isError:i,isLoading:d}=ye(t),u=z(pe);return i?n.createElement(A,{title:e},n.createElement(L,{severity:"error",title:"Error loading certifications"})):d||!r?n.createElement(A,{title:e},n.createElement(Xa,null)):r.length?n.createElement(A,{title:e},r.map((m,P)=>{var v,C,S;return n.createElement(Ve,{key:m.program.name},n.createElement("div",{className:a.certificationWrapper,"data-testid":"soundcheck-track-row"},n.createElement(Ie,{key:m.program.id,name:m.program.name,badge:(v=m.highestLevel)==null?void 0:v.badge,level:(C=m.highestLevel)==null?void 0:C.name,isCampaign:((S=m.program)==null?void 0:S.type)==="campaign"}),n.createElement(re,{to:u({trackId:m.program.id})},"View Details")),P<r.length-1?n.createElement(tt,null):null)})):n.createElement(A,{title:e},n.createElement("div",{className:a.emptyState},n.createElement(Ne,null)))};export{L as A,oe as B,$e as C,sa as D,J as E,x as F,pa as G,ga as H,ha as I,wa as J,E as K,j as L,ve as M,we as N,ya as O,fa as P,ke as Q,f as R,Ea as S,ka as T,va as U,Ca as V,Se as a,ye as b,ra as c,pe as d,Ja as e,Ne as f,qe as g,na as h,Te as i,ge as j,he as k,ar as l,De as m,Pe as n,tr as o,ua as p,ma as q,da as r,G as s,$a as t,fe as u,Sa as v,ba as w,ca as x,oa as y,la as z};
488
- //# sourceMappingURL=index-dbd15076.esm.js.map
487
+ ${kt}`,Xt=(e,t,a)=>e();function Yt(e,t=Xt){return{archiveCampaign(a,r){return t(i=>e.request(vt,a,{...r,...i}),"archiveCampaign","mutation")},createCampaign(a,r){return t(i=>e.request(Ct,a,{...r,...i}),"createCampaign","mutation")},createCheck(a,r){return t(i=>e.request(Rt,a,{...r,...i}),"createCheck","mutation")},createProgram(a,r){return t(i=>e.request(Et,a,{...r,...i}),"createProgram","mutation")},deleteCampaign(a,r){return t(i=>e.request(Pt,a,{...r,...i}),"deleteCampaign","mutation")},deleteChecker(a,r){return t(i=>e.request(wt,a,{...r,...i}),"deleteChecker","mutation")},deleteProgram(a,r){return t(i=>e.request($t,a,{...r,...i}),"deleteProgram","mutation")},updateCampaign(a,r){return t(i=>e.request(It,a,{...r,...i}),"updateCampaign","mutation")},updateCheck(a,r){return t(i=>e.request(bt,a,{...r,...i}),"updateCheck","mutation")},updateCollectorConfig(a,r){return t(i=>e.request(St,a,{...r,...i}),"updateCollectorConfig","mutation")},updateProgram(a,r){return t(i=>e.request(Dt,a,{...r,...i}),"updateProgram","mutation")},getAllCertifications(a,r){return t(i=>e.request(Ft,a,{...r,...i}),"getAllCertifications","query")},getTracks(a,r){return t(i=>e.request(Nt,a,{...r,...i}),"getTracks","query")},getCampaigns(a,r){return t(i=>e.request(qt,a,{...r,...i}),"getCampaigns","query")},getCertificationDetails(a,r){return t(i=>e.request(Tt,a,{...r,...i}),"getCertificationDetails","query")},getCertificationDetailsForTrack(a,r){return t(i=>e.request(Ot,a,{...r,...i}),"getCertificationDetailsForTrack","query")},getCheckResultDetails(a,r){return t(i=>e.request(Gt,a,{...r,...i}),"getCheckResultDetails","query")},getCheckers(a,r){return t(i=>e.request(Lt,a,{...r,...i}),"getCheckers","query")},getEntityRefsForTechHealthFilter(a,r){return t(i=>e.request(xt,a,{...r,...i}),"getEntityRefsForTechHealthFilter","query")},getFacetsForOwner(a,r){return t(i=>e.request(At,a,{...r,...i}),"getFacetsForOwner","query")},getCollectors(a,r){return t(i=>e.request(Bt,a,{...r,...i}),"getCollectors","query")},getFactSchemas(a,r){return t(i=>e.request(zt,a,{...r,...i}),"getFactSchemas","query")},getIndividualCheckPassRates(a,r){return t(i=>e.request(Mt,a,{...r,...i}),"getIndividualCheckPassRates","query")},getIndividualEntityPassRates(a,r){return t(i=>e.request(Ut,a,{...r,...i}),"getIndividualEntityPassRates","query")},getIndividualGroupPassRates(a,r){return t(i=>e.request(Ht,a,{...r,...i}),"getIndividualGroupPassRates","query")},getIndividualTrackPassRate(a,r){return t(i=>e.request(Wt,a,{...r,...i}),"getIndividualTrackPassRate","query")},getOverallCheckPassRates(a,r){return t(i=>e.request(Qt,a,{...r,...i}),"getOverallCheckPassRates","query")},getOverallEntityPassRates(a,r){return t(i=>e.request(jt,a,{...r,...i}),"getOverallEntityPassRates","query")},getOverallGroupPassRates(a,r){return t(i=>e.request(Vt,a,{...r,...i}),"getOverallGroupPassRates","query")},getOverallTrackPassRate(a,r){return t(i=>e.request(Kt,a,{...r,...i}),"getOverallTrackPassRate","query")},getPlaylists(a,r){return t(i=>e.request(_t,a,{...r,...i}),"getPlaylists","query")},getProgramOverviewForOwner(a,r){return t(i=>e.request(Jt,a,{...r,...i}),"getProgramOverviewForOwner","query")}}}var me=(e,t,a)=>{if(!t.has(e))throw TypeError("Cannot "+a)},s=(e,t,a)=>(me(e,t,"read from private field"),a?a.call(e):t.get(e)),b=(e,t,a)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,a)},U=(e,t,a,r)=>(me(e,t,"write to private field"),r?r.call(e,a):t.set(e,a),a),T,O,l,H,o;const G=xe({id:"plugin.soundcheck"}),Zt=e=>"response"in e&&"errors"in e.response,ea=e=>"response"in e&&"message"in e.response;class ta{constructor(t){b(this,T,void 0),b(this,O,void 0),b(this,l,void 0),b(this,H,r=>{var i,d,u;return Zt(r)?(u=(d=(i=r.response)==null?void 0:i.errors)==null?void 0:d[0].message)!=null?u:`${r}`:ea(r)?r.response.message:`${r}`}),b(this,o,async r=>{try{return await r()}catch(i){throw new Error(`Error from Soundcheck backend: ${s(this,H).call(this,i)}`)}}),U(this,T,t.fetchApi),U(this,O,t.discoveryApi);const a=new We("/graphql",{fetch:async(r,i)=>{const d=`${await s(this,O).getBaseUrl("soundcheck")}${r}`;return s(this,T).fetch(d,i)}});U(this,l,Yt(a))}async getAllCertifications(t){return s(this,o).call(this,async()=>{const{certifications:a}=await s(this,l).getAllCertifications({entityRef:t});return a})}async getCertificationDetails(t){return s(this,o).call(this,async()=>{const{certifications:a}=await s(this,l).getCertificationDetails({entityRef:t});return a})}async getCertificationDetailsForTrack(t,a){return s(this,o).call(this,async()=>{const{programCertification:r}=await s(this,l).getCertificationDetailsForTrack({entityRef:t,programId:a});return r})}async getCheckResultDetails(t,a,r){return s(this,o).call(this,async()=>{const{checkResult:i}=await s(this,l).getCheckResultDetails({entityRef:t,programId:a,checkId:r});return i})}async getFacetsForOwner(t){return s(this,o).call(this,async()=>{const{facetsForOwner:a}=await s(this,l).getFacetsForOwner({ownerEntityRef:t});return a})}async getProgramOverviewForOwner(t,a){return s(this,o).call(this,async()=>{const{programOverviewForOwner:r}=await s(this,l).getProgramOverviewForOwner({ownerEntityRef:t,facet:a});return r})}async getTracks(t,a,r,i){return s(this,o).call(this,async()=>{const{programs:d}=await s(this,l).getTracks({programIds:t,first:a,after:r,type:i});return d})}async createProgram(t){return s(this,o).call(this,async()=>{const{program:a}=await s(this,l).createProgram({input:t});return a})}async updateProgram(t){return s(this,o).call(this,async()=>{const{program:a}=await s(this,l).updateProgram({input:t});return a})}async deleteProgram(t){return s(this,o).call(this,async()=>{const{programDeleted:a}=await s(this,l).deleteProgram({programId:t});return a})}async getPlaylists(t){return s(this,o).call(this,async()=>{const{playlists:a}=await s(this,l).getPlaylists({entityRef:t});return a})}async getChecks(t,a,r){return s(this,o).call(this,async()=>{const{checkers:i}=await s(this,l).getCheckers({ids:t,first:a,after:r});return i})}async createCheck(t){return s(this,o).call(this,async()=>{const{check:a}=await s(this,l).createCheck({input:t});return a})}async updateCheck(t){return s(this,o).call(this,async()=>{const{check:a}=await s(this,l).updateCheck({input:t});return a})}async deleteCheck(t){return s(this,o).call(this,async()=>await s(this,l).deleteChecker({checkerId:t}))}async getCollectors(t){return s(this,o).call(this,async()=>{const{collectors:a}=await s(this,l).getCollectors({ids:t});return a})}async getFactSchema(t,a){if(!(!t||!a))return s(this,o).call(this,async()=>{const{factSchema:r}=await s(this,l).getFactSchemas({collectorId:t,factName:a});return r})}async updateCollectorConfig(t){return s(this,o).call(this,async()=>{const{collector:a}=await s(this,l).updateCollectorConfig({input:t});return a})}async getOverallCheckPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallCheckPassRates({filter:t}))}async getIndividualCheckPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualCheckPassRates({filter:t}))}async getOverallTrackPassRate(t){return s(this,o).call(this,async()=>await s(this,l).getOverallTrackPassRate({filter:t}))}async getIndividualTrackPassRate(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualTrackPassRate({filter:t}))}async getOverallEntityPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallEntityPassRates({filter:t}))}async getIndividualEntityPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualEntityPassRates({filter:t}))}async getOverallGroupPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getOverallGroupPassRates({filter:t}))}async getIndividualGroupPassRates(t){return s(this,o).call(this,async()=>await s(this,l).getIndividualGroupPassRates({filter:t}))}async getEntityRefsForTechHealthFilter(t){return s(this,o).call(this,async()=>await s(this,l).getEntityRefsForTechHealthFilter({ownerEntityRef:t}))}async getCampaigns(t){return s(this,o).call(this,async()=>{const{campaigns:a}=await s(this,l).getCampaigns({filter:t});return a})}async createCampaign(t){return s(this,o).call(this,async()=>{const{campaign:a}=await s(this,l).createCampaign({input:t});return a})}async updateCampaign(t){return s(this,o).call(this,async()=>{const{campaign:a}=await s(this,l).updateCampaign({input:t});return a})}async deleteCampaign(t){return s(this,o).call(this,async()=>{const{campaignDeleted:a}=await s(this,l).deleteCampaign({campaignId:t});return a})}async archiveCampaign(t){return s(this,o).call(this,async()=>{const{campaignArchived:a}=await s(this,l).archiveCampaign({campaignId:t});return a})}}T=new WeakMap,O=new WeakMap,l=new WeakMap,H=new WeakMap,o=new WeakMap;const R=D({id:"soundcheck-entity"}),aa=D({id:"soundcheck-group"}),pe=g({id:"soundcheck-entity-certification-track-redirect",parent:R,path:"/tracks/:trackId"}),ge=g({id:"soundcheck-entity-certification",parent:R,path:"/tracks/:trackId/checks/:checkId"}),ra=g({id:"soundcheck-entity-playlist-redirect",parent:R,path:"/playlists/:playlistId"}),na=g({id:"soundcheck-entity-playlist-track-redirect",parent:R,path:"/playlists/:playlistId/tracks/:trackId"}),he=g({id:"soundcheck-entity-playlist-track-redirect",parent:R,path:"/playlists/:playlistId/tracks/:trackId/checks/:checkId"}),ia=D({id:"soundcheck-overview"}),y=D({id:"soundcheck"}),sa=g({id:"soundcheck-checks",parent:y,path:"/checks"}),ca=g({id:"soundcheck-check-details",parent:y,path:"/checks/:checkId"}),la=g({id:"soundcheck-tracks",parent:y,path:"/tracks"}),oa=g({id:"soundcheck-track-details",parent:y,path:"/tracks/:trackId"}),da=g({id:"soundcheck-campaigns",parent:y,path:"/campaigns"}),ua=g({id:"soundcheck-campaign-details",parent:y,path:"/campaigns/:campaignId"}),ma=g({id:"soundcheck-campaign-edit",parent:y,path:"/campaigns/:campaignId/edit"}),pa=g({id:"soundcheck-tech-health",parent:y,path:"/tech-health"}),ga=g({id:"soundcheck-collectors-page",parent:y,path:"/collectors"}),ha=g({id:"soundcheck-collector-details",parent:y,path:"/collectors/:collectorId"}),E=Ae({id:"soundcheck",apis:[Be({api:G,deps:{discoveryApi:ze,fetchApi:Me},factory:e=>new ta(e)})],routes:{entityContent:R}}),ya=E.provide(F({name:"EntitySoundcheckContent",component:()=>import("./EntitySoundcheckContent-ab5117ac.esm.js").then(e=>e.EntitySoundcheckContent),mountPoint:R})),fa=E.provide(Ue({name:"EntitySoundcheckCard",component:{lazy:()=>import("./index-680620cf.esm.js").then(e=>e.EntitySoundcheckCard)}})),ka=E.provide(F({name:"GroupSoundcheckContent",component:()=>import("./index-09954133.esm.js").then(e=>e.FixedGroupOverviewPage),mountPoint:aa})),va=E.provide(F({name:"SoundcheckOverviewPage",component:()=>import("./index-09954133.esm.js").then(e=>e.OverviewPage),mountPoint:ia})),Ca=E.provide(F({name:"SoundcheckRoutingPage",component:()=>import("./index-434815b8.esm.js").then(e=>e.RoutingPage),mountPoint:y})),Ra=Je(e=>new Ke({defaultOptions:{queries:{refetchInterval:6e4,refetchIntervalInBackground:!1,refetchOnWindowFocus:"always",retry:2,retryDelay:t=>{const a=450+Math.ceil(Math.random()*100);return Math.min(a*2**t,3e4)},onError:t=>e.post(t)}}})),Ea=e=>{const t=B(He),a=Ra(t);return n.createElement(_e,{client:a},e.children)};function ye(e){const t=B(G),a=se(e);return Z(["soundcheck/certifications",a],async()=>t.getAllCertifications(a))}function fe(e,t){const a=B(G),r=se(e);return Z(["soundcheck/certifications",r,t],async()=>a.getCertificationDetailsForTrack(r,t),{enabled:!!t})}var ke=(e=>(e.GetAllPrograms="soundcheck/programs",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetCampaigns="soundcheck/campaigns",e.GetOverallCheckPassRates="soundcheck/charts/overallCheckPassRates",e.GetIndividualCheckPassRate="soundcheck/charts/getIndividualCheckPassRate",e.GetOverallTrackPassRate="soundcheck/charts/overallTrackPassRate",e.GetIndividualTrackPassRate="soundcheck/charts/individualTrackPassRate",e.GetOverallEntityPassRates="soundcheck/charts/overallEntityPassRates",e.GetIndividualEntityPassRate="soundcheck/charts/individualEntityPassRate",e.GetOverallGroupPassRates="soundcheck/charts/overallGroupPassRates",e.GetIndividualGroupPassRates="soundcheck/charts/individualGroupPassRates",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e))(ke||{}),ve=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.DeleteProgram="soundcheck/deleteProgram",e.CreateProgram="soundcheck/createProgram",e.UpdateProgram="soundcheck/updateProgram",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e))(ve||{});const Pa=h(e=>({root:{padding:e.spacing(3)},icon:{display:"none"},message:{padding:0},type:{fontWeight:700,lineHeight:1.75}})),L=e=>{const{type:t,...a}=Pa();return n.createElement(it,{severity:e.severity,elevation:1,classes:a,onClose:e.onClose},n.createElement(p,{classes:{root:t}},e.title),e.children)},Ce=X({}),wa=e=>{const[t,a]=N(),r=w(d=>{a(d)},[]),i=w(()=>{a(null)},[]);return n.createElement(Ce.Provider,{value:{showAlert:r,clearAlert:i}},t&&n.createElement(L,{severity:t.severity,title:t.title,onClose:i},t.message),e.children)},$a=()=>Y(Ce),Ia=h(e=>({modalContent:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",padding:"25px",backgroundColor:e.palette.type==="dark"?e.palette.grey[800]:e.palette.grey[200]},modalButtons:{display:"flex",justifyContent:"space-evenly","& button":{width:"40%",maxWidth:"185px"}},modalMessage:{margin:"15px 0 35px"}})),Re=X({}),ba=e=>{const t=Ia(),[a,r]=N(!1),[i,d]=N(),u=Qe(),m=w(({title:C,message:S,error:Ge})=>(d({title:C,message:S,error:Ge}),r(!0),new Promise(Le=>{u.current=Le})),[]),P=w(()=>{u.current&&u.current(!0),r(!1)},[]),v=w(()=>{u.current&&u.current(!1),r(!1)},[]);return n.createElement(Re.Provider,{value:{showModal:m}},e.children,i&&n.createElement(Ye,{open:a,onClose:v,"aria-labelledby":"confirmation-modal-title","aria-describedby":"confirmation-modal-description"},n.createElement(ee,{className:t.modalContent},n.createElement(p,{id:"confirmation-modal-title",variant:"h6"},i.title),n.createElement(p,{className:t.modalMessage,id:"confirmation-modal-description",variant:"body1"},i.message),n.createElement("div",{className:t.modalButtons},!i.error&&n.createElement(te,{onClick:v,variant:"contained","aria-label":"cancel"},"Cancel"),n.createElement(te,{color:"primary",onClick:P,variant:"contained","aria-label":"confirm"},i.error?"Ok":"Confirm")))))},Sa=()=>Y(Re),Ee=24,Da=11,W=e=>e==="small"?1:2,Fa=h({root:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",borderWidth:"2px",fontWeight:700,width:({size:e})=>`${Ee*W(e)}px`,height:({size:e})=>`${Ee*W(e)}px`,fontSize:({size:e})=>`${Da*W(e)}px`}}),Q=({className:e,label:t,size:a="small"})=>{const r=Fa({size:a});return n.createElement("span",{className:I(e,r.root),role:"img","aria-label":`${t} badge`},t)},Na=h(e=>({root:{background:({color:t})=>t,color:e.palette.common.black,borderColor:e.palette.common.black,borderStyle:"solid","&::after":{position:"absolute",display:"block",content:'""',top:0,left:0,width:"100%",height:"100%",borderRadius:"50%",boxShadow:["inset 0 -0.18em 0 0 rgba(0, 0, 0, 0.25)","inset 0px 0.18em 0px 0px rgba(255, 255, 255, 0.5)","inset 0px 1.3em 0px -0.5em rgba(255, 255, 255, 0.2)"].join(",")}}})),j=({className:e,badge:t,size:a="small"})=>{const r=Na({color:t.options.color,size:a});return n.createElement(Q,{className:I(e,r.root),size:a,label:`L${t.options.level}`})},qa=h({root:{borderColor:"currentColor",borderStyle:"solid"}}),Pe=({className:e,size:t="small"})=>{const a=qa();return n.createElement(Q,{className:I(e,a.root),size:t,label:"C"})},Ta=h({root:{borderColor:"currentColor",borderStyle:"dashed"}}),we=({className:e,size:t="small"})=>{const a=Ta();return n.createElement(Q,{className:I(e,a.root),size:t,label:"NL"})},$e=({badge:e,className:t,size:a="small",isCampaign:r})=>{const i=t||"";let d=n.createElement(we,{className:i,size:a});return r?d=n.createElement(Pe,{className:i,size:a}):e&&(d=n.createElement(j,{className:i,size:a,badge:e})),d},V=h(e=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:e.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:e.spacing(2)},title:{fontSize:e.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:e.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function Oa({description:e,documentationUrl:t}){const a=V();return t?n.createElement("div",{className:a.description},n.createElement(ae,{content:e}),n.createElement(re,{to:t},"Learn more")):n.createElement("div",{className:a.description},n.createElement(ae,{content:e}))}const Ie=({name:e,level:t,badge:a,description:r,documentationUrl:i,isCampaign:d=!1})=>{const u=V();return n.createElement("div",{className:u.root},n.createElement($e,{badge:a,isCampaign:d,size:"large"}),n.createElement("div",null,!d&&n.createElement(p,{variant:"caption",className:u.level},t!=null?t:"No Level"),n.createElement(p,{className:u.title},e),r&&n.createElement(Oa,{description:r,documentationUrl:i})))},x=({children:e})=>{const[t,a]=N(!1);return je(()=>{const r=setTimeout(()=>{a(!0)},250);return()=>clearTimeout(r)},[]),n.createElement(Ze,{in:t,timeout:250},e)},K=({hideDescription:e=!1})=>{const t=V();return n.createElement(x,null,n.createElement("div",{className:t.root},n.createElement(k,{width:44,height:44}),n.createElement("div",null,n.createElement(p,{variant:"caption",className:t.level},n.createElement(k,{width:100})),n.createElement(p,{variant:"h4",className:t.title},n.createElement(k,{width:300})),!e&&n.createElement(p,{variant:"body2"},n.createElement(k,null)))))},be=h(e=>{const t=e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100];return{wrapper:{backgroundColor:t,color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.caption.fontSize,minHeight:"auto",borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`,padding:e.spacing(1),display:"grid",gridTemplateAreas:({badge:a})=>[`"${a?"badge":"title"} title"`,`"${a?".":"description"} description"`].join(" "),gridTemplateColumns:"auto 1fr"},title:{gridArea:"title",textTransform:"uppercase",fontWeight:"bold",color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.body2.fontSize,paddingTop:e.spacing(.5),paddingBottom:e.spacing(.5),lineHeight:1},badge:{gridArea:"badge",marginRight:e.spacing(1)},description:{gridArea:"description",color:$(e.palette.getContrastText(t),.8),fontSize:e.typography.subtitle2.fontSize,marginTop:e.spacing(1)}}}),Ga=e=>{const t=be({badge:e.badge});return n.createElement("div",{className:t.wrapper},e.badge?n.createElement(j,{className:t.badge,badge:e.badge}):null,n.createElement(p,{className:t.title},e.title),e.description?n.createElement(p,{className:t.description},e.description):null)},La=()=>{const e=be({});return n.createElement(x,null,n.createElement("div",{className:e.wrapper},n.createElement(k,{className:e.title}),n.createElement(p,{className:e.description},n.createElement(k,null))))},xa=h(e=>({root:{display:"inline-flex",alignItems:"center",gap:e.spacing(1)}})),Se=({timestamp:e,description:t})=>{const a=xa(),r=le.fromISO(e).toLocaleString(le.DATETIME_FULL),i=rt(e),d=t?`${t}: ${i}`:void 0;return n.createElement("div",{className:a.root},n.createElement(et,{title:r},n.createElement(p,{variant:"caption","aria-label":d},i)),n.createElement(ct,null))},Aa=e=>({[f.Passed]:"Check passed",[f.NotReported]:"Check not reported",[f.Failed]:"Check failed",[f.NotApplicable]:"Check not applicable"})[e],Ba=q(e=>({root:{color:e.palette.success.main}}))(lt),za=q(e=>({root:{color:e.palette.error.main}}))(ot),Ma=q(e=>({root:{color:e.palette.info.main}}))(ut),Ua=q(e=>({root:{color:e.palette.text.disabled}}))(dt),De=({result:e,className:t})=>{const a={className:t,"aria-label":Aa(e),"aria-hidden":!1};return e===f.Passed?n.createElement(Ba,{...a}):e===f.NotReported?n.createElement(Ma,{...a}):e===f.Failed?n.createElement(za,{...a}):e===f.NotApplicable?n.createElement(Ua,{...a}):null},Fe=h(e=>({root:{display:"grid",width:"100%",gridTemplateColumns:"auto 1fr auto",gridColumnGap:e.spacing(1),padding:e.spacing(1),alignItems:"center","&.selected":{backgroundColor:$(e.palette.primary[e.palette.type],.2)},"&:hover, &:active, &:focus":{backgroundColor:$(e.palette.primary[e.palette.type],.3)}}})),Ha=({className:e,href:t,children:a})=>t?n.createElement(st,{to:t,className:e},a):n.createElement("div",{className:e},a),Wa=({result:e,name:t,timestamp:a,selected:r=!1,href:i})=>{const d=Fe(),u=I(d.root,{selected:r});return n.createElement(Ha,{href:i,className:u},n.createElement(De,{result:e}),n.createElement(p,{variant:"body2"},t),a?n.createElement(Se,{timestamp:a}):null)},_=()=>{const e=Fe();return n.createElement(x,null,n.createElement("div",{className:e.root},n.createElement(k,{width:24,height:24}),n.createElement(p,{variant:"body2"},n.createElement(k,null)),n.createElement(k,{width:100,height:24})))},Qa=()=>{const e=_a();return n.createElement("div",null,n.createElement(K,null),new Array(3).fill(null).map((t,a)=>n.createElement(n.Fragment,{key:`skeleton-level-${a}`},n.createElement(La,null),n.createElement("ul",{className:e.checks},n.createElement(_,null),n.createElement(_,null),n.createElement(_,null)))))},ja=h(e=>({noChecks:{padding:e.spacing(1)},checks:{padding:0,margin:0,flex:1,listStyle:"none"},checkItem:{borderBottom:`1px solid ${e.palette.divider}`,"&:last-of-type":{borderBottom:"0"}}})),Va=({checks:e,playlistId:t,trackId:a,checkId:r})=>{const i=ja(),d=z(ge),u=z(he);return e.length?n.createElement("ul",{className:i.checks},e.map(m=>n.createElement("li",{key:m.id,className:i.checkItem},n.createElement(Wa,{...m,selected:m.id===r,href:t?u({playlistId:t,trackId:a,checkId:m.id}):d({trackId:a,checkId:m.id})})))):n.createElement(p,{variant:"body2",className:i.noChecks},"No applicable checks at this level.")},Ka=({level:e,checkId:t,trackId:a,playlistId:r,isCampaign:i})=>{var d;return n.createElement(n.Fragment,null,!i&&n.createElement(Ga,{badge:e.badge,title:e.name,description:e.description}),n.createElement(Va,{checks:(d=e.checks)!=null?d:[],playlistId:r,trackId:a,checkId:t}))},_a=h(()=>({checks:{padding:0,margin:0,flex:1,listStyle:"none"}})),Ja=({playlistId:e,trackId:t,checkId:a})=>{var r,i;const{entity:d}=ne(),{data:u,isLoading:m,isError:P}=fe(d,t);if(P)return n.createElement("div",null,n.createElement(ee,{padding:2},n.createElement(L,{severity:"error",title:"Error loading certification"})));if(m||!t)return n.createElement(Qa,null);if(!u)return null;const v=u.program.type==="campaign";return n.createElement("div",null,n.createElement(Ie,{name:u.program.name,level:(r=u.highestLevel)==null?void 0:r.name,badge:(i=u.highestLevel)==null?void 0:i.badge,description:u.program.description,documentationUrl:u.program.documentationURL,isCampaign:v}),u==null?void 0:u.levels.map(C=>n.createElement(Ka,{key:C.ordinal,level:C,checkId:a,trackId:t,playlistId:e,isCampaign:v})))},Xa=()=>n.createElement(n.Fragment,null,n.createElement(K,{hideDescription:!0}),n.createElement(K,{hideDescription:!0})),Ya=h(e=>({card:{backgroundColor:e.palette.background.paper,border:`1px solid ${e.palette.border}`,borderRadius:e.shape.borderRadius,display:"flex",padding:e.spacing(5)},container:{margin:"0 auto",display:"flex",flexDirection:"row",alignItems:"center",gap:e.spacing(5)},content:{width:"20rem",display:"flex",flexDirection:"column",gap:e.spacing(2)},header:{display:"flex",flexDirection:"column",gap:e.spacing(2)},description:{color:e.palette.grey[600],fontWeight:500},action:{display:"inline-block"},img:{maxHeight:400}})),J=({title:e,description:t,imgSrc:a,action:r})=>{const i=Ya();return n.createElement("div",{className:i.card},n.createElement("div",{className:i.container},n.createElement("div",{className:i.content},n.createElement("header",{className:i.header},n.createElement(p,{variant:"h5"},e),n.createElement(p,{variant:"body1",className:i.description},t)),r&&n.createElement("div",{className:i.action},r)),n.createElement("div",null,n.createElement("img",{src:a!=null?a:mt,className:i.img,alt:e}))))},Za="No certifications available",Ne=({ownerEntityRef:e,selectGroupHint:t})=>{let a="There are no tracks configured that apply to this entity.";return e&&(a=`Looks like the group '${ie(ce(e),{defaultKind:"Group"})}' doesn't own any entities that have any applicable tracks configured. ${t}`),n.createElement(J,{title:Za,description:a})},er="Missing entities",tr=({ownerEntityRef:e,selectGroupHint:t})=>{if(!e)return null;const a=ie(ce(e),{defaultKind:"Group"});return n.createElement(J,{title:er,description:`The group '${a}' doesn't own any entities. ${t!=null?t:""}`})},qe="soundcheck",Te="Submitted check results will still be stored, but it will not be possible to view certifications or individual results until a valid license is present.",Oe=Xe(e=>({certificationWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center"},infoCard:{display:"grid",gridRowGap:e.spacing(2)},emptyState:{overflow:"hidden"}})),A=({children:e,title:t})=>{const a=Oe();return n.createElement(at,{title:t},n.createElement("div",{className:a.infoCard},n.createElement(nt,{inline:!0,backend:qe,invalidLicenseMessage:Te}),e))},ar=({title:e="Soundcheck"})=>{const{entity:t}=ne(),a=Oe(),{data:r,isError:i,isLoading:d}=ye(t),u=z(pe);return i?n.createElement(A,{title:e},n.createElement(L,{severity:"error",title:"Error loading certifications"})):d||!r?n.createElement(A,{title:e},n.createElement(Xa,null)):r.length?n.createElement(A,{title:e},r.map((m,P)=>{var v,C,S;return n.createElement(Ve,{key:m.program.name},n.createElement("div",{className:a.certificationWrapper,"data-testid":"soundcheck-track-row"},n.createElement(Ie,{key:m.program.id,name:m.program.name,badge:(v=m.highestLevel)==null?void 0:v.badge,level:(C=m.highestLevel)==null?void 0:C.name,isCampaign:((S=m.program)==null?void 0:S.type)==="campaign"}),n.createElement(re,{to:u({trackId:m.program.id})},"View Details")),P<r.length-1?n.createElement(tt,null):null)})):n.createElement(A,{title:e},n.createElement("div",{className:a.emptyState},n.createElement(Ne,null)))};export{L as A,oe as B,$e as C,sa as D,J as E,x as F,pa as G,ga as H,ha as I,wa as J,E as K,j as L,ve as M,we as N,ya as O,fa as P,ke as Q,f as R,Ea as S,ka as T,va as U,Ca as V,Se as a,ye as b,ra as c,pe as d,Ja as e,Ne as f,qe as g,na as h,Te as i,ge as j,he as k,ar as l,De as m,Pe as n,tr as o,ua as p,ma as q,da as r,G as s,$a as t,fe as u,Sa as v,ba as w,ca as x,oa as y,la as z};
488
+ //# sourceMappingURL=index-463527d5.esm.js.map
@@ -1,2 +1,2 @@
1
- import t from"react";import{S as o,l as i}from"./index-dbd15076.esm.js";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";import"@tanstack/react-query";import"lodash";import"@material-ui/core/styles/makeStyles";import"@material-ui/core";import"@backstage/core-components";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-core";import"@backstage/catalog-model";import"@material-ui/lab";import"react-router-dom";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"../images/empty-state.svg";const m=({title:r})=>t.createElement(o,null,t.createElement(i,{title:r}));export{m as EntitySoundcheckCard};
2
- //# sourceMappingURL=index-fdc09bba.esm.js.map
1
+ import t from"react";import{S as o,l as i}from"./index-463527d5.esm.js";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";import"@tanstack/react-query";import"lodash";import"@material-ui/core/styles/makeStyles";import"@material-ui/core";import"@backstage/core-components";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-core";import"@backstage/catalog-model";import"@material-ui/lab";import"react-router-dom";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"../images/empty-state.svg";const m=({title:r})=>t.createElement(o,null,t.createElement(i,{title:r}));export{m as EntitySoundcheckCard};
2
+ //# sourceMappingURL=index-680620cf.esm.js.map
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{P as l,O as w,T as x,U as G,V as K,K as R}from"./esm/index-dbd15076.esm.js";import"react";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";import"@tanstack/react-query";import"lodash";import"@material-ui/core/styles/makeStyles";import"@material-ui/core";import"@backstage/core-components";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-core";import"@backstage/catalog-model";import"@material-ui/lab";import"react-router-dom";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"./images/empty-state.svg";export{l as EntitySoundcheckCard,w as EntitySoundcheckContent,x as GroupSoundcheckContent,G as SoundcheckOverviewPage,K as SoundcheckRoutingPage,R as soundcheckPlugin};
1
+ import{P as l,O as w,T as x,U as G,V as K,K as R}from"./esm/index-463527d5.esm.js";import"react";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";import"@tanstack/react-query";import"lodash";import"@material-ui/core/styles/makeStyles";import"@material-ui/core";import"@backstage/core-components";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-core";import"@backstage/catalog-model";import"@material-ui/lab";import"react-router-dom";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"./images/empty-state.svg";export{l as EntitySoundcheckCard,w as EntitySoundcheckContent,x as GroupSoundcheckContent,G as SoundcheckOverviewPage,K as SoundcheckRoutingPage,R as soundcheckPlugin};
2
2
  //# sourceMappingURL=index.esm.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spotify/backstage-plugin-soundcheck",
3
3
  "description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
4
- "version": "0.11.0",
4
+ "version": "0.11.1",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://backstage.spotify.com",
7
7
  "main": "dist/index.esm.js",
@@ -42,7 +42,7 @@
42
42
  "@material-ui/lab": "4.0.0-alpha.61",
43
43
  "@material-ui/pickers": "^3.3.10",
44
44
  "@spotify/backstage-plugin-core": "^0.5.9",
45
- "@spotify/backstage-plugin-soundcheck-common": "^0.11.0",
45
+ "@spotify/backstage-plugin-soundcheck-common": "^0.11.1",
46
46
  "@tanstack/react-query": "^4.6.1",
47
47
  "@types/react-csv": "^1.1.6",
48
48
  "@uiw/react-md-editor": "3.19.5",