@backstage/plugin-catalog 0.9.1 → 1.0.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/dist/esm/{index-61fe5994.esm.js → index-0f8f348d.esm.js} +5 -6
  3. package/dist/esm/index-0f8f348d.esm.js.map +1 -0
  4. package/dist/esm/{index-bb5ef8ab.esm.js → index-3763491b.esm.js} +2 -2
  5. package/dist/esm/{index-bb5ef8ab.esm.js.map → index-3763491b.esm.js.map} +1 -1
  6. package/dist/esm/{index-2a9d68c3.esm.js → index-390fab14.esm.js} +2 -2
  7. package/dist/esm/{index-2a9d68c3.esm.js.map → index-390fab14.esm.js.map} +1 -1
  8. package/dist/esm/{index-69fcf315.esm.js → index-41ab53b6.esm.js} +2 -2
  9. package/dist/esm/{index-69fcf315.esm.js.map → index-41ab53b6.esm.js.map} +1 -1
  10. package/dist/esm/{index-7e69bc27.esm.js → index-4e6adb42.esm.js} +1 -1
  11. package/dist/esm/{index-7e69bc27.esm.js.map → index-4e6adb42.esm.js.map} +1 -1
  12. package/dist/esm/{index-be138931.esm.js → index-66fdb6ad.esm.js} +2 -2
  13. package/dist/esm/{index-be138931.esm.js.map → index-66fdb6ad.esm.js.map} +1 -1
  14. package/dist/esm/{index-1f9336e4.esm.js → index-74617ebb.esm.js} +50 -69
  15. package/dist/esm/index-74617ebb.esm.js.map +1 -0
  16. package/dist/esm/{index-52271589.esm.js → index-896aeac9.esm.js} +1 -1
  17. package/dist/esm/{index-52271589.esm.js.map → index-896aeac9.esm.js.map} +1 -1
  18. package/dist/esm/{index-14286170.esm.js → index-acb3cf04.esm.js} +2 -2
  19. package/dist/esm/{index-14286170.esm.js.map → index-acb3cf04.esm.js.map} +1 -1
  20. package/dist/esm/{index-df3c8250.esm.js → index-b3ad464b.esm.js} +2 -2
  21. package/dist/esm/{index-df3c8250.esm.js.map → index-b3ad464b.esm.js.map} +1 -1
  22. package/dist/esm/{index-172990ed.esm.js → index-c2914273.esm.js} +2 -2
  23. package/dist/esm/index-c2914273.esm.js.map +1 -0
  24. package/dist/esm/{index-583e6f94.esm.js → index-d41abbff.esm.js} +2 -2
  25. package/dist/esm/{index-583e6f94.esm.js.map → index-d41abbff.esm.js.map} +1 -1
  26. package/dist/esm/{index-3cf25427.esm.js → index-fd09677a.esm.js} +2 -3
  27. package/dist/esm/index-fd09677a.esm.js.map +1 -0
  28. package/dist/esm/{presets-8488ee8e.esm.js → presets-13b889b9.esm.js} +1 -1
  29. package/dist/esm/{presets-8488ee8e.esm.js.map → presets-13b889b9.esm.js.map} +1 -1
  30. package/dist/index.d.ts +38 -36
  31. package/dist/index.esm.js +1 -2
  32. package/dist/index.esm.js.map +1 -1
  33. package/package.json +18 -18
  34. package/dist/esm/index-172990ed.esm.js.map +0 -1
  35. package/dist/esm/index-1f9336e4.esm.js.map +0 -1
  36. package/dist/esm/index-3cf25427.esm.js.map +0 -1
  37. package/dist/esm/index-61fe5994.esm.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # @backstage/plugin-catalog
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - b58c70c223: This package has been promoted to v1.0! To understand how this change affects the package, please check out our [versioning policy](https://backstage.io/docs/overview/versioning-policy).
8
+
9
+ ### Patch Changes
10
+
11
+ - a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3
12
+ - c689d7a94c: **DEPRECATION**: The `FilteredEntityLayout` and related components have been moved to `@backstage/plugin-catalog-react` and renamed. The original components are now deprecated and should be replaced as follows:
13
+
14
+ - `FilteredEntityLayout` -> `CatalogFilterLayout`
15
+ - `FilterContainer` -> `CatalogFilterLayout.Filters`
16
+ - `EntityListContainer` -> `CatalogFilterLayout.Content`
17
+
18
+ - d4afa7e30d: Fix for `EntitySwitch` not properly falling back to render the default entity page when the entity is missing.
19
+ - f24ef7864e: Minor typo fixes
20
+ - Updated dependencies
21
+ - @backstage/core-components@0.9.2
22
+ - @backstage/core-plugin-api@1.0.0
23
+ - @backstage/integration-react@1.0.0
24
+ - @backstage/plugin-catalog-react@1.0.0
25
+ - @backstage/catalog-model@1.0.0
26
+ - @backstage/catalog-client@1.0.0
27
+ - @backstage/errors@1.0.0
28
+ - @backstage/types@1.0.0
29
+ - @backstage/plugin-catalog-common@1.0.0
30
+ - @backstage/plugin-search-common@0.3.2
31
+
32
+ ## 0.10.0
33
+
34
+ ### Minor Changes
35
+
36
+ - 51856359bf: **BREAKING**: Removed the `AboutCard` component which has been replaced by `EntityAboutCard`.
37
+ - 5ea9509e6a: **BREAKING**: Removed `CatalogResultListItemProps` and `CatalogResultListItem`, replaced by `CatalogSearchResultListItemProps` and `CatalogSearchResultListItem`.
38
+
39
+ ### Patch Changes
40
+
41
+ - 9a06d18385: Added an `allowedKinds` option to `CatalogKindHeader` to limit entity kinds available in the dropdown.
42
+ - 251688a75e: Updated `CatalogKindHeader` to respond to external changes to query parameters in the URL, such as two sidebar links that apply different catalog filters.
43
+ - 9844d4d2bd: Removed usage of removed hook.
44
+ - 3e54f6c436: Use `@backstage/plugin-search-common` package instead of `@backstage/search-common`.
45
+ - Updated dependencies
46
+ - @backstage/plugin-catalog-react@0.9.0
47
+ - @backstage/core-components@0.9.1
48
+ - @backstage/catalog-model@0.13.0
49
+ - @backstage/plugin-catalog-common@0.2.2
50
+ - @backstage/plugin-search-common@0.3.1
51
+ - @backstage/catalog-client@0.9.0
52
+ - @backstage/integration-react@0.1.25
53
+
54
+ ## 0.10.0-next.0
55
+
56
+ ### Minor Changes
57
+
58
+ - 51856359bf: **BREAKING**: Removed the `AboutCard` component which has been replaced by `EntityAboutCard`.
59
+ - 5ea9509e6a: **BREAKING**: Removed `CatalogResultListItemProps` and `CatalogResultListItem`, replaced by `CatalogSearchResultListItemProps` and `CatalogSearchResultListItem`.
60
+
61
+ ### Patch Changes
62
+
63
+ - 251688a75e: Updated `CatalogKindHeader` to respond to external changes to query parameters in the URL, such as two sidebar links that apply different catalog filters.
64
+ - 9844d4d2bd: Removed usage of removed hook.
65
+ - 3e54f6c436: Use `@backstage/plugin-search-common` package instead of `@backstage/search-common`.
66
+ - Updated dependencies
67
+ - @backstage/plugin-catalog-react@0.9.0-next.0
68
+ - @backstage/core-components@0.9.1-next.0
69
+ - @backstage/catalog-model@0.13.0-next.0
70
+ - @backstage/plugin-catalog-common@0.2.2-next.0
71
+ - @backstage/plugin-search-common@0.3.1-next.0
72
+ - @backstage/catalog-client@0.9.0-next.0
73
+ - @backstage/integration-react@0.1.25-next.0
74
+
3
75
  ## 0.9.1
4
76
 
5
77
  ### Patch Changes
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import { useOutlet } from 'react-router';
3
3
  import { PageWithHeader, Content, ContentHeader, CreateButton, SupportButton } from '@backstage/core-components';
4
4
  import { useApi, configApiRef, useRouteRef } from '@backstage/core-plugin-api';
5
- import { EntityListProvider, EntityTypePicker, UserListPicker, EntityOwnerPicker, EntityLifecyclePicker, EntityTagPicker } from '@backstage/plugin-catalog-react';
6
- import { c as createComponentRouteRef, C as CatalogKindHeader, F as FilteredEntityLayout, a as FilterContainer, E as EntityListContainer, b as CatalogTable } from './index-1f9336e4.esm.js';
5
+ import { EntityListProvider, CatalogFilterLayout, EntityTypePicker, UserListPicker, EntityOwnerPicker, EntityLifecyclePicker, EntityTagPicker } from '@backstage/plugin-catalog-react';
6
+ import { c as createComponentRouteRef, C as CatalogKindHeader, a as CatalogTable } from './index-74617ebb.esm.js';
7
7
  import 'zen-observable';
8
8
  import '@backstage/catalog-model';
9
9
  import 'lodash';
@@ -24,7 +24,6 @@ import '@material-ui/icons/MoreVert';
24
24
  import '@backstage/plugin-catalog-common';
25
25
  import '@backstage/errors';
26
26
  import '@backstage/catalog-client';
27
- import '@material-ui/icons/FilterList';
28
27
 
29
28
  function DefaultCatalogPage(props) {
30
29
  var _a;
@@ -39,9 +38,9 @@ function DefaultCatalogPage(props) {
39
38
  }, /* @__PURE__ */ React.createElement(CreateButton, {
40
39
  title: "Create Component",
41
40
  to: createComponentLink && createComponentLink()
42
- }), /* @__PURE__ */ React.createElement(SupportButton, null, "All your software catalog entities")), /* @__PURE__ */ React.createElement(FilteredEntityLayout, null, /* @__PURE__ */ React.createElement(FilterContainer, null, /* @__PURE__ */ React.createElement(EntityTypePicker, null), /* @__PURE__ */ React.createElement(UserListPicker, {
41
+ }), /* @__PURE__ */ React.createElement(SupportButton, null, "All your software catalog entities")), /* @__PURE__ */ React.createElement(CatalogFilterLayout, null, /* @__PURE__ */ React.createElement(CatalogFilterLayout.Filters, null, /* @__PURE__ */ React.createElement(EntityTypePicker, null), /* @__PURE__ */ React.createElement(UserListPicker, {
43
42
  initialFilter: initiallySelectedFilter
44
- }), /* @__PURE__ */ React.createElement(EntityOwnerPicker, null), /* @__PURE__ */ React.createElement(EntityLifecyclePicker, null), /* @__PURE__ */ React.createElement(EntityTagPicker, null)), /* @__PURE__ */ React.createElement(EntityListContainer, null, /* @__PURE__ */ React.createElement(CatalogTable, {
43
+ }), /* @__PURE__ */ React.createElement(EntityOwnerPicker, null), /* @__PURE__ */ React.createElement(EntityLifecyclePicker, null), /* @__PURE__ */ React.createElement(EntityTagPicker, null)), /* @__PURE__ */ React.createElement(CatalogFilterLayout.Content, null, /* @__PURE__ */ React.createElement(CatalogTable, {
45
44
  columns,
46
45
  actions
47
46
  }))))));
@@ -55,4 +54,4 @@ function CatalogPage(props) {
55
54
  }
56
55
 
57
56
  export { CatalogPage, DefaultCatalogPage };
58
- //# sourceMappingURL=index-61fe5994.esm.js.map
57
+ //# sourceMappingURL=index-0f8f348d.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-0f8f348d.esm.js","sources":["../../src/components/CatalogPage/DefaultCatalogPage.tsx","../../src/components/CatalogPage/CatalogPage.tsx"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Content,\n ContentHeader,\n CreateButton,\n PageWithHeader,\n SupportButton,\n TableColumn,\n TableProps,\n} from '@backstage/core-components';\nimport { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';\nimport {\n CatalogFilterLayout,\n EntityLifecyclePicker,\n EntityListProvider,\n EntityOwnerPicker,\n EntityTagPicker,\n EntityTypePicker,\n UserListFilterKind,\n UserListPicker,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { createComponentRouteRef } from '../../routes';\nimport { CatalogTable, CatalogTableRow } from '../CatalogTable';\nimport { CatalogKindHeader } from '../CatalogKindHeader';\n\n/**\n * Props for root catalog pages.\n *\n * @public\n */\nexport interface DefaultCatalogPageProps {\n initiallySelectedFilter?: UserListFilterKind;\n columns?: TableColumn<CatalogTableRow>[];\n actions?: TableProps<CatalogTableRow>['actions'];\n}\n\nexport function DefaultCatalogPage(props: DefaultCatalogPageProps) {\n const { columns, actions, initiallySelectedFilter = 'owned' } = props;\n const orgName =\n useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage';\n const createComponentLink = useRouteRef(createComponentRouteRef);\n\n return (\n <PageWithHeader title={`${orgName} Catalog`} themeId=\"home\">\n <EntityListProvider>\n <Content>\n <ContentHeader titleComponent={<CatalogKindHeader />}>\n <CreateButton\n title=\"Create Component\"\n to={createComponentLink && createComponentLink()}\n />\n <SupportButton>All your software catalog entities</SupportButton>\n </ContentHeader>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <EntityTypePicker />\n <UserListPicker initialFilter={initiallySelectedFilter} />\n <EntityOwnerPicker />\n <EntityLifecyclePicker />\n <EntityTagPicker />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <CatalogTable columns={columns} actions={actions} />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </Content>\n </EntityListProvider>\n </PageWithHeader>\n );\n}\n","/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { useOutlet } from 'react-router';\nimport {\n DefaultCatalogPage,\n DefaultCatalogPageProps,\n} from './DefaultCatalogPage';\n\nexport function CatalogPage(props: DefaultCatalogPageProps) {\n const outlet = useOutlet();\n\n return outlet || <DefaultCatalogPage {...props} />;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDO,SAAA,kBAAA,CAA4B,KAAgC,EAAA;AApDnE,EAAA,IAAA,EAAA,CAAA;AAqDE,EAAA,MAAM,EAAE,OAAA,EAAS,OAAS,EAAA,uBAAA,GAA0B,OAAY,EAAA,GAAA,KAAA,CAAA;AAChE,EAAA,MAAM,OACJ,GAAA,CAAA,EAAA,GAAA,MAAA,CAAO,YAAc,CAAA,CAAA,iBAAA,CAAkB,yBAAvC,IAA+D,GAAA,EAAA,GAAA,WAAA,CAAA;AACjE,EAAA,MAAM,sBAAsB,WAAY,CAAA,uBAAA,CAAA,CAAA;AAExC,EAAA,2CACG,cAAD,EAAA;AAAA,IAAgB,OAAO,CAAG,EAAA,OAAA,CAAA,QAAA,CAAA;AAAA,IAAmB,OAAQ,EAAA,MAAA;AAAA,GAAA,sCAClD,kBAAD,EAAA,IAAA,sCACG,OAAD,EAAA,IAAA,sCACG,aAAD,EAAA;AAAA,IAAe,cAAA,sCAAiB,iBAAD,EAAA,IAAA,CAAA;AAAA,GAAA,sCAC5B,YAAD,EAAA;AAAA,IACE,KAAM,EAAA,kBAAA;AAAA,IACN,IAAI,mBAAuB,IAAA,mBAAA,EAAA;AAAA,GAAA,CAAA,kBAE5B,KAAA,CAAA,aAAA,CAAA,aAAA,EAAD,IAAe,EAAA,oCAAA,CAAA,CAAA,sCAEhB,mBAAD,EAAA,IAAA,kBACG,KAAA,CAAA,aAAA,CAAA,mBAAA,CAAoB,SAArB,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,gBAAD,EAAA,IAAA,CAAA,sCACC,cAAD,EAAA;AAAA,IAAgB,aAAe,EAAA,uBAAA;AAAA,GAAA,CAAA,kBAC9B,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAD,IACA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,uBAAD,IACA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,eAAD,EAAA,IAAA,CAAA,CAAA,kBAED,KAAA,CAAA,aAAA,CAAA,mBAAA,CAAoB,OAArB,EAAA,IAAA,sCACG,YAAD,EAAA;AAAA,IAAc,OAAA;AAAA,IAAkB,OAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;ACvDvC,SAAA,WAAA,CAAqB,KAAgC,EAAA;AAC1D,EAAA,MAAM,MAAS,GAAA,SAAA,EAAA,CAAA;AAEf,EAAO,OAAA,MAAA,wCAAW,kBAAD,EAAA;AAAA,IAAwB,GAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { RELATION_HAS_PART } from '@backstage/catalog-model';
2
2
  import React from 'react';
3
- import { R as RelatedEntitiesCard, s as systemEntityColumns, a as asSystemEntities, b as systemEntityHelpLink } from './presets-8488ee8e.esm.js';
3
+ import { R as RelatedEntitiesCard, s as systemEntityColumns, a as asSystemEntities, b as systemEntityHelpLink } from './presets-13b889b9.esm.js';
4
4
  import '@material-ui/core';
5
5
  import '@backstage/plugin-catalog-react';
6
6
  import '@backstage/core-components';
@@ -20,4 +20,4 @@ function HasSystemsCard(props) {
20
20
  }
21
21
 
22
22
  export { HasSystemsCard };
23
- //# sourceMappingURL=index-bb5ef8ab.esm.js.map
23
+ //# sourceMappingURL=index-3763491b.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-bb5ef8ab.esm.js","sources":["../../src/components/HasSystemsCard/HasSystemsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_HAS_PART } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asSystemEntities,\n RelatedEntitiesCard,\n systemEntityColumns,\n systemEntityHelpLink,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface HasSystemsCardProps {\n variant?: 'gridItem';\n}\n\nexport function HasSystemsCard(props: HasSystemsCardProps) {\n const { variant = 'gridItem' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title=\"Has systems\"\n entityKind=\"System\"\n relationType={RELATION_HAS_PART}\n columns={systemEntityColumns}\n asRenderableEntities={asSystemEntities}\n emptyMessage=\"No system is part of this domain\"\n emptyHelpLink={systemEntityHelpLink}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;wBA8B+B,OAA4B;AACzD,QAAM,EAAE,UAAU,eAAe;AACjC,6CACG,qBAAD;AAAA,IACE;AAAA,IACA,OAAM;AAAA,IACN,YAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,sBAAsB;AAAA,IACtB,cAAa;AAAA,IACb,eAAe;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index-3763491b.esm.js","sources":["../../src/components/HasSystemsCard/HasSystemsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_HAS_PART } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asSystemEntities,\n RelatedEntitiesCard,\n systemEntityColumns,\n systemEntityHelpLink,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface HasSystemsCardProps {\n variant?: 'gridItem';\n}\n\nexport function HasSystemsCard(props: HasSystemsCardProps) {\n const { variant = 'gridItem' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title=\"Has systems\"\n entityKind=\"System\"\n relationType={RELATION_HAS_PART}\n columns={systemEntityColumns}\n asRenderableEntities={asSystemEntities}\n emptyMessage=\"No system is part of this domain\"\n emptyHelpLink={systemEntityHelpLink}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AA8BO,SAAA,cAAA,CAAwB,KAA4B,EAAA;AACzD,EAAM,MAAA,EAAE,UAAU,UAAe,EAAA,GAAA,KAAA,CAAA;AACjC,EAAA,2CACG,mBAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,KAAM,EAAA,aAAA;AAAA,IACN,UAAW,EAAA,QAAA;AAAA,IACX,YAAc,EAAA,iBAAA;AAAA,IACd,OAAS,EAAA,mBAAA;AAAA,IACT,oBAAsB,EAAA,gBAAA;AAAA,IACtB,YAAa,EAAA,kCAAA;AAAA,IACb,aAAe,EAAA,oBAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { RELATION_DEPENDENCY_OF } from '@backstage/catalog-model';
2
2
  import React from 'react';
3
- import { R as RelatedEntitiesCard, c as componentEntityColumns, d as componentEntityHelpLink, e as asComponentEntities } from './presets-8488ee8e.esm.js';
3
+ import { R as RelatedEntitiesCard, c as componentEntityColumns, d as componentEntityHelpLink, e as asComponentEntities } from './presets-13b889b9.esm.js';
4
4
  import '@material-ui/core';
5
5
  import '@backstage/plugin-catalog-react';
6
6
  import '@backstage/core-components';
@@ -20,4 +20,4 @@ function DependencyOfComponentsCard(props) {
20
20
  }
21
21
 
22
22
  export { DependencyOfComponentsCard };
23
- //# sourceMappingURL=index-2a9d68c3.esm.js.map
23
+ //# sourceMappingURL=index-390fab14.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-2a9d68c3.esm.js","sources":["../../src/components/DependencyOfComponentsCard/DependencyOfComponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_DEPENDENCY_OF } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n componentEntityHelpLink,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface DependencyOfComponentsCardProps {\n variant?: 'gridItem';\n title?: string;\n}\n\nexport function DependencyOfComponentsCard(\n props: DependencyOfComponentsCardProps,\n) {\n const { variant = 'gridItem', title = 'Dependency of components' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title={title}\n entityKind=\"Component\"\n relationType={RELATION_DEPENDENCY_OF}\n columns={componentEntityColumns}\n emptyMessage=\"No component depends on this component\"\n emptyHelpLink={componentEntityHelpLink}\n asRenderableEntities={asComponentEntities}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;oCAgCE,OACA;AACA,QAAM,EAAE,UAAU,YAAY,QAAQ,+BAA+B;AACrE,6CACG,qBAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,YAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,cAAa;AAAA,IACb,eAAe;AAAA,IACf,sBAAsB;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index-390fab14.esm.js","sources":["../../src/components/DependencyOfComponentsCard/DependencyOfComponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_DEPENDENCY_OF } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n componentEntityHelpLink,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface DependencyOfComponentsCardProps {\n variant?: 'gridItem';\n title?: string;\n}\n\nexport function DependencyOfComponentsCard(\n props: DependencyOfComponentsCardProps,\n) {\n const { variant = 'gridItem', title = 'Dependency of components' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title={title}\n entityKind=\"Component\"\n relationType={RELATION_DEPENDENCY_OF}\n columns={componentEntityColumns}\n emptyMessage=\"No component depends on this component\"\n emptyHelpLink={componentEntityHelpLink}\n asRenderableEntities={asComponentEntities}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AA+BO,SAAA,0BAAA,CACL,KACA,EAAA;AACA,EAAA,MAAM,EAAE,OAAA,GAAU,UAAY,EAAA,KAAA,GAAQ,0BAA+B,EAAA,GAAA,KAAA,CAAA;AACrE,EAAA,2CACG,mBAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAW,EAAA,WAAA;AAAA,IACX,YAAc,EAAA,sBAAA;AAAA,IACd,OAAS,EAAA,sBAAA;AAAA,IACT,YAAa,EAAA,wCAAA;AAAA,IACb,aAAe,EAAA,uBAAA;AAAA,IACf,oBAAsB,EAAA,mBAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { RELATION_HAS_PART } from '@backstage/catalog-model';
2
2
  import React from 'react';
3
- import { R as RelatedEntitiesCard, c as componentEntityColumns, e as asComponentEntities } from './presets-8488ee8e.esm.js';
3
+ import { R as RelatedEntitiesCard, c as componentEntityColumns, e as asComponentEntities } from './presets-13b889b9.esm.js';
4
4
  import '@material-ui/core';
5
5
  import '@backstage/plugin-catalog-react';
6
6
  import '@backstage/core-components';
@@ -20,4 +20,4 @@ function HasSubcomponentsCard(props) {
20
20
  }
21
21
 
22
22
  export { HasSubcomponentsCard };
23
- //# sourceMappingURL=index-69fcf315.esm.js.map
23
+ //# sourceMappingURL=index-41ab53b6.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-69fcf315.esm.js","sources":["../../src/components/HasSubcomponentsCard/HasSubcomponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_HAS_PART } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface HasSubcomponentsCardProps {\n variant?: 'gridItem';\n}\n\nexport function HasSubcomponentsCard(props: HasSubcomponentsCardProps) {\n const { variant = 'gridItem' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title=\"Has subcomponents\"\n entityKind=\"Component\"\n relationType={RELATION_HAS_PART}\n columns={componentEntityColumns}\n asRenderableEntities={asComponentEntities}\n emptyMessage=\"No subcomponent is part of this component\"\n emptyHelpLink=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specsubcomponentof-optional\"\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;8BA6BqC,OAAkC;AACrE,QAAM,EAAE,UAAU,eAAe;AACjC,6CACG,qBAAD;AAAA,IACE;AAAA,IACA,OAAM;AAAA,IACN,YAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,sBAAsB;AAAA,IACtB,cAAa;AAAA,IACb,eAAc;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index-41ab53b6.esm.js","sources":["../../src/components/HasSubcomponentsCard/HasSubcomponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_HAS_PART } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface HasSubcomponentsCardProps {\n variant?: 'gridItem';\n}\n\nexport function HasSubcomponentsCard(props: HasSubcomponentsCardProps) {\n const { variant = 'gridItem' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title=\"Has subcomponents\"\n entityKind=\"Component\"\n relationType={RELATION_HAS_PART}\n columns={componentEntityColumns}\n asRenderableEntities={asComponentEntities}\n emptyMessage=\"No subcomponent is part of this component\"\n emptyHelpLink=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specsubcomponentof-optional\"\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AA6BO,SAAA,oBAAA,CAA8B,KAAkC,EAAA;AACrE,EAAM,MAAA,EAAE,UAAU,UAAe,EAAA,GAAA,KAAA,CAAA;AACjC,EAAA,2CACG,mBAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,KAAM,EAAA,mBAAA;AAAA,IACN,UAAW,EAAA,WAAA;AAAA,IACX,YAAc,EAAA,iBAAA;AAAA,IACd,OAAS,EAAA,sBAAA;AAAA,IACT,oBAAsB,EAAA,mBAAA;AAAA,IACtB,YAAa,EAAA,2CAAA;AAAA,IACb,aAAc,EAAA,mGAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -31,4 +31,4 @@ function CatalogEntityPage() {
31
31
  }
32
32
 
33
33
  export { CatalogEntityPage };
34
- //# sourceMappingURL=index-7e69bc27.esm.js.map
34
+ //# sourceMappingURL=index-4e6adb42.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-7e69bc27.esm.js","sources":["../../src/components/CatalogEntityPage/useEntityFromUrl.ts","../../src/components/CatalogEntityPage/CatalogEntityPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n errorApiRef,\n useApi,\n useRouteRefParams,\n} from '@backstage/core-plugin-api';\nimport {\n catalogApiRef,\n EntityLoadingStatus,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport { useEffect } from 'react';\nimport { useNavigate } from 'react-router';\nimport useAsyncRetry from 'react-use/lib/useAsyncRetry';\n\nexport const useEntityFromUrl = (): EntityLoadingStatus => {\n const { kind, namespace, name } = useRouteRefParams(entityRouteRef);\n const navigate = useNavigate();\n const errorApi = useApi(errorApiRef);\n const catalogApi = useApi(catalogApiRef);\n\n const {\n value: entity,\n error,\n loading,\n retry: refresh,\n } = useAsyncRetry(\n () => catalogApi.getEntityByRef({ kind, namespace, name }),\n [catalogApi, kind, namespace, name],\n );\n\n useEffect(() => {\n if (!name) {\n errorApi.post(new Error('No name provided!'));\n navigate('/');\n }\n }, [errorApi, navigate, error, loading, entity, name]);\n\n return { entity, loading, error, refresh };\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { Outlet } from 'react-router';\nimport { AsyncEntityProvider } from '@backstage/plugin-catalog-react';\nimport { useEntityFromUrl } from './useEntityFromUrl';\n\n/** @public */\nexport function CatalogEntityPage() {\n return (\n <AsyncEntityProvider {...useEntityFromUrl()}>\n <Outlet />\n </AsyncEntityProvider>\n );\n}\n"],"names":[],"mappings":";;;;;;MA8Ba,mBAAmB,MAA2B;AACzD,QAAM,EAAE,MAAM,WAAW,SAAS,kBAAkB;AACpD,QAAM,WAAW;AACjB,QAAM,WAAW,OAAO;AACxB,QAAM,aAAa,OAAO;AAE1B,QAAM;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,cACF,MAAM,WAAW,eAAe,EAAE,MAAM,WAAW,SACnD,CAAC,YAAY,MAAM,WAAW;AAGhC,YAAU,MAAM;AACd,QAAI,CAAC,MAAM;AACT,eAAS,KAAK,IAAI,MAAM;AACxB,eAAS;AAAA;AAAA,KAEV,CAAC,UAAU,UAAU,OAAO,SAAS,QAAQ;AAEhD,SAAO,EAAE,QAAQ,SAAS,OAAO;AAAA;;6BC/BC;AAClC,6CACG,qBAAD;AAAA,OAAyB;AAAA,yCACtB,QAAD;AAAA;;;;"}
1
+ {"version":3,"file":"index-4e6adb42.esm.js","sources":["../../src/components/CatalogEntityPage/useEntityFromUrl.ts","../../src/components/CatalogEntityPage/CatalogEntityPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n errorApiRef,\n useApi,\n useRouteRefParams,\n} from '@backstage/core-plugin-api';\nimport {\n catalogApiRef,\n EntityLoadingStatus,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport { useEffect } from 'react';\nimport { useNavigate } from 'react-router';\nimport useAsyncRetry from 'react-use/lib/useAsyncRetry';\n\nexport const useEntityFromUrl = (): EntityLoadingStatus => {\n const { kind, namespace, name } = useRouteRefParams(entityRouteRef);\n const navigate = useNavigate();\n const errorApi = useApi(errorApiRef);\n const catalogApi = useApi(catalogApiRef);\n\n const {\n value: entity,\n error,\n loading,\n retry: refresh,\n } = useAsyncRetry(\n () => catalogApi.getEntityByRef({ kind, namespace, name }),\n [catalogApi, kind, namespace, name],\n );\n\n useEffect(() => {\n if (!name) {\n errorApi.post(new Error('No name provided!'));\n navigate('/');\n }\n }, [errorApi, navigate, error, loading, entity, name]);\n\n return { entity, loading, error, refresh };\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport { Outlet } from 'react-router';\nimport { AsyncEntityProvider } from '@backstage/plugin-catalog-react';\nimport { useEntityFromUrl } from './useEntityFromUrl';\n\n/** @public */\nexport function CatalogEntityPage() {\n return (\n <AsyncEntityProvider {...useEntityFromUrl()}>\n <Outlet />\n </AsyncEntityProvider>\n );\n}\n"],"names":[],"mappings":";;;;;;AA8BO,MAAM,mBAAmB,MAA2B;AACzD,EAAA,MAAM,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,EAAA,GAAS,iBAAkB,CAAA,cAAA,CAAA,CAAA;AACpD,EAAA,MAAM,QAAW,GAAA,WAAA,EAAA,CAAA;AACjB,EAAA,MAAM,WAAW,MAAO,CAAA,WAAA,CAAA,CAAA;AACxB,EAAA,MAAM,aAAa,MAAO,CAAA,aAAA,CAAA,CAAA;AAE1B,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,MAAA;AAAA,IACP,KAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAO,EAAA,OAAA;AAAA,GACL,GAAA,aAAA,CACF,MAAM,UAAA,CAAW,cAAe,CAAA,EAAE,IAAM,EAAA,SAAA,EAAW,IACnD,EAAA,CAAA,EAAA,CAAC,UAAY,EAAA,IAAA,EAAM,SAAW,EAAA,IAAA,CAAA,CAAA,CAAA;AAGhC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAS,QAAA,CAAA,IAAA,CAAK,IAAI,KAAM,CAAA,mBAAA,CAAA,CAAA,CAAA;AACxB,MAAS,QAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAEV,CAAC,QAAA,EAAU,QAAU,EAAA,KAAA,EAAO,SAAS,MAAQ,EAAA,IAAA,CAAA,CAAA,CAAA;AAEhD,EAAO,OAAA,EAAE,MAAQ,EAAA,OAAA,EAAS,KAAO,EAAA,OAAA,EAAA,CAAA;AAAA,CAAA;;AC/BC,SAAA,iBAAA,GAAA;AAClC,EAAA,2CACG,mBAAD,EAAA;AAAA,IAAyB,GAAA,gBAAA,EAAA;AAAA,GAAA,sCACtB,MAAD,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { RELATION_DEPENDS_ON } from '@backstage/catalog-model';
2
2
  import React from 'react';
3
- import { R as RelatedEntitiesCard, c as componentEntityColumns, d as componentEntityHelpLink, e as asComponentEntities } from './presets-8488ee8e.esm.js';
3
+ import { R as RelatedEntitiesCard, c as componentEntityColumns, d as componentEntityHelpLink, e as asComponentEntities } from './presets-13b889b9.esm.js';
4
4
  import '@material-ui/core';
5
5
  import '@backstage/plugin-catalog-react';
6
6
  import '@backstage/core-components';
@@ -20,4 +20,4 @@ function DependsOnComponentsCard(props) {
20
20
  }
21
21
 
22
22
  export { DependsOnComponentsCard };
23
- //# sourceMappingURL=index-be138931.esm.js.map
23
+ //# sourceMappingURL=index-66fdb6ad.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-be138931.esm.js","sources":["../../src/components/DependsOnComponentsCard/DependsOnComponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_DEPENDS_ON } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n componentEntityHelpLink,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface DependsOnComponentsCardProps {\n variant?: 'gridItem';\n title?: string;\n}\n\nexport function DependsOnComponentsCard(props: DependsOnComponentsCardProps) {\n const { variant = 'gridItem', title = 'Depends on components' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title={title}\n entityKind=\"Component\"\n relationType={RELATION_DEPENDS_ON}\n columns={componentEntityColumns}\n emptyMessage=\"No component is a dependency of this component\"\n emptyHelpLink={componentEntityHelpLink}\n asRenderableEntities={asComponentEntities}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;iCA+BwC,OAAqC;AAC3E,QAAM,EAAE,UAAU,YAAY,QAAQ,4BAA4B;AAClE,6CACG,qBAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA,YAAW;AAAA,IACX,cAAc;AAAA,IACd,SAAS;AAAA,IACT,cAAa;AAAA,IACb,eAAe;AAAA,IACf,sBAAsB;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index-66fdb6ad.esm.js","sources":["../../src/components/DependsOnComponentsCard/DependsOnComponentsCard.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RELATION_DEPENDS_ON } from '@backstage/catalog-model';\nimport React from 'react';\nimport {\n asComponentEntities,\n componentEntityColumns,\n componentEntityHelpLink,\n RelatedEntitiesCard,\n} from '../RelatedEntitiesCard';\n\n/** @public */\nexport interface DependsOnComponentsCardProps {\n variant?: 'gridItem';\n title?: string;\n}\n\nexport function DependsOnComponentsCard(props: DependsOnComponentsCardProps) {\n const { variant = 'gridItem', title = 'Depends on components' } = props;\n return (\n <RelatedEntitiesCard\n variant={variant}\n title={title}\n entityKind=\"Component\"\n relationType={RELATION_DEPENDS_ON}\n columns={componentEntityColumns}\n emptyMessage=\"No component is a dependency of this component\"\n emptyHelpLink={componentEntityHelpLink}\n asRenderableEntities={asComponentEntities}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;;AA+BO,SAAA,uBAAA,CAAiC,KAAqC,EAAA;AAC3E,EAAA,MAAM,EAAE,OAAA,GAAU,UAAY,EAAA,KAAA,GAAQ,uBAA4B,EAAA,GAAA,KAAA,CAAA;AAClE,EAAA,2CACG,mBAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAW,EAAA,WAAA;AAAA,IACX,YAAc,EAAA,mBAAA;AAAA,IACd,OAAS,EAAA,sBAAA;AAAA,IACT,YAAa,EAAA,gDAAA;AAAA,IACb,aAAe,EAAA,uBAAA;AAAA,IACf,oBAAsB,EAAA,mBAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -2,14 +2,14 @@ import ObservableImpl from 'zen-observable';
2
2
  import { stringifyEntityRef, RELATION_PART_OF, RELATION_OWNED_BY, ANNOTATION_EDIT_URL, DEFAULT_NAMESPACE, ANNOTATION_LOCATION, ANNOTATION_VIEW_URL } from '@backstage/catalog-model';
3
3
  import { isArray, isString, capitalize as capitalize$1 } from 'lodash';
4
4
  import { Link, HeaderIconLinkRow, OverflowTooltip, WarningPanel, CodeSnippet, Table, Page, Header, Progress, RoutedTabs, Content, HeaderLabel, ResponseErrorPanel } from '@backstage/core-components';
5
- import { createExternalRouteRef, createRouteRef, useElementFilter, useApi, alertApiRef, useRouteRef, attachComponentData, useApiHolder, createPlugin, createApiFactory, discoveryApiRef, fetchApiRef, storageApiRef, createRoutableExtension, createComponentExtension } from '@backstage/core-plugin-api';
5
+ import { createExternalRouteRef, createRouteRef, useElementFilter, useApi, alertApiRef, useRouteRef, attachComponentData, useRouteRefParams, useApiHolder, createPlugin, createApiFactory, discoveryApiRef, fetchApiRef, storageApiRef, createRoutableExtension, createComponentExtension } from '@backstage/core-plugin-api';
6
6
  import { scmIntegrationsApiRef, ScmIntegrationIcon } from '@backstage/integration-react';
7
- import { getEntityRelations, EntityRefLinks, useEntity, catalogApiRef, getEntitySourceLocation, useEntityList, EntityKindFilter, humanizeEntityRef, EntityRefLink, useStarredEntities, useEntityPermission, useEntityCompoundName, useAsyncEntity, UnregisterEntityDialog, InspectEntityDialog, FavoriteEntity, starredEntitiesApiRef, entityRouteRef } from '@backstage/plugin-catalog-react';
8
- import { makeStyles, Typography, Grid, Chip, Card, CardHeader, IconButton, Divider, CardContent, createStyles, capitalize, Select, InputBase, MenuItem, ListItem, ListItemText, Box, ListItemIcon, Popover, MenuList, Dialog, DialogTitle, DialogActions, Button, useMediaQuery, useTheme, Drawer } from '@material-ui/core';
7
+ import { getEntityRelations, EntityRefLinks, useEntity, catalogApiRef, getEntitySourceLocation, useEntityList, EntityKindFilter, humanizeEntityRef, EntityRefLink, useStarredEntities, useEntityPermission, entityRouteRef, useAsyncEntity, UnregisterEntityDialog, InspectEntityDialog, FavoriteEntity, CatalogFilterLayout, starredEntitiesApiRef } from '@backstage/plugin-catalog-react';
8
+ import { makeStyles, Typography, Grid, Chip, Card, CardHeader, IconButton, Divider, CardContent, createStyles, capitalize, Select, InputBase, MenuItem, ListItem, ListItemText, Box, ListItemIcon, Popover, MenuList, Dialog, DialogTitle, DialogActions, Button } from '@material-ui/core';
9
9
  import CachedIcon from '@material-ui/icons/Cached';
10
10
  import DocsIcon from '@material-ui/icons/Description';
11
11
  import EditIcon from '@material-ui/icons/Edit';
12
- import React, { useCallback, useState, useEffect, useMemo } from 'react';
12
+ import React, { useCallback, useMemo, useState, useEffect } from 'react';
13
13
  import useAsync from 'react-use/lib/useAsync';
14
14
  import OpenInNew from '@material-ui/icons/OpenInNew';
15
15
  import StarBorder from '@material-ui/icons/StarBorder';
@@ -23,7 +23,6 @@ import MoreVert from '@material-ui/icons/MoreVert';
23
23
  import { catalogEntityDeletePermission } from '@backstage/plugin-catalog-common';
24
24
  import { assertError } from '@backstage/errors';
25
25
  import { ENTITY_STATUS_CATALOG_PROCESSING_TYPE, CatalogClient } from '@backstage/catalog-client';
26
- import FilterListIcon from '@material-ui/icons/FilterList';
27
26
 
28
27
  async function performMigrationToTheNewBucket({
29
28
  storageApi
@@ -308,7 +307,7 @@ const useStyles$2 = makeStyles((theme) => createStyles({
308
307
  }));
309
308
  function CatalogKindHeader(props) {
310
309
  var _a;
311
- const { initialFilter = "component" } = props;
310
+ const { initialFilter = "component", allowedKinds } = props;
312
311
  const classes = useStyles$2();
313
312
  const catalogApi = useApi(catalogApiRef);
314
313
  const { value: allKinds } = useAsync(async () => {
@@ -317,14 +316,27 @@ function CatalogKindHeader(props) {
317
316
  return ((_a2 = response.facets.kind) == null ? void 0 : _a2.map((f) => f.value).sort()) || [];
318
317
  });
319
318
  });
320
- const { updateFilters, queryParameters } = useEntityList();
321
- const [selectedKind, setSelectedKind] = useState(((_a = [queryParameters.kind].flat()[0]) != null ? _a : initialFilter).toLocaleLowerCase("en-US"));
319
+ const {
320
+ updateFilters,
321
+ queryParameters: { kind: kindParameter }
322
+ } = useEntityList();
323
+ const queryParamKind = useMemo(() => {
324
+ var _a2;
325
+ return (_a2 = [kindParameter].flat()[0]) == null ? void 0 : _a2.toLocaleLowerCase("en-US");
326
+ }, [kindParameter]);
327
+ const [selectedKind, setSelectedKind] = useState(queryParamKind != null ? queryParamKind : initialFilter);
322
328
  useEffect(() => {
323
329
  updateFilters({
324
330
  kind: selectedKind ? new EntityKindFilter(selectedKind) : void 0
325
331
  });
326
332
  }, [selectedKind, updateFilters]);
327
- const options = [capitalize(selectedKind)].concat(allKinds != null ? allKinds : []).sort().reduce((acc, kind) => {
333
+ useEffect(() => {
334
+ if (queryParamKind) {
335
+ setSelectedKind(queryParamKind);
336
+ }
337
+ }, [queryParamKind]);
338
+ const availableKinds = [capitalize(selectedKind)].concat((_a = allKinds == null ? void 0 : allKinds.filter((k) => allowedKinds ? allowedKinds.some((a) => a.toLocaleLowerCase("en-US") === k.toLocaleLowerCase("en-US")) : true)) != null ? _a : []);
339
+ const options = availableKinds.sort().reduce((acc, kind) => {
328
340
  acc[kind.toLocaleLowerCase("en-US")] = kind;
329
341
  return acc;
330
342
  }, {});
@@ -374,7 +386,6 @@ function CatalogSearchResultListItem(props) {
374
386
  component: "li"
375
387
  }));
376
388
  }
377
- const CatalogResultListItem = CatalogSearchResultListItem;
378
389
 
379
390
  const columnFactories = Object.freeze({
380
391
  createNameColumn(options) {
@@ -719,7 +730,7 @@ const EntityLayout = (props) => {
719
730
  UNSTABLE_contextMenuOptions,
720
731
  children
721
732
  } = props;
722
- const { kind, namespace, name } = useEntityCompoundName();
733
+ const { kind, namespace, name } = useRouteRefParams(entityRouteRef);
723
734
  const { entity, loading, error } = useAsyncEntity();
724
735
  const location = useLocation();
725
736
  const routes = useElementFilter(children, (elements) => elements.selectByComponentData({
@@ -902,24 +913,32 @@ const EntitySwitchCaseComponent = (_props) => null;
902
913
  attachComponentData(EntitySwitchCaseComponent, ENTITY_SWITCH_KEY, true);
903
914
  const EntitySwitch = (props) => {
904
915
  var _a, _b;
905
- const { entity } = useAsyncEntity();
916
+ const { entity, loading } = useAsyncEntity();
906
917
  const apis = useApiHolder();
907
918
  const results = useElementFilter(props.children, (collection) => collection.selectByComponentData({
908
919
  key: ENTITY_SWITCH_KEY,
909
920
  withStrictError: "Child of EntitySwitch is not an EntitySwitch.Case"
910
921
  }).getElements().flatMap((element) => {
911
922
  var _a2;
912
- if (!entity) {
923
+ if (loading) {
913
924
  return [];
914
925
  }
915
926
  const { if: condition, children: elementsChildren } = element.props;
927
+ if (!entity) {
928
+ return [
929
+ {
930
+ if: condition === void 0,
931
+ children: elementsChildren
932
+ }
933
+ ];
934
+ }
916
935
  return [
917
936
  {
918
937
  if: (_a2 = condition == null ? void 0 : condition(entity, { apis })) != null ? _a2 : true,
919
938
  children: elementsChildren
920
939
  }
921
940
  ];
922
- }), [apis, entity]);
941
+ }), [apis, entity, loading]);
923
942
  const hasAsyncCases = results.some((r) => typeof r.if === "object" && "then" in r.if);
924
943
  if (hasAsyncCases) {
925
944
  return /* @__PURE__ */ React.createElement(AsyncEntitySwitch, {
@@ -971,47 +990,9 @@ function isNamespace(namespace) {
971
990
  };
972
991
  }
973
992
 
974
- function FilteredEntityLayout(props) {
975
- return /* @__PURE__ */ React.createElement(Grid, {
976
- container: true,
977
- style: { position: "relative" }
978
- }, props.children);
979
- }
980
-
981
- function FilterContainer(props) {
982
- const isMidSizeScreen = useMediaQuery((theme2) => theme2.breakpoints.down("md"));
983
- const theme = useTheme();
984
- const [filterDrawerOpen, setFilterDrawerOpen] = useState(false);
985
- return isMidSizeScreen ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Button, {
986
- style: { marginTop: theme.spacing(1), marginLeft: theme.spacing(1) },
987
- onClick: () => setFilterDrawerOpen(true),
988
- startIcon: /* @__PURE__ */ React.createElement(FilterListIcon, null)
989
- }, "Filters"), /* @__PURE__ */ React.createElement(Drawer, {
990
- open: filterDrawerOpen,
991
- onClose: () => setFilterDrawerOpen(false),
992
- anchor: "left",
993
- disableAutoFocus: true,
994
- keepMounted: true,
995
- variant: "temporary"
996
- }, /* @__PURE__ */ React.createElement(Box, {
997
- m: 2
998
- }, /* @__PURE__ */ React.createElement(Typography, {
999
- variant: "h6",
1000
- component: "h2",
1001
- style: { marginBottom: theme.spacing(1) }
1002
- }, "Filters"), props.children))) : /* @__PURE__ */ React.createElement(Grid, {
1003
- item: true,
1004
- lg: 2
1005
- }, props.children);
1006
- }
1007
-
1008
- function EntityListContainer(props) {
1009
- return /* @__PURE__ */ React.createElement(Grid, {
1010
- item: true,
1011
- xs: 12,
1012
- lg: 10
1013
- }, props.children);
1014
- }
993
+ const FilteredEntityLayout = CatalogFilterLayout;
994
+ const FilterContainer = CatalogFilterLayout.Filters;
995
+ const EntityListContainer = CatalogFilterLayout.Content;
1015
996
 
1016
997
  const catalogPlugin = createPlugin({
1017
998
  id: "catalog",
@@ -1041,74 +1022,74 @@ const catalogPlugin = createPlugin({
1041
1022
  });
1042
1023
  const CatalogIndexPage = catalogPlugin.provide(createRoutableExtension({
1043
1024
  name: "CatalogIndexPage",
1044
- component: () => import('./index-61fe5994.esm.js').then((m) => m.CatalogPage),
1025
+ component: () => import('./index-0f8f348d.esm.js').then((m) => m.CatalogPage),
1045
1026
  mountPoint: rootRouteRef
1046
1027
  }));
1047
1028
  const CatalogEntityPage = catalogPlugin.provide(createRoutableExtension({
1048
1029
  name: "CatalogEntityPage",
1049
- component: () => import('./index-7e69bc27.esm.js').then((m) => m.CatalogEntityPage),
1030
+ component: () => import('./index-4e6adb42.esm.js').then((m) => m.CatalogEntityPage),
1050
1031
  mountPoint: entityRouteRef
1051
1032
  }));
1052
1033
  const EntityAboutCard = catalogPlugin.provide(createComponentExtension({
1053
1034
  name: "EntityAboutCard",
1054
1035
  component: {
1055
- lazy: () => import('./index-3cf25427.esm.js').then((m) => m.AboutCard)
1036
+ lazy: () => import('./index-fd09677a.esm.js').then((m) => m.AboutCard)
1056
1037
  }
1057
1038
  }));
1058
1039
  const EntityLinksCard = catalogPlugin.provide(createComponentExtension({
1059
1040
  name: "EntityLinksCard",
1060
1041
  component: {
1061
- lazy: () => import('./index-52271589.esm.js').then((m) => m.EntityLinksCard)
1042
+ lazy: () => import('./index-896aeac9.esm.js').then((m) => m.EntityLinksCard)
1062
1043
  }
1063
1044
  }));
1064
1045
  const EntityHasSystemsCard = catalogPlugin.provide(createComponentExtension({
1065
1046
  name: "EntityHasSystemsCard",
1066
1047
  component: {
1067
- lazy: () => import('./index-bb5ef8ab.esm.js').then((m) => m.HasSystemsCard)
1048
+ lazy: () => import('./index-3763491b.esm.js').then((m) => m.HasSystemsCard)
1068
1049
  }
1069
1050
  }));
1070
1051
  const EntityHasComponentsCard = catalogPlugin.provide(createComponentExtension({
1071
1052
  name: "EntityHasComponentsCard",
1072
1053
  component: {
1073
- lazy: () => import('./index-14286170.esm.js').then((m) => m.HasComponentsCard)
1054
+ lazy: () => import('./index-acb3cf04.esm.js').then((m) => m.HasComponentsCard)
1074
1055
  }
1075
1056
  }));
1076
1057
  const EntityHasSubcomponentsCard = catalogPlugin.provide(createComponentExtension({
1077
1058
  name: "EntityHasSubcomponentsCard",
1078
1059
  component: {
1079
- lazy: () => import('./index-69fcf315.esm.js').then((m) => m.HasSubcomponentsCard)
1060
+ lazy: () => import('./index-41ab53b6.esm.js').then((m) => m.HasSubcomponentsCard)
1080
1061
  }
1081
1062
  }));
1082
1063
  const EntityHasResourcesCard = catalogPlugin.provide(createComponentExtension({
1083
1064
  name: "EntityHasResourcesCard",
1084
1065
  component: {
1085
- lazy: () => import('./index-df3c8250.esm.js').then((m) => m.HasResourcesCard)
1066
+ lazy: () => import('./index-b3ad464b.esm.js').then((m) => m.HasResourcesCard)
1086
1067
  }
1087
1068
  }));
1088
1069
  const EntityDependsOnComponentsCard = catalogPlugin.provide(createComponentExtension({
1089
1070
  name: "EntityDependsOnComponentsCard",
1090
1071
  component: {
1091
- lazy: () => import('./index-be138931.esm.js').then((m) => m.DependsOnComponentsCard)
1072
+ lazy: () => import('./index-66fdb6ad.esm.js').then((m) => m.DependsOnComponentsCard)
1092
1073
  }
1093
1074
  }));
1094
1075
  const EntityDependencyOfComponentsCard = catalogPlugin.provide(createComponentExtension({
1095
1076
  name: "EntityDependencyOfComponentsCard",
1096
1077
  component: {
1097
- lazy: () => import('./index-2a9d68c3.esm.js').then((m) => m.DependencyOfComponentsCard)
1078
+ lazy: () => import('./index-390fab14.esm.js').then((m) => m.DependencyOfComponentsCard)
1098
1079
  }
1099
1080
  }));
1100
1081
  const EntityDependsOnResourcesCard = catalogPlugin.provide(createComponentExtension({
1101
1082
  name: "EntityDependsOnResourcesCard",
1102
1083
  component: {
1103
- lazy: () => import('./index-583e6f94.esm.js').then((m) => m.DependsOnResourcesCard)
1084
+ lazy: () => import('./index-d41abbff.esm.js').then((m) => m.DependsOnResourcesCard)
1104
1085
  }
1105
1086
  }));
1106
1087
  const RelatedEntitiesCard = catalogPlugin.provide(createComponentExtension({
1107
1088
  name: "RelatedEntitiesCard",
1108
1089
  component: {
1109
- lazy: () => import('./index-172990ed.esm.js').then((m) => m.RelatedEntitiesCard)
1090
+ lazy: () => import('./index-c2914273.esm.js').then((m) => m.RelatedEntitiesCard)
1110
1091
  }
1111
1092
  }));
1112
1093
 
1113
- export { AboutCard as A, isNamespace as B, CatalogKindHeader as C, DefaultStarredEntitiesApi as D, EntityListContainer as E, FilteredEntityLayout as F, isComponentType as G, RelatedEntitiesCard as R, FilterContainer as a, CatalogTable as b, createComponentRouteRef as c, AboutContent as d, AboutField as e, CatalogEntityPage as f, CatalogIndexPage as g, catalogPlugin as h, EntityAboutCard as i, EntityDependencyOfComponentsCard as j, EntityDependsOnComponentsCard as k, EntityDependsOnResourcesCard as l, EntityHasComponentsCard as m, EntityHasResourcesCard as n, EntityHasSubcomponentsCard as o, EntityHasSystemsCard as p, EntityLinksCard as q, CatalogSearchResultListItem as r, CatalogResultListItem as s, EntityLayout as t, EntityOrphanWarning as u, isOrphan as v, EntityProcessingErrorsPanel as w, hasCatalogProcessingErrors as x, EntitySwitch as y, isKind as z };
1114
- //# sourceMappingURL=index-1f9336e4.esm.js.map
1094
+ export { AboutCard as A, EntityListContainer as B, CatalogKindHeader as C, DefaultStarredEntitiesApi as D, EntityAboutCard as E, FilteredEntityLayout as F, RelatedEntitiesCard as R, CatalogTable as a, AboutContent as b, createComponentRouteRef as c, AboutField as d, CatalogEntityPage as e, CatalogIndexPage as f, catalogPlugin as g, EntityDependencyOfComponentsCard as h, EntityDependsOnComponentsCard as i, EntityDependsOnResourcesCard as j, EntityHasComponentsCard as k, EntityHasResourcesCard as l, EntityHasSubcomponentsCard as m, EntityHasSystemsCard as n, EntityLinksCard as o, CatalogSearchResultListItem as p, EntityLayout as q, EntityOrphanWarning as r, isOrphan as s, EntityProcessingErrorsPanel as t, hasCatalogProcessingErrors as u, EntitySwitch as v, isKind as w, isNamespace as x, isComponentType as y, FilterContainer as z };
1095
+ //# sourceMappingURL=index-74617ebb.esm.js.map