@spotify/backstage-plugin-soundcheck 0.22.5 → 0.23.0
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 +40 -0
- package/dist/alpha/CampaignsRouterPage.esm.js +2 -0
- package/dist/alpha/ChecksRouterPage.esm.js +2 -0
- package/dist/alpha/IntegrationsRouterPage.esm.js +2 -0
- package/dist/alpha/OverviewPageWrapper.esm.js +2 -0
- package/dist/alpha/TracksRouterPage.esm.js +2 -0
- package/dist/alpha/plugin.esm.js +1 -1
- package/dist/alpha.d.ts +155 -59
- package/dist/blueprints/IntegrationPageBlueprint.esm.js +1 -1
- package/dist/components/Badge/Badge.esm.js +2 -0
- package/dist/components/Badges/LevelBadge.esm.js +1 -1
- package/dist/components/Badges/StatusBadge.esm.js +1 -1
- package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/utils/validation.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignPageBUI.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignStatusBarBUI.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPageBUI.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignsPage.esm.js +1 -1
- package/dist/components/Cards/CheckStatusCard/CheckStatusCard.esm.js +1 -1
- package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CheckPullRequest.esm.js +1 -1
- package/dist/components/CheckDetails/FixMeDialog.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/RuleConditionInput.esm.js +1 -1
- package/dist/components/CheckForm/useCheckForm.esm.js +1 -1
- package/dist/components/CheckForm/utils/validation.esm.js +1 -1
- package/dist/components/CheckIcon/CheckIcon.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/CheckEntitiesTableBUI.esm.js +1 -1
- package/dist/components/CheckPage/CheckPageBUI.esm.js +1 -1
- package/dist/components/CheckPage/ExemptionsTableBUI.esm.js +1 -1
- package/dist/components/CheckPage/utils.esm.js +1 -1
- package/dist/components/CheckSelection/CheckSelection.esm.js +1 -1
- package/dist/components/CheckStatusBar/CheckStatusBarBUI.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageBUI.esm.js +1 -1
- package/dist/components/ChecksPage/ChecksListPageBUI.esm.js +1 -1
- package/dist/components/ChecksTable/ChecksTable.esm.js +1 -1
- package/dist/components/ChecksTable/FixMeCell.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorDetailsPageBUI.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorStatus.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.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/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/CollectorOption.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/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/validation.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/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/validation.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/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SchemaBased/SchemaBasedConfigurator.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SchemaBased/SchemaField.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SchemaBased/utils.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/validation.esm.js +1 -1
- package/dist/components/CollectorPage/utils.esm.js +2 -0
- package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
- package/dist/components/CollectorsPage/IntegrationLogoBUI.esm.js +1 -1
- package/dist/components/CollectorsPage/IntegrationsListPageBUI.esm.js +1 -1
- package/dist/components/CreateNewTrackPage/CreateNewTrackPage.esm.js +1 -1
- package/dist/components/DescriptionCell/DescriptionCell.esm.js +1 -1
- package/dist/components/EntityChip/EntityChip.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorer.esm.js +1 -1
- package/dist/components/Filter/FilterComponent.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewDisplay.esm.js +2 -0
- package/dist/components/FilterSidebar/useTrackFilterSidebar.esm.js +1 -1
- package/dist/components/FilterSidebar/util.esm.js +1 -1
- package/dist/components/FixMeBetaBadge/FixMeBetaBadge.esm.js +2 -0
- package/dist/components/FixMeButton/FixMeButton.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormattedPreview/FormattedPreview.esm.js +3 -3
- package/dist/components/GroupSelectorBUI/GroupSelectionHistory.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupSelectorBUI.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupTagsDisplay.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/ListViewMode.esm.js +2 -0
- package/dist/components/ListPageCustomActions/ListPageCustomActions.esm.js +1 -1
- package/dist/components/Menus/useCampaignActions.esm.js +1 -1
- package/dist/components/Menus/useCheckActions.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPageBUI.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPageWrapperBUI.esm.js +1 -1
- package/dist/components/SendCampaignNotificationDialog/SendCampaignNotificationDialogBUI.esm.js +1 -1
- package/dist/components/StatusBar/StatusBar.esm.js +1 -1
- package/dist/components/Stepper/Stepper.esm.js +1 -1
- package/dist/components/TableRowWithOwner/TableRowWithOwner.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsPageBUI.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsTableBUI.esm.js +1 -1
- package/dist/components/TechInsights/hierarchyToNivo.esm.js +2 -0
- package/dist/components/TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js +1 -1
- package/dist/components/TechInsightsGroupSelector/TechInsightsGroupSelector.esm.js +1 -1
- package/dist/components/TimePeriodBar/TimePeriodBarBUI.esm.js +1 -1
- package/dist/components/TopAndBottomPerformingTeams/TopAndBottomPerformingTeams.esm.js +1 -1
- package/dist/components/TopFailingChecksTable/TopFailingChecksTableBUI.esm.js +1 -1
- package/dist/components/TrackBuilderPage/components/SelectProviderStep/SelectProviderStep.esm.js +1 -1
- package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
- package/dist/components/TrackForm/utils/validation.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTableBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackPageBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatusBarBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatusTableBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackTechInsightsExplorerPage.esm.js +1 -1
- package/dist/components/TracksPage/TracksListPageBUI.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +22 -13
- package/dist/hooks/catalog/useEntityPresentation.esm.js +2 -0
- package/dist/hooks/catalog/useEntityPrimaryTitle.esm.js +2 -0
- package/dist/hooks/catalog/useGetEntityRefs.esm.js +1 -1
- package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
- package/dist/hooks/collectors/useGetCollectors.esm.js +1 -1
- package/dist/hooks/filters/useFilters.esm.js +1 -1
- package/dist/hooks/filters/useListPageFilters.esm.js +2 -0
- package/dist/hooks/fixMe/useFixMe.esm.js +1 -1
- package/dist/hooks/useChipScopedUrlState.esm.js +2 -0
- package/dist/hooks/usePagination.esm.js +1 -1
- package/dist/index.d.ts +130 -4
- package/dist/index.esm.js +1 -1
- package/dist/plugins/soundcheck/package.json.esm.js +2 -0
- package/dist/utils/charts.esm.js +1 -1
- package/dist/utils/facetFilters/utils.esm.js +1 -1
- package/dist/utils/filters.esm.js +1 -1
- package/dist/utils/validation.esm.js +1 -1
- package/package.json +24 -22
- package/dist/alpha/pages.esm.js +0 -2
- package/dist/components/CategoryBar/CategoryBar.esm.js +0 -2
- package/dist/components/CheckStatusBar/CheckStatusBar.esm.js +0 -2
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageDeprecated.esm.js +0 -2
- package/dist/components/CheckTemplatesPage/TemplateCategory.esm.js +0 -2
- package/dist/components/CollectorPage/CollectorDetailsPageDeprecated.esm.js +0 -2
- package/dist/components/CollectorPage/CollectorFactTable.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListPageDeprecated.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/getLeafNodes.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/LoadingOverlay.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoCirclePacking.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoHeatmap.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoIcicle.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoSunburst.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoTreemap.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/VisualizationBreadcrumb.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/hierarchyToNivo.esm.js +0 -2
- package/dist/components/ImportExportPanel/ImportExportPanelDeprecated.esm.js +0 -2
- package/dist/components/SummaryCard/SummaryCard.esm.js +0 -2
- package/dist/components/SummaryCard/SummaryCardActionsMenu.esm.js +0 -2
- package/dist/images/GitHub_Logo.svg +0 -9
- package/dist/images/GitHub_Logo_White.svg +0 -9
- package/dist/images/SCM_DARK.svg +0 -10
- package/dist/images/SCM_LIGHT.svg +0 -10
- package/dist/images/azure-devops-rgb.svg +0 -13
- package/dist/images/azure-devops-white.svg +0 -13
- package/dist/images/bigquery-rgb.svg +0 -15
- package/dist/images/bigquery-white.svg +0 -15
- package/dist/images/cat-blk.svg +0 -12
- package/dist/images/cat-wht.svg +0 -12
- package/dist/images/data-registry-blk.svg +0 -36
- package/dist/images/data-registry-wht.svg +0 -36
- package/dist/images/dd_logo_h_rgb.svg +0 -17
- package/dist/images/dd_logo_h_white.svg +0 -17
- package/dist/images/gitlab-rgb.svg +0 -1
- package/dist/images/gitlab-white.svg +0 -1
- package/dist/images/http-rgb.svg +0 -11
- package/dist/images/http-white.svg +0 -11
- package/dist/images/jira-rgb.svg +0 -25
- package/dist/images/jira-white.svg +0 -25
- package/dist/images/k8s_blue.svg +0 -108
- package/dist/images/k8s_white.svg +0 -108
- package/dist/images/new-relic-rgb.svg +0 -1
- package/dist/images/new-relic-white.svg +0 -1
- package/dist/images/pd-black.svg +0 -9
- package/dist/images/pd-white.svg +0 -9
- package/dist/images/sonarqube-rgb.svg +0 -14
- package/dist/images/sonarqube-white.svg +0 -14
- package/dist/images/soundcheck-black.svg +0 -13
- package/dist/images/soundcheck-white.svg +0 -13
- package/dist/images/tech-black.svg +0 -11
- package/dist/images/tech-white.svg +0 -11
- /package/dist/components/CampaignsPage/{CampaignListPage/useArchiveConfirmationModal.esm.js → useArchiveConfirmationModal.esm.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
|
3
3
|
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
4
4
|
import { RouteRef } from '@backstage/frontend-plugin-api';
|
|
5
5
|
import { RemedyTrackerApi } from '@spotify/backstage-plugin-soundcheck-common';
|
|
6
|
-
import * as
|
|
6
|
+
import * as React from 'react';
|
|
7
7
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
8
|
-
import { JsonObject } from '@backstage/types';
|
|
8
|
+
import { JsonObject, HumanDuration } from '@backstage/types';
|
|
9
|
+
import { FieldError } from 'react-hook-form';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Props for the OverviewPageProps.
|
|
@@ -96,7 +97,7 @@ declare const IntegrationPageBlueprint: _backstage_frontend_plugin_api.Extension
|
|
|
96
97
|
path?: string;
|
|
97
98
|
routeRef?: RouteRef;
|
|
98
99
|
};
|
|
99
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
100
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
100
101
|
optional: true;
|
|
101
102
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
102
103
|
inputs: {};
|
|
@@ -167,6 +168,14 @@ declare function useGetCollectors(collectorIds?: string[]): _tanstack_react_quer
|
|
|
167
168
|
rule?: any | null;
|
|
168
169
|
schedule?: any | null;
|
|
169
170
|
}> | null;
|
|
171
|
+
jobQueueStatus?: {
|
|
172
|
+
__typename?: "JobQueueStatus";
|
|
173
|
+
waiting?: number | null;
|
|
174
|
+
active?: number | null;
|
|
175
|
+
latestCompletedTime?: string | null;
|
|
176
|
+
latestFailedTime?: string | null;
|
|
177
|
+
queueType: string;
|
|
178
|
+
} | null;
|
|
170
179
|
}[], unknown>;
|
|
171
180
|
|
|
172
181
|
/**
|
|
@@ -192,4 +201,121 @@ declare function useUpdateCollectorConfig(): _tanstack_react_query.UseMutationRe
|
|
|
192
201
|
config?: JsonObject;
|
|
193
202
|
}, unknown>;
|
|
194
203
|
|
|
195
|
-
|
|
204
|
+
/**
|
|
205
|
+
* The type of frequency configuration - either a human-readable duration or a cron expression.
|
|
206
|
+
* @public
|
|
207
|
+
*/
|
|
208
|
+
type FrequencyType = 'HumanDuration' | 'cron';
|
|
209
|
+
/**
|
|
210
|
+
* Supported time units for duration-based configurations.
|
|
211
|
+
* @public
|
|
212
|
+
*/
|
|
213
|
+
declare enum TimeUnit {
|
|
214
|
+
Months = "months",
|
|
215
|
+
Weeks = "weeks",
|
|
216
|
+
Days = "days",
|
|
217
|
+
Hours = "hours",
|
|
218
|
+
Minutes = "minutes",
|
|
219
|
+
Seconds = "seconds"
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Represents a schedule frequency configuration, supporting both interval and cron modes.
|
|
223
|
+
* @public
|
|
224
|
+
*/
|
|
225
|
+
type Frequency = {
|
|
226
|
+
type: FrequencyType;
|
|
227
|
+
unit: TimeUnit;
|
|
228
|
+
value: number;
|
|
229
|
+
cron: string;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Returns a default {@link Frequency} value (1 day interval).
|
|
234
|
+
* @public
|
|
235
|
+
*/
|
|
236
|
+
declare const defaultFrequency: () => Frequency;
|
|
237
|
+
/**
|
|
238
|
+
* Returns a default initial delay {@link Frequency} value (15 minutes).
|
|
239
|
+
* @public
|
|
240
|
+
*/
|
|
241
|
+
declare const defaultInitialDelay: () => Frequency;
|
|
242
|
+
/**
|
|
243
|
+
* Converts a {@link Frequency} to the API format (HumanDuration or cron object).
|
|
244
|
+
* @public
|
|
245
|
+
*/
|
|
246
|
+
declare function mapFrequencyToHumanDurationOrCron(frequency: Frequency | undefined): HumanDuration | {
|
|
247
|
+
cron: string;
|
|
248
|
+
} | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* Converts an API format (HumanDuration or cron object) to a {@link Frequency}.
|
|
251
|
+
* @public
|
|
252
|
+
*/
|
|
253
|
+
declare function mapHumanDurationOrCronToFrequency(input?: any): Frequency;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Props for {@link FrequencyComponent}.
|
|
257
|
+
* @public
|
|
258
|
+
*/
|
|
259
|
+
type FrequencyComponentProps = {
|
|
260
|
+
value: Frequency;
|
|
261
|
+
onChange: (frequency: Frequency) => void;
|
|
262
|
+
disabled?: boolean;
|
|
263
|
+
errors?: FieldError;
|
|
264
|
+
intervalTitle?: string;
|
|
265
|
+
intervalDescription?: string;
|
|
266
|
+
intervalLabel?: string;
|
|
267
|
+
cronTitle?: string;
|
|
268
|
+
cronDescription?: string;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* A controlled component for configuring schedule frequency (interval or cron mode).
|
|
272
|
+
* @public
|
|
273
|
+
*/
|
|
274
|
+
declare const FrequencyComponent: ({ value, onChange, disabled, errors, intervalTitle, intervalDescription, intervalLabel, cronTitle, cronDescription, }: FrequencyComponentProps) => react_jsx_runtime.JSX.Element;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Represents a cache configuration with toggle and optional duration.
|
|
278
|
+
* @public
|
|
279
|
+
*/
|
|
280
|
+
type CacheConfig = {
|
|
281
|
+
enabled: boolean;
|
|
282
|
+
hasDuration: boolean;
|
|
283
|
+
unit: TimeUnit;
|
|
284
|
+
value: number;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Returns a default {@link CacheConfig} value (disabled, no duration).
|
|
289
|
+
* @public
|
|
290
|
+
*/
|
|
291
|
+
declare const defaultCacheConfig: () => CacheConfig;
|
|
292
|
+
/**
|
|
293
|
+
* Converts a {@link CacheConfig} to the API format (HumanDuration, boolean, or undefined).
|
|
294
|
+
* @public
|
|
295
|
+
*/
|
|
296
|
+
declare function mapCacheConfigToHumanDurationOrBoolean(cacheConfig?: CacheConfig): {
|
|
297
|
+
duration: HumanDuration;
|
|
298
|
+
} | boolean | undefined;
|
|
299
|
+
/**
|
|
300
|
+
* Converts an API format (boolean or duration object) to a {@link CacheConfig}.
|
|
301
|
+
* @public
|
|
302
|
+
*/
|
|
303
|
+
declare function mapToCacheConfig(config?: any): CacheConfig;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Props for {@link CacheConfigComponent}.
|
|
307
|
+
* @public
|
|
308
|
+
*/
|
|
309
|
+
type CacheConfigProps = {
|
|
310
|
+
value: CacheConfig;
|
|
311
|
+
onChange: (cacheConfig: CacheConfig) => void;
|
|
312
|
+
disabled?: boolean;
|
|
313
|
+
errors?: FieldError;
|
|
314
|
+
};
|
|
315
|
+
/**
|
|
316
|
+
* A controlled component for configuring cache settings (toggle + duration).
|
|
317
|
+
* @public
|
|
318
|
+
*/
|
|
319
|
+
declare const CacheConfigComponent: ({ value, onChange, disabled, errors, }: CacheConfigProps) => react_jsx_runtime.JSX.Element;
|
|
320
|
+
|
|
321
|
+
export { type CacheConfig, CacheConfigComponent, type CacheConfigProps, CampaignActionBlueprint, EntitySoundcheckCard, type EntitySoundcheckCardProps, EntitySoundcheckContent, type Frequency, FrequencyComponent, type FrequencyComponentProps, type FrequencyType, GroupSoundcheckContent, IntegrationPageBlueprint, type OverviewPageProps, SoundcheckOverviewPage, SoundcheckRoutingPage, TimeUnit, defaultCacheConfig, defaultFrequency, defaultInitialDelay, mapCacheConfigToHumanDurationOrBoolean, mapFrequencyToHumanDurationOrCron, mapHumanDurationOrCronToFrequency, mapToCacheConfig, remedyTrackerApiRef, soundcheckPlugin, useGetCollectors, useUpdateCollectorConfig };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EntitySoundcheckCard as u,EntitySoundcheckContent as
|
|
1
|
+
import{EntitySoundcheckCard as u,EntitySoundcheckContent as c,GroupSoundcheckContent as f,SoundcheckOverviewPage as C,SoundcheckRoutingPage as l,soundcheckPlugin as d}from"./plugin.esm.js";import"react/jsx-runtime";import"./components/SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js";import"./components/EntitySoundcheckCard/Card.esm.js";import{remedyTrackerApiRef as x}from"./api.esm.js";import{IntegrationPageBlueprint as y}from"./blueprints/IntegrationPageBlueprint.esm.js";import{CampaignActionBlueprint as T}from"./blueprints/CampaignActionBlueprint.esm.js";import{useGetCollectors as q}from"./hooks/collectors/useGetCollectors.esm.js";import{useUpdateCollectorConfig as D}from"./hooks/collectors/useUpdateCollectorConfig.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"./hooks/graphqlKeys.esm.js";import"./hooks/useSoundcheckAlert.esm.js";import{TimeUnit as O}from"./components/Frequency/types.esm.js";import{defaultFrequency as B,defaultInitialDelay as H,mapFrequencyToHumanDurationOrCron as v,mapHumanDurationOrCronToFrequency as A}from"./components/Frequency/util.esm.js";import{FrequencyComponent as G}from"./components/Frequency/FrequencyComponent.esm.js";import{defaultCacheConfig as R,mapCacheConfigToHumanDurationOrBoolean as U,mapToCacheConfig as w}from"./components/CacheConfig/utils.esm.js";import{CacheConfigComponent as j}from"./components/CacheConfig/CacheConfigComponent.esm.js";export{j as CacheConfigComponent,T as CampaignActionBlueprint,u as EntitySoundcheckCard,c as EntitySoundcheckContent,G as FrequencyComponent,f as GroupSoundcheckContent,y as IntegrationPageBlueprint,C as SoundcheckOverviewPage,l as SoundcheckRoutingPage,O as TimeUnit,R as defaultCacheConfig,B as defaultFrequency,H as defaultInitialDelay,U as mapCacheConfigToHumanDurationOrBoolean,v as mapFrequencyToHumanDurationOrCron,A as mapHumanDurationOrCronToFrequency,w as mapToCacheConfig,x as remedyTrackerApiRef,d as soundcheckPlugin,q as useGetCollectors,D as useUpdateCollectorConfig};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e="@spotify/backstage-plugin-soundcheck",a="Ensure quality, reliability and alignment of software development with codified checks and guidance.",s="0.23.0",c="SEE LICENSE IN LICENSE.md",t="https://backstage.spotify.com",i="src/index.ts",r="src/index.ts",o={},n={role:"frontend-plugin",pluginId:"soundcheck",pluginPackages:["@spotify/backstage-plugin-soundcheck","@spotify/backstage-plugin-soundcheck-backend","@spotify/backstage-plugin-soundcheck-common","@spotify/backstage-plugin-soundcheck-node"]},p=!1,g={".":"./src/index.ts","./alpha":"./src/alpha.ts","./package.json":"./package.json"},l={"*":{alpha:["src/alpha.ts"],"package.json":["package.json"]}},k={start:"backstage-cli package start",build:"backstage-cli package build --minify",lint:"backstage-cli package lint --max-warnings 0",test:"backstage-cli package test",diff:"backstage-cli plugin:diff",clean:"backstage-cli package clean",prepack:"backstage-cli package prepack",postpack:"backstage-cli package postpack",generate:"graphql-codegen --config codegen.yml",prepare:"yarn generate"},d={"@backstage/catalog-client":"backstage:^","@backstage/catalog-model":"backstage:^","@backstage/config":"backstage:^","@backstage/core-compat-api":"backstage:^","@backstage/core-components":"backstage:^","@backstage/core-plugin-api":"backstage:^","@backstage/frontend-plugin-api":"backstage:^","@backstage/plugin-catalog-react":"backstage:^","@backstage/plugin-permission-react":"backstage:^","@backstage/plugin-scaffolder-react":"backstage:^","@backstage/types":"backstage:^","@backstage/ui":"backstage:^","@date-io/luxon":"^1.0.0","@hookform/resolvers":"^4.0.0","@material-ui/core":"^4.12.2","@material-ui/icons":"^4.9.1","@material-ui/lab":"4.0.0-alpha.61","@material-ui/pickers":"3.3.11","@mui/styles":"^5.14.7","@nivo/circle-packing":"^0.99.0","@nivo/colors":"^0.99.0","@nivo/heatmap":"^0.99.0","@nivo/icicle":"^0.99.0","@nivo/sunburst":"^0.99.0","@nivo/treemap":"^0.99.0","@remixicon/react":"^4.6.0","@spotify/backstage-plugin-core":"workspace:^","@spotify/backstage-plugin-soundcheck-common":"workspace:^","@tanstack/react-query":"^4.6.1","@uiw/react-md-editor":"3.20.10",classnames:"^2.3.2","copy-to-clipboard":"^3.3.3","cron-validate":"^1.4.5",cronstrue:"^3.0.0","d3-color":"^3.1.0","d3-interpolate":"^3.0.1","d3-scale":"^4.0.2","d3-scale-chromatic":"^3.0.0","framer-motion":"^6.0.0","git-url-parse":"^16.0.0","graphql-request":"6.1.0","js-yaml":"^4.1.0",lodash:"^4.17.21",luxon:"^3.1.1",pako:"^2.1.0",prismjs:"^1.27.0","react-aria-components":"^1.13.0","react-circular-progressbar":"^2.1.0","react-confetti":"^6.1.0","react-csv":"^2.2.2","react-helmet":"^6.1.0","react-hook-form":"^7.51.5","react-markdown":"^10.1.0","react-simple-code-editor":"^0.14.1","react-use":"^17.2.4","react-window":"^1.8.8",recharts:"^2.8.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","use-immer":"^0.11.0","use-sync-external-store":"^1.6.0",uuid:"^11.0.0",zod:"^3.25.76 || ^4.0.0"},b={react:"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","react-router-dom":"6.0.0-beta.0 || ^6.3.0"},u={"@backstage/cli":"backstage:^","@backstage/core-app-api":"backstage:^","@backstage/dev-utils":"backstage:^","@backstage/e2e-test-utils":"backstage:^","@backstage/frontend-test-utils":"backstage:^","@backstage/plugin-permission-common":"backstage:^","@backstage/test-utils":"backstage:^","@graphql-codegen/cli":"^6.0.0","@graphql-codegen/typescript":"^5.0.0","@graphql-codegen/typescript-graphql-request":"^6.0.0","@graphql-codegen/typescript-operations":"^5.0.0","@playwright/test":"^1.32.3","@sp4b-dev/test-utils":"workspace:^","@spotify/backstage-plugin-core-common":"workspace:^","@spotify/backstage-plugin-soundcheck-node":"workspace:^","@standard-schema/spec":"^1.1.0","@testing-library/jest-dom":"^6.0.0","@testing-library/react":"^14.0.0","@testing-library/user-event":"^14.0.0","@types/d3-color":"^3.1.0","@types/d3-interpolate":"^3","@types/d3-scale":"^4","@types/d3-scale-chromatic":"^3.0.0","@types/git-url-parse":"^16.0.0","@types/jest":"^30.0.0","@types/luxon":"^3.0.1","@types/node":"^22.0.0","@types/react-csv":"^1.1.6","@types/react-window":"^1.8.5","cross-fetch":"^4.0.0",msw:"^1.0.0"},m=["dist","!dist/**/*.map","config.d.ts"],f="config.d.ts",y={name:e,description:a,version:s,license:c,homepage:t,main:i,types:r,publishConfig:o,backstage:n,sideEffects:p,exports:g,typesVersions:l,scripts:k,dependencies:d,peerDependencies:b,devDependencies:u,files:m,configSchema:f};export{n as backstage,f as configSchema,y as default,d as dependencies,a as description,u as devDependencies,g as exports,m as files,t as homepage,c as license,i as main,e as name,b as peerDependencies,o as publishConfig,k as scripts,p as sideEffects,r as types,l as typesVersions,s as version};
|
|
2
|
+
//# sourceMappingURL=package.json.esm.js.map
|
package/dist/utils/charts.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{sum as
|
|
1
|
+
import{sum as d}from"lodash";const b=(r,e=2)=>{if(r.length===0)return[];const c=r.filter(t=>t>0),n=d(c);if(n===0)return r.map(()=>0);const o=r.map(t=>t>0?t/n*100:0),a=o.filter(t=>t>0&&t<e).length,p=a*e;if(a===0||p>=100)return o;const g=100-p,i=o.filter(t=>t>=e).reduce((t,s)=>t+s,0);return o.map(t=>t===0?0:t<e?e:i>0?t/i*g:t)},l=["Passed","Failed","Warning","Exempt","Error","Not Reported","Not Applicable"];function u(r){return r==="Not Reported"?"notReported":r==="Not Applicable"?"notApplicable":r.toLowerCase()}function f(){return l.map(r=>u(r))}function m(r){return{passed:"rgb(76, 175, 80)",failed:"rgb(244, 67, 54)",warning:"rgb(255, 152, 0)",exempt:"rgb(33, 150, 243)",error:"rgb(246, 104, 94)",notReported:"rgb(97, 97, 97)",notApplicable:"rgb(160, 82, 45)"}[r]}export{b as calculateAdjustedBarWidths,l as chartStatuses,m as getChartStatusColor,u as getChartStatusKey,f as getChartStatusKeys};
|
|
2
2
|
//# sourceMappingURL=charts.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./types.esm.js";const
|
|
1
|
+
import"./types.esm.js";const _=30,t=90,e=2,s=(N,n)=>{if(N?.length){const r=parseInt(N,10);if(!isNaN(r)&&r>=e&&r<=(n??t))return r}return _};export{_ as DEFAULT_NUMBER_OF_DAYS,e as MIN_NUMBER_OF_DAYS,t as RETENTION_TIME_IN_DAYS,s as parseNumberOfDays};
|
|
2
2
|
//# sourceMappingURL=utils.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=(a=>(a.Alpha="ascending",a.Owner="all",a.Status="active",a))(e||{});export{e as FilterDefault};
|
|
1
|
+
var e=(a=>(a.Alpha="ascending",a.Owner="all",a.Status="active",a))(e||{});const t=["sort","sortDirection","level","search","page","perPage"];export{t as CHIP_SCOPED_URL_PARAMS,e as FilterDefault};
|
|
2
2
|
//# sourceMappingURL=filters.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import a from"lodash";import{z as e}from"zod";import{filterPresent as s}from"../components/Filter/utils.esm.js";import"../components/Filter/FilterComponent.esm.js";import{TimeUnit as b}from"../components/Frequency/types.esm.js";import"../components/Frequency/util.esm.js";import"../components/Frequency/FrequencyComponent.esm.js";import{validateCacheConfig as c}from"./collectors.esm.js";import{validateFrequency as u}from"./frequency.esm.js";const S="At least one check is required",v="This field is required",m=e.nativeEnum(b),_=e.strictObject({enabled:e.boolean(),hasDuration:e.boolean(),unit:m.optional(),value:e.number().min(1,"Value must be greater than 0.").optional()}).refine(t=>c(t)===!0,t=>({message:c(t)})),C=e.strictObject({type:e.enum(["HumanDuration","cron"]),unit:m.optional(),value:e.number().min(1,"Value must be greater than 0.").optional(),cron:e.string().optional()}).refine(t=>u(t)===!0,t=>({message:u(t)})),o=e.strictObject({selectedKinds:e.string().array(),selectedTypes:e.string().array(),selectedLifecycles:e.string().array(),selectedOwners:e.string().array(),selectedSystems:e.string().array(),selectedTags:e.string().array(),selectedLabels:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional(),selectedAnnotations:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional(),selectedOtherFilters:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional()}),d=e.strictObject({include:o.array().optional(),exclude:o.array().optional()}),y="Cannot have an exclude filter without an include filter.",f=t=>!(!s(t.include)&&s(t.exclude)),p="Cannot have an include and exclude filter on the same facet (kind, type, lifecycle, etc.).",g=t=>{if(t.include?.length&&t.exclude?.length){const i=t.include.map(r=>a.omitBy(r,n=>!n.length)).flatMap(r=>Object.keys(r)),l=t.exclude.map(r=>a.omitBy(r,n=>!n.length)).flatMap(r=>Object.keys(r));if(a.intersection(i,l).length)return!1}return!0},h="Cannot have an empty filter condition if there's more than one OR condition.",E=t=>{const i=l=>l.some(r=>Object.values(r).every(n=>a.isEmpty(n)));return!(t.include?.length>1&&i(t.include)||t.exclude?.length>1&&i(t.exclude))},F=d.refine(f,y).refine(E,h).refine(g,p);export{S as CHECK_IS_REQUIRED_MSG,p as CONFLICTING_FILTER_ERROR_MESSAGE,_ as CacheConfigSchema,h as EMPTY_FILTER_BLOCKS_MESSAGE,y as EXCLUDE_WITHOUT_INCLUDE_FILTERS_MESSAGE,v as FIELD_IS_REQUIRED_MSG,o as FiltersSchema,C as FrequencySchema,d as baseFiltersSchema,g as ensureNoConflictingFilters,E as ensureNoEmptyFilterBlocks,F as formFiltersSchema,f as refineFilters};
|
|
1
|
+
import a from"lodash";import{z as e}from"zod/v3";import{filterPresent as s}from"../components/Filter/utils.esm.js";import"../components/Filter/FilterComponent.esm.js";import{TimeUnit as b}from"../components/Frequency/types.esm.js";import"../components/Frequency/util.esm.js";import"../components/Frequency/FrequencyComponent.esm.js";import{validateCacheConfig as c}from"./collectors.esm.js";import{validateFrequency as u}from"./frequency.esm.js";const S="At least one check is required",v="This field is required",m=e.nativeEnum(b),_=e.strictObject({enabled:e.boolean(),hasDuration:e.boolean(),unit:m.optional(),value:e.number().min(1,"Value must be greater than 0.").optional()}).refine(t=>c(t)===!0,t=>({message:c(t)})),C=e.strictObject({type:e.enum(["HumanDuration","cron"]),unit:m.optional(),value:e.number().min(1,"Value must be greater than 0.").optional(),cron:e.string().optional()}).refine(t=>u(t)===!0,t=>({message:u(t)})),o=e.strictObject({selectedKinds:e.string().array(),selectedTypes:e.string().array(),selectedLifecycles:e.string().array(),selectedOwners:e.string().array(),selectedSystems:e.string().array(),selectedTags:e.string().array(),selectedLabels:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional(),selectedAnnotations:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional(),selectedOtherFilters:e.object({key:e.string(),value:e.string().array().min(1,"Requires at least 1 value for key.")}).array().optional()}),d=e.strictObject({include:o.array().optional(),exclude:o.array().optional()}),y="Cannot have an exclude filter without an include filter.",f=t=>!(!s(t.include)&&s(t.exclude)),p="Cannot have an include and exclude filter on the same facet (kind, type, lifecycle, etc.).",g=t=>{if(t.include?.length&&t.exclude?.length){const i=t.include.map(r=>a.omitBy(r,n=>!n.length)).flatMap(r=>Object.keys(r)),l=t.exclude.map(r=>a.omitBy(r,n=>!n.length)).flatMap(r=>Object.keys(r));if(a.intersection(i,l).length)return!1}return!0},h="Cannot have an empty filter condition if there's more than one OR condition.",E=t=>{const i=l=>l.some(r=>Object.values(r).every(n=>a.isEmpty(n)));return!(t.include?.length>1&&i(t.include)||t.exclude?.length>1&&i(t.exclude))},F=d.refine(f,y).refine(E,h).refine(g,p);export{S as CHECK_IS_REQUIRED_MSG,p as CONFLICTING_FILTER_ERROR_MESSAGE,_ as CacheConfigSchema,h as EMPTY_FILTER_BLOCKS_MESSAGE,y as EXCLUDE_WITHOUT_INCLUDE_FILTERS_MESSAGE,v as FIELD_IS_REQUIRED_MSG,o as FiltersSchema,C as FrequencySchema,d as baseFiltersSchema,g as ensureNoConflictingFilters,E as ensureNoEmptyFilterBlocks,F as formFiltersSchema,f as refineFilters};
|
|
2
2
|
//# sourceMappingURL=validation.esm.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify/backstage-plugin-soundcheck",
|
|
3
3
|
"description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.23.0",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://backstage.spotify.com",
|
|
7
7
|
"main": "./dist/index.esm.js",
|
|
@@ -58,18 +58,18 @@
|
|
|
58
58
|
"prepare": "yarn generate"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@backstage/catalog-client": "^1.
|
|
62
|
-
"@backstage/catalog-model": "^1.7.
|
|
61
|
+
"@backstage/catalog-client": "^1.14.0",
|
|
62
|
+
"@backstage/catalog-model": "^1.7.7",
|
|
63
63
|
"@backstage/config": "^1.3.6",
|
|
64
|
-
"@backstage/core-compat-api": "^0.5.
|
|
65
|
-
"@backstage/core-components": "^0.18.
|
|
66
|
-
"@backstage/core-plugin-api": "^1.12.
|
|
67
|
-
"@backstage/frontend-plugin-api": "^0.
|
|
68
|
-
"@backstage/plugin-catalog-react": "^2.
|
|
69
|
-
"@backstage/plugin-permission-react": "^0.4.
|
|
70
|
-
"@backstage/plugin-scaffolder-react": "^1.
|
|
64
|
+
"@backstage/core-compat-api": "^0.5.9",
|
|
65
|
+
"@backstage/core-components": "^0.18.8",
|
|
66
|
+
"@backstage/core-plugin-api": "^1.12.4",
|
|
67
|
+
"@backstage/frontend-plugin-api": "^0.15.0",
|
|
68
|
+
"@backstage/plugin-catalog-react": "^2.1.0",
|
|
69
|
+
"@backstage/plugin-permission-react": "^0.4.41",
|
|
70
|
+
"@backstage/plugin-scaffolder-react": "^1.20.0",
|
|
71
71
|
"@backstage/types": "^1.2.2",
|
|
72
|
-
"@backstage/ui": "^0.
|
|
72
|
+
"@backstage/ui": "^0.13.0",
|
|
73
73
|
"@date-io/luxon": "^1.0.0",
|
|
74
74
|
"@hookform/resolvers": "^4.0.0",
|
|
75
75
|
"@material-ui/core": "^4.12.2",
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
"@nivo/sunburst": "^0.99.0",
|
|
85
85
|
"@nivo/treemap": "^0.99.0",
|
|
86
86
|
"@remixicon/react": "^4.6.0",
|
|
87
|
-
"@spotify/backstage-plugin-core": "^0.8.
|
|
88
|
-
"@spotify/backstage-plugin-soundcheck-common": "^0.
|
|
87
|
+
"@spotify/backstage-plugin-core": "^0.8.16",
|
|
88
|
+
"@spotify/backstage-plugin-soundcheck-common": "^0.22.0",
|
|
89
89
|
"@tanstack/react-query": "^4.6.1",
|
|
90
90
|
"@uiw/react-md-editor": "3.20.10",
|
|
91
91
|
"classnames": "^2.3.2",
|
|
@@ -118,8 +118,9 @@
|
|
|
118
118
|
"rehype-raw": "^7.0.0",
|
|
119
119
|
"remark-gfm": "^4.0.0",
|
|
120
120
|
"use-immer": "^0.11.0",
|
|
121
|
+
"use-sync-external-store": "^1.6.0",
|
|
121
122
|
"uuid": "^11.0.0",
|
|
122
|
-
"zod": "^3.
|
|
123
|
+
"zod": "^3.25.76 || ^4.0.0"
|
|
123
124
|
},
|
|
124
125
|
"peerDependencies": {
|
|
125
126
|
"react": "^17.0.0 || ^18.0.0",
|
|
@@ -127,21 +128,22 @@
|
|
|
127
128
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
128
129
|
},
|
|
129
130
|
"devDependencies": {
|
|
130
|
-
"@backstage/cli": "^0.
|
|
131
|
-
"@backstage/core-app-api": "^1.19.
|
|
132
|
-
"@backstage/dev-utils": "^1.1.
|
|
131
|
+
"@backstage/cli": "^0.36.0",
|
|
132
|
+
"@backstage/core-app-api": "^1.19.6",
|
|
133
|
+
"@backstage/dev-utils": "^1.1.21",
|
|
133
134
|
"@backstage/e2e-test-utils": "^0.1.2",
|
|
134
|
-
"@backstage/frontend-test-utils": "^0.5.
|
|
135
|
-
"@backstage/plugin-permission-common": "^0.9.
|
|
136
|
-
"@backstage/test-utils": "^1.7.
|
|
135
|
+
"@backstage/frontend-test-utils": "^0.5.1",
|
|
136
|
+
"@backstage/plugin-permission-common": "^0.9.7",
|
|
137
|
+
"@backstage/test-utils": "^1.7.16",
|
|
137
138
|
"@graphql-codegen/cli": "^6.0.0",
|
|
138
139
|
"@graphql-codegen/typescript": "^5.0.0",
|
|
139
140
|
"@graphql-codegen/typescript-graphql-request": "^6.0.0",
|
|
140
141
|
"@graphql-codegen/typescript-operations": "^5.0.0",
|
|
141
142
|
"@playwright/test": "^1.32.3",
|
|
142
143
|
"@sp4b-dev/test-utils": "^0.0.13",
|
|
143
|
-
"@spotify/backstage-plugin-core-common": "^0.6.
|
|
144
|
-
"@spotify/backstage-plugin-soundcheck-node": "^0.
|
|
144
|
+
"@spotify/backstage-plugin-core-common": "^0.6.15",
|
|
145
|
+
"@spotify/backstage-plugin-soundcheck-node": "^0.12.0",
|
|
146
|
+
"@standard-schema/spec": "^1.1.0",
|
|
145
147
|
"@testing-library/jest-dom": "^6.0.0",
|
|
146
148
|
"@testing-library/react": "^14.0.0",
|
|
147
149
|
"@testing-library/user-event": "^14.0.0",
|
package/dist/alpha/pages.esm.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as n}from"react/jsx-runtime";import{convertLegacyRouteRef as i,compatWrapper as r}from"@backstage/core-compat-api";import{PageBlueprint as c,createExtensionInput as m,coreExtensionData as e}from"@backstage/frontend-plugin-api";import{integrationIdExtensionDataRef as g}from"../blueprints/IntegrationPageBlueprint.esm.js";import{campaignActionLabelDataRef as p,campaignActionIdDataRef as u,campaignActionHrefDataRef as f}from"../blueprints/CampaignActionBlueprint.esm.js";import{rootRouteRef as s}from"../routes.esm.js";const d=c.makeWithOverrides({name:"SoundcheckRoutingPage",inputs:{integrations:m([e.routePath,e.reactElement,e.routeRef.optional(),g]),campaignActions:m([p,u,f])},factory(o,{config:R,inputs:a}){return o({routeRef:i(s),path:"/soundcheck",loader:()=>import("../components/RoutingPage/RoutingPage.esm.js").then(h=>r(n(h.RoutingPage,{title:R.title,integrations:a.integrations.map(t=>({integrationId:t.get(g),routePath:t.get(e.routePath),routeRef:t.get(e.routeRef)})),campaignActions:a.campaignActions.map(t=>({label:t.get(p),id:t.get(u),href:t.get(f)}))})))})}}),l=c.make({name:"overview",params:{routeRef:i(s),path:"/soundcheck",loader:()=>import("../components/OverviewPage/index.esm.js").then(o=>r(n(o.OverviewPage,{})))}});export{l as soundcheckOverviewPage,d as soundcheckRoutingPage};
|
|
2
|
-
//# sourceMappingURL=pages.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as w,jsx as s}from"react/jsx-runtime";import{Typography as N,useTheme as U,Tooltip as M}from"@material-ui/core";import{makeStyles as q,createStyles as G}from"@material-ui/core/styles";import{schemeCategory10 as H}from"d3-scale-chromatic";import $ from"lodash";import{memo as L,useRef as X,useState as J,useEffect as K,useMemo as C}from"react";const P=e=>{let r=e;for(;r;){const t=window.getComputedStyle(r).backgroundColor;if(t&&t!=="rgba(0, 0, 0, 0)"&&t!=="transparent")return t;r=r.parentElement}return"transparent"},O=(e,r,t,c,l)=>{if($.isUndefined(e))return"";if(e===0){for(let a=0;a<r.length;a++)if(r[a]>0)return l?.[t[a]]??c[a]}let p=0;for(let a=0;a<r.length;a++)if(p+=r[a],p>=e)return l?.[t[a]]??c[a];return l?.[t[r.length-1]]??c[r.length-1]},j=(e,r)=>e?e/r*100:0,Q=(e,r=2)=>{if(e.length===0)return[];const t=e.filter(i=>i>0),c=$.sum(t);if(c===0)return e.map(()=>0);const l=e.map(i=>i>0?i/c*100:0),p=l.filter(i=>i>0&&i<r).length,a=p*r;if(p===0||a>=100)return l;const o=100-a,m=l.filter(i=>i>=r).reduce((i,d)=>i+d,0);return l.map(i=>i===0?0:i<r?r:m>0?i/m*o:i)},z=q(e=>G({container:{display:"flex",flexDirection:"column",width:"100%"},barWrapper:{position:"relative",width:"100%"},barContainer:{display:"flex",height:e.spacing(1),overflow:"hidden",borderRadius:4,width:"100%",gap:1},barSegment:{height:"100%",minWidth:8},barLabel:{position:"absolute",fontSize:"0.875rem",whiteSpace:"nowrap",transform:"translateX(-50%)"},marker:{position:"absolute",width:6,height:16,top:0,bottom:0,borderRadius:4,transform:"translate(-50%, -25%)"},tooltip:{color:e.palette.text.primary,fontSize:12,borderRadius:e.shape.borderRadius,padding:e.spacing(1)},item:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:e.spacing(.5)},legendDash:{width:e.spacing(2),height:e.spacing(.75),borderRadius:e.spacing(.375),marginRight:e.spacing(1)},category:{display:"flex",alignItems:"center",flex:1,fontSize:"0.875rem",marginRight:e.spacing(2)},value:{fontWeight:e.typography.fontWeightMedium,fontSize:"0.875rem",color:e.palette.text.primary}})),D=L(({data:e,categories:r,valueFormatter:t,type:c,labelPosition:l})=>{const p=z(),a=r.map(d=>e[d]),o=$.sum(a);let m=0,i=0;return w("div",{className:p.barWrapper,children:[a.map((d,x)=>{m+=d;const v=(d>=.1*o||i>=.09*o)&&o-m>=.1*o&&m>=.1*o&&m<.9*o;i=v?0:i+=d;const g=j(m,o),k=c==="percent"?`${Math.round(m/o*100)}%`:t(m);return s("div",{className:p.barLabel,style:{left:`${g}%`,top:l==="top"?"-1.5rem":"1.5rem"},children:v&&s(N,{variant:"caption",children:k})},`item-${x}`)}),s(N,{variant:"caption",style:{position:"absolute",bottom:0,left:0},children:c==="percent"?"0%":t(0)}),s(N,{variant:"caption",style:{position:"absolute",bottom:0,right:0},children:c==="percent"?"100%":t(o)})]})});L(e=>{const r=U(),t=z(),{data:c={},categories:l=[],colors:p=H,categoryColors:a,marker:o,showLabels:m=!1,showTooltip:i=!0,valueFormatter:d=n=>n.toString(),categoryFormatter:x=n=>n,type:v="value",labelPosition:g="top",className:k,...E}=e,f=l.map(n=>c[n]).filter(n=>typeof n=="number"),S=X(null),[T,A]=J("transparent");K(()=>{if(S.current){const n=P(S.current);A(n)}},[S]);const B=C(()=>O(o?.value,f,l,p,a),[o,f,l,p,a]),h=C(()=>$.sum(f),[f]),W=C(()=>Q(f),[f]),F=C(()=>{if(!$.isUndefined(o))return o.value<0?0:o.value>h?h:o.value},[o,h]),I=C(()=>j(F,h),[F,h]);return h<=0?null:s("div",{ref:S,className:`${k} ${t.container}`,...E,children:w("div",{className:t.barWrapper,children:[m&&g==="top"&&s(D,{data:c,categories:l,valueFormatter:d,type:v,labelPosition:g}),s("div",{className:t.barContainer,children:i?s(M,{title:s("div",{className:t.tooltip,children:l.filter(n=>c[n]>0).map((n,u)=>{const b=c[n],y=a?.[n]??p[u]??"gray";return w("div",{className:t.item,children:[w("div",{className:t.category,children:[s("span",{className:t.legendDash,style:{backgroundColor:y}}),s(N,{variant:"caption",children:x(n)})]}),s("div",{className:t.value,children:w(N,{variant:"caption",children:[d(b)," of ",d(h)," ","(",Math.round(b/h*100),"%)"]})})]},`tooltip-item-${u}`)})}),placement:"top",arrow:!0,classes:{tooltip:t.tooltip},children:s("div",{className:t.barContainer,children:l.map((n,u)=>{const b=c[n],y=a?.[n]??p[u]??"gray",R=W[u]||0;return b<=0?null:s("div",{className:t.barSegment,style:{backgroundColor:y,width:`${R}%`}},`item-${u}`)})})}):s("div",{className:t.barContainer,children:l.map((n,u)=>{const b=c[n],y=a?.[n]??p[u]??r.palette.text.disabled,R=W[u]||0;return b<=0?null:s("div",{className:t.barSegment,style:{backgroundColor:y,width:`${R}%`}},`item-${u}`)})})}),o!==void 0&&s(M,{title:o.tooltip||"",arrow:!0,children:s("div",{className:t.marker,style:{left:`${I}%`,backgroundColor:B,border:`1px solid ${T}`,transition:o.showAnimation?"all 0.3s ease-in-out":"none"}})}),m&&g==="bottom"&&s(D,{data:c,categories:l,valueFormatter:d,type:v,labelPosition:g})]})})});export{P as getEffectiveBackgroundColor};
|
|
2
|
-
//# sourceMappingURL=CategoryBar.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@material-ui/core";import{makeStyles as o}from"@material-ui/core/styles";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";import"../CategoryBar/CategoryBar.esm.js";import"../../graphql/generated/index.esm.js";o(r=>({categoryBar:{"& .MuiBox-root > div":{height:"8px"}}}));
|
|
2
|
-
//# sourceMappingURL=CheckStatusBar.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-components";import"@backstage/core-plugin-api";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"lodash";import"react";import"react-router-dom";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"../../routes.esm.js";import"../LoadingIndicator/LoadingIndicator.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import"./TemplateCategory.esm.js";t(o=>({content:{display:"flex",flexDirection:"column",gap:o.spacing(2)},grid:{marginLeft:o.spacing(2)},cardContent:{"&:hover":{backgroundColor:o.palette.action.hover}},docsLink:{color:o.palette.text.primary},link:{textDecoration:"none"}}));
|
|
2
|
-
//# sourceMappingURL=CheckTemplatesPageDeprecated.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-components";import"@backstage/core-plugin-api";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"lodash";import"react-router-dom";import"../../routes.esm.js";t(o=>({content:{marginLeft:o.spacing(2)},link:{textDecoration:"none"},cardContent:{"&:hover":{backgroundColor:o.palette.action.hover}}}));
|
|
2
|
-
//# sourceMappingURL=TemplateCategory.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-components";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import{makeStyles as i}from"@material-ui/core";import"@material-ui/lab";import"@spotify/backstage-plugin-soundcheck-common";import"lodash";import"react";import"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import"react-use/lib/useAsync";import"../ChecksTable/utils.esm.js";import"../../graphql/generated/index.esm.js";import"react-use/lib/useAsyncRetry";import"../../routes.esm.js";import"../CheckForm/utils/checkFormUtils.esm.js";import"../CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js";import"@material-ui/icons/Search";import"../SoundcheckDialog/SoundcheckDialog.esm.js";import"../FactExplorer/FactExplorer.esm.js";import"../FactExplorer/FactExplorerContext.esm.js";import"../LoadingIndicator/LoadingIndicator.esm.js";import"../PageWarningMessage/PageWarningMessage.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import"../SoundcheckMarkdownContent/SoundcheckMarkdownContentDeprecated.esm.js";import"react-markdown";import"rehype-raw";import"remark-gfm";import"../SoundcheckMarkdownContent/SoundcheckMarkdownContentBUI.esm.js";import"./CollectorFactTable.esm.js";i(r=>({card:{width:360},cardDescription:{"& p":{marginTop:r.spacing(.5),marginBottom:r.spacing(.5)}},cardContent:{flexGrow:1}}));
|
|
2
|
-
//# sourceMappingURL=CollectorDetailsPageDeprecated.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as t}from"@material-ui/core";import"lodash";import"cron-validate";import"cronstrue";import"@material-ui/icons/Search";import"react";import"../SoundcheckDialog/SoundcheckDialog.esm.js";import"../FactExplorer/FactExplorer.esm.js";import"../FactExplorer/FactExplorerContext.esm.js";t(o=>({noConfig:{color:o.palette.action.disabled}}));
|
|
2
|
-
//# sourceMappingURL=CollectorFactTable.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@material-ui/core";import"react";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"react-router-dom";import"@material-ui/lab";import"./CollectorSummaryCard.esm.js";const t=["github","gitlab","scm","pagerduty","datadog","kubernetes","jira","sonarqube","newrelic","bigquery","catalog","azure","http","data-registry"];export{t as ConfigurableCollectorIds};
|
|
2
|
-
//# sourceMappingURL=CollectorListPageDeprecated.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as p}from"react/jsx-runtime";import{makeStyles as g,useTheme as f}from"@material-ui/core";import s from"../../../images/azure-devops-rgb.svg";import c from"../../../images/azure-devops-white.svg";import n from"../../../images/bigquery-rgb.svg";import h from"../../../images/bigquery-white.svg";import l from"../../../images/cat-blk.svg";import u from"../../../images/cat-wht.svg";import d from"../../../images/data-registry-blk.svg";import b from"../../../images/data-registry-wht.svg";import y from"../../../images/dd_logo_h_rgb.svg";import k from"../../../images/dd_logo_h_white.svg";import q from"../../../images/GitHub_Logo.svg";import j from"../../../images/GitHub_Logo_White.svg";import w from"../../../images/gitlab-rgb.svg";import x from"../../../images/gitlab-white.svg";import B from"../../../images/http-rgb.svg";import z from"../../../images/http-white.svg";import I from"../../../images/jira-rgb.svg";import L from"../../../images/jira-white.svg";import S from"../../../images/k8s_blue.svg";import T from"../../../images/k8s_white.svg";import $ from"../../../images/new-relic-rgb.svg";import C from"../../../images/new-relic-white.svg";import D from"../../../images/pd-black.svg";import M from"../../../images/pd-white.svg";import N from"../../../images/SCM_DARK.svg";import A from"../../../images/SCM_LIGHT.svg";import E from"../../../images/sonarqube-rgb.svg";import F from"../../../images/sonarqube-white.svg";import G from"../../../images/soundcheck-black.svg";import H from"../../../images/soundcheck-white.svg";import K from"../../../images/tech-black.svg";import O from"../../../images/tech-white.svg";import{isDarkTheme as Q}from"../../Charts/chartUtils.esm.js";const t={github:q,gitlab:w,datadog:y,scm:A,pagerduty:D,catalog:l,soundcheck:G,techinsights:K,kubernetes:S,jira:I,sonarqube:E,newrelic:$,bigquery:n,azure:s,http:B,"data-registry":d},i={github:j,gitlab:x,datadog:k,scm:N,pagerduty:M,catalog:u,soundcheck:H,techinsights:O,kubernetes:T,jira:L,sonarqube:F,newrelic:C,bigquery:h,azure:c,http:z,"data-registry":b},R=new Set(["catalog","soundcheck","techinsights","sonarqube","data-registry"]),W=g(o=>({image:{objectFit:"contain",color:"white",height:o.spacing(5)-4,maxWidth:"100%",marginBottom:o.spacing(1.5)},tallImage:{height:o.spacing(6.5),marginBottom:o.spacing(0)}})),_=o=>!!t[o]&&!!i[o],v=({collectorId:o,noMargin:a})=>{const r=W(),e=f(),m=Q(e)?i[o]:t[o];return m?p("img",{src:m,alt:o,style:a?{marginBottom:0}:{},className:`${r.image} ${R.has(o)?r.tallImage:""}`}):null};export{v as CollectorLogo,_ as hasLogo};
|
|
2
|
-
//# sourceMappingURL=CollectorLogo.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-components";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import{makeStyles as o}from"@material-ui/core";import"@spotify/backstage-plugin-soundcheck-common";import"react-router-dom";import"../../../routes.esm.js";import"../../SoundcheckMarkdownContent/SoundcheckMarkdownContentDeprecated.esm.js";import"react";import"react-markdown";import"rehype-raw";import"remark-gfm";import"../../SoundcheckMarkdownContent/SoundcheckMarkdownContentBUI.esm.js";import"../../SummaryCard/SummaryCard.esm.js";import"./CollectorLogo.esm.js";o(t=>({cardContent:{flex:1,paddingTop:t.spacing(1)},logoHeader:{paddingBottom:0,flex:0},headerContent:{display:"flex",alignItems:"center",height:t.spacing(5),marginBottom:t.spacing(1.5)},headerTypography:{marginBottom:0},usageText:{marginTop:t.spacing(.5)},checkUsageHover:{textDecoration:"underline",textDecorationStyle:"dotted","&:hover":{cursor:"default"}}}));
|
|
2
|
-
//# sourceMappingURL=CollectorSummaryCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as e}from"@material-ui/core";e(t=>({overlay:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3},messageContainer:{textAlign:"center",padding:t.spacing(2)},mainMessage:{color:t.palette.common.white,fontSize:"1.5rem",marginBottom:t.spacing(2)},statsMessage:{color:t.palette.common.white,fontSize:"0.875rem",opacity:.8}}));
|
|
2
|
-
//# sourceMappingURL=LoadingOverlay.esm.js.map
|
package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoCirclePacking.esm.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-plugin-api";import"@backstage/plugin-catalog-react";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"@nivo/circle-packing";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";import"./LoadingOverlay.esm.js";t(o=>({root:{position:"relative",width:"100%",height:"100%"},nivoContainer:{width:"100%",height:"100%"},tooltip:{position:"absolute",pointerEvents:"none",zIndex:1e3},tooltipContent:{backgroundColor:o.palette.background.paper,padding:o.spacing(1),borderRadius:o.shape.borderRadius,boxShadow:o.shadows[1]},loadingOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:1e3,"& > *":{color:o.palette.common.white}}}));
|
|
2
|
-
//# sourceMappingURL=NivoCirclePacking.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as t}from"@material-ui/core";import"@nivo/heatmap";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";t(()=>({heatmapContainer:{height:600,width:"100%"},trackLink:{color:"inherit",textDecoration:"none"}}));
|
|
2
|
-
//# sourceMappingURL=NivoHeatmap.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-plugin-api";import"@backstage/plugin-catalog-react";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"@nivo/icicle";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";import"./LoadingOverlay.esm.js";t(o=>({root:{position:"relative",width:"100%",height:"100%"},nivoContainer:{width:"100%",height:"100%"},tooltip:{position:"absolute",pointerEvents:"none",zIndex:1e3},tooltipContent:{backgroundColor:o.palette.background.paper,padding:o.spacing(1),borderRadius:o.shape.borderRadius,boxShadow:o.shadows[1]},loadingOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:1e3,"& > *":{color:o.palette.common.white}}}));
|
|
2
|
-
//# sourceMappingURL=NivoIcicle.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-plugin-api";import"@backstage/plugin-catalog-react";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"@nivo/sunburst";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";import"./LoadingOverlay.esm.js";t(o=>({root:{position:"relative",width:"100%",height:"100%"},nivoContainer:{width:"100%",height:"100%"},tooltip:{position:"absolute",pointerEvents:"none",zIndex:1e3},tooltipContent:{backgroundColor:o.palette.background.paper,padding:o.spacing(1),borderRadius:o.shape.borderRadius,boxShadow:o.shadows[1]},loadingOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:1e3,"& > *":{color:o.palette.common.white}}}));
|
|
2
|
-
//# sourceMappingURL=NivoSunburst.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"@backstage/core-plugin-api";import"@backstage/plugin-catalog-react";import"@material-ui/core";import{makeStyles as t}from"@material-ui/core/styles";import"@nivo/treemap";import"react";import"@nivo/colors";import"d3-color";import"d3-interpolate";import"d3-scale";import"./LoadingOverlay.esm.js";t(o=>({root:{position:"relative",width:"100%",height:"100%"},nivoContainer:{width:"100%",height:"100%"},tooltip:{position:"absolute",pointerEvents:"none",zIndex:1e3},tooltipContent:{backgroundColor:o.palette.background.paper,padding:o.spacing(1),borderRadius:o.shape.borderRadius,boxShadow:o.shadows[1]},loadingOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:1e3,"& > *":{color:o.palette.common.white}}}));
|
|
2
|
-
//# sourceMappingURL=NivoTreemap.esm.js.map
|
package/dist/components/HierarchicalTechInsightsPage/visualizations/VisualizationBreadcrumb.esm.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as t}from"@material-ui/core";import"@material-ui/icons/ChevronRight";import"react";t(e=>({breadcrumbContainer:{display:"flex",alignItems:"center",height:24},chevronIcon:{color:e.palette.text.secondary,marginLeft:4,marginRight:4},breadcrumbLink:{color:e.palette.text.secondary,fontWeight:400,cursor:"pointer",background:"none",border:"none",padding:0,font:"inherit",textDecoration:"none","&:hover":{textDecoration:"underline"},"&.active":{color:e.palette.text.primary,fontWeight:600},"&.disabled":{cursor:"default","&:hover":{textDecoration:"none"}}},breadcrumbText:{color:"inherit",fontWeight:"inherit"}}));
|
|
2
|
-
//# sourceMappingURL=VisualizationBreadcrumb.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{getPercentage as n}from"../../../utils/formatters.esm.js";import{getTrackStatusTotal as R}from"../../../utils/tracks.esm.js";const u=(e,a)=>{if(!e||typeof e!="object")return null;if(e.groupRef===a)return e.status;if(e.children&&Array.isArray(e.children))for(const c of e.children){const s=u(c,a);if(s)return s}return null},p=(e,a,c,s,f)=>{const g=e.entityRef,d=e.entityRef,r=a?u(a,d):null,h=c(r?.allPassPercentage||0),P=e.ownedEntityRefs?.length||0,t=r?R(r):0;if(!e.children||Object.keys(e.children).length===0){if(P===0)return;const i=Math.log(P+1);if(i===0)return;const l={id:g,name:g,entityRef:d,value:i,numberOfEntities:P,color:h,passPercentage:r?.allPassPercentage||0,failPercentage:n(r?.failed,t),warningPercentage:n(r?.warning,t),notReportedPercentage:n(r?.notReported,t),errorPercentage:n(r?.error,t),children:[]};return f&&(l.parent=f),l}const m=Object.values(e.children),o={id:g,name:g,entityRef:d,numberOfEntities:0,color:"",passPercentage:r?.allPassPercentage||0,failPercentage:n(r?.failed,t),warningPercentage:n(r?.warning,t),notReportedPercentage:n(r?.notReported,t),errorPercentage:n(r?.error,t),children:[]};f&&(o.parent=f);const y=m.map(i=>{const l=p(i,a,c,s,o);return o.numberOfEntities+=l?.numberOfEntities??0,l}).filter(i=>i!==void 0);return o.children=y,o.color=c(r?.allPassPercentage||0),o};export{p as hierarchyToNivo};
|
|
2
|
-
//# sourceMappingURL=hierarchyToNivo.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as r}from"@material-ui/core";import"@material-ui/icons/GetApp";import"@material-ui/icons/Publish";import"js-yaml";import"lodash";import"react";import"../../hooks/useSoundcheckAlert.esm.js";r(i=>({button:{height:"44px",lineHeight:"1.25rem",padding:i.spacing(1.5,1),marginRight:i.spacing(.5),borderRadius:"12px",color:i.palette.text.primary}}));
|
|
2
|
-
//# sourceMappingURL=ImportExportPanelDeprecated.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{withStyles as t,Card as e,makeStyles as o}from"@material-ui/core";import{createStyles as r}from"@material-ui/core/styles";import"../SoundcheckMarkdownContent/SoundcheckMarkdownContentDeprecated.esm.js";import"@backstage/core-components";import"react";import"react-markdown";import"rehype-raw";import"remark-gfm";import"../SoundcheckMarkdownContent/SoundcheckMarkdownContentBUI.esm.js";import"./SummaryCardActionsMenu.esm.js";t(i=>r({root:{width:"100%",height:"100%",minHeight:"385px",display:"flex",flexDirection:"column",padding:i.spacing(2),position:"relative",justifyContent:"start"}}))(e),o(i=>({root:{position:"relative",height:"100%"},summaryName:{fontSize:i.typography.pxToRem(24),color:i.palette.text.primary,maxHeight:"250px",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical","-webkit-box-orient":"vertical",wordBreak:"break-word"},summaryDescription:{color:i.palette.text.primary,padding:0,maxHeight:"175px",overflow:"auto",textOverflow:"ellipsis",display:"-webkit-box",WebkitBoxOrient:"vertical","-webkit-box-orient":"vertical",wordBreak:"break-word"},card:{paddingTop:i.spacing(1),paddingBottom:0,paddingLeft:i.spacing(1),paddingRight:i.spacing(1),borderColor:i.palette.divider},cardContent:{height:"100%",paddingTop:0},actionArea:{padding:i.spacing(1.5,2,1.5,4)},button:{minWidth:0,color:i.palette.text.primary,"&:disabled":{color:i.palette.text.disabled,opacity:1}}}));
|
|
2
|
-
//# sourceMappingURL=SummaryCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"react/jsx-runtime";import{makeStyles as o}from"@material-ui/core";import"@material-ui/icons/Archive";import"@material-ui/icons/Delete";import"@material-ui/icons/Edit";import"@material-ui/icons/MoreVert";import"@material-ui/icons/OpenInBrowser";import"@material-ui/icons/Refresh";import"@material-ui/icons/SaveAlt";import"react";o(t=>({menuList:{backgroundColor:t.palette.background.paper,color:t.palette.text.primary},menuIcon:{color:t.palette.text.primary},menuIconSize:{minWidth:t.spacing(4)}}));
|
|
2
|
-
//# sourceMappingURL=SummaryCardActionsMenu.esm.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg width="180" height="85" viewBox="0 0 180 85" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<rect width="180" height="85" fill="url(#pattern0_189_3086)"/>
|
|
3
|
-
<defs>
|
|
4
|
-
<pattern id="pattern0_189_3086" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
-
<use xlink:href="#image0_189_3086" transform="matrix(0.00115556 0 0 0.00244706 -0.0777778 -0.00164706)"/>
|
|
6
|
-
</pattern>
|
|
7
|
-
<image id="image0_189_3086" width="1000" height="410" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAGaCAYAAACc1mkHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGQTdGMTE3NDA3MjA2ODExQjM0QkRCMTI3QTg3OTlBMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDQjg3OEJGRTM4M0YxMUUzQTZEMUI0MDIyQjJEMDFGNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDQjg3OEJGRDM4M0YxMUUzQTZEMUI0MDIyQjJEMDFGNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDY1NjNCMTEzNDIwNjgxMTgwODNGMTQ4QTZCNTMyNkQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkE3RjExNzQwNzIwNjgxMUIzNEJEQjEyN0E4Nzk5QTAiLz4gPC9yZGY6RGVzY3Jp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"/>
|
|
8
|
-
</defs>
|
|
9
|
-
</svg>
|