@spotify/backstage-plugin-soundcheck 0.11.0 → 0.11.2
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.
- package/CHANGELOG.md +14 -0
- package/dist/esm/{EntitySoundcheckContent-296037fb.esm.js → EntitySoundcheckContent-01a8936d.esm.js} +2 -2
- package/dist/esm/{OverviewPageContent-799c2286.esm.js → OverviewPageContent-5829eeed.esm.js} +2 -2
- package/dist/esm/{RefetchingIndicator-40f27138.esm.js → RefetchingIndicator-cfc61b83.esm.js} +2 -2
- package/dist/esm/{index-7588122c.esm.js → index-07f23db3.esm.js} +2 -2
- package/dist/esm/{index-fdc09bba.esm.js → index-4dba74f4.esm.js} +2 -2
- package/dist/esm/{index-dbd15076.esm.js → index-9833aac9.esm.js} +2 -2
- package/dist/esm/index-983aff99.esm.js +2 -0
- package/dist/index.esm.js +1 -1
- package/package.json +2 -2
- package/dist/esm/index-6236514d.esm.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @spotify/backstage-plugin-soundcheck
|
|
2
2
|
|
|
3
|
+
## 0.11.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fixed the issue when track filters are not stored in the database.
|
|
8
|
+
|
|
9
|
+
## 0.11.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- This patch includes fixes for creating Campaigns and for creating Tracks with Checks that have a schedule.
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
- @spotify/backstage-plugin-soundcheck-common@0.11.1
|
|
16
|
+
|
|
3
17
|
## 0.11.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
package/dist/esm/{EntitySoundcheckContent-296037fb.esm.js → EntitySoundcheckContent-01a8936d.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as ee,useEffect as te,createContext as ae,useContext as ne,useMemo as re}from"react";import{Link as M,useParams as j,Routes as le,Route as v,Navigate as b}from"react-router-dom";import{makeStyles as u,Typography as k,Box as ie,Tab as S,Tabs as O,useTheme as ce,Paper as oe,Divider as se}from"@material-ui/core";import{SpotifyLicenseBanner as de}from"@spotify/backstage-plugin-core";import{useEntity as f}from"@backstage/plugin-catalog-react";import{R as me}from"./RefetchingIndicator-40f27138.esm.js";import{s as L,R as g,A as I,F as U,a as pe,u as N,C as ue,L as ge,N as fe,b as B,c as R,d as w,e as Q,f as Ee,g as he,i as ye,h as $,j as H,k as V,S as ve}from"./index-dbd15076.esm.js";import{Skeleton as E}from"@material-ui/lab";import{MarkdownContent as P,LinearGauge as ke,Link as Ce}from"@backstage/core-components";import{stringifyEntityRef as F}from"@backstage/catalog-model";import{useApi as D,useRouteRef as y,useRouteRefParams as A}from"@backstage/core-plugin-api";import{useQuery as W}from"@tanstack/react-query";import be from"react-use/lib/useMeasure";import Y from"react-use/lib/usePrevious";import Ie from"react-confetti";import T from"lodash";import{i as Ne}from"./chartUtils-080232d7.esm.js";import"react-use/lib/useDebounce";import"graphql-request";import"graphql-tag";import"@material-ui/core/styles/makeStyles";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";function Re(t){const n=D(L);return W(["soundcheck/certifications",t],async()=>n.getCertificationDetails(t))}function we(t,n,a){const i=D(L),r=F(t);return W(["soundcheck/check-details",r,n,a],async()=>i.getCheckResultDetails(r,n,a),{enabled:!!n&&!!a})}function x(t){const n=D(L),a=F(t);return W(["soundcheck/playlists",a],async()=>n.getPlaylists(a))}const Pe=u({markdownContent:{"& :last-child":{marginBottom:0}}}),Te=({state:t,notes:n})=>{const a=Pe(),i={[g.Passed]:"success",[g.Failed]:"error",[g.NotReported]:"info",[g.NotApplicable]:"info"}[t],r={[g.Passed]:"Check passed",[g.Failed]:"Check did not pass",[g.NotReported]:"Check not reported",[g.NotApplicable]:"Check not applicable"}[t];return e.createElement(I,{severity:i,title:r},n?e.createElement(P,{className:a.markdownContent,content:n}):null)},xe=()=>{const t=q();return e.createElement(U,null,e.createElement("div",{className:t.root,"data-testid":"check-details-view"},e.createElement("div",{className:t.topBar},e.createElement(k,{variant:"h2",className:t.title},e.createElement(E,{width:300,height:32})),e.createElement(E,{width:100,height:32})),e.createElement(E,{variant:"rect",height:120}),e.createElement("div",{"data-testid":"soundcheck-check-details-description"},e.createElement(k,{variant:"h3"},e.createElement(E,null)),e.createElement(E,null),e.createElement(E,null),e.createElement(E,null))))},q=u(t=>({root:{padding:`${t.spacing(3)}px ${t.spacing(5)}px`},title:{fontWeight:"normal",fontSize:t.typography.h5.fontSize},description:{padding:`${t.spacing(3)}px 0`},subtitle:{fontWeight:"normal",fontSize:t.typography.h6.fontSize},topBar:{display:"flex",justifyContent:"space-between",marginBottom:t.spacing(2)}})),J=({programId:t,checkId:n})=>{const a=q(),{entity:i}=f(),{data:r,isLoading:l,isError:c}=we(i,t,n);if(c)return e.createElement(ie,{padding:2},e.createElement(I,{severity:"error",title:"Error loading check details"}));if(l||!t||!n)return e.createElement(xe,null);if(!r)return null;const{name:s,description:p,result:d,timestamp:o,notes:m}=r;return e.createElement("div",{className:a.root,"data-testid":"check-details-view"},e.createElement("div",{className:a.topBar},e.createElement(k,{variant:"h2",className:a.title},s),o?e.createElement(pe,{timestamp:o,description:"Last updated"}):null),e.createElement(Te,{state:d,notes:m}),e.createElement("div",{className:a.description,"data-testid":"soundcheck-check-details-description"},e.createElement(k,{variant:"h3",className:a.subtitle},"Description"),e.createElement(P,{content:p})))},Se=u(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),Le=({programId:t})=>{var n,a;const i=Se(),{entity:r}=f(),{data:l,isLoading:c}=N(r,t),[s,{width:p,height:d}]=be(),o=c?void 0:(a=(n=l==null?void 0:l.highestLevel)==null?void 0:n.ordinal)!=null?a:-1,m=Y(o),h=Y(t),[_,G]=ee(!1);return te(()=>{typeof m!="undefined"&&typeof o!="undefined"&&t===h&&o>m&&G(!0)},[o,m,t,h]),_?e.createElement("div",{ref:s,className:i.root},e.createElement(Ie,{width:p,height:d,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>G(!1)})):null},K=u(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),Be=({id:t,name:n,badge:a,href:i,selected:r=!1})=>{const l=K(),{entity:c}=f(),{data:s}=N(c,t);return e.createElement(S,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(ue,{badge:a,isCampaign:(s==null?void 0:s.program.type)==="campaign",className:l.badge}),n),component:M,to:i,selected:r})},z=()=>{const t=K();return e.createElement(S,{className:t.root,classes:{wrapper:t.wrapper},label:e.createElement(E,{width:180})})},$e=()=>e.createElement(U,null,e.createElement(O,{value:!1,indicatorColor:"primary"},e.createElement(z,null),e.createElement(z,null),e.createElement(z,null))),Fe=u(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),De=({id:t,name:n,badge:a,href:i,selected:r=!1})=>{const l=Fe();return e.createElement(S,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,a?e.createElement(ge,{badge:a,className:l.badge}):e.createElement(fe,{className:l.badge}),n),component:M,to:i,selected:r})};function Ae(t=[],n=[],a,i){if(a){const l=t.findIndex(c=>c.id===a);return l<0?!1:l}const r=n.findIndex(l=>l.program.id===i);return r<0?!1:r+t.length}const We=({playlistId:t,trackId:n})=>{const{entity:a}=f(),{isLoading:i,data:r}=B(a),{isLoading:l,data:c}=x(a),s=y(R),p=y(w);if(l||i||!n)return e.createElement($e,null);const d=Ae(c,r,t,n);return e.createElement(O,{value:d,indicatorColor:"primary","aria-label":"Certifications",variant:"scrollable"},(c==null?void 0:c.length)&&c.map(({id:o,name:m})=>e.createElement(De,{key:o,id:o,name:m,selected:o===n,href:s({playlistId:o})})),r&&r.filter(({program:{type:o}})=>o!=="playlist").map(({program:{id:o,name:m},highestLevel:h})=>e.createElement(Be,{key:o,id:o,name:m,badge:h==null?void 0:h.badge,selected:o===n,href:p({trackId:o})})))},X=ae(void 0),ze=()=>{const t=ne(X);if(!t)throw new Error("useAPlaylistCertificationContext must be used within an PlaylistCertificationProvider");return t},Ge=t=>{const{children:n,entityRef:a}=t,i=Re(a);return e.createElement(X.Provider,{value:i},n)},Me=(t,n)=>{if(n)return n.filter(a=>t.trackIds.includes(a.program.id)).map(a=>{const i=T.sumBy(a.levels,c=>T.filter(c.checks,{result:g.Passed}).length),r=T.sumBy(a.levels,c=>T.reject(c.checks,{result:g.NotApplicable}).length),l=r===0?0:i/r;return{id:a.program.id,name:a.program.name,checkPassRate:l}})},je=u(()=>({root:{margin:0,width:"250px"},trackItem:{display:"flex",flexDirection:"column",alignItems:"flex-start"},trackName:{margin:0,padding:0}})),Oe=({playlist:t})=>{const n=je(),{data:a}=ze(),i=ce(),r=re(()=>Me(t,a),[a,t]);return e.createElement("div",{className:n.root},r&&r.map(l=>e.createElement("div",{className:n.trackItem,key:l.id},e.createElement(k,{variant:"caption",color:"textSecondary"},l.name),e.createElement("div",{style:{width:"100%",margin:0,padding:0}},e.createElement(ke,{value:l.checkPassRate,getColor:()=>i.palette.status.ok})))))},Z=u(t=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:t.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:t.spacing(2)},title:{fontSize:t.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:t.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function Ue({description:t,documentationUrl:n}){const a=Z();return n?e.createElement("div",{className:a.description},e.createElement(P,{content:t}),e.createElement(Ce,{to:n},"Learn more")):e.createElement("div",{className:a.description},e.createElement(P,{content:t}))}const Qe=({playlist:t})=>{const n=Z(),{name:a,description:i}=t;return e.createElement("div",{className:n.root},e.createElement(Oe,{playlist:t}),e.createElement("div",null,e.createElement(k,{className:n.title},a),i&&e.createElement(Ue,{description:i,documentationUrl:void 0})))},He=u(t=>({root:{margin:0,display:"grid",gridTemplateColumns:"1fr",backgroundColor:Ne(t)?t.palette.background.paper:t.palette.background.default},section:{backgroundColor:t.palette.background.paper,border:`1px solid ${t.palette.divider}`,boxShadow:"none"},header:{paddingTop:t.spacing(1),paddingLeft:t.spacing(1),paddingRight:t.spacing(1)},twoColumns:{padding:t.spacing(1),display:"grid",gridTemplateColumns:"1fr 2fr",gridGap:t.spacing(1)},sidebar:{display:"grid",gridTemplateColumns:"1fr",gridGap:t.spacing(1.5)}})),Ve=({playlist:t,entityRef:n})=>{const a=He(),{trackId:i,checkId:r}=j();return e.createElement("div",{className:a.root},e.createElement(Ge,{entityRef:n},e.createElement("div",{className:a.header},e.createElement("div",{className:a.section},e.createElement(Qe,{playlist:t,entityRef:n}))),e.createElement("div",{className:a.twoColumns},e.createElement("div",{className:a.sidebar},t.trackIds.map(l=>e.createElement("div",{className:a.section},e.createElement(Q,{key:l,playlistId:t.id,trackId:l,checkId:r})))),e.createElement("div",{className:a.section},e.createElement(J,{programId:i,checkId:r})))))},Ye=u(t=>({paper:{overflow:"hidden",position:"relative"},view:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{borderRight:`1px solid ${t.palette.divider}`}})),qe=()=>{const{playlistId:t,trackId:n,checkId:a}=j(),i=Ye(),{entity:r}=f(),{isError:l,isFetched:c,data:s}=B(r),{isError:p,data:d}=x(r);if(l||p)return e.createElement(I,{severity:"error",title:"Error loading certifications"});const o=t&&(d==null?void 0:d.find(h=>h.id===t));if(t&&!o)return e.createElement(I,{severity:"error",title:"Playlist ${playlistId} not found."});if(c&&!(s!=null&&s.length))return e.createElement(Ee,null);const m=r?F(r):void 0;return e.createElement(oe,{className:i.paper},e.createElement(me,null),e.createElement(We,{playlistId:t,trackId:n}),e.createElement(se,null),o&&e.createElement(Ve,{playlist:o,entityRef:m}),!o&&n&&e.createElement("div",{"data-testid":"soundcheck-certification-view",className:i.view},e.createElement("div",{className:i.sidebar},e.createElement(Q,{trackId:n,checkId:a})),e.createElement(J,{programId:n,checkId:a}),e.createElement(Le,{programId:n})))},Je=u(t=>({root:{"&:not(:first-child)":{marginTop:t.spacing(2)}}})),C=()=>{const t=Je();return e.createElement(e.Fragment,null,e.createElement(de,{backend:he,invalidLicenseMessage:ye,inline:!0}),e.createElement("div",{className:t.root},e.createElement(qe,null)))},Ke=()=>{var t,n;const{entity:a}=f(),i=y(R),r=y(w),{isLoading:l,data:c}=x(a),{isLoading:s,data:p}=B(a);if(l||s)return null;const d=(t=c==null?void 0:c[0])==null?void 0:t.id,o=(n=p==null?void 0:p[0])==null?void 0:n.program.id;return!d&&!o?null:e.createElement(b,{to:d?i({playlistId:d}):r({trackId:o}),replace:!0})},Xe=()=>{var t;const{entity:n}=f(),{playlistId:a}=A(R),i=y($),{data:r}=x(n),l=(t=r==null?void 0:r.find(c=>c.id===a))==null?void 0:t.trackIds[0];return l?e.createElement(b,{to:i({playlistId:a,trackId:l}),replace:!0}):null},Ze=()=>{var t,n;const{entity:a}=f(),{playlistId:i,trackId:r}=A($),{data:l}=N(a,r),c=y(V),s=(n=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:n.id;return s?e.createElement(b,{to:c({playlistId:i,trackId:r,checkId:s}),replace:!0}):null},_e=()=>{var t,n;const{entity:a}=f(),{trackId:i}=A(w),r=y(H),{data:l}=N(a,i),c=(n=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:n.id;return c?e.createElement(b,{to:r({trackId:i,checkId:c}),replace:!0}):null},et=()=>e.createElement(le,null,e.createElement(v,{path:"/",element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Ke,null))}),e.createElement(v,{path:w.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(_e,null))}),e.createElement(v,{path:R.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Xe,null))}),e.createElement(v,{path:$.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Ze,null))}),e.createElement(v,{path:H.path,element:e.createElement(C,null)}),e.createElement(v,{path:V.path,element:e.createElement(C,null)})),tt=()=>e.createElement(ve,null,e.createElement(et,null));export{tt as EntitySoundcheckContent};
|
|
2
|
-
//# sourceMappingURL=EntitySoundcheckContent-
|
|
1
|
+
import e,{useState as ee,useEffect as te,createContext as ae,useContext as ne,useMemo as re}from"react";import{Link as M,useParams as j,Routes as le,Route as v,Navigate as b}from"react-router-dom";import{makeStyles as u,Typography as k,Box as ie,Tab as S,Tabs as O,useTheme as ce,Paper as oe,Divider as se}from"@material-ui/core";import{SpotifyLicenseBanner as de}from"@spotify/backstage-plugin-core";import{useEntity as f}from"@backstage/plugin-catalog-react";import{R as me}from"./RefetchingIndicator-cfc61b83.esm.js";import{s as L,R as g,A as I,F as U,a as pe,u as N,C as ue,L as ge,N as fe,b as B,c as R,d as w,e as Q,f as Ee,g as he,i as ye,h as $,j as H,k as V,S as ve}from"./index-9833aac9.esm.js";import{Skeleton as E}from"@material-ui/lab";import{MarkdownContent as P,LinearGauge as ke,Link as Ce}from"@backstage/core-components";import{stringifyEntityRef as F}from"@backstage/catalog-model";import{useApi as D,useRouteRef as y,useRouteRefParams as A}from"@backstage/core-plugin-api";import{useQuery as W}from"@tanstack/react-query";import be from"react-use/lib/useMeasure";import Y from"react-use/lib/usePrevious";import Ie from"react-confetti";import T from"lodash";import{i as Ne}from"./chartUtils-080232d7.esm.js";import"react-use/lib/useDebounce";import"graphql-request";import"graphql-tag";import"@material-ui/core/styles/makeStyles";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";function Re(t){const n=D(L);return W(["soundcheck/certifications",t],async()=>n.getCertificationDetails(t))}function we(t,n,a){const i=D(L),r=F(t);return W(["soundcheck/check-details",r,n,a],async()=>i.getCheckResultDetails(r,n,a),{enabled:!!n&&!!a})}function x(t){const n=D(L),a=F(t);return W(["soundcheck/playlists",a],async()=>n.getPlaylists(a))}const Pe=u({markdownContent:{"& :last-child":{marginBottom:0}}}),Te=({state:t,notes:n})=>{const a=Pe(),i={[g.Passed]:"success",[g.Failed]:"error",[g.NotReported]:"info",[g.NotApplicable]:"info"}[t],r={[g.Passed]:"Check passed",[g.Failed]:"Check did not pass",[g.NotReported]:"Check not reported",[g.NotApplicable]:"Check not applicable"}[t];return e.createElement(I,{severity:i,title:r},n?e.createElement(P,{className:a.markdownContent,content:n}):null)},xe=()=>{const t=q();return e.createElement(U,null,e.createElement("div",{className:t.root,"data-testid":"check-details-view"},e.createElement("div",{className:t.topBar},e.createElement(k,{variant:"h2",className:t.title},e.createElement(E,{width:300,height:32})),e.createElement(E,{width:100,height:32})),e.createElement(E,{variant:"rect",height:120}),e.createElement("div",{"data-testid":"soundcheck-check-details-description"},e.createElement(k,{variant:"h3"},e.createElement(E,null)),e.createElement(E,null),e.createElement(E,null),e.createElement(E,null))))},q=u(t=>({root:{padding:`${t.spacing(3)}px ${t.spacing(5)}px`},title:{fontWeight:"normal",fontSize:t.typography.h5.fontSize},description:{padding:`${t.spacing(3)}px 0`},subtitle:{fontWeight:"normal",fontSize:t.typography.h6.fontSize},topBar:{display:"flex",justifyContent:"space-between",marginBottom:t.spacing(2)}})),J=({programId:t,checkId:n})=>{const a=q(),{entity:i}=f(),{data:r,isLoading:l,isError:c}=we(i,t,n);if(c)return e.createElement(ie,{padding:2},e.createElement(I,{severity:"error",title:"Error loading check details"}));if(l||!t||!n)return e.createElement(xe,null);if(!r)return null;const{name:s,description:p,result:d,timestamp:o,notes:m}=r;return e.createElement("div",{className:a.root,"data-testid":"check-details-view"},e.createElement("div",{className:a.topBar},e.createElement(k,{variant:"h2",className:a.title},s),o?e.createElement(pe,{timestamp:o,description:"Last updated"}):null),e.createElement(Te,{state:d,notes:m}),e.createElement("div",{className:a.description,"data-testid":"soundcheck-check-details-description"},e.createElement(k,{variant:"h3",className:a.subtitle},"Description"),e.createElement(P,{content:p})))},Se=u(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),Le=({programId:t})=>{var n,a;const i=Se(),{entity:r}=f(),{data:l,isLoading:c}=N(r,t),[s,{width:p,height:d}]=be(),o=c?void 0:(a=(n=l==null?void 0:l.highestLevel)==null?void 0:n.ordinal)!=null?a:-1,m=Y(o),h=Y(t),[_,G]=ee(!1);return te(()=>{typeof m!="undefined"&&typeof o!="undefined"&&t===h&&o>m&&G(!0)},[o,m,t,h]),_?e.createElement("div",{ref:s,className:i.root},e.createElement(Ie,{width:p,height:d,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>G(!1)})):null},K=u(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),Be=({id:t,name:n,badge:a,href:i,selected:r=!1})=>{const l=K(),{entity:c}=f(),{data:s}=N(c,t);return e.createElement(S,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,e.createElement(ue,{badge:a,isCampaign:(s==null?void 0:s.program.type)==="campaign",className:l.badge}),n),component:M,to:i,selected:r})},z=()=>{const t=K();return e.createElement(S,{className:t.root,classes:{wrapper:t.wrapper},label:e.createElement(E,{width:180})})},$e=()=>e.createElement(U,null,e.createElement(O,{value:!1,indicatorColor:"primary"},e.createElement(z,null),e.createElement(z,null),e.createElement(z,null))),Fe=u(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),De=({id:t,name:n,badge:a,href:i,selected:r=!1})=>{const l=Fe();return e.createElement(S,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,a?e.createElement(ge,{badge:a,className:l.badge}):e.createElement(fe,{className:l.badge}),n),component:M,to:i,selected:r})};function Ae(t=[],n=[],a,i){if(a){const l=t.findIndex(c=>c.id===a);return l<0?!1:l}const r=n.findIndex(l=>l.program.id===i);return r<0?!1:r+t.length}const We=({playlistId:t,trackId:n})=>{const{entity:a}=f(),{isLoading:i,data:r}=B(a),{isLoading:l,data:c}=x(a),s=y(R),p=y(w);if(l||i||!n)return e.createElement($e,null);const d=Ae(c,r,t,n);return e.createElement(O,{value:d,indicatorColor:"primary","aria-label":"Certifications",variant:"scrollable"},(c==null?void 0:c.length)&&c.map(({id:o,name:m})=>e.createElement(De,{key:o,id:o,name:m,selected:o===n,href:s({playlistId:o})})),r&&r.filter(({program:{type:o}})=>o!=="playlist").map(({program:{id:o,name:m},highestLevel:h})=>e.createElement(Be,{key:o,id:o,name:m,badge:h==null?void 0:h.badge,selected:o===n,href:p({trackId:o})})))},X=ae(void 0),ze=()=>{const t=ne(X);if(!t)throw new Error("useAPlaylistCertificationContext must be used within an PlaylistCertificationProvider");return t},Ge=t=>{const{children:n,entityRef:a}=t,i=Re(a);return e.createElement(X.Provider,{value:i},n)},Me=(t,n)=>{if(n)return n.filter(a=>t.trackIds.includes(a.program.id)).map(a=>{const i=T.sumBy(a.levels,c=>T.filter(c.checks,{result:g.Passed}).length),r=T.sumBy(a.levels,c=>T.reject(c.checks,{result:g.NotApplicable}).length),l=r===0?0:i/r;return{id:a.program.id,name:a.program.name,checkPassRate:l}})},je=u(()=>({root:{margin:0,width:"250px"},trackItem:{display:"flex",flexDirection:"column",alignItems:"flex-start"},trackName:{margin:0,padding:0}})),Oe=({playlist:t})=>{const n=je(),{data:a}=ze(),i=ce(),r=re(()=>Me(t,a),[a,t]);return e.createElement("div",{className:n.root},r&&r.map(l=>e.createElement("div",{className:n.trackItem,key:l.id},e.createElement(k,{variant:"caption",color:"textSecondary"},l.name),e.createElement("div",{style:{width:"100%",margin:0,padding:0}},e.createElement(ke,{value:l.checkPassRate,getColor:()=>i.palette.status.ok})))))},Z=u(t=>({description:{padding:0,margin:0,display:"block","& p":{margin:0}},root:{padding:t.spacing(2),margin:0,display:"grid",gridTemplateColumns:"min-content auto",gridGap:t.spacing(2)},title:{fontSize:t.typography.pxToRem(18),fontWeight:700,lineHeight:1.235,marginBottom:"6px"},level:{textTransform:"uppercase",color:t.palette.text.secondary,fontWeight:700,letterSpacing:"1px"}}));function Ue({description:t,documentationUrl:n}){const a=Z();return n?e.createElement("div",{className:a.description},e.createElement(P,{content:t}),e.createElement(Ce,{to:n},"Learn more")):e.createElement("div",{className:a.description},e.createElement(P,{content:t}))}const Qe=({playlist:t})=>{const n=Z(),{name:a,description:i}=t;return e.createElement("div",{className:n.root},e.createElement(Oe,{playlist:t}),e.createElement("div",null,e.createElement(k,{className:n.title},a),i&&e.createElement(Ue,{description:i,documentationUrl:void 0})))},He=u(t=>({root:{margin:0,display:"grid",gridTemplateColumns:"1fr",backgroundColor:Ne(t)?t.palette.background.paper:t.palette.background.default},section:{backgroundColor:t.palette.background.paper,border:`1px solid ${t.palette.divider}`,boxShadow:"none"},header:{paddingTop:t.spacing(1),paddingLeft:t.spacing(1),paddingRight:t.spacing(1)},twoColumns:{padding:t.spacing(1),display:"grid",gridTemplateColumns:"1fr 2fr",gridGap:t.spacing(1)},sidebar:{display:"grid",gridTemplateColumns:"1fr",gridGap:t.spacing(1.5)}})),Ve=({playlist:t,entityRef:n})=>{const a=He(),{trackId:i,checkId:r}=j();return e.createElement("div",{className:a.root},e.createElement(Ge,{entityRef:n},e.createElement("div",{className:a.header},e.createElement("div",{className:a.section},e.createElement(Qe,{playlist:t,entityRef:n}))),e.createElement("div",{className:a.twoColumns},e.createElement("div",{className:a.sidebar},t.trackIds.map(l=>e.createElement("div",{className:a.section},e.createElement(Q,{key:l,playlistId:t.id,trackId:l,checkId:r})))),e.createElement("div",{className:a.section},e.createElement(J,{programId:i,checkId:r})))))},Ye=u(t=>({paper:{overflow:"hidden",position:"relative"},view:{display:"grid",gridTemplateColumns:"1fr 2fr"},sidebar:{borderRight:`1px solid ${t.palette.divider}`}})),qe=()=>{const{playlistId:t,trackId:n,checkId:a}=j(),i=Ye(),{entity:r}=f(),{isError:l,isFetched:c,data:s}=B(r),{isError:p,data:d}=x(r);if(l||p)return e.createElement(I,{severity:"error",title:"Error loading certifications"});const o=t&&(d==null?void 0:d.find(h=>h.id===t));if(t&&!o)return e.createElement(I,{severity:"error",title:"Playlist ${playlistId} not found."});if(c&&!(s!=null&&s.length))return e.createElement(Ee,null);const m=r?F(r):void 0;return e.createElement(oe,{className:i.paper},e.createElement(me,null),e.createElement(We,{playlistId:t,trackId:n}),e.createElement(se,null),o&&e.createElement(Ve,{playlist:o,entityRef:m}),!o&&n&&e.createElement("div",{"data-testid":"soundcheck-certification-view",className:i.view},e.createElement("div",{className:i.sidebar},e.createElement(Q,{trackId:n,checkId:a})),e.createElement(J,{programId:n,checkId:a}),e.createElement(Le,{programId:n})))},Je=u(t=>({root:{"&:not(:first-child)":{marginTop:t.spacing(2)}}})),C=()=>{const t=Je();return e.createElement(e.Fragment,null,e.createElement(de,{backend:he,invalidLicenseMessage:ye,inline:!0}),e.createElement("div",{className:t.root},e.createElement(qe,null)))},Ke=()=>{var t,n;const{entity:a}=f(),i=y(R),r=y(w),{isLoading:l,data:c}=x(a),{isLoading:s,data:p}=B(a);if(l||s)return null;const d=(t=c==null?void 0:c[0])==null?void 0:t.id,o=(n=p==null?void 0:p[0])==null?void 0:n.program.id;return!d&&!o?null:e.createElement(b,{to:d?i({playlistId:d}):r({trackId:o}),replace:!0})},Xe=()=>{var t;const{entity:n}=f(),{playlistId:a}=A(R),i=y($),{data:r}=x(n),l=(t=r==null?void 0:r.find(c=>c.id===a))==null?void 0:t.trackIds[0];return l?e.createElement(b,{to:i({playlistId:a,trackId:l}),replace:!0}):null},Ze=()=>{var t,n;const{entity:a}=f(),{playlistId:i,trackId:r}=A($),{data:l}=N(a,r),c=y(V),s=(n=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:n.id;return s?e.createElement(b,{to:c({playlistId:i,trackId:r,checkId:s}),replace:!0}):null},_e=()=>{var t,n;const{entity:a}=f(),{trackId:i}=A(w),r=y(H),{data:l}=N(a,i),c=(n=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:n.id;return c?e.createElement(b,{to:r({trackId:i,checkId:c}),replace:!0}):null},et=()=>e.createElement(le,null,e.createElement(v,{path:"/",element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Ke,null))}),e.createElement(v,{path:w.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(_e,null))}),e.createElement(v,{path:R.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Xe,null))}),e.createElement(v,{path:$.path,element:e.createElement(e.Fragment,null,e.createElement(C,null),e.createElement(Ze,null))}),e.createElement(v,{path:H.path,element:e.createElement(C,null)}),e.createElement(v,{path:V.path,element:e.createElement(C,null)})),tt=()=>e.createElement(ve,null,e.createElement(et,null));export{tt as EntitySoundcheckContent};
|
|
2
|
+
//# sourceMappingURL=EntitySoundcheckContent-01a8936d.esm.js.map
|
package/dist/esm/{OverviewPageContent-799c2286.esm.js → OverviewPageContent-5829eeed.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{useState as B,useEffect as w,useMemo as z,useCallback as Q,createContext as Le,useContext as Oe,memo as $,Fragment as Be}from"react";import{useSearchParams as Pe,useNavigate as Se}from"react-router-dom";import{makeStyles as h,alpha as q,TextField as Fe,CircularProgress as J,Tooltip as X,LinearProgress as Ae,withStyles as ze,Grid as v,Typography as E,Button as Ge,Menu as Me,MenuItem as Y,Card as We}from"@material-ui/core";import He from"@material-ui/lab/Autocomplete";import{stringifyEntityRef as H,parseEntityRef as P}from"@backstage/catalog-model";import{useApi as k,identityApiRef as Z,configApiRef as ee,useRouteRef as T}from"@backstage/core-plugin-api";import{useQuery as x}from"@tanstack/react-query";import{s as D,Q as V,R as I,m as De,B as Ve,L as te,N as ae,n as ne,A as je,f as Ke,o as Ue,p as _e,q as Qe,r as qe}from"./index-dbd15076.esm.js";import{catalogApiRef as G,humanizeEntityRef as M,entityRouteRef as j,EntityRefLink as Je}from"@backstage/plugin-catalog-react";import Xe from"react-use/lib/useAsync";import{HeaderTabs as re,MarkdownContent as Ye,Link as W,EmptyState as Ze,LinearGauge as et}from"@backstage/core-components";import{R as tt}from"./RefetchingIndicator-40f27138.esm.js";import at,{countBy as le}from"lodash";import{Skeleton as K}from"@material-ui/lab";import{VariableSizeGrid as nt}from"react-window";import{DateTime as oe}from"luxon";import rt from"@material-ui/icons/ArrowDropUp";import lt from"@material-ui/icons/ArrowDropDown";import{motion as ie}from"framer-motion";function se(e,a){const n=k(D);return x(["soundcheck/track-overview-for-owner",e,a],async()=>n.getProgramOverviewForOwner(e,a),{enabled:!!e&&!!(a!=null&&a.kind)})}function ce(){const e=k(G);return x(["soundcheck/all-groups"],async()=>{const{items:a}=await e.getEntities({filter:{kind:"Group"},fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind"]});return a.filter(n=>(n==null?void 0:n.kind)==="Group").map(n=>{var r,l,i,o;return{name:(o=(i=(l=(r=n.spec)==null?void 0:r.profile)==null?void 0:l.displayName)!=null?i:n.metadata.title)!=null?o:n.metadata.name,ref:H(n)}})},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function ot(){const e=k(Z),a=k(G);return x(["soundcheck/user-groups-claims"],async()=>{const{ownershipEntityRefs:n}=await e.getBackstageIdentity();return(await a.getEntitiesByRefs({entityRefs:n})).items.filter(r=>(r==null?void 0:r.kind)==="Group").map(r=>{var l,i,o,d,s;return{name:(d=(o=(i=(l=r.spec)==null?void 0:l.profile)==null?void 0:i.displayName)!=null?o:r.metadata.title)!=null?d:r.metadata.name,ref:H(r),type:(s=r.spec)==null?void 0:s.type}})})}function de(e){const a=k(D);return x([V.GetCampaigns,JSON.stringify(e)],async()=>a.getCampaigns(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function it(e){const a=k(D);return x(["soundcheck/facets-for-owner",e],async()=>a.getFacetsForOwner(e),{enabled:!!e})}const st=()=>{const[e,a]=Pe(),n=Object.fromEntries(e.entries()),[r,l]=B(n);return w(()=>{a(r,{replace:!0})},[r]),[r,l]},me=e=>{const a=k(D);return x([V.GetIndividualEntityPassRate,e],async()=>a.getIndividualEntityPassRates(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})},pe=()=>{const{data:e,isLoading:a,isError:n}=ot(),{data:r,isLoading:l,isError:i}=ce();return{options:z(()=>{const o=new Map;return e&&e.forEach(({name:d,ref:s,type:c})=>{o.set(`${s}`,{name:d,ref:s,type:c,key:"My Groups"})}),r&&r.forEach(({name:d,ref:s})=>{o.has(`${s}`)||o.set(`${s}`,{name:d,ref:s,key:"All Groups"})}),[...o.values()]},[e,r]),isLoading:a||l,isError:n||i}},ct=h(e=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:q(e.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:e.page.fontColor}},input:{backgroundColor:"transparent",color:e.page.fontColor},clearIndicator:{color:e.page.fontColor},popupIndicator:{color:e.page.fontColor},notchedOutline:{}})),dt=e=>{const{onChange:a,initialValue:n,setError:r}=e,{options:l,isLoading:i,isError:o}=pe(),d=ct(),[s,c]=B(null),p=k(ee).getOptionalString("soundcheck.overview.defaultSelectedGroupType");w(()=>{var m,u;if(!i&&l!=null&&l.length&&!s){let f;n?f=(m=l.find(y=>y.ref===n))!=null?m:l[0]:p?f=(u=l.find(y=>y.type===p))!=null?u:l[0]:f=l[0],f&&(c(f),a==null||a(f.ref))}},[i,l,s,a,n,p]);const g=Q((m,u)=>{c(u),a==null||a(u==null?void 0:u.ref)},[a,c]);return w(()=>{r==null||r(o?new Error("Error loading groups"):void 0)},[o,r]),o?null:t.createElement(He,{"aria-label":"Current group",className:d.root,classes:{clearIndicator:d.clearIndicator,popupIndicator:d.popupIndicator},disableClearable:!0,options:l!=null?l:[],loading:i,groupBy:m=>m.key,value:s,freeSolo:!1,onChange:g,getOptionLabel:m=>m.name,renderInput:m=>t.createElement(Fe,{...m,variant:"outlined",placeholder:i?"Loading":"Select a group",className:d.textField,InputProps:{...m.InputProps,className:d.input,classes:{notchedOutline:d.notchedOutline},endAdornment:t.createElement(t.Fragment,null,i?t.createElement(J,{color:"inherit",size:20}):null,m.InputProps.endAdornment)}})})},ue={loading:!1},ge=Le(ue),mt=()=>Oe(ge),pt=({children:e})=>{const[a,n]=B(ue),r=k(G),l=k(Z),{value:i,loading:o,error:d}=Xe(async()=>{const[{token:s},c]=await Promise.all([l.getCredentials(),l.getBackstageIdentity()]);return s?await r.getEntityByRef(c.userEntityRef):null},[r,l]);return w(()=>{if(i){const s=H(i);n({user:i,userEntityRef:s,loading:o,error:d})}else n({loading:o,error:d})},[i,o,d]),t.createElement(ge.Provider,{value:a},e)},ut=e=>({key:`skeleton${e}`,label:"",id:`skeleton${e}`}),gt=()=>{const e=Array.from({length:4},(a,n)=>ut(n));return t.createElement(re,{tabs:e})},ft=h(e=>({root:{borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`},tab:{textTransform:"uppercase",paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),yt=({unfilteredFacets:e,onChange:a,kind:n,type:r})=>{var l,i,o;const d=ft(),s={types:(l=e==null?void 0:e.types.filter(({count:m})=>m>0))!=null?l:[]},c=Q(m=>{var u;a((u=s==null?void 0:s.types[m].kind)!=null?u:"",s==null?void 0:s.types[m].type)},[s==null?void 0:s.types,a]);w(()=>{var m,u,f;const y=(s==null?void 0:s.types)&&s.types.length>=0,C=!n&&y,O=n&&y&&!(s!=null&&s.types.find(({kind:S,type:N})=>n===S&&(!r&&!N||r===N)));(C||O)&&a((u=(m=s==null?void 0:s.types[0])==null?void 0:m.kind)!=null?u:"",(f=s==null?void 0:s.types[0])==null?void 0:f.type)},[n,r,s==null?void 0:s.types,a]);const p=(i=s==null?void 0:s.types.map(({kind:m,type:u,count:f})=>{const y=`${m}|${u!=null?u:""}`;return{key:y,label:`${u!=null?u:m} (${f>50?"50+":f})`,id:y,tabProps:{className:d.tab}}}))!=null?i:[];if(!p.length)return null;const g=(o=s==null?void 0:s.types.findIndex(m=>m.kind===n&&(!m.type&&!r||m.type===r)))!=null?o:-1;return t.createElement(t.Fragment,null,t.createElement(tt,null),t.createElement(re,{onChange:c,tabs:p,selectedIndex:g>-1?g:void 0}))},ht=h(e=>({root:{height:"8px",minWidth:"64px",marginLeft:e.spacing(2),borderRadius:"100vh",backgroundColor:e.palette.background.default},bar:{backgroundColor:e.palette.success.main,transition:"none"}})),fe=e=>{var a,n;const r=ht(e),l=z(()=>Object.entries(e.progress).reduce((o,[,d])=>o+d,0),[e.progress]);if(l===0)return null;const i=(a=e.progress[I.Passed])!=null?a:0;return t.createElement(X,{arrow:!0,title:`Check passing for ${i} of ${l} ${l===1?"entity":"entities"}`,enterDelay:0,placement:"top"},t.createElement(Ae,{variant:"determinate",value:((n=e.progress[I.Passed])!=null?n:0)/l*100,classes:{root:r.root,bar:r.bar}}))},Et=h(e=>({headerWrapper:{marginTop:e.spacing(.5)},entityRefName:{fontWeight:"bold"},iconWrapper:{padding:e.spacing(1.5,.5),display:"flex",alignItems:"center",justifyContent:"center"}})),vt=({check:{name:e,description:a},icon:n,entityRef:r})=>{const l=Et(),i=P(r);return t.createElement(v,{spacing:1},t.createElement(v,{container:!0,direction:"row",spacing:1,wrap:"nowrap"},t.createElement("div",{className:l.iconWrapper},n),t.createElement(E,{variant:"h6",className:l.headerWrapper,noWrap:!0},e)),t.createElement(v,{item:!0,wrap:"nowrap"},t.createElement(E,{variant:"subtitle2",className:l.entityRefName},M(i,{defaultKind:i.kind}))),t.createElement(Ye,{content:a}))},kt=ze(e=>{const a=e.palette.type==="dark"?e.palette.common.black:e.palette.grey[300];return{tooltip:{backgroundColor:a,color:e.palette.type==="dark"?e.palette.common.white:e.palette.grey[700]},arrow:{color:a}}})(X),bt=({children:e,check:a,icon:n,entityRef:r})=>t.createElement(kt,{arrow:!0,title:t.createElement(vt,{check:a,icon:n,entityRef:r}),enterDelay:150,placement:"top"},e),Ct=h(e=>({root:{padding:0},iconWrapper:{padding:e.spacing(1.5),display:"flex",alignItems:"center",justifyContent:"center"},link:{"&:hover $iconWrapper, &:active $iconWrapper, &:focus $iconWrapper":{backgroundColor:e.palette.infoBackground}},icon:{width:"17px",height:"17px"},virtualized:{borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),ye=$(({programId:e,check:a,entityRef:n,result:r,entityRoute:l,isVirtualized:i})=>{const o=Ct();if(typeof n!="string"){const p=t.createElement("div",{className:o.iconWrapper},t.createElement("div",{className:o.icon}));return i?t.createElement("div",{className:`${o.root} ${o.virtualized}`,"aria-hidden":!0},p):t.createElement("td",{className:o.root,"aria-hidden":!0},p)}const d=t.createElement(De,{className:o.icon,result:r!=null?r:I.NotReported}),s=t.createElement("div",{className:o.iconWrapper},d),c=r&&r===I.NotApplicable?s:t.createElement(W,{className:o.link,to:`${l(P(n))}/soundcheck/${e}/${a.id}`},s);return i?t.createElement("div",{className:`${o.root} ${o.virtualized}`},t.createElement(bt,{check:a,icon:d,entityRef:n},c)):t.createElement("td",{className:`${o.root}`},c)}),he=8,Nt=16,L={programTitle:70,levelTitle:30,check:42,entityRefFooter:100},U={programTitle:350+Nt*2,checkResult:42},Rt=e=>e.reduce((a,n)=>a+n.height,0),wt=e=>e*U.checkResult+U.programTitle,xt=e=>e.filter(a=>a!==void 0).map(a=>{const n=P(a);return M(n,{defaultKind:n.kind})}).reduce((a,n)=>a.length>n.length?a:n,""),$t=e=>he*e+he,Ee="NoLevel",Tt=e=>({name:Ee,badge:{options:{level:0,color:""},variant:Ve.Medal},entityRef:e,ordinal:0}),ve=h(e=>({checkNameCell:{padding:0,backgroundColor:e.palette.background.paper},checkNameContent:{padding:`0 ${e.spacing(2)}px`,display:"flex",justifyContent:"space-between",alignItems:"center"},checkNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},checkIndicator:{flexBasis:e.spacing(8)},checkNameCellVirtualized:{height:`${L.check}px`,lineHeight:`${L.check}px`,borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),It=$(({programId:e,programName:a,check:n,entityRefs:r,results:l,entityRoute:i})=>{const o=ve(),d=z(()=>le(l.filter(({result:c})=>c!==I.NotApplicable),"result"),[l]),s=new Map(l.map(c=>[c.entityRef,c.result]));return t.createElement("tr",{"data-testid":"track-check-row"},t.createElement("th",{scope:"row",className:o.checkNameCell,"aria-label":`${n.name} check for ${a} track`},t.createElement("div",{className:o.checkNameContent},t.createElement(E,{className:o.checkNameTypography,variant:"subtitle2",component:"p"},n.name),t.createElement(fe,{className:o.checkIndicator,progress:d}))),r.map((c,p)=>t.createElement(ye,{key:p,programId:e,check:n,entityRef:c,result:typeof c=="string"?s.get(c):void 0,entityRoute:i})))}),Lt=({name:e,progress:a})=>{const n=ve();return t.createElement("div",{className:n.checkNameCell,"aria-label":`${e} check`},t.createElement("div",{className:`${n.checkNameContent} ${n.checkNameCellVirtualized}`},t.createElement(E,{variant:"subtitle2",component:"p",className:n.checkNameTypography},e),t.createElement(fe,{className:n.checkIndicator,progress:a})))},Ot=h(e=>({virtualized:{borderRight:`1px solid ${e.palette.divider}`,height:`${L.programTitle}px`,display:"flex",justifyContent:"center",alignItems:"center"}})),Bt=$(({entityRef:e,highestLevels:a,trackType:n})=>{const r=a.find(i=>i.entityRef===e);let l=r!=null&&r.badge?t.createElement(te,{badge:r.badge}):t.createElement(ae,null);return n==="campaign"&&(l=t.createElement(ne,null)),l}),Pt=({highestLevel:e,trackType:a})=>{const n=Ot();if(!(e!=null&&e.badge))return t.createElement("div",{className:n.virtualized},"\xA0");let r=e.name!==Ee?t.createElement(te,{badge:e.badge}):t.createElement(ae,null);return a==="campaign"&&(r=t.createElement(ne,null)),t.createElement("div",{className:n.virtualized},r)},ke=h(e=>({programNameCell:{padding:0,position:"sticky",backgroundColor:e.palette.background.paper},programNameContent:{padding:e.spacing(2)},programNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},badgeCellContent:{display:"flex",justifyContent:"center",alignItems:"center"},programNameCellVirtualized:{borderRight:`1px solid ${e.palette.divider}`}})),St=$(({program:e,entityRefs:a,highestLevels:n})=>{const r=ke();return t.createElement("tr",{"data-testid":"track-title-row"},t.createElement("th",{scope:"row",className:r.programNameCell},t.createElement("div",{className:r.programNameContent},t.createElement(E,{className:r.programNameTypography,variant:"h5",component:"p"},e.name))),a.map((l,i)=>{var o;return typeof l!="string"?t.createElement("td",{key:i,"aria-hidden":!0}):t.createElement("td",{key:i,"data-testid":"track-certification-cell"},t.createElement("div",{className:r.badgeCellContent},t.createElement(Bt,{entityRef:l,highestLevels:n,trackType:(o=e.type)!=null?o:void 0})))}))}),Ft=$(({name:e})=>{const a=ke();return t.createElement("div",{className:`${a.programNameCell} ${a.programNameCellVirtualized}`},t.createElement("div",{className:a.programNameContent},t.createElement(E,{className:a.programNameTypography,variant:"h5",component:"p"},e)))}),_=h(e=>{const a=e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100];return{root:{color:q(e.palette.getContrastText(a),.8),backgroundColor:a},levelContent:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,backgroundColor:a},levelTypography:{overflow:"hidden",textOverflow:"ellipsis"},levelHeaderCell:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,borderRight:`1px solid ${e.palette.divider}`,height:`${L.levelTitle}px`}}}),At=$(({level:e,entityRefs:a,programName:n})=>{const r=_();return t.createElement("tr",{className:r.root,"data-testid":"track-level-row"},t.createElement("th",{scope:"row",className:r.root},t.createElement("div",{className:r.levelContent},t.createElement(E,{className:r.levelTypography,variant:"subtitle2",component:"p","aria-label":`${e.name} for ${n} track`},e.name))),a.map((l,i)=>t.createElement("td",{key:i,className:r.root,"aria-hidden":!0})))}),zt=({name:e})=>{const a=_();return t.createElement("div",{className:`${a.levelHeaderCell} ${a.root}`,"aria-label":`${e}`},t.createElement(E,{variant:"subtitle2",component:"p",className:a.levelTypography},e))},Gt=()=>{const e=_();return t.createElement("div",{className:`${e.levelHeaderCell} ${e.root}`},"\xA0")},Mt=({program:e,highestLevels:a,levels:n,entityRefs:r,entityRoute:l})=>t.createElement("tbody",null,t.createElement(St,{program:e,entityRefs:r,highestLevels:a}),n.map((i,o)=>t.createElement(Be,{key:o},t.createElement(At,{entityRefs:r,level:i,programName:e.name}),i.checks.map(({check:d,results:s},c)=>t.createElement(It,{key:c,check:d,programId:e.id,programName:e.name,entityRefs:r,results:s,entityRoute:l}))))),be=e=>{const a=k(G);return x([V.EntityByRef,e],async()=>a.getEntityByRef(e),{onError:()=>{},enabled:!!e})},Wt=e=>{const a=k(G);return x([V.EntitiesByRefs,e],async()=>a.getEntitiesByRefs({entityRefs:e.entityRefs,fields:e.fields}),{onError:()=>{},enabled:!!e.entityRefs})},Ce=h(e=>({root:{position:"sticky",bottom:"-1px",backgroundColor:e.palette.background.default,boxShadow:`0 -1px ${e.palette.divider}`,"& td$cell, & th$cell":{border:0,padding:e.spacing(1)},"& td$cell":{backgroundColor:e.palette.background.default}},row:{boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`},cell:{verticalAlign:"top"},cellInner:{textOrientation:"mixed",writingMode:"vertical-lr",transform:"rotate(-20deg)",transformOrigin:`100% ${e.spacing(1)}px`,wordBreak:"keep-all",fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"max(15vh, 175px)"}})),Ht=({entityRefs:e})=>{const a=T(j),n=Ce(),{data:r}=Wt({entityRefs:at.compact(e),fields:["kind","metadata.name","metadata.namespace","metadata.title"]});return t.createElement("tfoot",{className:n.root,"data-testid":"results-table-footer"},t.createElement("tr",{className:n.row},t.createElement("td",{className:n.cell}),e.map((l,i)=>{if(typeof l!="string")return t.createElement("th",{key:i,className:n.cell,"aria-hidden":!0});const o=P(l),d=r==null?void 0:r.items.find(s=>s&&H(s)===l);return t.createElement("th",{scope:"col",key:i,className:n.cell},t.createElement("div",{className:n.cellInner},t.createElement(W,{to:a(o)},d!=null&&d.metadata.title?d.metadata.title:M(o,{defaultKind:o.kind}))))})))},Dt=({entityRef:e})=>{const{data:a}=be(e),n=T(j),r=Ce(),l=e?P(e):void 0,i=l?t.createElement(W,{to:n(l)},a!=null&&a.metadata.title?a.metadata.title:M(l,{defaultKind:l.kind})):t.createElement(t.Fragment,null);return t.createElement("div",{className:r.cell},t.createElement("div",{className:r.cellInner},i))},Vt=h(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},paddingBottom:e.spacing(2)},programTitle:{padding:e.spacing(2)},checkResult:{padding:e.spacing(1.5)},title:{padding:`${e.spacing(1)}px ${e.spacing(2)}px`},header:{backgroundColor:e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100]}})),Ne=()=>{const e=Vt(),a=new Array(25).fill(void 0),n=new Array(5).fill(void 0),r=new Array(3).fill(void 0);return t.createElement("table",{className:e.table},t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{className:e.programTitle},t.createElement(K,{width:180,height:40})),a.map((l,i)=>t.createElement("td",{key:i}))),r.map((l,i)=>t.createElement(t.Fragment,{key:i},t.createElement("tr",{className:e.header},t.createElement("td",{className:e.title},t.createElement(K,{width:180})),a.map((o,d)=>t.createElement("td",{key:d}))),n.map((o,d)=>t.createElement("tr",{key:d},t.createElement("td",{className:e.title},t.createElement(K,{width:240})),a.map((s,c)=>t.createElement("td",{key:c,className:e.checkResult},t.createElement(K,{width:18,height:18,variant:"rect"})))))))))},jt=h(e=>({root:{width:"100%"},table:{overflow:"auto",backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},"& th:first-of-type":{position:"sticky",left:0,zIndex:1,maxWidth:"60ch"},"& tfoot":{bottom:0,zIndex:1e3},"& tbody td:first-of-type":{border:`1px solid ${e.palette.divider}`,boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`}}})),Kt=$(e=>{const{setError:a,kind:n,type:r,ownerEntityRef:l}=e,i=jt(),o=T(j),{data:d,isLoading:s,isError:c}=se(l,{kind:n,type:r});if(w(()=>{a==null||a(c?new Error("Error loading track overview"):void 0)},[c,a]),s)return t.createElement(Ne,null);if(!d||!l)return null;const{programs:p,entityRefs:g}=d;if(!s&&!p.length)return t.createElement(Ze,{missing:"data",title:"Missing tracks",description:t.createElement(t.Fragment,null,"Looks like the group"," ",M(P(l),{defaultKind:"Group"})," ","doesn't own any ",r!=null?r:n," components that have Soundcheck tracks set up.",t.createElement("br",null),t.createElement("br",null),"If you're an administrator, you can learn more about configuring and filtering tracks in the"," ",t.createElement(W,{to:"https://www.npmjs.com/package/@spotify/backstage-plugin-soundcheck-backend#entity-filter"},"docs"),".")});if(c)return null;const m=g.length>=25?g:[...g,...Array.from({length:25-g.length},()=>{})];return t.createElement("div",{className:i.root},t.createElement("table",{className:i.table,"aria-label":"Check results"},p.map(({program:u,levels:f,highestLevels:y},C)=>t.createElement(Mt,{key:C,program:u,entityRefs:m,levels:f,highestLevels:y,entityRoute:o})),t.createElement(Ht,{entityRefs:m})))}),Ut=e=>t.createElement(Ft,{name:e}),_t=e=>({type:"ProgramHeader",render:()=>Ut(e)}),Qt=e=>e?t.createElement(zt,{name:e}):t.createElement(Gt,null),Re=e=>({type:"LevelHeader",render:()=>Qt(e)}),qt=(e,a)=>t.createElement(Lt,{name:e,progress:a}),Jt=(e,a)=>({type:"CheckTitle",render:()=>qt(e,a)}),Xt=(e,a,n,r,l)=>t.createElement(ye,{check:a,entityRef:n,entityRoute:l,programId:e,result:r,isVirtualized:!0}),Yt=(e,a,n,r,l)=>({type:"CheckResult",render:()=>Xt(e,a,n,r,l)}),Zt=e=>t.createElement(Dt,{entityRef:e}),we=e=>({type:"EntityHeader",render:()=>Zt(e)}),ea=(e,a)=>t.createElement(Pt,{highestLevel:e,trackType:a}),ta=(e,a)=>({type:"LevelBadge",render:()=>ea(e,a)}),aa=e=>a=>{const n=e[a.rowIndex].cells[a.columnIndex];return n?t.createElement("div",{style:a.style},n.render()):t.createElement("div",{style:a.style})},na=(e,a,n)=>{var r;const l=[];for(const{program:o,levels:d,highestLevels:s}of e){l.push({height:L.programTitle,cells:[_t(o.name),...a.map(c=>{var p;const g=c?s.find(m=>m.entityRef===c)||Tt(c):void 0;return ta(g,(p=o.type)!=null?p:void 0)})]});for(const c of d){l.push({height:L.levelTitle,cells:[Re(c.name),...a.map(p=>Re(""))]});for(const{check:p,results:g}of c.checks)l.push({height:L.check,cells:[Jt(p.name,le(g.filter(({result:m})=>m!==I.NotApplicable),"result")),...a.map(m=>{var u,f;return Yt(o.id,p,m,(f=(u=g.find(y=>y.entityRef===m))==null?void 0:u.result)!=null?f:I.NotApplicable,n)})]})}}const i=xt(a!=null?a:[]);return l.push({height:$t((r=i.length)!=null?r:1),cells:[we(""),...a.map(o=>we(o||""))]}),l},ra=h(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left",overflow:"auto"}})),la=e=>{const{setError:a,kind:n,type:r,ownerEntityRef:l}=e,i=ra(),o=T(j),{data:d,isLoading:s,isError:c}=se(l,{kind:n,type:r});if(w(()=>{a==null||a(c?new Error("Error loading program overview"):void 0)},[c,a]),s)return t.createElement(Ne,null);if(!d||!l)return null;const{programs:p,entityRefs:g}=d,m=g.length>=25?g:[...g,...Array.from({length:25-g.length},()=>{})],u=na(p,m,o),f=aa(u);return t.createElement(v,{"aria-label":`Check results for ${r!=null?r:n}`,key:`${n}|${r!=null?r:""}`,item:!0,xs:12},t.createElement(nt,{className:i.table,columnCount:m.length+1,columnWidth:y=>y===0?U.programTitle:U.checkResult,rowCount:u.length,rowHeight:y=>u[y].height,height:Rt(u),width:wt(m.length)},f))},oa=({facets:e,ownerEntityRef:a,kind:n,type:r,setError:l})=>{const i=z(()=>{const o=new Map;return e.types.forEach(({kind:d,type:s})=>{const c=`${d}|${s!=null?s:""}`;o.set(c,t.createElement(la,{key:c,ownerEntityRef:a,kind:d,type:s,setError:l}))}),o},[e,a,l]);return t.createElement("div",null,i.get(`${n}|${r!=null?r:""}`))},ia=h(()=>({scrollContainer:{overflow:"auto"}})),sa=({facets:e,ownerEntityRef:a,hasError:n,kind:r,type:l,setError:i,useVirtualizedResultsTable:o,isFixedGroup:d})=>{var s,c,p;const g=ia();if(n)return t.createElement(je,{severity:"error",title:n.message});const m="Use the groups drop-down list at the top-right of the page to select another group.";return e&&((c=(s=e.types)==null?void 0:s.length)!=null?c:0)>0?(p=e.types)!=null&&p.find(u=>u.count>0)?t.createElement("div",{className:g.scrollContainer},o?t.createElement(oa,{facets:e,kind:r,type:l,setError:i,ownerEntityRef:a,hasError:n}):t.createElement(Kt,{ownerEntityRef:a,kind:r,type:l,setError:i})):t.createElement(Ke,{ownerEntityRef:a,selectGroupHint:m}):t.createElement(Ue,{ownerEntityRef:a,selectGroupHint:d?void 0:m})};function ca({angle:e,arc:a,direction:n,dist:r,emoji:l,delay:i,fontSize:o,speed:d}){return t.createElement(ie.div,{style:{position:"absolute",fontSize:o},initial:{top:0,left:"50%",x:"-50%",y:"-100%",rotate:0,originX:`${a*n}px`,originY:`${a}px`},animate:{opacity:[0,1,0,0,0,0],y:`${-r}px`,rotate:e*n},transition:{delay:i,duration:d,ease:[.2,.83,.46,.63],repeat:1/0}},l)}const da=["\u{1F4C8}","\u{1F4CA}","\u{1F4C9}","\u{1F680}","\u2B50\uFE0F"],ma=h(()=>({container:{position:"relative"}}));function pa({angle:e=125,density:a=20,emojis:n=da,fontSizeMin:r=6,fontSizeMax:l=24,size:i=300,speed:o=4}){const d=ma(),s=z(()=>Array.from({length:a*n.length}).map((c,p)=>({emoji:n[Math.floor(Math.random()*n.length)],arc:Math.random()*i*.5,delay:Math.random()*o,dist:Math.random()*i,direction:p%2?1:-1,fontSize:Math.random()*(l-r)+r,angle:e,speed:o})),[a,n,o,i,e,l,r]);return t.createElement("div",{className:d.container},t.createElement(E,{variant:"h1"},"\u{1F469}\u200D\u{1F4BB}"),s.map((c,p)=>t.createElement(ca,{key:`${c.emoji}-${p}`,...c})))}const ua=h(()=>({container:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:1,height:"100%"},textContainer:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}}));function xe({title:e,subtitle:a}){const n=ua();return t.createElement("div",{className:n.container},t.createElement("div",{className:n.textContainer},t.createElement(pa,null),t.createElement(ie.div,{animate:{y:0,opacity:1},initial:{y:100,opacity:0}},e&&t.createElement(E,{align:"center",variant:"h6"},e),a&&t.createElement(E,{align:"center",variant:"subtitle2"},a))))}const ga=h(e=>({campaignCards:{display:"flex",flexDirection:"column",gap:e.spacing(1)},campaignCard:{border:`1px solid ${e.palette.border}`,padding:e.spacing(2),borderRadius:e.shape.borderRadius},actions:{display:"flex",alignItems:"center",gap:e.spacing(1)},actionsText:{textTransform:"lowercase","&:first-letter":{textTransform:"uppercase"}},actionsIcon:{display:"flex"},campaignText:{display:"flex",flexDirection:"column"},campaignDescription:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},entityProgress:{display:"flex",flexDirection:"column"},progress:{display:"flex",alignItems:"center",gap:e.spacing(1),width:"90%"},progressBar:{display:"flex",width:"90%",height:e.spacing(3),"& > span":{display:"flex",margin:"auto",width:"100%",height:e.spacing(2)}},daysLeft:{display:"flex",flexDirection:"column"}})),fa=({campaign:e})=>{var a;const n=ga(),r=T(_e),l=T(Qe),i=Se(),[o,d]=B(null),{data:s,isLoading:c,isError:p}=me({tracks:[{trackId:e.track.id}]}),g=(a=s==null?void 0:s.individualEntityPassRates)!=null?a:[],m=oe.fromISO(e.startDate,{zone:"utc"}),u=oe.fromISO(e.targetCompletionDate,{zone:"utc"}),f=Math.round(u.diff(m,"days").days),y=F=>{d(F.currentTarget)},C=()=>{d(null)},O=()=>{i(l({campaignId:e.id}))},S=()=>{i(r({campaignId:e.id}))};if(c)return t.createElement("div",{"data-testid":"loading-indicator"},t.createElement(xe,null));if(p)return t.createElement(E,{color:"error"},"Failed to load campaigns progress.");let N;return g.length?N=g.map(({id:F,entityOwnerRef:R,snapshotPassRate:b})=>t.createElement("div",{key:F,className:n.entityProgress},R&&t.createElement(Je,{entityRef:R}),t.createElement("div",{className:n.progress},t.createElement("div",{className:n.progressBar},t.createElement(et,{value:b/100,getColor:({value:A,palette:Ie})=>A<0?"":Ie.primary.main})),t.createElement("div",null,b,"%")))):N=t.createElement(E,{variant:"body2"},"No campaigns progress found."),t.createElement("div",{className:n.campaignCards},t.createElement("div",{className:n.campaignCard},t.createElement(v,{container:!0,spacing:4,alignItems:"flex-start"},t.createElement(v,{item:!0,xs:12,md:4},t.createElement("div",{className:n.campaignText},t.createElement(E,{variant:"subtitle2"},e.name),t.createElement(E,{variant:"body2",className:n.campaignDescription},e.description))),t.createElement(v,{item:!0,xs:12,md:4},N),t.createElement(v,{item:!0,xs:6,md:2},t.createElement("div",{className:n.daysLeft},t.createElement(E,{variant:"subtitle2"},"Days left"),t.createElement(E,{variant:"body2"},f))),t.createElement(v,{item:!0,xs:6,md:2},t.createElement("div",null,t.createElement(Ge,{variant:"text","aria-controls":"menu","aria-haspopup":"true",onClick:y},t.createElement("div",{className:n.actions},t.createElement("div",{className:n.actionsText},"Actions"),t.createElement("div",{className:n.actionsIcon},o?t.createElement(rt,{fontSize:"small"}):t.createElement(lt,{fontSize:"small"})))),t.createElement(Me,{id:"campaign-menu",anchorEl:o,keepMounted:!0,open:!!o,onClose:C},t.createElement(Y,{onClick:S},"View"),t.createElement(Y,{onClick:O},"Edit")))))))},ya=h(e=>({loadingContainer:{marginTop:e.spacing(1),display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}})),$e=({size:e})=>{const a=ya();return t.createElement(v,{container:!0,className:a.loadingContainer},t.createElement(J,{size:e}))},ha=h(e=>({tableContainer:{padding:0,backgroundColor:"transparent"},campaignsGrid:{margin:`0 0 ${e.spacing(3)}px`},campaignsCard:{padding:e.spacing(2),gap:e.spacing(2)},campaignsLink:{textAlign:"center",margin:`${e.spacing(1)}rem 0 ${e.spacing(1)}`},tableLoading:{backgroundColor:e.palette.background.paper,padding:e.spacing(6)}})),Te=3,Ea=({groupSelectorError:e,searchParams:a,setSearchParams:n,isFixedGroup:r=!1})=>{var l;const{group:i,kind:o,type:d}=a,s=T(qe),[c,p]=B(void 0),[g,m]=B(void 0);w(()=>{((c==null?void 0:c.kind)!==o||(c==null?void 0:c.type)!==d)&&p({kind:o,type:d})},[o,d,c]);const{data:u,isLoading:f}=it(i),{data:y}=de({orderAlphabetical:"default",searchByOwner:i,searchByStatus:"active"}),C=y==null?void 0:y.edges.map(b=>b.campaign),O=C==null?void 0:C.slice(0,Te),S=(l=k(ee).getOptionalBoolean("soundcheck.virtualizeOverviewPage"))!=null?l:!0,N=g||e,F=(b,A)=>{b&&(p({kind:b,type:A}),A?n({...a,kind:b,type:A}):(a!=null&&a.hasOwnProperty("type")&&delete a.type,n({...a,kind:b})))},R=ha();return t.createElement(v,{container:!0,spacing:0},C&&C.length>0&&t.createElement(v,{item:!0,xs:12,className:R.campaignsGrid},t.createElement(We,{className:R.campaignsCard},t.createElement(E,{variant:"h5"},"Campaigns"),O==null?void 0:O.map(b=>t.createElement("div",{key:b.id},t.createElement(fa,{campaign:b}))),C.length>Te&&t.createElement(W,{to:s(),className:R.campaignsLink},"More Campaigns"))),t.createElement(v,{item:!0,xs:12},f?t.createElement(gt,null):t.createElement(yt,{unfilteredFacets:u,kind:c==null?void 0:c.kind,type:c==null?void 0:c.type,onChange:F})),t.createElement(v,{item:!0,xs:12,className:R.tableContainer},f?t.createElement("div",{className:R.tableLoading},t.createElement($e,{size:80})):t.createElement(sa,{facets:u,kind:c==null?void 0:c.kind,type:c==null?void 0:c.type,setError:m,hasError:N,ownerEntityRef:i,useVirtualizedResultsTable:S,isFixedGroup:r})))};export{dt as G,$e as L,Ea as O,pt as U,pe as a,mt as b,ce as c,xe as d,be as e,me as f,de as g,st as u};
|
|
2
|
-
//# sourceMappingURL=OverviewPageContent-
|
|
1
|
+
import t,{useState as B,useEffect as w,useMemo as z,useCallback as Q,createContext as Le,useContext as Oe,memo as $,Fragment as Be}from"react";import{useSearchParams as Pe,useNavigate as Se}from"react-router-dom";import{makeStyles as h,alpha as q,TextField as Fe,CircularProgress as J,Tooltip as X,LinearProgress as Ae,withStyles as ze,Grid as v,Typography as E,Button as Ge,Menu as Me,MenuItem as Y,Card as We}from"@material-ui/core";import He from"@material-ui/lab/Autocomplete";import{stringifyEntityRef as H,parseEntityRef as P}from"@backstage/catalog-model";import{useApi as k,identityApiRef as Z,configApiRef as ee,useRouteRef as T}from"@backstage/core-plugin-api";import{useQuery as x}from"@tanstack/react-query";import{s as D,Q as V,R as I,m as De,B as Ve,L as te,N as ae,n as ne,A as je,f as Ke,o as Ue,p as _e,q as Qe,r as qe}from"./index-9833aac9.esm.js";import{catalogApiRef as G,humanizeEntityRef as M,entityRouteRef as j,EntityRefLink as Je}from"@backstage/plugin-catalog-react";import Xe from"react-use/lib/useAsync";import{HeaderTabs as re,MarkdownContent as Ye,Link as W,EmptyState as Ze,LinearGauge as et}from"@backstage/core-components";import{R as tt}from"./RefetchingIndicator-cfc61b83.esm.js";import at,{countBy as le}from"lodash";import{Skeleton as K}from"@material-ui/lab";import{VariableSizeGrid as nt}from"react-window";import{DateTime as oe}from"luxon";import rt from"@material-ui/icons/ArrowDropUp";import lt from"@material-ui/icons/ArrowDropDown";import{motion as ie}from"framer-motion";function se(e,a){const n=k(D);return x(["soundcheck/track-overview-for-owner",e,a],async()=>n.getProgramOverviewForOwner(e,a),{enabled:!!e&&!!(a!=null&&a.kind)})}function ce(){const e=k(G);return x(["soundcheck/all-groups"],async()=>{const{items:a}=await e.getEntities({filter:{kind:"Group"},fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind"]});return a.filter(n=>(n==null?void 0:n.kind)==="Group").map(n=>{var r,l,i,o;return{name:(o=(i=(l=(r=n.spec)==null?void 0:r.profile)==null?void 0:l.displayName)!=null?i:n.metadata.title)!=null?o:n.metadata.name,ref:H(n)}})},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function ot(){const e=k(Z),a=k(G);return x(["soundcheck/user-groups-claims"],async()=>{const{ownershipEntityRefs:n}=await e.getBackstageIdentity();return(await a.getEntitiesByRefs({entityRefs:n})).items.filter(r=>(r==null?void 0:r.kind)==="Group").map(r=>{var l,i,o,d,s;return{name:(d=(o=(i=(l=r.spec)==null?void 0:l.profile)==null?void 0:i.displayName)!=null?o:r.metadata.title)!=null?d:r.metadata.name,ref:H(r),type:(s=r.spec)==null?void 0:s.type}})})}function de(e){const a=k(D);return x([V.GetCampaigns,JSON.stringify(e)],async()=>a.getCampaigns(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function it(e){const a=k(D);return x(["soundcheck/facets-for-owner",e],async()=>a.getFacetsForOwner(e),{enabled:!!e})}const st=()=>{const[e,a]=Pe(),n=Object.fromEntries(e.entries()),[r,l]=B(n);return w(()=>{a(r,{replace:!0})},[r]),[r,l]},me=e=>{const a=k(D);return x([V.GetIndividualEntityPassRate,e],async()=>a.getIndividualEntityPassRates(e),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})},pe=()=>{const{data:e,isLoading:a,isError:n}=ot(),{data:r,isLoading:l,isError:i}=ce();return{options:z(()=>{const o=new Map;return e&&e.forEach(({name:d,ref:s,type:c})=>{o.set(`${s}`,{name:d,ref:s,type:c,key:"My Groups"})}),r&&r.forEach(({name:d,ref:s})=>{o.has(`${s}`)||o.set(`${s}`,{name:d,ref:s,key:"All Groups"})}),[...o.values()]},[e,r]),isLoading:a||l,isError:n||i}},ct=h(e=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:q(e.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:e.page.fontColor}},input:{backgroundColor:"transparent",color:e.page.fontColor},clearIndicator:{color:e.page.fontColor},popupIndicator:{color:e.page.fontColor},notchedOutline:{}})),dt=e=>{const{onChange:a,initialValue:n,setError:r}=e,{options:l,isLoading:i,isError:o}=pe(),d=ct(),[s,c]=B(null),p=k(ee).getOptionalString("soundcheck.overview.defaultSelectedGroupType");w(()=>{var m,u;if(!i&&l!=null&&l.length&&!s){let f;n?f=(m=l.find(y=>y.ref===n))!=null?m:l[0]:p?f=(u=l.find(y=>y.type===p))!=null?u:l[0]:f=l[0],f&&(c(f),a==null||a(f.ref))}},[i,l,s,a,n,p]);const g=Q((m,u)=>{c(u),a==null||a(u==null?void 0:u.ref)},[a,c]);return w(()=>{r==null||r(o?new Error("Error loading groups"):void 0)},[o,r]),o?null:t.createElement(He,{"aria-label":"Current group",className:d.root,classes:{clearIndicator:d.clearIndicator,popupIndicator:d.popupIndicator},disableClearable:!0,options:l!=null?l:[],loading:i,groupBy:m=>m.key,value:s,freeSolo:!1,onChange:g,getOptionLabel:m=>m.name,renderInput:m=>t.createElement(Fe,{...m,variant:"outlined",placeholder:i?"Loading":"Select a group",className:d.textField,InputProps:{...m.InputProps,className:d.input,classes:{notchedOutline:d.notchedOutline},endAdornment:t.createElement(t.Fragment,null,i?t.createElement(J,{color:"inherit",size:20}):null,m.InputProps.endAdornment)}})})},ue={loading:!1},ge=Le(ue),mt=()=>Oe(ge),pt=({children:e})=>{const[a,n]=B(ue),r=k(G),l=k(Z),{value:i,loading:o,error:d}=Xe(async()=>{const[{token:s},c]=await Promise.all([l.getCredentials(),l.getBackstageIdentity()]);return s?await r.getEntityByRef(c.userEntityRef):null},[r,l]);return w(()=>{if(i){const s=H(i);n({user:i,userEntityRef:s,loading:o,error:d})}else n({loading:o,error:d})},[i,o,d]),t.createElement(ge.Provider,{value:a},e)},ut=e=>({key:`skeleton${e}`,label:"",id:`skeleton${e}`}),gt=()=>{const e=Array.from({length:4},(a,n)=>ut(n));return t.createElement(re,{tabs:e})},ft=h(e=>({root:{borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`},tab:{textTransform:"uppercase",paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),yt=({unfilteredFacets:e,onChange:a,kind:n,type:r})=>{var l,i,o;const d=ft(),s={types:(l=e==null?void 0:e.types.filter(({count:m})=>m>0))!=null?l:[]},c=Q(m=>{var u;a((u=s==null?void 0:s.types[m].kind)!=null?u:"",s==null?void 0:s.types[m].type)},[s==null?void 0:s.types,a]);w(()=>{var m,u,f;const y=(s==null?void 0:s.types)&&s.types.length>=0,C=!n&&y,O=n&&y&&!(s!=null&&s.types.find(({kind:S,type:N})=>n===S&&(!r&&!N||r===N)));(C||O)&&a((u=(m=s==null?void 0:s.types[0])==null?void 0:m.kind)!=null?u:"",(f=s==null?void 0:s.types[0])==null?void 0:f.type)},[n,r,s==null?void 0:s.types,a]);const p=(i=s==null?void 0:s.types.map(({kind:m,type:u,count:f})=>{const y=`${m}|${u!=null?u:""}`;return{key:y,label:`${u!=null?u:m} (${f>50?"50+":f})`,id:y,tabProps:{className:d.tab}}}))!=null?i:[];if(!p.length)return null;const g=(o=s==null?void 0:s.types.findIndex(m=>m.kind===n&&(!m.type&&!r||m.type===r)))!=null?o:-1;return t.createElement(t.Fragment,null,t.createElement(tt,null),t.createElement(re,{onChange:c,tabs:p,selectedIndex:g>-1?g:void 0}))},ht=h(e=>({root:{height:"8px",minWidth:"64px",marginLeft:e.spacing(2),borderRadius:"100vh",backgroundColor:e.palette.background.default},bar:{backgroundColor:e.palette.success.main,transition:"none"}})),fe=e=>{var a,n;const r=ht(e),l=z(()=>Object.entries(e.progress).reduce((o,[,d])=>o+d,0),[e.progress]);if(l===0)return null;const i=(a=e.progress[I.Passed])!=null?a:0;return t.createElement(X,{arrow:!0,title:`Check passing for ${i} of ${l} ${l===1?"entity":"entities"}`,enterDelay:0,placement:"top"},t.createElement(Ae,{variant:"determinate",value:((n=e.progress[I.Passed])!=null?n:0)/l*100,classes:{root:r.root,bar:r.bar}}))},Et=h(e=>({headerWrapper:{marginTop:e.spacing(.5)},entityRefName:{fontWeight:"bold"},iconWrapper:{padding:e.spacing(1.5,.5),display:"flex",alignItems:"center",justifyContent:"center"}})),vt=({check:{name:e,description:a},icon:n,entityRef:r})=>{const l=Et(),i=P(r);return t.createElement(v,{spacing:1},t.createElement(v,{container:!0,direction:"row",spacing:1,wrap:"nowrap"},t.createElement("div",{className:l.iconWrapper},n),t.createElement(E,{variant:"h6",className:l.headerWrapper,noWrap:!0},e)),t.createElement(v,{item:!0,wrap:"nowrap"},t.createElement(E,{variant:"subtitle2",className:l.entityRefName},M(i,{defaultKind:i.kind}))),t.createElement(Ye,{content:a}))},kt=ze(e=>{const a=e.palette.type==="dark"?e.palette.common.black:e.palette.grey[300];return{tooltip:{backgroundColor:a,color:e.palette.type==="dark"?e.palette.common.white:e.palette.grey[700]},arrow:{color:a}}})(X),bt=({children:e,check:a,icon:n,entityRef:r})=>t.createElement(kt,{arrow:!0,title:t.createElement(vt,{check:a,icon:n,entityRef:r}),enterDelay:150,placement:"top"},e),Ct=h(e=>({root:{padding:0},iconWrapper:{padding:e.spacing(1.5),display:"flex",alignItems:"center",justifyContent:"center"},link:{"&:hover $iconWrapper, &:active $iconWrapper, &:focus $iconWrapper":{backgroundColor:e.palette.infoBackground}},icon:{width:"17px",height:"17px"},virtualized:{borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),ye=$(({programId:e,check:a,entityRef:n,result:r,entityRoute:l,isVirtualized:i})=>{const o=Ct();if(typeof n!="string"){const p=t.createElement("div",{className:o.iconWrapper},t.createElement("div",{className:o.icon}));return i?t.createElement("div",{className:`${o.root} ${o.virtualized}`,"aria-hidden":!0},p):t.createElement("td",{className:o.root,"aria-hidden":!0},p)}const d=t.createElement(De,{className:o.icon,result:r!=null?r:I.NotReported}),s=t.createElement("div",{className:o.iconWrapper},d),c=r&&r===I.NotApplicable?s:t.createElement(W,{className:o.link,to:`${l(P(n))}/soundcheck/${e}/${a.id}`},s);return i?t.createElement("div",{className:`${o.root} ${o.virtualized}`},t.createElement(bt,{check:a,icon:d,entityRef:n},c)):t.createElement("td",{className:`${o.root}`},c)}),he=8,Nt=16,L={programTitle:70,levelTitle:30,check:42,entityRefFooter:100},U={programTitle:350+Nt*2,checkResult:42},Rt=e=>e.reduce((a,n)=>a+n.height,0),wt=e=>e*U.checkResult+U.programTitle,xt=e=>e.filter(a=>a!==void 0).map(a=>{const n=P(a);return M(n,{defaultKind:n.kind})}).reduce((a,n)=>a.length>n.length?a:n,""),$t=e=>he*e+he,Ee="NoLevel",Tt=e=>({name:Ee,badge:{options:{level:0,color:""},variant:Ve.Medal},entityRef:e,ordinal:0}),ve=h(e=>({checkNameCell:{padding:0,backgroundColor:e.palette.background.paper},checkNameContent:{padding:`0 ${e.spacing(2)}px`,display:"flex",justifyContent:"space-between",alignItems:"center"},checkNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},checkIndicator:{flexBasis:e.spacing(8)},checkNameCellVirtualized:{height:`${L.check}px`,lineHeight:`${L.check}px`,borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),It=$(({programId:e,programName:a,check:n,entityRefs:r,results:l,entityRoute:i})=>{const o=ve(),d=z(()=>le(l.filter(({result:c})=>c!==I.NotApplicable),"result"),[l]),s=new Map(l.map(c=>[c.entityRef,c.result]));return t.createElement("tr",{"data-testid":"track-check-row"},t.createElement("th",{scope:"row",className:o.checkNameCell,"aria-label":`${n.name} check for ${a} track`},t.createElement("div",{className:o.checkNameContent},t.createElement(E,{className:o.checkNameTypography,variant:"subtitle2",component:"p"},n.name),t.createElement(fe,{className:o.checkIndicator,progress:d}))),r.map((c,p)=>t.createElement(ye,{key:p,programId:e,check:n,entityRef:c,result:typeof c=="string"?s.get(c):void 0,entityRoute:i})))}),Lt=({name:e,progress:a})=>{const n=ve();return t.createElement("div",{className:n.checkNameCell,"aria-label":`${e} check`},t.createElement("div",{className:`${n.checkNameContent} ${n.checkNameCellVirtualized}`},t.createElement(E,{variant:"subtitle2",component:"p",className:n.checkNameTypography},e),t.createElement(fe,{className:n.checkIndicator,progress:a})))},Ot=h(e=>({virtualized:{borderRight:`1px solid ${e.palette.divider}`,height:`${L.programTitle}px`,display:"flex",justifyContent:"center",alignItems:"center"}})),Bt=$(({entityRef:e,highestLevels:a,trackType:n})=>{const r=a.find(i=>i.entityRef===e);let l=r!=null&&r.badge?t.createElement(te,{badge:r.badge}):t.createElement(ae,null);return n==="campaign"&&(l=t.createElement(ne,null)),l}),Pt=({highestLevel:e,trackType:a})=>{const n=Ot();if(!(e!=null&&e.badge))return t.createElement("div",{className:n.virtualized},"\xA0");let r=e.name!==Ee?t.createElement(te,{badge:e.badge}):t.createElement(ae,null);return a==="campaign"&&(r=t.createElement(ne,null)),t.createElement("div",{className:n.virtualized},r)},ke=h(e=>({programNameCell:{padding:0,position:"sticky",backgroundColor:e.palette.background.paper},programNameContent:{padding:e.spacing(2)},programNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},badgeCellContent:{display:"flex",justifyContent:"center",alignItems:"center"},programNameCellVirtualized:{borderRight:`1px solid ${e.palette.divider}`}})),St=$(({program:e,entityRefs:a,highestLevels:n})=>{const r=ke();return t.createElement("tr",{"data-testid":"track-title-row"},t.createElement("th",{scope:"row",className:r.programNameCell},t.createElement("div",{className:r.programNameContent},t.createElement(E,{className:r.programNameTypography,variant:"h5",component:"p"},e.name))),a.map((l,i)=>{var o;return typeof l!="string"?t.createElement("td",{key:i,"aria-hidden":!0}):t.createElement("td",{key:i,"data-testid":"track-certification-cell"},t.createElement("div",{className:r.badgeCellContent},t.createElement(Bt,{entityRef:l,highestLevels:n,trackType:(o=e.type)!=null?o:void 0})))}))}),Ft=$(({name:e})=>{const a=ke();return t.createElement("div",{className:`${a.programNameCell} ${a.programNameCellVirtualized}`},t.createElement("div",{className:a.programNameContent},t.createElement(E,{className:a.programNameTypography,variant:"h5",component:"p"},e)))}),_=h(e=>{const a=e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100];return{root:{color:q(e.palette.getContrastText(a),.8),backgroundColor:a},levelContent:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,backgroundColor:a},levelTypography:{overflow:"hidden",textOverflow:"ellipsis"},levelHeaderCell:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,borderRight:`1px solid ${e.palette.divider}`,height:`${L.levelTitle}px`}}}),At=$(({level:e,entityRefs:a,programName:n})=>{const r=_();return t.createElement("tr",{className:r.root,"data-testid":"track-level-row"},t.createElement("th",{scope:"row",className:r.root},t.createElement("div",{className:r.levelContent},t.createElement(E,{className:r.levelTypography,variant:"subtitle2",component:"p","aria-label":`${e.name} for ${n} track`},e.name))),a.map((l,i)=>t.createElement("td",{key:i,className:r.root,"aria-hidden":!0})))}),zt=({name:e})=>{const a=_();return t.createElement("div",{className:`${a.levelHeaderCell} ${a.root}`,"aria-label":`${e}`},t.createElement(E,{variant:"subtitle2",component:"p",className:a.levelTypography},e))},Gt=()=>{const e=_();return t.createElement("div",{className:`${e.levelHeaderCell} ${e.root}`},"\xA0")},Mt=({program:e,highestLevels:a,levels:n,entityRefs:r,entityRoute:l})=>t.createElement("tbody",null,t.createElement(St,{program:e,entityRefs:r,highestLevels:a}),n.map((i,o)=>t.createElement(Be,{key:o},t.createElement(At,{entityRefs:r,level:i,programName:e.name}),i.checks.map(({check:d,results:s},c)=>t.createElement(It,{key:c,check:d,programId:e.id,programName:e.name,entityRefs:r,results:s,entityRoute:l}))))),be=e=>{const a=k(G);return x([V.EntityByRef,e],async()=>a.getEntityByRef(e),{onError:()=>{},enabled:!!e})},Wt=e=>{const a=k(G);return x([V.EntitiesByRefs,e],async()=>a.getEntitiesByRefs({entityRefs:e.entityRefs,fields:e.fields}),{onError:()=>{},enabled:!!e.entityRefs})},Ce=h(e=>({root:{position:"sticky",bottom:"-1px",backgroundColor:e.palette.background.default,boxShadow:`0 -1px ${e.palette.divider}`,"& td$cell, & th$cell":{border:0,padding:e.spacing(1)},"& td$cell":{backgroundColor:e.palette.background.default}},row:{boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`},cell:{verticalAlign:"top"},cellInner:{textOrientation:"mixed",writingMode:"vertical-lr",transform:"rotate(-20deg)",transformOrigin:`100% ${e.spacing(1)}px`,wordBreak:"keep-all",fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"max(15vh, 175px)"}})),Ht=({entityRefs:e})=>{const a=T(j),n=Ce(),{data:r}=Wt({entityRefs:at.compact(e),fields:["kind","metadata.name","metadata.namespace","metadata.title"]});return t.createElement("tfoot",{className:n.root,"data-testid":"results-table-footer"},t.createElement("tr",{className:n.row},t.createElement("td",{className:n.cell}),e.map((l,i)=>{if(typeof l!="string")return t.createElement("th",{key:i,className:n.cell,"aria-hidden":!0});const o=P(l),d=r==null?void 0:r.items.find(s=>s&&H(s)===l);return t.createElement("th",{scope:"col",key:i,className:n.cell},t.createElement("div",{className:n.cellInner},t.createElement(W,{to:a(o)},d!=null&&d.metadata.title?d.metadata.title:M(o,{defaultKind:o.kind}))))})))},Dt=({entityRef:e})=>{const{data:a}=be(e),n=T(j),r=Ce(),l=e?P(e):void 0,i=l?t.createElement(W,{to:n(l)},a!=null&&a.metadata.title?a.metadata.title:M(l,{defaultKind:l.kind})):t.createElement(t.Fragment,null);return t.createElement("div",{className:r.cell},t.createElement("div",{className:r.cellInner},i))},Vt=h(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},paddingBottom:e.spacing(2)},programTitle:{padding:e.spacing(2)},checkResult:{padding:e.spacing(1.5)},title:{padding:`${e.spacing(1)}px ${e.spacing(2)}px`},header:{backgroundColor:e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100]}})),Ne=()=>{const e=Vt(),a=new Array(25).fill(void 0),n=new Array(5).fill(void 0),r=new Array(3).fill(void 0);return t.createElement("table",{className:e.table},t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{className:e.programTitle},t.createElement(K,{width:180,height:40})),a.map((l,i)=>t.createElement("td",{key:i}))),r.map((l,i)=>t.createElement(t.Fragment,{key:i},t.createElement("tr",{className:e.header},t.createElement("td",{className:e.title},t.createElement(K,{width:180})),a.map((o,d)=>t.createElement("td",{key:d}))),n.map((o,d)=>t.createElement("tr",{key:d},t.createElement("td",{className:e.title},t.createElement(K,{width:240})),a.map((s,c)=>t.createElement("td",{key:c,className:e.checkResult},t.createElement(K,{width:18,height:18,variant:"rect"})))))))))},jt=h(e=>({root:{width:"100%"},table:{overflow:"auto",backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},"& th:first-of-type":{position:"sticky",left:0,zIndex:1,maxWidth:"60ch"},"& tfoot":{bottom:0,zIndex:1e3},"& tbody td:first-of-type":{border:`1px solid ${e.palette.divider}`,boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`}}})),Kt=$(e=>{const{setError:a,kind:n,type:r,ownerEntityRef:l}=e,i=jt(),o=T(j),{data:d,isLoading:s,isError:c}=se(l,{kind:n,type:r});if(w(()=>{a==null||a(c?new Error("Error loading track overview"):void 0)},[c,a]),s)return t.createElement(Ne,null);if(!d||!l)return null;const{programs:p,entityRefs:g}=d;if(!s&&!p.length)return t.createElement(Ze,{missing:"data",title:"Missing tracks",description:t.createElement(t.Fragment,null,"Looks like the group"," ",M(P(l),{defaultKind:"Group"})," ","doesn't own any ",r!=null?r:n," components that have Soundcheck tracks set up.",t.createElement("br",null),t.createElement("br",null),"If you're an administrator, you can learn more about configuring and filtering tracks in the"," ",t.createElement(W,{to:"https://www.npmjs.com/package/@spotify/backstage-plugin-soundcheck-backend#entity-filter"},"docs"),".")});if(c)return null;const m=g.length>=25?g:[...g,...Array.from({length:25-g.length},()=>{})];return t.createElement("div",{className:i.root},t.createElement("table",{className:i.table,"aria-label":"Check results"},p.map(({program:u,levels:f,highestLevels:y},C)=>t.createElement(Mt,{key:C,program:u,entityRefs:m,levels:f,highestLevels:y,entityRoute:o})),t.createElement(Ht,{entityRefs:m})))}),Ut=e=>t.createElement(Ft,{name:e}),_t=e=>({type:"ProgramHeader",render:()=>Ut(e)}),Qt=e=>e?t.createElement(zt,{name:e}):t.createElement(Gt,null),Re=e=>({type:"LevelHeader",render:()=>Qt(e)}),qt=(e,a)=>t.createElement(Lt,{name:e,progress:a}),Jt=(e,a)=>({type:"CheckTitle",render:()=>qt(e,a)}),Xt=(e,a,n,r,l)=>t.createElement(ye,{check:a,entityRef:n,entityRoute:l,programId:e,result:r,isVirtualized:!0}),Yt=(e,a,n,r,l)=>({type:"CheckResult",render:()=>Xt(e,a,n,r,l)}),Zt=e=>t.createElement(Dt,{entityRef:e}),we=e=>({type:"EntityHeader",render:()=>Zt(e)}),ea=(e,a)=>t.createElement(Pt,{highestLevel:e,trackType:a}),ta=(e,a)=>({type:"LevelBadge",render:()=>ea(e,a)}),aa=e=>a=>{const n=e[a.rowIndex].cells[a.columnIndex];return n?t.createElement("div",{style:a.style},n.render()):t.createElement("div",{style:a.style})},na=(e,a,n)=>{var r;const l=[];for(const{program:o,levels:d,highestLevels:s}of e){l.push({height:L.programTitle,cells:[_t(o.name),...a.map(c=>{var p;const g=c?s.find(m=>m.entityRef===c)||Tt(c):void 0;return ta(g,(p=o.type)!=null?p:void 0)})]});for(const c of d){l.push({height:L.levelTitle,cells:[Re(c.name),...a.map(p=>Re(""))]});for(const{check:p,results:g}of c.checks)l.push({height:L.check,cells:[Jt(p.name,le(g.filter(({result:m})=>m!==I.NotApplicable),"result")),...a.map(m=>{var u,f;return Yt(o.id,p,m,(f=(u=g.find(y=>y.entityRef===m))==null?void 0:u.result)!=null?f:I.NotApplicable,n)})]})}}const i=xt(a!=null?a:[]);return l.push({height:$t((r=i.length)!=null?r:1),cells:[we(""),...a.map(o=>we(o||""))]}),l},ra=h(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left",overflow:"auto"}})),la=e=>{const{setError:a,kind:n,type:r,ownerEntityRef:l}=e,i=ra(),o=T(j),{data:d,isLoading:s,isError:c}=se(l,{kind:n,type:r});if(w(()=>{a==null||a(c?new Error("Error loading program overview"):void 0)},[c,a]),s)return t.createElement(Ne,null);if(!d||!l)return null;const{programs:p,entityRefs:g}=d,m=g.length>=25?g:[...g,...Array.from({length:25-g.length},()=>{})],u=na(p,m,o),f=aa(u);return t.createElement(v,{"aria-label":`Check results for ${r!=null?r:n}`,key:`${n}|${r!=null?r:""}`,item:!0,xs:12},t.createElement(nt,{className:i.table,columnCount:m.length+1,columnWidth:y=>y===0?U.programTitle:U.checkResult,rowCount:u.length,rowHeight:y=>u[y].height,height:Rt(u),width:wt(m.length)},f))},oa=({facets:e,ownerEntityRef:a,kind:n,type:r,setError:l})=>{const i=z(()=>{const o=new Map;return e.types.forEach(({kind:d,type:s})=>{const c=`${d}|${s!=null?s:""}`;o.set(c,t.createElement(la,{key:c,ownerEntityRef:a,kind:d,type:s,setError:l}))}),o},[e,a,l]);return t.createElement("div",null,i.get(`${n}|${r!=null?r:""}`))},ia=h(()=>({scrollContainer:{overflow:"auto"}})),sa=({facets:e,ownerEntityRef:a,hasError:n,kind:r,type:l,setError:i,useVirtualizedResultsTable:o,isFixedGroup:d})=>{var s,c,p;const g=ia();if(n)return t.createElement(je,{severity:"error",title:n.message});const m="Use the groups drop-down list at the top-right of the page to select another group.";return e&&((c=(s=e.types)==null?void 0:s.length)!=null?c:0)>0?(p=e.types)!=null&&p.find(u=>u.count>0)?t.createElement("div",{className:g.scrollContainer},o?t.createElement(oa,{facets:e,kind:r,type:l,setError:i,ownerEntityRef:a,hasError:n}):t.createElement(Kt,{ownerEntityRef:a,kind:r,type:l,setError:i})):t.createElement(Ke,{ownerEntityRef:a,selectGroupHint:m}):t.createElement(Ue,{ownerEntityRef:a,selectGroupHint:d?void 0:m})};function ca({angle:e,arc:a,direction:n,dist:r,emoji:l,delay:i,fontSize:o,speed:d}){return t.createElement(ie.div,{style:{position:"absolute",fontSize:o},initial:{top:0,left:"50%",x:"-50%",y:"-100%",rotate:0,originX:`${a*n}px`,originY:`${a}px`},animate:{opacity:[0,1,0,0,0,0],y:`${-r}px`,rotate:e*n},transition:{delay:i,duration:d,ease:[.2,.83,.46,.63],repeat:1/0}},l)}const da=["\u{1F4C8}","\u{1F4CA}","\u{1F4C9}","\u{1F680}","\u2B50\uFE0F"],ma=h(()=>({container:{position:"relative"}}));function pa({angle:e=125,density:a=20,emojis:n=da,fontSizeMin:r=6,fontSizeMax:l=24,size:i=300,speed:o=4}){const d=ma(),s=z(()=>Array.from({length:a*n.length}).map((c,p)=>({emoji:n[Math.floor(Math.random()*n.length)],arc:Math.random()*i*.5,delay:Math.random()*o,dist:Math.random()*i,direction:p%2?1:-1,fontSize:Math.random()*(l-r)+r,angle:e,speed:o})),[a,n,o,i,e,l,r]);return t.createElement("div",{className:d.container},t.createElement(E,{variant:"h1"},"\u{1F469}\u200D\u{1F4BB}"),s.map((c,p)=>t.createElement(ca,{key:`${c.emoji}-${p}`,...c})))}const ua=h(()=>({container:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:1,height:"100%"},textContainer:{position:"relative",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"}}));function xe({title:e,subtitle:a}){const n=ua();return t.createElement("div",{className:n.container},t.createElement("div",{className:n.textContainer},t.createElement(pa,null),t.createElement(ie.div,{animate:{y:0,opacity:1},initial:{y:100,opacity:0}},e&&t.createElement(E,{align:"center",variant:"h6"},e),a&&t.createElement(E,{align:"center",variant:"subtitle2"},a))))}const ga=h(e=>({campaignCards:{display:"flex",flexDirection:"column",gap:e.spacing(1)},campaignCard:{border:`1px solid ${e.palette.border}`,padding:e.spacing(2),borderRadius:e.shape.borderRadius},actions:{display:"flex",alignItems:"center",gap:e.spacing(1)},actionsText:{textTransform:"lowercase","&:first-letter":{textTransform:"uppercase"}},actionsIcon:{display:"flex"},campaignText:{display:"flex",flexDirection:"column"},campaignDescription:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},entityProgress:{display:"flex",flexDirection:"column"},progress:{display:"flex",alignItems:"center",gap:e.spacing(1),width:"90%"},progressBar:{display:"flex",width:"90%",height:e.spacing(3),"& > span":{display:"flex",margin:"auto",width:"100%",height:e.spacing(2)}},daysLeft:{display:"flex",flexDirection:"column"}})),fa=({campaign:e})=>{var a;const n=ga(),r=T(_e),l=T(Qe),i=Se(),[o,d]=B(null),{data:s,isLoading:c,isError:p}=me({tracks:[{trackId:e.track.id}]}),g=(a=s==null?void 0:s.individualEntityPassRates)!=null?a:[],m=oe.fromISO(e.startDate,{zone:"utc"}),u=oe.fromISO(e.targetCompletionDate,{zone:"utc"}),f=Math.round(u.diff(m,"days").days),y=F=>{d(F.currentTarget)},C=()=>{d(null)},O=()=>{i(l({campaignId:e.id}))},S=()=>{i(r({campaignId:e.id}))};if(c)return t.createElement("div",{"data-testid":"loading-indicator"},t.createElement(xe,null));if(p)return t.createElement(E,{color:"error"},"Failed to load campaigns progress.");let N;return g.length?N=g.map(({id:F,entityOwnerRef:R,snapshotPassRate:b})=>t.createElement("div",{key:F,className:n.entityProgress},R&&t.createElement(Je,{entityRef:R}),t.createElement("div",{className:n.progress},t.createElement("div",{className:n.progressBar},t.createElement(et,{value:b/100,getColor:({value:A,palette:Ie})=>A<0?"":Ie.primary.main})),t.createElement("div",null,b,"%")))):N=t.createElement(E,{variant:"body2"},"No campaigns progress found."),t.createElement("div",{className:n.campaignCards},t.createElement("div",{className:n.campaignCard},t.createElement(v,{container:!0,spacing:4,alignItems:"flex-start"},t.createElement(v,{item:!0,xs:12,md:4},t.createElement("div",{className:n.campaignText},t.createElement(E,{variant:"subtitle2"},e.name),t.createElement(E,{variant:"body2",className:n.campaignDescription},e.description))),t.createElement(v,{item:!0,xs:12,md:4},N),t.createElement(v,{item:!0,xs:6,md:2},t.createElement("div",{className:n.daysLeft},t.createElement(E,{variant:"subtitle2"},"Days left"),t.createElement(E,{variant:"body2"},f))),t.createElement(v,{item:!0,xs:6,md:2},t.createElement("div",null,t.createElement(Ge,{variant:"text","aria-controls":"menu","aria-haspopup":"true",onClick:y},t.createElement("div",{className:n.actions},t.createElement("div",{className:n.actionsText},"Actions"),t.createElement("div",{className:n.actionsIcon},o?t.createElement(rt,{fontSize:"small"}):t.createElement(lt,{fontSize:"small"})))),t.createElement(Me,{id:"campaign-menu",anchorEl:o,keepMounted:!0,open:!!o,onClose:C},t.createElement(Y,{onClick:S},"View"),t.createElement(Y,{onClick:O},"Edit")))))))},ya=h(e=>({loadingContainer:{marginTop:e.spacing(1),display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}})),$e=({size:e})=>{const a=ya();return t.createElement(v,{container:!0,className:a.loadingContainer},t.createElement(J,{size:e}))},ha=h(e=>({tableContainer:{padding:0,backgroundColor:"transparent"},campaignsGrid:{margin:`0 0 ${e.spacing(3)}px`},campaignsCard:{padding:e.spacing(2),gap:e.spacing(2)},campaignsLink:{textAlign:"center",margin:`${e.spacing(1)}rem 0 ${e.spacing(1)}`},tableLoading:{backgroundColor:e.palette.background.paper,padding:e.spacing(6)}})),Te=3,Ea=({groupSelectorError:e,searchParams:a,setSearchParams:n,isFixedGroup:r=!1})=>{var l;const{group:i,kind:o,type:d}=a,s=T(qe),[c,p]=B(void 0),[g,m]=B(void 0);w(()=>{((c==null?void 0:c.kind)!==o||(c==null?void 0:c.type)!==d)&&p({kind:o,type:d})},[o,d,c]);const{data:u,isLoading:f}=it(i),{data:y}=de({orderAlphabetical:"default",searchByOwner:i,searchByStatus:"active"}),C=y==null?void 0:y.edges.map(b=>b.campaign),O=C==null?void 0:C.slice(0,Te),S=(l=k(ee).getOptionalBoolean("soundcheck.virtualizeOverviewPage"))!=null?l:!0,N=g||e,F=(b,A)=>{b&&(p({kind:b,type:A}),A?n({...a,kind:b,type:A}):(a!=null&&a.hasOwnProperty("type")&&delete a.type,n({...a,kind:b})))},R=ha();return t.createElement(v,{container:!0,spacing:0},C&&C.length>0&&t.createElement(v,{item:!0,xs:12,className:R.campaignsGrid},t.createElement(We,{className:R.campaignsCard},t.createElement(E,{variant:"h5"},"Campaigns"),O==null?void 0:O.map(b=>t.createElement("div",{key:b.id},t.createElement(fa,{campaign:b}))),C.length>Te&&t.createElement(W,{to:s(),className:R.campaignsLink},"More Campaigns"))),t.createElement(v,{item:!0,xs:12},f?t.createElement(gt,null):t.createElement(yt,{unfilteredFacets:u,kind:c==null?void 0:c.kind,type:c==null?void 0:c.type,onChange:F})),t.createElement(v,{item:!0,xs:12,className:R.tableContainer},f?t.createElement("div",{className:R.tableLoading},t.createElement($e,{size:80})):t.createElement(sa,{facets:u,kind:c==null?void 0:c.kind,type:c==null?void 0:c.type,setError:m,hasError:N,ownerEntityRef:i,useVirtualizedResultsTable:S,isFixedGroup:r})))};export{dt as G,$e as L,Ea as O,pt as U,pe as a,mt as b,ce as c,xe as d,be as e,me as f,de as g,st as u};
|
|
2
|
+
//# sourceMappingURL=OverviewPageContent-5829eeed.esm.js.map
|
package/dist/esm/{RefetchingIndicator-40f27138.esm.js → RefetchingIndicator-cfc61b83.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{useState as n}from"react";import{makeStyles as a,LinearProgress as m}from"@material-ui/core";import s from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as c}from"@tanstack/react-query";import{F as d}from"./index-
|
|
2
|
-
//# sourceMappingURL=RefetchingIndicator-
|
|
1
|
+
import t,{useState as n}from"react";import{makeStyles as a,LinearProgress as m}from"@material-ui/core";import s from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as c}from"@tanstack/react-query";import{F as d}from"./index-9833aac9.esm.js";import"@backstage/plugin-catalog-react";import"react-router-dom";const p=a(e=>({indicator:{position:"absolute",width:"100%",zIndex:e.zIndex.speedDial}})),l=()=>{const e=c(),i=p(),[r,o]=n(!!e);return s(()=>{o(!!e)},250,[e]),r?t.createElement(d,null,t.createElement("div",{className:i.indicator},t.createElement(m,{variant:"indeterminate","data-testid":"refetching-indicator"}))):null};export{l as R};
|
|
2
|
+
//# sourceMappingURL=RefetchingIndicator-cfc61b83.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as p}from"react";import{Page as h,Header as P}from"@backstage/core-components";import{SpotifyLicenseBanner as s}from"@spotify/backstage-plugin-core";import{u as S,U as k,G as w,O as c}from"./OverviewPageContent-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import e,{useState as p}from"react";import{Page as h,Header as P}from"@backstage/core-components";import{SpotifyLicenseBanner as s}from"@spotify/backstage-plugin-core";import{u as S,U as k,G as w,O as c}from"./OverviewPageContent-5829eeed.esm.js";import{S as l,w as y,g as u,i as d}from"./index-9833aac9.esm.js";import{stringifyEntityRef as C}from"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import{useEntity as G}from"@backstage/plugin-catalog-react";import{Routes as L,Route as O}from"react-router-dom";import{makeStyles as R}from"@material-ui/core";import b from"react-use/lib/useLocalStorage";import"@material-ui/lab/Autocomplete";import"react-use/lib/useAsync";import"./RefetchingIndicator-cfc61b83.esm.js";import"react-use/lib/useDebounce";import"lodash";import"@material-ui/lab";import"react-window";import"luxon";import"@material-ui/icons/ArrowDropUp";import"@material-ui/icons/ArrowDropDown";import"framer-motion";import"graphql-request";import"graphql-tag";import"@material-ui/core/styles/makeStyles";import"classnames";import"@material-ui/icons/Schedule";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 x=R(r=>({overviewContainer:{padding:r.spacing(1,3)}})),B=r=>{const{title:o="Soundcheck"}=r,i=x(),[t,a]=S(),{group:v}=t,[E,g]=p(void 0),[n,f]=b("soundcheck.overview.groupRef",null);return e.createElement(l,null,e.createElement(k,null,e.createElement(y,null,e.createElement(h,{themeId:"website"},e.createElement(s,{backend:u,invalidLicenseMessage:d}),e.createElement(P,{title:o},e.createElement(w,{onChange:m=>{m&&(a({...t,group:m}),f(m))},initialValue:n!=null?n:v,setError:g})),e.createElement("div",{className:i.overviewContainer},e.createElement(c,{groupSelectorError:E,searchParams:t,setSearchParams:a}))))))},F=()=>{const{entity:r}=G(),o={group:C(r)},[i,t]=p(o);return e.createElement(l,null,e.createElement(L,null,e.createElement(O,{path:"/*",element:e.createElement(e.Fragment,null,e.createElement(s,{backend:u,invalidLicenseMessage:d,inline:!0}),e.createElement(c,{searchParams:i,setSearchParams:t,isFixedGroup:!0}))})))};export{F as FixedGroupOverviewPage,B as OverviewPage};
|
|
2
|
+
//# sourceMappingURL=index-07f23db3.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"react";import{S as o,l as i}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import t from"react";import{S as o,l as i}from"./index-9833aac9.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-4dba74f4.esm.js.map
|
|
@@ -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-
|
|
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-01a8936d.esm.js").then(e=>e.EntitySoundcheckContent),mountPoint:R})),fa=E.provide(Ue({name:"EntitySoundcheckCard",component:{lazy:()=>import("./index-4dba74f4.esm.js").then(e=>e.EntitySoundcheckCard)}})),ka=E.provide(F({name:"GroupSoundcheckContent",component:()=>import("./index-07f23db3.esm.js").then(e=>e.FixedGroupOverviewPage),mountPoint:aa})),va=E.provide(F({name:"SoundcheckOverviewPage",component:()=>import("./index-07f23db3.esm.js").then(e=>e.OverviewPage),mountPoint:ia})),Ca=E.provide(F({name:"SoundcheckRoutingPage",component:()=>import("./index-983aff99.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-9833aac9.esm.js.map
|