@spotify/backstage-plugin-soundcheck 0.16.1 → 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.
- package/CHANGELOG.md +30 -0
- package/dist/alpha/entity-content.esm.js +1 -1
- package/dist/alpha/pages.esm.js +1 -1
- package/dist/alpha.d.ts +7 -7
- package/dist/api.esm.js +1 -1
- package/dist/components/AlertPanel/AlertPanel.esm.js +1 -1
- package/dist/components/AreaChart/AreaChart.esm.js +1 -1
- package/dist/components/AreaChart/ChartTooltip.esm.js +1 -1
- package/dist/components/AreaChart/Legend.esm.js +1 -1
- package/dist/components/AreaChart/LegendItem.esm.js +1 -1
- package/dist/components/Badges/BaseBadge.esm.js +1 -1
- package/dist/components/Badges/CampaignBadge.esm.js +1 -1
- package/dist/components/Badges/CertificationBadge.esm.js +1 -1
- package/dist/components/Badges/LevelBadge.esm.js +1 -1
- package/dist/components/Badges/NoLevelBadge.esm.js +2 -2
- package/dist/components/Badges/PlaylistBadge.esm.js +1 -1
- package/dist/components/Badges/StatusBadge.esm.js +1 -1
- package/dist/components/CacheConfig/CacheConfigComponent.esm.js +1 -1
- package/dist/components/CampaignCreatePage/CampaignCreatePage.esm.js +1 -1
- package/dist/components/CampaignForm/CampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDescriptionField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDetailsStep.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDraftField.esm.js +2 -0
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignNameField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignOwnerField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignScheduleField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignSupportChannelField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/EndDateChips.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignMilestonesStep.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignTrackStepNew.esm.js +2 -0
- package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/hooks/utils.esm.js +1 -1
- package/dist/components/CampaignForm/utils/campaignFormUtils.esm.js +1 -1
- package/dist/components/CampaignForm/utils/validation.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignInsightsPage.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignStatusHistoryTile.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignStatusTile.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/DaysRemainingTile.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignEmptyState.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignListPage.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignMetadata.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignSummaryCard.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignsOverviewSkeleton.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/useArchiveConfirmationModal.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignsPage.esm.js +1 -1
- package/dist/components/CampaignsPage/EditCampaignView.esm.js +1 -1
- package/dist/components/CategoryBar/CategoryBar.esm.js +1 -1
- package/dist/components/CertificationAccordion/CertificationAccordion.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationLevel.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSidebar.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSummary.esm.js +1 -1
- package/dist/components/CertificationSidebar/Check.esm.js +1 -1
- package/dist/components/CertificationSidebar/CheckResultInputPopup.esm.js +1 -1
- package/dist/components/CertificationSidebar/CheckResultSummaryList.esm.js +1 -1
- package/dist/components/CertificationSidebar/ExemptionJustificationDialog.esm.js +1 -1
- package/dist/components/CertificationSidebar/LevelSummary.esm.js +1 -1
- package/dist/components/CertificationSidebar/StatusDetails.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CertificationSidebarSkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CertificationSummarySkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CheckSkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/LevelSummarySkeleton.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationTab.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationTabs.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationsPage.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistComponent.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistContext.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistProgress.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistSummary.esm.js +1 -1
- package/dist/components/CertificationsPage/PlaylistCertificationTab.esm.js +1 -1
- package/dist/components/CertificationsPage/skeletons/CertificationTabSkeleton.esm.js +1 -1
- package/dist/components/CertificationsPage/skeletons/CertificationTabsSkeleton.esm.js +1 -1
- package/dist/components/Charts/BarChart/BarChart.esm.js +1 -1
- package/dist/components/Charts/BarChart/BarChartPlaceholder.esm.js +1 -1
- package/dist/components/Charts/BarChart/GroupPassRateHistoryBarChart.esm.js +1 -1
- package/dist/components/Charts/BarChart/TrackSummaryBarChart.esm.js +1 -1
- package/dist/components/Charts/ChartWrapper/ChartWrapper.esm.js +1 -1
- package/dist/components/Charts/LineChart/EntityPassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/LineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/LineChartPlaceholder.esm.js +1 -1
- package/dist/components/Charts/LineChart/PassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/TableLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/TrackPassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LoadingChart.esm.js +2 -0
- package/dist/components/Charts/chartUtils.esm.js +1 -1
- package/dist/components/CheckCard/CheckCard.esm.js +1 -1
- package/dist/components/CheckCard/CheckHistoryChart.esm.js +1 -1
- package/dist/components/CheckCreatePage/CheckCreatePage.esm.js +1 -1
- package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CheckResultDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CollapseRow.esm.js +1 -1
- package/dist/components/CheckDetails/FactTable.esm.js +1 -1
- package/dist/components/CheckDetails/FixMeDialog.esm.js +1 -1
- package/dist/components/CheckDetails/JustificationDetails.esm.js +1 -1
- package/dist/components/CheckDetails/OngoingTaskComponent.esm.js +1 -1
- package/dist/components/CheckDetails/ResolvedValueTable.esm.js +1 -1
- package/dist/components/CheckDetails/ResultStateBox.esm.js +1 -1
- package/dist/components/CheckDetails/ReviewStateComponent.esm.js +1 -1
- package/dist/components/CheckDetails/SelectedValueContext.esm.js +1 -1
- package/dist/components/CheckDetails/skeletons/CheckDetailsSkeleton.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRun.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunContext.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDetails.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDialog.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDialogButton.esm.js +1 -1
- package/dist/components/CheckForm/CheckForm.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckDescriptionInput/CheckDescriptionInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckNameInput/CheckNameInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckPathResolverInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckScheduleSection/ScheduleSection.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckTypeInput/CheckTypeInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/PassFailMessageInput/PassFailMessageInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/AddMenuButton.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ConditionList.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/FactValueDisplay.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/RuleConditionInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListContext.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionBox.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionTypeToggle.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckApplicabilityStep.esm.js +2 -0
- package/dist/components/CheckForm/Steps/CheckDetailsStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckReviewStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckRulesStep.esm.js +1 -1
- package/dist/components/CheckForm/useCheckForm.esm.js +1 -1
- package/dist/components/CheckForm/utils/checkFormUtils.esm.js +2 -2
- package/dist/components/CheckForm/utils/validation.esm.js +1 -1
- package/dist/components/CheckHistoryChartCard/CheckHistoryChartCard.esm.js +1 -1
- package/dist/components/CheckIcon/CheckIcon.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditPage.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditView.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/CheckEntitiesTable.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/columns.esm.js +1 -1
- package/dist/components/CheckPage/CheckInsightsPage.esm.js +1 -1
- package/dist/components/CheckPage/CheckStatusHistoryChart.esm.js +1 -1
- package/dist/components/CheckPage/CheckStatusTable.esm.js +1 -1
- package/dist/components/CheckSelection/CheckPreview.esm.js +2 -0
- package/dist/components/CheckSelection/CheckPreviewContext.esm.js +2 -0
- package/dist/components/CheckSelection/CheckSelection.esm.js +2 -0
- package/dist/components/CheckStatusBar/CheckStatusBar.esm.js +2 -0
- package/dist/components/CheckTemplatesPage/CheckTemplatesPage.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/TemplateCategory.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckListPage.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckMetadata.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckSummaryCard.esm.js +1 -1
- package/dist/components/ChecksPage/ChecksPage.esm.js +1 -1
- package/dist/components/ChecksPage/skeletons/ChecksOverviewSkeleton.esm.js +1 -1
- package/dist/components/ChecksTab/ChecksTab.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfDaysComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfWorkItemsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/BigQueryConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/QueryFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Catalog/CatalogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/CollectorSchedulingOptions.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/FactCollectionConfig.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Configurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataDog/DataDogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataRegistry/DataRegistryConfigurator.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/DataRegistry/utils.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/CodeScanningAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/DependabotAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/SecretScanningAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/SecurityAdvisoriesFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpRequestComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpResponseComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpRetriesComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpStatusesInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/RequestFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/IssuesSearchFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/JiraConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/IncidentsFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/StatusesComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/ExistsFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/FactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/JsonFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/RegexFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/ScmConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/IssuesFactDetailsInput.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SonarQube/MeasuresFactDetailsInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/MetricsInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/validation.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListPage.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListSkeleton.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
- package/dist/components/EmptyState/EmptyState.esm.js +1 -1
- package/dist/components/EntitiesAutocompletePicker/EntitiesAutocompletePicker.esm.js +2 -0
- package/dist/components/EntityChip/EntityChip.esm.js +1 -1
- package/dist/components/EntityContent/EntityContent.esm.js +1 -1
- package/dist/components/EntityPassRateCard/EntityPassRateCard.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/Card.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/EntitySoundcheckCard.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/skeletons/CardSkeleton.esm.js +1 -1
- package/dist/components/EntitySoundcheckContent.esm.js +1 -1
- package/dist/components/Expand/Expand.esm.js +1 -1
- package/dist/components/ExpandableSection/ExpandableSection.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorer.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorerContext.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorerDialog.esm.js +1 -1
- package/dist/components/FadeIn/FadeIn.esm.js +1 -1
- package/dist/components/Filter/EntityAutocompletePicker.esm.js +1 -1
- package/dist/components/Filter/FilterComponent.esm.js +1 -1
- package/dist/components/Filter/FilterKeyValueInput.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewTable/EntityTableColumns.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewTable/FilterPreviewTable.esm.js +1 -1
- package/dist/components/Filter/KeyValueInputDialog.esm.js +1 -1
- package/dist/components/FilterSidebar/FilterSidebar.esm.js +2 -0
- package/dist/components/FilterSidebar/StateFilter.esm.js +2 -0
- package/dist/components/FooterButtons/FooterButtons.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledMultipleAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledSelect/FormControlledSelect.esm.js +1 -1
- package/dist/components/FormControlledTextField/FormControlledTextField.esm.js +1 -1
- package/dist/components/FormFieldLabel/FormFieldLabel.esm.js +1 -1
- package/dist/components/FormFilterSection/FormFilterSection.esm.js +1 -1
- package/dist/components/FormMarkdownInput/FormMarkdownInput.esm.js +1 -1
- package/dist/components/FormStepper/FormStepper.esm.js +1 -1
- package/dist/components/FormTextInput/FormTextInput.esm.js +1 -1
- package/dist/components/FormattedPreview/FormattedPreview.esm.js +2 -2
- package/dist/components/Frequency/FrequencyComponent.esm.js +1 -1
- package/dist/components/GroupPassRateCard/GroupPassRateCard.esm.js +1 -1
- package/dist/components/GroupSelector/GroupSelector.esm.js +1 -1
- package/dist/components/LevelUpParty/LevelUpParty.esm.js +1 -1
- package/dist/components/LevelsTable/CheckRowContent.esm.js +2 -0
- package/dist/components/LevelsTable/LevelsTable.esm.js +2 -0
- package/dist/components/ListboxVirtualized/ListboxVirtualized.esm.js +1 -1
- package/dist/components/LoadingIndicator/LoadingIndicator.esm.js +1 -1
- package/dist/components/MultiSelectFilter/MultiSelectFilter.esm.js +1 -1
- package/dist/components/NoBorderButton/NoBorderButton.esm.js +1 -1
- package/dist/components/OrgHealth/OrgHealthPage.esm.js +1 -1
- package/dist/components/OverviewChartCard/OverviewChartCard.esm.js +1 -1
- package/dist/components/OverviewPage/FixedGroupOverviewPage.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPage.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPageContent.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPageHeader.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckCellTooltip.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckLabelCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckNameCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/EntityRefCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackBadgeCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackCheckIndicator.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackLevelHeaderCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackTitleCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/cellRenderer.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTable.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTableContent.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTableSkeleton.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTable.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTableHeader.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTableRow.esm.js +1 -1
- package/dist/components/PageWarningMessage/PageWarningMessage.esm.js +1 -1
- package/dist/components/Pagination/CursorPagination.esm.js +1 -1
- package/dist/components/Pagination/Pagination.esm.js +1 -1
- package/dist/components/PassRateGrid/PassRateGrid.esm.js +1 -1
- package/dist/components/PassRateGrid/PassRateMetadata.esm.js +1 -1
- package/dist/components/PassRateTable/NewPassRateTable.esm.js +1 -1
- package/dist/components/PassRateTable/PassRateTable.esm.js +2 -2
- package/dist/components/QuickstartPage/HowDoIListItem.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickStartChecksCard.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartCardBase.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartCollectorConfigurationsCard.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartPage.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartTracksCard.esm.js +1 -1
- package/dist/components/QuickstartPage/WelcomeHelpSection.esm.js +6 -6
- package/dist/components/QuickstartPage/WelcomeModal.esm.js +1 -1
- package/dist/components/RefetchingIndicator/RefetchingIndicator.esm.js +1 -1
- package/dist/components/RelativeTime/RelativeTime.esm.js +1 -1
- package/dist/components/RichTooltip/RichTooltip.esm.js +1 -1
- package/dist/components/Router.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
- package/dist/components/RuleResult/BranchResultComponent.esm.js +1 -1
- package/dist/components/RuleResult/ConditionResultComponent.esm.js +1 -1
- package/dist/components/RuleResult/RuleResultComponent.esm.js +1 -1
- package/dist/components/SearchBar/SearchBar.esm.js +1 -1
- package/dist/components/SearchFilters/SearchFilters.esm.js +1 -1
- package/dist/components/SoundcheckDialog/SoundcheckDialog.esm.js +1 -1
- package/dist/components/SoundcheckHeader/Breadcrumbs.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeader.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeaderContext.esm.js +1 -1
- package/dist/components/SoundcheckHeader/headerUtil.esm.js +1 -1
- package/dist/components/SoundcheckMarkdownContent/ComponentRenders.esm.js +2 -0
- package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js +2 -0
- package/dist/components/SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js +1 -1
- package/dist/components/SummaryCard/SummaryCard.esm.js +1 -1
- package/dist/components/SummaryCard/SummaryCardActionsMenu.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FacetFilter.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FilterProvider.esm.js +1 -1
- package/dist/components/TechHealth/Filters/Filters.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FiltersHeader.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FiltersSection.esm.js +1 -1
- package/dist/components/TechHealth/Filters/NumberOfDaysFilter.esm.js +1 -1
- package/dist/components/TechHealth/Filters/useFacetOptions.esm.js +1 -1
- package/dist/components/TechHealth/Loading/Emoji.esm.js +1 -1
- package/dist/components/TechHealth/Loading/EmojiFountain.esm.js +1 -1
- package/dist/components/TechHealth/Loading/Loading.esm.js +1 -1
- package/dist/components/TechHealth/Loading/TechHealthLoading.esm.js +1 -1
- package/dist/components/TechHealth/TechHealth.esm.js +1 -1
- package/dist/components/TechHealthSummary/SummaryAggregationsProvider.esm.js +1 -1
- package/dist/components/TechHealthSummary/TechHealthSummary.esm.js +1 -1
- package/dist/components/TechHealthTabs/ActionColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/CampaignResultsTab/CampaignResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/CheckResultsTab/CheckResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/CheckResultsTab/CheckTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/EntityResultsTab/EntityResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/EntityResultsTab/EntityTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/GroupResultsTab/GroupResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/GroupResultsTab/GroupTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/MostRecentColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/NameColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/OwnerColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/PassRateTabHeader.esm.js +1 -1
- package/dist/components/TechHealthTabs/TrackResultsTab/TrackLevelTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/TrackResultsTab/TrackResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/techHealthTabUtils.esm.js +1 -1
- package/dist/components/TopFailingChecksTable/TopFailingChecksTable.esm.js +2 -0
- package/dist/components/TrackCreatePage/TrackCreatePage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditPage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditView.esm.js +1 -1
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsStepNew.esm.js +2 -0
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackBadgeTypeSelect/TrackBadgeTypeSelect.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDescriptionInput/TrackDescriptionInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDetailsStep.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDocumentationUrlInput/TrackDocumentationUrlInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDraftInput/TrackDraftInput.esm.js +2 -0
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackNameInput/TrackNameInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js +1 -1
- package/dist/components/TrackForm/TrackForm.esm.js +1 -1
- package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
- package/dist/components/TrackHistoryChartCard/TrackHistoryChartCard.esm.js +1 -1
- package/dist/components/TrackPage/FilterBar/FilterBar.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTable.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackStatusChip.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/columns.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/utils.esm.js +1 -1
- package/dist/components/TrackPage/TrackHistoryChart.esm.js +1 -1
- package/dist/components/TrackPage/TrackPage.esm.js +1 -1
- package/dist/components/TrackPage/TrackProgressCard.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatus.esm.js +2 -0
- package/dist/components/TrackPage/TrackStatusBar.esm.js +2 -0
- package/dist/components/TrackPage/TrackStatusTable.esm.js +2 -0
- package/dist/components/TracksPage/TrackListPage/TrackListPage.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackMetadata.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackSummaryCard.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TracksOverviewSkeleton.esm.js +1 -1
- package/dist/components/TracksPage/TracksPage.esm.js +1 -1
- package/dist/components/TracksTab/TracksTab.esm.js +1 -1
- package/dist/contexts/GenericFormContext.esm.js +1 -1
- package/dist/contexts/UserProvider.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +93 -45
- package/dist/hooks/aggregations/useCertificationStatus.esm.js +1 -1
- package/dist/hooks/aggregations/useCheckStatus.esm.js +1 -1
- package/dist/hooks/aggregations/useCheckStatuses.esm.js +1 -1
- package/dist/hooks/catalog/useGetEntityFacets.esm.js +1 -1
- package/dist/hooks/catalog/useGetEntityRefs.esm.js +1 -1
- package/dist/hooks/certifications/useAllCertifications.esm.js +1 -1
- package/dist/hooks/certifications/useCertificationDetails.esm.js +1 -1
- package/dist/hooks/certifications/useCertificationDetailsForTrack.esm.js +1 -1
- package/dist/hooks/checks/useCheck.esm.js +2 -0
- package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
- package/dist/hooks/checks/useGetChecks.esm.js +1 -1
- package/dist/hooks/checks/useSetManualResult.esm.js +1 -1
- package/dist/hooks/checks/useUpdateCheck.esm.js +1 -1
- package/dist/hooks/exemptions/useDeleteExemption.esm.js +1 -1
- package/dist/hooks/exemptions/useExemptCheckIds.esm.js +2 -0
- package/dist/hooks/exemptions/useSetEntityExempt.esm.js +1 -1
- package/dist/hooks/facets/useFacetFilters.esm.js +1 -1
- package/dist/hooks/graphqlKeys.esm.js +1 -1
- package/dist/hooks/tracks/useGetAllTracks.esm.js +1 -1
- package/dist/hooks/tracks/useTrack.esm.js +2 -0
- package/dist/hooks/tracks/useUpdateTrack.esm.js +1 -1
- package/dist/hooks/useConfirmationModal.esm.js +1 -1
- package/dist/hooks/useSoundcheckAlert.esm.js +1 -1
- package/dist/images/data-registry-blk.svg +36 -0
- package/dist/images/data-registry-wht.svg +36 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.esm.js +1 -1
- package/dist/routes.esm.js +1 -1
- package/dist/utils/colors.esm.js +2 -0
- package/dist/utils/export.esm.js +3 -3
- package/dist/utils/formatters.esm.js +2 -0
- package/dist/utils/validation.esm.js +1 -1
- package/package.json +25 -21
- package/dist/components/Badges/badge.esm.js +0 -2
- package/dist/components/CampaignForm/Steps/CampaignTrackStep.esm.js +0 -2
- package/dist/components/CheckPage/CheckStatusBar.esm.js +0 -2
- package/dist/components/CheckPage/FilterBar/FilterBar.esm.js +0 -2
- package/dist/components/CheckPage/StatusRow.esm.js +0 -2
- package/dist/components/ChecksErrors/ChecksErrors.esm.js +0 -2
- package/dist/components/ContextMenu/ContextMenu.esm.js +0 -2
- package/dist/components/DraggableChip/DraggableChip.esm.js +0 -2
- package/dist/components/DraggableChip/chipStyles.esm.js +0 -2
- package/dist/components/DroppableInput/DroppableInput.esm.js +0 -2
- package/dist/components/LevelCard/LevelCard.esm.js +0 -2
- package/dist/components/LevelCard/LevelTooltip.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/ChecksSection/ChecksSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelChipsSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelsSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsStep.esm.js +0 -2
- package/dist/components/TrackPage/TrackLevelsChart.esm.js +0 -2
- package/dist/hooks/useContextMenu.esm.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{createContext as
|
|
1
|
+
import{jsx as t,jsxs as x,Fragment as R}from"react/jsx-runtime";import{createContext as F,useState as e}from"react";import{useFormContext as P}from"react-hook-form";import{FactExplorerDialog as E}from"./FactExplorerDialog.esm.js";const a=F({open:!1,updateOpen:()=>{},updateOnSave:()=>{},updateFactRef:()=>{},updatePath:()=>{},updateEntityRef:()=>{},updatePathResolver:()=>{}}),S=({children:r})=>{const[o,p]=e(!1),[n,d]=e(),[u,i]=e(),[l,f]=e(),[s,c]=e(),[h,m]=e(),v=P()?.getValues("filtersStep.filter");return t(a.Provider,{value:{open:o,updateOpen:p,onSave:n,updateOnSave:d,factRef:u,updateFactRef:i,path:l,updatePath:f,entityRef:s,updateEntityRef:c,pathResolver:h,updatePathResolver:m,filters:v},children:x(R,{children:[r,t(E,{})]})})};export{a as FactExplorerContext,S as FactExplorerProvider};
|
|
2
2
|
//# sourceMappingURL=FactExplorerContext.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Button as R}from"@material-ui/core";import
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{Button as R}from"@material-ui/core";import x from"@material-ui/icons/Search";import{useContext as u}from"react";import{SoundcheckDialog as v}from"../SoundcheckDialog/SoundcheckDialog.esm.js";import{FactExplorer as E}from"./FactExplorer.esm.js";import{FactExplorerContext as d}from"./FactExplorerContext.esm.js";const F=()=>{const{open:t,updateOpen:o,onSave:r,factRef:p,updateFactRef:n,path:c,updatePath:l,entityRef:e,updateEntityRef:f,pathResolver:i,filters:s}=u(d);return a(v,{open:t,handleClose:()=>o(!1),title:"Fact Explorer",fullScreen:!1,children:a(E,{onSave:r,factRef:p,updateFactRef:n,path:c,updatePath:l,entityRef:e,updateEntityRef:f,pathResolver:i,filters:s})})},S=({onSave:t,factRef:o,path:r,pathResolver:p,className:n,text:c="Explore Facts",hideIcon:l})=>{const{updateOpen:e,updateOnSave:f,updateFactRef:i,updatePath:s,updatePathResolver:h}=u(d);return a(R,{onClick:()=>{e(!0),i(o??""),s(r??""),h(p??""),f(()=>m=>{t&&t(m),e(!1)})},className:n,variant:"text",startIcon:l?void 0:a(x,{}),children:c})};export{F as FactExplorerDialog,S as FactExplorerDialogButton};
|
|
2
2
|
//# sourceMappingURL=FactExplorerDialog.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{Fade as i}from"@material-ui/core";import{useState as m,useEffect as c}from"react";const s=({children:t})=>{const[e,o]=m(!1);return c(()=>{const r=setTimeout(()=>{o(!0)},250);return()=>clearTimeout(r)},[]),n(i,{in:e,timeout:250,children:t})};export{s as FadeIn};
|
|
2
2
|
//# sourceMappingURL=FadeIn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t,jsxs as L}from"react/jsx-runtime";import{makeStyles as z,FormControlLabel as A,Checkbox as I,Typography as N,Box as j,TextField as B}from"@material-ui/core";import E from"@material-ui/icons/CheckBox";import G from"@material-ui/icons/CheckBoxOutlineBlank";import U from"@material-ui/icons/ExpandMore";import{Autocomplete as V}from"@material-ui/lab";import{useState as D,useMemo as s,useCallback as d}from"react";import{useGetEntityFacets as H}from"../../hooks/catalog/useGetEntityFacets.esm.js";import{FormFieldLabel as M}from"../FormFieldLabel/FormFieldLabel.esm.js";import{ListboxVirtualized as P}from"../ListboxVirtualized/ListboxVirtualized.esm.js";const $=z({container:{padding:0},formControl:{flexGrow:1},label:{lineHeight:"1em"}}),q=({facet:f,label:b,values:l,onChange:n,disabled:g,filter:x,renderOption:u,renderTags:k,facetFilter:h})=>{const i=$(),[y,c]=D(!1),{data:r,isLoading:C,error:S}=H(f,x),o=s(()=>r?.filter(h??(()=>!0)).map(e=>e.toLocaleLowerCase("en-US")),[r,h]),m=s(()=>l?.map(e=>e.toLocaleLowerCase("en-US"))??[],[l]),F=d((e,a)=>{n(a),o&&o.every(p=>a.includes(p))&&c(!1)},[o,n]),v=d(()=>{n(l?.length?l:void 0)},[l,n]),O=d((e,a)=>u?.(e,a)??t(A,{onClick:p=>p.preventDefault(),control:t(I,{icon:t(G,{fontSize:"small"}),checkedIcon:t(E,{fontSize:"small"}),checked:a.selected}),label:e,classes:{label:i.label}}),[u,i.label]),T=s(()=>g||C||!l?.length&&(!r?.length||!o?.length),[g,C,l?.length,r?.length,o?.length]),w=s(()=>Array.from(new Set([...o??[],...m])),[o,m]);return S?L(N,{color:"error",children:["Failed to load facet: ",f]}):L(j,{pb:1,pt:1,className:i.container,children:[t(M,{title:b,docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/filters"}),t(V,{open:y,onOpen:()=>c(!0),onClose:()=>c(!1),className:i.formControl,multiple:!0,limitTags:4,disableCloseOnSelect:!0,"aria-label":b,options:w,value:m,getOptionLabel:e=>r&&o?r[o.indexOf(e)]??e:e,onChange:F,onBlur:v,disabled:T,ListboxComponent:P,renderOption:O,renderTags:k,size:"small",popupIcon:t(U,{"data-testid":"selected-facets-expand"}),renderInput:e=>t(B,{...e,variant:"outlined"})})]})};export{q as EntityAutocompletePicker};
|
|
2
2
|
//# sourceMappingURL=EntityAutocompletePicker.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsxs as i,Fragment as $,jsx as e}from"react/jsx-runtime";import{makeStyles as j,Divider as z,Box as p,Tabs as X,Tab as O,Grid as d,Paper as Y,Typography as w,Chip as P,Switch as G,FormHelperText as H}from"@material-ui/core";import{isEmpty as I}from"lodash";import{useState as M,useMemo as K}from"react";import{useFormContext as _}from"react-hook-form";import q from"react-use/lib/useLocalStorage";import{FormFieldLabel as V}from"../FormFieldLabel/FormFieldLabel.esm.js";import{EntityAutocompletePicker as J}from"./EntityAutocompletePicker.esm.js";import{FilterKeyValueInput as L}from"./FilterKeyValueInput.esm.js";import{FilterPreviewTable as Q}from"./FilterPreviewTable/FilterPreviewTable.esm.js";import{FILTER_OPTIONS as E,emptyFilters as U}from"./types.esm.js";import{filterPresent as A,isValidOtherFilterKey as Z}from"./utils.esm.js";const ee=j(l=>({title:{fontWeight:700},filterContainer:{display:"flex",flexWrap:"wrap"},selectionTabs:{marginBottom:l.spacing(2)},divider:{marginTop:l.spacing(2)},filterDisplayBox:{padding:l.spacing(2),paddingLeft:l.spacing(4),border:`1px solid ${l.palette.divider}`,marginBottom:l.spacing(0),display:"flex",alignItems:"center",flex:1},error:{borderColor:l.palette.error.main}})),f=l=>I(l)?"":`${l.length>1?`[${l.join(", ")}]`:l[0]}`,le=({filterValue:l,excludeFilter:h,keyValueFilter:m,excludeKeyValueFilter:o})=>{const s=(a=U())=>E.map(t=>I(a[t.key])?"":`${t.facet}: ${f(a[t.key])}`).filter(t=>!!t),n=a=>[a?.selectedLabels?.map(t=>`metadata.labels.${t.key}: ${f(t.value)}`),a?.selectedAnnotations?.map(t=>`metadata.annotations.${t.key}: ${f(t.value)}`),a?.selectedOtherFilters?.map(t=>`${t.key}: ${f(t.value)}`)].flat(),y=[...s(l),...n(m)],c=[...s(h),...n(o)];return{includeFilterDisplay:y,excludeFilterDisplay:c}},te=({filterName:l,disabled:h,keyValueFilterName:m,excludeFilterName:o,excludeKeyValueFilterName:s})=>{const n=ee(),{setValue:y,watch:c}=_(),[a,t]=M(0),[g,W]=q("soundcheck-show-preview",!0),B=K(()=>a===0?l:o,[o,l,a]),u=K(()=>a===0?m:s,[s,m,a]),C=c(B??l),R=r=>k=>{y(B??l,{...C,[r]:k??[]})},x=c(l),F=o?c(o):void 0,b=m?c(m):void 0,v=s?c(s):void 0,{includeFilterDisplay:S,excludeFilterDisplay:T}=le({filterValue:x,excludeFilter:F,keyValueFilter:b,excludeKeyValueFilter:v}),N=A(x,b),D=A(F,v);return i($,{children:[o&&i($,{children:[e(z,{className:n.divider}),e(p,{className:n.selectionTabs,children:i(X,{value:a,onChange:(r,k)=>t(k),children:[e(O,{label:"Include Filters","aria-label":"include filters"}),e(O,{label:"Exclude Filters","aria-label":"exclude filters"})]})})]}),i(d,{container:!0,spacing:6,children:[i(d,{item:!0,container:!0,className:n.filterContainer,spacing:2,children:[E.map(r=>e(d,{item:!0,xs:12,sm:6,md:4,children:e(J,{...r,values:C?.[r.key],onChange:R(r.key),disabled:h})},r.key)),u&&i($,{children:[i(d,{item:!0,xs:12,sm:6,md:4,children:[e(V,{title:"Label",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/filters"}),e(L,{name:`${u}.selectedLabels`,title:"Label Filter"})]}),i(d,{item:!0,xs:12,sm:6,md:4,children:[e(V,{title:"Annotation",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/filters"}),e(L,{name:`${u}.selectedAnnotations`,title:"Annotation Filter"})]}),i(d,{item:!0,xs:12,sm:6,md:4,children:[e(V,{title:"Other",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/filters"}),e(L,{name:`${u}.selectedOtherFilters`,title:"Other Catalog Filter",validateKey:Z})]})]})]}),i(d,{item:!0,xs:12,children:[i(Y,{className:`${n.filterDisplayBox} ${!N&&D?n.error:""}`,elevation:0,children:[i(p,{flex:1,overflow:"auto",children:[i(p,{display:"flex",flexWrap:"wrap",alignItems:"center",style:{overflowX:"auto",overflowY:"hidden"},children:[e(w,{style:{marginRight:4,marginBottom:4},variant:"subtitle2",component:"span",children:"Filter:"}),S.map(r=>e(P,{size:"small",label:r,style:{marginBottom:4}},r))]}),T.length>0&&i(p,{display:"flex",flexWrap:"wrap",alignItems:"center",style:{overflowX:"auto",overflowY:"hidden"},children:[e(w,{style:{marginRight:4,marginBottom:4},variant:"subtitle2",component:"span",children:"Exclude:"}),T.map(r=>e(P,{size:"small",label:r,style:{marginBottom:4}},r))]})]}),e(w,{style:{marginLeft:10},variant:"subtitle2",component:"div",children:"Preview"}),e(p,{children:e(G,{checked:g,onChange:()=>{W(!g)},inputProps:{"aria-label":"toggle entity preview"}})})]}),e(p,{marginBottom:2,children:!N&&D&&e(H,{error:!0,children:"Exclude filter cannot be used alone. Please add an include filter."})}),g&&e(Q,{filter:x,keyValueFilter:b,excludeFilter:F,excludeKeyValueFilter:v})]})]})]})};export{te as FilterComponent};
|
|
2
2
|
//# sourceMappingURL=FilterComponent.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useTheme as
|
|
1
|
+
import{jsxs as v,jsx as t}from"react/jsx-runtime";import{useTheme as f,Box as C,FormControl as x,Select as F,Chip as S,FormHelperText as K}from"@material-ui/core";import{useState as V,useMemo as b,useCallback as j}from"react";import{useFormContext as k}from"react-hook-form";import{KeyValueInputDialog as I}from"./KeyValueInputDialog.esm.js";const T=({name:l,title:m,validateKey:u})=>{const{setValue:i,getFieldState:d,trigger:n,watch:c}=k(),a=c(l),{error:s}=d(l),[g,p]=V(!1),r=f(),y=b(()=>a?.map(e=>`${e.key}:${e.value?.join(" | ")}`)??[],[a]),h=j(e=>{i(l,e),n(l)},[l,i,n]);return v(C,{children:[t(I,{title:m,values:a,open:g,handleClose:()=>p(!1),onSave:h,validateKey:u}),t(x,{size:"small",fullWidth:!0,children:t(F,{value:y,onChange:()=>{},multiple:!0,variant:"outlined",open:!1,onOpen:()=>p(!0),onClose:()=>{},error:!!s,displayEmpty:!0,SelectDisplayProps:{style:{paddingLeft:r.spacing(.75)}},renderValue:e=>e.map(o=>t(S,{size:"small",style:{marginTop:-r.spacing(1),marginBottom:-r.spacing(1)},label:o.length>40?`${o.substring(0,35)}...`:o},o))})}),s&&t(K,{error:!0,children:"Invalid key value pair detected."})]})};export{T as FilterKeyValueInput};
|
|
2
2
|
//# sourceMappingURL=FilterKeyValueInput.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RELATION_PART_OF as
|
|
1
|
+
import{jsx as l,Fragment as c}from"react/jsx-runtime";import{RELATION_PART_OF as f,RELATION_OWNED_BY as p}from"@backstage/catalog-model";import{EntityRefLink as u,EntityRefLinks as y,getEntityRelations as g,humanizeEntityRef as C}from"@backstage/plugin-catalog-react";import{Chip as R}from"@material-ui/core";const m=e=>{const{title:i,relation:d,defaultKind:r,filter:s}=e,o=t=>g(t,d,s),n=t=>o(t).map(a=>C(a,{defaultKind:r})).join(", ");return{title:i,customFilterAndSearch(t,a){return n(a).includes(t)},customSort(t,a){return n(t).localeCompare(n(a))},render:t=>l(y,{entityRefs:o(t),defaultKind:r,target:"_blank"})}},h=()=>({title:"Name",highlight:!0,customFilterAndSearch:(e,i)=>i.metadata.name.toLowerCase().includes(e.toLowerCase()),render:e=>l(u,{entityRef:e,title:e.metadata?.title,target:"_blank",rel:"noreferrer"})}),x=()=>m({title:"System",relation:f,defaultKind:"system",filter:{kind:"system"}}),E=()=>m({title:"Owner",relation:p,defaultKind:"group"}),L=()=>({title:"Lifecycle",field:"spec.lifecycle"}),S=()=>({title:"Kind",field:"kind"}),T=()=>({title:"Type",field:"spec.type"}),K=()=>({title:"Tags",field:"metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:e=>l(c,{children:e.metadata.tags&&e.metadata.tags.map(i=>l(R,{label:i,size:"small",variant:"outlined",style:{marginTop:"4px",marginBottom:"4px"}},i))})});export{h as createEntityRefColumn,S as createKindColumn,E as createOwnerColumn,L as createSpecLifecycleColumn,T as createSpecTypeColumn,x as createSystemColumn,K as createTagsColumn};
|
|
2
2
|
//# sourceMappingURL=EntityTableColumns.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as
|
|
1
|
+
import{jsx as h,Fragment as V}from"react/jsx-runtime";import{parseEntityRef as j}from"@backstage/catalog-model";import{Table as k}from"@backstage/core-components";import{makeStyles as D,useTheme as K}from"@material-ui/core";import{combineEntityFilterQueries as O,difference as N}from"@spotify/backstage-plugin-soundcheck-common";import{useState as F,useMemo as u}from"react";import{useEntitiesByRefs as A}from"../../../hooks/catalog/useEntitiesByRefs.esm.js";import{useGetEntityRefs as C}from"../../../hooks/catalog/useGetEntityRefs.esm.js";import{mapFiltersToCatalogFilter as b}from"../utils.esm.js";import{createEntityRefColumn as B,createSystemColumn as M,createOwnerColumn as W,createKindColumn as G,createSpecTypeColumn as I,createSpecLifecycleColumn as Q,createTagsColumn as U}from"./EntityTableColumns.esm.js";const X=D(()=>({entityTable:{'& span[class*="CatalogReactEntityDisplayName-root"]':{"&:hover":{textDecoration:"underline"}}}})),z=[B(),M(),W(),G(),I(),Q(),U()],$=15e3,q=({filter:d,excludeFilter:p,keyValueFilter:y,excludeKeyValueFilter:g})=>{const i=b(d,y),l=!!i?.[0]&&Object.values(i[0]).some(a=>!!a),o=p||g?b(p,g):[],e=!!o?.[0]&&Object.values(o[0]).some(a=>!!a),{data:r,isFetching:m}=C(i,e&&!l?$:void 0,l),c=e?O(i,o):void 0,{data:n,isFetching:f}=C(c??{},void 0,l&&!!c);return{allEntityRefs:u(()=>N(r??[],n??[]),[n,r]),isLoading:m||f}},H=({filter:d,excludeFilter:p,keyValueFilter:y,excludeKeyValueFilter:g,additionalColumns:i=[],title:l,hideTags:o=!1})=>{const[e,r]=F({page:0,pageSize:10}),[m,c]=F(""),{allEntityRefs:n,isLoading:f}=q({filter:d,excludeFilter:p,keyValueFilter:y,excludeKeyValueFilter:g}),a=u(()=>{const t=new RegExp(m,"i");return n.filter(P=>j(P).name.match(t))},[n,m]),s=a.length,R=K(),w=X(),x=u(()=>a.slice(e.page*e.pageSize,(e.page+1)*e.pageSize),[a,e.page,e.pageSize]),{data:T,isLoading:S}=A({entityRefs:x}),E=u(()=>o?[...z.slice(0,-1),...i]:[...z,...i],[i,o]),v=s>0?`All (${s||0}) `:"No Items",L=l||v;return h(V,{children:h("div",{className:w.entityTable,children:h(k,{title:L,columns:E,subtitle:s===0?"Add or adjust filters to see preview.":"",data:T?.items?.filter(t=>!!t)??[],isLoading:S||f,options:{padding:"dense",paging:s>e.pageSize,toolbar:!0,draggable:!1,tableLayout:"fixed",search:!0,showTitle:!0,rowStyle:{fontSize:R.typography.body1.fontSize},showFirstLastPageButtons:!1,emptyRowsWhenPaging:!0,pageSizeOptions:[10,25,50],loadingType:"linear",showEmptyDataSourceMessage:!S,pageSize:e.pageSize,sorting:!1},onPageChange:t=>{r({...e,page:t})},onSearchChange:t=>{c(t)},onRowsPerPageChange:t=>{r({...e,pageSize:t})},page:e.page,totalCount:s,localization:{pagination:{labelDisplayedRows:""}}})})})};export{H as FilterPreviewTable};
|
|
2
2
|
//# sourceMappingURL=FilterPreviewTable.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{jsx as e,jsxs as v,Fragment as z}from"react/jsx-runtime";import{Box as i,IconButton as B,Divider as V,Button as T,FormHelperText as A,TextField as W,Chip as E}from"@material-ui/core";import F from"@material-ui/icons/Add";import G from"@material-ui/icons/Delete";import{useEffect as $,useCallback as f,useMemo as j,useState as L}from"react";import{useImmer as w}from"use-immer";import{SoundcheckDialog as M}from"../SoundcheckDialog/SoundcheckDialog.esm.js";const D=({value:h,onChange:c,onKeyDown:u,placeholder:o,endAdornment:m,error:r,helperText:t})=>v(z,{children:[t&&e(A,{error:r,children:t}),e(i,{display:"flex",alignItems:"center",children:e(W,{value:h,onChange:c,variant:"outlined",margin:"dense",fullWidth:!0,onKeyDown:u,placeholder:o,InputProps:{endAdornment:m},error:r})})]}),H=({values:h,addValue:c,deleteValue:u})=>{const[o,m]=L("");return v(i,{width:"100%",children:[e(i,{marginTop:1,marginBottom:1,display:"flex",gridGap:1,flexWrap:"wrap",children:h.map(r=>e(E,{label:r,size:"small",onDelete:()=>u(r),style:{marginBottom:4}},r))}),e(D,{value:o,onChange:r=>m(r.currentTarget.value),onKeyDown:r=>{r.key==="Enter"&&(c(o),m(""))},placeholder:"Type a value and press enter to add to value list.",endAdornment:e(i,{display:"flex",alignItems:"center",children:e(T,{onClick:()=>c(o),style:{padding:0},size:"small",variant:"text",disabled:!o?.length,children:"Add"})})})]})},P=({title:h,open:c,handleClose:u,values:o,onSave:m,validateKey:r})=>{const[t,d]=w([{key:"",value:[]}]);$(()=>{o?.length>0?d(o):d([{key:"",value:[]}])},[o]);const[y,g]=w({}),x=f(({key:a,value:l,idx:n})=>{d(p=>{const s=p[n];s.key=a===void 0?s.key:a,s.value=l===void 0?s.value:l,a&&y[n]&&g(k=>{k[n]=""})})},[y,g,d]),I=f(a=>{d(l=>{l.splice(a,1),l.length===0&&l.push({key:"",value:[]})})},[d]),b=f(a=>{d(l=>{l.splice(a+1,0,{key:"",value:[]})})},[d]),K=f(()=>{let a=!1;if(r){const n=t.map(s=>s.key);let p=0;g(s=>{for(const k of n){const{errorMessage:C}=r(k);C&&(a=!0),s[p]=C??"",p++}})}if(a)return;const l=t.filter(n=>n.key&&n.value);m(l),u()},[r,t,m,u,g]),S=j(()=>t.every(a=>!!a.key&&a.value?.length||!a.key&&!a.value?.length),[t]);return e(M,{title:h,open:c,handleClose:u,fullScreen:!1,children:v(i,{marginLeft:1,minWidth:640,children:[t.map((a,l)=>v(i,{children:[v(i,{display:"flex",alignItems:"flex-end",gridGap:12,marginBottom:2,children:[e(i,{flexGrow:1,children:e(D,{value:a.key,onChange:n=>x({key:n.target.value,idx:l}),placeholder:"Key",error:!!y[l],helperText:y[l]})}),e(i,{width:480,children:e(H,{values:a.value,addValue:n=>{x({idx:l,value:[...a.value,n]})},deleteValue:n=>{x({idx:l,value:a.value.filter(p=>p!==n)})}})}),e(i,{marginBottom:.75,children:e(B,{"aria-label":`remove index ${l} key value pair`,size:"small",onClick:()=>b(l),children:e(F,{})})}),e(i,{marginBottom:.75,children:e(B,{"aria-label":`remove index ${l} key value pair`,size:"small",onClick:()=>I(l),children:e(G,{})})})]}),e(V,{})]},l)),e(i,{display:"flex",paddingTop:2,marginTop:1,children:e(T,{variant:"contained",size:"medium",color:"primary",onClick:K,disabled:!S,children:"Save"})})]})})};export{P as KeyValueInputDialog};
|
|
2
2
|
//# sourceMappingURL=KeyValueInputDialog.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as s,jsx as e,Fragment as p}from"react/jsx-runtime";import{createElement as T}from"react";import{parseEntityRef as w}from"@backstage/catalog-model";import{useApi as E,configApiRef as L}from"@backstage/core-plugin-api";import{EntityDisplayName as h}from"@backstage/plugin-catalog-react";import{makeStyles as O,Box as f,Typography as R,Button as g,Grid as n,Checkbox as z,Chip as N}from"@material-ui/core";import{combineEntityFilterQueries as j}from"@spotify/backstage-plugin-soundcheck-common";import{getGroupFilterFromConfig as B}from"../../utils/getGroupFilterFromConfig.esm.js";import{EntitiesAutocompletePicker as W}from"../EntitiesAutocompletePicker/EntitiesAutocompletePicker.esm.js";import{EntityAutocompletePicker as c}from"../Filter/EntityAutocompletePicker.esm.js";const y=(i,{selected:r})=>s(p,{children:[e(z,{value:i,checked:r,color:"primary"}),e(h,{entityRef:i})]}),u=(i,r)=>e(p,{children:i.map((l,a)=>T(N,{...r({index:a}),key:l,label:e(h,{entityRef:l}),size:"small"}))}),D=i=>{try{return w(i).kind.toLowerCase()==="system"}catch{return!1}},G=O(i=>({sidebar:{width:"275px",flexShrink:0,height:"100%",padding:i.spacing(3),display:"flex",flexDirection:"column",borderRight:`1px solid ${i.palette.divider}`},filterLabel:{fontWeight:"bold",marginBottom:i.spacing(1)},additionalFilters:{marginTop:i.spacing(2)}})),P=({trackFilter:i,stagedTypes:r,stagedLifecycles:l,stagedOwners:a,stagedSystems:d,onTypesChange:b,onLifecyclesChange:C,onOwnersChange:x,onSystemsChange:F,onApplyFilters:k,onClearFilters:v,hasFilterChanges:A,children:m})=>{const o=G(),S=E(L);return s("div",{className:o.sidebar,children:[s(f,{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1,children:[e(R,{variant:"subtitle2",className:o.filterLabel,children:"Filters"}),(r.length>0||l.length>0||a.length>0||d.length>0)&&e(g,{size:"small",onClick:v,children:"Clear All"})]}),s(n,{container:!0,spacing:1,children:[e(n,{item:!0,xs:12,children:e(c,{facet:"spec.type",label:"Type",values:r,onChange:t=>b(t??[]),filter:i})}),e(n,{item:!0,xs:12,children:e(c,{facet:"spec.lifecycle",label:"Lifecycle",values:l,onChange:t=>C(t??[]),filter:i})}),e(n,{item:!0,xs:12,children:e(W,{label:"Owner",values:a,onChange:t=>x(t??[]),filter:j({kind:["group"]},B(S)),renderOption:y,renderTags:u})}),e(n,{item:!0,xs:12,children:e(c,{facet:"relations.partOf",label:"System",values:d,onChange:t=>F(t??[]),filter:i,renderOption:y,renderTags:u,facetFilter:D})})]}),m&&e("div",{className:o.additionalFilters,children:m}),e(f,{mt:2,children:e(g,{variant:"contained",color:"primary",size:"small",fullWidth:!0,onClick:k,disabled:!A,children:"Apply Filters"})})]})};export{P as FilterSidebar};
|
|
2
|
+
//# sourceMappingURL=FilterSidebar.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as s,jsx as e}from"react/jsx-runtime";import{makeStyles as h,Box as l,TextField as C,FormControlLabel as S,Checkbox as b,Typography as g}from"@material-ui/core";import x from"@material-ui/icons/CheckBox";import k from"@material-ui/icons/CheckBoxOutlineBlank";import L from"@material-ui/icons/ExpandMore";import{Autocomplete as I}from"@material-ui/lab";import{useState as A,useEffect as F,useCallback as c}from"react";import{CheckIcon as N}from"../CheckIcon/CheckIcon.esm.js";import{FormFieldLabel as T}from"../FormFieldLabel/FormFieldLabel.esm.js";import{ListboxVirtualized as y}from"../ListboxVirtualized/ListboxVirtualized.esm.js";const O=h({container:{padding:0},formControl:{flexGrow:1},label:{lineHeight:"1em"}});function m(r){return r.toLowerCase().split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const v=(r,{selected:t})=>e(S,{onClick:o=>o.preventDefault(),control:e(b,{icon:e(k,{fontSize:"small"}),checkedIcon:e(x,{fontSize:"small"}),checked:t}),label:s(l,{display:"flex",alignItems:"center",children:[e(N,{result:r}),e(l,{mr:1}),e(g,{children:m(r)})]})}),z=({states:r,stagedStates:t,onStagedStatesChange:o})=>{const n=O(),[p,a]=A(!1);F(()=>{o(r)},[r,o]);const d=c((i,u)=>{o(u)},[o]),f=c(()=>{o(t?.length?t:[])},[t,o]);return s(l,{pb:1,pt:1,className:n.container,children:[e(T,{title:"State",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/filters"}),e(I,{open:p,onOpen:()=>a(!0),onClose:()=>a(!1),className:n.formControl,multiple:!0,limitTags:4,disableCloseOnSelect:!0,"aria-label":"State",options:["PASSED","FAILED","WARNING","NOT_APPLICABLE"],value:t,getOptionLabel:m,onChange:d,onBlur:f,ListboxComponent:y,renderOption:v,size:"small",popupIcon:e(L,{"data-testid":"selected-facets-expand"}),renderInput:i=>e(C,{...i,variant:"outlined"})})]})};export{z as StateFilter};
|
|
2
|
+
//# sourceMappingURL=StateFilter.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{jsx as e,jsxs as m}from"react/jsx-runtime";import{Box as d,Paper as g,Grid as o,Button as i}from"@material-ui/core";import{makeStyles as p}from"@material-ui/core/styles";const f=p(n=>({box:{zIndex:9,bottom:"0"},footer:{padding:n.spacing(1,2)},noMargin:{margin:0},cancelButton:{color:n.palette.text.primary},saveButton:{marginRight:n.spacing(2),marginLeft:n.spacing(3)},noLeftMargin:{marginLeft:0}})),x=({onCancel:n,saveButtonText:r,isLoading:c,onSave:a,disableSave:s,noMargin:l})=>{const t=f();return e(d,{className:t.box,children:e(g,{elevation:3,className:t.footer,children:m(o,{container:!0,item:!0,spacing:2,justifyContent:"flex-start",className:t.noMargin,children:[e(o,{item:!0,children:a&&e(i,{variant:"contained",color:"primary",disabled:c||s,onClick:a?()=>a():void 0,className:`${t.saveButton} ${l?t.noLeftMargin:""}`,children:r})}),e(o,{item:!0,children:e(i,{variant:"text",color:"primary",onClick:n,className:t.cancelButton,children:"Cancel"})})]})})})};export{x as FooterButtons};
|
|
2
2
|
//# sourceMappingURL=FooterButtons.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{TextField as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{TextField as L}from"@material-ui/core";import{Autocomplete as T}from"@material-ui/lab";import{useState as v,useMemo as V}from"react";import{ListboxVirtualized as A}from"../ListboxVirtualized/ListboxVirtualized.esm.js";const W=({options:r,onChange:a,value:e,placeholder:p,getOptionLabel:d,disabled:u,fullWidth:s,noOptionsText:m,freeSolo:c=!1,isLoading:g=!1,autoSelect:O=!0,renderOption:f,testId:S,disableCloseOnSelect:b,multiple:t,multipleValue:n,getOptionSelected:x})=>{const[C,h]=v(e??""),I=V(()=>t?n||[]:e||null,[t,n,e]);return i(T,{multiple:t,disableCloseOnSelect:b,options:r,inputValue:C,onInputChange:(o,l)=>h(l),onChange:(o,l)=>a(l),value:I,getOptionLabel:d,ListboxComponent:A,disabled:u,fullWidth:s,noOptionsText:m,freeSolo:c,loading:g,closeIcon:null,getOptionSelected:x,autoSelect:O,renderOption:f,renderTags:()=>null,"data-testid":S,renderInput:o=>i(L,{...o,placeholder:p,variant:"outlined",margin:"dense"})})};export{W as ControlledAutocomplete};
|
|
2
2
|
//# sourceMappingURL=ControlledAutocomplete.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as I,TextField as L}from"@material-ui/core";import{Autocomplete as y}from"@material-ui/lab";import
|
|
1
|
+
import{jsx as s}from"react/jsx-runtime";import{makeStyles as I,TextField as L}from"@material-ui/core";import{Autocomplete as y}from"@material-ui/lab";import{Controller as F}from"react-hook-form";import{ListboxVirtualized as O}from"../ListboxVirtualized/ListboxVirtualized.esm.js";const c=I(l=>({clearIndicator:{marginRight:l.spacing(1)},helperText:{marginLeft:0},noMargin:{margin:0}})),W=({name:l,rules:u,label:g,control:h,options:b,getOptionLabel:f,getOptionValue:t,onChange:d,disabled:x,placeholder:C,freeSolo:v=!0,width:m,helperText:S,disableClearable:T,fullWidth:p})=>{const a=c();return s(F,{name:l,control:h,rules:u,render:({field:o,fieldState:n})=>s(y,{...o,value:o.value===""?null:o.value,freeSolo:v,autoSelect:!0,"data-testid":`${l}-autocomplete`,style:m?{width:m}:{minWidth:p?void 0:250},disabled:x,options:b,getOptionLabel:f,classes:{clearIndicator:a.clearIndicator},disableClearable:T,fullWidth:p,renderInput:i=>s(L,{...i,variant:"outlined",label:g,error:n.invalid,placeholder:C,FormHelperTextProps:{className:a.helperText},margin:"dense",className:a.noMargin,helperText:S??(n.error?n.error.message:null)}),onChange:(i,e)=>{const r=t?t(e):e;d?.(r),o.onChange(r)},onInputChange:(i,e)=>{const r=t?t(e):e;d?.(r)},ListboxComponent:O})})};export{W as FormControlledAutocomplete,c as useStyles};
|
|
2
2
|
//# sourceMappingURL=FormControlledAutocomplete.esm.js.map
|
package/dist/components/FormControlledAutocomplete/FormControlledMultipleAutocomplete.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{TextField as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{TextField as L,FormControlLabel as k,Checkbox as z}from"@material-ui/core";import F from"@material-ui/icons/CheckBox";import I from"@material-ui/icons/CheckBoxOutlineBlank";import{Autocomplete as O}from"@material-ui/lab";import{Controller as N}from"react-hook-form";import{ListboxVirtualized as W}from"../ListboxVirtualized/ListboxVirtualized.esm.js";import{useStyles as w}from"./FormControlledAutocomplete.esm.js";const y=({name:i,rules:p,label:c,control:u,options:f,getOptionLabel:h,getOptionValue:m,onChange:b,disabled:C,placeholder:g,freeSolo:x=!0,width:s,helperText:v,disableClearable:S,fullWidth:d})=>{const a=w();return e(N,{name:i,control:u,rules:p,render:({field:l,fieldState:n})=>e(O,{...l,value:l.value,freeSolo:x,autoSelect:!0,"data-testid":`${i}-autocomplete`,style:s?{width:s}:{minWidth:d?void 0:250},disabled:C,options:f,getOptionLabel:h,classes:{clearIndicator:a.clearIndicator},disableClearable:S,fullWidth:d,multiple:!0,size:"small",renderInput:o=>e(L,{...o,variant:"outlined",label:c,error:n.invalid,placeholder:l.value?.length?"":g,FormHelperTextProps:{className:a.helperText},margin:"dense",className:a.noMargin,helperText:v??(n.error?n.error.message:null)}),renderOption:(o,{selected:t})=>e(k,{onClick:r=>r.preventDefault(),control:e(z,{icon:e(I,{fontSize:"small"}),checkedIcon:e(F,{fontSize:"small"}),checked:t}),label:o}),onChange:(o,t)=>{const r=m?t.map(T=>m(T)):t;b?.(r),l.onChange(r)},ListboxComponent:W})})};export{y as FormControlledMultipleAutocomplete};
|
|
2
2
|
//# sourceMappingURL=FormControlledMultipleAutocomplete.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as g,FormControl as
|
|
1
|
+
import{jsx as r,jsxs as i}from"react/jsx-runtime";import{makeStyles as g,FormControl as v,InputLabel as f,Select as y,MenuItem as c,FormHelperText as k}from"@material-ui/core";import{Controller as F}from"react-hook-form";const C=g(e=>({helperText:{marginLeft:0},selectField:{width:"100%",display:"flex",alignItems:"center"},menuBackground:{backgroundColor:e.palette.background.paper}})),I=({name:e,control:m,selectLabel:t,options:p,disabled:u,rules:b,style:h,helperText:n,placeholder:d})=>{const a=C();return r(F,{name:e,control:m,rules:b,render:({field:s,fieldState:l})=>i(v,{variant:"outlined",style:h??{minWidth:200},error:l.invalid,children:[t&&r(f,{id:`${e}-select-label`,children:t}),i(y,{...s,className:a.selectField,disabled:u,error:l.invalid,"data-testid":`${e}-select`,labelId:`${e}-select-label`,label:t,displayEmpty:!0,value:s.value??"",MenuProps:{classes:{paper:a.menuBackground}},margin:"dense",children:[d&&r(c,{value:"",disabled:!0,children:d}),p?.map(({value:o,label:x})=>r(c,{value:o,"data-testid":`${o}-menu-item`,children:x},o))]}),(n||l.error)&&r(k,{className:a.helperText,children:l.error?l.error.message:n})]})})};export{I as FormControlledSelect};
|
|
2
2
|
//# sourceMappingURL=FormControlledSelect.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{TextField as n}from"@material-ui/core";import
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{TextField as n}from"@material-ui/core";import{Controller as p}from"react-hook-form";const c=({control:o,disabled:t,className:a,helperTextClassName:d,name:m,placeholder:s,fullWidth:i})=>l(p,{name:m,control:o,render:({field:e,fieldState:r})=>l(n,{...e,value:e.value??"",type:"text",variant:"outlined",margin:"dense",placeholder:s,className:a,disabled:t,error:!!r.error,helperText:r.error?.message,FormHelperTextProps:{className:d},fullWidth:i})});export{c as FormControlledTextField};
|
|
2
2
|
//# sourceMappingURL=FormControlledTextField.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as l,Typography as
|
|
1
|
+
import{jsxs as i,jsx as r}from"react/jsx-runtime";import{makeStyles as l,Typography as o,Link as a}from"@material-ui/core";import m from"@material-ui/icons/InfoOutlined";const s=l(()=>({centerAlignment:{display:"flex",alignItems:"center"}})),c=({title:t,docLink:e})=>{const n=s();return i(o,{variant:"subtitle2",className:n.centerAlignment,children:[t,e&&r(a,{className:n.centerAlignment,target:"_blank",rel:"noopener noreferrer",href:e,children:r(m,{style:{marginLeft:4},fontSize:"inherit"})})]})};export{c as FormFieldLabel};
|
|
2
2
|
//# sourceMappingURL=FormFieldLabel.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as d,jsx as e}from"react/jsx-runtime";import{Typography as p}from"@material-ui/core";import{formStyles as s}from"../../utils/formStyles.esm.js";import"@backstage/catalog-model";import"@spotify/backstage-plugin-soundcheck-common";import"lodash";import{FilterComponent as c}from"../Filter/FilterComponent.esm.js";const n=({description:r,name:i,keyValueFilterName:t,excludeFilterName:l,excludeKeyValueFilterName:m,disabled:o})=>{const a=s();return d("div",{className:a.filters,children:[e(p,{variant:"body2",children:r}),e(c,{filterName:i,keyValueFilterName:t,disabled:o,excludeFilterName:l,excludeKeyValueFilterName:m})]})};export{n as FormFilterSection};
|
|
2
2
|
//# sourceMappingURL=FormFilterSection.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useTheme as v,Typography as
|
|
1
|
+
import{jsx as r,jsxs as n}from"react/jsx-runtime";import{useTheme as v,Typography as i}from"@material-ui/core";import{makeStyles as w}from"@material-ui/core/styles";import p from"@uiw/react-md-editor";import{Controller as T}from"react-hook-form";import c from"remark-gfm";import{ALLOWED_HTML_TAGS as h}from"../SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js";import{components as k}from"../SoundcheckMarkdownContent/ComponentRenders.esm.js";const y=w(e=>({markdown:{whiteSpace:"pre-wrap",marginBottom:e.spacing(1)},container:{display:"flex",flexDirection:"column",gap:e.spacing(1)},helperText:{color:e.palette.grey[500]},errorText:{color:e.palette.error.main},errorBorder:{border:`1px solid ${e.palette.error.main}`}})),N=({name:e,control:u,label:d,description:m,disabled:a,rules:f,error:o,helperText:s,placeholder:x})=>{const g=v(),t=y();return r(T,{name:e,control:u,defaultValue:a?"No description provided.":"",rules:f,render:({field:l})=>n("div",{"data-color-mode":g.palette.type,className:t.container,children:[n("div",{children:[d&&r(i,{variant:"subtitle2",children:d}),m&&!a&&r(i,{variant:"caption",children:m})]}),n("div",{children:[a?r(p.Markdown,{className:t.markdown,source:l.value,allowedElements:h,remarkPlugins:[c]}):r(p,{textareaProps:{placeholder:x},value:l.value,className:o&&t.errorBorder,onChange:l.onChange,previewOptions:{allowedElements:h,remarkPlugins:[c],components:{details:k?.details}},"data-testid":`markdown-editor-${e}`}),(s||o)&&!a&&r(i,{variant:"caption",className:o?t.errorText:t.helperText,children:o?o.message:s})]})]})})};export{N as FormMarkdownInput};
|
|
2
2
|
//# sourceMappingURL=FormMarkdownInput.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsx as e,Fragment as C,jsxs as n}from"react/jsx-runtime";import{makeStyles as N,Grid as r,Card as T,Stepper as F,Step as L,StepLabel as w,StepContent as R,Box as j,Button as s}from"@material-ui/core";import{useStepper as A}from"../../hooks/useStepper.esm.js";import{formStyles as P}from"../../utils/formStyles.esm.js";import{FooterButtons as V}from"../FooterButtons/FooterButtons.esm.js";const G=N(i=>({iconRoot:{color:i.palette.action.disabledBackground},iconText:{fill:i.palette.text.secondary},iconActive:{"& text":{fill:i.palette.primary.contrastText}}})),I=({onClose:i,handleSubmit:p,trigger:d,onSubmit:m,initialVisited:h,stepNameMap:x,steps:l,isLoading:S,isReadOnly:v,saveButtonText:u})=>{const t=P(),a=G(),{activeStep:b,handleNext:B,handleBack:f,isPreviousStep:g,isVisitedStep:k,onStepClick:y}=A(h,x);return e(C,{children:n(r,{container:!0,spacing:2,className:t.root,children:[e(r,{item:!0,style:{width:"100%"},children:e(T,{className:t.card,children:e(F,{className:t.stepper,activeStep:b,orientation:"vertical",children:l.map((c,o)=>n(L,{children:[e(w,{className:g(o)||k(o)?t.stepLabel:void 0,onClick:()=>y(o),StepIconProps:{classes:{root:a.iconRoot,text:a.iconText,active:a.iconActive}},children:c.label}),n(R,{children:[c.content(),e(j,{className:t.buttonChoices,sx:{mb:2},children:n("div",{children:[o!==0&&e(s,{className:t.backButton,onClick:f,children:"Back"}),o!==l.length-1&&e(s,{variant:"contained",color:"primary",onClick:async()=>{await B(d)},children:"Next"})]})})]})]},c.label))})})}),e(r,{item:!0,xs:12,children:e(V,{onCancel:i,saveButtonText:u,isLoading:S,onSave:v?void 0:p(m)})})]})})};export{I as FormStepper};
|
|
2
2
|
//# sourceMappingURL=FormStepper.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as y,TextField as g}from"@material-ui/core";import
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{makeStyles as y,TextField as g}from"@material-ui/core";import{Controller as I}from"react-hook-form";const P=y(e=>({helperText:{marginLeft:0},labelText:{color:`${e.palette.text.primary} !important`}})),F=({name:e,control:o,error:r,label:n,placeholder:m,disabled:s,numbersOnly:i,inputProps:p,rules:u,messages:l,helperText:d,multiline:x,minRows:c,variant:b="standard",size:T,margin:f="normal"})=>{const t=P();return a(I,{name:e,control:o,defaultValue:"",rules:u,render:({field:h})=>a(g,{...h,FormHelperTextProps:{className:t.helperText},InputLabelProps:{className:t.labelText},fullWidth:!0,multiline:x,minRows:c,placeholder:m,label:n,disabled:s,type:i?"number":"text",InputProps:p,margin:f,error:!!r,helperText:r&&l?l[r.type]:d,variant:b,size:T})})};export{F as FormTextInput};
|
|
2
2
|
//# sourceMappingURL=FormTextInput.esm.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{makeStyles as n}from"@material-ui/core";import{dump as a}from"js-yaml";import{useMemo as p}from"react";import{SoundcheckMarkdownContent as i}from"../SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js";import"@backstage/core-components";import"react-markdown";import"rehype-raw";import"remark-gfm";const d=n(o=>({markdownBox:{padding:0,margin:0,fontSize:o.typography.body2.fontSize,"& pre":{margin:0}},preBox:{padding:o.spacing(1),fontSize:o.typography.body2.fontSize,margin:0,background:o.palette.background.paper}})),s=({data:o,dataType:r="json"})=>{const e=d(),t=p(()=>r==="json"?JSON.stringify(o,null,2):r==="yaml"?a(o,{noRefs:!0}):"",[o,r]);return t?.length&&t.length>15e4?m("pre",{className:e.preBox,children:t}):m(i,{className:e.markdownBox,content:`\`\`\`${r}
|
|
2
2
|
${t}
|
|
3
|
-
\`\`\``})};export{
|
|
3
|
+
\`\`\``})};export{s as FormattedPreview};
|
|
4
4
|
//# sourceMappingURL=FormattedPreview.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsx as n,jsxs as o}from"react/jsx-runtime";import{makeStyles as q,Grid as t,RadioGroup as F,Radio as h,Typography as p,TextField as v,FormControl as R,InputLabel as S,Select as w,MenuItem as A,Divider as H}from"@material-ui/core";import{useState as f,useRef as B,useEffect as G}from"react";import{getCronDescription as O}from"../../utils/cron.esm.js";import{MIN_TIME_UNIT_VALUE as V,MAX_TIME_UNIT_VALUE as W}from"../../utils/time.esm.js";import{TimeUnit as j}from"./types.esm.js";import{VALID_TIME_UNITS as X,toTimeUnit as z}from"./util.esm.js";const J=q(a=>({divider:{marginTop:a.spacing(3),marginBottom:a.spacing(3)},title:{cursor:"pointer"},humanDurationContainer:{alignItems:"flex-start",marginTop:3},cronInput:{width:250,marginTop:3},noPaddingLeft:{paddingLeft:0},noPadding:{padding:0},fullWidth:{width:"100%"},radioOptions:{width:"80%",paddingLeft:a.spacing(1)},selectField:{paddingRight:a.spacing(2)},inputLabel:{color:`${a.palette.text.primary} !important`},menuBackground:{backgroundColor:a.palette.background.paper}})),N=32,y=12,b=a=>a?(Math.ceil(a.length/N)-1)*y:0,K=({value:a,onChange:m,disabled:s,errors:d,intervalTitle:I,intervalDescription:L,intervalLabel:P,cronTitle:T,cronDescription:x})=>{const e=J(),[i,l]=f(a),[C,D]=f(`${a.value}`),u=B();G(()=>{m&&i!==u.current&&(u.current=i,m(i))},[i,m]);const E=r=>{l({...a,type:r.target.value})},$=r=>{D(r.target.value);const c=parseInt(r.target.value,10);l({...a,value:isNaN(c)?0:c})},M=r=>{l({...i,unit:z(r.target.value)??j.Hours})},U=r=>{const c=r.target.value;l({...i,cron:c})},_=()=>{l({...i,type:"cron"})},k=()=>{l({...i,type:"HumanDuration"})},g=d?.message??O(i.cron);return n(t,{container:!0,direction:"row",children:n(t,{item:!0,className:`${e.noPadding} ${e.fullWidth}`,children:o(F,{name:"frequencyType",value:i.type,onChange:E,children:[o(t,{container:!0,alignItems:"flex-start",className:e.fullWidth,children:[n(t,{item:!0,className:e.noPaddingLeft,children:n(h,{disabled:s,value:"HumanDuration"})}),o(t,{item:!0,className:`${e.noPadding} ${e.radioOptions}`,children:[n(p,{variant:"body1",className:e.title,onClick:k,children:I??"Run on a regular interval"}),n(p,{variant:"caption",children:L??"Set consistent time intervals."}),i.type==="HumanDuration"&&o(t,{container:!0,className:e.humanDurationContainer,spacing:2,children:[n(t,{item:!0,className:e.noPadding,children:n(v,{id:"every",type:"number",inputProps:{min:V,max:W},label:P??"Every",name:"every",disabled:s,value:C,error:!!d?.message,helperText:d?.message,onChange:$,InputLabelProps:{className:e.inputLabel}})}),n(t,{item:!0,className:e.noPadding,children:o(R,{children:[n(S,{className:e.inputLabel,id:"frequency-unit",children:"Unit"}),n(w,{labelId:"frequency-unit",disabled:s,value:i.unit,onChange:M,"data-testid":"frequency-unit",className:e.selectField,MenuProps:{classes:{paper:e.menuBackground}},children:X.map(r=>n(A,{value:r,children:r},r))})]})})]})]})]}),n(H,{className:e.divider}),o(t,{container:!0,alignItems:"flex-start",children:[n(t,{item:!0,className:e.noPaddingLeft,children:n(h,{disabled:s,value:"cron"})}),o(t,{item:!0,className:`${e.noPadding} ${e.radioOptions}`,children:[n(p,{variant:"body1",className:e.title,onClick:_,children:T??"Run on a schedule"}),n(p,{variant:"caption",children:x??"Set a specific schedule using a cron expression."}),i.type==="cron"&&n(t,{item:!0,className:e.noPadding,children:n(v,{id:"cron-expression","data-testid":"cron-expression",className:e.cronInput,label:g,disabled:s,placeholder:"* * * * *",error:!!d?.message,value:i.cron,onChange:U,InputProps:{style:{paddingTop:`${b(g)}px`}}})})]})]})]})})})};export{K as FrequencyComponent,b as calculateCronLabelPadding,N as characterLimitPerLine,y as paddingPerExtraLine};
|
|
2
2
|
//# sourceMappingURL=FrequencyComponent.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{groupPassRatesSummaryCsvFilename as m}from"../../utils/charts.esm.js";import"recharts";import"../Charts/ChartTypes.esm.js";import"../Charts/LineChart/LineChart.esm.js";import"@material-ui/core";import"../Charts/chartUtils.esm.js";import"luxon";import{useSummaryAggregationsContext as i}from"../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../Charts/BarChart/BarChart.esm.js";import{GroupPassRateHistoryBarChart as p}from"../Charts/BarChart/GroupPassRateHistoryBarChart.esm.js";import{OverviewChartCard as g}from"../OverviewChartCard/OverviewChartCard.esm.js";import"../OverviewChartCard/OverviewChartCardStyles.esm.js";import{overallGroupPassRatesToCsv as n}from"../TechHealthTabs/TechHealthExportFunctions.esm.js";const u=()=>{const{groupPassRatesOverviewTrends:{data:r,isLoading:a,isError:o}}=i(),s=r?.groupPassRates?.edges.length,e=!r?.groupPassRates||!s||a||o;return t(g,{title:"Team pass rate",subtitle:"Compare the aggregate pass rate for teams",chartSectionContent:t(p,{}),disableDataExport:e,csvFilename:m,csvData:n(r)})};export{u as GroupPassRateCard};
|
|
2
2
|
//# sourceMappingURL=GroupPassRateCard.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{jsx as m,jsxs as v}from"react/jsx-runtime";import{useApi as O,configApiRef as k}from"@backstage/core-plugin-api";import{makeStyles as x,alpha as y,TextField as E,CircularProgress as P}from"@material-ui/core";import w from"@material-ui/lab/Autocomplete";import{useMemo as A,useCallback as I,useEffect as f,Fragment as F}from"react";import{useSearchParams as G}from"react-router-dom";import L from"react-use/lib/useLocalStorage";import{useGroupOptions as N}from"../../hooks/groups/useGroupOptions.esm.js";const R=x(o=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:y(o.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:o.page.fontColor}},input:{backgroundColor:"transparent",color:o.page.fontColor},clearIndicator:{color:o.page.fontColor},popupIndicator:{color:o.page.fontColor},notchedOutline:{}}),{name:"SoundcheckGroupSelector"}),j=({setError:o,margin:b,baseClass:a})=>{const{options:e,isLoading:p,isError:c}=N(),t=R(),[i,h]=G(),[n,C]=L("soundcheck.overview.groupRef",null),u=i.get("group"),d=O(k).getOptionalString("soundcheck.overview.defaultSelectedGroupType"),g=A(()=>{if(!p&&e.length){if(u||n){const r=u??n;return e.find(s=>s.ref===r)??e[0]}else if(d)return e.find(r=>r.type===d)??e[0];return e[0]}return null},[d,p,e,u,n]),l=I((r,s)=>{r&&i.get("group")!==r&&(i.set("group",r),h(i,{replace:s}),C(r))},[i,C,h]),S=I((r,s)=>{l?.(s?.ref)},[l]);return f(()=>{n&&!u&&l(n,!0)},[n,u,l]),f(()=>{l(g?.ref,!0)},[l,g]),f(()=>{o?.(c?new Error("Error loading groups"):void 0)},[c,o]),c?null:m(w,{"aria-label":"Current group",className:a?"":t.root,classes:{clearIndicator:a?"":t.clearIndicator,popupIndicator:a?"":t.popupIndicator},disableClearable:!0,options:e??[],loading:p,groupBy:r=>r.key,value:g,freeSolo:!1,onChange:S,getOptionLabel:r=>r.name,renderInput:r=>m(E,{...r,variant:"outlined",placeholder:p?"Loading":"Select a group",className:t.textField,margin:b,InputProps:{...r.InputProps,className:a?"":t.input,classes:{notchedOutline:a?"":t.notchedOutline},endAdornment:v(F,{children:[p?m(P,{color:"inherit",size:20}):null,r.InputProps.endAdornment]})}})})};export{j as GroupSelector};
|
|
2
2
|
//# sourceMappingURL=GroupSelector.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useEntity as
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{useEntity as u}from"@backstage/plugin-catalog-react";import{makeStyles as y}from"@material-ui/core";import{useState as g,useEffect as v}from"react";import C from"react-confetti";import L from"react-use/lib/useMeasure";import p from"react-use/lib/usePrevious";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import{useCertificationDetailsForTrack as w}from"../../hooks/certifications/useCertificationDetailsForTrack.esm.js";import"@spotify/backstage-plugin-soundcheck-common";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-router-dom";const P=y(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),b=({programId:t})=>{const s=P(),{entity:a}=u(),{data:f,isLoading:n}=w(a,t),[l,{width:c,height:h}]=L(),o=n?void 0:f?.highestLevel?.ordinal??-1,i=p(o),r=p(t),[d,e]=g(!1);return v(()=>{typeof i<"u"&&typeof o<"u"&&t===r&&o>i&&e(!0)},[o,i,t,r]),d?m("div",{ref:l,className:s.root,children:m(C,{width:c,height:h,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>e(!1)})}):null};export{b as LevelUpParty};
|
|
2
2
|
//# sourceMappingURL=LevelUpParty.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as a,Fragment as c,jsx as e}from"react/jsx-runtime";import{useRouteRef as u}from"@backstage/core-plugin-api";import{TableCell as d,Box as r,Typography as h,Link as N}from"@material-ui/core";import{makeStyles as w}from"@material-ui/core/styles";import{Skeleton as s}from"@material-ui/lab";import{CircularProgressbar as C,buildStyles as S}from"react-circular-progressbar";import"react-circular-progressbar/dist/styles.css";import{useSearchParams as R}from"react-router-dom";import{trackCheckDetailsRouteRef as B}from"../../routes.esm.js";import{getPercentageColor as g}from"../../utils/colors.esm.js";import{compactNumberFormatter as f}from"../../utils/formatters.esm.js";import{CheckStatusBar as v}from"../CheckStatusBar/CheckStatusBar.esm.js";const b=w(i=>({checkContent:{display:"flex",alignItems:"center",gap:i.spacing(2),width:"100%",paddingTop:i.spacing(1),paddingBottom:i.spacing(1)},checkStatus:{display:"flex",alignItems:"center",gap:i.spacing(1),minWidth:"fit-content"},checkName:{display:"flex",alignItems:"center"},checkNameLink:{color:"inherit",textDecoration:"none","&:hover":{textDecoration:"none"}},progressCircle:{width:"24px !important",height:"24px !important"},passPercentage:{fontWeight:"bold",fontSize:"1.25em",minWidth:"50px"},passingText:{color:i.palette.text.secondary,display:"flex",flexDirection:"column",alignItems:"flex-end",lineHeight:1.2,minWidth:"40px"},categoryBarSection:{display:"flex",flexDirection:"column",alignItems:"flex-end",width:"100%",justifyContent:"flex-end"},categoryBar:{"& .MuiBox-root > div":{height:"8px"},width:"100%"},skeleton:{backgroundColor:i.palette.action.hover},passingTextCell:{width:"100px",paddingRight:0,paddingTop:i.spacing(1),paddingBottom:i.spacing(1)}})),I=({check:i,status:n,theme:o,trackId:x})=>{const t=b(),k=u(B),[m]=R(),p=n?n.numberOfEntities-n.notApplicable-n.exempt:0,l=p>0?Math.round((n?.passed??0)/p*100):0,y=`${k({trackId:x,checkId:i.id})}${m.toString()?`?${m.toString()}`:""}`;return a(c,{children:[e(d,{style:{width:"120px",paddingRight:0},children:e(r,{className:t.checkStatus,children:n?a(c,{children:[e(r,{className:t.progressCircle,children:e(C,{value:l,strokeWidth:12,styles:S({strokeLinecap:"round",pathColor:g(o,l),trailColor:o.palette.divider})})}),a(h,{className:t.passPercentage,style:{color:g(o,l)},children:[l,"%"]})]}):a(c,{children:[e(s,{variant:"circle",width:24,height:24,className:t.skeleton}),e(s,{width:45,height:24,className:t.skeleton})]})})}),e(d,{style:{width:"300px",paddingRight:0},children:e(r,{className:t.checkName,children:e(N,{href:y,className:t.checkNameLink,children:e(h,{children:i.name})})})}),e(d,{style:{width:"250px",paddingRight:0},children:e(r,{className:t.categoryBarSection,children:n?e(r,{style:{width:"100%",display:"flex",justifyContent:"flex-end"},children:e(v,{status:n,className:t.categoryBar})}):e(s,{variant:"rect",width:250,height:8,className:t.skeleton})})}),e(d,{style:{width:"100px",paddingRight:0,paddingTop:o.spacing(1),paddingBottom:o.spacing(1)},children:e(r,{className:t.passingText,children:n?a(c,{children:[a(h,{variant:"caption",children:[f(n.passed)," of"," ",f(p)]}),e(h,{variant:"caption",children:"passing"})]}):a(c,{children:[e(s,{width:60,height:16,className:t.skeleton}),e(s,{width:40,height:16,className:t.skeleton})]})})})]})};export{I as CheckRowContent};
|
|
2
|
+
//# sourceMappingURL=CheckRowContent.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as s,Fragment as x}from"react/jsx-runtime";import{TableRow as i,TableContainer as y,Table as d,TableBody as m,useTheme as T,TableCell as h,Box as I,IconButton as b,Typography as N,Collapse as S}from"@material-ui/core";import{makeStyles as w}from"@material-ui/core/styles";import B from"@material-ui/icons/KeyboardArrowDown";import H from"@material-ui/icons/KeyboardArrowUp";import{memo as R,useState as z,useCallback as L,useMemo as j}from"react";import{CheckRowContent as W}from"./CheckRowContent.esm.js";const p=w(l=>({root:{width:"100%"},levelCell:{display:"flex",alignItems:"flex-start",width:"100%",padding:l.spacing(1)},levelContent:{display:"flex",flexDirection:"column",gap:l.spacing(2),width:"100%"},levelHeader:{display:"flex",alignItems:"center"},levelName:{fontSize:"1rem",fontWeight:500,lineHeight:1,marginLeft:l.spacing(1)},headerCell:{fontWeight:500,color:l.palette.text.secondary,padding:l.spacing(2)}})),u=R(({check:l,status:n,theme:a,trackId:t})=>e(i,{children:e(W,{check:l,status:n,theme:a,trackId:t})}));u.displayName="CheckRow";const D=({level:l,checkStatuses:n,trackId:a})=>{const t=p(),o=T(),[r,k]=z(!0),g=L(()=>{k(c=>!c)},[]),f=j(()=>l.checks.map(c=>{const v=n?.find(C=>C.id===c.id);return e(u,{check:c,status:v,theme:o,trackId:a},c.id)}),[l.checks,n,o,a]);return s(x,{children:[e(i,{children:e(h,{colSpan:4,className:t.levelCell,children:s(I,{className:t.levelHeader,children:[e(b,{size:"small",onClick:g,children:r?e(H,{}):e(B,{})}),e(N,{className:t.levelName,children:l.name??`Level ${l.ordinal}`})]})})}),e(i,{children:e(h,{style:{paddingTop:0,paddingBottom:0},children:e(S,{in:r,timeout:"auto",unmountOnExit:!0,children:e(d,{size:"small",padding:"none",children:e(m,{children:f})})})})})]})},E=({track:l,checkStatuses:n})=>{const a=p();return l.levels?.length?e(y,{component:"div",className:a.root,children:e(d,{children:e(m,{children:l.levels.map(t=>e(D,{level:t,checkStatuses:n,trackId:l.id},t.ordinal))})})}):null};export{E as LevelsTable};
|
|
2
|
+
//# sourceMappingURL=LevelsTable.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import E from"@material-ui/core/ListSubheader";import{useTheme as v}from"@material-ui/core/styles";import S from"@material-ui/core/useMediaQuery";import{createContext as V,forwardRef as p,useContext as b,Children as z,cloneElement as L,useRef as T,useEffect as w,isValidElement as A}from"react";import{VariableSizeList as H}from"react-window";const d=8,R=t=>{const{data:e,index:n,style:o}=t;return L(e[n],{style:{...o,top:o.top+d,lineHeight:"1em"}})},h=V({}),j=p((t,e)=>{const n=b(h);return m("div",{ref:e,...t,...n})}),k=t=>{const e=T(null);return w(()=>{e.current!==null&&e.current.resetAfterIndex(0,!0)},[t]),e},D=p((t,e)=>{const{children:n,height:o,itemHeight:f,...a}=t,l=z.toArray(n),g=v(),y=S(g.breakpoints.up("sm"),{noSsr:!0}),s=l.length,u=y?42:48,c=r=>{if(f)return f;if(A(r)){if(r.type===E)return 48;const i=r.props.children;if(i&&typeof i=="string")return i.length>40?54:u}return u},x=()=>s>8?8*u:l.map(c).reduce((r,i)=>r+i,0),C=k(s);return m("div",{ref:e,children:m(h.Provider,{value:a,children:m(H,{itemData:l,height:o??x()+2*d,width:"100%",ref:C,outerElementType:j,innerElementType:"ul",itemSize:r=>c(l[r]),overscanCount:5,itemCount:s,children:R})})})});export{D as ListboxVirtualized};
|
|
2
2
|
//# sourceMappingURL=ListboxVirtualized.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{makeStyles as e,Grid as a,CircularProgress as o}from"@material-ui/core";const t=e(i=>({loadingContainer:{marginTop:i.spacing(1),display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}})),s=({size:i})=>{const r=t();return n(a,{"aria-label":"loading indicator",container:!0,className:r.loadingContainer,children:n(o,{size:i})})};export{s as LoadingIndicator};
|
|
2
2
|
//# sourceMappingURL=LoadingIndicator.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{withStyles as
|
|
1
|
+
import{jsxs as p,Fragment as s,jsx as r}from"react/jsx-runtime";import{withStyles as w,Button as C,makeStyles as S,Popover as P,TextField as O,Checkbox as T}from"@material-ui/core";import z from"@material-ui/icons/ArrowDropDown";import{Autocomplete as F}from"@material-ui/lab";import{useState as I}from"react";import{ListboxVirtualized as L}from"../ListboxVirtualized/ListboxVirtualized.esm.js";const d=w(o=>({root:{color:o.palette.text.primary,paddingLeft:o.spacing(1),paddingRight:o.spacing(1),textTransform:"initial",fontSize:o.typography.body1.fontSize}}))(C),$=S(o=>({root:{borderBottom:`1px solid ${o.palette.grey.A100}`,padding:o.spacing(1.5),backgroundColor:o.palette.background.paper},popper:{width:300,height:400,overflow:"hidden"},paper:{boxShadow:"none",margin:0},popperDisablePortal:{width:"100% !important"},listbox:{border:"none",height:400},option:{padding:`${o.spacing(.5)}px !important`,'&[data-selected="true"]':{background:"inherit"}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:1}})),B=({name:o,options:c,label:l,icon:m,filters:h,setFilters:u,disabled:g,customRenderOption:f})=>{const t=$(),[n,a]=I(null),b=e=>{a(e.currentTarget)},x=()=>{a(null)},v=(e,i)=>{u(i)},y=e=>r(O,{...e,name:"filter",variant:"outlined",placeholder:"Filter",fullWidth:!0}),k=(e,{selected:i})=>p(s,{children:[r(T,{value:e,checked:i,color:"primary"}),e]});return p(s,{children:[r(d,{startIcon:m,endIcon:r(z,{}),onClick:b,disabled:g,children:l}),r(P,{id:`${l}-filter-popover`,open:!!n,anchorEl:n,onClose:x,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},PaperProps:{elevation:4,className:t.popper},children:r(F,{multiple:!0,disablePortal:!0,classes:{root:t.root,paper:t.paper,popperDisablePortal:t.popperDisablePortal,listbox:t.listbox,option:t.option},ListboxComponent:L,renderOption:f??k,id:`multi-select-filter-${o}--select`,value:h,options:c,limitTags:3,onChange:v,getOptionSelected:(e,i)=>e.toLowerCase()===i.toLowerCase(),renderInput:y,renderTags:()=>null,closeIcon:null,popupIcon:null,handleHomeEndKeys:!0,clearOnEscape:!0,open:!0})})]})};export{d as QuickFilterButton,B as default};
|
|
2
2
|
//# sourceMappingURL=MultiSelectFilter.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{makeStyles as n,Button as a}from"@material-ui/core";const i=n(t=>({button:{fontSize:t.typography.subtitle2.fontSize,color:t.palette.text.primary,textTransform:"none",padding:0}})),l=({label:t,...o})=>{const r=i();return e(a,{className:r.button,variant:"text",...o,"aria-label":t,children:t})};export{l as NoBorderButton};
|
|
2
2
|
//# sourceMappingURL=NoBorderButton.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";const e=()=>r("div",{children:r("h1",{children:"Org Health"})});export{e as default};
|
|
2
2
|
//# sourceMappingURL=OrgHealthPage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Card as
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{Card as h,Box as r,Typography as n,Tooltip as p,Button as C}from"@material-ui/core";import N from"@material-ui/icons/GetApp";import{CSVLink as S}from"react-csv";import{useOverviewChartCardStyles as f}from"./OverviewChartCardStyles.esm.js";const v=({title:l,subtitle:o,summaryCardContent:i,chartSectionContent:s,disableDataExport:c,csvData:d,csvFilename:m})=>{const a=f();return t(h,{className:a.card,children:[t(r,{className:a.headerRow,children:[t(r,{className:a.headerSection,children:[e(n,{className:a.title,children:l}),e(n,{variant:"caption",children:o})]}),e(r,{className:a.headerExportSection,children:e(S,{data:d,filename:m,onClick:()=>!c,children:e(p,{title:"Export to CSV",children:e("span",{children:e(C,{disabled:c,children:e(N,{})})})})})})]}),t(r,{className:a.contentRow,children:[i&&e(r,{className:a.leftSection,children:e(r,{className:a.summaryCard,children:i})}),e(r,{className:a.chartSection,children:s})]})]})};export{v as OverviewChartCard};
|
|
2
2
|
//# sourceMappingURL=OverviewChartCard.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{stringifyEntityRef as m}from"@backstage/catalog-model";import{useEntity as s}from"@backstage/plugin-catalog-react";import{SpotifyLicenseBanner as c}from"@spotify/backstage-plugin-core";import{useEffect as p}from"react";import{useSearchParams as a,Routes as f,Route as u}from"react-router-dom";import{soundcheckBackend as d,invalidLicenseMessage as g}from"../../utils/license.esm.js";import{SoundcheckQueryClientProvider as l}from"../SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js";import{OverviewPageContent as h}from"./OverviewPageContent.esm.js";const v=()=>{const{entity:i}=s(),[r,o]=a();return p(()=>{!r.get("group")&&i&&(r.set("group",m(i)),o(r,{replace:!0}))},[r,o,i]),e(l,{children:e(f,{children:e(u,{path:"/*",element:t(n,{children:[e(c,{backend:d,invalidLicenseMessage:g,inline:!0}),e(h,{isFixedGroup:!0})]})})})})};export{v as FixedGroupOverviewPage};
|
|
2
2
|
//# sourceMappingURL=FixedGroupOverviewPage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Page as
|
|
1
|
+
import{jsx as e,jsxs as n}from"react/jsx-runtime";import{Page as t,Header as c}from"@backstage/core-components";import{makeStyles as m}from"@material-ui/core";import{SpotifyLicenseBanner as s}from"@spotify/backstage-plugin-core";import{UserProvider as d}from"../../contexts/UserProvider.esm.js";import a from"../../hooks/useConfirmationModal.esm.js";import{soundcheckBackend as l,invalidLicenseMessage as p}from"../../utils/license.esm.js";import{SoundcheckQueryClientProvider as v}from"../SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js";import{OverviewPageContent as f}from"./OverviewPageContent.esm.js";const h=m(r=>({overviewContainer:{padding:r.spacing(1,3)}})),g=r=>{const{title:i="Soundcheck"}=r,o=h();return e(v,{children:e(d,{children:e(a,{children:n(t,{themeId:"website",children:[e(s,{backend:l,invalidLicenseMessage:p}),e(c,{title:i}),e("div",{className:o.overviewContainer,children:e(f,{})})]})})})})};export{g as OverviewPage};
|
|
2
2
|
//# sourceMappingURL=OverviewPage.esm.js.map
|