@spotify/backstage-plugin-soundcheck 0.19.5 → 0.19.7

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/alpha.d.ts +21 -21
  3. package/dist/components/CampaignPage/CampaignPageBUI.esm.js +1 -1
  4. package/dist/components/CampaignPage/CampaignStatusHistoryChart.esm.js +1 -1
  5. package/dist/components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js +1 -1
  6. package/dist/components/CampaignsPage/CampaignListPageBUI.esm.js +1 -1
  7. package/dist/components/Cards/CheckStatusCard/CheckStatusCard.esm.js +1 -1
  8. package/dist/components/Cards/DescriptionCard/DescriptionCard.esm.js +1 -1
  9. package/dist/components/Cards/HistoricalCheckStatusCard/HistoricalCheckStatusCard.esm.js +1 -1
  10. package/dist/components/Cards/HistoricalTrackStatusCard/HistoricalTrackStatusCard.esm.js +1 -1
  11. package/dist/components/Cards/TrackStatusCard/TrackStatusCard.esm.js +1 -1
  12. package/dist/components/CheckPage/CheckPageBUI.esm.js +1 -1
  13. package/dist/components/CheckPage/CheckStatusHistoryChartBUI.esm.js +1 -1
  14. package/dist/components/ChecksPage/CheckListPage/CheckListPageDeprecated.esm.js +1 -1
  15. package/dist/components/ChecksPage/ChecksListPageBUI.esm.js +1 -1
  16. package/dist/components/CollectorPage/CollectorDetailsPageDeprecated.esm.js +1 -1
  17. package/dist/components/CollectorPage/Configurators/SCM/utils.esm.js +1 -1
  18. package/dist/components/CollectorPage/DependantCheckCard.esm.js +1 -1
  19. package/dist/components/CollectorsPage/IntegrationLogoBUI.esm.js +1 -1
  20. package/dist/components/CollectorsPage/IntegrationsListPageBUI.esm.js +1 -1
  21. package/dist/components/DescriptionCell/DescriptionCell.esm.js +1 -1
  22. package/dist/components/GroupSelectorBUI/GroupSelectorBUI.esm.js +1 -1
  23. package/dist/components/ImportExportPanel/ImportExportPanelBUI.esm.js +1 -1
  24. package/dist/components/LoadingTableSkeleton/LoadingTableSkeleton.esm.js +1 -1
  25. package/dist/components/Menus/SimpleMenu.esm.js +1 -1
  26. package/dist/components/OverviewPage/OverviewPageContent.esm.js +1 -1
  27. package/dist/components/RoutingPage/RoutingPageBUI.esm.js +1 -1
  28. package/dist/components/SoundcheckHeader/SoundcheckHeaderBUI.esm.js +1 -1
  29. package/dist/components/TableRowWithOwner/TableRowWithOwner.esm.js +1 -1
  30. package/dist/components/TechInsights/TechInsightsPageBUI.esm.js +1 -1
  31. package/dist/components/TechInsights/TechInsightsPageDeprecated.esm.js +1 -1
  32. package/dist/components/TechInsights/TechInsightsTableBUI.esm.js +1 -1
  33. package/dist/components/TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js +1 -1
  34. package/dist/components/TrackPage/TrackPageBUI.esm.js +1 -1
  35. package/dist/components/TrackPage/TrackTechInsightsExplorerPage.esm.js +1 -1
  36. package/dist/components/TracksPage/TrackListPage/TrackListPageDeprecated.esm.js +1 -1
  37. package/dist/components/TracksPage/TracksListPageBUI.esm.js +1 -1
  38. package/dist/hooks/useLoadTimeReporting.esm.js +1 -1
  39. package/dist/hooks/useSearchNameOwner.esm.js +2 -0
  40. package/dist/images/integrations-bui/azure-rgb.svg +1 -0
  41. package/dist/images/integrations-bui/azure-wht.svg +1 -0
  42. package/dist/images/integrations-bui/bigquery-rgb.svg +1 -0
  43. package/dist/images/integrations-bui/bigquery-wht.svg +1 -0
  44. package/dist/images/integrations-bui/catalog-rgb.svg +1 -0
  45. package/dist/images/integrations-bui/catalog-wht.svg +1 -0
  46. package/dist/images/integrations-bui/data-registry-rgb.svg +1 -0
  47. package/dist/images/integrations-bui/data-registry-wht.svg +1 -0
  48. package/dist/images/integrations-bui/datadog-rgb.svg +1 -0
  49. package/dist/images/integrations-bui/datadog-wht.svg +1 -0
  50. package/dist/images/integrations-bui/default-logo-rgb.svg +1 -0
  51. package/dist/images/integrations-bui/default-logo-wht.svg +1 -0
  52. package/dist/images/integrations-bui/github-rgb.svg +1 -0
  53. package/dist/images/integrations-bui/github-wht.svg +1 -0
  54. package/dist/images/integrations-bui/gitlab-rgb.svg +1 -0
  55. package/dist/images/integrations-bui/gitlab-wht.svg +1 -0
  56. package/dist/images/integrations-bui/http-rgb.svg +1 -0
  57. package/dist/images/integrations-bui/http-wht.svg +1 -0
  58. package/dist/images/integrations-bui/jira-rgb.svg +1 -0
  59. package/dist/images/integrations-bui/jira-wht.svg +1 -0
  60. package/dist/images/integrations-bui/kubernetes-rgb.svg +1 -0
  61. package/dist/images/integrations-bui/kubernetes-wht.svg +1 -0
  62. package/dist/images/integrations-bui/newrelic-rgb.svg +1 -0
  63. package/dist/images/integrations-bui/newrelic-wht.svg +1 -0
  64. package/dist/images/integrations-bui/pagerduty-rgb.svg +1 -0
  65. package/dist/images/integrations-bui/pagerduty-wht.svg +1 -0
  66. package/dist/images/integrations-bui/scm-rgb.svg +1 -0
  67. package/dist/images/integrations-bui/scm-wht.svg +1 -0
  68. package/dist/images/integrations-bui/sonarqube-rgb.svg +1 -0
  69. package/dist/images/integrations-bui/sonarqube-wht.svg +1 -0
  70. package/dist/images/integrations-bui/soundcheck-rgb.svg +1 -0
  71. package/dist/images/integrations-bui/soundcheck-wht.svg +1 -0
  72. package/dist/images/integrations-bui/techinsights-rgb.svg +1 -0
  73. package/dist/images/integrations-bui/techinsights-wht.svg +1 -0
  74. package/dist/utils/lcpReporting.esm.js +1 -1
  75. package/dist/utils/tracks.esm.js +1 -1
  76. package/package.json +22 -22
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as l,Fragment as V}from"react/jsx-runtime";import{useRouteRef as y,useApi as z}from"@backstage/core-plugin-api";import{entityPresentationApiRef as J}from"@backstage/plugin-catalog-react";import{usePermission as K}from"@backstage/plugin-permission-react";import{Container as d,HeaderPage as Q,Box as S,Flex as W,SearchField as X}from"@backstage/ui";import{makeStyles as Y}from"@material-ui/core";import{soundcheckTrackReadPermission as Z}from"@spotify/backstage-plugin-soundcheck-common";import{useState as C,useMemo as f,useEffect as _}from"react";import{useSearchParams as ee,useParams as re}from"react-router-dom";import te from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as oe}from"../../hooks/tracks/useGetAllTracks.esm.js";import{useTrack as ie}from"../../hooks/tracks/useTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import{useHierarchicalTrackStatus as ae}from"../../hooks/heirarchy/useHierarchicalTrackStatus.esm.js";import{useGroupHierarchy as me}from"../../hooks/heirarchy/useGroupHierarchy.esm.js";import{useLCPReporting as se}from"../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as ne}from"../../hooks/useLoadTimeReporting.esm.js";import{tracksPageRouteRef as ce,trackOverviewRouteRef as pe,trackExplorerRouteRef as le}from"../../routes.esm.js";import{getAllOwnedEntityCount as de}from"../../utils/getAllOwnedEntityCount.esm.js";import{getEntitiesBucket as fe,getTracksBucket as ue}from"../../utils/helpers.esm.js";import"../EmptyState/EmptyState.esm.js";import{EmptyStateBUI as F}from"../EmptyState/EmptyStateBUI.esm.js";import"@remixicon/react";import"../FilterSidebar/FilterSidebar.esm.js";import"../FilterSidebar/StateFilter.esm.js";import{useTrackFilterSidebar as he}from"../FilterSidebar/useTrackFilterSidebar.esm.js";import"../FilterSidebar/util.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoCirclePacking.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoHeatmap.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoIcicle.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoSunburst.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoTreemap.esm.js";import"../HierarchicalTechInsightsPage/visualizations/VisualizationBreadcrumb.esm.js";import{hierarchyToNivo as ge}from"../HierarchicalTechInsightsPage/visualizations/hierarchyToNivo.esm.js";import{LoadingTableSkeleton as ke}from"../LoadingTableSkeleton/LoadingTableSkeleton.esm.js";import{SimpleMenu as be}from"../Menus/SimpleMenu.esm.js";import"js-yaml";import"lodash";import{useTrackActions as Te}from"../Menus/useTrackActions.esm.js";import"uuid";import"../CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js";import"../TechHealth/Filters/types.esm.js";import"../TechHealth/Filters/FacetFilter.esm.js";import"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import{parseNumberOfDays as ve}from"../TechHealth/Filters/utils.esm.js";import{TechInsightsExplorerTable as ye}from"../TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js";import{TechInsightsGroupSelector as Se}from"../TechInsightsGroupSelector/TechInsightsGroupSelector.esm.js";import{TopAndBottomPerformingTeams as we}from"../TopAndBottomPerformingTeams/TopAndBottomPerformingTeams.esm.js";const Re=Y(()=>({container:{marginBottom:"var(--bui-space-12)"},teams:{margin:"0 0 var(--bui-space-12)"},tableContent:{margin:"var(--bui-space-3) 0 0"},filters:{width:"25rem",marginLeft:"auto"}})),Le=()=>{const i=Re(),[a,O]=ee(),[m,B]=C(a.get("search")||""),o=a.get("group"),[w,j]=C(""),{trackId:e}=re(),{data:u,isLoading:n}=ie(e),R=Te(u??void 0),{owners:h,lifecycles:g,types:k,systems:b}=he(),D=y(ce),L=f(()=>ve(a.get("numberOfDays")),[a]);te(()=>{j(m);const t=new URLSearchParams(a.toString());m?t.set("search",m):t.delete("search"),O(t,{replace:!0})},300,[m]);const P=f(()=>({routeName:"soundcheck-track-insights",additionalAttributes:{trackId:e||"",filtersApplied:h.length+g.length+k.length+b.length,ownersFilter:h.join(",")||"",lifecyclesFilter:g.join(",")||"",typesFilter:k.join(",")||"",systemsFilter:b.join(",")||"",numberOfDays:L,tracksSearch:w||""}}),[e,h,g,k,b,L,w]),{reportContentLoaded:I}=ne(P),{reporter:G}=se(P),{loading:H,allowed:q}=K({permission:Z,resourceRef:e}),{data:T,isLoading:c}=ae({trackId:e??"",groupRef:o??"",skip:!e}),{data:N}=oe({}),s=f(()=>N?.edges.find(t=>t.node.id===e)?.node,[N?.edges,e]),{data:p,isLoading:v}=me(o||void 0,{enabled:!!o&&!!e&&!!s,ownedEntitiesFilter:s?.filter??void 0}),x=z(J),M=f(()=>{if(!o)return;const t=p?.[o];return t?ge(t,T||null,()=>"var(--bui-fg-primary)",x,void 0):void 0},[p,x,o,T]),A=G?.getLCPValue();_(()=>{if(!n&&!v&&!c){const t=o?de(p?.[o]):0,E=s?1:0;I({lcp:A,numberOfEntities:t,entitiesBucket:fe(t),numberOfTracks:E,tracksBucket:ue(E)})}},[n,I,v,c,p,o,s,A]);const U=y(pe),$=y(le);return n?r(d,{className:i.container,children:r(ke,{})}):!n&&!u?r(d,{className:i.container,children:r(F,{title:"Track not found",body:`There is no track with the requested id: ${e}.`})}):!H&&!q?r(d,{className:i.container,children:r(F,{title:"Cannot view track",body:`No permission to view track with the requested id: ${e}.`})}):l(V,{children:[r(Q,{title:u?.name,customActions:r(be,{label:"Track Actions",disabled:!R.length,placement:"left top",menuActions:R}),breadcrumbs:[{label:"Tracks",href:D()}],tabs:[{id:"overview",label:"Track Overview",href:e?U({trackId:e}):""},{id:"explorer",label:"Tech Insights Explorer",href:e?$({trackId:e}):""}]}),l(d,{className:i.container,children:[r(S,{className:i.teams,children:r(we,{trackStatus:T??void 0,isLoading:c})}),l(S,{children:[l(W,{align:"center",gap:"3",className:i.filters,children:[r(Se,{}),r(X,{value:m,onChange:B,"aria-label":"Search",placeholder:"Search"})]}),r(S,{className:i.tableContent,children:r(ye,{tableData:M,isLoading:v||c,selectedGroup:o??void 0,trackId:s?.id})})]})]})]})};export{Le as TrackTechInsightsExplorerPage};
1
+ import{jsx as r,jsxs as l,Fragment as $}from"react/jsx-runtime";import{useRouteRef as y,useApi as z}from"@backstage/core-plugin-api";import{entityPresentationApiRef as J}from"@backstage/plugin-catalog-react";import{usePermission as K}from"@backstage/plugin-permission-react";import{Container as d,HeaderPage as Q,Box as S,Flex as W,SearchField as X}from"@backstage/ui";import{makeStyles as Y}from"@material-ui/core";import{soundcheckTrackReadPermission as Z}from"@spotify/backstage-plugin-soundcheck-common";import{useState as C,useMemo as f,useEffect as _}from"react";import{useSearchParams as ee,useParams as re}from"react-router-dom";import te from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as oe}from"../../hooks/tracks/useGetAllTracks.esm.js";import{useTrack as ie}from"../../hooks/tracks/useTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import{useHierarchicalTrackStatus as ae}from"../../hooks/heirarchy/useHierarchicalTrackStatus.esm.js";import{useGroupHierarchy as me}from"../../hooks/heirarchy/useGroupHierarchy.esm.js";import{useLCPReporting as se}from"../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as ne}from"../../hooks/useLoadTimeReporting.esm.js";import{tracksPageRouteRef as ce,trackOverviewRouteRef as pe,trackExplorerRouteRef as le}from"../../routes.esm.js";import{getAllOwnedEntityCount as de}from"../../utils/getAllOwnedEntityCount.esm.js";import{getEntitiesBucket as fe,getTracksBucket as ue}from"../../utils/helpers.esm.js";import"../EmptyState/EmptyState.esm.js";import{EmptyStateBUI as F}from"../EmptyState/EmptyStateBUI.esm.js";import"@remixicon/react";import"../FilterSidebar/FilterSidebar.esm.js";import"../FilterSidebar/StateFilter.esm.js";import{useTrackFilterSidebar as he}from"../FilterSidebar/useTrackFilterSidebar.esm.js";import"../FilterSidebar/util.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoCirclePacking.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoHeatmap.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoIcicle.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoSunburst.esm.js";import"../HierarchicalTechInsightsPage/visualizations/NivoTreemap.esm.js";import"../HierarchicalTechInsightsPage/visualizations/VisualizationBreadcrumb.esm.js";import{hierarchyToNivo as ge}from"../HierarchicalTechInsightsPage/visualizations/hierarchyToNivo.esm.js";import{LoadingTableSkeleton as ke}from"../LoadingTableSkeleton/LoadingTableSkeleton.esm.js";import{SimpleMenu as be}from"../Menus/SimpleMenu.esm.js";import"js-yaml";import"lodash";import{useTrackActions as Te}from"../Menus/useTrackActions.esm.js";import"uuid";import"../CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js";import"../TechHealth/Filters/types.esm.js";import"../TechHealth/Filters/FacetFilter.esm.js";import"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import{parseNumberOfDays as ve}from"../TechHealth/Filters/utils.esm.js";import{TechInsightsExplorerTable as ye}from"../TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js";import{TechInsightsGroupSelector as Se}from"../TechInsightsGroupSelector/TechInsightsGroupSelector.esm.js";import{TopAndBottomPerformingTeams as we}from"../TopAndBottomPerformingTeams/TopAndBottomPerformingTeams.esm.js";const Re=Y(()=>({container:{marginBottom:"var(--bui-space-12)"},teams:{margin:"0 0 var(--bui-space-12)"},tableContent:{margin:"var(--bui-space-3) 0 0"},filters:{width:"25rem",marginLeft:"auto"}})),Le=()=>{const i=Re(),[a,O]=ee(),[m,B]=C(a.get("search")||""),o=a.get("group"),[w,j]=C(""),{trackId:e}=re(),{data:u,isLoading:n}=ie(e),R=Te(u??void 0),{owners:h,lifecycles:g,types:k,systems:b}=he(),D=y(ce),L=f(()=>ve(a.get("numberOfDays")),[a]);te(()=>{j(m);const t=new URLSearchParams(a.toString());m?t.set("search",m):t.delete("search"),O(t,{replace:!0})},300,[m]);const P=f(()=>({routeName:"soundcheck-track-insights",additionalAttributes:{trackId:e||"",filtersApplied:h.length+g.length+k.length+b.length,ownersFilter:h.join(",")||"",lifecyclesFilter:g.join(",")||"",typesFilter:k.join(",")||"",systemsFilter:b.join(",")||"",numberOfDays:L,tracksSearch:w||""}}),[e,h,g,k,b,L,w]),{reportContentLoaded:I}=ne(P),{reporter:G}=se(P),{loading:H,allowed:q}=K({permission:Z,resourceRef:e}),{data:T,isLoading:c}=ae({trackId:e??"",groupRef:o??"",skip:!e}),{data:N}=oe({}),s=f(()=>N?.edges.find(t=>t.node.id===e)?.node,[N?.edges,e]),{data:p,isLoading:v}=me(o||void 0,{enabled:!!o&&!!e&&!!s,ownedEntitiesFilter:s?.filter??void 0}),x=z(J),M=f(()=>{if(!o)return;const t=p?.[o];return t?ge(t,T||null,()=>"var(--bui-fg-primary)",x,void 0):void 0},[p,x,o,T]),A=G?.getLCPValue();_(()=>{if(!n&&!v&&!c){const t=o?de(p?.[o]):0,E=s?1:0;I({lcp:A,numberOfEntities:t,entitiesBucket:fe(t),numberOfTracks:E,tracksBucket:ue(E)})}},[n,I,v,c,p,o,s,A]);const U=y(pe),V=y(le);return n?r(d,{className:i.container,children:r(ke,{})}):!n&&!u?r(d,{className:i.container,children:r(F,{title:"Track not found",body:`There is no track with the requested id: ${e}.`})}):!H&&!q?r(d,{className:i.container,children:r(F,{title:"Cannot view track",body:`No permission to view track with the requested id: ${e}.`})}):l($,{children:[r(Q,{title:u?.name,customActions:r(be,{label:"Track Actions",disabled:!R.length,placement:"left top",menuActions:R}),breadcrumbs:[{label:"Tracks",href:D()}],tabs:[{id:"overview",label:"Track Overview",href:e?U({trackId:e}):""},{id:"explorer",label:"Tech Insights Explorer",href:e?V({trackId:e}):""}]}),l(d,{className:i.container,children:[r(S,{className:i.teams,children:r(we,{trackStatus:T??void 0,isLoading:c})}),l(S,{children:[l(W,{align:"center",gap:"3",className:i.filters,children:[r(Se,{}),r(X,{value:m,onChange:B,"aria-label":"Search",placeholder:"Search"})]}),r(S,{className:i.tableContent,children:r(ye,{tableData:M,isLoading:v||c,selectedGroup:o??void 0,trackId:s?.id})})]})]})]})};export{Le as TrackTechInsightsExplorerPage};
2
2
  //# sourceMappingURL=TrackTechInsightsExplorerPage.esm.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as k}from"react/jsx-runtime";import{useRouteRef as _,useApi as S,featureFlagsApiRef as ee}from"@backstage/core-plugin-api";import{usePermission as re}from"@backstage/plugin-permission-react";import{makeStyles as te,Button as N,Grid as a}from"@material-ui/core";import{soundcheckTrackCreatePermission as ae}from"@spotify/backstage-plugin-soundcheck-common";import{useState as i,useMemo as oe,useEffect as B}from"react";import{useNavigate as ie}from"react-router-dom";import se from"react-use/lib/useDebounce";import{soundcheckApiRef as ne}from"../../../api.esm.js";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as ce}from"../../../hooks/tracks/useGetAllTracks.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import{useGetTrackOwners as me}from"../../../hooks/tracks/useGetTrackOwners.esm.js";import{useImportTracks as le}from"../../../hooks/tracks/useImportTracks.esm.js";import{useLCPReporting as pe}from"../../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as de}from"../../../hooks/useLoadTimeReporting.esm.js";import ge from"../../../images/no-results.svg";import{trackCreateRouteRef as ue}from"../../../routes.esm.js";import{exportTracks as fe}from"../../../utils/export.esm.js";import{FilterDefault as L}from"../../../utils/filters.esm.js";import{EmptyState as F}from"../../EmptyState/EmptyState.esm.js";import"../../EmptyState/EmptyStateBUI.esm.js";import"@remixicon/react";import{ImportExportPanelDeprecated as he}from"../../ImportExportPanel/ImportExportPanelDeprecated.esm.js";import{Pagination as ke}from"../../Pagination/Pagination.esm.js";import{SearchFilters as Pe}from"../../SearchFilters/SearchFilters.esm.js";import{TrackEmptyState as P,TrackNoResults as I}from"./TrackEmptyState.esm.js";import{TracksOverviewSkeleton as Te}from"./TracksOverviewSkeleton.esm.js";import{TrackSummaryCard as ye}from"./TrackSummaryCard.esm.js";const Ce=te(t=>({headerButtons:{display:"flex",gap:t.spacing(1),flexWrap:"nowrap",justifyContent:"end",alignItems:"end"},header:{padding:t.spacing(0,0,1)},container:{padding:t.spacing(3),gap:t.spacing(3)},createButton:{lineHeight:"1.25rem",paddingTop:t.spacing(1.5),paddingBottom:t.spacing(1.5)}})),be=({tracksPerPage:t,currentCursor:O})=>{const[s,T]=i(O),[g,E]=i(""),[n,D]=i(L.Alpha),[c,j]=i(L.Owner),[m,G]=i(""),y=oe(()=>({routeName:"soundcheck-tracks",additionalAttributes:{tracksPerPage:t,pageCursor:s||"",sortOrder:n||"",ownerFilter:c||"",nameSearch:m||""}}),[t,s,n,c,m]),{reportContentLoaded:C}=de(y),{reporter:H}=pe(y),l=Ce(),{data:M,isLoading:u}=me();se(()=>{G(g)},500,[g]);const{loading:b,allowed:V}=re({permission:ae}),W=ie(),$=_(ue),v=()=>W($()),{data:f,isLoading:o}=ce({ids:void 0,types:["standard","playlist"],first:t,after:s,orderAlphabetical:n,searchByOwner:c,searchByName:m}),p=f?.edges?.map(e=>e.node),[x,A]=i([]);B(()=>{T(void 0),A([])},[m]);const w=S(ee),q=!w.getRegisteredFlags().find(e=>e.name==="soundcheck-enable-track-creation")||w.isActive("soundcheck-enable-track-creation"),h=!V||!q,z=e=>{D(e.target.value)},J=e=>{j(e.target.value)},K=S(ne),{mutateAsync:Q}=le(),U=async e=>Q(e),X=async()=>{const e=await K.getTracks({orderAlphabetical:"asc"});return fe(e.edges.map(Z=>Z.node))},R=H?.getLCPValue();if(B(()=>{!o&&!u&&C({lcp:R})},[o,u,C,R]),!o&&!p)return r(F,{title:P.title,description:P.description,imgSrc:ge,action:!b&&r(N,{disabled:h,variant:"contained",color:"primary",onClick:v,children:P.callToAction})});let d;o?d=r(Te,{}):p?.length?d=p?.map(e=>r(a,{xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem","aria-label":`track card ${e.id}`,children:r(ye,{summary:e})},e.id)):d=r(a,{xs:12,item:!0,role:"listitem","aria-label":"result",children:r(F,{title:I.title,description:I.description})});const Y=f?.pageInfo.hasNextPage||x?.length>0;return k(a,{container:!0,direction:"row",className:l.container,children:[k(a,{container:!0,className:l.header,children:[r(Pe,{searchPlaceholder:"Search Available Tracks",isLoading:o||u,searchTerm:g,setSearchTerm:E,filterAlpha:n,handleAlphabeticalFilterChange:z,filterOwner:c,handleOwnerFilterChange:J,owners:M}),k(a,{item:!0,xs:4,className:l.headerButtons,children:[r(he,{resourceType:"track",disableImport:h,disableExport:o||!p?.length,onImport:U,onExport:X}),!b&&r(N,{disabled:h,variant:"contained",color:"primary",onClick:v,className:l.createButton,children:"Create Track"})]})]}),r(a,{container:!0,spacing:4,role:"list","aria-label":"tracks",children:d}),Y&&r(a,{item:!0,xs:12,children:r(ke,{response:f,listingsPerPage:t,cursor:s,setCursor:T,prevCursors:x,setPrevCursors:A,labelPerPageDropdown:"Tracks Per Page:",urlRoute:"tracks?tracksPerPage="})})]})};export{be as TrackListPageDeprecated};
1
+ import{jsx as r,jsxs as k}from"react/jsx-runtime";import{useRouteRef as _,useApi as S,featureFlagsApiRef as ee}from"@backstage/core-plugin-api";import{usePermission as re}from"@backstage/plugin-permission-react";import{makeStyles as te,Button as N,Grid as a}from"@material-ui/core";import{soundcheckTrackCreatePermission as ae}from"@spotify/backstage-plugin-soundcheck-common";import{useState as i,useMemo as oe,useEffect as B}from"react";import{useNavigate as ie}from"react-router-dom";import se from"react-use/lib/useDebounce";import{soundcheckApiRef as ne}from"../../../api.esm.js";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as ce}from"../../../hooks/tracks/useGetAllTracks.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import{useGetTrackOwners as me}from"../../../hooks/tracks/useGetTrackOwners.esm.js";import{useImportTracks as le}from"../../../hooks/tracks/useImportTracks.esm.js";import{useLCPReporting as pe}from"../../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as de}from"../../../hooks/useLoadTimeReporting.esm.js";import ge from"../../../images/no-results.svg";import{trackCreateRouteRef as ue}from"../../../routes.esm.js";import{exportTracks as fe}from"../../../utils/export.esm.js";import{FilterDefault as L}from"../../../utils/filters.esm.js";import{EmptyState as F}from"../../EmptyState/EmptyState.esm.js";import"../../EmptyState/EmptyStateBUI.esm.js";import"@remixicon/react";import{ImportExportPanelDeprecated as he}from"../../ImportExportPanel/ImportExportPanelDeprecated.esm.js";import{Pagination as ke}from"../../Pagination/Pagination.esm.js";import{SearchFilters as Pe}from"../../SearchFilters/SearchFilters.esm.js";import{TrackEmptyState as P,TrackNoResults as I}from"./TrackEmptyState.esm.js";import{TracksOverviewSkeleton as Te}from"./TracksOverviewSkeleton.esm.js";import{TrackSummaryCard as ye}from"./TrackSummaryCard.esm.js";const Ce=te(t=>({headerButtons:{display:"flex",gap:t.spacing(1),flexWrap:"nowrap",justifyContent:"end",alignItems:"end"},header:{padding:t.spacing(0,0,1)},container:{padding:t.spacing(3),gap:t.spacing(3)},createButton:{lineHeight:"1.25rem",paddingTop:t.spacing(1.5),paddingBottom:t.spacing(1.5)}})),be=({tracksPerPage:t,currentCursor:O})=>{const[s,T]=i(O),[g,E]=i(""),[n,D]=i(L.Alpha),[c,j]=i(L.Owner),[m,G]=i(""),y=oe(()=>({routeName:"soundcheck-tracks",additionalAttributes:{tracksPerPage:t,pageCursor:s||"",sortOrder:n||"",ownerFilter:c||"",nameSearch:m||""}}),[t,s,n,c,m]),{reportContentLoaded:C}=de(y),{reporter:H}=pe(y),l=Ce(),{data:M,isLoading:u}=me();se(()=>{G(g)},500,[g]);const{loading:b,allowed:V}=re({permission:ae}),W=ie(),$=_(ue),x=()=>W($()),{data:f,isLoading:o}=ce({ids:void 0,types:["standard","playlist"],first:t,after:s,orderAlphabetical:n,searchByOwner:c,searchByName:m}),p=f?.edges?.map(e=>e.node),[A,v]=i([]);B(()=>{T(void 0),v([])},[m]);const w=S(ee),q=!w.getRegisteredFlags().find(e=>e.name==="soundcheck-enable-track-creation")||w.isActive("soundcheck-enable-track-creation"),h=!V||!q,z=e=>{D(e.target.value)},J=e=>{j(e.target.value)},K=S(ne),{mutateAsync:Q}=le(),U=async e=>Q(e),X=async()=>{const e=await K.getTracks({orderAlphabetical:"asc"});return fe(e.edges.map(Z=>Z.node))},R=H?.getLCPValue();if(B(()=>{!o&&!u&&C({lcp:R})},[o,u,C,R]),!o&&!p)return r(F,{title:P.title,description:P.description,imgSrc:ge,action:!b&&r(N,{disabled:h,variant:"contained",color:"primary",onClick:x,children:P.callToAction})});let d;o?d=r(Te,{}):p?.length?d=p?.map(e=>r(a,{xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem","aria-label":`track card ${e.id}`,children:r(ye,{summary:e})},e.id)):d=r(a,{xs:12,item:!0,role:"listitem","aria-label":"result",children:r(F,{title:I.title,description:I.description})});const Y=f?.pageInfo.hasNextPage||A?.length>0;return k(a,{container:!0,direction:"row",className:l.container,children:[k(a,{container:!0,className:l.header,children:[r(Pe,{searchPlaceholder:"Search Available Tracks",isLoading:o||u,searchTerm:g,setSearchTerm:E,filterAlpha:n,handleAlphabeticalFilterChange:z,filterOwner:c,handleOwnerFilterChange:J,owners:M}),k(a,{item:!0,xs:4,className:l.headerButtons,children:[r(he,{resourceType:"track",disableImport:h,disableExport:o||!p?.length,onImport:U,onExport:X}),!b&&r(N,{disabled:h,variant:"contained",color:"primary",onClick:x,className:l.createButton,children:"Create Track"})]})]}),r(a,{container:!0,spacing:4,role:"list","aria-label":"tracks",children:d}),Y&&r(a,{item:!0,xs:12,children:r(ke,{response:f,listingsPerPage:t,cursor:s,setCursor:T,prevCursors:A,setPrevCursors:v,labelPerPageDropdown:"Tracks Per Page:",urlRoute:"tracks?tracksPerPage="})})]})};export{be as TrackListPageDeprecated};
2
2
  //# sourceMappingURL=TrackListPageDeprecated.esm.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as c,Fragment as z}from"react/jsx-runtime";import{useApi as v,useRouteRef as A}from"@backstage/core-plugin-api";import{entityPresentationApiRef as J}from"@backstage/plugin-catalog-react";import{usePermission as W}from"@backstage/plugin-permission-react";import{HeaderPage as Y,Flex as q,Container as K,Table as Q,TableHeader as X,Column as n,TableBody as Z,TablePagination as _}from"@backstage/ui";import{makeStyles as ee}from"@material-ui/core";import{soundcheckTrackCreatePermission as te}from"@spotify/backstage-plugin-soundcheck-common";import{sortBy as re,isEmpty as k}from"lodash";import{useState as y,useMemo as p,useEffect as oe}from"react";import{soundcheckApiRef as ie}from"../../api.esm.js";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as ae}from"../../hooks/tracks/useGetAllTracks.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-router-dom";import{useSearchName as ne}from"../../hooks/useSearchName.esm.js";import{usePagination as se}from"../../hooks/usePagination.esm.js";import"react-use/lib/useLocalStorage";import{useProfileImages as me}from"../../hooks/catalog/useProfileImages.esm.js";import{useImportTracks as ce}from"../../hooks/tracks/useImportTracks.esm.js";import{useLCPReporting as le}from"../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as pe}from"../../hooks/useLoadTimeReporting.esm.js";import{trackCreateRouteRef as de,trackDetailsRouteRef as fe}from"../../routes.esm.js";import{exportTracks as ue}from"../../utils/export.esm.js";import"../EmptyState/EmptyState.esm.js";import{EmptyStateBUI as ge}from"../EmptyState/EmptyStateBUI.esm.js";import{EmptyStateNoTracks as he}from"../EmptyState/EmptyStateNoTracks.esm.js";import"@remixicon/react";import{ImportExportPanelBUI as ke}from"../ImportExportPanel/ImportExportPanelBUI.esm.js";import"../ImportExportPanel/ImportExportPanelDeprecated.esm.js";import{ListPageCustomActions as ye}from"../ListPageCustomActions/ListPageCustomActions.esm.js";import{LoadingTableSkeleton as we}from"../LoadingTableSkeleton/LoadingTableSkeleton.esm.js";import"../Menus/SimpleMenu.esm.js";import{useTrackActions as Re}from"../Menus/useTrackActions.esm.js";import"uuid";import"../CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js";import{TableRowWithOwner as Te}from"../TableRowWithOwner/TableRowWithOwner.esm.js";const x=10,Pe=({track:r,profileImageMap:s})=>{const l=p(()=>r.levels.reduce((m,f)=>m+(f.checks?.length??0),0),[r.levels]),o=A(fe),d=Re(r);return t(Te,{ownerEntityRef:r.ownerEntityRef,href:o({trackId:r.id}),menuActions:d,profileImageSrc:s[r.ownerEntityRef],name:r.name??r.id,description:r.description??"",documentationURL:r.documentationURL??void 0,cells:[{title:r.draft?"Draft":"Active"},{title:`${r.levels.length} Level${r.levels.length===1?"":"s"}`},{title:`${l} Check${l===1?"":"s"}`}]})},Ce=ee(()=>({container:{marginBottom:"var(--bui-space-12)"}})),Se=()=>{const r=Ce(),[s,l]=y("ascending"),[o,d]=y(""),[m,f]=y(""),w=p(()=>({routeName:"soundcheck-tracks"}),[]),{reportContentLoaded:R}=pe(w),{reporter:B}=le(w),{data:T,isLoading:i}=ae({types:["standard","playlist"]}),u=p(()=>T?.edges?.map(e=>e.node)??[],[T?.edges]),{profileImageMap:N}=me(u.map(e=>e.ownerEntityRef)),P=v(J),g=ne({items:u,searchTerm:m}),C=p(()=>{if(!o)return g;const e=re(g,a=>o==="owner"?P.forEntity(a.ownerEntityRef).snapshot.primaryTitle.toLowerCase():o==="status"?a.draft?"draft":"active":a.name.toLowerCase());return s==="descending"&&e.reverse(),e},[P,o,s,g]),{paginatedItems:h,reset:U,paginationProps:H}=se({pageParam:"perPage",defaultPageSize:x,items:C}),S=B?.getLCPValue();oe(()=>{i||R({lcp:S})},[i,R,S]);const M=A(de),{loading:I,allowed:L}=W({permission:te}),$=v(ie),{mutateAsync:D}=ce(),V=async e=>D(e),F=async()=>{const e=await $.getTracks({orderAlphabetical:"asc"});return ue(e.edges.map(a=>a.node))},O=!i&&!k(h),j=C.length>x,E=!i&&k(h),G=i;let b=null;return E&&(b=m?t(ge,{title:"No tracks found",body:"Your current search term did not return any tracks. Please try a different search term."}):t(he,{})),c(z,{children:[t(Y,{title:"Tracks",customActions:c(q,{gap:"2",align:"center",children:[t(ke,{resourceType:"track",disableImport:!I&&!L,disableExport:i||k(u),onImport:V,onExport:F}),t(ye,{searchValue:m,setSearchValue:e=>{U(),f(e)},canCreate:!I&&L,createHref:M()})]})}),c(K,{className:r.container,children:[G&&t(we,{rowCount:10}),E&&b,O&&c(Q,{onSortChange:({direction:e,column:a})=>{d(String(a)),l(e)},sortDescriptor:{direction:s,column:o},children:[c(X,{children:[t(n,{id:"name",allowsSorting:!0,isRowHeader:!0,style:{width:"51%"},children:"Track Name"}),t(n,{allowsSorting:!0,id:"status",style:{width:"10%"},children:"Status"}),t(n,{id:"levels",style:{width:"10%"},children:"Levels"}),t(n,{id:"checks",style:{width:"10%"},children:"Checks"}),t(n,{id:"owner",allowsSorting:!0,style:{width:"15%"},children:"Track Owner"}),t(n,{id:"actions",style:{width:"2%"}})]}),t(Z,{children:!i&&h.map(e=>t(Pe,{track:e,profileImageMap:N??{}},e.id))})]}),j&&t(_,{...H})]})]})};export{Se as TracksListPageBUI};
1
+ import{jsx as t,jsxs as p,Fragment as Y}from"react/jsx-runtime";import{useApi as B,useRouteRef as D}from"@backstage/core-plugin-api";import{entityPresentationApiRef as _}from"@backstage/plugin-catalog-react";import{usePermission as q}from"@backstage/plugin-permission-react";import{HeaderPage as X,Flex as Z,Container as ee,Table as te,TableHeader as re,Column as n,TableBody as oe,TablePagination as ie}from"@backstage/ui";import{makeStyles as ae}from"@material-ui/core";import{soundcheckTrackCreatePermission as se}from"@spotify/backstage-plugin-soundcheck-common";import{sortBy as ne,isEmpty as R}from"lodash";import{useState as P,useMemo as f,useEffect as me}from"react";import{useSearchParams as ce}from"react-router-dom";import le from"react-use/lib/useDebounce";import{soundcheckApiRef as pe}from"../../api.esm.js";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as de}from"../../hooks/tracks/useGetAllTracks.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{usePagination as fe}from"../../hooks/usePagination.esm.js";import"react-use/lib/useLocalStorage";import{useProfileImages as ue}from"../../hooks/catalog/useProfileImages.esm.js";import{useImportTracks as ge}from"../../hooks/tracks/useImportTracks.esm.js";import{useLCPReporting as he}from"../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as ye}from"../../hooks/useLoadTimeReporting.esm.js";import{useSearchNameOwner as ke}from"../../hooks/useSearchNameOwner.esm.js";import{trackCreateRouteRef as we,trackDetailsRouteRef as Re}from"../../routes.esm.js";import{exportTracks as Pe}from"../../utils/export.esm.js";import"../EmptyState/EmptyState.esm.js";import{EmptyStateBUI as Te}from"../EmptyState/EmptyStateBUI.esm.js";import{EmptyStateNoTracks as Se}from"../EmptyState/EmptyStateNoTracks.esm.js";import"@remixicon/react";import{ImportExportPanelBUI as Le}from"../ImportExportPanel/ImportExportPanelBUI.esm.js";import"../ImportExportPanel/ImportExportPanelDeprecated.esm.js";import{ListPageCustomActions as Ce}from"../ListPageCustomActions/ListPageCustomActions.esm.js";import{LoadingTableSkeleton as Ie}from"../LoadingTableSkeleton/LoadingTableSkeleton.esm.js";import"../Menus/SimpleMenu.esm.js";import{useTrackActions as ve}from"../Menus/useTrackActions.esm.js";import"uuid";import"../CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js";import{TableRowWithOwner as Ee}from"../TableRowWithOwner/TableRowWithOwner.esm.js";const N=10,Ae=["name","status","owner"],be=({track:r,profileImageMap:i})=>{const m=f(()=>r.levels.reduce((c,g)=>c+(g.checks?.length??0),0),[r.levels]),o=D(Re),u=ve(r);return t(Ee,{ownerEntityRef:r.ownerEntityRef,href:o({trackId:r.id}),menuActions:u,profileImageSrc:i[r.ownerEntityRef],name:r.name??r.id,description:r.description??"",documentationURL:r.documentationURL??void 0,cells:[{title:r.draft?"Draft":"Active"},{title:`${r.levels.length} Level${r.levels.length===1?"":"s"}`},{title:`${m} Check${m===1?"":"s"}`}]})},xe=ae(()=>({container:{marginBottom:"var(--bui-space-12)"}})),Ue=()=>{const r=xe(),[i,m]=ce(),[o,u]=P(()=>i.get("search")??""),[c,g]=P(()=>i.get("sortDirection")==="descending"?"descending":"ascending"),[l,H]=P(()=>{const e=i.get("sort");return e&&Ae.includes(e)?e:""}),T=f(()=>({routeName:"soundcheck-tracks"}),[]),{reportContentLoaded:S}=ye(T),{reporter:M}=he(T),{data:L,isLoading:a}=de({types:["standard","playlist"]}),h=f(()=>L?.edges?.map(e=>e.node)??[],[L?.edges]),{profileImageMap:$}=ue(h.map(e=>e.ownerEntityRef)),C=B(_),y=ke(h,o),I=f(()=>{if(!l)return y;const e=ne(y,s=>l==="owner"?C.forEntity(s.ownerEntityRef).snapshot.primaryTitle.toLowerCase():l==="status"?s.draft?"draft":"active":s.name.toLowerCase());return c==="descending"&&e.reverse(),e},[C,l,c,y]),{paginatedItems:k,reset:v,paginationProps:V}=fe({pageParam:"perPage",defaultPageSize:N,items:I});le(()=>{v();const e=new URLSearchParams(i.toString());o?e.set("search",o):e.delete("search"),m(e,{replace:!0})},300,[o]);const F=({direction:e,column:s})=>{const w=String(s);H(w),g(e),v();const d=new URLSearchParams(i);w?d.set("sort",w):d.delete("sort"),d.set("sortDirection",e),m(d,{replace:!0})},E=M?.getLCPValue();me(()=>{a||S({lcp:E})},[a,S,E]);const O=D(we),{loading:A,allowed:b}=q({permission:se}),j=B(pe),{mutateAsync:z}=ge(),G=async e=>z(e),W=async()=>{const e=await j.getTracks({orderAlphabetical:"asc"});return Pe(e.edges.map(s=>s.node))},J=!a&&!R(k),K=I.length>N,x=!a&&R(k),Q=a;let U=null;return x&&(U=o?t(Te,{title:"No tracks found",body:"Your current search term did not return any tracks. Please try a different search term."}):t(Se,{})),p(Y,{children:[t(X,{title:"Tracks",customActions:p(Z,{gap:"2",align:"center",children:[t(Le,{resourceType:"track",disableImport:!A&&!b,disableExport:a||R(h),onImport:G,onExport:W}),t(Ce,{searchValue:o,setSearchValue:u,canCreate:!A&&b,createHref:O()})]})}),p(ee,{className:r.container,children:[Q&&t(Ie,{rowCount:10}),x&&U,J&&p(te,{onSortChange:F,sortDescriptor:{direction:c,column:l},children:[p(re,{children:[t(n,{id:"name",allowsSorting:!0,isRowHeader:!0,style:{width:"51%"},children:"Track Name"}),t(n,{allowsSorting:!0,id:"status",style:{width:"10%"},children:"Status"}),t(n,{id:"levels",style:{width:"10%"},children:"Levels"}),t(n,{id:"checks",style:{width:"10%"},children:"Checks"}),t(n,{id:"owner",allowsSorting:!0,style:{width:"15%"},children:"Track Owner"}),t(n,{id:"actions",style:{width:"2%"}})]}),t(oe,{children:!a&&k.map(e=>t(be,{track:e,profileImageMap:$??{}},e.id))})]}),K&&t(ie,{...V})]})]})};export{Ue as TracksListPageBUI};
2
2
  //# sourceMappingURL=TracksListPageBUI.esm.js.map
@@ -1,2 +1,2 @@
1
- import{useApi as k,useAnalytics as b}from"@backstage/core-plugin-api";import{useRef as v,useEffect as y,useCallback as $}from"react";import{useLocation as A}from"react-router-dom";import{soundcheckApiRef as E}from"../api.esm.js";import{useFeatureFlag as L}from"./useFeatureFlag.esm.js";function T(g={}){const t=L("enable-load-time-reporting"),{enabled:a=!0,routeName:n,additionalAttributes:m}=g,r=A(),e=v(""),p=k(E),f=b();return y(()=>{if(!a||!t)return;const c=n||r.pathname;return e.current=`loading-started-for-${c}`,performance.mark(e.current),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&(performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`))}),()=>{e.current&&(performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`))}},[a,t,n,m,r.pathname]),{reportContentLoaded:$(c=>{if(!a||!t||!e.current)return;const s=n||r.pathname;if(!e.current.includes(s)){performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`);return}const o=`loading-ended-for-${r.pathname}`,i=`time-since-${e.current}`;try{performance.mark(o),performance.measure(i,e.current,o);const u=performance.getEntriesByName(i);if(u.length>0){const M=u[u.length-1],l=Math.round(M.duration),d=l/1e3;if(d>1e3*60*60){performance.clearMarks(o),performance.clearMeasures(i);return}const h={pathname:r.pathname,refresh:!!c?.lcp,...m,...c};p.recordLoadTime({metricType:"navigation",routeName:s,loadTimeMs:l,additionalAttributes:h}).catch(N=>{}),f.captureEvent("performance","navigation",{attributes:{metricType:"navigation",value:d,route:s,timestamp:Date.now().toString(),...h}})}}catch{}finally{performance.clearMarks(o),performance.clearMeasures(i)}},[a,t,n,m,r.pathname,p,f])}}export{T as useLoadTimeReporting};
1
+ import{useApi as k,useAnalytics as b}from"@backstage/core-plugin-api";import{useRef as v,useEffect as y,useCallback as $}from"react";import{useLocation as A}from"react-router-dom";import{soundcheckApiRef as E}from"../api.esm.js";import{useFeatureFlag as L}from"./useFeatureFlag.esm.js";function T(g={}){const t=L("enable-load-time-reporting"),{enabled:a=!0,routeName:n,additionalAttributes:s}=g,r=A(),e=v(""),p=k(E),f=b();return y(()=>{if(!a||!t)return;const c=n||r.pathname;return e.current=`loading-started-for-${c}`,performance.mark(e.current),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&(performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`))}),()=>{e.current&&(performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`))}},[a,t,n,s,r.pathname]),{reportContentLoaded:$(c=>{if(!a||!t||!e.current)return;const o=n||r.pathname;if(!e.current.includes(o)){performance.clearMarks(e.current),performance.clearMeasures(`time-since-${e.current}`);return}const i=`loading-ended-for-${o}`,m=`time-since-${e.current}`;try{performance.mark(i),performance.measure(m,e.current,i);const u=performance.getEntriesByName(m);if(u.length>0){const M=u[u.length-1],l=Math.round(M.duration),d=l/1e3;if(d>1e3*60*10){performance.clearMarks(i),performance.clearMeasures(m);return}const h={pathname:r.pathname,refresh:!!c?.lcp,...s,...c};p.recordLoadTime({metricType:"navigation",routeName:o,loadTimeMs:l,additionalAttributes:h}).catch(N=>{}),f.captureEvent("performance","navigation",{attributes:{metricType:"navigation",value:d,route:o,timestamp:Date.now().toString(),...h}})}}catch{}finally{performance.clearMarks(i),performance.clearMeasures(m)}},[a,t,n,s,r.pathname,p,f])}}export{T as useLoadTimeReporting};
2
2
  //# sourceMappingURL=useLoadTimeReporting.esm.js.map
@@ -0,0 +1,2 @@
1
+ import{useApi as a}from"@backstage/core-plugin-api";import{entityPresentationApiRef as f}from"@backstage/plugin-catalog-react";import{useMemo as c}from"react";const p=(n,s)=>{const m=a(f);return c(()=>{const e=s?.toLowerCase().trim()??"";if(!e)return n;const o=(r,i=!1)=>{if(!r)return!1;const t=r.toLowerCase();return!i&&e.length>1?t.includes(e):t.startsWith(e)};return n.filter(({id:r,name:i,ownerEntityRef:t})=>{const u=t?m.forEntity(t):null;return o(i)||o(r)||u&&o(u?.snapshot.primaryTitle,!0)})},[n,s,m])};export{p as useSearchNameOwner};
2
+ //# sourceMappingURL=useSearchNameOwner.esm.js.map
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="7 7 114 114" xmlns="http://www.w3.org/2000/svg"><title>Azure DevOps</title><path d="M120.89 28.445v69.262l-28.445 23.324-44.09-16.07v15.93L23.395 88.25l72.746 5.688V31.574ZM96.64 31.93 55.82 7.11v16.285L18.348 34.418 7.109 48.852v32.785l16.075 7.11V46.718Zm0 0" fill="#0078d4"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="7 7 114 114" xmlns="http://www.w3.org/2000/svg"><title>Azure DevOps</title><path d="M120.89 28.445v69.262l-28.445 23.324-44.09-16.07v15.93L23.395 88.25l72.746 5.688V31.574ZM96.64 31.93 55.82 7.11v16.285L18.348 34.418 7.109 48.852v32.785l16.075 7.11V46.718Zm0 0" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Google BigQuery</title><path d="M5.676 10.595h2.052v5.244a5.892 5.892 0 0 1-2.052-2.088v-3.156zm18.179 10.836a.504.504 0 0 1 0 .708l-1.716 1.716a.504.504 0 0 1-.708 0l-4.248-4.248a.206.206 0 0 1-.007-.007c-.02-.02-.028-.045-.043-.066a10.736 10.736 0 0 1-6.334 2.065C4.835 21.599 0 16.764 0 10.799S4.835 0 10.8 0s10.799 4.835 10.799 10.8c0 2.369-.772 4.553-2.066 6.333.025.017.052.028.074.05l4.248 4.248zm-5.028-10.632a8.015 8.015 0 1 0-8.028 8.028h.024a8.016 8.016 0 0 0 8.004-8.028zm-4.86 4.98a6.002 6.002 0 0 0 2.04-2.184v-1.764h-2.04v3.948zm-4.5.948c.442.057.887.08 1.332.072.4.025.8.025 1.2 0V7.692H9.468v9.035z" fill="#669DF6"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Google BigQuery</title><path d="M5.676 10.595h2.052v5.244a5.892 5.892 0 0 1-2.052-2.088v-3.156zm18.179 10.836a.504.504 0 0 1 0 .708l-1.716 1.716a.504.504 0 0 1-.708 0l-4.248-4.248a.206.206 0 0 1-.007-.007c-.02-.02-.028-.045-.043-.066a10.736 10.736 0 0 1-6.334 2.065C4.835 21.599 0 16.764 0 10.799S4.835 0 10.8 0s10.799 4.835 10.799 10.8c0 2.369-.772 4.553-2.066 6.333.025.017.052.028.074.05l4.248 4.248zm-5.028-10.632a8.015 8.015 0 1 0-8.028 8.028h.024a8.016 8.016 0 0 0 8.004-8.028zm-4.86 4.98a6.002 6.002 0 0 0 2.04-2.184v-1.764h-2.04v3.948zm-4.5.948c.442.057.887.08 1.332.072.4.025.8.025 1.2 0V7.692H9.468v9.035z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Backstage</title><path d="M19.5188 9.3003a4.5194 4.5194 0 0 0 .7533-.5808 7.0485 7.0485 0 0 0 .1289-.1288 4.6555 4.6555 0 0 0 .4441-.5254 3.5672 3.5672 0 0 0 .354-.6032 2.721 2.721 0 0 0 .2436-.9185c.0835-1.086-.56-2.166-1.995-3.0369L13.6692 0 6.9335 6.454 2.548 10.6558l6.0826 3.6916a6.25 6.25 0 0 0 3.2351.919c1.3958 0 2.7333-.4928 3.7201-1.4388 1.0732-1.0283 1.4294-2.3591.7674-3.4653a2.7568 2.7568 0 0 0-.3809-.4968 4.9944 4.9944 0 0 0 1.0821.1204h.0084a4.7653 4.7653 0 0 0 1.7363-.3243 4.53 4.53 0 0 0 .7197-.3613Zm-5.6317 3.35c-1.0821 1.0367-2.8229 1.189-4.24.3304l-4.2085-2.5546 3.7779-3.6204 4.2796 2.5977c1.542.9348 1.4574 2.2247.391 3.2469zm.5001-4.6051-3.957-2.4023 3.6075-3.4585 3.8854 2.358c1.4529.8804 1.6416 2.0723.591 3.0805a3.3992 3.3992 0 0 1-4.1269.4223Zm1.6725 10.6418c-1.0961 1.0501-2.586 1.6293-4.194 1.6293a6.93 6.93 0 0 1-3.5902-1.0194L2.548 15.8238v1.3817l6.0826 3.6916a6.2506 6.2506 0 0 0 3.2351.9197c1.3958 0 2.7333-.4935 3.7201-1.439.7214-.691 1.1202-1.5195 1.1023-2.3237v-.1003a4.888 4.888 0 0 1-.6284.7354zm0-2.1844c-1.0961 1.0502-2.586 1.6287-4.194 1.6287a6.9345 6.9345 0 0 1-3.5902-1.0188L2.548 13.64v1.3824l6.0826 3.6915a6.2506 6.2506 0 0 0 3.2351.9197c1.3958 0 2.7333-.4934 3.7201-1.4389.7214-.6911 1.1202-1.5195 1.1023-2.3244v-.0997a4.888 4.888 0 0 1-.6284.7354zm0-2.1844c-1.0961 1.0508-2.586 1.6293-4.194 1.6293a6.9345 6.9345 0 0 1-3.5902-1.0188l-5.7275-3.472v1.3823l6.0826 3.6916a6.25 6.25 0 0 0 3.2351.9191c1.3958 0 2.7333-.4929 3.7201-1.4383.7214-.6917 1.1202-1.5195 1.1023-2.3244v-.102a4.8218 4.8218 0 0 1-.6284.7371zm4.688 1.4417a5.2733 5.2733 0 0 1-3.3718 1.4484v1.4988a4.5704 4.5704 0 0 0 2.898-1.253c.784-.7493 1.184-1.5743 1.1761-2.3882v-.1226a5.3164 5.3164 0 0 1-.7023.8205zm-4.688 5.1086c-1.0961 1.0508-2.586 1.6293-4.194 1.6293a6.93 6.93 0 0 1-3.5902-1.0193L2.548 18.007v1.3823l6.0826 3.691A6.2506 6.2506 0 0 0 11.8657 24c1.3958 0 2.7333-.4929 3.7201-1.4389.7214-.6911 1.1202-1.5195 1.1023-2.3238v-.1003a4.833 4.833 0 0 1-.6284.7354zM20.863 9.0987c-.038.0386-.0756.0773-.1148.1154a5.2856 5.2856 0 0 1-.596.4845 5.1165 5.1165 0 0 1-.6496.392 5.2946 5.2946 0 0 1-1.4697.4879 5.4716 5.4716 0 0 1-.7931.088 3.07 3.07 0 0 1 .07.2744 2.9836 2.9836 0 0 1 .0638.672v.5411h.0032a4.7277 4.7277 0 0 0 1.4198-.3108 4.5368 4.5368 0 0 0 1.478-.9421c.0449-.043.084-.0874.1267-.131a4.5972 4.5972 0 0 0 .4441-.5254 3.5712 3.5712 0 0 0 .354-.6016 2.7193 2.7193 0 0 0 .242-.9213c.0046-.0689.0111-.1384.0106-.2073v-.1131q-.0605.0863-.126.173a5.4178 5.4178 0 0 1-.4627.5243zm0 4.3643c-.0386.0392-.0733.079-.112.1176a5.276 5.276 0 0 1-3.3717 1.4484v1.4938a4.5704 4.5704 0 0 0 2.8979-1.253 4.1172 4.1172 0 0 0 .9219-1.2602 2.7198 2.7198 0 0 0 .242-.9208c.0047-.0694.0111-.1383.0106-.2078v-.1226c-.0414.06-.0818.1204-.1272.1798a5.359 5.359 0 0 1-.4615.5248zm0-2.1844c-.0386.0392-.0733.079-.112.1176a5.219 5.219 0 0 1-.5954.4845 5.1321 5.1321 0 0 1-.6513.392 5.3472 5.3472 0 0 1-2.125.5702v1.4955a4.5732 4.5732 0 0 0 2.8979-1.253c.0448-.0431.084-.0873.1266-.131a4.5972 4.5972 0 0 0 .4441-.5254 3.5712 3.5712 0 0 0 .3512-.6026 2.7198 2.7198 0 0 0 .242-.9208c.0047-.0694.0111-.139.0106-.2078v-.1232c-.0414.0604-.0818.121-.1272.1803a5.359 5.359 0 0 1-.4615.5248z" fill="#9BF0E1"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Backstage</title><path d="M19.5188 9.3003a4.5194 4.5194 0 0 0 .7533-.5808 7.0485 7.0485 0 0 0 .1289-.1288 4.6555 4.6555 0 0 0 .4441-.5254 3.5672 3.5672 0 0 0 .354-.6032 2.721 2.721 0 0 0 .2436-.9185c.0835-1.086-.56-2.166-1.995-3.0369L13.6692 0 6.9335 6.454 2.548 10.6558l6.0826 3.6916a6.25 6.25 0 0 0 3.2351.919c1.3958 0 2.7333-.4928 3.7201-1.4388 1.0732-1.0283 1.4294-2.3591.7674-3.4653a2.7568 2.7568 0 0 0-.3809-.4968 4.9944 4.9944 0 0 0 1.0821.1204h.0084a4.7653 4.7653 0 0 0 1.7363-.3243 4.53 4.53 0 0 0 .7197-.3613Zm-5.6317 3.35c-1.0821 1.0367-2.8229 1.189-4.24.3304l-4.2085-2.5546 3.7779-3.6204 4.2796 2.5977c1.542.9348 1.4574 2.2247.391 3.2469zm.5001-4.6051-3.957-2.4023 3.6075-3.4585 3.8854 2.358c1.4529.8804 1.6416 2.0723.591 3.0805a3.3992 3.3992 0 0 1-4.1269.4223Zm1.6725 10.6418c-1.0961 1.0501-2.586 1.6293-4.194 1.6293a6.93 6.93 0 0 1-3.5902-1.0194L2.548 15.8238v1.3817l6.0826 3.6916a6.2506 6.2506 0 0 0 3.2351.9197c1.3958 0 2.7333-.4935 3.7201-1.439.7214-.691 1.1202-1.5195 1.1023-2.3237v-.1003a4.888 4.888 0 0 1-.6284.7354zm0-2.1844c-1.0961 1.0502-2.586 1.6287-4.194 1.6287a6.9345 6.9345 0 0 1-3.5902-1.0188L2.548 13.64v1.3824l6.0826 3.6915a6.2506 6.2506 0 0 0 3.2351.9197c1.3958 0 2.7333-.4934 3.7201-1.4389.7214-.6911 1.1202-1.5195 1.1023-2.3244v-.0997a4.888 4.888 0 0 1-.6284.7354zm0-2.1844c-1.0961 1.0508-2.586 1.6293-4.194 1.6293a6.9345 6.9345 0 0 1-3.5902-1.0188l-5.7275-3.472v1.3823l6.0826 3.6916a6.25 6.25 0 0 0 3.2351.9191c1.3958 0 2.7333-.4929 3.7201-1.4383.7214-.6917 1.1202-1.5195 1.1023-2.3244v-.102a4.8218 4.8218 0 0 1-.6284.7371zm4.688 1.4417a5.2733 5.2733 0 0 1-3.3718 1.4484v1.4988a4.5704 4.5704 0 0 0 2.898-1.253c.784-.7493 1.184-1.5743 1.1761-2.3882v-.1226a5.3164 5.3164 0 0 1-.7023.8205zm-4.688 5.1086c-1.0961 1.0508-2.586 1.6293-4.194 1.6293a6.93 6.93 0 0 1-3.5902-1.0193L2.548 18.007v1.3823l6.0826 3.691A6.2506 6.2506 0 0 0 11.8657 24c1.3958 0 2.7333-.4929 3.7201-1.4389.7214-.6911 1.1202-1.5195 1.1023-2.3238v-.1003a4.833 4.833 0 0 1-.6284.7354zM20.863 9.0987c-.038.0386-.0756.0773-.1148.1154a5.2856 5.2856 0 0 1-.596.4845 5.1165 5.1165 0 0 1-.6496.392 5.2946 5.2946 0 0 1-1.4697.4879 5.4716 5.4716 0 0 1-.7931.088 3.07 3.07 0 0 1 .07.2744 2.9836 2.9836 0 0 1 .0638.672v.5411h.0032a4.7277 4.7277 0 0 0 1.4198-.3108 4.5368 4.5368 0 0 0 1.478-.9421c.0449-.043.084-.0874.1267-.131a4.5972 4.5972 0 0 0 .4441-.5254 3.5712 3.5712 0 0 0 .354-.6016 2.7193 2.7193 0 0 0 .242-.9213c.0046-.0689.0111-.1384.0106-.2073v-.1131q-.0605.0863-.126.173a5.4178 5.4178 0 0 1-.4627.5243zm0 4.3643c-.0386.0392-.0733.079-.112.1176a5.276 5.276 0 0 1-3.3717 1.4484v1.4938a4.5704 4.5704 0 0 0 2.8979-1.253 4.1172 4.1172 0 0 0 .9219-1.2602 2.7198 2.7198 0 0 0 .242-.9208c.0047-.0694.0111-.1383.0106-.2078v-.1226c-.0414.06-.0818.1204-.1272.1798a5.359 5.359 0 0 1-.4615.5248zm0-2.1844c-.0386.0392-.0733.079-.112.1176a5.219 5.219 0 0 1-.5954.4845 5.1321 5.1321 0 0 1-.6513.392 5.3472 5.3472 0 0 1-2.125.5702v1.4955a4.5732 4.5732 0 0 0 2.8979-1.253c.0448-.0431.084-.0873.1266-.131a4.5972 4.5972 0 0 0 .4441-.5254 3.5712 3.5712 0 0 0 .3512-.6026 2.7198 2.7198 0 0 0 .242-.9208c.0047-.0694.0111-.139.0106-.2078v-.1232c-.0414.0604-.0818.121-.1272.1803a5.359 5.359 0 0 1-.4615.5248z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="2 2 20 20" xmlns="http://www.w3.org/2000/svg"><title>Data Registry</title><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM13.1893 9.21336H15.2553C15.4986 8.811 15.9403 8.54204 16.4448 8.54204C17.212 8.54204 17.8339 9.16399 17.8339 9.93121C17.8339 10.6984 17.212 11.3204 16.4448 11.3204C15.7743 11.3204 15.2147 10.8453 15.0844 10.2134H13.3603C13.2299 10.8453 12.6703 11.3204 11.9998 11.3204C11.3293 11.3204 10.7698 10.8453 10.6394 10.2134H8.91525C8.78524 10.8458 8.22547 11.3213 7.55463 11.3213C6.78745 11.3213 6.16553 10.6994 6.16553 9.93214C6.16553 9.16492 6.78745 8.54297 7.55463 8.54297C8.05874 8.54297 8.50013 8.81151 8.74357 9.21336H10.8103C11.0536 8.811 11.4953 8.54204 11.9998 8.54204C12.5043 8.54204 12.946 8.811 13.1893 9.21336ZM13.1913 14.2143H15.2533C15.4962 13.8102 15.9389 13.5398 16.4448 13.5398C17.212 13.5398 17.8339 14.1617 17.8339 14.9289C17.8339 15.6961 17.212 16.3181 16.4448 16.3181C15.7754 16.3181 15.2166 15.8446 15.085 15.2143H13.3596C13.2279 15.8446 12.6692 16.3181 11.9998 16.3181C11.3304 16.3181 10.7717 15.8446 10.64 15.2143H8.91443C8.78294 15.8448 8.22408 16.3184 7.55461 16.3184C6.78743 16.3184 6.1655 15.6965 6.1655 14.9293C6.1655 14.162 6.78743 13.5401 7.55461 13.5401C8.06033 13.5401 8.50293 13.8104 8.74587 14.2143H10.8083C11.0512 13.8102 11.4939 13.5398 11.9998 13.5398C12.5057 13.5398 12.9484 13.8102 13.1913 14.2143Z" fill="#000000"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="2 2 20 20" xmlns="http://www.w3.org/2000/svg"><title>Data Registry</title><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM13.1893 9.21336H15.2553C15.4986 8.811 15.9403 8.54204 16.4448 8.54204C17.212 8.54204 17.8339 9.16399 17.8339 9.93121C17.8339 10.6984 17.212 11.3204 16.4448 11.3204C15.7743 11.3204 15.2147 10.8453 15.0844 10.2134H13.3603C13.2299 10.8453 12.6703 11.3204 11.9998 11.3204C11.3293 11.3204 10.7698 10.8453 10.6394 10.2134H8.91525C8.78524 10.8458 8.22547 11.3213 7.55463 11.3213C6.78745 11.3213 6.16553 10.6994 6.16553 9.93214C6.16553 9.16492 6.78745 8.54297 7.55463 8.54297C8.05874 8.54297 8.50013 8.81151 8.74357 9.21336H10.8103C11.0536 8.811 11.4953 8.54204 11.9998 8.54204C12.5043 8.54204 12.946 8.811 13.1893 9.21336ZM13.1913 14.2143H15.2533C15.4962 13.8102 15.9389 13.5398 16.4448 13.5398C17.212 13.5398 17.8339 14.1617 17.8339 14.9289C17.8339 15.6961 17.212 16.3181 16.4448 16.3181C15.7754 16.3181 15.2166 15.8446 15.085 15.2143H13.3596C13.2279 15.8446 12.6692 16.3181 11.9998 16.3181C11.3304 16.3181 10.7717 15.8446 10.64 15.2143H8.91443C8.78294 15.8448 8.22408 16.3184 7.55461 16.3184C6.78743 16.3184 6.1655 15.6965 6.1655 14.9293C6.1655 14.162 6.78743 13.5401 7.55461 13.5401C8.06033 13.5401 8.50293 13.8104 8.74587 14.2143H10.8083C11.0512 13.8102 11.4939 13.5398 11.9998 13.5398C12.5057 13.5398 12.9484 13.8102 13.1913 14.2143Z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Datadog</title><path d="M19.57 17.04l-1.997-1.316-1.665 2.782-1.937-.567-1.706 2.604.087.82 9.274-1.71-.538-5.794zm-8.649-2.498l1.488-.204c.241.108.409.15.697.223.45.117.97.23 1.741-.16.18-.088.553-.43.704-.625l6.096-1.106.622 7.527-10.444 1.882zm11.325-2.712l-.602.115L20.488 0 .789 2.285l2.427 19.693 2.306-.334c-.184-.263-.471-.581-.96-.989-.68-.564-.44-1.522-.039-2.127.53-1.022 3.26-2.322 3.106-3.956-.056-.594-.15-1.368-.702-1.898-.02.22.017.432.017.432s-.227-.289-.34-.683c-.112-.15-.2-.199-.319-.4-.085.233-.073.503-.073.503s-.186-.437-.216-.807c-.11.166-.137.48-.137.48s-.241-.69-.186-1.062c-.11-.323-.436-.965-.343-2.424.6.421 1.924.321 2.44-.439.171-.251.288-.939-.086-2.293-.24-.868-.835-2.16-1.066-2.651l-.028.02c.122.395.374 1.223.47 1.625.293 1.218.372 1.642.234 2.204-.116.488-.397.808-1.107 1.165-.71.358-1.653-.514-1.713-.562-.69-.55-1.224-1.447-1.284-1.883-.062-.477.275-.763.445-1.153-.243.07-.514.192-.514.192s.323-.334.722-.624c.165-.109.262-.178.436-.323a9.762 9.762 0 0 0-.456.003s.42-.227.855-.392c-.318-.014-.623-.003-.623-.003s.937-.419 1.678-.727c.509-.208 1.006-.147 1.286.257.367.53.752.817 1.569.996.501-.223.653-.337 1.284-.509.554-.61.99-.688.99-.688s-.216.198-.274.51c.314-.249.66-.455.66-.455s-.134.164-.259.426l.03.043c.366-.22.797-.394.797-.394s-.123.156-.268.358c.277-.002.838.012 1.056.037 1.285.028 1.552-1.374 2.045-1.55.618-.22.894-.353 1.947.68.903.888 1.609 2.477 1.259 2.833-.294.295-.874-.115-1.516-.916a3.466 3.466 0 0 1-.716-1.562 1.533 1.533 0 0 0-.497-.85s.23.51.23.96c0 .246.03 1.165.424 1.68-.039.076-.057.374-.1.43-.458-.554-1.443-.95-1.604-1.067.544.445 1.793 1.468 2.273 2.449.453.927.186 1.777.416 1.997.065.063.976 1.197 1.15 1.767.306.994.019 2.038-.381 2.685l-1.117.174c-.163-.045-.273-.068-.42-.153.08-.143.241-.5.243-.572l-.063-.111c-.348.492-.93.97-1.414 1.245-.633.359-1.363.304-1.838.156-1.348-.415-2.623-1.327-2.93-1.566 0 0-.01.191.048.234.34.383 1.119 1.077 1.872 1.56l-1.605.177.759 5.908c-.337.048-.39.071-.757.124-.325-1.147-.946-1.895-1.624-2.332-.599-.384-1.424-.47-2.214-.314l-.05.059a2.851 2.851 0 0 1 1.863.444c.654.413 1.181 1.481 1.375 2.124.248.822.42 1.7-.248 2.632-.476.662-1.864 1.028-2.986.237.3.481.705.876 1.25.95.809.11 1.577-.03 2.106-.574.452-.464.69-1.434.628-2.456l.714-.104.258 1.834 11.827-1.424zM15.05 6.848c-.034.075-.085.125-.007.37l.004.014.013.032.032.073c.14.287.295.558.552.696.067-.011.136-.019.207-.023.242-.01.395.028.492.08.009-.048.01-.119.005-.222-.018-.364.072-.982-.626-1.308-.264-.122-.634-.084-.757.068a.302.302 0 0 1 .058.013c.186.066.06.13.027.207m1.958 3.392c-.092-.05-.52-.03-.821.005-.574.068-1.193.267-1.328.372-.247.191-.135.523.047.66.511.382.96.638 1.432.575.29-.038.546-.497.728-.914.124-.288.124-.598-.058-.698m-5.077-2.942c.162-.154-.805-.355-1.556.156-.554.378-.571 1.187-.041 1.646.053.046.096.078.137.104a4.77 4.77 0 0 1 1.396-.412c.113-.125.243-.345.21-.745-.044-.542-.455-.456-.146-.749" fill="#632CA6"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Datadog</title><path d="M19.57 17.04l-1.997-1.316-1.665 2.782-1.937-.567-1.706 2.604.087.82 9.274-1.71-.538-5.794zm-8.649-2.498l1.488-.204c.241.108.409.15.697.223.45.117.97.23 1.741-.16.18-.088.553-.43.704-.625l6.096-1.106.622 7.527-10.444 1.882zm11.325-2.712l-.602.115L20.488 0 .789 2.285l2.427 19.693 2.306-.334c-.184-.263-.471-.581-.96-.989-.68-.564-.44-1.522-.039-2.127.53-1.022 3.26-2.322 3.106-3.956-.056-.594-.15-1.368-.702-1.898-.02.22.017.432.017.432s-.227-.289-.34-.683c-.112-.15-.2-.199-.319-.4-.085.233-.073.503-.073.503s-.186-.437-.216-.807c-.11.166-.137.48-.137.48s-.241-.69-.186-1.062c-.11-.323-.436-.965-.343-2.424.6.421 1.924.321 2.44-.439.171-.251.288-.939-.086-2.293-.24-.868-.835-2.16-1.066-2.651l-.028.02c.122.395.374 1.223.47 1.625.293 1.218.372 1.642.234 2.204-.116.488-.397.808-1.107 1.165-.71.358-1.653-.514-1.713-.562-.69-.55-1.224-1.447-1.284-1.883-.062-.477.275-.763.445-1.153-.243.07-.514.192-.514.192s.323-.334.722-.624c.165-.109.262-.178.436-.323a9.762 9.762 0 0 0-.456.003s.42-.227.855-.392c-.318-.014-.623-.003-.623-.003s.937-.419 1.678-.727c.509-.208 1.006-.147 1.286.257.367.53.752.817 1.569.996.501-.223.653-.337 1.284-.509.554-.61.99-.688.99-.688s-.216.198-.274.51c.314-.249.66-.455.66-.455s-.134.164-.259.426l.03.043c.366-.22.797-.394.797-.394s-.123.156-.268.358c.277-.002.838.012 1.056.037 1.285.028 1.552-1.374 2.045-1.55.618-.22.894-.353 1.947.68.903.888 1.609 2.477 1.259 2.833-.294.295-.874-.115-1.516-.916a3.466 3.466 0 0 1-.716-1.562 1.533 1.533 0 0 0-.497-.85s.23.51.23.96c0 .246.03 1.165.424 1.68-.039.076-.057.374-.1.43-.458-.554-1.443-.95-1.604-1.067.544.445 1.793 1.468 2.273 2.449.453.927.186 1.777.416 1.997.065.063.976 1.197 1.15 1.767.306.994.019 2.038-.381 2.685l-1.117.174c-.163-.045-.273-.068-.42-.153.08-.143.241-.5.243-.572l-.063-.111c-.348.492-.93.97-1.414 1.245-.633.359-1.363.304-1.838.156-1.348-.415-2.623-1.327-2.93-1.566 0 0-.01.191.048.234.34.383 1.119 1.077 1.872 1.56l-1.605.177.759 5.908c-.337.048-.39.071-.757.124-.325-1.147-.946-1.895-1.624-2.332-.599-.384-1.424-.47-2.214-.314l-.05.059a2.851 2.851 0 0 1 1.863.444c.654.413 1.181 1.481 1.375 2.124.248.822.42 1.7-.248 2.632-.476.662-1.864 1.028-2.986.237.3.481.705.876 1.25.95.809.11 1.577-.03 2.106-.574.452-.464.69-1.434.628-2.456l.714-.104.258 1.834 11.827-1.424zM15.05 6.848c-.034.075-.085.125-.007.37l.004.014.013.032.032.073c.14.287.295.558.552.696.067-.011.136-.019.207-.023.242-.01.395.028.492.08.009-.048.01-.119.005-.222-.018-.364.072-.982-.626-1.308-.264-.122-.634-.084-.757.068a.302.302 0 0 1 .058.013c.186.066.06.13.027.207m1.958 3.392c-.092-.05-.52-.03-.821.005-.574.068-1.193.267-1.328.372-.247.191-.135.523.047.66.511.382.96.638 1.432.575.29-.038.546-.497.728-.914.124-.288.124-.598-.058-.698m-5.077-2.942c.162-.154-.805-.355-1.556.156-.554.378-.571 1.187-.041 1.646.053.046.096.078.137.104a4.77 4.77 0 0 1 1.396-.412c.113-.125.243-.345.21-.745-.044-.542-.455-.456-.146-.749" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="2 2 20 20" xmlns="http://www.w3.org/2000/svg"><title>Integration</title><path d="M9.95401 2.2106C11.2876 1.93144 12.6807 1.92263 14.0449 2.20785C14.2219 3.3674 14.9048 4.43892 15.9997 5.07103C17.0945 5.70313 18.364 5.75884 19.4566 5.3323C20.3858 6.37118 21.0747 7.58203 21.4997 8.87652C20.5852 9.60958 19.9997 10.736 19.9997 11.9992C19.9997 13.2632 20.5859 14.3902 21.5013 15.1232C21.29 15.7636 21.0104 16.3922 20.6599 16.9992C20.3094 17.6063 19.9049 18.1627 19.4559 18.6659C18.3634 18.2396 17.0943 18.2955 15.9997 18.9274C14.9057 19.559 14.223 20.6294 14.0453 21.7879C12.7118 22.067 11.3187 22.0758 9.95443 21.7906C9.77748 20.6311 9.09451 19.5595 7.99967 18.9274C6.90484 18.2953 5.63539 18.2396 4.54272 18.6662C3.61357 17.6273 2.92466 16.4164 2.49964 15.1219C3.41412 14.3889 3.99968 13.2624 3.99968 11.9992C3.99968 10.7353 3.41344 9.60827 2.49805 8.87524C2.70933 8.23482 2.98894 7.60629 3.33942 6.99923C3.68991 6.39217 4.09443 5.83576 4.54341 5.33257C5.63593 5.75881 6.90507 5.703 7.99967 5.07103C9.09364 4.43942 9.7764 3.3691 9.95401 2.2106ZM11.9997 14.9992C13.6565 14.9992 14.9997 13.6561 14.9997 11.9992C14.9997 10.3424 13.6565 8.99923 11.9997 8.99923C10.3428 8.99923 8.99967 10.3424 8.99967 11.9992C8.99967 13.6561 10.3428 14.9992 11.9997 14.9992Z" fill="#000000"></path></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="2 2 20 20" xmlns="http://www.w3.org/2000/svg"><title>Integration</title><path d="M9.95401 2.2106C11.2876 1.93144 12.6807 1.92263 14.0449 2.20785C14.2219 3.3674 14.9048 4.43892 15.9997 5.07103C17.0945 5.70313 18.364 5.75884 19.4566 5.3323C20.3858 6.37118 21.0747 7.58203 21.4997 8.87652C20.5852 9.60958 19.9997 10.736 19.9997 11.9992C19.9997 13.2632 20.5859 14.3902 21.5013 15.1232C21.29 15.7636 21.0104 16.3922 20.6599 16.9992C20.3094 17.6063 19.9049 18.1627 19.4559 18.6659C18.3634 18.2396 17.0943 18.2955 15.9997 18.9274C14.9057 19.559 14.223 20.6294 14.0453 21.7879C12.7118 22.067 11.3187 22.0758 9.95443 21.7906C9.77748 20.6311 9.09451 19.5595 7.99967 18.9274C6.90484 18.2953 5.63539 18.2396 4.54272 18.6662C3.61357 17.6273 2.92466 16.4164 2.49964 15.1219C3.41412 14.3889 3.99968 13.2624 3.99968 11.9992C3.99968 10.7353 3.41344 9.60827 2.49805 8.87524C2.70933 8.23482 2.98894 7.60629 3.33942 6.99923C3.68991 6.39217 4.09443 5.83576 4.54341 5.33257C5.63593 5.75881 6.90507 5.703 7.99967 5.07103C9.09364 4.43942 9.7764 3.3691 9.95401 2.2106ZM11.9997 14.9992C13.6565 14.9992 14.9997 13.6561 14.9997 11.9992C14.9997 10.3424 13.6565 8.99923 11.9997 8.99923C10.3428 8.99923 8.99967 10.3424 8.99967 11.9992C8.99967 13.6561 10.3428 14.9992 11.9997 14.9992Z" fill="#FFFFFF"></path></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" fill="#181717"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitLab</title><path d="m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z" fill="#FC6D26"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitLab</title><path d="m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 8 77 77" xmlns="http://www.w3.org/2000/svg"><title>HTTP</title><path d="M38.5 8C17.2371 8 0 25.2369 0 46.5C0 67.7631 17.2371 85 38.5 85C59.7629 85 77 67.7631 77 46.5C77 25.2369 59.7629 8 38.5 8ZM23.5983 17.0185C22.9087 17.9737 22.2483 18.9994 21.6226 20.0985C20.6668 21.7773 19.8141 23.5844 19.0668 25.4944C17.4747 25.0561 15.8902 24.5639 14.3157 24.017C16.9617 21.1725 20.1015 18.7932 23.5983 17.0185ZM10.3255 29.2627C12.5838 30.1103 14.8618 30.8532 17.155 31.4923C16.2113 35.2306 15.6261 39.2282 15.4284 43.3556H5.61192C6.0984 38.229 7.76022 33.44 10.3255 29.2627ZM10.3255 63.7373C7.76002 59.5598 6.0982 54.771 5.61192 49.6444H15.4284C15.6263 53.7718 16.2113 57.7694 17.155 61.5077C14.8618 62.1468 12.5838 62.8898 10.3255 63.7373ZM14.3157 68.9832C15.8902 68.4363 17.4747 67.9437 19.0666 67.5058C19.8141 69.4158 20.6668 71.2229 21.6226 72.9017C22.2481 74.0007 22.9087 75.0265 23.5983 75.9817C20.1015 74.2068 16.9617 71.8277 14.3157 68.9832ZM35.3556 77.9061C31.3293 76.3961 27.7626 72.0634 25.2765 66.0809C28.6193 65.4639 31.9848 65.0821 35.3556 64.9358V77.9061ZM35.3556 58.6332C31.3185 58.7947 27.288 59.2692 23.2889 60.053C22.4676 56.8239 21.9251 53.3145 21.7262 49.6442H35.3556V58.6332ZM35.3556 43.3556H21.7262C21.9251 39.6853 22.4676 36.1759 23.2889 32.9468C27.2878 33.7308 31.3185 34.2051 35.3556 34.3666V43.3556ZM35.3556 28.064C31.9848 27.9177 28.6195 27.5359 25.2765 26.9189C27.7626 20.9364 31.3293 16.6039 35.3556 15.0937V28.064ZM66.6747 29.2633C69.24 33.4404 70.9016 38.2292 71.3879 43.3556H61.5714C61.3737 39.2286 60.7885 35.231 59.845 31.4931C62.1384 30.854 64.4166 30.1112 66.6747 29.2633ZM62.6849 24.0176C61.1104 24.5645 59.5259 25.0571 57.9336 25.4952C57.1861 23.5848 56.3334 21.7773 55.3774 20.0983C54.7517 18.9994 54.0913 17.9735 53.4019 17.0183C56.8989 18.7934 60.0387 21.1729 62.6849 24.0176ZM41.6444 15.0939C45.6707 16.6039 49.2376 20.937 51.7237 26.9199C48.3809 27.5367 45.0154 27.9183 41.6444 28.0644V15.0939ZM41.6444 34.367C45.6819 34.2057 49.7126 33.7314 53.7113 32.9478C54.5326 36.1767 55.0749 39.6859 55.2738 43.3558H41.6444V34.367ZM41.6444 49.6444H55.2738C55.0749 53.3143 54.5326 56.8235 53.7113 60.0524C49.7126 59.2686 45.6819 58.7945 41.6444 58.633V49.6444ZM41.6444 77.9061V64.9358C45.0156 65.0821 48.3811 65.4635 51.7237 66.0805C49.2376 72.063 45.6707 76.3961 41.6444 77.9061ZM53.4019 75.9815C54.0915 75.0263 54.7519 74.0007 55.3774 72.9015C56.3334 71.2225 57.1861 69.415 57.9336 67.5048C59.5257 67.9431 61.1102 68.4355 62.6849 68.9824C60.0387 71.8271 56.8989 74.2066 53.4019 75.9815ZM66.6747 63.7369C64.4166 62.8888 62.1384 62.146 59.8452 61.5067C60.7887 57.7689 61.3737 53.7714 61.5716 49.6444H71.3881C70.9016 54.7708 69.24 59.5596 66.6747 63.7369Z" fill="#1380DA"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 8 77 77" xmlns="http://www.w3.org/2000/svg"><title>HTTP</title><path d="M38.5 8C17.2371 8 0 25.2369 0 46.5C0 67.7631 17.2371 85 38.5 85C59.7629 85 77 67.7631 77 46.5C77 25.2369 59.7629 8 38.5 8ZM23.5983 17.0185C22.9087 17.9737 22.2483 18.9994 21.6226 20.0985C20.6668 21.7773 19.8141 23.5844 19.0668 25.4944C17.4747 25.0561 15.8902 24.5639 14.3157 24.017C16.9617 21.1725 20.1015 18.7932 23.5983 17.0185ZM10.3255 29.2627C12.5838 30.1103 14.8618 30.8532 17.155 31.4923C16.2113 35.2306 15.6261 39.2282 15.4284 43.3556H5.61192C6.0984 38.229 7.76022 33.44 10.3255 29.2627ZM10.3255 63.7373C7.76002 59.5598 6.0982 54.771 5.61192 49.6444H15.4284C15.6263 53.7718 16.2113 57.7694 17.155 61.5077C14.8618 62.1468 12.5838 62.8898 10.3255 63.7373ZM14.3157 68.9832C15.8902 68.4363 17.4747 67.9437 19.0666 67.5058C19.8141 69.4158 20.6668 71.2229 21.6226 72.9017C22.2481 74.0007 22.9087 75.0265 23.5983 75.9817C20.1015 74.2068 16.9617 71.8277 14.3157 68.9832ZM35.3556 77.9061C31.3293 76.3961 27.7626 72.0634 25.2765 66.0809C28.6193 65.4639 31.9848 65.0821 35.3556 64.9358V77.9061ZM35.3556 58.6332C31.3185 58.7947 27.288 59.2692 23.2889 60.053C22.4676 56.8239 21.9251 53.3145 21.7262 49.6442H35.3556V58.6332ZM35.3556 43.3556H21.7262C21.9251 39.6853 22.4676 36.1759 23.2889 32.9468C27.2878 33.7308 31.3185 34.2051 35.3556 34.3666V43.3556ZM35.3556 28.064C31.9848 27.9177 28.6195 27.5359 25.2765 26.9189C27.7626 20.9364 31.3293 16.6039 35.3556 15.0937V28.064ZM66.6747 29.2633C69.24 33.4404 70.9016 38.2292 71.3879 43.3556H61.5714C61.3737 39.2286 60.7885 35.231 59.845 31.4931C62.1384 30.854 64.4166 30.1112 66.6747 29.2633ZM62.6849 24.0176C61.1104 24.5645 59.5259 25.0571 57.9336 25.4952C57.1861 23.5848 56.3334 21.7773 55.3774 20.0983C54.7517 18.9994 54.0913 17.9735 53.4019 17.0183C56.8989 18.7934 60.0387 21.1729 62.6849 24.0176ZM41.6444 15.0939C45.6707 16.6039 49.2376 20.937 51.7237 26.9199C48.3809 27.5367 45.0154 27.9183 41.6444 28.0644V15.0939ZM41.6444 34.367C45.6819 34.2057 49.7126 33.7314 53.7113 32.9478C54.5326 36.1767 55.0749 39.6859 55.2738 43.3558H41.6444V34.367ZM41.6444 49.6444H55.2738C55.0749 53.3143 54.5326 56.8235 53.7113 60.0524C49.7126 59.2686 45.6819 58.7945 41.6444 58.633V49.6444ZM41.6444 77.9061V64.9358C45.0156 65.0821 48.3811 65.4635 51.7237 66.0805C49.2376 72.063 45.6707 76.3961 41.6444 77.9061ZM53.4019 75.9815C54.0915 75.0263 54.7519 74.0007 55.3774 72.9015C56.3334 71.2225 57.1861 69.415 57.9336 67.5048C59.5257 67.9431 61.1102 68.4355 62.6849 68.9824C60.0387 71.8271 56.8989 74.2066 53.4019 75.9815ZM66.6747 63.7369C64.4166 62.8888 62.1384 62.146 59.8452 61.5067C60.7887 57.7689 61.3737 53.7714 61.5716 49.6444H71.3881C70.9016 54.7708 69.24 59.5596 66.6747 63.7369Z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Jira</title><path d="M11.571 11.513H0a5.218 5.218 0 0 0 5.232 5.215h2.13v2.057A5.215 5.215 0 0 0 12.575 24V12.518a1.005 1.005 0 0 0-1.005-1.005zm5.723-5.756H5.736a5.215 5.215 0 0 0 5.215 5.214h2.129v2.058a5.218 5.218 0 0 0 5.215 5.214V6.758a1.001 1.001 0 0 0-1.001-1.001zM23.013 0H11.455a5.215 5.215 0 0 0 5.215 5.215h2.129v2.057A5.215 5.215 0 0 0 24 12.483V1.005A1.001 1.001 0 0 0 23.013 0Z" fill="#0052CC"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Jira</title><path d="M11.571 11.513H0a5.218 5.218 0 0 0 5.232 5.215h2.13v2.057A5.215 5.215 0 0 0 12.575 24V12.518a1.005 1.005 0 0 0-1.005-1.005zm5.723-5.756H5.736a5.215 5.215 0 0 0 5.215 5.214h2.129v2.058a5.218 5.218 0 0 0 5.215 5.214V6.758a1.001 1.001 0 0 0-1.001-1.001zM23.013 0H11.455a5.215 5.215 0 0 0 5.215 5.215h2.129v2.057A5.215 5.215 0 0 0 24 12.483V1.005A1.001 1.001 0 0 0 23.013 0Z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Kubernetes</title><path d="M10.204 14.35l.007.01-.999 2.413a5.171 5.171 0 0 1-2.075-2.597l2.578-.437.004.005a.44.44 0 0 1 .484.606zm-.833-2.129a.44.44 0 0 0 .173-.756l.002-.011L7.585 9.7a5.143 5.143 0 0 0-.73 3.255l2.514-.725.002-.009zm1.145-1.98a.44.44 0 0 0 .699-.337l.01-.005.15-2.62a5.144 5.144 0 0 0-3.01 1.442l2.147 1.523.004-.002zm.76 2.75l.723.349.722-.347.18-.78-.5-.623h-.804l-.5.623.179.779zm1.5-3.095a.44.44 0 0 0 .7.336l.008.003 2.134-1.513a5.188 5.188 0 0 0-2.992-1.442l.148 2.615.002.001zm10.876 5.97l-5.773 7.181a1.6 1.6 0 0 1-1.248.594l-9.261.003a1.6 1.6 0 0 1-1.247-.596l-5.776-7.18a1.583 1.583 0 0 1-.307-1.34L2.1 5.573c.108-.47.425-.864.863-1.073L11.305.513a1.606 1.606 0 0 1 1.385 0l8.345 3.985c.438.209.755.604.863 1.073l2.062 8.955c.108.47-.005.963-.308 1.34zm-3.289-2.057c-.042-.01-.103-.026-.145-.034-.174-.033-.315-.025-.479-.038-.35-.037-.638-.067-.895-.148-.105-.04-.18-.165-.216-.216l-.201-.059a6.45 6.45 0 0 0-.105-2.332 6.465 6.465 0 0 0-.936-2.163c.052-.047.15-.133.177-.159.008-.09.001-.183.094-.282.197-.185.444-.338.743-.522.142-.084.273-.137.415-.242.032-.024.076-.062.11-.089.24-.191.295-.52.123-.736-.172-.216-.506-.236-.745-.045-.034.027-.08.062-.111.088-.134.116-.217.23-.33.35-.246.25-.45.458-.673.609-.097.056-.239.037-.303.033l-.19.135a6.545 6.545 0 0 0-4.146-2.003l-.012-.223c-.065-.062-.143-.115-.163-.25-.022-.268.015-.557.057-.905.023-.163.061-.298.068-.475.001-.04-.001-.099-.001-.142 0-.306-.224-.555-.5-.555-.275 0-.499.249-.499.555l.001.014c0 .041-.002.092 0 .128.006.177.044.312.067.475.042.348.078.637.056.906a.545.545 0 0 1-.162.258l-.012.211a6.424 6.424 0 0 0-4.166 2.003 8.373 8.373 0 0 1-.18-.128c-.09.012-.18.04-.297-.029-.223-.15-.427-.358-.673-.608-.113-.12-.195-.234-.329-.349-.03-.026-.077-.062-.111-.088a.594.594 0 0 0-.348-.132.481.481 0 0 0-.398.176c-.172.216-.117.546.123.737l.007.005.104.083c.142.105.272.159.414.242.299.185.546.338.743.522.076.082.09.226.1.288l.16.143a6.462 6.462 0 0 0-1.02 4.506l-.208.06c-.055.072-.133.184-.215.217-.257.081-.546.11-.895.147-.164.014-.305.006-.48.039-.037.007-.09.02-.133.03l-.004.002-.007.002c-.295.071-.484.342-.423.608.061.267.349.429.645.365l.007-.001.01-.003.129-.029c.17-.046.294-.113.448-.172.33-.118.604-.217.87-.256.112-.009.23.069.288.101l.217-.037a6.5 6.5 0 0 0 2.88 3.596l-.09.218c.033.084.069.199.044.282-.097.252-.263.517-.452.813-.091.136-.185.242-.268.399-.02.037-.045.095-.064.134-.128.275-.034.591.213.71.248.12.556-.007.69-.282v-.002c.02-.039.046-.09.062-.127.07-.162.094-.301.144-.458.132-.332.205-.68.387-.897.05-.06.13-.082.215-.105l.113-.205a6.453 6.453 0 0 0 4.609.012l.106.192c.086.028.18.042.256.155.136.232.229.507.342.84.05.156.074.295.145.457.016.037.043.09.062.129.133.276.442.402.69.282.247-.118.341-.435.213-.71-.02-.039-.045-.096-.065-.134-.083-.156-.177-.261-.268-.398-.19-.296-.346-.541-.443-.793-.04-.13.007-.21.038-.294-.018-.022-.059-.144-.083-.202a6.499 6.499 0 0 0 2.88-3.622c.064.01.176.03.213.038.075-.05.144-.114.28-.104.266.039.54.138.87.256.154.06.277.128.448.173.036.01.088.019.13.028l.009.003.007.001c.297.064.584-.098.645-.365.06-.266-.128-.537-.423-.608zM16.4 9.701l-1.95 1.746v.005a.44.44 0 0 0 .173.757l.003.01 2.526.728a5.199 5.199 0 0 0-.108-1.674A5.208 5.208 0 0 0 16.4 9.7zm-4.013 5.325a.437.437 0 0 0-.404-.232.44.44 0 0 0-.372.233h-.002l-1.268 2.292a5.164 5.164 0 0 0 3.326.003l-1.27-2.296h-.01zm1.888-1.293a.44.44 0 0 0-.27.036.44.44 0 0 0-.214.572l-.003.004 1.01 2.438a5.15 5.15 0 0 0 2.081-2.615l-2.6-.44-.004.005z" fill="#326CE5"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Kubernetes</title><path d="M10.204 14.35l.007.01-.999 2.413a5.171 5.171 0 0 1-2.075-2.597l2.578-.437.004.005a.44.44 0 0 1 .484.606zm-.833-2.129a.44.44 0 0 0 .173-.756l.002-.011L7.585 9.7a5.143 5.143 0 0 0-.73 3.255l2.514-.725.002-.009zm1.145-1.98a.44.44 0 0 0 .699-.337l.01-.005.15-2.62a5.144 5.144 0 0 0-3.01 1.442l2.147 1.523.004-.002zm.76 2.75l.723.349.722-.347.18-.78-.5-.623h-.804l-.5.623.179.779zm1.5-3.095a.44.44 0 0 0 .7.336l.008.003 2.134-1.513a5.188 5.188 0 0 0-2.992-1.442l.148 2.615.002.001zm10.876 5.97l-5.773 7.181a1.6 1.6 0 0 1-1.248.594l-9.261.003a1.6 1.6 0 0 1-1.247-.596l-5.776-7.18a1.583 1.583 0 0 1-.307-1.34L2.1 5.573c.108-.47.425-.864.863-1.073L11.305.513a1.606 1.606 0 0 1 1.385 0l8.345 3.985c.438.209.755.604.863 1.073l2.062 8.955c.108.47-.005.963-.308 1.34zm-3.289-2.057c-.042-.01-.103-.026-.145-.034-.174-.033-.315-.025-.479-.038-.35-.037-.638-.067-.895-.148-.105-.04-.18-.165-.216-.216l-.201-.059a6.45 6.45 0 0 0-.105-2.332 6.465 6.465 0 0 0-.936-2.163c.052-.047.15-.133.177-.159.008-.09.001-.183.094-.282.197-.185.444-.338.743-.522.142-.084.273-.137.415-.242.032-.024.076-.062.11-.089.24-.191.295-.52.123-.736-.172-.216-.506-.236-.745-.045-.034.027-.08.062-.111.088-.134.116-.217.23-.33.35-.246.25-.45.458-.673.609-.097.056-.239.037-.303.033l-.19.135a6.545 6.545 0 0 0-4.146-2.003l-.012-.223c-.065-.062-.143-.115-.163-.25-.022-.268.015-.557.057-.905.023-.163.061-.298.068-.475.001-.04-.001-.099-.001-.142 0-.306-.224-.555-.5-.555-.275 0-.499.249-.499.555l.001.014c0 .041-.002.092 0 .128.006.177.044.312.067.475.042.348.078.637.056.906a.545.545 0 0 1-.162.258l-.012.211a6.424 6.424 0 0 0-4.166 2.003 8.373 8.373 0 0 1-.18-.128c-.09.012-.18.04-.297-.029-.223-.15-.427-.358-.673-.608-.113-.12-.195-.234-.329-.349-.03-.026-.077-.062-.111-.088a.594.594 0 0 0-.348-.132.481.481 0 0 0-.398.176c-.172.216-.117.546.123.737l.007.005.104.083c.142.105.272.159.414.242.299.185.546.338.743.522.076.082.09.226.1.288l.16.143a6.462 6.462 0 0 0-1.02 4.506l-.208.06c-.055.072-.133.184-.215.217-.257.081-.546.11-.895.147-.164.014-.305.006-.48.039-.037.007-.09.02-.133.03l-.004.002-.007.002c-.295.071-.484.342-.423.608.061.267.349.429.645.365l.007-.001.01-.003.129-.029c.17-.046.294-.113.448-.172.33-.118.604-.217.87-.256.112-.009.23.069.288.101l.217-.037a6.5 6.5 0 0 0 2.88 3.596l-.09.218c.033.084.069.199.044.282-.097.252-.263.517-.452.813-.091.136-.185.242-.268.399-.02.037-.045.095-.064.134-.128.275-.034.591.213.71.248.12.556-.007.69-.282v-.002c.02-.039.046-.09.062-.127.07-.162.094-.301.144-.458.132-.332.205-.68.387-.897.05-.06.13-.082.215-.105l.113-.205a6.453 6.453 0 0 0 4.609.012l.106.192c.086.028.18.042.256.155.136.232.229.507.342.84.05.156.074.295.145.457.016.037.043.09.062.129.133.276.442.402.69.282.247-.118.341-.435.213-.71-.02-.039-.045-.096-.065-.134-.083-.156-.177-.261-.268-.398-.19-.296-.346-.541-.443-.793-.04-.13.007-.21.038-.294-.018-.022-.059-.144-.083-.202a6.499 6.499 0 0 0 2.88-3.622c.064.01.176.03.213.038.075-.05.144-.114.28-.104.266.039.54.138.87.256.154.06.277.128.448.173.036.01.088.019.13.028l.009.003.007.001c.297.064.584-.098.645-.365.06-.266-.128-.537-.423-.608zM16.4 9.701l-1.95 1.746v.005a.44.44 0 0 0 .173.757l.003.01 2.526.728a5.199 5.199 0 0 0-.108-1.674A5.208 5.208 0 0 0 16.4 9.7zm-4.013 5.325a.437.437 0 0 0-.404-.232.44.44 0 0 0-.372.233h-.002l-1.268 2.292a5.164 5.164 0 0 0 3.326.003l-1.27-2.296h-.01zm1.888-1.293a.44.44 0 0 0-.27.036.44.44 0 0 0-.214.572l-.003.004 1.01 2.438a5.15 5.15 0 0 0 2.081-2.615l-2.6-.44-.004.005z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>New Relic</title><path d="M8.0015 14.3091v7.384L12.0008 24V12.0008L1.6078 5.9996v4.6167ZM12.0008 0 2.8232 5.2976 6.8209 7.606l5.1799-2.9893 6.3936 3.6913v7.384l-5.1783 2.9908v4.6167l9.176-5.2991V5.9996Z" fill="#1CE783"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>New Relic</title><path d="M8.0015 14.3091v7.384L12.0008 24V12.0008L1.6078 5.9996v4.6167ZM12.0008 0 2.8232 5.2976 6.8209 7.606l5.1799-2.9893 6.3936 3.6913v7.384l-5.1783 2.9908v4.6167l9.176-5.2991V5.9996Z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>PagerDuty</title><path d="M16.965 1.18C15.085.164 13.769 0 10.683 0H3.73v14.55h6.926c2.743 0 4.8-.164 6.61-1.37 1.975-1.303 3.004-3.484 3.004-6.007 0-2.716-1.262-4.896-3.305-5.994zm-5.5 10.326h-4.21V3.113l3.977-.027c3.62-.028 5.43 1.234 5.43 4.128 0 3.113-2.248 4.292-5.197 4.292zM3.73 17.61h3.525V24H3.73Z" fill="#06AC38"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>PagerDuty</title><path d="M16.965 1.18C15.085.164 13.769 0 10.683 0H3.73v14.55h6.926c2.743 0 4.8-.164 6.61-1.37 1.975-1.303 3.004-3.484 3.004-6.007 0-2.716-1.262-4.896-3.305-5.994zm-5.5 10.326h-4.21V3.113l3.977-.027c3.62-.028 5.43 1.234 5.43 4.128 0 3.113-2.248 4.292-5.197 4.292zM3.73 17.61h3.525V24H3.73Z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Git</title><path d="M23.546 10.93L13.067.452c-.604-.603-1.582-.603-2.188 0L8.708 2.627l2.76 2.76c.645-.215 1.379-.07 1.889.441.516.515.658 1.258.438 1.9l2.658 2.66c.645-.223 1.387-.078 1.9.435.721.72.721 1.884 0 2.604-.719.719-1.881.719-2.6 0-.539-.541-.674-1.337-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348.713.721.713 1.883 0 2.6-.719.721-1.889.721-2.609 0-.719-.719-.719-1.879 0-2.598.182-.18.387-.316.605-.406V8.835c-.217-.091-.424-.222-.6-.401-.545-.545-.676-1.342-.396-2.009L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477c.604.604 1.582.604 2.186 0l10.43-10.43c.605-.603.605-1.582 0-2.187" fill="#F05032"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Git</title><path d="M23.546 10.93L13.067.452c-.604-.603-1.582-.603-2.188 0L8.708 2.627l2.76 2.76c.645-.215 1.379-.07 1.889.441.516.515.658 1.258.438 1.9l2.658 2.66c.645-.223 1.387-.078 1.9.435.721.72.721 1.884 0 2.604-.719.719-1.881.719-2.6 0-.539-.541-.674-1.337-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348.713.721.713 1.883 0 2.6-.719.721-1.889.721-2.609 0-.719-.719-.719-1.879 0-2.598.182-.18.387-.316.605-.406V8.835c-.217-.091-.424-.222-.6-.401-.545-.545-.676-1.342-.396-2.009L7.636 3.7.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477c.604.604 1.582.604 2.186 0l10.43-10.43c.605-.603.605-1.582 0-2.187" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>SonarQube Server</title><path d="M12 0a.774.774 0 0 0-.775.775c0 .43.346.776.775.776 5.762 0 10.45 4.687 10.45 10.449 0 .43.345.775.775.775A.774.774 0 0 0 24 12c0-6.616-5.384-12-12-12zm0 3.932a.774.774 0 0 0-.775.775c0 .43.346.775.775.775A6.524 6.524 0 0 1 18.518 12c0 .43.346.775.775.775.43 0 .775-.346.775-.775 0-4.448-3.62-8.068-8.068-8.068zm0 3.925a.774.774 0 0 0-.775.776c0 .43.346.775.775.775A2.597 2.597 0 0 1 14.592 12c0 .43.346.775.775.775.43 0 .776-.346.776-.775A4.145 4.145 0 0 0 12 7.857zM.775 11.225A.774.774 0 0 0 0 12c0 6.616 5.384 12 12 12 .43 0 .775-.346.775-.775a.774.774 0 0 0-.775-.776C6.238 22.45 1.55 17.762 1.55 12a.774.774 0 0 0-.775-.775zm3.932 0a.774.774 0 0 0-.775.775c0 4.448 3.62 8.068 8.068 8.068.43 0 .775-.346.775-.775a.774.774 0 0 0-.775-.775A6.524 6.524 0 0 1 5.482 12a.774.774 0 0 0-.775-.775zm3.926 0a.774.774 0 0 0-.776.775A4.145 4.145 0 0 0 12 16.143c.43 0 .775-.347.775-.776a.774.774 0 0 0-.775-.775A2.597 2.597 0 0 1 9.408 12a.774.774 0 0 0-.775-.775z" fill="#126ED3"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>SonarQube Server</title><path d="M12 0a.774.774 0 0 0-.775.775c0 .43.346.776.775.776 5.762 0 10.45 4.687 10.45 10.449 0 .43.345.775.775.775A.774.774 0 0 0 24 12c0-6.616-5.384-12-12-12zm0 3.932a.774.774 0 0 0-.775.775c0 .43.346.775.775.775A6.524 6.524 0 0 1 18.518 12c0 .43.346.775.775.775.43 0 .775-.346.775-.775 0-4.448-3.62-8.068-8.068-8.068zm0 3.925a.774.774 0 0 0-.775.776c0 .43.346.775.775.775A2.597 2.597 0 0 1 14.592 12c0 .43.346.775.775.775.43 0 .776-.346.776-.775A4.145 4.145 0 0 0 12 7.857zM.775 11.225A.774.774 0 0 0 0 12c0 6.616 5.384 12 12 12 .43 0 .775-.346.775-.775a.774.774 0 0 0-.775-.776C6.238 22.45 1.55 17.762 1.55 12a.774.774 0 0 0-.775-.775zm3.932 0a.774.774 0 0 0-.775.775c0 4.448 3.62 8.068 8.068 8.068.43 0 .775-.346.775-.775a.774.774 0 0 0-.775-.775A6.524 6.524 0 0 1 5.482 12a.774.774 0 0 0-.775-.775zm3.926 0a.774.774 0 0 0-.776.775A4.145 4.145 0 0 0 12 16.143c.43 0 .775-.347.775-.776a.774.774 0 0 0-.775-.775A2.597 2.597 0 0 1 9.408 12a.774.774 0 0 0-.775-.775z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Soundcheck</title><path d="M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z" fill="#000000"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Soundcheck</title><path d="M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z" fill="#FFFFFF"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="-2.5 0 41.5 44" xmlns="http://www.w3.org/2000/svg"><title>Roadie</title><path d="M19,38.4v-1.7l19-11l-4.9-2.8L19,31.1v-1.7l18.9-10.9l-4.9-2.8l-14,8.1V22l19.1-11L19,0L0,11v22l19,11l19.1-11l-4.9-2.8L19,38.4z" fill="#EA580C"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="-2.5 0 41.5 44" xmlns="http://www.w3.org/2000/svg"><title>Roadie</title><path d="M19,38.4v-1.7l19-11l-4.9-2.8L19,31.1v-1.7l18.9-10.9l-4.9-2.8l-14,8.1V22l19.1-11L19,0L0,11v22l19,11l19.1-11l-4.9-2.8L19,38.4z" fill="#FFFFFF"/></svg>
@@ -1,2 +1,2 @@
1
- class n{#n;#e;#i;#s;#t=null;#r;constructor(t){this.#n=t.analytics,this.#e=t.routeName,this.#i=t.additionalAttributes||{},this.#s=t.soundcheckApi,this.#r=0}getLCPValue(){return this.#r}startMeasuring(){if("PerformanceObserver"in window){try{this.#t=new PerformanceObserver(t=>{const e=t.getEntries(),i=e[e.length-1];i&&i.renderTime!==void 0&&this.#o({value:i.renderTime,entry:i})}),this.#t.observe({type:"largest-contentful-paint"})}catch{}document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&this.stopMeasuring()})}}#o(t){this.#r=t.value;const e=t.value/1e3,i=this.#c(e);this.#s.recordLoadTime({metricType:"lcp",routeName:this.#e||"unknown",loadTimeMs:t.value,additionalAttributes:this.#i}).catch(o=>{}),this.#a(e,i)}#a(t,e){this.#n.captureEvent("performance","lcp",{attributes:{metricType:"lcp",value:t,rating:e,route:this.#e||"unknown",timestamp:Date.now().toString(),...this.#i}})}#c(t){return t<=2.5?"good":t<=4?"needs-improvement":"poor"}stopMeasuring(){this.#t&&(this.#t.disconnect(),this.#t=null)}}function s(r){return new n(r)}export{n as LCPReporter,s as createLCPReporter};
1
+ class n{#n;#e;#i;#s;#t=null;#r;constructor(t){this.#n=t.analytics,this.#e=t.routeName,this.#i=t.additionalAttributes||{},this.#s=t.soundcheckApi,this.#r=0}getLCPValue(){return this.#r}startMeasuring(){if("PerformanceObserver"in window){try{this.#t=new PerformanceObserver(t=>{const e=t.getEntries(),i=e[e.length-1];i&&i.renderTime!==void 0&&i.renderTime<=1e3*60*10&&this.#o({value:i.renderTime,entry:i})}),this.#t.observe({type:"largest-contentful-paint"})}catch{}document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&this.stopMeasuring()})}}#o(t){this.#r=t.value;const e=t.value/1e3,i=this.#c(e);this.#s.recordLoadTime({metricType:"lcp",routeName:this.#e||"unknown",loadTimeMs:t.value,additionalAttributes:this.#i}).catch(o=>{}),this.#a(e,i)}#a(t,e){this.#n.captureEvent("performance","lcp",{attributes:{metricType:"lcp",value:t,rating:e,route:this.#e||"unknown",timestamp:Date.now().toString(),...this.#i}})}#c(t){return t<=2.5?"good":t<=4?"needs-improvement":"poor"}stopMeasuring(){this.#t&&(this.#t.disconnect(),this.#t=null)}}function s(r){return new n(r)}export{n as LCPReporter,s as createLCPReporter};
2
2
  //# sourceMappingURL=lcpReporting.esm.js.map
@@ -1,2 +1,2 @@
1
- const t=e=>(e?.passed??0)+(e?.failed??0)+(e?.warning??0)+(e?.error??0)+(e?.notReported??0)+(e?.exempt??0);export{t as getTrackStatusTotal};
1
+ const t=e=>(e?.passed??0)+(e?.failed??0)+(e?.warning??0)+(e?.error??0)+(e?.notReported??0)+(e?.exempt??0),a=e=>!e||t(e)>0;export{t as getTrackStatusTotal,a as showTrack};
2
2
  //# sourceMappingURL=tracks.esm.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spotify/backstage-plugin-soundcheck",
3
3
  "description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
4
- "version": "0.19.5",
4
+ "version": "0.19.7",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://backstage.spotify.com",
7
7
  "main": "./dist/index.esm.js",
@@ -58,18 +58,18 @@
58
58
  "prepare": "yarn generate"
59
59
  },
60
60
  "dependencies": {
61
- "@backstage/catalog-client": "^1.12.0",
62
- "@backstage/catalog-model": "^1.7.5",
63
- "@backstage/config": "^1.3.5",
64
- "@backstage/core-compat-api": "^0.5.3",
65
- "@backstage/core-components": "^0.18.2",
66
- "@backstage/core-plugin-api": "^1.11.1",
67
- "@backstage/frontend-plugin-api": "^0.12.1",
68
- "@backstage/plugin-catalog-react": "^1.21.2",
69
- "@backstage/plugin-permission-react": "^0.4.37",
70
- "@backstage/plugin-scaffolder-react": "^1.19.2",
61
+ "@backstage/catalog-client": "^1.12.1",
62
+ "@backstage/catalog-model": "^1.7.6",
63
+ "@backstage/config": "^1.3.6",
64
+ "@backstage/core-compat-api": "^0.5.4",
65
+ "@backstage/core-components": "^0.18.3",
66
+ "@backstage/core-plugin-api": "^1.12.0",
67
+ "@backstage/frontend-plugin-api": "^0.13.0",
68
+ "@backstage/plugin-catalog-react": "^1.21.3",
69
+ "@backstage/plugin-permission-react": "^0.4.38",
70
+ "@backstage/plugin-scaffolder-react": "^1.19.3",
71
71
  "@backstage/types": "^1.2.2",
72
- "@backstage/ui": "^0.8.1",
72
+ "@backstage/ui": "^0.9.0",
73
73
  "@date-io/luxon": "^1.0.0",
74
74
  "@hookform/resolvers": "^4.0.0",
75
75
  "@material-ui/core": "^4.12.2",
@@ -84,8 +84,8 @@
84
84
  "@nivo/sunburst": "^0.99.0",
85
85
  "@nivo/treemap": "^0.99.0",
86
86
  "@remixicon/react": "^4.6.0",
87
- "@spotify/backstage-plugin-core": "^0.8.11",
88
- "@spotify/backstage-plugin-soundcheck-common": "^0.19.2",
87
+ "@spotify/backstage-plugin-core": "^0.8.12",
88
+ "@spotify/backstage-plugin-soundcheck-common": "^0.19.3",
89
89
  "@tanstack/react-query": "^4.6.1",
90
90
  "@uiw/react-md-editor": "3.20.10",
91
91
  "classnames": "^2.3.2",
@@ -127,21 +127,21 @@
127
127
  "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
128
128
  },
129
129
  "devDependencies": {
130
- "@backstage/cli": "^0.34.4",
131
- "@backstage/core-app-api": "^1.19.1",
132
- "@backstage/dev-utils": "^1.1.16",
130
+ "@backstage/cli": "^0.34.5",
131
+ "@backstage/core-app-api": "^1.19.2",
132
+ "@backstage/dev-utils": "^1.1.17",
133
133
  "@backstage/e2e-test-utils": "^0.1.1",
134
- "@backstage/frontend-test-utils": "^0.4.0",
135
- "@backstage/plugin-permission-common": "^0.9.2",
136
- "@backstage/test-utils": "^1.7.12",
134
+ "@backstage/frontend-test-utils": "^0.4.1",
135
+ "@backstage/plugin-permission-common": "^0.9.3",
136
+ "@backstage/test-utils": "^1.7.13",
137
137
  "@graphql-codegen/cli": "^5.0.0",
138
138
  "@graphql-codegen/typescript": "^4.0.0",
139
139
  "@graphql-codegen/typescript-graphql-request": "^6.0.0",
140
140
  "@graphql-codegen/typescript-operations": "^4.0.0",
141
141
  "@playwright/test": "^1.32.3",
142
142
  "@sp4b-dev/test-utils": "^0.0.13",
143
- "@spotify/backstage-plugin-core-common": "^0.6.10",
144
- "@spotify/backstage-plugin-soundcheck-node": "^0.10.2",
143
+ "@spotify/backstage-plugin-core-common": "^0.6.11",
144
+ "@spotify/backstage-plugin-soundcheck-node": "^0.10.3",
145
145
  "@testing-library/jest-dom": "^6.0.0",
146
146
  "@testing-library/react": "^14.0.0",
147
147
  "@testing-library/user-event": "^14.0.0",