@backstage/plugin-catalog 1.7.2 → 1.8.0-next.1
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 +34 -0
- package/dist/esm/{index-75a7574f.esm.js → index-27f51c72.esm.js} +3 -3
- package/dist/esm/index-27f51c72.esm.js.map +1 -0
- package/dist/esm/{index-2c3b0303.esm.js → index-7e757436.esm.js} +3 -3
- package/dist/esm/index-7e757436.esm.js.map +1 -0
- package/dist/esm/{index-eb346a82.esm.js → index-992393a7.esm.js} +3 -3
- package/dist/esm/{index-eb346a82.esm.js.map → index-992393a7.esm.js.map} +1 -1
- package/dist/esm/index-b0707a2b.esm.js +48 -0
- package/dist/esm/index-b0707a2b.esm.js.map +1 -0
- package/dist/esm/{index-05290c15.esm.js → index-d0282db3.esm.js} +36 -67
- package/dist/esm/index-d0282db3.esm.js.map +1 -0
- package/dist/esm/{index-07f33109.esm.js → index-fe088415.esm.js} +3 -3
- package/dist/esm/{index-07f33109.esm.js.map → index-fe088415.esm.js.map} +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.esm.js +2 -2
- package/package.json +12 -12
- package/dist/esm/index-05290c15.esm.js.map +0 -1
- package/dist/esm/index-2c3b0303.esm.js.map +0 -1
- package/dist/esm/index-75a7574f.esm.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @backstage/plugin-catalog
|
|
2
2
|
|
|
3
|
+
## 1.8.0-next.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 0c1fc3986c: Added Markdown support in the `AboutCard` description section
|
|
8
|
+
- 0eaa579f89: The `CatalogSearchResultListItem` component is now a search result extension. This means that when rendered as a child of components that render search extensions, the `result`, `rank`, and `highlight` properties are optional. See the [documentation](https://backstage.io/docs/features/search/how-to-guides#how-to-render-search-results-using-extensions) for more details.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
- @backstage/core-components@0.12.4-next.0
|
|
14
|
+
- @backstage/plugin-search-react@1.5.0-next.0
|
|
15
|
+
- @backstage/plugin-catalog-react@1.3.0-next.1
|
|
16
|
+
- @backstage/catalog-client@1.3.1-next.0
|
|
17
|
+
- @backstage/catalog-model@1.1.6-next.0
|
|
18
|
+
- @backstage/core-plugin-api@1.3.0
|
|
19
|
+
- @backstage/errors@1.1.4
|
|
20
|
+
- @backstage/integration-react@1.1.10-next.0
|
|
21
|
+
- @backstage/theme@0.2.16
|
|
22
|
+
- @backstage/types@1.0.2
|
|
23
|
+
- @backstage/plugin-catalog-common@1.0.11-next.0
|
|
24
|
+
- @backstage/plugin-search-common@1.2.1
|
|
25
|
+
|
|
26
|
+
## 1.7.3-next.0
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies
|
|
31
|
+
- @backstage/plugin-catalog-react@1.3.0-next.0
|
|
32
|
+
- @backstage/catalog-model@1.1.6-next.0
|
|
33
|
+
- @backstage/catalog-client@1.3.1-next.0
|
|
34
|
+
- @backstage/plugin-catalog-common@1.0.11-next.0
|
|
35
|
+
- @backstage/integration-react@1.1.9
|
|
36
|
+
|
|
3
37
|
## 1.7.2
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { E as EntityLabelsCard, h as hasLabels } from './index-
|
|
1
|
+
export { E as EntityLabelsCard, h as hasLabels } from './index-d0282db3.esm.js';
|
|
2
2
|
import 'zen-observable';
|
|
3
3
|
import '@backstage/catalog-model';
|
|
4
4
|
import 'lodash';
|
|
@@ -14,7 +14,6 @@ import 'react';
|
|
|
14
14
|
import '@material-ui/icons/Language';
|
|
15
15
|
import 'pluralize';
|
|
16
16
|
import 'react-use/lib/useAsync';
|
|
17
|
-
import '@backstage/plugin-search-react';
|
|
18
17
|
import '@material-ui/core/styles';
|
|
19
18
|
import '@material-ui/icons/OpenInNew';
|
|
20
19
|
import '@material-ui/icons/Star';
|
|
@@ -28,4 +27,5 @@ import '@backstage/plugin-catalog-common';
|
|
|
28
27
|
import '@material-ui/icons/Cancel';
|
|
29
28
|
import '@backstage/errors';
|
|
30
29
|
import '@backstage/catalog-client';
|
|
31
|
-
|
|
30
|
+
import '@backstage/plugin-search-react';
|
|
31
|
+
//# sourceMappingURL=index-27f51c72.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-27f51c72.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as AboutCard, a as AboutContent, b as AboutField } from './index-
|
|
1
|
+
export { A as AboutCard, a as AboutContent, b as AboutField } from './index-d0282db3.esm.js';
|
|
2
2
|
import 'zen-observable';
|
|
3
3
|
import '@backstage/catalog-model';
|
|
4
4
|
import 'lodash';
|
|
@@ -14,7 +14,6 @@ import 'react';
|
|
|
14
14
|
import '@material-ui/icons/Language';
|
|
15
15
|
import 'pluralize';
|
|
16
16
|
import 'react-use/lib/useAsync';
|
|
17
|
-
import '@backstage/plugin-search-react';
|
|
18
17
|
import '@material-ui/core/styles';
|
|
19
18
|
import '@material-ui/icons/OpenInNew';
|
|
20
19
|
import '@material-ui/icons/Star';
|
|
@@ -28,4 +27,5 @@ import '@backstage/plugin-catalog-common';
|
|
|
28
27
|
import '@material-ui/icons/Cancel';
|
|
29
28
|
import '@backstage/errors';
|
|
30
29
|
import '@backstage/catalog-client';
|
|
31
|
-
|
|
30
|
+
import '@backstage/plugin-search-react';
|
|
31
|
+
//# sourceMappingURL=index-7e757436.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-7e757436.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@ import { useOutlet } from 'react-router-dom';
|
|
|
3
3
|
import { PageWithHeader, Content, ContentHeader, CreateButton, SupportButton } from '@backstage/core-components';
|
|
4
4
|
import { usePluginOptions, useApi, configApiRef, useRouteRef } from '@backstage/core-plugin-api';
|
|
5
5
|
import { EntityListProvider, CatalogFilterLayout, EntityKindPicker, EntityTypePicker, UserListPicker, EntityOwnerPicker, EntityLifecyclePicker, EntityTagPicker, EntityProcessingStatusPicker } from '@backstage/plugin-catalog-react';
|
|
6
|
-
import { c as createComponentRouteRef, C as CatalogTable } from './index-
|
|
6
|
+
import { c as createComponentRouteRef, C as CatalogTable } from './index-d0282db3.esm.js';
|
|
7
7
|
import 'zen-observable';
|
|
8
8
|
import '@backstage/catalog-model';
|
|
9
9
|
import 'lodash';
|
|
@@ -15,7 +15,6 @@ import '@material-ui/icons/Edit';
|
|
|
15
15
|
import '@material-ui/icons/Language';
|
|
16
16
|
import 'pluralize';
|
|
17
17
|
import 'react-use/lib/useAsync';
|
|
18
|
-
import '@backstage/plugin-search-react';
|
|
19
18
|
import '@material-ui/core/styles';
|
|
20
19
|
import '@material-ui/icons/OpenInNew';
|
|
21
20
|
import '@material-ui/icons/Star';
|
|
@@ -28,6 +27,7 @@ import '@backstage/plugin-catalog-common';
|
|
|
28
27
|
import '@material-ui/icons/Cancel';
|
|
29
28
|
import '@backstage/errors';
|
|
30
29
|
import '@backstage/catalog-client';
|
|
30
|
+
import '@backstage/plugin-search-react';
|
|
31
31
|
|
|
32
32
|
const useCatalogPluginOptions = () => usePluginOptions();
|
|
33
33
|
|
|
@@ -67,4 +67,4 @@ function CatalogPage(props) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export { CatalogPage, DefaultCatalogPage };
|
|
70
|
-
//# sourceMappingURL=index-
|
|
70
|
+
//# sourceMappingURL=index-992393a7.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-992393a7.esm.js","sources":["../../src/options.ts","../../src/components/CatalogPage/DefaultCatalogPage.tsx","../../src/components/CatalogPage/CatalogPage.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 { usePluginOptions } from '@backstage/core-plugin-api';\n\nexport type CatalogPluginOptions = {\n createButtonTitle: string;\n};\n\n/** @ignore */\nexport type CatalogInputPluginOptions = {\n createButtonTitle: string;\n};\n\nexport const useCatalogPluginOptions = () =>\n usePluginOptions<CatalogPluginOptions>();\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 {\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 EntityProcessingStatusPicker,\n EntityOwnerPicker,\n EntityTagPicker,\n EntityTypePicker,\n UserListFilterKind,\n UserListPicker,\n EntityKindPicker,\n} from '@backstage/plugin-catalog-react';\nimport React, { ReactNode } from 'react';\nimport { createComponentRouteRef } from '../../routes';\nimport { CatalogTable, CatalogTableRow } from '../CatalogTable';\nimport { useCatalogPluginOptions } from '../../options';\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 initialKind?: string;\n tableOptions?: TableProps<CatalogTableRow>['options'];\n emptyContent?: ReactNode;\n}\n\nexport function DefaultCatalogPage(props: DefaultCatalogPageProps) {\n const {\n columns,\n actions,\n initiallySelectedFilter = 'owned',\n initialKind = 'component',\n tableOptions = {},\n emptyContent,\n } = props;\n const orgName =\n useApi(configApiRef).getOptionalString('organization.name') ?? 'Backstage';\n const createComponentLink = useRouteRef(createComponentRouteRef);\n\n const { createButtonTitle } = useCatalogPluginOptions();\n\n return (\n <PageWithHeader title={`${orgName} Catalog`} themeId=\"home\">\n <Content>\n <ContentHeader title=\"\">\n <CreateButton\n title={createButtonTitle}\n to={createComponentLink && createComponentLink()}\n />\n <SupportButton>All your software catalog entities</SupportButton>\n </ContentHeader>\n <EntityListProvider>\n <CatalogFilterLayout>\n <CatalogFilterLayout.Filters>\n <EntityKindPicker initialFilter={initialKind} />\n <EntityTypePicker />\n <UserListPicker initialFilter={initiallySelectedFilter} />\n <EntityOwnerPicker />\n <EntityLifecyclePicker />\n <EntityTagPicker />\n <EntityProcessingStatusPicker />\n </CatalogFilterLayout.Filters>\n <CatalogFilterLayout.Content>\n <CatalogTable\n columns={columns}\n actions={actions}\n tableOptions={tableOptions}\n emptyContent={emptyContent}\n />\n </CatalogFilterLayout.Content>\n </CatalogFilterLayout>\n </EntityListProvider>\n </Content>\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-dom';\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2Ba,MAAA,uBAAA,GAA0B,MACrC,gBAAuC,EAAA;;AC6BlC,SAAS,mBAAmB,KAAgC,EAAA;AAzDnE,EAAA,IAAA,EAAA,CAAA;AA0DE,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,OAAA;AAAA,IACA,uBAA0B,GAAA,OAAA;AAAA,IAC1B,WAAc,GAAA,WAAA;AAAA,IACd,eAAe,EAAC;AAAA,IAChB,YAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,WACJ,EAAO,GAAA,MAAA,CAAA,YAAY,EAAE,iBAAkB,CAAA,mBAAmB,MAA1D,IAA+D,GAAA,EAAA,GAAA,WAAA,CAAA;AACjE,EAAM,MAAA,mBAAA,GAAsB,YAAY,uBAAuB,CAAA,CAAA;AAE/D,EAAM,MAAA,EAAE,iBAAkB,EAAA,GAAI,uBAAwB,EAAA,CAAA;AAEtD,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,KAAO,EAAA,CAAA,EAAG,OAAmB,CAAA,QAAA,CAAA,EAAA,OAAA,EAAQ,MACnD,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,OACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAM,EACnB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,iBAAA;AAAA,MACP,EAAA,EAAI,uBAAuB,mBAAoB,EAAA;AAAA,KAAA;AAAA,qBAEhD,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,IAAA,EAAc,oCAAkC,CACnD,CAAA,sCACC,kBACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,2CACE,KAAA,CAAA,aAAA,CAAA,mBAAA,CAAoB,SAApB,IACC,kBAAA,KAAA,CAAA,aAAA,CAAC,oBAAiB,aAAe,EAAA,WAAA,EAAa,mBAC7C,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,IAAiB,mBACjB,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,eAAe,uBAAyB,EAAA,CAAA,sCACvD,iBAAkB,EAAA,IAAA,CAAA,sCAClB,qBAAsB,EAAA,IAAA,CAAA,sCACtB,eAAgB,EAAA,IAAA,CAAA,sCAChB,4BAA6B,EAAA,IAAA,CAChC,mBACC,KAAA,CAAA,aAAA,CAAA,mBAAA,CAAoB,SAApB,IACC,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,KAAA;AAAA,GAEJ,CACF,CACF,CACF,CACF,CAAA,CAAA;AAEJ;;ACnFO,SAAS,YAAY,KAAgC,EAAA;AAC1D,EAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AAEzB,EAAA,OAAO,MAAU,oBAAA,KAAA,CAAA,aAAA,CAAC,kBAAoB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AAClD;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { makeStyles, ListItem, ListItemIcon, ListItemText, Box, Chip, Divider } from '@material-ui/core';
|
|
3
|
+
import { Link } from '@backstage/core-components';
|
|
4
|
+
import { HighlightedSearchResultText } from '@backstage/plugin-search-react';
|
|
5
|
+
|
|
6
|
+
const useStyles = makeStyles({
|
|
7
|
+
flexContainer: {
|
|
8
|
+
flexWrap: "wrap"
|
|
9
|
+
},
|
|
10
|
+
itemText: {
|
|
11
|
+
width: "100%",
|
|
12
|
+
wordBreak: "break-all",
|
|
13
|
+
marginBottom: "1rem"
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
function CatalogSearchResultListItem(props) {
|
|
17
|
+
const result = props.result;
|
|
18
|
+
const highlight = props.highlight;
|
|
19
|
+
const classes = useStyles();
|
|
20
|
+
if (!result)
|
|
21
|
+
return null;
|
|
22
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ListItem, { alignItems: "flex-start" }, props.icon && /* @__PURE__ */ React.createElement(ListItemIcon, null, props.icon), /* @__PURE__ */ React.createElement("div", { className: classes.flexContainer }, /* @__PURE__ */ React.createElement(
|
|
23
|
+
ListItemText,
|
|
24
|
+
{
|
|
25
|
+
className: classes.itemText,
|
|
26
|
+
primaryTypographyProps: { variant: "h6" },
|
|
27
|
+
primary: /* @__PURE__ */ React.createElement(Link, { noTrack: true, to: result.location }, (highlight == null ? void 0 : highlight.fields.title) ? /* @__PURE__ */ React.createElement(
|
|
28
|
+
HighlightedSearchResultText,
|
|
29
|
+
{
|
|
30
|
+
text: highlight.fields.title,
|
|
31
|
+
preTag: highlight.preTag,
|
|
32
|
+
postTag: highlight.postTag
|
|
33
|
+
}
|
|
34
|
+
) : result.title),
|
|
35
|
+
secondary: (highlight == null ? void 0 : highlight.fields.text) ? /* @__PURE__ */ React.createElement(
|
|
36
|
+
HighlightedSearchResultText,
|
|
37
|
+
{
|
|
38
|
+
text: highlight.fields.text,
|
|
39
|
+
preTag: highlight.preTag,
|
|
40
|
+
postTag: highlight.postTag
|
|
41
|
+
}
|
|
42
|
+
) : result.text
|
|
43
|
+
}
|
|
44
|
+
), /* @__PURE__ */ React.createElement(Box, null, result.kind && /* @__PURE__ */ React.createElement(Chip, { label: `Kind: ${result.kind}`, size: "small" }), result.lifecycle && /* @__PURE__ */ React.createElement(Chip, { label: `Lifecycle: ${result.lifecycle}`, size: "small" })))), /* @__PURE__ */ React.createElement(Divider, { component: "li" }));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { CatalogSearchResultListItem };
|
|
48
|
+
//# sourceMappingURL=index-b0707a2b.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-b0707a2b.esm.js","sources":["../../src/components/CatalogSearchResultListItem/CatalogSearchResultListItem.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 React, { ReactNode } from 'react';\nimport {\n Box,\n Chip,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n makeStyles,\n} from '@material-ui/core';\nimport { Link } from '@backstage/core-components';\nimport {\n IndexableDocument,\n ResultHighlight,\n} from '@backstage/plugin-search-common';\nimport { HighlightedSearchResultText } from '@backstage/plugin-search-react';\n\nconst useStyles = makeStyles({\n flexContainer: {\n flexWrap: 'wrap',\n },\n itemText: {\n width: '100%',\n wordBreak: 'break-all',\n marginBottom: '1rem',\n },\n});\n\n/**\n * Props for {@link CatalogSearchResultListItem}.\n *\n * @public\n */\nexport interface CatalogSearchResultListItemProps {\n icon?: ReactNode;\n result?: IndexableDocument;\n highlight?: ResultHighlight;\n rank?: number;\n}\n\n/** @public */\nexport function CatalogSearchResultListItem(\n props: CatalogSearchResultListItemProps,\n) {\n const result = props.result as any;\n const highlight = props.highlight as ResultHighlight;\n\n const classes = useStyles();\n\n if (!result) return null;\n\n return (\n <>\n <ListItem alignItems=\"flex-start\">\n {props.icon && <ListItemIcon>{props.icon}</ListItemIcon>}\n <div className={classes.flexContainer}>\n <ListItemText\n className={classes.itemText}\n primaryTypographyProps={{ variant: 'h6' }}\n primary={\n <Link noTrack to={result.location}>\n {highlight?.fields.title ? (\n <HighlightedSearchResultText\n text={highlight.fields.title}\n preTag={highlight.preTag}\n postTag={highlight.postTag}\n />\n ) : (\n result.title\n )}\n </Link>\n }\n secondary={\n highlight?.fields.text ? (\n <HighlightedSearchResultText\n text={highlight.fields.text}\n preTag={highlight.preTag}\n postTag={highlight.postTag}\n />\n ) : (\n result.text\n )\n }\n />\n <Box>\n {result.kind && (\n <Chip label={`Kind: ${result.kind}`} size=\"small\" />\n )}\n {result.lifecycle && (\n <Chip label={`Lifecycle: ${result.lifecycle}`} size=\"small\" />\n )}\n </Box>\n </div>\n </ListItem>\n <Divider component=\"li\" />\n </>\n );\n}\n"],"names":[],"mappings":";;;;;AAiCA,MAAM,YAAY,UAAW,CAAA;AAAA,EAC3B,aAAe,EAAA;AAAA,IACb,QAAU,EAAA,MAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,KAAO,EAAA,MAAA;AAAA,IACP,SAAW,EAAA,WAAA;AAAA,IACX,YAAc,EAAA,MAAA;AAAA,GAChB;AACF,CAAC,CAAA,CAAA;AAeM,SAAS,4BACd,KACA,EAAA;AACA,EAAA,MAAM,SAAS,KAAM,CAAA,MAAA,CAAA;AACrB,EAAA,MAAM,YAAY,KAAM,CAAA,SAAA,CAAA;AAExB,EAAA,MAAM,UAAU,SAAU,EAAA,CAAA;AAE1B,EAAA,IAAI,CAAC,MAAA;AAAQ,IAAO,OAAA,IAAA,CAAA;AAEpB,EAAA,iFAEK,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAS,UAAW,EAAA,YAAA,EAAA,EAClB,MAAM,IAAQ,oBAAA,KAAA,CAAA,aAAA,CAAC,YAAc,EAAA,IAAA,EAAA,KAAA,CAAM,IAAK,CACzC,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,QAAQ,aACtB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAQ,CAAA,QAAA;AAAA,MACnB,sBAAA,EAAwB,EAAE,OAAA,EAAS,IAAK,EAAA;AAAA,MACxC,OAAA,kBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAO,EAAA,IAAA,EAAC,IAAI,MAAO,CAAA,QAAA,EAAA,EAAA,CACtB,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,CAAO,KACjB,oBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,2BAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,UAAU,MAAO,CAAA,KAAA;AAAA,UACvB,QAAQ,SAAU,CAAA,MAAA;AAAA,UAClB,SAAS,SAAU,CAAA,OAAA;AAAA,SAAA;AAAA,OACrB,GAEA,OAAO,KAEX,CAAA;AAAA,MAEF,SAAA,EAAA,CACE,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,CAAO,IAChB,oBAAA,KAAA,CAAA,aAAA;AAAA,QAAC,2BAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,UAAU,MAAO,CAAA,IAAA;AAAA,UACvB,QAAQ,SAAU,CAAA,MAAA;AAAA,UAClB,SAAS,SAAU,CAAA,OAAA;AAAA,SAAA;AAAA,UAGrB,MAAO,CAAA,IAAA;AAAA,KAAA;AAAA,GAIb,kBAAA,KAAA,CAAA,aAAA,CAAC,GACE,EAAA,IAAA,EAAA,MAAA,CAAO,wBACL,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,CAAA,MAAA,EAAS,MAAO,CAAA,IAAA,CAAA,CAAA,EAAQ,IAAK,EAAA,OAAA,EAAQ,GAEnD,MAAO,CAAA,SAAA,oBACL,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,CAAA,WAAA,EAAc,MAAO,CAAA,SAAA,CAAA,CAAA,EAAa,MAAK,OAAQ,EAAA,CAEhE,CACF,CACF,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,SAAA,EAAU,MAAK,CAC1B,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import ObservableImpl from 'zen-observable';
|
|
2
2
|
import { stringifyEntityRef, RELATION_PART_OF, RELATION_OWNED_BY, getEntitySourceLocation, ANNOTATION_EDIT_URL, DEFAULT_NAMESPACE, ANNOTATION_LOCATION, ANNOTATION_VIEW_URL } from '@backstage/catalog-model';
|
|
3
3
|
import { isArray, isString, capitalize } from 'lodash';
|
|
4
|
-
import { Link, HeaderIconLinkRow, OverflowTooltip, WarningPanel, CodeSnippet, Table, Page, Header, Progress, RoutedTabs, Content, HeaderLabel, ResponseErrorPanel, InfoCard } from '@backstage/core-components';
|
|
5
|
-
import { createExternalRouteRef, createRouteRef, useElementFilter, useApi, alertApiRef, errorApiRef, useRouteRef,
|
|
4
|
+
import { Link, MarkdownContent, HeaderIconLinkRow, OverflowTooltip, WarningPanel, CodeSnippet, Table, Page, Header, Progress, RoutedTabs, Content, HeaderLabel, ResponseErrorPanel, InfoCard } from '@backstage/core-components';
|
|
5
|
+
import { createExternalRouteRef, createRouteRef, useElementFilter, useApi, alertApiRef, errorApiRef, 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
7
|
import { getEntityRelations, EntityRefLinks, useEntity, catalogApiRef, getEntitySourceLocation as getEntitySourceLocation$1, useEntityList, EntityKindFilter, EntityRefLink, humanizeEntityRef, useStarredEntities, useEntityPermission, entityRouteRef, useAsyncEntity, UnregisterEntityDialog, InspectEntityDialog, FavoriteEntity, CatalogFilterLayout, starredEntitiesApiRef } from '@backstage/plugin-catalog-react';
|
|
8
|
-
import { makeStyles, Typography, Grid, Box, useMediaQuery, ImageList, ImageListItem, Chip, Card, CardHeader, IconButton, Divider, CardContent, createStyles, Select, InputBase, MenuItem,
|
|
8
|
+
import { makeStyles, Typography, Grid, Box, useMediaQuery, ImageList, ImageListItem, Chip, Card, CardHeader, IconButton, Divider, CardContent, createStyles, Select, InputBase, MenuItem, ListItemIcon, ListItemText, Tooltip, 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';
|
|
@@ -13,7 +13,6 @@ import React, { useCallback, useMemo, useState, useEffect } from 'react';
|
|
|
13
13
|
import LanguageIcon from '@material-ui/icons/Language';
|
|
14
14
|
import pluralize from 'pluralize';
|
|
15
15
|
import useAsync from 'react-use/lib/useAsync';
|
|
16
|
-
import { HighlightedSearchResultText } from '@backstage/plugin-search-react';
|
|
17
16
|
import { withStyles, makeStyles as makeStyles$1 } from '@material-ui/core/styles';
|
|
18
17
|
import OpenInNew from '@material-ui/icons/OpenInNew';
|
|
19
18
|
import Star from '@material-ui/icons/Star';
|
|
@@ -27,6 +26,7 @@ import { catalogEntityDeletePermission } from '@backstage/plugin-catalog-common'
|
|
|
27
26
|
import CancelIcon from '@material-ui/icons/Cancel';
|
|
28
27
|
import { assertError } from '@backstage/errors';
|
|
29
28
|
import { ENTITY_STATUS_CATALOG_PROCESSING_TYPE, CatalogClient } from '@backstage/catalog-client';
|
|
29
|
+
import { createSearchResultListItemExtension } from '@backstage/plugin-search-react';
|
|
30
30
|
|
|
31
31
|
async function performMigrationToTheNewBucket({
|
|
32
32
|
storageApi
|
|
@@ -106,7 +106,7 @@ const rootRouteRef = createRouteRef({
|
|
|
106
106
|
id: "catalog"
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
const useStyles$
|
|
109
|
+
const useStyles$7 = makeStyles((theme) => ({
|
|
110
110
|
value: {
|
|
111
111
|
fontWeight: "bold",
|
|
112
112
|
overflow: "hidden",
|
|
@@ -125,13 +125,13 @@ const useStyles$8 = makeStyles((theme) => ({
|
|
|
125
125
|
}));
|
|
126
126
|
function AboutField(props) {
|
|
127
127
|
const { label, value, gridSizes, children } = props;
|
|
128
|
-
const classes = useStyles$
|
|
128
|
+
const classes = useStyles$7();
|
|
129
129
|
const childElements = useElementFilter(children, (c) => c.getElements());
|
|
130
130
|
const content = childElements.length > 0 ? childElements : /* @__PURE__ */ React.createElement(Typography, { variant: "body2", className: classes.value }, value || `unknown`);
|
|
131
131
|
return /* @__PURE__ */ React.createElement(Grid, { item: true, ...gridSizes }, /* @__PURE__ */ React.createElement(Typography, { variant: "h2", className: classes.label }, label), content);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
const useStyles$
|
|
134
|
+
const useStyles$6 = makeStyles({
|
|
135
135
|
svgIcon: {
|
|
136
136
|
display: "inline-block",
|
|
137
137
|
"& svg": {
|
|
@@ -143,7 +143,7 @@ const useStyles$7 = makeStyles({
|
|
|
143
143
|
});
|
|
144
144
|
function IconLink(props) {
|
|
145
145
|
const { href, text, Icon } = props;
|
|
146
|
-
const classes = useStyles$
|
|
146
|
+
const classes = useStyles$6();
|
|
147
147
|
return /* @__PURE__ */ React.createElement(Box, { display: "flex" }, /* @__PURE__ */ React.createElement(Box, { mr: 1, className: classes.svgIcon }, /* @__PURE__ */ React.createElement(Typography, { component: "div" }, Icon ? /* @__PURE__ */ React.createElement(Icon, null) : /* @__PURE__ */ React.createElement(LanguageIcon, null))), /* @__PURE__ */ React.createElement(Box, { flexGrow: "1" }, /* @__PURE__ */ React.createElement(Link, { to: href, target: "_blank", rel: "noopener" }, text || href)));
|
|
148
148
|
}
|
|
149
149
|
|
|
@@ -179,7 +179,7 @@ function LinksGridList(props) {
|
|
|
179
179
|
return /* @__PURE__ */ React.createElement(ImageList, { rowHeight: "auto", cols: numOfCols }, items.map(({ text, href, Icon }, i) => /* @__PURE__ */ React.createElement(ImageListItem, { key: i }, /* @__PURE__ */ React.createElement(IconLink, { href, text: text != null ? text : href, Icon }))));
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
const useStyles$
|
|
182
|
+
const useStyles$5 = makeStyles({
|
|
183
183
|
description: {
|
|
184
184
|
wordBreak: "break-word"
|
|
185
185
|
}
|
|
@@ -197,7 +197,7 @@ function getLocationTargetHref(target, type, entitySourceLocation) {
|
|
|
197
197
|
function AboutContent(props) {
|
|
198
198
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
199
199
|
const { entity } = props;
|
|
200
|
-
const classes = useStyles$
|
|
200
|
+
const classes = useStyles$5();
|
|
201
201
|
const isSystem = entity.kind.toLocaleLowerCase("en-US") === "system";
|
|
202
202
|
const isResource = entity.kind.toLocaleLowerCase("en-US") === "resource";
|
|
203
203
|
const isComponent = entity.kind.toLocaleLowerCase("en-US") === "component";
|
|
@@ -225,7 +225,13 @@ function AboutContent(props) {
|
|
|
225
225
|
} catch (e) {
|
|
226
226
|
entitySourceLocation = void 0;
|
|
227
227
|
}
|
|
228
|
-
return /* @__PURE__ */ React.createElement(Grid, { container: true }, /* @__PURE__ */ React.createElement(AboutField, { label: "Description", gridSizes: { xs: 12 } }, /* @__PURE__ */ React.createElement(
|
|
228
|
+
return /* @__PURE__ */ React.createElement(Grid, { container: true }, /* @__PURE__ */ React.createElement(AboutField, { label: "Description", gridSizes: { xs: 12 } }, /* @__PURE__ */ React.createElement(
|
|
229
|
+
MarkdownContent,
|
|
230
|
+
{
|
|
231
|
+
className: classes.description,
|
|
232
|
+
content: ((_a = entity == null ? void 0 : entity.metadata) == null ? void 0 : _a.description) || "No description"
|
|
233
|
+
}
|
|
234
|
+
)), /* @__PURE__ */ React.createElement(
|
|
229
235
|
AboutField,
|
|
230
236
|
{
|
|
231
237
|
label: "Owner",
|
|
@@ -316,7 +322,7 @@ function AboutContent(props) {
|
|
|
316
322
|
)));
|
|
317
323
|
}
|
|
318
324
|
|
|
319
|
-
const useStyles$
|
|
325
|
+
const useStyles$4 = makeStyles({
|
|
320
326
|
gridItemCard: {
|
|
321
327
|
display: "flex",
|
|
322
328
|
flexDirection: "column",
|
|
@@ -339,7 +345,7 @@ const useStyles$5 = makeStyles({
|
|
|
339
345
|
function AboutCard(props) {
|
|
340
346
|
var _a, _b, _c;
|
|
341
347
|
const { variant } = props;
|
|
342
|
-
const classes = useStyles$
|
|
348
|
+
const classes = useStyles$4();
|
|
343
349
|
const { entity } = useEntity();
|
|
344
350
|
const scmIntegrationsApi = useApi(scmIntegrationsApiRef);
|
|
345
351
|
const catalogApi = useApi(catalogApiRef);
|
|
@@ -453,7 +459,7 @@ function filterKinds(allKinds, allowedKinds, forcedKinds) {
|
|
|
453
459
|
return kindsMap;
|
|
454
460
|
}
|
|
455
461
|
|
|
456
|
-
const useStyles$
|
|
462
|
+
const useStyles$3 = makeStyles(
|
|
457
463
|
(theme) => createStyles({
|
|
458
464
|
root: {
|
|
459
465
|
...theme.typography.h4
|
|
@@ -463,7 +469,7 @@ const useStyles$4 = makeStyles(
|
|
|
463
469
|
function CatalogKindHeader(props) {
|
|
464
470
|
var _a, _b;
|
|
465
471
|
const { initialFilter = "component", allowedKinds } = props;
|
|
466
|
-
const classes = useStyles$
|
|
472
|
+
const classes = useStyles$3();
|
|
467
473
|
const { allKinds } = useAllKinds();
|
|
468
474
|
const {
|
|
469
475
|
filters,
|
|
@@ -506,52 +512,6 @@ function CatalogKindHeader(props) {
|
|
|
506
512
|
);
|
|
507
513
|
}
|
|
508
514
|
|
|
509
|
-
const useStyles$3 = makeStyles({
|
|
510
|
-
flexContainer: {
|
|
511
|
-
flexWrap: "wrap"
|
|
512
|
-
},
|
|
513
|
-
itemText: {
|
|
514
|
-
width: "100%",
|
|
515
|
-
wordBreak: "break-all",
|
|
516
|
-
marginBottom: "1rem"
|
|
517
|
-
}
|
|
518
|
-
});
|
|
519
|
-
function CatalogSearchResultListItem(props) {
|
|
520
|
-
const result = props.result;
|
|
521
|
-
const highlight = props.highlight;
|
|
522
|
-
const classes = useStyles$3();
|
|
523
|
-
const analytics = useAnalytics();
|
|
524
|
-
const handleClick = () => {
|
|
525
|
-
analytics.captureEvent("discover", result.title, {
|
|
526
|
-
attributes: { to: result.location },
|
|
527
|
-
value: props.rank
|
|
528
|
-
});
|
|
529
|
-
};
|
|
530
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ListItem, { alignItems: "flex-start" }, props.icon && /* @__PURE__ */ React.createElement(ListItemIcon, null, props.icon), /* @__PURE__ */ React.createElement("div", { className: classes.flexContainer }, /* @__PURE__ */ React.createElement(
|
|
531
|
-
ListItemText,
|
|
532
|
-
{
|
|
533
|
-
className: classes.itemText,
|
|
534
|
-
primaryTypographyProps: { variant: "h6" },
|
|
535
|
-
primary: /* @__PURE__ */ React.createElement(Link, { noTrack: true, to: result.location, onClick: handleClick }, (highlight == null ? void 0 : highlight.fields.title) ? /* @__PURE__ */ React.createElement(
|
|
536
|
-
HighlightedSearchResultText,
|
|
537
|
-
{
|
|
538
|
-
text: highlight.fields.title,
|
|
539
|
-
preTag: highlight.preTag,
|
|
540
|
-
postTag: highlight.postTag
|
|
541
|
-
}
|
|
542
|
-
) : result.title),
|
|
543
|
-
secondary: (highlight == null ? void 0 : highlight.fields.text) ? /* @__PURE__ */ React.createElement(
|
|
544
|
-
HighlightedSearchResultText,
|
|
545
|
-
{
|
|
546
|
-
text: highlight.fields.text,
|
|
547
|
-
preTag: highlight.preTag,
|
|
548
|
-
postTag: highlight.postTag
|
|
549
|
-
}
|
|
550
|
-
) : result.text
|
|
551
|
-
}
|
|
552
|
-
), /* @__PURE__ */ React.createElement(Box, null, result.kind && /* @__PURE__ */ React.createElement(Chip, { label: `Kind: ${result.kind}`, size: "small" }), result.lifecycle && /* @__PURE__ */ React.createElement(Chip, { label: `Lifecycle: ${result.lifecycle}`, size: "small" })))), /* @__PURE__ */ React.createElement(Divider, { component: "li" }));
|
|
553
|
-
}
|
|
554
|
-
|
|
555
515
|
const columnFactories = Object.freeze({
|
|
556
516
|
createNameColumn(options) {
|
|
557
517
|
function formatContent(entity) {
|
|
@@ -1435,7 +1395,7 @@ const catalogPlugin = createPlugin({
|
|
|
1435
1395
|
const CatalogIndexPage = catalogPlugin.provide(
|
|
1436
1396
|
createRoutableExtension({
|
|
1437
1397
|
name: "CatalogIndexPage",
|
|
1438
|
-
component: () => import('./index-
|
|
1398
|
+
component: () => import('./index-992393a7.esm.js').then((m) => m.CatalogPage),
|
|
1439
1399
|
mountPoint: rootRouteRef
|
|
1440
1400
|
})
|
|
1441
1401
|
);
|
|
@@ -1450,7 +1410,7 @@ const EntityAboutCard = catalogPlugin.provide(
|
|
|
1450
1410
|
createComponentExtension({
|
|
1451
1411
|
name: "EntityAboutCard",
|
|
1452
1412
|
component: {
|
|
1453
|
-
lazy: () => import('./index-
|
|
1413
|
+
lazy: () => import('./index-7e757436.esm.js').then((m) => m.AboutCard)
|
|
1454
1414
|
}
|
|
1455
1415
|
})
|
|
1456
1416
|
);
|
|
@@ -1458,7 +1418,7 @@ const EntityLinksCard = catalogPlugin.provide(
|
|
|
1458
1418
|
createComponentExtension({
|
|
1459
1419
|
name: "EntityLinksCard",
|
|
1460
1420
|
component: {
|
|
1461
|
-
lazy: () => import('./index-
|
|
1421
|
+
lazy: () => import('./index-fe088415.esm.js').then((m) => m.EntityLinksCard)
|
|
1462
1422
|
}
|
|
1463
1423
|
})
|
|
1464
1424
|
);
|
|
@@ -1466,7 +1426,7 @@ const EntityLabelsCard = catalogPlugin.provide(
|
|
|
1466
1426
|
createComponentExtension({
|
|
1467
1427
|
name: "EntityLabelsCard",
|
|
1468
1428
|
component: {
|
|
1469
|
-
lazy: () => import('./index-
|
|
1429
|
+
lazy: () => import('./index-27f51c72.esm.js').then((m) => m.EntityLabelsCard)
|
|
1470
1430
|
}
|
|
1471
1431
|
})
|
|
1472
1432
|
);
|
|
@@ -1544,6 +1504,15 @@ const RelatedEntitiesCard = catalogPlugin.provide(
|
|
|
1544
1504
|
}
|
|
1545
1505
|
})
|
|
1546
1506
|
);
|
|
1507
|
+
const CatalogSearchResultListItem = catalogPlugin.provide(
|
|
1508
|
+
createSearchResultListItemExtension({
|
|
1509
|
+
name: "CatalogSearchResultListItem",
|
|
1510
|
+
component: () => import('./index-b0707a2b.esm.js').then(
|
|
1511
|
+
(m) => m.CatalogSearchResultListItem
|
|
1512
|
+
),
|
|
1513
|
+
predicate: (result) => result.type === "software-catalog"
|
|
1514
|
+
})
|
|
1515
|
+
);
|
|
1547
1516
|
|
|
1548
|
-
export { AboutCard as A, isNamespace as B, CatalogTable as C, DefaultStarredEntitiesApi as D, EntityLabelsCard$1 as E, isComponentType as F, FilteredEntityLayout as G, FilterContainer as H, EntityListContainer as I, LinksGridList as L, RelatedEntitiesCard as R, AboutContent as a, AboutField as b, createComponentRouteRef as c, CatalogEntityPage as d, CatalogIndexPage as e, catalogPlugin as f, EntityAboutCard as g, hasLabels as h, EntityDependencyOfComponentsCard as i, EntityDependsOnComponentsCard as j, EntityDependsOnResourcesCard as k, EntityHasComponentsCard as l, EntityHasResourcesCard as m, EntityHasSubcomponentsCard as n, EntityHasSystemsCard as o, EntityLinksCard as p, EntityLabelsCard as q,
|
|
1549
|
-
//# sourceMappingURL=index-
|
|
1517
|
+
export { AboutCard as A, isNamespace as B, CatalogTable as C, DefaultStarredEntitiesApi as D, EntityLabelsCard$1 as E, isComponentType as F, FilteredEntityLayout as G, FilterContainer as H, EntityListContainer as I, LinksGridList as L, RelatedEntitiesCard as R, AboutContent as a, AboutField as b, createComponentRouteRef as c, CatalogEntityPage as d, CatalogIndexPage as e, catalogPlugin as f, EntityAboutCard as g, hasLabels as h, EntityDependencyOfComponentsCard as i, EntityDependsOnComponentsCard as j, EntityDependsOnResourcesCard as k, EntityHasComponentsCard as l, EntityHasResourcesCard as m, EntityHasSubcomponentsCard as n, EntityHasSystemsCard as o, EntityLinksCard as p, EntityLabelsCard as q, CatalogSearchResultListItem as r, CatalogKindHeader as s, EntityLayout as t, EntityOrphanWarning as u, isOrphan as v, EntityProcessingErrorsPanel as w, hasCatalogProcessingErrors as x, EntitySwitch as y, isKind as z };
|
|
1518
|
+
//# sourceMappingURL=index-d0282db3.esm.js.map
|