@spotify/backstage-plugin-soundcheck 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/alpha/entity-content.esm.js +1 -1
  3. package/dist/alpha/pages.esm.js +1 -1
  4. package/dist/alpha.d.ts +62 -47
  5. package/dist/api.esm.js +1 -1
  6. package/dist/components/AlertPanel/AlertPanel.esm.js +1 -1
  7. package/dist/components/AreaChart/AreaChart.esm.js +1 -1
  8. package/dist/components/AreaChart/ChartTooltip.esm.js +1 -1
  9. package/dist/components/AreaChart/Legend.esm.js +1 -1
  10. package/dist/components/AreaChart/LegendItem.esm.js +1 -1
  11. package/dist/components/Badges/BaseBadge.esm.js +1 -1
  12. package/dist/components/Badges/CampaignBadge.esm.js +1 -1
  13. package/dist/components/Badges/CertificationBadge.esm.js +1 -1
  14. package/dist/components/Badges/LevelBadge.esm.js +1 -1
  15. package/dist/components/Badges/NoLevelBadge.esm.js +2 -2
  16. package/dist/components/Badges/PlaylistBadge.esm.js +1 -1
  17. package/dist/components/Badges/StatusBadge.esm.js +1 -1
  18. package/dist/components/CacheConfig/CacheConfigComponent.esm.js +1 -1
  19. package/dist/components/CampaignCreatePage/CampaignCreatePage.esm.js +1 -1
  20. package/dist/components/CampaignForm/CampaignForm.esm.js +1 -1
  21. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDescriptionField.esm.js +1 -1
  22. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDetailsStep.esm.js +1 -1
  23. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDraftField.esm.js +2 -0
  24. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignNameField.esm.js +1 -1
  25. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignOwnerField.esm.js +1 -1
  26. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignScheduleField.esm.js +1 -1
  27. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignSupportChannelField.esm.js +1 -1
  28. package/dist/components/CampaignForm/Steps/CampaignDetailsStep/EndDateChips.esm.js +1 -1
  29. package/dist/components/CampaignForm/Steps/CampaignMilestonesStep.esm.js +1 -1
  30. package/dist/components/CampaignForm/Steps/CampaignTrackStepNew.esm.js +2 -0
  31. package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
  32. package/dist/components/CampaignForm/hooks/utils.esm.js +1 -1
  33. package/dist/components/CampaignForm/utils/campaignFormUtils.esm.js +1 -1
  34. package/dist/components/CampaignForm/utils/validation.esm.js +1 -1
  35. package/dist/components/CampaignInsightsPage/CampaignInsightsPage.esm.js +1 -1
  36. package/dist/components/CampaignInsightsPage/CampaignStatusHistoryTile.esm.js +1 -1
  37. package/dist/components/CampaignInsightsPage/CampaignStatusTile.esm.js +1 -1
  38. package/dist/components/CampaignInsightsPage/DaysRemainingTile.esm.js +1 -1
  39. package/dist/components/CampaignsPage/CampaignEmptyState.esm.js +1 -1
  40. package/dist/components/CampaignsPage/CampaignListPage/CampaignListPage.esm.js +1 -1
  41. package/dist/components/CampaignsPage/CampaignListPage/CampaignMetadata.esm.js +1 -1
  42. package/dist/components/CampaignsPage/CampaignListPage/CampaignSummaryCard.esm.js +1 -1
  43. package/dist/components/CampaignsPage/CampaignListPage/CampaignsOverviewSkeleton.esm.js +1 -1
  44. package/dist/components/CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js +1 -1
  45. package/dist/components/CampaignsPage/CampaignsPage.esm.js +1 -1
  46. package/dist/components/CampaignsPage/EditCampaignView.esm.js +1 -1
  47. package/dist/components/CategoryBar/CategoryBar.esm.js +1 -1
  48. package/dist/components/CertificationAccordion/CertificationAccordion.esm.js +1 -1
  49. package/dist/components/CertificationSidebar/CertificationLevel.esm.js +1 -1
  50. package/dist/components/CertificationSidebar/CertificationSidebar.esm.js +1 -1
  51. package/dist/components/CertificationSidebar/CertificationSummary.esm.js +1 -1
  52. package/dist/components/CertificationSidebar/Check.esm.js +1 -1
  53. package/dist/components/CertificationSidebar/CheckResultInputPopup.esm.js +2 -0
  54. package/dist/components/CertificationSidebar/CheckResultSummaryList.esm.js +1 -1
  55. package/dist/components/CertificationSidebar/ExemptionJustificationDialog.esm.js +2 -0
  56. package/dist/components/CertificationSidebar/LevelSummary.esm.js +1 -1
  57. package/dist/components/CertificationSidebar/StatusDetails.esm.js +1 -1
  58. package/dist/components/CertificationSidebar/skeletons/CertificationSidebarSkeleton.esm.js +1 -1
  59. package/dist/components/CertificationSidebar/skeletons/CertificationSummarySkeleton.esm.js +1 -1
  60. package/dist/components/CertificationSidebar/skeletons/CheckSkeleton.esm.js +1 -1
  61. package/dist/components/CertificationSidebar/skeletons/LevelSummarySkeleton.esm.js +1 -1
  62. package/dist/components/CertificationsPage/CertificationTab.esm.js +1 -1
  63. package/dist/components/CertificationsPage/CertificationTabs.esm.js +1 -1
  64. package/dist/components/CertificationsPage/CertificationsPage.esm.js +1 -1
  65. package/dist/components/CertificationsPage/Playlist/PlaylistComponent.esm.js +1 -1
  66. package/dist/components/CertificationsPage/Playlist/PlaylistContext.esm.js +1 -1
  67. package/dist/components/CertificationsPage/Playlist/PlaylistProgress.esm.js +1 -1
  68. package/dist/components/CertificationsPage/Playlist/PlaylistSummary.esm.js +1 -1
  69. package/dist/components/CertificationsPage/PlaylistCertificationTab.esm.js +1 -1
  70. package/dist/components/CertificationsPage/skeletons/CertificationTabSkeleton.esm.js +1 -1
  71. package/dist/components/CertificationsPage/skeletons/CertificationTabsSkeleton.esm.js +1 -1
  72. package/dist/components/Charts/BarChart/BarChart.esm.js +1 -1
  73. package/dist/components/Charts/BarChart/BarChartPlaceholder.esm.js +1 -1
  74. package/dist/components/Charts/BarChart/GroupPassRateHistoryBarChart.esm.js +1 -1
  75. package/dist/components/Charts/BarChart/TrackSummaryBarChart.esm.js +1 -1
  76. package/dist/components/Charts/ChartWrapper/ChartWrapper.esm.js +1 -1
  77. package/dist/components/Charts/LineChart/EntityPassRateHistoryLineChart.esm.js +1 -1
  78. package/dist/components/Charts/LineChart/LineChart.esm.js +1 -1
  79. package/dist/components/Charts/LineChart/LineChartPlaceholder.esm.js +1 -1
  80. package/dist/components/Charts/LineChart/PassRateHistoryLineChart.esm.js +1 -1
  81. package/dist/components/Charts/LineChart/TableLineChart.esm.js +1 -1
  82. package/dist/components/Charts/LineChart/TrackPassRateHistoryLineChart.esm.js +1 -1
  83. package/dist/components/Charts/LoadingChart.esm.js +2 -0
  84. package/dist/components/Charts/chartUtils.esm.js +1 -1
  85. package/dist/components/CheckCard/CheckCard.esm.js +1 -1
  86. package/dist/components/CheckCard/CheckHistoryChart.esm.js +1 -1
  87. package/dist/components/CheckCreatePage/CheckCreatePage.esm.js +1 -1
  88. package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
  89. package/dist/components/CheckDetails/CheckResultDetails.esm.js +1 -1
  90. package/dist/components/CheckDetails/CollapseRow.esm.js +1 -1
  91. package/dist/components/CheckDetails/FactTable.esm.js +1 -1
  92. package/dist/components/CheckDetails/FixMeDialog.esm.js +1 -1
  93. package/dist/components/CheckDetails/JustificationDetails.esm.js +2 -0
  94. package/dist/components/CheckDetails/OngoingTaskComponent.esm.js +1 -1
  95. package/dist/components/CheckDetails/ResolvedValueTable.esm.js +1 -1
  96. package/dist/components/CheckDetails/ResultStateBox.esm.js +1 -1
  97. package/dist/components/CheckDetails/ReviewStateComponent.esm.js +1 -1
  98. package/dist/components/CheckDetails/SelectedValueContext.esm.js +1 -1
  99. package/dist/components/CheckDetails/skeletons/CheckDetailsSkeleton.esm.js +1 -1
  100. package/dist/components/CheckDryRun/CheckDryRun.esm.js +1 -1
  101. package/dist/components/CheckDryRun/CheckDryRunContext.esm.js +1 -1
  102. package/dist/components/CheckDryRun/CheckDryRunDetails.esm.js +1 -1
  103. package/dist/components/CheckDryRun/CheckDryRunDialog.esm.js +1 -1
  104. package/dist/components/CheckDryRun/CheckDryRunDialogButton.esm.js +1 -1
  105. package/dist/components/CheckForm/CheckForm.esm.js +1 -1
  106. package/dist/components/CheckForm/FormFields/CheckDescriptionInput/CheckDescriptionInput.esm.js +1 -1
  107. package/dist/components/CheckForm/FormFields/CheckNameInput/CheckNameInput.esm.js +1 -1
  108. package/dist/components/CheckForm/FormFields/CheckPathResolverInput.esm.js +1 -1
  109. package/dist/components/CheckForm/FormFields/CheckScheduleSection/ScheduleSection.esm.js +1 -1
  110. package/dist/components/CheckForm/FormFields/CheckTypeInput/CheckTypeInput.esm.js +2 -0
  111. package/dist/components/CheckForm/FormFields/PassFailMessageInput/PassFailMessageInput.esm.js +1 -1
  112. package/dist/components/CheckForm/FormFields/RuleInput/AddMenuButton.esm.js +1 -1
  113. package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ConditionList.esm.js +1 -1
  114. package/dist/components/CheckForm/FormFields/RuleInput/Conditions/FactValueDisplay.esm.js +1 -1
  115. package/dist/components/CheckForm/FormFields/RuleInput/Conditions/RuleConditionInput.esm.js +1 -1
  116. package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListContext.esm.js +1 -1
  117. package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListInput.esm.js +1 -1
  118. package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionBox.esm.js +1 -1
  119. package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionTypeToggle.esm.js +1 -1
  120. package/dist/components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js +1 -1
  121. package/dist/components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js +1 -1
  122. package/dist/components/CheckForm/Steps/CheckApplicabilityStep.esm.js +2 -0
  123. package/dist/components/CheckForm/Steps/CheckDetailsStep.esm.js +1 -1
  124. package/dist/components/CheckForm/Steps/CheckReviewStep.esm.js +1 -1
  125. package/dist/components/CheckForm/Steps/CheckRulesStep.esm.js +1 -1
  126. package/dist/components/CheckForm/useCheckForm.esm.js +1 -1
  127. package/dist/components/CheckForm/utils/checkFormUtils.esm.js +2 -2
  128. package/dist/components/CheckForm/utils/validation.esm.js +1 -1
  129. package/dist/components/CheckHistoryChartCard/CheckHistoryChartCard.esm.js +1 -1
  130. package/dist/components/CheckIcon/CheckIcon.esm.js +1 -1
  131. package/dist/components/CheckPage/CheckEditPage.esm.js +1 -1
  132. package/dist/components/CheckPage/CheckEditView.esm.js +1 -1
  133. package/dist/components/CheckPage/CheckEntitiesTable/CheckEntitiesTable.esm.js +1 -1
  134. package/dist/components/CheckPage/CheckEntitiesTable/columns.esm.js +1 -1
  135. package/dist/components/CheckPage/CheckInsightsPage.esm.js +1 -1
  136. package/dist/components/CheckPage/CheckStatusHistoryChart.esm.js +1 -1
  137. package/dist/components/CheckPage/CheckStatusTable.esm.js +1 -1
  138. package/dist/components/CheckSelection/CheckPreview.esm.js +2 -0
  139. package/dist/components/CheckSelection/CheckPreviewContext.esm.js +2 -0
  140. package/dist/components/CheckSelection/CheckSelection.esm.js +2 -0
  141. package/dist/components/CheckStatusBar/CheckStatusBar.esm.js +2 -0
  142. package/dist/components/CheckTemplatesPage/CheckTemplatesPage.esm.js +1 -1
  143. package/dist/components/CheckTemplatesPage/TemplateCategory.esm.js +1 -1
  144. package/dist/components/ChecksPage/CheckListPage/CheckListPage.esm.js +1 -1
  145. package/dist/components/ChecksPage/CheckListPage/CheckMetadata.esm.js +1 -1
  146. package/dist/components/ChecksPage/CheckListPage/CheckSummaryCard.esm.js +1 -1
  147. package/dist/components/ChecksPage/ChecksPage.esm.js +1 -1
  148. package/dist/components/ChecksPage/skeletons/ChecksOverviewSkeleton.esm.js +1 -1
  149. package/dist/components/ChecksTab/ChecksTab.esm.js +1 -1
  150. package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
  151. package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js +1 -1
  152. package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfDaysComponent.esm.js +1 -1
  153. package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfWorkItemsComponent.esm.js +1 -1
  154. package/dist/components/CollectorPage/Configurators/AzureDevOps/validation.esm.js +1 -1
  155. package/dist/components/CollectorPage/Configurators/BigQuery/BigQueryConfigurator.esm.js +1 -1
  156. package/dist/components/CollectorPage/Configurators/BigQuery/QueryFactDetailsComponent.esm.js +1 -1
  157. package/dist/components/CollectorPage/Configurators/BigQuery/validation.esm.js +1 -1
  158. package/dist/components/CollectorPage/Configurators/Catalog/CatalogConfigurator.esm.js +1 -1
  159. package/dist/components/CollectorPage/Configurators/Common/CollectorSchedulingOptions.esm.js +1 -1
  160. package/dist/components/CollectorPage/Configurators/Common/FactCollectionConfig.esm.js +1 -1
  161. package/dist/components/CollectorPage/Configurators/Common/utils.esm.js +1 -1
  162. package/dist/components/CollectorPage/Configurators/Configurator.esm.js +1 -1
  163. package/dist/components/CollectorPage/Configurators/DataDog/DataDogConfigurator.esm.js +1 -1
  164. package/dist/components/CollectorPage/Configurators/DataRegistry/DataRegistryConfigurator.esm.js +2 -0
  165. package/dist/components/CollectorPage/Configurators/DataRegistry/utils.esm.js +2 -0
  166. package/dist/components/CollectorPage/Configurators/Github/CodeScanningAlertsFactDetails.esm.js +2 -0
  167. package/dist/components/CollectorPage/Configurators/Github/DependabotAlertsFactDetails.esm.js +2 -0
  168. package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
  169. package/dist/components/CollectorPage/Configurators/Github/SecretScanningAlertsFactDetails.esm.js +2 -0
  170. package/dist/components/CollectorPage/Configurators/Github/SecurityAdvisoriesFactDetails.esm.js +2 -0
  171. package/dist/components/CollectorPage/Configurators/Github/types.esm.js +2 -0
  172. package/dist/components/CollectorPage/Configurators/Github/utils.esm.js +1 -1
  173. package/dist/components/CollectorPage/Configurators/Github/validation.esm.js +2 -0
  174. package/dist/components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js +1 -1
  175. package/dist/components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js +1 -1
  176. package/dist/components/CollectorPage/Configurators/HTTP/HttpRequestComponent.esm.js +1 -1
  177. package/dist/components/CollectorPage/Configurators/HTTP/HttpResponseComponent.esm.js +1 -1
  178. package/dist/components/CollectorPage/Configurators/HTTP/HttpRetriesComponent.esm.js +1 -1
  179. package/dist/components/CollectorPage/Configurators/HTTP/HttpStatusesInput.esm.js +1 -1
  180. package/dist/components/CollectorPage/Configurators/HTTP/RequestFactDetailsComponent.esm.js +1 -1
  181. package/dist/components/CollectorPage/Configurators/HTTP/validation.esm.js +1 -1
  182. package/dist/components/CollectorPage/Configurators/Jira/IssuesSearchFactDetailsComponent.esm.js +1 -1
  183. package/dist/components/CollectorPage/Configurators/Jira/JiraConfigurator.esm.js +1 -1
  184. package/dist/components/CollectorPage/Configurators/Jira/validation.esm.js +1 -1
  185. package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesConfigurator.esm.js +1 -1
  186. package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesFactDetails.esm.js +1 -1
  187. package/dist/components/CollectorPage/Configurators/Kubernetes/validation.esm.js +1 -1
  188. package/dist/components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js +1 -1
  189. package/dist/components/CollectorPage/Configurators/PagerDuty/IncidentsFactDetailsComponent.esm.js +1 -1
  190. package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
  191. package/dist/components/CollectorPage/Configurators/PagerDuty/StatusesComponent.esm.js +1 -1
  192. package/dist/components/CollectorPage/Configurators/PagerDuty/validation.esm.js +1 -1
  193. package/dist/components/CollectorPage/Configurators/SCM/ExistsFactDetailsComponent.esm.js +1 -1
  194. package/dist/components/CollectorPage/Configurators/SCM/FactDetailsComponent.esm.js +1 -1
  195. package/dist/components/CollectorPage/Configurators/SCM/JsonFactDetailsComponent.esm.js +1 -1
  196. package/dist/components/CollectorPage/Configurators/SCM/RegexFactDetailsComponent.esm.js +1 -1
  197. package/dist/components/CollectorPage/Configurators/SCM/ScmConfigurator.esm.js +1 -1
  198. package/dist/components/CollectorPage/Configurators/SCM/utils.esm.js +1 -1
  199. package/dist/components/CollectorPage/Configurators/SCM/validation.esm.js +1 -1
  200. package/dist/components/CollectorPage/Configurators/SonarQube/IssuesFactDetailsInput.esm.js +2 -0
  201. package/dist/components/CollectorPage/Configurators/SonarQube/MeasuresFactDetailsInput.esm.js +1 -1
  202. package/dist/components/CollectorPage/Configurators/SonarQube/MetricsInput.esm.js +1 -1
  203. package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
  204. package/dist/components/CollectorPage/Configurators/SonarQube/utils.esm.js +1 -1
  205. package/dist/components/CollectorPage/Configurators/SonarQube/validation.esm.js +1 -1
  206. package/dist/components/CollectorsPage/CollectorListPage/CollectorListPage.esm.js +1 -1
  207. package/dist/components/CollectorsPage/CollectorListPage/CollectorListSkeleton.esm.js +1 -1
  208. package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +1 -1
  209. package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
  210. package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
  211. package/dist/components/EmptyState/EmptyState.esm.js +1 -1
  212. package/dist/components/EntitiesAutocompletePicker/EntitiesAutocompletePicker.esm.js +2 -0
  213. package/dist/components/EntityChip/EntityChip.esm.js +1 -1
  214. package/dist/components/EntityContent/EntityContent.esm.js +1 -1
  215. package/dist/components/EntityPassRateCard/EntityPassRateCard.esm.js +1 -1
  216. package/dist/components/EntitySoundcheckCard/Card.esm.js +1 -1
  217. package/dist/components/EntitySoundcheckCard/EntitySoundcheckCard.esm.js +1 -1
  218. package/dist/components/EntitySoundcheckCard/skeletons/CardSkeleton.esm.js +1 -1
  219. package/dist/components/EntitySoundcheckContent.esm.js +1 -1
  220. package/dist/components/Expand/Expand.esm.js +1 -1
  221. package/dist/components/ExpandableSection/ExpandableSection.esm.js +1 -1
  222. package/dist/components/FactExplorer/FactExplorer.esm.js +1 -1
  223. package/dist/components/FactExplorer/FactExplorerContext.esm.js +1 -1
  224. package/dist/components/FactExplorer/FactExplorerDialog.esm.js +1 -1
  225. package/dist/components/FadeIn/FadeIn.esm.js +1 -1
  226. package/dist/components/Filter/EntityAutocompletePicker.esm.js +1 -1
  227. package/dist/components/Filter/FilterComponent.esm.js +1 -1
  228. package/dist/components/Filter/FilterKeyValueInput.esm.js +1 -1
  229. package/dist/components/Filter/FilterPreviewTable/EntityTableColumns.esm.js +1 -1
  230. package/dist/components/Filter/FilterPreviewTable/FilterPreviewTable.esm.js +1 -1
  231. package/dist/components/Filter/KeyValueInputDialog.esm.js +1 -1
  232. package/dist/components/FilterSidebar/FilterSidebar.esm.js +2 -0
  233. package/dist/components/FilterSidebar/StateFilter.esm.js +2 -0
  234. package/dist/components/FooterButtons/FooterButtons.esm.js +1 -1
  235. package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
  236. package/dist/components/FormControlledAutocomplete/FormControlledAutocomplete.esm.js +1 -1
  237. package/dist/components/FormControlledAutocomplete/FormControlledMultipleAutocomplete.esm.js +2 -0
  238. package/dist/components/FormControlledSelect/FormControlledSelect.esm.js +1 -1
  239. package/dist/components/FormControlledTextField/FormControlledTextField.esm.js +1 -1
  240. package/dist/components/FormFieldLabel/FormFieldLabel.esm.js +1 -1
  241. package/dist/components/FormFilterSection/FormFilterSection.esm.js +1 -1
  242. package/dist/components/FormMarkdownInput/FormMarkdownInput.esm.js +1 -1
  243. package/dist/components/FormStepper/FormStepper.esm.js +1 -1
  244. package/dist/components/FormTextInput/FormTextInput.esm.js +1 -1
  245. package/dist/components/FormattedPreview/FormattedPreview.esm.js +2 -2
  246. package/dist/components/Frequency/FrequencyComponent.esm.js +1 -1
  247. package/dist/components/GroupPassRateCard/GroupPassRateCard.esm.js +1 -1
  248. package/dist/components/GroupSelector/GroupSelector.esm.js +1 -1
  249. package/dist/components/LevelUpParty/LevelUpParty.esm.js +1 -1
  250. package/dist/components/LevelsTable/CheckRowContent.esm.js +2 -0
  251. package/dist/components/LevelsTable/LevelsTable.esm.js +2 -0
  252. package/dist/components/ListboxVirtualized/ListboxVirtualized.esm.js +1 -1
  253. package/dist/components/LoadingIndicator/LoadingIndicator.esm.js +1 -1
  254. package/dist/components/MultiSelectFilter/MultiSelectFilter.esm.js +1 -1
  255. package/dist/components/NoBorderButton/NoBorderButton.esm.js +1 -1
  256. package/dist/components/OrgHealth/OrgHealthPage.esm.js +2 -0
  257. package/dist/components/OverviewChartCard/OverviewChartCard.esm.js +1 -1
  258. package/dist/components/OverviewPage/FixedGroupOverviewPage.esm.js +1 -1
  259. package/dist/components/OverviewPage/OverviewPage.esm.js +1 -1
  260. package/dist/components/OverviewPage/OverviewPageContent.esm.js +1 -1
  261. package/dist/components/OverviewPage/OverviewPageHeader.esm.js +1 -1
  262. package/dist/components/OverviewTable/Cell/CheckCell.esm.js +1 -1
  263. package/dist/components/OverviewTable/Cell/CheckCellTooltip.esm.js +1 -1
  264. package/dist/components/OverviewTable/Cell/CheckLabelCell.esm.js +1 -1
  265. package/dist/components/OverviewTable/Cell/CheckNameCell.esm.js +1 -1
  266. package/dist/components/OverviewTable/Cell/EntityRefCell.esm.js +1 -1
  267. package/dist/components/OverviewTable/Cell/TrackBadgeCell.esm.js +1 -1
  268. package/dist/components/OverviewTable/Cell/TrackCheckIndicator.esm.js +1 -1
  269. package/dist/components/OverviewTable/Cell/TrackLevelHeaderCell.esm.js +1 -1
  270. package/dist/components/OverviewTable/Cell/TrackTitleCell.esm.js +1 -1
  271. package/dist/components/OverviewTable/Cell/cellRenderer.esm.js +1 -1
  272. package/dist/components/OverviewTable/OverviewTable.esm.js +1 -1
  273. package/dist/components/OverviewTable/OverviewTableContent.esm.js +1 -1
  274. package/dist/components/OverviewTable/OverviewTableSkeleton.esm.js +1 -1
  275. package/dist/components/OverviewTable/ResultsTable.esm.js +1 -1
  276. package/dist/components/OverviewTable/ResultsTableHeader.esm.js +1 -1
  277. package/dist/components/OverviewTable/ResultsTableRow.esm.js +1 -1
  278. package/dist/components/PageWarningMessage/PageWarningMessage.esm.js +1 -1
  279. package/dist/components/Pagination/CursorPagination.esm.js +1 -1
  280. package/dist/components/Pagination/Pagination.esm.js +1 -1
  281. package/dist/components/PassRateGrid/PassRateGrid.esm.js +1 -1
  282. package/dist/components/PassRateGrid/PassRateMetadata.esm.js +1 -1
  283. package/dist/components/PassRateTable/NewPassRateTable.esm.js +1 -1
  284. package/dist/components/PassRateTable/PassRateTable.esm.js +2 -2
  285. package/dist/components/QuickstartPage/HowDoIListItem.esm.js +1 -1
  286. package/dist/components/QuickstartPage/QuickStartChecksCard.esm.js +1 -1
  287. package/dist/components/QuickstartPage/QuickstartCardBase.esm.js +1 -1
  288. package/dist/components/QuickstartPage/QuickstartCollectorConfigurationsCard.esm.js +1 -1
  289. package/dist/components/QuickstartPage/QuickstartPage.esm.js +1 -1
  290. package/dist/components/QuickstartPage/QuickstartTracksCard.esm.js +1 -1
  291. package/dist/components/QuickstartPage/WelcomeHelpSection.esm.js +6 -6
  292. package/dist/components/QuickstartPage/WelcomeModal.esm.js +1 -1
  293. package/dist/components/RefetchingIndicator/RefetchingIndicator.esm.js +1 -1
  294. package/dist/components/RelativeTime/RelativeTime.esm.js +1 -1
  295. package/dist/components/RichTooltip/RichTooltip.esm.js +1 -1
  296. package/dist/components/Router.esm.js +1 -1
  297. package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
  298. package/dist/components/RuleResult/BranchResultComponent.esm.js +1 -1
  299. package/dist/components/RuleResult/ConditionResultComponent.esm.js +1 -1
  300. package/dist/components/RuleResult/RuleResultComponent.esm.js +1 -1
  301. package/dist/components/SearchBar/SearchBar.esm.js +1 -1
  302. package/dist/components/SearchFilters/SearchFilters.esm.js +1 -1
  303. package/dist/components/SoundcheckDialog/SoundcheckDialog.esm.js +1 -1
  304. package/dist/components/SoundcheckHeader/Breadcrumbs.esm.js +1 -1
  305. package/dist/components/SoundcheckHeader/SoundcheckHeader.esm.js +1 -1
  306. package/dist/components/SoundcheckHeader/SoundcheckHeaderContext.esm.js +1 -1
  307. package/dist/components/SoundcheckHeader/headerUtil.esm.js +1 -1
  308. package/dist/components/SoundcheckMarkdownContent/ComponentRenders.esm.js +2 -0
  309. package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js +2 -0
  310. package/dist/components/SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js +1 -1
  311. package/dist/components/SummaryCard/SummaryCard.esm.js +1 -1
  312. package/dist/components/SummaryCard/SummaryCardActionsMenu.esm.js +1 -1
  313. package/dist/components/TechHealth/Filters/FacetFilter.esm.js +1 -1
  314. package/dist/components/TechHealth/Filters/FilterProvider.esm.js +1 -1
  315. package/dist/components/TechHealth/Filters/Filters.esm.js +1 -1
  316. package/dist/components/TechHealth/Filters/FiltersHeader.esm.js +1 -1
  317. package/dist/components/TechHealth/Filters/FiltersSection.esm.js +1 -1
  318. package/dist/components/TechHealth/Filters/NumberOfDaysFilter.esm.js +1 -1
  319. package/dist/components/TechHealth/Filters/useFacetOptions.esm.js +1 -1
  320. package/dist/components/TechHealth/Loading/Emoji.esm.js +1 -1
  321. package/dist/components/TechHealth/Loading/EmojiFountain.esm.js +1 -1
  322. package/dist/components/TechHealth/Loading/Loading.esm.js +1 -1
  323. package/dist/components/TechHealth/Loading/TechHealthLoading.esm.js +1 -1
  324. package/dist/components/TechHealth/TechHealth.esm.js +1 -1
  325. package/dist/components/TechHealthSummary/SummaryAggregationsProvider.esm.js +1 -1
  326. package/dist/components/TechHealthSummary/TechHealthSummary.esm.js +1 -1
  327. package/dist/components/TechHealthTabs/ActionColumn.esm.js +1 -1
  328. package/dist/components/TechHealthTabs/CampaignResultsTab/CampaignResultsTab.esm.js +1 -1
  329. package/dist/components/TechHealthTabs/CheckResultsTab/CheckResultsTab.esm.js +1 -1
  330. package/dist/components/TechHealthTabs/CheckResultsTab/CheckTrendColumn.esm.js +1 -1
  331. package/dist/components/TechHealthTabs/EntityResultsTab/EntityResultsTab.esm.js +1 -1
  332. package/dist/components/TechHealthTabs/EntityResultsTab/EntityTrendColumn.esm.js +1 -1
  333. package/dist/components/TechHealthTabs/GroupResultsTab/GroupResultsTab.esm.js +1 -1
  334. package/dist/components/TechHealthTabs/GroupResultsTab/GroupTrendColumn.esm.js +1 -1
  335. package/dist/components/TechHealthTabs/MostRecentColumn.esm.js +1 -1
  336. package/dist/components/TechHealthTabs/NameColumn.esm.js +1 -1
  337. package/dist/components/TechHealthTabs/OwnerColumn.esm.js +1 -1
  338. package/dist/components/TechHealthTabs/PassRateTabHeader.esm.js +1 -1
  339. package/dist/components/TechHealthTabs/TrackResultsTab/TrackLevelTrendColumn.esm.js +1 -1
  340. package/dist/components/TechHealthTabs/TrackResultsTab/TrackResultsTab.esm.js +1 -1
  341. package/dist/components/TechHealthTabs/techHealthTabUtils.esm.js +1 -1
  342. package/dist/components/TopFailingChecksTable/TopFailingChecksTable.esm.js +2 -0
  343. package/dist/components/TrackCreatePage/TrackCreatePage.esm.js +1 -1
  344. package/dist/components/TrackEditPage/TrackEditPage.esm.js +1 -1
  345. package/dist/components/TrackEditPage/TrackEditView.esm.js +1 -1
  346. package/dist/components/TrackForm/Steps/LevelsStep/LevelsStepNew.esm.js +2 -0
  347. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackBadgeTypeSelect/TrackBadgeTypeSelect.esm.js +1 -1
  348. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDescriptionInput/TrackDescriptionInput.esm.js +1 -1
  349. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDetailsStep.esm.js +1 -1
  350. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDocumentationUrlInput/TrackDocumentationUrlInput.esm.js +1 -1
  351. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDraftInput/TrackDraftInput.esm.js +2 -0
  352. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackNameInput/TrackNameInput.esm.js +1 -1
  353. package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js +1 -1
  354. package/dist/components/TrackForm/TrackForm.esm.js +1 -1
  355. package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
  356. package/dist/components/TrackHistoryChartCard/TrackHistoryChartCard.esm.js +1 -1
  357. package/dist/components/TrackPage/FilterBar/FilterBar.esm.js +1 -1
  358. package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTable.esm.js +1 -1
  359. package/dist/components/TrackPage/TrackEntitiesTable/TrackStatusChip.esm.js +1 -1
  360. package/dist/components/TrackPage/TrackEntitiesTable/columns.esm.js +1 -1
  361. package/dist/components/TrackPage/TrackEntitiesTable/utils.esm.js +1 -1
  362. package/dist/components/TrackPage/TrackHistoryChart.esm.js +1 -1
  363. package/dist/components/TrackPage/TrackPage.esm.js +1 -1
  364. package/dist/components/TrackPage/TrackProgressCard.esm.js +1 -1
  365. package/dist/components/TrackPage/TrackStatus.esm.js +2 -0
  366. package/dist/components/TrackPage/TrackStatusBar.esm.js +2 -0
  367. package/dist/components/TrackPage/TrackStatusTable.esm.js +2 -0
  368. package/dist/components/TracksPage/TrackListPage/TrackListPage.esm.js +1 -1
  369. package/dist/components/TracksPage/TrackListPage/TrackMetadata.esm.js +1 -1
  370. package/dist/components/TracksPage/TrackListPage/TrackSummaryCard.esm.js +1 -1
  371. package/dist/components/TracksPage/TrackListPage/TracksOverviewSkeleton.esm.js +1 -1
  372. package/dist/components/TracksPage/TracksPage.esm.js +1 -1
  373. package/dist/components/TracksTab/TracksTab.esm.js +1 -1
  374. package/dist/contexts/GenericFormContext.esm.js +1 -1
  375. package/dist/contexts/UserProvider.esm.js +1 -1
  376. package/dist/graphql/generated/index.esm.js +152 -65
  377. package/dist/hooks/aggregations/useCertificationStatus.esm.js +1 -1
  378. package/dist/hooks/aggregations/useCheckStatus.esm.js +1 -1
  379. package/dist/hooks/aggregations/useCheckStatuses.esm.js +1 -1
  380. package/dist/hooks/catalog/useGetEntityFacets.esm.js +1 -1
  381. package/dist/hooks/catalog/useGetEntityRefs.esm.js +1 -1
  382. package/dist/hooks/certifications/useAllCertifications.esm.js +1 -1
  383. package/dist/hooks/certifications/useCertificationDetails.esm.js +1 -1
  384. package/dist/hooks/certifications/useCertificationDetailsForTrack.esm.js +1 -1
  385. package/dist/hooks/checks/useCheck.esm.js +2 -0
  386. package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
  387. package/dist/hooks/checks/useGetChecks.esm.js +1 -1
  388. package/dist/hooks/checks/useSetManualResult.esm.js +2 -0
  389. package/dist/hooks/checks/useUpdateCheck.esm.js +1 -1
  390. package/dist/hooks/exemptions/useDeleteExemption.esm.js +2 -0
  391. package/dist/hooks/exemptions/useExemptCheckIds.esm.js +2 -0
  392. package/dist/hooks/exemptions/useGetExemption.esm.js +2 -0
  393. package/dist/hooks/exemptions/useSetEntityExempt.esm.js +2 -0
  394. package/dist/hooks/facets/useFacetFilters.esm.js +1 -1
  395. package/dist/hooks/graphqlKeys.esm.js +1 -1
  396. package/dist/hooks/tracks/useGetAllTracks.esm.js +1 -1
  397. package/dist/hooks/tracks/useTrack.esm.js +2 -0
  398. package/dist/hooks/tracks/useUpdateTrack.esm.js +1 -1
  399. package/dist/hooks/useConfirmationModal.esm.js +1 -1
  400. package/dist/hooks/useSoundcheckAlert.esm.js +1 -1
  401. package/dist/images/data-registry-blk.svg +36 -0
  402. package/dist/images/data-registry-wht.svg +36 -0
  403. package/dist/index.d.ts +4 -5
  404. package/dist/index.esm.js +1 -1
  405. package/dist/routes.esm.js +1 -1
  406. package/dist/utils/colors.esm.js +2 -0
  407. package/dist/utils/export.esm.js +3 -3
  408. package/dist/utils/formatters.esm.js +2 -0
  409. package/dist/utils/validation.esm.js +1 -1
  410. package/package.json +30 -26
  411. package/dist/components/Badges/badge.esm.js +0 -2
  412. package/dist/components/CampaignForm/Steps/CampaignTrackStep.esm.js +0 -2
  413. package/dist/components/CheckDetails/ExemptionDetails.esm.js +0 -2
  414. package/dist/components/CheckDryRun/checkDryRunUtils.esm.js +0 -2
  415. package/dist/components/CheckPage/CheckStatusBar.esm.js +0 -2
  416. package/dist/components/CheckPage/FilterBar/FilterBar.esm.js +0 -2
  417. package/dist/components/CheckPage/StatusRow.esm.js +0 -2
  418. package/dist/components/ChecksErrors/ChecksErrors.esm.js +0 -2
  419. package/dist/components/ContextMenu/ContextMenu.esm.js +0 -2
  420. package/dist/components/DraggableChip/DraggableChip.esm.js +0 -2
  421. package/dist/components/DraggableChip/chipStyles.esm.js +0 -2
  422. package/dist/components/DroppableInput/DroppableInput.esm.js +0 -2
  423. package/dist/components/LevelCard/LevelCard.esm.js +0 -2
  424. package/dist/components/LevelCard/LevelTooltip.esm.js +0 -2
  425. package/dist/components/TrackForm/Steps/LevelsStep/ChecksSection/ChecksSection.esm.js +0 -2
  426. package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelChipsSection.esm.js +0 -2
  427. package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelsSection.esm.js +0 -2
  428. package/dist/components/TrackForm/Steps/LevelsStep/LevelsStep.esm.js +0 -2
  429. package/dist/components/TrackPage/TrackLevelsChart.esm.js +0 -2
  430. package/dist/hooks/useContextMenu.esm.js +0 -2
@@ -1,2 +1,2 @@
1
- import{makeStyles as h,lighten as C,darken as E,Typography as r}from"@material-ui/core";import o,{useState as S,useRef as k}from"react";import R from"../../RichTooltip/RichTooltip.esm.js";import{getProgressColor as i}from"../utils.esm.js";import{getApplicableCheckCount as m}from"./utils.esm.js";const g=e=>{const t=m(e);return t===0?-1:Math.round(e.passed/t*100)},L=(e,t)=>e.levels.find(s=>s.ordinal===t),N=h(e=>({cell:{backgroundColor:({passRate:t})=>i(e,t),color:({passRate:t})=>e.palette.getContrastText(i(e,t)),cursor:"default",borderRadius:"4px",textAlign:"center",fontSize:".9rem",width:"50px"},tooltip:{width:"225px"},topLevelStatus:{borderBottom:`1px solid ${e.palette.divider}`,paddingBottom:e.spacing(1)},levelStatus:{borderBottom:`1px solid ${e.palette.divider}`,paddingTop:e.spacing(1),paddingBottom:e.spacing(1)},bottomLevelStatus:{paddingTop:e.spacing(1)},levelPassRate:{backgroundColor:({passRate:t})=>C(i(e,t),.75),color:({passRate:t})=>E(i(e,t),.7),borderRadius:"4px",textAlign:"center",fontSize:".7rem",width:"32px",height:"15px"}})),T=({track:e,status:t})=>{const s=g(t),a=N({passRate:s}),[v,p]=S(!1),u=k(null),f=()=>{u.current=setTimeout(()=>p(!0),500)},y=()=>{clearTimeout(u.current),p(!1)},x=m(t);return o.createElement(R,{content:o.createElement("div",{className:a.tooltip},t.statusByLevel.map((l,c)=>{let n;c===0?n=a.topLevelStatus:c===t.statusByLevel.length-1?n=a.bottomLevelStatus:n=a.levelStatus;const d=m(l),b=L(e,l.ordinal);return o.createElement("div",{key:c,className:n,style:{display:"flex",flexDirection:"column",justifyContent:"space-between"}},o.createElement("div",null,o.createElement(r,{variant:"caption",style:{fontWeight:"bold"}},b?.name??`Level ${l.ordinal}`)),o.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},o.createElement(r,{variant:"caption"},d===0?"No Applicable Checks":`Passing ${l.passed} of ${d} checks`),o.createElement(r,{className:a.levelPassRate},d===0?"N/A":`${g(l)}%`)))})),open:v,placement:"bottom",onClose:()=>p(!1)},o.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},onMouseEnter:f,onMouseLeave:y},o.createElement(r,{className:a.cell},x===0?"N/A":`${s}%`)))};export{T as TrackStatusChip};
1
+ import{jsx as o,jsxs as g}from"react/jsx-runtime";import{makeStyles as C,lighten as k,darken as R,Typography as r}from"@material-ui/core";import{useState as S,useRef as L}from"react";import N from"../../RichTooltip/RichTooltip.esm.js";import{getProgressColor as i}from"../utils.esm.js";import{getApplicableCheckCount as m}from"./utils.esm.js";const h=e=>{const t=m(e);return t===0?-1:Math.round(e.passed/t*100)},T=(e,t)=>e.levels.find(s=>s.ordinal===t),$=C(e=>({cell:{backgroundColor:({passRate:t})=>i(e,t),color:({passRate:t})=>e.palette.getContrastText(i(e,t)),cursor:"default",borderRadius:"4px",textAlign:"center",fontSize:".9rem",width:"50px"},tooltip:{width:"225px"},topLevelStatus:{borderBottom:`1px solid ${e.palette.divider}`,paddingBottom:e.spacing(1)},levelStatus:{borderBottom:`1px solid ${e.palette.divider}`,paddingTop:e.spacing(1),paddingBottom:e.spacing(1)},bottomLevelStatus:{paddingTop:e.spacing(1)},levelPassRate:{backgroundColor:({passRate:t})=>k(i(e,t),.75),color:({passRate:t})=>R(i(e,t),.7),borderRadius:"4px",textAlign:"center",fontSize:".7rem",width:"32px",height:"15px"}})),A=({track:e,status:t})=>{const s=h(t),a=$({passRate:s}),[v,p]=S(!1),u=L(null),f=()=>{u.current=setTimeout(()=>p(!0),500)},x=()=>{clearTimeout(u.current),p(!1)},y=m(t);return o(N,{content:o("div",{className:a.tooltip,children:t.statusByLevel.map((l,d)=>{let n;d===0?n=a.topLevelStatus:d===t.statusByLevel.length-1?n=a.bottomLevelStatus:n=a.levelStatus;const c=m(l),b=T(e,l.ordinal);return g("div",{className:n,style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o("div",{children:o(r,{variant:"caption",style:{fontWeight:"bold"},children:b?.name??`Level ${l.ordinal}`})}),g("div",{style:{display:"flex",justifyContent:"space-between"},children:[o(r,{variant:"caption",children:c===0?"No Applicable Checks":`Passing ${l.passed} of ${c} checks`}),o(r,{className:a.levelPassRate,children:c===0?"N/A":`${h(l)}%`})]})]},d)})}),open:v,placement:"bottom",onClose:()=>p(!1),children:o("div",{style:{display:"flex",justifyContent:"center",alignItems:"center"},onMouseEnter:f,onMouseLeave:x,children:o(r,{className:a.cell,children:y===0?"N/A":`${s}%`})})})};export{A as TrackStatusChip};
2
2
  //# sourceMappingURL=TrackStatusChip.esm.js.map
@@ -1,2 +1,2 @@
1
- import{OverflowTooltip as s}from"@backstage/core-components";import{EntityRefLink as c,EntityRefLinks as o}from"@backstage/plugin-catalog-react";import{makeStyles as u,withStyles as d,Chip as m}from"@material-ui/core";import p from"@material-ui/icons/RemoveCircleOutline";import r from"react";import{LevelBadge as f}from"../../Badges/LevelBadge.esm.js";import{NoLevelBadge as y}from"../../Badges/NoLevelBadge.esm.js";import"../../Badges/CampaignBadge.esm.js";import{TrackStatusChip as g}from"./TrackStatusChip.esm.js";import{getApplicableCheckCount as S}from"./utils.esm.js";const i=u(()=>({linkHover:{"& span":{"&:hover":{textDecoration:"underline"}}}})),h=d(e=>({root:{color:e.palette.text.disabled}}))(p),C=Object.freeze({createBadgeColumn(){return{title:"",field:"badge",render:e=>S(e.status)===0?r.createElement(h,null):e.badge?r.createElement(f,{badge:e.badge}):r.createElement(y,null),width:"auto",align:"center",sorting:!1}},createStatusColumn(){return{title:"Checks",field:"status",render:e=>e.status&&r.createElement(g,{track:e.track,status:e.status}),width:"auto",align:"center",sorting:!1}},createNameColumn(e){return{title:"Name",field:"resolved.entityRef",highlight:!0,customSort(t,a){return 0},render:({entity:t})=>{const a=i();return r.createElement(c,{entityRef:t,defaultKind:e?.defaultKind||"Component",className:a.linkHover})}}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",customSort(e,t){return 0},render:({resolved:e})=>{const t=i();return r.createElement(o,{entityRefs:e.partOfSystemRelations,defaultKind:"system",className:t.linkHover})}}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",customSort(e,t){return 0},render:({resolved:e})=>{const t=i();return r.createElement(o,{entityRefs:e.ownedByRelations,defaultKind:"group",className:t.linkHover})}}},createSpecTypeColumn(){return{title:"Type",field:"entity.spec.type",customSort(e,t){return 0}}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"entity.spec.lifecycle",customSort(e,t){return 0},width:"auto"}},createMetadataDescriptionColumn(){return{title:"Description",field:"entity.metadata.description",customSort(e,t){return 0},render:({entity:e})=>r.createElement(s,{text:e.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:e})=>r.createElement(r.Fragment,null,e.metadata.tags&&e.metadata.tags.map(t=>r.createElement(m,{key:t,label:t,size:"small",variant:"outlined",style:{marginBottom:"0px"}}))),width:"auto",sorting:!1}},createTitleColumn(e){return{title:"Title",field:"entity.metadata.title",customSort(t,a){return 0},hidden:e?.hidden,searchable:!0}},createLabelColumn(e,t){return{title:t?.title||"Label",field:"entity.metadata.labels",customSort(a,n){return 0},cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:a})=>{const n=a.metadata?.labels,l=n&&n[e]||t?.defaultValue;return r.createElement(r.Fragment,null,l&&r.createElement(m,{key:l,label:l,size:"small",variant:"outlined"}))},width:"auto",sorting:!1}},createNamespaceColumn(){return{title:"Namespace",field:"entity.metadata.namespace",customSort(e,t){return 0},width:"auto"}}});export{C as columnFactories};
1
+ import{jsx as r,Fragment as o}from"react/jsx-runtime";import{OverflowTooltip as m}from"@backstage/core-components";import{EntityRefLink as u,EntityRefLinks as s}from"@backstage/plugin-catalog-react";import{makeStyles as c,withStyles as p,Chip as d}from"@material-ui/core";import f from"@material-ui/icons/RemoveCircleOutline";import{LevelBadge as y}from"../../Badges/LevelBadge.esm.js";import{NoLevelBadge as g}from"../../Badges/NoLevelBadge.esm.js";import"../../Badges/CampaignBadge.esm.js";import{TrackStatusChip as h}from"./TrackStatusChip.esm.js";import{getApplicableCheckCount as S}from"./utils.esm.js";const l=c(()=>({linkHover:{"& span":{"&:hover":{textDecoration:"underline"}}}})),C=p(e=>({root:{color:e.palette.text.disabled}}))(f),b=Object.freeze({createBadgeColumn(){return{title:"",field:"badge",render:e=>S(e.status)===0?r(C,{}):e.badge?r(y,{badge:e.badge}):r(g,{}),width:"auto",align:"center",sorting:!1}},createStatusColumn(){return{title:"Checks",field:"status",render:e=>e.status&&r(h,{track:e.track,status:e.status}),width:"auto",align:"center",sorting:!1}},createNameColumn(e){return{title:"Name",field:"resolved.entityRef",highlight:!0,customSort(t,a){return 0},render:({entity:t})=>{const a=l();return r(u,{entityRef:t,defaultKind:e?.defaultKind||"Component",className:a.linkHover})}}},createSystemColumn(){return{title:"System",field:"resolved.partOfSystemRelationTitle",customSort(e,t){return 0},render:({resolved:e})=>{const t=l();return r(s,{entityRefs:e.partOfSystemRelations,defaultKind:"system",className:t.linkHover})}}},createOwnerColumn(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",customSort(e,t){return 0},render:({resolved:e})=>{const t=l();return r(s,{entityRefs:e.ownedByRelations,defaultKind:"group",className:t.linkHover})}}},createSpecTypeColumn(){return{title:"Type",field:"entity.spec.type",customSort(e,t){return 0}}},createSpecLifecycleColumn(){return{title:"Lifecycle",field:"entity.spec.lifecycle",customSort(e,t){return 0},width:"auto"}},createMetadataDescriptionColumn(){return{title:"Description",field:"entity.metadata.description",customSort(e,t){return 0},render:({entity:e})=>r(m,{text:e.metadata.description,placement:"bottom-start"}),width:"auto"}},createTagsColumn(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:e})=>r(o,{children:e.metadata.tags&&e.metadata.tags.map(t=>r(d,{label:t,size:"small",variant:"outlined",style:{marginBottom:"0px"}},t))}),width:"auto",sorting:!1}},createTitleColumn(e){return{title:"Title",field:"entity.metadata.title",customSort(t,a){return 0},hidden:e?.hidden,searchable:!0}},createLabelColumn(e,t){return{title:t?.title||"Label",field:"entity.metadata.labels",customSort(a,n){return 0},cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:a})=>{const n=a.metadata?.labels,i=n&&n[e]||t?.defaultValue;return r(o,{children:i&&r(d,{label:i,size:"small",variant:"outlined"},i)})},width:"auto",sorting:!1}},createNamespaceColumn(){return{title:"Namespace",field:"entity.metadata.namespace",customSort(e,t){return 0},width:"auto"}}});export{b as columnFactories};
2
2
  //# sourceMappingURL=columns.esm.js.map
@@ -1,2 +1,2 @@
1
- import{RELATION_PART_OF as m,RELATION_OWNED_BY as u,stringifyEntityRef as y}from"@backstage/catalog-model";import{getEntityRelations as d,humanizeEntityRef as a}from"@backstage/plugin-catalog-react";import f from"lodash";function c(e){return Object.keys(e).filter(t=>!["allPassPercentage","notApplicable","numberOfEntities","ordinal"].includes(t)&&typeof f.get(e,t,0)=="number").reduce((t,i)=>t+f.get(e,i,0),0)}function p(e){const{trackDetails:t,track:i,entity:n}=e,r=d(n,m,{kind:"system"}),s=d(n,u),l=y(n);return{id:l,entity:n,badge:t.badge??void 0,track:i,status:t.status,resolved:{name:a(n,{defaultKind:"Component"}),entityRef:l,ownedByRelationsTitle:s.map(o=>a(o,{defaultKind:"group"})).join(", "),ownedByRelations:s,partOfSystemRelationTitle:r.map(o=>a(o,{defaultKind:"system"})).join(", "),partOfSystemRelations:r}}}export{c as getApplicableCheckCount,p as toTrackEntityRow};
1
+ import{RELATION_PART_OF as f,RELATION_OWNED_BY as p,stringifyEntityRef as u}from"@backstage/catalog-model";import{getEntityRelations as m,humanizeEntityRef as a}from"@backstage/plugin-catalog-react";import d from"lodash";function y(e){return Object.keys(e).filter(t=>!["allPassPercentage","notApplicable","numberOfEntities","ordinal","exempt"].includes(t)&&typeof d.get(e,t,0)=="number").reduce((t,i)=>t+d.get(e,i,0),0)}function c(e){const{trackDetails:t,track:i,entity:n}=e,r=m(n,f,{kind:"system"}),s=m(n,p),l=u(n);return{id:l,entity:n,badge:t.badge??void 0,track:i,status:t.status,resolved:{name:a(n,{defaultKind:"Component"}),entityRef:l,ownedByRelationsTitle:s.map(o=>a(o,{defaultKind:"group"})).join(", "),ownedByRelations:s,partOfSystemRelationTitle:r.map(o=>a(o,{defaultKind:"system"})).join(", "),partOfSystemRelations:r}}}export{y as getApplicableCheckCount,c as toTrackEntityRow};
2
2
  //# sourceMappingURL=utils.esm.js.map
@@ -1,2 +1,2 @@
1
- import{Typography as f}from"@material-ui/core";import u from"lodash";import{DateTime as d}from"luxon";import l from"react";import"recharts";import"../Charts/ChartTypes.esm.js";import{LineChart as y}from"../Charts/LineChart/LineChart.esm.js";import{formatDate as h}from"../Charts/chartUtils.esm.js";import"../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../Charts/BarChart/BarChart.esm.js";const p=r=>{const t=r?.certificationStatusHistory.history??[],o=r?.certificationStatusHistory.numberOfEntities,i=d.utc();return u.map(t,(e,a)=>{let m={name:h(i,t.length-a-1)};const c=[];for(const n of e.statusByLevel){const s=n.cumulativelyPassed;c.push(o?Math.round(s/o*100):0)}return e.statusByLevel.forEach((n,s)=>{m={...m,[`Level ${n.ordinal}`]:c[s]}}),m})},v=({track:r,data:t,isError:o})=>{if(o)return l.createElement(f,{color:"error"},"Failed to load track data.");const i=p(t),e=t?.certificationStatusHistory?r?.levels.map(a=>({dataKey:`Level ${a.ordinal}`,name:`Level ${a.ordinal}`}))??[]:[];return l.createElement(y,{data:i,lines:e})};export{v as TrackHistoryChart,p as formatLineChartData};
1
+ import{jsx as e,jsxs as p}from"react/jsx-runtime";import{useTheme as f,Typography as u}from"@material-ui/core";import y from"lodash";import{DateTime as k}from"luxon";import{ResponsiveContainer as g,AreaChart as v,CartesianGrid as x,XAxis as L,YAxis as m,Tooltip as C,Area as b}from"recharts";import{compactNumberFormatter as A}from"../../utils/formatters.esm.js";import{getChartColors as $,formatDate as E}from"../Charts/chartUtils.esm.js";import{LoadingChart as T}from"../Charts/LoadingChart.esm.js";const h=a=>{const n=a?.certificationStatusHistory.history??[],s=a?.certificationStatusHistory.numberOfEntities,i=k.utc();return y.map(n,(l,r)=>{let t={name:E(i,n.length-r-1),totalEntities:s??0};const o=[];for(const d of l.statusByLevel){const c=d.cumulativelyPassed;o.push(s?Math.round(c/s*100):0)}return l.statusByLevel.forEach((d,c)=>{t={...t,[`Level ${d.ordinal}`]:o[c]}}),t})},D=({track:a,data:n,isError:s})=>{const i=f();if(s)return e(u,{color:"error",children:"Failed to load track data."});if(!a||!n)return e(T,{type:"area",numLines:3});const l=h(n),r=$(i);return e("div",{style:{height:250,width:"100%",position:"relative",borderRadius:"4px"},children:e(g,{height:250,debounce:1,children:p(v,{data:l,margin:{top:0,right:0,bottom:0,left:0},children:[e("defs",{children:a?.levels.map((t,o)=>p("linearGradient",{id:`gradient-${t.ordinal}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e("stop",{offset:"5%",stopColor:r[o%r.length],stopOpacity:.4}),e("stop",{offset:"95%",stopColor:r[o%r.length],stopOpacity:0})]},`gradient-${t.ordinal}`))}),e(x,{stroke:i.palette.divider,strokeWidth:1,horizontal:!0,vertical:!1}),e(L,{dataKey:"name",tickLine:!1,axisLine:!1}),e(m,{yAxisId:"left",domain:[0,100],axisLine:!1,tickLine:!1,tickFormatter:t=>`${t}%`,ticks:[0,25,50,75,100]}),e(m,{yAxisId:"right",orientation:"right",dataKey:"totalEntities",axisLine:!1,tickLine:!1,tickFormatter:t=>A(t)}),e(C,{contentStyle:{backgroundColor:i.palette.background.paper,color:i.palette.text.primary,border:`1px solid ${i.palette.divider}`},cursor:{stroke:i.palette.divider,strokeWidth:1}}),a?.levels.map((t,o)=>e(b,{type:"monotone",dataKey:`Level ${t.ordinal}`,name:`Level ${t.ordinal}`,stackId:"1",yAxisId:"left",stroke:r[o%r.length],strokeWidth:2,fill:`url(#gradient-${t.ordinal})`,isAnimationActive:!1,activeDot:{fill:r[o%r.length],stroke:i.palette.background.paper,strokeWidth:1,r:5}},`Level ${t.ordinal}`))]})})})};export{D as TrackHistoryChart,h as formatLineChartData};
2
2
  //# sourceMappingURL=TrackHistoryChart.esm.js.map
@@ -1,2 +1,2 @@
1
- import{MarkdownContent as V,Content as b}from"@backstage/core-components";import{useRouteRef as W}from"@backstage/core-plugin-api";import{EntityRefLink as $}from"@backstage/plugin-catalog-react";import{usePermission as w}from"@backstage/plugin-permission-react";import{makeStyles as j,Button as q,Paper as J,Tabs as K,Tab as L}from"@material-ui/core";import{soundcheckTrackReadPermission as Q,soundcheckTrackUpdatePermission as X}from"@spotify/backstage-plugin-soundcheck-common";import t,{useState as Y,useMemo as d}from"react";import{useParams as Z,useNavigate as _}from"react-router-dom";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 ee}from"../../hooks/tracks/useGetAllTracks.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useCertificationStatus as te}from"../../hooks/aggregations/useCertificationStatus.esm.js";import{useCertificationStatusHistory as re}from"../../hooks/aggregations/useCertificationStatusHistory.esm.js";import{useSearchParam as p}from"../../hooks/useSearchParam.esm.js";import{trackEditRouteRef as ae}from"../../routes.esm.js";import{LevelCard as ie}from"../LevelCard/LevelCard.esm.js";import{LoadingIndicator as ne}from"../LoadingIndicator/LoadingIndicator.esm.js";import{PageWarningMessage as oe}from"../PageWarningMessage/PageWarningMessage.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as se}from"../SoundcheckHeader/useHeader.esm.js";import{FilterBar as ce}from"./FilterBar/FilterBar.esm.js";import{toFilter as me}from"./FilterBar/util.esm.js";import{TrackEntitiesTable as le}from"./TrackEntitiesTable/TrackEntitiesTable.esm.js";import{TrackProgressCard as de}from"./TrackProgressCard.esm.js";const pe=j(e=>({root:{height:"100%",background:e.palette.background.default},header:{backgroundColor:e.palette.background.paper,borderRadius:0,marginBottom:e.spacing(2)},trackProgressContainer:{marginBottom:e.spacing(3)},trackContainerContent:{paddingTop:e.spacing(1),paddingBottom:e.spacing(1),backgroundColor:e.palette.background.paper},levelCard:{margin:e.spacing(1,0,2)},editButton:{marginLeft:"auto"},tabsContainer:{margin:e.spacing(3,0)},trackEntitiesContainer:{marginTop:e.spacing(1)},headerDescription:{fontSize:e.typography.body2.fontSize,margin:e.spacing(.5,0,0),"& p":{margin:0},"& a":{color:"inherit",textDecoration:"underline"}},content:{paddingTop:0},ownerLink:{"& span":{color:"inherit","&:hover":{textDecoration:"underline"}}}}));function N({children:e,value:i,index:n}){return t.createElement("div",{hidden:i!==n},i===n&&e)}const ue=()=>{const e=pe(),[i,n]=Y(0),[o,T]=p("owners"),[s,R]=p("lifecycles"),[c,P]=p("types"),[m,S]=p("systems"),B=(f,g)=>{n(g)},{trackId:a}=Z(),u=d(()=>me({lifecycles:s,owners:o,types:c,systems:m}),[s,o,c,m]),{data:x,isLoading:l,isError:D}=ee({ids:[a??""],first:1}),r=x?.edges?.[0]?.node,{data:k,isLoading:E,isError:I}=te({trackId:a,filter:u},!!a),{data:F,isLoading:M,isError:z}=re({trackId:a,filter:u,numberOfDays:30},!!a),{loading:H,allowed:O}=w({permission:Q,resourceRef:a}),{loading:y,allowed:C}=w({permission:X,resourceRef:a}),h=_(),v=W(ae),A=d(()=>r?.ownerEntityRef?t.createElement($,{color:"inherit",entityRef:r.ownerEntityRef,className:e.ownerLink}):null,[r?.ownerEntityRef,e.ownerLink]),G=d(()=>!y&&C&&r?.isEditable?t.createElement(q,{className:e.editButton,variant:"contained",color:"primary",onClick:()=>{h(v({trackId:r.id}))}},"Edit Track"):null,[C,e.editButton,v,y,h,r]),U=d(()=>r?.description?t.createElement(V,{className:e.headerDescription,content:r.description}):null,[e.headerDescription,r?.description]);return se({title:r?.name,description:U,customSubtitle:A,sectionRight:G}),t.createElement("div",null,t.createElement(oe,{entityName:"track",entityId:a,showNotFound:!l&&!r,showCannotView:!H&&!O}),l&&t.createElement(ne,null),r&&t.createElement("div",{className:e.root},t.createElement(J,{elevation:1,className:e.header},t.createElement(b,{className:e.trackContainerContent},t.createElement(ce,{track:r,owners:o,setOwners:T,lifecycles:s,setLifecycles:R,types:c,setTypes:P,systems:m,setSystems:S}))),t.createElement(b,{className:e.content},t.createElement("div",{className:e.trackProgressContainer},t.createElement(de,{track:r,status:k,history:F,isLoading:l||E||M,isError:D||I||z})),t.createElement("div",{className:e.tabsContainer},t.createElement(K,{value:i,onChange:B},t.createElement(L,{label:"Levels"}),t.createElement(L,{label:"Entities"})),t.createElement(N,{value:i,index:0},r&&r.levels?.map((f,g)=>t.createElement("div",{className:e.levelCard,key:f.ordinal},t.createElement(ie,{track:r,filter:u,level:f,index:g,data:k,isLoading:l||E})))),t.createElement(N,{value:i,index:1},r&&t.createElement("div",{className:e.trackEntitiesContainer},t.createElement(le,{track:r,lifecycles:s,owners:o,types:c,systems:m})))))))};export{ue as TrackPage};
1
+ import{jsx as r,jsxs as g,Fragment as Z}from"react/jsx-runtime";import{useRouteRef as ee}from"@backstage/core-plugin-api";import{EntityRefLink as te}from"@backstage/plugin-catalog-react";import{usePermission as M}from"@backstage/plugin-permission-react";import{makeStyles as re,Button as ie,Box as ae,Tabs as oe,Tab as x}from"@material-ui/core";import{soundcheckTrackReadPermission as se,soundcheckTrackUpdatePermission as ne,toEntityFilterQuery as ce}from"@spotify/backstage-plugin-soundcheck-common";import v from"lodash/isEqual";import{useState as u,useEffect as le,useMemo as f,useCallback as N}from"react";import{useNavigate as me,useSearchParams as de,useParams as pe}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useTrack as he}from"../../hooks/tracks/useTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useCertificationStatus as fe}from"../../hooks/aggregations/useCertificationStatus.esm.js";import{useCertificationStatusHistory as ge}from"../../hooks/aggregations/useCertificationStatusHistory.esm.js";import{useCheckStatuses as ue}from"../../hooks/aggregations/useCheckStatuses.esm.js";import{useSearchParam as w}from"../../hooks/useSearchParam.esm.js";import{trackEditRouteRef as ke}from"../../routes.esm.js";import{FilterSidebar as ye}from"../FilterSidebar/FilterSidebar.esm.js";import{LevelsTable as Ce}from"../LevelsTable/LevelsTable.esm.js";import{LoadingIndicator as ve}from"../LoadingIndicator/LoadingIndicator.esm.js";import{PageWarningMessage as we}from"../PageWarningMessage/PageWarningMessage.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as be}from"../SoundcheckHeader/useHeader.esm.js";import{SoundcheckMarkdownContent as Ee}from"../SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js";import"@backstage/core-components";import"react-markdown";import"rehype-raw";import"remark-gfm";import{TopFailingChecksTable as Le}from"../TopFailingChecksTable/TopFailingChecksTable.esm.js";import{toFilter as Se}from"./FilterBar/util.esm.js";import{TrackEntitiesTable as Te}from"./TrackEntitiesTable/TrackEntitiesTable.esm.js";import{TrackProgressCard as xe}from"./TrackProgressCard.esm.js";const Ne=re(e=>({root:{height:"100%",background:e.palette.background.default},pageContent:{display:"flex",minHeight:`calc(100vh - ${e.spacing(15)}px)`,borderTop:`1px solid ${e.palette.divider}`,height:"100%"},mainContentArea:{flex:1,display:"flex",flexDirection:"column",minWidth:0},trackProgressContainer:{padding:e.spacing(2,0,2,2),borderBottom:`1px solid ${e.palette.divider}`},levelCard:{margin:e.spacing(1,0,2)},editButton:{marginLeft:"auto"},contentArea:{flex:1,padding:e.spacing(0,2)},trackEntitiesContainer:{marginTop:e.spacing(1)},headerDescription:{fontSize:e.typography.body2.fontSize,margin:e.spacing(.5,0,0),"& p":{margin:0},"& a":{color:"inherit",textDecoration:"underline"}},ownerLink:{"& span":{color:"inherit","&:hover":{textDecoration:"underline"}}},tabs:{padding:e.spacing(2,2,0,2)}})),Re=()=>{const e=Ne(),[k,O]=u("checksByLevel"),R=me(),P=ee(ke),[Pe,y]=de(),[s]=w("lifecycles"),[n]=w("owners"),[c]=w("systems"),[l]=w("types"),[m,b]=u(s??[]),[d,E]=u(n??[]),[p,L]=u(l??[]),[h,S]=u(c??[]);le(()=>{E(n??[]),b(s??[]),L(l??[]),S(c??[])},[n,s,l,c]);const $=f(()=>{const i={owners:!v(d,n??[]),lifecycles:!v(m,s??[]),types:!v(p,l??[]),systems:!v(h,c??[])};return Object.values(i).some(Boolean)},[d,n,m,s,p,l,h,c]),j=N(()=>{const i=new URLSearchParams;m.length>0&&m.forEach(o=>i.append("lifecycles",o)),d.length>0&&d.forEach(o=>i.append("owners",o)),p.length>0&&p.forEach(o=>i.append("types",o)),h.length>0&&h.forEach(o=>i.append("systems",o)),y(i)},[m,d,p,h,y]),H=N(()=>{b([]),E([]),L([]),S([]),y(new URLSearchParams)},[y]),U=N((i,o)=>{O(o)},[]),{trackId:a}=pe(),T=f(()=>Se({lifecycles:s,owners:n,types:l,systems:c}),[s,n,l,c]),{data:t,isLoading:C,isError:z}=he(a),{data:F,isLoading:B,isError:W}=fe({trackId:a,filter:T},!!a),{data:Q,isError:q}=ge({trackId:a,filter:T,numberOfDays:30},!!a),{loading:G,allowed:J}=M({permission:se,resourceRef:a}),{loading:I,allowed:D}=M({permission:ne,resourceRef:a}),K=f(()=>t?.ownerEntityRef?r(te,{color:"inherit",entityRef:t.ownerEntityRef,className:e.ownerLink}):null,[t?.ownerEntityRef,e.ownerLink]),V=f(()=>!I&&D&&t?.isEditable?r(ie,{className:e.editButton,variant:"contained",color:"primary",onClick:()=>{R(P({trackId:t.id}))},children:"Edit Track"}):null,[D,e.editButton,P,I,R,t]),X=f(()=>t?.description?r(Ee,{className:e.headerDescription,content:t.description}):null,[e.headerDescription,t?.description]);be({title:t?.name,description:X,customSubtitle:K,sectionRight:V});const Y=t?.levels?.flatMap(i=>i.checks)??[],{data:A}=ue({trackId:a,checkIds:Y.map(i=>i.id),filter:T},!!t),_=f(()=>ce(t?.filter),[t]);return g(Z,{children:[r(we,{entityName:"track",entityId:a,showNotFound:!C&&!t,showCannotView:!G&&!J}),C&&r(ve,{}),t&&r("div",{className:e.root,children:g("div",{className:e.pageContent,children:[r(ye,{trackFilter:_,stagedTypes:p,stagedLifecycles:m,stagedOwners:d,stagedSystems:h,onTypesChange:L,onLifecyclesChange:b,onOwnersChange:E,onSystemsChange:S,onApplyFilters:j,onClearFilters:H,hasFilterChanges:$}),g("div",{className:e.mainContentArea,children:[r("div",{className:e.trackProgressContainer,children:r(xe,{track:t,status:F,history:Q,isError:z||W||q})}),r(ae,{className:e.tabs,children:g(oe,{value:k,onChange:U,indicatorColor:"primary",textColor:"primary",children:[r(x,{label:"Checks By Level",value:"checksByLevel"}),r(x,{label:"Top Failing Checks",value:"topFailingChecks"}),r(x,{label:"Entities",value:"entities"})]})}),g("div",{className:e.contentArea,children:[k==="checksByLevel"&&r("div",{className:e.levelCard,children:r(Ce,{track:t,checkStatuses:A,isLoading:C||B})}),k==="entities"&&r("div",{className:e.trackEntitiesContainer,children:r(Te,{track:t,lifecycles:s,owners:n,types:l,systems:c})}),k==="topFailingChecks"&&r("div",{className:e.levelCard,children:r(Le,{track:t,checkStatuses:A,certificationStatus:F?.certificationStatus,isLoading:C||B})})]})]})]})})]})};export{Re as TrackPage};
2
2
  //# sourceMappingURL=TrackPage.esm.js.map
@@ -1,2 +1,2 @@
1
- import{makeStyles as l,Paper as m,Box as r,Typography as d}from"@material-ui/core";import t from"react";import{TrackHistoryChart as p}from"./TrackHistoryChart.esm.js";import{TrackLevelsChart as f}from"./TrackLevelsChart.esm.js";const g=l(e=>({card:{display:"flex",flexDirection:"column",border:`1px solid ${e.palette.divider}`},title:{fontWeight:"bold",fontSize:"1.1rem",lineHeight:`${e.typography.h5.fontSize}px`,cursor:"default"},header:{display:"flex",padding:e.spacing(1,1),borderBottom:`1px solid ${e.palette.divider}`,flexDirection:"column",gap:e.spacing(.5)},content:{padding:e.spacing(1,1,0),display:"flex",margin:e.spacing(1),gap:e.spacing(1)},leftSection:{width:"225px",minWidth:"225px"},summaryCard:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"space-between"},chartSection:{flex:1,width:"100%",minWidth:"150px"}})),h=({track:e,status:c,history:s,isLoading:i,isError:n,title:o})=>{const a=g();return t.createElement(m,{className:a.card},t.createElement(r,{className:a.header},!i&&e&&t.createElement(d,{className:a.title},o??"Track Progress")),t.createElement(r,{className:a.content},t.createElement(r,{className:a.leftSection},t.createElement(r,{className:a.summaryCard},t.createElement(f,{data:c,isLoading:i}))),t.createElement(r,{className:a.chartSection},t.createElement(p,{track:e,data:s,isError:n}))))};export{h as TrackProgressCard};
1
+ import{jsx as i,jsxs as a}from"react/jsx-runtime";import{makeStyles as n,Box as r,Typography as c}from"@material-ui/core";import{TrackHistoryChart as h}from"./TrackHistoryChart.esm.js";import{TrackStatus as p}from"./TrackStatus.esm.js";const f=n(t=>({card:{display:"flex",flexDirection:"column",height:"100%"},title:{fontWeight:"bold",fontSize:"1.1rem",lineHeight:`${t.typography.h5.fontSize}px`,cursor:"default",marginBottom:t.spacing(2)},header:{display:"flex",flexDirection:"column",gap:t.spacing(.5)},content:{display:"flex",flex:1,margin:t.spacing(1),gap:t.spacing(2),height:"100%"},leftSection:{width:"325px",minWidth:"325px",flex:0,display:"flex",flexDirection:"column",paddingRight:t.spacing(2)},chartSection:{flex:1,flexShrink:1,flexGrow:1,flexBasis:"auto",minWidth:"150px",display:"flex",flexDirection:"column",height:"100%"}})),m=({track:t,status:l,history:s,isError:o})=>{const e=f();return i(r,{className:e.card,children:a(r,{className:e.content,children:[a(r,{className:e.leftSection,children:[i(c,{className:e.title,children:"Current Status"}),i(p,{track:t,status:l})]}),a(r,{className:e.chartSection,children:[i(c,{className:e.title,children:"Historical Status"}),i(h,{track:t,data:s,isError:o})]})]})})};export{m as TrackProgressCard};
2
2
  //# sourceMappingURL=TrackProgressCard.esm.js.map
@@ -0,0 +1,2 @@
1
+ import{jsx as t,Fragment as s,jsxs as c}from"react/jsx-runtime";import{Box as i}from"@material-ui/core";import{TrackStatusBar as o}from"./TrackStatusBar.esm.js";import{TrackStatusTable as m}from"./TrackStatusTable.esm.js";const e=({track:r,status:a})=>t(s,{children:c("div",{children:[t(o,{track:r,status:a?.certificationStatus}),t(i,{mt:2,children:t(m,{track:r,status:a?.certificationStatus})})]})});export{e as TrackStatus};
2
+ //# sourceMappingURL=TrackStatus.esm.js.map
@@ -0,0 +1,2 @@
1
+ import{jsx as n}from"react/jsx-runtime";import{useTheme as h,Box as v}from"@material-ui/core";import{makeStyles as y}from"@material-ui/core/styles";import{Skeleton as B}from"@material-ui/lab";import{useMemo as d}from"react";import{CategoryBar as k}from"../CategoryBar/CategoryBar.esm.js";import{getChartColors as x}from"../Charts/chartUtils.esm.js";const L=y(t=>({categoryBar:{"& .MuiBox-root > div":{height:"8px"}},skeleton:{height:"8px",width:"100%",margin:0,padding:0,display:"block"}})),$=({track:t,status:r,className:i})=>{const m=L(),c=h(),u=d(()=>{if(!r||!t)return{};const e={};return r.statusByLevel.forEach(({ordinal:o,cumulativelyPassed:a})=>{const s=t.levels.find(l=>l.ordinal===o)?.name??`Level ${o}`;e[s]=a}),e},[r,t]),f=d(()=>{if(!r||!t)return{};const e=x(c),o={};return r.statusByLevel.forEach(({ordinal:a},s)=>{const l=t.levels.find(g=>g.ordinal===a)?.name??`Level ${a}`;o[l]=e[s%e.length]}),o},[c,r,t]);if(!t||!r)return n(B,{className:`${m.skeleton} ${i}`});const p=e=>e;return n(v,{className:i,style:{width:"100%"},children:n(k,{className:m.categoryBar,data:u,categories:r.statusByLevel.map(({ordinal:e})=>t.levels.find(o=>o.ordinal===e)?.name??`Level ${e}`),categoryColors:f,showTooltip:!1,valueFormatter:e=>e.toString(),categoryFormatter:p})})};export{$ as TrackStatusBar};
2
+ //# sourceMappingURL=TrackStatusBar.esm.js.map
@@ -0,0 +1,2 @@
1
+ import{jsx as a,jsxs as s}from"react/jsx-runtime";import{useTheme as y,Typography as p}from"@material-ui/core";import{makeStyles as v,createStyles as k}from"@material-ui/core/styles";import{Skeleton as d}from"@material-ui/lab";import{memo as x,useMemo as N,Fragment as S}from"react";import{compactNumberFormatter as h}from"../../utils/formatters.esm.js";import{getChartColors as w}from"../Charts/chartUtils.esm.js";const C=v(e=>k({container:{display:"grid",gridTemplateColumns:"3fr 2fr",gap:e.spacing(1),minWidth:0},item:{display:"flex",alignItems:"center",fontSize:"0.875rem",minWidth:0},legendDash:{width:e.spacing(2),height:e.spacing(.75),borderRadius:e.spacing(.375),marginRight:e.spacing(1)},category:{display:"flex",alignItems:"center",fontSize:"0.875rem",minWidth:0,flex:1},categoryText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"0.875rem",minWidth:0,flex:1},value:{fontSize:"0.875rem",color:e.palette.text.primary},valueCell:{justifyContent:"flex-end",whiteSpace:"nowrap"},percentage:{color:e.palette.text.secondary,marginLeft:e.spacing(1)},skeleton:{backgroundColor:e.palette.action.hover}})),T=x(({track:e,status:m})=>{const r=y(),t=C(),g=N(()=>{if(!e)return[{name:"",key:1,color:r.palette.action.hover},{name:"",key:2,color:r.palette.action.hover},{name:"",key:3,color:r.palette.action.hover}];const o=w(r);return e.levels.map(({name:n,ordinal:l},i)=>({name:n??`Level ${l}`,key:l,color:o[i%o.length]}))},[r,e]),c=m?.numberOfEntities??0;return a("div",{className:t.container,children:g.map(({name:o,key:n,color:l})=>{const i=m?.statusByLevel.find(({ordinal:u})=>u===n)?.cumulativelyPassed??0,f=c>0?Math.round(i/c*100):0;return s(S,{children:[a("div",{className:t.item,children:s("div",{className:t.category,children:[a("span",{className:t.legendDash,style:{backgroundColor:l}}),e?a(p,{className:t.categoryText,children:o}):a(d,{width:80,height:20,className:t.skeleton})]})}),a("div",{className:`${t.item} ${t.valueCell}`,children:e&&m?s(p,{className:t.value,children:[h(i)," of"," ",h(c),s("span",{className:t.percentage,children:["(",f,"%)"]})]}):a(d,{width:120,height:20,className:t.skeleton})})]},n)})})});export{T as TrackStatusTable};
2
+ //# sourceMappingURL=TrackStatusTable.esm.js.map
@@ -1,2 +1,2 @@
1
- import{useRouteRef as Y,useApi as Z,featureFlagsApiRef as q}from"@backstage/core-plugin-api";import{usePermission as z}from"@backstage/plugin-permission-react";import{makeStyles as J,Button as b,Grid as i}from"@material-ui/core";import{soundcheckTrackCreatePermission as K}from"@spotify/backstage-plugin-soundcheck-common";import e,{useState as o,useEffect as w}from"react";import{useNavigate as U}from"react-router-dom";import V from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as X}from"../../../hooks/tracks/useGetAllTracks.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useGetTrackOwners as _}from"../../../hooks/tracks/useGetTrackOwners.esm.js";import ee from"../../../images/no-results.svg";import{trackCreateRouteRef as re}from"../../../routes.esm.js";import{FilterDefault as x}from"../../../utils/filters.esm.js";import{EmptyState as N}from"../../EmptyState/EmptyState.esm.js";import{Pagination as te}from"../../Pagination/Pagination.esm.js";import{SearchFilters as ae}from"../../SearchFilters/SearchFilters.esm.js";import{TrackEmptyState as d,TrackNoResults as A}from"./TrackEmptyState.esm.js";import{TracksOverviewSkeleton as ie}from"./TracksOverviewSkeleton.esm.js";import{TrackSummaryCard as oe}from"./TrackSummaryCard.esm.js";const se=J(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)}})),ne=({tracksPerPage:t,currentCursor:S})=>{const s=se(),[g,u]=o(S),[l,R]=o(""),[f,B]=o(x.Alpha),[h,I]=o(x.Owner),[k,F]=o(""),{data:O,isLoading:L}=_();V(()=>{F(l)},500,[l]);const{loading:P,allowed:D}=z({permission:K}),G=U(),j=Y(re),C=()=>G(j()),{data:a,isLoading:c}=X({ids:void 0,types:["standard","playlist"],first:t,after:g,orderAlphabetical:f,searchByOwner:h,searchByName:k}),[m,H]=o(a),p=m?.edges?.map(r=>r.node),[E,v]=o([]);w(()=>{u(void 0),v([])},[k]);const T=Z(q),W=!T.getRegisteredFlags().find(r=>r.name==="soundcheck-enable-track-creation")||T.isActive("soundcheck-enable-track-creation"),y=!D||!W,$=r=>{B(r.target.value)},M=r=>{I(r.target.value)};if(w(()=>{a&&H(()=>({totalCount:a.totalCount,edges:a.edges,pageInfo:{startCursor:a.pageInfo.startCursor,endCursor:a.pageInfo.endCursor,hasNextPage:a?.pageInfo.hasNextPage??!1,hasPreviousPage:a?.pageInfo.hasPreviousPage??!1}}))},[a]),!c&&!p)return e.createElement(N,{title:d.title,description:d.description,imgSrc:ee,action:!P&&e.createElement(b,{disabled:y,variant:"contained",color:"primary",onClick:C},d.callToAction)});let n;c?n=e.createElement(ie,null):p?.length?n=p?.map(r=>e.createElement(i,{key:r.id,xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem","aria-label":`track card ${r.id}`},e.createElement(oe,{summary:r}))):n=e.createElement(i,{xs:12,item:!0,role:"listitem","aria-label":"result"},e.createElement(N,{title:A.title,description:A.description}));const Q=m?.pageInfo.hasNextPage||E?.length>0;return e.createElement(i,{container:!0,direction:"row",className:s.container},e.createElement(i,{container:!0,className:s.header},e.createElement(ae,{searchPlaceholder:"Search Available Tracks",isLoading:c||L,searchTerm:l,setSearchTerm:R,filterAlpha:f,handleAlphabeticalFilterChange:$,filterOwner:h,handleOwnerFilterChange:M,owners:O}),e.createElement(i,{item:!0,xs:2,className:s.headerButtons},!P&&e.createElement(b,{disabled:y,variant:"contained",color:"primary",onClick:C,className:s.createButton},"Create Track"))),e.createElement(i,{container:!0,spacing:4,role:"list","aria-label":"tracks"},n),Q&&e.createElement(i,{item:!0,xs:12},e.createElement(te,{response:m,listingsPerPage:t,cursor:g,setCursor:u,prevCursors:E,setPrevCursors:v,labelPerPageDropdown:"Tracks Per Page:",urlRoute:"tracks?tracksPerPage="})))};export{ne as TrackListPage};
1
+ import{jsx as e,jsxs as b}from"react/jsx-runtime";import{useRouteRef as Z,useApi as _,featureFlagsApiRef as z}from"@backstage/core-plugin-api";import{usePermission as J}from"@backstage/plugin-permission-react";import{makeStyles as K,Button as w,Grid as i}from"@material-ui/core";import{soundcheckTrackCreatePermission as U}from"@spotify/backstage-plugin-soundcheck-common";import{useState as o,useEffect as N}from"react";import{useNavigate as V}from"react-router-dom";import X from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as Y}from"../../../hooks/tracks/useGetAllTracks.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useGetTrackOwners as ee}from"../../../hooks/tracks/useGetTrackOwners.esm.js";import re from"../../../images/no-results.svg";import{trackCreateRouteRef as ae}from"../../../routes.esm.js";import{FilterDefault as A}from"../../../utils/filters.esm.js";import{EmptyState as S}from"../../EmptyState/EmptyState.esm.js";import{Pagination as te}from"../../Pagination/Pagination.esm.js";import{SearchFilters as ie}from"../../SearchFilters/SearchFilters.esm.js";import{TrackEmptyState as d,TrackNoResults as B}from"./TrackEmptyState.esm.js";import{TracksOverviewSkeleton as oe}from"./TracksOverviewSkeleton.esm.js";import{TrackSummaryCard as se}from"./TrackSummaryCard.esm.js";const ne=K(a=>({headerButtons:{display:"flex",gap:a.spacing(1),flexWrap:"nowrap",justifyContent:"end",alignItems:"end"},header:{padding:a.spacing(0,0,1)},container:{padding:a.spacing(3),gap:a.spacing(3)},createButton:{lineHeight:"1.25rem",paddingTop:a.spacing(1.5),paddingBottom:a.spacing(1.5)}})),ce=({tracksPerPage:a,currentCursor:I})=>{const s=ne(),[g,u]=o(I),[c,R]=o(""),[f,F]=o(A.Alpha),[h,O]=o(A.Owner),[k,L]=o(""),{data:j,isLoading:E}=ee();X(()=>{L(c)},500,[c]);const{loading:P,allowed:D}=J({permission:U}),G=V(),H=Z(ae),C=()=>G(H()),{data:t,isLoading:l}=Y({ids:void 0,types:["standard","playlist"],first:a,after:g,orderAlphabetical:f,searchByOwner:h,searchByName:k}),[m,W]=o(t),p=m?.edges?.map(r=>r.node),[v,T]=o([]);N(()=>{u(void 0),T([])},[k]);const x=_(z),$=!x.getRegisteredFlags().find(r=>r.name==="soundcheck-enable-track-creation")||x.isActive("soundcheck-enable-track-creation"),y=!D||!$,q=r=>{F(r.target.value)},M=r=>{O(r.target.value)};if(N(()=>{t&&W(()=>({totalCount:t.totalCount,edges:t.edges,pageInfo:{startCursor:t.pageInfo.startCursor,endCursor:t.pageInfo.endCursor,hasNextPage:t?.pageInfo.hasNextPage??!1,hasPreviousPage:t?.pageInfo.hasPreviousPage??!1}}))},[t]),!l&&!p)return e(S,{title:d.title,description:d.description,imgSrc:re,action:!P&&e(w,{disabled:y,variant:"contained",color:"primary",onClick:C,children:d.callToAction})});let n;l?n=e(oe,{}):p?.length?n=p?.map(r=>e(i,{xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem","aria-label":`track card ${r.id}`,children:e(se,{summary:r})},r.id)):n=e(i,{xs:12,item:!0,role:"listitem","aria-label":"result",children:e(S,{title:B.title,description:B.description})});const Q=m?.pageInfo.hasNextPage||v?.length>0;return b(i,{container:!0,direction:"row",className:s.container,children:[b(i,{container:!0,className:s.header,children:[e(ie,{searchPlaceholder:"Search Available Tracks",isLoading:l||E,searchTerm:c,setSearchTerm:R,filterAlpha:f,handleAlphabeticalFilterChange:q,filterOwner:h,handleOwnerFilterChange:M,owners:j}),e(i,{item:!0,xs:2,className:s.headerButtons,children:!P&&e(w,{disabled:y,variant:"contained",color:"primary",onClick:C,className:s.createButton,children:"Create Track"})})]}),e(i,{container:!0,spacing:4,role:"list","aria-label":"tracks",children:n}),Q&&e(i,{item:!0,xs:12,children:e(te,{response:m,listingsPerPage:a,cursor:g,setCursor:u,prevCursors:v,setPrevCursors:T,labelPerPageDropdown:"Tracks Per Page:",urlRoute:"tracks?tracksPerPage="})})]})};export{ce as TrackListPage};
2
2
  //# sourceMappingURL=TrackListPage.esm.js.map
@@ -1,2 +1,2 @@
1
- import{Link as d}from"@backstage/core-components";import{EntityRefLink as p}from"@backstage/plugin-catalog-react";import{makeStyles as h,List as f,Typography as m,ListItem as a,Tooltip as n,ListItemIcon as i,ListItemText as l}from"@material-ui/core";import y from"@material-ui/icons/DoneAllRounded";import I from"@material-ui/icons/Group";import g from"@material-ui/icons/Menu";import L from"@material-ui/icons/OpenInNew";import e from"react";const N=h(r=>({root:{position:"relative",height:"100%"},cardSection:{marginBottom:r.spacing(2)},listItem:{padding:0},listItemText:{margin:0},iconContainer:{minWidth:"auto",paddingRight:r.spacing(1)},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}}})),k=({track:r})=>{const t=N(),o=r.levels?.length??0,c=r.levels?.reduce((s,E)=>s+E.checks.length,0);return e.createElement(f,{dense:!0,disablePadding:!0,className:t.cardSection},e.createElement(m,{variant:"overline",color:"textSecondary"},"Track Details"),e.createElement(a,{disableGutters:!0,className:t.listItem},e.createElement(n,{title:"Levels"},e.createElement(i,{className:t.iconContainer},e.createElement(g,{color:"inherit",fontSize:"small"}))),e.createElement(l,{className:t.listItemText,primary:e.createElement(m,{variant:"body2",color:"textPrimary"},`${o} ${o===1?"Level":"Levels"}`)})),e.createElement(a,{disableGutters:!0,className:t.listItem},e.createElement(n,{title:"Checks"},e.createElement(i,{className:t.iconContainer},e.createElement(y,{color:"inherit",fontSize:"small"}))),e.createElement(l,{className:t.listItemText,primary:e.createElement(m,{variant:"body2",color:"textPrimary"},`${c} ${c===1?"Check":"Checks"}`)})),r.documentationURL&&e.createElement(a,{disableGutters:!0,className:t.listItem},e.createElement(n,{title:"Documentation"},e.createElement(i,{className:t.iconContainer},e.createElement(L,{color:"inherit",fontSize:"small"}))),e.createElement(l,{className:t.listItemText,primary:e.createElement(d,{to:r.documentationURL,target:"_blank",rel:"noopener noreferrer"},"Learn more")})),e.createElement(a,{disableGutters:!0,className:t.listItem},e.createElement(n,{title:"Owner"},e.createElement(i,{className:t.iconContainer},e.createElement(I,{color:"inherit",fontSize:"small"}))),e.createElement(l,{className:t.listItemText,primary:e.createElement(p,{entityRef:r.ownerEntityRef,hideIcon:!0,underline:"hover",className:t.ownerLink})})))};export{k as TrackMetadata};
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Link as p}from"@backstage/core-components";import{EntityRefLink as g}from"@backstage/plugin-catalog-react";import{makeStyles as f,List as N,Typography as o,ListItem as n,Tooltip as a,ListItemIcon as l,ListItemText as s,Badge as k}from"@material-ui/core";import u from"@material-ui/icons/DoneAllRounded";import I from"@material-ui/icons/Group";import y from"@material-ui/icons/Menu";import b from"@material-ui/icons/OpenInNew";const L=f(i=>({root:{position:"relative",height:"100%"},cardSection:{marginBottom:i.spacing(2)},listItem:{padding:0},listItemText:{margin:0},iconContainer:{minWidth:"auto",paddingRight:i.spacing(1)},ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}}},badge:{marginTop:i.spacing(1),"& span":{position:"relative",transform:"none",transformOrigin:"unset",backgroundColor:i.palette.action.disabledBackground}}})),v=({track:i})=>{const t=L(),c=i.levels?.length??0,m=i.levels?.reduce((d,h)=>d+h.checks.length,0);return r(N,{dense:!0,disablePadding:!0,className:t.cardSection,children:[e(o,{variant:"overline",color:"textSecondary",children:"Track Details"}),r(n,{disableGutters:!0,className:t.listItem,children:[e(a,{title:"Levels",children:e(l,{className:t.iconContainer,children:e(y,{color:"inherit",fontSize:"small"})})}),e(s,{className:t.listItemText,primary:e(o,{variant:"body2",color:"textPrimary",children:`${c} ${c===1?"Level":"Levels"}`})})]}),r(n,{disableGutters:!0,className:t.listItem,children:[e(a,{title:"Checks",children:e(l,{className:t.iconContainer,children:e(u,{color:"inherit",fontSize:"small"})})}),e(s,{className:t.listItemText,primary:e(o,{variant:"body2",color:"textPrimary",children:`${m} ${m===1?"Check":"Checks"}`})})]}),i.documentationURL&&r(n,{disableGutters:!0,className:t.listItem,children:[e(a,{title:"Documentation",children:e(l,{className:t.iconContainer,children:e(b,{color:"inherit",fontSize:"small"})})}),e(s,{className:t.listItemText,primary:e(p,{to:i.documentationURL,target:"_blank",rel:"noopener noreferrer",children:"Learn more"})})]}),r(n,{disableGutters:!0,className:t.listItem,children:[e(a,{title:"Owner",children:e(l,{className:t.iconContainer,children:e(I,{color:"inherit",fontSize:"small"})})}),e(s,{className:t.listItemText,primary:e(g,{entityRef:i.ownerEntityRef,hideIcon:!0,underline:"hover",className:t.ownerLink})})]}),i.draft&&e(n,{disableGutters:!0,className:t.listItem,children:e(k,{badgeContent:"Draft",className:t.badge})})]})};export{v as TrackMetadata};
2
2
  //# sourceMappingURL=TrackMetadata.esm.js.map
@@ -1,2 +1,2 @@
1
- import{useRouteRef as d}from"@backstage/core-plugin-api";import{usePermission as k}from"@backstage/plugin-permission-react";import{soundcheckTrackDeletePermission as h}from"@spotify/backstage-plugin-soundcheck-common";import s,{useCallback as e}from"react";import{useNavigate as y}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useConfirmationModal as E}from"../../../hooks/useConfirmationModal.esm.js";import{useDeleteTrack as R}from"../../../hooks/tracks/useDeleteTrack.esm.js";import{trackDetailsRouteRef as w,trackEditRouteRef as T}from"../../../routes.esm.js";import{exportTrack as D}from"../../../utils/export.esm.js";import{SummaryCard as v}from"../../SummaryCard/SummaryCard.esm.js";import{TrackMetadata as C}from"./TrackMetadata.esm.js";const b=({summary:r})=>{const{loading:n,allowed:c}=k({permission:h,resourceRef:r.id}),{showModal:i}=E(),{mutate:o}=R(),t=y(),a=d(w),m=d(T),l=e(async()=>{await i({title:"Delete Track",message:`Are you sure you want to delete track ${r.name}?`})&&o(r.id)},[i,r.id,r.name,o]),p=e(()=>{t(a({trackId:r.id}))},[t,r.id,a]),u=e(()=>{t(m({trackId:r.id}))},[t,r.id,m]),f=e(()=>{D(r)},[r]);return s.createElement(v,{title:r.name,description:r.description,children:s.createElement(C,{track:r}),handleView:p,handleEdit:r.isEditable?u:void 0,handleDelete:r.isEditable&&!n&&c?l:void 0,handleExport:f,viewIsPrimaryAction:!0})};export{b as TrackSummaryCard};
1
+ import{jsx as d}from"react/jsx-runtime";import{useRouteRef as s}from"@backstage/core-plugin-api";import{usePermission as k}from"@backstage/plugin-permission-react";import{soundcheckTrackDeletePermission as h}from"@spotify/backstage-plugin-soundcheck-common";import{useCallback as o}from"react";import{useNavigate as y}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useConfirmationModal as R}from"../../../hooks/useConfirmationModal.esm.js";import{useDeleteTrack as w}from"../../../hooks/tracks/useDeleteTrack.esm.js";import{trackDetailsRouteRef as T,trackEditRouteRef as D}from"../../../routes.esm.js";import{exportTrack as E}from"../../../utils/export.esm.js";import{SummaryCard as v}from"../../SummaryCard/SummaryCard.esm.js";import{TrackMetadata as x}from"./TrackMetadata.esm.js";const C=({summary:r})=>{const{loading:p,allowed:n}=k({permission:h,resourceRef:r.id}),{showModal:i}=R(),{mutate:a}=w(),t=y(),e=s(T),m=s(D),c=o(async()=>{await i({title:"Delete Track",message:`Are you sure you want to delete track ${r.name}?`})&&a(r.id)},[i,r.id,r.name,a]),l=o(()=>{t(e({trackId:r.id}))},[t,r.id,e]),u=o(()=>{t(m({trackId:r.id}))},[t,r.id,m]),f=o(()=>{E(r)},[r]);return d(v,{title:r.name,description:r.description,children:d(x,{track:r}),handleView:l,handleEdit:r.isEditable?u:void 0,handleDelete:r.isEditable&&!p&&n?c:void 0,handleExport:f,viewIsPrimaryAction:!0})};export{C as TrackSummaryCard};
2
2
  //# sourceMappingURL=TrackSummaryCard.esm.js.map
@@ -1,2 +1,2 @@
1
- import{Grid as t}from"@material-ui/core";import{Skeleton as o}from"@material-ui/lab";import e from"react";const m=()=>e.createElement(t,{item:!0,container:!0,"data-testid":"tracks-skeleton"},Array.from({length:6},(i,r)=>e.createElement(t,{key:`loading-${r}`,xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem"},e.createElement(o,{variant:"rect",height:385}))));export{m as TracksOverviewSkeleton};
1
+ import{jsx as t}from"react/jsx-runtime";import{Grid as e}from"@material-ui/core";import{Skeleton as i}from"@material-ui/lab";const o=()=>t(e,{item:!0,container:!0,"data-testid":"tracks-skeleton",children:Array.from({length:6},(m,r)=>t(e,{xs:12,sm:12,md:6,lg:4,xl:3,item:!0,role:"listitem",children:t(i,{variant:"rect",height:385})},`loading-${r}`))});export{o as TracksOverviewSkeleton};
2
2
  //# sourceMappingURL=TracksOverviewSkeleton.esm.js.map
@@ -1,2 +1,2 @@
1
- import{DismissableBanner as m}from"@backstage/core-components";import r from"react";import{useSearchParams as a}from"react-router-dom";import{RESULTS_PER_PAGE as i}from"../../utils/filters.esm.js";import{TrackListPage as p}from"./TrackListPage/TrackListPage.esm.js";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import"@spotify/backstage-plugin-soundcheck-common";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"../../routes.esm.js";import"js-yaml";import"../SummaryCard/SummaryCard.esm.js";import"./TrackListPage/TrackMetadata.esm.js";const s=()=>{const[e]=a(),t=e.get("tracksPerPage"),o=t?parseInt(t,10):i;return r.createElement("div",null,r.createElement(m,{variant:"info",message:"Programs will now be referred to as Tracks throughout the Soundcheck UI.",id:"programTrackBanner"}),r.createElement(p,{tracksPerPage:o}))};export{s as TracksPage};
1
+ import{jsx as m}from"react/jsx-runtime";import{useSearchParams as p}from"react-router-dom";import{RESULTS_PER_PAGE as i}from"../../utils/filters.esm.js";import{TrackListPage as a}from"./TrackListPage/TrackListPage.esm.js";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import"@spotify/backstage-plugin-soundcheck-common";import"react";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"../../routes.esm.js";import"js-yaml";import"lodash";import"../SummaryCard/SummaryCard.esm.js";import"./TrackListPage/TrackMetadata.esm.js";const e=()=>{const[t]=p(),r=t.get("tracksPerPage"),o=r?parseInt(r,10):i;return m(a,{tracksPerPage:o})};export{e as TracksPage};
2
2
  //# sourceMappingURL=TracksPage.esm.js.map
@@ -1,2 +1,2 @@
1
- import r from"react";import{TrackFormProvider as e}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useSetHeaderDefault as o}from"../SoundcheckHeader/useHeader.esm.js";import{TracksPage as t}from"../TracksPage/TracksPage.esm.js";const m=()=>(o(),r.createElement(e,null,r.createElement(t,null)));export{m as TracksTab};
1
+ import{jsx as r}from"react/jsx-runtime";import{TrackFormProvider as o}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"react";import"../../contexts/UserProvider.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useSetHeaderDefault as m}from"../SoundcheckHeader/useHeader.esm.js";import{TracksPage as t}from"../TracksPage/TracksPage.esm.js";const i=()=>(m(),r(o,{children:r(t,{})}));export{i as TracksTab};
2
2
  //# sourceMappingURL=TracksTab.esm.js.map
@@ -1,2 +1,2 @@
1
- import m,{createContext as u,useState as t,useContext as I}from"react";const x=()=>u({selectedItem:null,setSelectedItem:()=>{},isLoading:!1,setIsLoading:()=>{},isReadOnly:!1,showReadOnly:()=>{}}),g=e=>({children:o})=>{const[s,n]=t(null),[r,d]=t(!1),[l,a]=t(!1),i=c=>{d(!0),n(c)};return m.createElement(e.Provider,{value:{selectedItem:s,setSelectedItem:n,isLoading:l,setIsLoading:a,isReadOnly:r,showReadOnly:i}},o)},y=e=>I(e);export{x as createFormContext,g as createFormProvider,y as useGenericFormContext};
1
+ import{jsx as m}from"react/jsx-runtime";import{createContext as u,useState as t,useContext as x}from"react";const I=()=>u({selectedItem:null,setSelectedItem:()=>{},isLoading:!1,setIsLoading:()=>{},isReadOnly:!1,showReadOnly:()=>{}}),g=e=>({children:r})=>{const[s,o]=t(null),[n,d]=t(!1),[i,l]=t(!1),a=c=>{d(!0),o(c)};return m(e.Provider,{value:{selectedItem:s,setSelectedItem:o,isLoading:i,setIsLoading:l,isReadOnly:n,showReadOnly:a},children:r})},h=e=>x(e);export{I as createFormContext,g as createFormProvider,h as useGenericFormContext};
2
2
  //# sourceMappingURL=GenericFormContext.esm.js.map
@@ -1,2 +1,2 @@
1
- import{stringifyEntityRef as m}from"@backstage/catalog-model";import{useApi as a,identityApiRef as d}from"@backstage/core-plugin-api";import{catalogApiRef as p}from"@backstage/plugin-catalog-react";import y,{createContext as E,useState as R,useEffect as v,useContext as A}from"react";import x from"react-use/lib/useAsync";const l={loading:!0},f=E(l),C=()=>A(f),P=({children:u})=>{const[c,n]=R(l),s=a(p),t=a(d),{value:e,loading:r,error:o}=x(async()=>{const[{token:i},g]=await Promise.all([t.getCredentials(),t.getBackstageIdentity()]);return i?await s.getEntityByRef(g.userEntityRef):null},[s,t]);return v(()=>{if(e){const i=m(e);n({user:e,userEntityRef:i,loading:r,error:o})}else n({loading:r,error:o})},[e,r,o]),y.createElement(f.Provider,{value:c},u)};export{P as UserProvider,C as useLoggedInUser};
1
+ import{jsx as d}from"react/jsx-runtime";import{stringifyEntityRef as g}from"@backstage/catalog-model";import{useApi as a,identityApiRef as p}from"@backstage/core-plugin-api";import{catalogApiRef as y}from"@backstage/plugin-catalog-react";import{createContext as R,useState as E,useEffect as v,useContext as x}from"react";import A from"react-use/lib/useAsync";const f={loading:!0},l=R(f),C=()=>x(l),P=({children:u})=>{const[m,n]=E(f),s=a(y),t=a(p),{value:e,loading:r,error:o}=A(async()=>{const[{token:i},c]=await Promise.all([t.getCredentials(),t.getBackstageIdentity()]);return i?await s.getEntityByRef(c.userEntityRef):null},[s,t]);return v(()=>{if(e){const i=g(e);n({user:e,userEntityRef:i,loading:r,error:o})}else n({loading:r,error:o})},[e,r,o]),d(l.Provider,{value:m,children:u})};export{P as UserProvider,C as useLoggedInUser};
2
2
  //# sourceMappingURL=UserProvider.esm.js.map