@backstage/plugin-catalog 1.34.0-next.1 → 2.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.
- package/CHANGELOG.md +88 -0
- package/README.md +6 -2
- package/dist/alpha/entityCards.esm.js +10 -10
- package/dist/alpha/entityCards.esm.js.map +1 -1
- package/dist/alpha/pages.esm.js +3 -3
- package/dist/alpha/pages.esm.js.map +1 -1
- package/dist/alpha/plugin.esm.js +1 -1
- package/dist/alpha/plugin.esm.js.map +1 -1
- package/dist/alpha/translation.esm.js +11 -9
- package/dist/alpha/translation.esm.js.map +1 -1
- package/dist/alpha.d.ts +16 -13
- package/dist/alpha.esm.js +5 -1
- package/dist/alpha.esm.js.map +1 -1
- package/dist/components/AboutCard/AboutCard.esm.js +57 -86
- package/dist/components/AboutCard/AboutCard.esm.js.map +1 -1
- package/dist/components/AboutCard/AboutContent.esm.js +22 -42
- package/dist/components/AboutCard/AboutContent.esm.js.map +1 -1
- package/dist/components/AboutCard/AboutField.esm.js +2 -3
- package/dist/components/AboutCard/AboutField.esm.js.map +1 -1
- package/dist/components/CatalogPage/DefaultCatalogPage.esm.js +89 -19
- package/dist/components/CatalogPage/DefaultCatalogPage.esm.js.map +1 -1
- package/dist/components/CatalogTable/CatalogTable.esm.js +1 -1
- package/dist/components/DependencyOfComponentsCard/DependencyOfComponentsCard.esm.js +33 -10
- package/dist/components/DependencyOfComponentsCard/DependencyOfComponentsCard.esm.js.map +1 -1
- package/dist/components/DependsOnComponentsCard/DependsOnComponentsCard.esm.js +33 -10
- package/dist/components/DependsOnComponentsCard/DependsOnComponentsCard.esm.js.map +1 -1
- package/dist/components/DependsOnResourcesCard/DependsOnResourcesCard.esm.js +33 -10
- package/dist/components/DependsOnResourcesCard/DependsOnResourcesCard.esm.js.map +1 -1
- package/dist/components/EntityLabelsCard/EntityLabelsCard.esm.js +33 -40
- package/dist/components/EntityLabelsCard/EntityLabelsCard.esm.js.map +1 -1
- package/dist/components/EntityLinksCard/EntityLinksCard.esm.js +3 -4
- package/dist/components/EntityLinksCard/EntityLinksCard.esm.js.map +1 -1
- package/dist/components/EntityLinksCard/LinksGridList.esm.js +9 -3
- package/dist/components/EntityLinksCard/LinksGridList.esm.js.map +1 -1
- package/dist/components/HasComponentsCard/HasComponentsCard.esm.js +33 -10
- package/dist/components/HasComponentsCard/HasComponentsCard.esm.js.map +1 -1
- package/dist/components/HasResourcesCard/HasResourcesCard.esm.js +34 -11
- package/dist/components/HasResourcesCard/HasResourcesCard.esm.js.map +1 -1
- package/dist/components/HasSubcomponentsCard/HasSubcomponentsCard.esm.js +34 -10
- package/dist/components/HasSubcomponentsCard/HasSubcomponentsCard.esm.js.map +1 -1
- package/dist/components/HasSubdomainsCard/HasSubdomainsCard.esm.js +33 -10
- package/dist/components/HasSubdomainsCard/HasSubdomainsCard.esm.js.map +1 -1
- package/dist/components/HasSystemsCard/HasSystemsCard.esm.js +33 -10
- package/dist/components/HasSystemsCard/HasSystemsCard.esm.js.map +1 -1
- package/dist/components/RelatedEntitiesCard/RelatedEntitiesCard.esm.js.map +1 -1
- package/dist/index.d.ts +206 -24
- package/dist/index.esm.js +7 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/package.json.esm.js +1 -1
- package/dist/plugin.esm.js.map +1 -1
- package/package.json +26 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,93 @@
|
|
|
1
1
|
# @backstage/plugin-catalog
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 5fc35bb: Migrated `EntityAboutCard`, `EntityLinksCard`, `EntityLabelsCard`, `GroupProfileCard`, and `UserProfileCard` from MUI/InfoCard to use the new BUI card layout and BUI components where possible.
|
|
8
|
+
|
|
9
|
+
**BREAKING**: Removed `variant` prop from EntityAboutCard, EntityUserProfileCard, EntityGroupProfileCard, EntityLabelsCard, EntityLinksCard. Removed `gridSizes` prop from `AboutField`.
|
|
10
|
+
|
|
11
|
+
**Migration:**
|
|
12
|
+
|
|
13
|
+
Simply delete the obsolete `variant` and `gridSizes` props, e.g:
|
|
14
|
+
|
|
15
|
+
```diff
|
|
16
|
+
- <EntityAboutCard variant="gridItem" />
|
|
17
|
+
+ <EntityAboutCard />
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
```diff
|
|
21
|
+
- <AboutField label="Owner" gridSizes={{ xs: 12, sm: 6, lg: 4 }} />
|
|
22
|
+
+ <AboutField label="Owner" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- 4d58894: Added support for group alias IDs and configurable content ordering on the entity page. Groups can now declare `aliases` so that content targeting an aliased group is included in the group. A new `defaultContentOrder` option (default `title`) controls how content items within each group are sorted, with support for both a page-level default and per-group overrides.
|
|
28
|
+
- c548a0f: Migrated entity table cards (`HasComponentsCard`, `HasResourcesCard`, `HasSubcomponentsCard`, `HasSubdomainsCard`, `HasSystemsCard`, `DependsOnComponentsCard`, `DependsOnResourcesCard`, `DependencyOfComponentsCard`) to use BUI when no legacy props are passed. The old `variant`, `columns`, and `tableOptions` props are deprecated but still supported — passing any of them triggers the legacy MUI-based rendering. The new `columnConfig` prop accepts `EntityColumnConfig[]` for BUI-based rendering.
|
|
29
|
+
|
|
30
|
+
`RelatedEntitiesCard` is deprecated — use `EntityRelationCard` from `@backstage/plugin-catalog-react/alpha` instead.
|
|
31
|
+
|
|
32
|
+
- 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 538c985: Updated installation documentation to use feature discovery as the default.
|
|
37
|
+
- 07ba746: Fixed entity page tab groups not respecting the ordering from the `groups` configuration.
|
|
38
|
+
- aa29b50: New frontend system pages now use the default plugin header together with `HeaderPage` instead of the legacy core page header pattern.
|
|
39
|
+
- 3f36ce1: Updated alpha plugin icons to follow the new frontend icon sizing rules when rendered in plugin and navigation surfaces.
|
|
40
|
+
- Updated dependencies
|
|
41
|
+
- @backstage/plugin-catalog-react@2.1.0
|
|
42
|
+
- @backstage/ui@0.13.0
|
|
43
|
+
- @backstage/core-compat-api@0.5.9
|
|
44
|
+
- @backstage/core-plugin-api@1.12.4
|
|
45
|
+
- @backstage/core-components@0.18.8
|
|
46
|
+
- @backstage/frontend-plugin-api@0.15.0
|
|
47
|
+
- @backstage/plugin-search-react@1.11.0
|
|
48
|
+
- @backstage/catalog-client@1.14.0
|
|
49
|
+
- @backstage/plugin-permission-react@0.4.41
|
|
50
|
+
- @backstage/plugin-scaffolder-common@2.0.0
|
|
51
|
+
- @backstage/catalog-model@1.7.7
|
|
52
|
+
- @backstage/integration-react@1.2.16
|
|
53
|
+
- @backstage/plugin-techdocs-react@1.3.9
|
|
54
|
+
|
|
55
|
+
## 2.0.0-next.2
|
|
56
|
+
|
|
57
|
+
### Major Changes
|
|
58
|
+
|
|
59
|
+
- 5fc35bb: Migrated `EntityAboutCard`, `EntityLinksCard`, `EntityLabelsCard`, `GroupProfileCard`, and `UserProfileCard` from MUI/InfoCard to use the new BUI card layout and BUI components where possible.
|
|
60
|
+
|
|
61
|
+
**BREAKING**: Removed `variant` prop from EntityAboutCard, EntityUserProfileCard, EntityGroupProfileCard, EntityLabelsCard, EntityLinksCard. Removed `gridSizes` prop from `AboutField`.
|
|
62
|
+
|
|
63
|
+
**Migration:**
|
|
64
|
+
|
|
65
|
+
Simply delete the obsolete `variant` and `gridSizes` props, e.g:
|
|
66
|
+
|
|
67
|
+
```diff
|
|
68
|
+
- <EntityAboutCard variant="gridItem" />
|
|
69
|
+
+ <EntityAboutCard />
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```diff
|
|
73
|
+
- <AboutField label="Owner" gridSizes={{ xs: 12, sm: 6, lg: 4 }} />
|
|
74
|
+
+ <AboutField label="Owner" />
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- Updated dependencies
|
|
80
|
+
- @backstage/core-compat-api@0.5.9-next.2
|
|
81
|
+
- @backstage/ui@0.13.0-next.2
|
|
82
|
+
- @backstage/frontend-plugin-api@0.15.0-next.1
|
|
83
|
+
- @backstage/core-plugin-api@1.12.4-next.1
|
|
84
|
+
- @backstage/catalog-client@1.14.0-next.2
|
|
85
|
+
- @backstage/plugin-catalog-react@2.1.0-next.2
|
|
86
|
+
- @backstage/core-components@0.18.8-next.1
|
|
87
|
+
- @backstage/plugin-scaffolder-common@2.0.0-next.2
|
|
88
|
+
- @backstage/plugin-search-react@1.10.5-next.1
|
|
89
|
+
- @backstage/plugin-techdocs-react@1.3.9-next.1
|
|
90
|
+
|
|
3
91
|
## 1.34.0-next.1
|
|
4
92
|
|
|
5
93
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -15,13 +15,17 @@ To check if you already have the package, look under
|
|
|
15
15
|
`@backstage/plugin-catalog`. The instructions below walk through restoring the
|
|
16
16
|
plugin, if you previously removed it.
|
|
17
17
|
|
|
18
|
-
### Install the package
|
|
19
|
-
|
|
20
18
|
```bash
|
|
21
19
|
# From your Backstage root directory
|
|
22
20
|
yarn --cwd packages/app add @backstage/plugin-catalog
|
|
23
21
|
```
|
|
24
22
|
|
|
23
|
+
Once installed, the plugin is automatically available in your app through the default feature discovery. For more details and alternative installation methods, see [installing plugins](https://backstage.io/docs/frontend-system/building-apps/installing-plugins).
|
|
24
|
+
|
|
25
|
+
## Old Frontend System
|
|
26
|
+
|
|
27
|
+
If your Backstage app uses the old frontend system, you need to manually wire the plugin into your app as outlined in this section. If you are on the new frontend system, you can skip this.
|
|
28
|
+
|
|
25
29
|
### Add the plugin to your `packages/app`
|
|
26
30
|
|
|
27
31
|
Add the two pages that the catalog plugin provides to your app. You can choose
|
|
@@ -41,7 +41,7 @@ const catalogAboutEntityCard = EntityCardBlueprint.makeWithOverrides({
|
|
|
41
41
|
},
|
|
42
42
|
async loader() {
|
|
43
43
|
const { InternalAboutCard } = await import('../components/AboutCard/AboutCard.esm.js');
|
|
44
|
-
return /* @__PURE__ */ jsx(InternalAboutCard, {
|
|
44
|
+
return /* @__PURE__ */ jsx(InternalAboutCard, { iconLinks: /* @__PURE__ */ jsx(Subheader, {}) });
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -51,7 +51,7 @@ const catalogLinksEntityCard = EntityCardBlueprint.make({
|
|
|
51
51
|
params: {
|
|
52
52
|
type: "info",
|
|
53
53
|
filter: { "metadata.links": { $exists: true } },
|
|
54
|
-
loader: async () => import('../components/EntityLinksCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.EntityLinksCard, {
|
|
54
|
+
loader: async () => import('../components/EntityLinksCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.EntityLinksCard, {}))
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
const catalogLabelsEntityCard = EntityCardBlueprint.make({
|
|
@@ -59,56 +59,56 @@ const catalogLabelsEntityCard = EntityCardBlueprint.make({
|
|
|
59
59
|
params: {
|
|
60
60
|
type: "info",
|
|
61
61
|
filter: { "metadata.labels": { $exists: true } },
|
|
62
|
-
loader: async () => import('../components/EntityLabelsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.EntityLabelsCard, {
|
|
62
|
+
loader: async () => import('../components/EntityLabelsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.EntityLabelsCard, {}))
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
const catalogDependsOnComponentsEntityCard = EntityCardBlueprint.make({
|
|
66
66
|
name: "depends-on-components",
|
|
67
67
|
params: {
|
|
68
68
|
filter: { kind: "component" },
|
|
69
|
-
loader: async () => import('../components/DependsOnComponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.DependsOnComponentsCard, {
|
|
69
|
+
loader: async () => import('../components/DependsOnComponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.DependsOnComponentsCard, {}))
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
const catalogDependsOnResourcesEntityCard = EntityCardBlueprint.make({
|
|
73
73
|
name: "depends-on-resources",
|
|
74
74
|
params: {
|
|
75
75
|
filter: { kind: "component" },
|
|
76
|
-
loader: async () => import('../components/DependsOnResourcesCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.DependsOnResourcesCard, {
|
|
76
|
+
loader: async () => import('../components/DependsOnResourcesCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.DependsOnResourcesCard, {}))
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
const catalogHasComponentsEntityCard = EntityCardBlueprint.make({
|
|
80
80
|
name: "has-components",
|
|
81
81
|
params: {
|
|
82
82
|
filter: { kind: "system" },
|
|
83
|
-
loader: async () => import('../components/HasComponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasComponentsCard, {
|
|
83
|
+
loader: async () => import('../components/HasComponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasComponentsCard, {}))
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
const catalogHasResourcesEntityCard = EntityCardBlueprint.make({
|
|
87
87
|
name: "has-resources",
|
|
88
88
|
params: {
|
|
89
89
|
filter: { kind: "system" },
|
|
90
|
-
loader: async () => import('../components/HasResourcesCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasResourcesCard, {
|
|
90
|
+
loader: async () => import('../components/HasResourcesCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasResourcesCard, {}))
|
|
91
91
|
}
|
|
92
92
|
});
|
|
93
93
|
const catalogHasSubcomponentsEntityCard = EntityCardBlueprint.make({
|
|
94
94
|
name: "has-subcomponents",
|
|
95
95
|
params: {
|
|
96
96
|
filter: { kind: "component" },
|
|
97
|
-
loader: async () => import('../components/HasSubcomponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSubcomponentsCard, {
|
|
97
|
+
loader: async () => import('../components/HasSubcomponentsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSubcomponentsCard, {}))
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
const catalogHasSubdomainsEntityCard = EntityCardBlueprint.make({
|
|
101
101
|
name: "has-subdomains",
|
|
102
102
|
params: {
|
|
103
103
|
filter: { kind: "domain" },
|
|
104
|
-
loader: async () => import('../components/HasSubdomainsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSubdomainsCard, {
|
|
104
|
+
loader: async () => import('../components/HasSubdomainsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSubdomainsCard, {}))
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
107
|
const catalogHasSystemsEntityCard = EntityCardBlueprint.make({
|
|
108
108
|
name: "has-systems",
|
|
109
109
|
params: {
|
|
110
110
|
filter: { kind: "domain" },
|
|
111
|
-
loader: async () => import('../components/HasSystemsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSystemsCard, {
|
|
111
|
+
loader: async () => import('../components/HasSystemsCard/index.esm.js').then((m) => /* @__PURE__ */ jsx(m.HasSystemsCard, {}))
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
114
|
var entityCards = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 EntityIconLinkBlueprint,\n EntityCardBlueprint,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { createExtensionInput } from '@backstage/frontend-plugin-api';\nimport {\n HeaderIconLinkRow,\n IconLinkVerticalProps,\n} from '@backstage/core-components';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogAboutEntityCard = EntityCardBlueprint.makeWithOverrides({\n name: 'about',\n inputs: {\n iconLinks: createExtensionInput([\n EntityIconLinkBlueprint.dataRefs.filterFunction.optional(),\n EntityIconLinkBlueprint.dataRefs.filterExpression.optional(),\n EntityIconLinkBlueprint.dataRefs.useProps,\n ]),\n },\n factory(originalFactory, { inputs }) {\n function Subheader() {\n const { entity } = useEntity();\n // The \"useProps\" functions may be calling other hooks, so we need to\n // call them in a component function to avoid breaking the rules of hooks.\n const links = inputs.iconLinks.reduce((rest, iconLink) => {\n const filter = buildFilterFn(\n iconLink.get(EntityIconLinkBlueprint.dataRefs.filterFunction),\n iconLink.get(EntityIconLinkBlueprint.dataRefs.filterExpression),\n );\n if (filter(entity)) {\n const props = iconLink.get(\n EntityIconLinkBlueprint.dataRefs.useProps,\n )();\n return [...rest, props];\n }\n return rest;\n }, new Array<IconLinkVerticalProps>());\n return links.length ? <HeaderIconLinkRow links={links} /> : null;\n }\n return originalFactory({\n type: 'info',\n filter: {\n $not: {\n kind: { $in: ['user', 'group'] },\n },\n },\n async loader() {\n const { InternalAboutCard } = await import(\n '../components/AboutCard/AboutCard'\n );\n return (\n <InternalAboutCard variant=\"gridItem\" subheader={<Subheader />} />\n );\n },\n });\n },\n});\n\nexport const catalogLinksEntityCard = EntityCardBlueprint.make({\n name: 'links',\n params: {\n type: 'info',\n filter: { 'metadata.links': { $exists: true } },\n loader: async () =>\n import('../components/EntityLinksCard').then(m => (\n <m.EntityLinksCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogLabelsEntityCard = EntityCardBlueprint.make({\n name: 'labels',\n params: {\n type: 'info',\n filter: { 'metadata.labels': { $exists: true } },\n loader: async () =>\n import('../components/EntityLabelsCard').then(m => (\n <m.EntityLabelsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogDependsOnComponentsEntityCard = EntityCardBlueprint.make({\n name: 'depends-on-components',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/DependsOnComponentsCard').then(m => (\n <m.DependsOnComponentsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogDependsOnResourcesEntityCard = EntityCardBlueprint.make({\n name: 'depends-on-resources',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/DependsOnResourcesCard').then(m => (\n <m.DependsOnResourcesCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogHasComponentsEntityCard = EntityCardBlueprint.make({\n name: 'has-components',\n params: {\n filter: { kind: 'system' },\n loader: async () =>\n import('../components/HasComponentsCard').then(m => (\n <m.HasComponentsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogHasResourcesEntityCard = EntityCardBlueprint.make({\n name: 'has-resources',\n params: {\n filter: { kind: 'system' },\n loader: async () =>\n import('../components/HasResourcesCard').then(m => (\n <m.HasResourcesCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogHasSubcomponentsEntityCard = EntityCardBlueprint.make({\n name: 'has-subcomponents',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/HasSubcomponentsCard').then(m => (\n <m.HasSubcomponentsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogHasSubdomainsEntityCard = EntityCardBlueprint.make({\n name: 'has-subdomains',\n params: {\n filter: { kind: 'domain' },\n loader: async () =>\n import('../components/HasSubdomainsCard').then(m => (\n <m.HasSubdomainsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport const catalogHasSystemsEntityCard = EntityCardBlueprint.make({\n name: 'has-systems',\n params: {\n filter: { kind: 'domain' },\n loader: async () =>\n import('../components/HasSystemsCard').then(m => (\n <m.HasSystemsCard variant=\"gridItem\" />\n )),\n },\n});\n\nexport default [\n catalogAboutEntityCard,\n catalogLinksEntityCard,\n catalogLabelsEntityCard,\n catalogDependsOnComponentsEntityCard,\n catalogDependsOnResourcesEntityCard,\n catalogHasComponentsEntityCard,\n catalogHasResourcesEntityCard,\n catalogHasSubcomponentsEntityCard,\n catalogHasSubdomainsEntityCard,\n catalogHasSystemsEntityCard,\n];\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entityCards.esm.js","sources":["../../src/alpha/entityCards.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 EntityIconLinkBlueprint,\n EntityCardBlueprint,\n} from '@backstage/plugin-catalog-react/alpha';\nimport { createExtensionInput } from '@backstage/frontend-plugin-api';\nimport {\n HeaderIconLinkRow,\n IconLinkVerticalProps,\n} from '@backstage/core-components';\nimport { useEntity } from '@backstage/plugin-catalog-react';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogAboutEntityCard = EntityCardBlueprint.makeWithOverrides({\n name: 'about',\n inputs: {\n iconLinks: createExtensionInput([\n EntityIconLinkBlueprint.dataRefs.filterFunction.optional(),\n EntityIconLinkBlueprint.dataRefs.filterExpression.optional(),\n EntityIconLinkBlueprint.dataRefs.useProps,\n ]),\n },\n factory(originalFactory, { inputs }) {\n function Subheader() {\n const { entity } = useEntity();\n // The \"useProps\" functions may be calling other hooks, so we need to\n // call them in a component function to avoid breaking the rules of hooks.\n const links = inputs.iconLinks.reduce((rest, iconLink) => {\n const filter = buildFilterFn(\n iconLink.get(EntityIconLinkBlueprint.dataRefs.filterFunction),\n iconLink.get(EntityIconLinkBlueprint.dataRefs.filterExpression),\n );\n if (filter(entity)) {\n const props = iconLink.get(\n EntityIconLinkBlueprint.dataRefs.useProps,\n )();\n return [...rest, props];\n }\n return rest;\n }, new Array<IconLinkVerticalProps>());\n return links.length ? <HeaderIconLinkRow links={links} /> : null;\n }\n return originalFactory({\n type: 'info',\n filter: {\n $not: {\n kind: { $in: ['user', 'group'] },\n },\n },\n async loader() {\n const { InternalAboutCard } = await import(\n '../components/AboutCard/AboutCard'\n );\n return <InternalAboutCard iconLinks={<Subheader />} />;\n },\n });\n },\n});\n\nexport const catalogLinksEntityCard = EntityCardBlueprint.make({\n name: 'links',\n params: {\n type: 'info',\n filter: { 'metadata.links': { $exists: true } },\n loader: async () =>\n import('../components/EntityLinksCard').then(m => <m.EntityLinksCard />),\n },\n});\n\nexport const catalogLabelsEntityCard = EntityCardBlueprint.make({\n name: 'labels',\n params: {\n type: 'info',\n filter: { 'metadata.labels': { $exists: true } },\n loader: async () =>\n import('../components/EntityLabelsCard').then(m => (\n <m.EntityLabelsCard />\n )),\n },\n});\n\nexport const catalogDependsOnComponentsEntityCard = EntityCardBlueprint.make({\n name: 'depends-on-components',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/DependsOnComponentsCard').then(m => (\n <m.DependsOnComponentsCard />\n )),\n },\n});\n\nexport const catalogDependsOnResourcesEntityCard = EntityCardBlueprint.make({\n name: 'depends-on-resources',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/DependsOnResourcesCard').then(m => (\n <m.DependsOnResourcesCard />\n )),\n },\n});\n\nexport const catalogHasComponentsEntityCard = EntityCardBlueprint.make({\n name: 'has-components',\n params: {\n filter: { kind: 'system' },\n loader: async () =>\n import('../components/HasComponentsCard').then(m => (\n <m.HasComponentsCard />\n )),\n },\n});\n\nexport const catalogHasResourcesEntityCard = EntityCardBlueprint.make({\n name: 'has-resources',\n params: {\n filter: { kind: 'system' },\n loader: async () =>\n import('../components/HasResourcesCard').then(m => (\n <m.HasResourcesCard />\n )),\n },\n});\n\nexport const catalogHasSubcomponentsEntityCard = EntityCardBlueprint.make({\n name: 'has-subcomponents',\n params: {\n filter: { kind: 'component' },\n loader: async () =>\n import('../components/HasSubcomponentsCard').then(m => (\n <m.HasSubcomponentsCard />\n )),\n },\n});\n\nexport const catalogHasSubdomainsEntityCard = EntityCardBlueprint.make({\n name: 'has-subdomains',\n params: {\n filter: { kind: 'domain' },\n loader: async () =>\n import('../components/HasSubdomainsCard').then(m => (\n <m.HasSubdomainsCard />\n )),\n },\n});\n\nexport const catalogHasSystemsEntityCard = EntityCardBlueprint.make({\n name: 'has-systems',\n params: {\n filter: { kind: 'domain' },\n loader: async () =>\n import('../components/HasSystemsCard').then(m => <m.HasSystemsCard />),\n },\n});\n\nexport default [\n catalogAboutEntityCard,\n catalogLinksEntityCard,\n catalogLabelsEntityCard,\n catalogDependsOnComponentsEntityCard,\n catalogDependsOnResourcesEntityCard,\n catalogHasComponentsEntityCard,\n catalogHasResourcesEntityCard,\n catalogHasSubcomponentsEntityCard,\n catalogHasSubdomainsEntityCard,\n catalogHasSystemsEntityCard,\n];\n"],"names":[],"mappings":"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"}
|
package/dist/alpha/pages.esm.js
CHANGED
|
@@ -28,15 +28,15 @@ const catalogPage = PageBlueprint.makeWithOverrides({
|
|
|
28
28
|
return originalFactory({
|
|
29
29
|
path: "/catalog",
|
|
30
30
|
routeRef: rootRouteRef,
|
|
31
|
-
icon: /* @__PURE__ */ jsx(CategoryIcon, {}),
|
|
31
|
+
icon: /* @__PURE__ */ jsx(CategoryIcon, { fontSize: "inherit" }),
|
|
32
32
|
title: "Catalog",
|
|
33
33
|
loader: async () => {
|
|
34
|
-
const {
|
|
34
|
+
const { NfsDefaultCatalogPage } = await import('../components/CatalogPage/DefaultCatalogPage.esm.js');
|
|
35
35
|
const filters = inputs.filters.map(
|
|
36
36
|
(filter) => filter.get(coreExtensionData.reactElement)
|
|
37
37
|
);
|
|
38
38
|
return /* @__PURE__ */ jsx(
|
|
39
|
-
|
|
39
|
+
NfsDefaultCatalogPage,
|
|
40
40
|
{
|
|
41
41
|
filters: /* @__PURE__ */ jsx(Fragment, { children: filters }),
|
|
42
42
|
pagination: config.pagination
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.esm.js","sources":["../../src/alpha/pages.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport {\n coreExtensionData,\n createExtensionInput,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n AsyncEntityProvider,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n defaultEntityContentGroupDefinitions,\n EntityContentBlueprint,\n EntityContextMenuItemBlueprint,\n EntityHeaderBlueprint,\n EntityContentGroupDefinitions,\n} from '@backstage/plugin-catalog-react/alpha';\nimport CategoryIcon from '@material-ui/icons/Category';\nimport { rootRouteRef } from '../routes';\nimport { useEntityFromUrl } from '../components/CatalogEntityPage/useEntityFromUrl';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogPage = PageBlueprint.makeWithOverrides({\n inputs: {\n filters: createExtensionInput([coreExtensionData.reactElement]),\n },\n config: {\n schema: {\n pagination: z =>\n z\n .union([\n z.boolean(),\n z.object({\n mode: z.enum(['cursor', 'offset']),\n limit: z.number().optional(),\n offset: z.number().optional(),\n }),\n ])\n .default(true),\n },\n },\n factory(originalFactory, { inputs, config }) {\n return originalFactory({\n path: '/catalog',\n routeRef: rootRouteRef,\n icon: <CategoryIcon />,\n title: 'Catalog',\n loader: async () => {\n const { BaseCatalogPage } = await import('../components/CatalogPage');\n const filters = inputs.filters.map(filter =>\n filter.get(coreExtensionData.reactElement),\n );\n return (\n <BaseCatalogPage\n filters={<>{filters}</>}\n pagination={config.pagination}\n />\n );\n },\n });\n },\n});\n\nexport const catalogEntityPage = PageBlueprint.makeWithOverrides({\n name: 'entity',\n inputs: {\n headers: createExtensionInput([\n EntityHeaderBlueprint.dataRefs.element.optional(),\n EntityHeaderBlueprint.dataRefs.filterFunction.optional(),\n ]),\n contents: createExtensionInput([\n coreExtensionData.reactElement,\n coreExtensionData.routePath,\n coreExtensionData.routeRef.optional(),\n EntityContentBlueprint.dataRefs.title,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityContentBlueprint.dataRefs.group.optional(),\n EntityContentBlueprint.dataRefs.icon.optional(),\n ]),\n contextMenuItems: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContextMenuItemBlueprint.dataRefs.filterFunction.optional(),\n ]),\n },\n config: {\n schema: {\n groups: z =>\n z\n .array(\n z.record(\n z.string(),\n z.object({\n title: z.string(),\n icon: z.string().optional(),\n aliases: z.array(z.string()).optional(),\n contentOrder: z.enum(['title', 'natural']).optional(),\n }),\n ),\n )\n .optional(),\n defaultContentOrder: z =>\n z.enum(['title', 'natural']).optional().default('title'),\n showNavItemIcons: z => z.boolean().optional().default(false),\n },\n },\n factory(originalFactory, { config, inputs }) {\n return originalFactory({\n path: '/catalog/:namespace/:kind/:name',\n title: 'Catalog Entity',\n // NOTE: The `convertLegacyRouteRef` call here ensures that this route ref\n // is mutated to support the new frontend system. Removing this conversion\n // is a potentially breaking change since this is a singleton and the\n // route refs from `core-plugin-api` used to not support the new format.\n // This shouldn't be removed until we completely deprecate the\n // `core-compat-api` package.\n routeRef: convertLegacyRouteRef(entityRouteRef), // READ THE ABOVE\n loader: async () => {\n const { EntityLayout } = await import('./components/EntityLayout');\n\n const menuItems = inputs.contextMenuItems.map(item => ({\n element: item.get(coreExtensionData.reactElement),\n filter:\n item.get(EntityContextMenuItemBlueprint.dataRefs.filterFunction) ??\n (() => true),\n }));\n\n // Get available headers, sorted by if they have a filter function or not.\n // TODO(blam): we should really have priority or some specificity here which can be used to sort the headers.\n // That can be done with embedding the priority in the dataRef alongside the filter function.\n const headers = inputs.headers\n .map(header => ({\n element: header.get(EntityHeaderBlueprint.dataRefs.element),\n filter: header.get(EntityHeaderBlueprint.dataRefs.filterFunction),\n }))\n .sort((a, b) => {\n if (a.filter && !b.filter) return -1;\n if (!a.filter && b.filter) return 1;\n return 0;\n });\n\n const groupDefinitions =\n config.groups?.reduce(\n (rest, group) => ({ ...rest, ...group }),\n {} as EntityContentGroupDefinitions,\n ) ?? defaultEntityContentGroupDefinitions;\n\n const Component = () => {\n const entityFromUrl = useEntityFromUrl();\n const { entity } = entityFromUrl;\n const filteredMenuItems = entity\n ? menuItems.filter(i => i.filter(entity)).map(i => i.element)\n : [];\n\n const header = headers.find(\n h => !h.filter || h.filter(entity!),\n )?.element;\n\n return (\n <AsyncEntityProvider {...entityFromUrl}>\n <EntityLayout\n header={header}\n contextMenuItems={filteredMenuItems}\n groupDefinitions={groupDefinitions}\n defaultContentOrder={config.defaultContentOrder}\n showNavItemIcons={config.showNavItemIcons}\n >\n {inputs.contents.map(output => (\n <EntityLayout.Route\n group={output.get(EntityContentBlueprint.dataRefs.group)}\n key={output.get(coreExtensionData.routePath)}\n path={output.get(coreExtensionData.routePath)}\n title={output.get(EntityContentBlueprint.dataRefs.title)}\n icon={output.get(EntityContentBlueprint.dataRefs.icon)}\n if={buildFilterFn(\n output.get(\n EntityContentBlueprint.dataRefs.filterFunction,\n ),\n output.get(\n EntityContentBlueprint.dataRefs.filterExpression,\n ),\n )}\n >\n {output.get(coreExtensionData.reactElement)}\n </EntityLayout.Route>\n ))}\n </EntityLayout>\n </AsyncEntityProvider>\n );\n };\n\n return <Component />;\n },\n });\n },\n});\n\nexport default [catalogPage, catalogEntityPage];\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pages.esm.js","sources":["../../src/alpha/pages.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 { convertLegacyRouteRef } from '@backstage/core-compat-api';\nimport {\n coreExtensionData,\n createExtensionInput,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport {\n AsyncEntityProvider,\n entityRouteRef,\n} from '@backstage/plugin-catalog-react';\nimport {\n defaultEntityContentGroupDefinitions,\n EntityContentBlueprint,\n EntityContextMenuItemBlueprint,\n EntityHeaderBlueprint,\n EntityContentGroupDefinitions,\n} from '@backstage/plugin-catalog-react/alpha';\nimport CategoryIcon from '@material-ui/icons/Category';\nimport { rootRouteRef } from '../routes';\nimport { useEntityFromUrl } from '../components/CatalogEntityPage/useEntityFromUrl';\nimport { buildFilterFn } from './filter/FilterWrapper';\n\nexport const catalogPage = PageBlueprint.makeWithOverrides({\n inputs: {\n filters: createExtensionInput([coreExtensionData.reactElement]),\n },\n config: {\n schema: {\n pagination: z =>\n z\n .union([\n z.boolean(),\n z.object({\n mode: z.enum(['cursor', 'offset']),\n limit: z.number().optional(),\n offset: z.number().optional(),\n }),\n ])\n .default(true),\n },\n },\n factory(originalFactory, { inputs, config }) {\n return originalFactory({\n path: '/catalog',\n routeRef: rootRouteRef,\n icon: <CategoryIcon fontSize=\"inherit\" />,\n title: 'Catalog',\n loader: async () => {\n const { NfsDefaultCatalogPage } = await import(\n '../components/CatalogPage/DefaultCatalogPage'\n );\n const filters = inputs.filters.map(filter =>\n filter.get(coreExtensionData.reactElement),\n );\n return (\n <NfsDefaultCatalogPage\n filters={<>{filters}</>}\n pagination={config.pagination}\n />\n );\n },\n });\n },\n});\n\nexport const catalogEntityPage = PageBlueprint.makeWithOverrides({\n name: 'entity',\n inputs: {\n headers: createExtensionInput([\n EntityHeaderBlueprint.dataRefs.element.optional(),\n EntityHeaderBlueprint.dataRefs.filterFunction.optional(),\n ]),\n contents: createExtensionInput([\n coreExtensionData.reactElement,\n coreExtensionData.routePath,\n coreExtensionData.routeRef.optional(),\n EntityContentBlueprint.dataRefs.title,\n EntityContentBlueprint.dataRefs.filterFunction.optional(),\n EntityContentBlueprint.dataRefs.filterExpression.optional(),\n EntityContentBlueprint.dataRefs.group.optional(),\n EntityContentBlueprint.dataRefs.icon.optional(),\n ]),\n contextMenuItems: createExtensionInput([\n coreExtensionData.reactElement,\n EntityContextMenuItemBlueprint.dataRefs.filterFunction.optional(),\n ]),\n },\n config: {\n schema: {\n groups: z =>\n z\n .array(\n z.record(\n z.string(),\n z.object({\n title: z.string(),\n icon: z.string().optional(),\n aliases: z.array(z.string()).optional(),\n contentOrder: z.enum(['title', 'natural']).optional(),\n }),\n ),\n )\n .optional(),\n defaultContentOrder: z =>\n z.enum(['title', 'natural']).optional().default('title'),\n showNavItemIcons: z => z.boolean().optional().default(false),\n },\n },\n factory(originalFactory, { config, inputs }) {\n return originalFactory({\n path: '/catalog/:namespace/:kind/:name',\n title: 'Catalog Entity',\n // NOTE: The `convertLegacyRouteRef` call here ensures that this route ref\n // is mutated to support the new frontend system. Removing this conversion\n // is a potentially breaking change since this is a singleton and the\n // route refs from `core-plugin-api` used to not support the new format.\n // This shouldn't be removed until we completely deprecate the\n // `core-compat-api` package.\n routeRef: convertLegacyRouteRef(entityRouteRef), // READ THE ABOVE\n loader: async () => {\n const { EntityLayout } = await import('./components/EntityLayout');\n\n const menuItems = inputs.contextMenuItems.map(item => ({\n element: item.get(coreExtensionData.reactElement),\n filter:\n item.get(EntityContextMenuItemBlueprint.dataRefs.filterFunction) ??\n (() => true),\n }));\n\n // Get available headers, sorted by if they have a filter function or not.\n // TODO(blam): we should really have priority or some specificity here which can be used to sort the headers.\n // That can be done with embedding the priority in the dataRef alongside the filter function.\n const headers = inputs.headers\n .map(header => ({\n element: header.get(EntityHeaderBlueprint.dataRefs.element),\n filter: header.get(EntityHeaderBlueprint.dataRefs.filterFunction),\n }))\n .sort((a, b) => {\n if (a.filter && !b.filter) return -1;\n if (!a.filter && b.filter) return 1;\n return 0;\n });\n\n const groupDefinitions =\n config.groups?.reduce(\n (rest, group) => ({ ...rest, ...group }),\n {} as EntityContentGroupDefinitions,\n ) ?? defaultEntityContentGroupDefinitions;\n\n const Component = () => {\n const entityFromUrl = useEntityFromUrl();\n const { entity } = entityFromUrl;\n const filteredMenuItems = entity\n ? menuItems.filter(i => i.filter(entity)).map(i => i.element)\n : [];\n\n const header = headers.find(\n h => !h.filter || h.filter(entity!),\n )?.element;\n\n return (\n <AsyncEntityProvider {...entityFromUrl}>\n <EntityLayout\n header={header}\n contextMenuItems={filteredMenuItems}\n groupDefinitions={groupDefinitions}\n defaultContentOrder={config.defaultContentOrder}\n showNavItemIcons={config.showNavItemIcons}\n >\n {inputs.contents.map(output => (\n <EntityLayout.Route\n group={output.get(EntityContentBlueprint.dataRefs.group)}\n key={output.get(coreExtensionData.routePath)}\n path={output.get(coreExtensionData.routePath)}\n title={output.get(EntityContentBlueprint.dataRefs.title)}\n icon={output.get(EntityContentBlueprint.dataRefs.icon)}\n if={buildFilterFn(\n output.get(\n EntityContentBlueprint.dataRefs.filterFunction,\n ),\n output.get(\n EntityContentBlueprint.dataRefs.filterExpression,\n ),\n )}\n >\n {output.get(coreExtensionData.reactElement)}\n </EntityLayout.Route>\n ))}\n </EntityLayout>\n </AsyncEntityProvider>\n );\n };\n\n return <Component />;\n },\n });\n },\n});\n\nexport default [catalogPage, catalogEntityPage];\n"],"names":[],"mappings":"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"}
|
package/dist/alpha/plugin.esm.js
CHANGED
|
@@ -16,7 +16,7 @@ import contextMenuItems from './contextMenuItems.esm.js';
|
|
|
16
16
|
var plugin = createFrontendPlugin({
|
|
17
17
|
pluginId: "catalog",
|
|
18
18
|
title: "Catalog",
|
|
19
|
-
icon: /* @__PURE__ */ jsx(CategoryIcon, {}),
|
|
19
|
+
icon: /* @__PURE__ */ jsx(CategoryIcon, { fontSize: "inherit" }),
|
|
20
20
|
info: {
|
|
21
21
|
packageJson: () => import('../package.json.esm.js')
|
|
22
22
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 { createFrontendPlugin } from '@backstage/frontend-plugin-api';\nimport { entityRouteRef } from '@backstage/plugin-catalog-react';\nimport CategoryIcon from '@material-ui/icons/Category';\n\nimport {\n createComponentRouteRef,\n createFromTemplateRouteRef,\n rootRouteRef,\n unregisterRedirectRouteRef,\n viewTechDocRouteRef,\n} from '../routes';\n\nimport apis from './apis';\nimport pages from './pages';\nimport filters from './filters';\nimport navItems from './navItems';\nimport entityCards from './entityCards';\nimport entityContents from './entityContents';\nimport entityIconLinks from './entityIconLinks';\nimport searchResultItems from './searchResultItems';\nimport contextMenuItems from './contextMenuItems';\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'catalog',\n title: 'Catalog',\n icon: <CategoryIcon />,\n info: {\n packageJson: () => import('../../package.json'),\n },\n routes: {\n catalogIndex: rootRouteRef,\n catalogEntity: entityRouteRef,\n },\n externalRoutes: {\n viewTechDoc: viewTechDocRouteRef,\n createComponent: createComponentRouteRef,\n createFromTemplate: createFromTemplateRouteRef,\n unregisterRedirect: unregisterRedirectRouteRef,\n },\n extensions: [\n ...apis,\n ...pages,\n ...filters,\n ...navItems,\n ...entityCards,\n ...entityContents,\n ...entityIconLinks,\n ...contextMenuItems,\n ...searchResultItems,\n ],\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuCA,aAAe,oBAAA,CAAqB;AAAA,EAClC,QAAA,EAAU,SAAA;AAAA,EACV,KAAA,EAAO,SAAA;AAAA,EACP,IAAA,
|
|
1
|
+
{"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.tsx"],"sourcesContent":["/*\n * Copyright 2023 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 { createFrontendPlugin } from '@backstage/frontend-plugin-api';\nimport { entityRouteRef } from '@backstage/plugin-catalog-react';\nimport CategoryIcon from '@material-ui/icons/Category';\n\nimport {\n createComponentRouteRef,\n createFromTemplateRouteRef,\n rootRouteRef,\n unregisterRedirectRouteRef,\n viewTechDocRouteRef,\n} from '../routes';\n\nimport apis from './apis';\nimport pages from './pages';\nimport filters from './filters';\nimport navItems from './navItems';\nimport entityCards from './entityCards';\nimport entityContents from './entityContents';\nimport entityIconLinks from './entityIconLinks';\nimport searchResultItems from './searchResultItems';\nimport contextMenuItems from './contextMenuItems';\n\n/** @alpha */\nexport default createFrontendPlugin({\n pluginId: 'catalog',\n title: 'Catalog',\n icon: <CategoryIcon fontSize=\"inherit\" />,\n info: {\n packageJson: () => import('../../package.json'),\n },\n routes: {\n catalogIndex: rootRouteRef,\n catalogEntity: entityRouteRef,\n },\n externalRoutes: {\n viewTechDoc: viewTechDocRouteRef,\n createComponent: createComponentRouteRef,\n createFromTemplate: createFromTemplateRouteRef,\n unregisterRedirect: unregisterRedirectRouteRef,\n },\n extensions: [\n ...apis,\n ...pages,\n ...filters,\n ...navItems,\n ...entityCards,\n ...entityContents,\n ...entityIconLinks,\n ...contextMenuItems,\n ...searchResultItems,\n ],\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuCA,aAAe,oBAAA,CAAqB;AAAA,EAClC,QAAA,EAAU,SAAA;AAAA,EACV,KAAA,EAAO,SAAA;AAAA,EACP,IAAA,kBAAM,GAAA,CAAC,YAAA,EAAA,EAAa,QAAA,EAAS,SAAA,EAAU,CAAA;AAAA,EACvC,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,MAAM,OAAO,wBAAoB;AAAA,GAChD;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,YAAA,EAAc,YAAA;AAAA,IACd,aAAA,EAAe;AAAA,GACjB;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,WAAA,EAAa,mBAAA;AAAA,IACb,eAAA,EAAiB,uBAAA;AAAA,IACjB,kBAAA,EAAoB,0BAAA;AAAA,IACpB,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,UAAA,EAAY;AAAA,IACV,GAAG,IAAA;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAG,OAAA;AAAA,IACH,GAAG,QAAA;AAAA,IACH,GAAG,WAAA;AAAA,IACH,GAAG,cAAA;AAAA,IACH,GAAG,eAAA;AAAA,IACH,GAAG,gBAAA;AAAA,IACH,GAAG;AAAA;AAEP,CAAC,CAAA;;;;"}
|
|
@@ -74,15 +74,15 @@ const catalogTranslationRef = createTranslationRef({
|
|
|
74
74
|
},
|
|
75
75
|
dependencyOfComponentsCard: {
|
|
76
76
|
title: "Dependency of components",
|
|
77
|
-
emptyMessage: "No component depends on this component"
|
|
77
|
+
emptyMessage: "No component depends on this component."
|
|
78
78
|
},
|
|
79
79
|
dependsOnComponentsCard: {
|
|
80
80
|
title: "Depends on components",
|
|
81
|
-
emptyMessage: "No component is a dependency of this component"
|
|
81
|
+
emptyMessage: "No component is a dependency of this component."
|
|
82
82
|
},
|
|
83
83
|
dependsOnResourcesCard: {
|
|
84
84
|
title: "Depends on resources",
|
|
85
|
-
emptyMessage: "No resource is a dependency of this component"
|
|
85
|
+
emptyMessage: "No resource is a dependency of this component."
|
|
86
86
|
},
|
|
87
87
|
entityContextMenu: {
|
|
88
88
|
copiedMessage: "Copied!",
|
|
@@ -94,6 +94,8 @@ const catalogTranslationRef = createTranslationRef({
|
|
|
94
94
|
},
|
|
95
95
|
entityLabelsCard: {
|
|
96
96
|
title: "Labels",
|
|
97
|
+
columnKeyLabel: "Label",
|
|
98
|
+
columnValueLabel: "Value",
|
|
97
99
|
emptyDescription: "No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:",
|
|
98
100
|
readMoreButtonTitle: "Read more"
|
|
99
101
|
},
|
|
@@ -126,26 +128,26 @@ const catalogTranslationRef = createTranslationRef({
|
|
|
126
128
|
entityRelationWarningDescription: "This entity has relations to other entities, which can't be found in the catalog.\n Entities not found are: ",
|
|
127
129
|
hasComponentsCard: {
|
|
128
130
|
title: "Has components",
|
|
129
|
-
emptyMessage: "No component is part of this system"
|
|
131
|
+
emptyMessage: "No component is part of this system."
|
|
130
132
|
},
|
|
131
133
|
hasResourcesCard: {
|
|
132
134
|
title: "Has resources",
|
|
133
|
-
emptyMessage: "No resource is part of this system"
|
|
135
|
+
emptyMessage: "No resource is part of this system."
|
|
134
136
|
},
|
|
135
137
|
hasSubcomponentsCard: {
|
|
136
138
|
title: "Has subcomponents",
|
|
137
|
-
emptyMessage: "No subcomponent is part of this component"
|
|
139
|
+
emptyMessage: "No subcomponent is part of this component."
|
|
138
140
|
},
|
|
139
141
|
hasSubdomainsCard: {
|
|
140
142
|
title: "Has subdomains",
|
|
141
|
-
emptyMessage: "No subdomain is part of this domain"
|
|
143
|
+
emptyMessage: "No subdomain is part of this domain."
|
|
142
144
|
},
|
|
143
145
|
hasSystemsCard: {
|
|
144
146
|
title: "Has systems",
|
|
145
|
-
emptyMessage: "No system is part of this domain"
|
|
147
|
+
emptyMessage: "No system is part of this domain."
|
|
146
148
|
},
|
|
147
149
|
relatedEntitiesCard: {
|
|
148
|
-
emptyHelpLinkTitle: "Learn how to change this"
|
|
150
|
+
emptyHelpLinkTitle: "Learn how to change this."
|
|
149
151
|
},
|
|
150
152
|
systemDiagramCard: {
|
|
151
153
|
title: "System Diagram",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.esm.js","sources":["../../src/alpha/translation.ts"],"sourcesContent":["/*\n * Copyright 2023 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 { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @
|
|
1
|
+
{"version":3,"file":"translation.esm.js","sources":["../../src/alpha/translation.ts"],"sourcesContent":["/*\n * Copyright 2023 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 { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @public */\nexport const catalogTranslationRef = createTranslationRef({\n id: 'catalog',\n messages: {\n indexPage: {\n title: `{{orgName}} Catalog`,\n createButtonTitle: 'Create',\n supportButtonContent: 'All your software catalog entities',\n },\n entityPage: {\n notFoundMessage: 'There is no {{kind}} with the requested {{link}}.',\n notFoundLinkText: 'kind, namespace, and name',\n },\n aboutCard: {\n title: 'About',\n refreshButtonTitle: 'Schedule entity refresh',\n editButtonTitle: 'Edit Metadata',\n editButtonAriaLabel: 'Edit',\n createSimilarButtonTitle: 'Create something similar',\n refreshScheduledMessage: 'Refresh scheduled',\n refreshButtonAriaLabel: 'Refresh',\n launchTemplate: 'Launch Template',\n viewTechdocs: 'View TechDocs',\n viewSource: 'View Source',\n unknown: 'unknown',\n descriptionField: {\n label: 'Description',\n value: 'No description',\n },\n ownerField: {\n label: 'Owner',\n value: 'No Owner',\n },\n domainField: {\n label: 'Domain',\n value: 'No Domain',\n },\n systemField: {\n label: 'System',\n value: 'No System',\n },\n parentComponentField: {\n label: 'Parent Component',\n value: 'No Parent Component',\n },\n typeField: {\n label: 'Type',\n },\n lifecycleField: {\n label: 'Lifecycle',\n },\n tagsField: {\n label: 'Tags',\n value: 'No Tags',\n },\n targetsField: {\n label: 'Targets',\n },\n },\n searchResultItem: {\n kind: 'Kind',\n type: 'Type',\n lifecycle: 'Lifecycle',\n owner: 'Owner',\n },\n catalogTable: {\n warningPanelTitle: 'Could not fetch catalog entities.',\n viewActionTitle: 'View',\n editActionTitle: 'Edit',\n starActionTitle: 'Add to favorites',\n unStarActionTitle: 'Remove from favorites',\n allFilters: 'All',\n },\n dependencyOfComponentsCard: {\n title: 'Dependency of components',\n emptyMessage: 'No component depends on this component.',\n },\n dependsOnComponentsCard: {\n title: 'Depends on components',\n emptyMessage: 'No component is a dependency of this component.',\n },\n dependsOnResourcesCard: {\n title: 'Depends on resources',\n emptyMessage: 'No resource is a dependency of this component.',\n },\n entityContextMenu: {\n copiedMessage: 'Copied!',\n moreButtonTitle: 'More',\n inspectMenuTitle: 'Inspect entity',\n copyURLMenuTitle: 'Copy entity URL',\n unregisterMenuTitle: 'Unregister entity',\n moreButtonAriaLabel: 'more',\n },\n entityLabelsCard: {\n title: 'Labels',\n columnKeyLabel: 'Label',\n columnValueLabel: 'Value',\n emptyDescription:\n 'No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:',\n readMoreButtonTitle: 'Read more',\n },\n entityLabels: {\n warningPanelTitle: 'Entity not found',\n ownerLabel: 'Owner',\n lifecycleLabel: 'Lifecycle',\n },\n entityLinksCard: {\n title: 'Links',\n emptyDescription:\n 'No links defined for this entity. You can add links to your entity YAML as shown in the highlighted example below:',\n readMoreButtonTitle: 'Read more',\n },\n entityNotFound: {\n title: 'Entity was not found',\n description:\n 'Want to help us build this? Check out our Getting Started documentation.',\n docButtonTitle: 'DOCS',\n },\n entityTabs: {\n tabsAriaLabel: 'Tabs',\n },\n deleteEntity: {\n dialogTitle: 'Are you sure you want to delete this entity?',\n deleteButtonTitle: 'Delete',\n cancelButtonTitle: 'Cancel',\n description:\n 'This entity is not referenced by any location and is therefore not receiving updates.',\n actionButtonTitle: 'Delete entity',\n },\n entityProcessingErrorsDescription: 'The error below originates from',\n entityRelationWarningDescription:\n \"This entity has relations to other entities, which can't be found in the catalog.\\n Entities not found are: \",\n hasComponentsCard: {\n title: 'Has components',\n emptyMessage: 'No component is part of this system.',\n },\n hasResourcesCard: {\n title: 'Has resources',\n emptyMessage: 'No resource is part of this system.',\n },\n hasSubcomponentsCard: {\n title: 'Has subcomponents',\n emptyMessage: 'No subcomponent is part of this component.',\n },\n hasSubdomainsCard: {\n title: 'Has subdomains',\n emptyMessage: 'No subdomain is part of this domain.',\n },\n hasSystemsCard: {\n title: 'Has systems',\n emptyMessage: 'No system is part of this domain.',\n },\n relatedEntitiesCard: {\n emptyHelpLinkTitle: 'Learn how to change this.',\n },\n systemDiagramCard: {\n title: 'System Diagram',\n description: 'Use pinch & zoom to move around the diagram.',\n edgeLabels: {\n partOf: 'part of',\n provides: 'provides',\n dependsOn: 'depends on',\n },\n },\n },\n});\n"],"names":[],"mappings":"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"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
1
2
|
import * as _backstage_plugin_search_react_alpha from '@backstage/plugin-search-react/alpha';
|
|
2
3
|
import * as _backstage_core_components from '@backstage/core-components';
|
|
3
4
|
import * as _backstage_plugin_catalog_react_alpha from '@backstage/plugin-catalog-react/alpha';
|
|
4
5
|
import * as _backstage_catalog_model from '@backstage/catalog-model';
|
|
5
6
|
import * as _backstage_filter_predicates from '@backstage/filter-predicates';
|
|
6
7
|
import * as react from 'react';
|
|
7
|
-
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
8
8
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
9
9
|
|
|
10
10
|
/** @alpha */
|
|
@@ -611,7 +611,6 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
611
611
|
kind: "page";
|
|
612
612
|
name: undefined;
|
|
613
613
|
params: {
|
|
614
|
-
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
615
614
|
path: string;
|
|
616
615
|
title?: string;
|
|
617
616
|
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
@@ -699,7 +698,6 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
699
698
|
kind: "page";
|
|
700
699
|
name: "entity";
|
|
701
700
|
params: {
|
|
702
|
-
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
703
701
|
path: string;
|
|
704
702
|
title?: string;
|
|
705
703
|
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
@@ -727,7 +725,10 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
727
725
|
}>;
|
|
728
726
|
}>;
|
|
729
727
|
|
|
730
|
-
/**
|
|
728
|
+
/**
|
|
729
|
+
* @alpha
|
|
730
|
+
* @deprecated Import from `@backstage/plugin-catalog` instead.
|
|
731
|
+
*/
|
|
731
732
|
declare const catalogTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"catalog", {
|
|
732
733
|
readonly "deleteEntity.description": "This entity is not referenced by any location and is therefore not receiving updates.";
|
|
733
734
|
readonly "deleteEntity.cancelButtonTitle": "Cancel";
|
|
@@ -776,11 +777,11 @@ declare const catalogTranslationRef: _backstage_frontend_plugin_api.TranslationR
|
|
|
776
777
|
readonly "catalogTable.starActionTitle": "Add to favorites";
|
|
777
778
|
readonly "catalogTable.unStarActionTitle": "Remove from favorites";
|
|
778
779
|
readonly "dependencyOfComponentsCard.title": "Dependency of components";
|
|
779
|
-
readonly "dependencyOfComponentsCard.emptyMessage": "No component depends on this component";
|
|
780
|
+
readonly "dependencyOfComponentsCard.emptyMessage": "No component depends on this component.";
|
|
780
781
|
readonly "dependsOnComponentsCard.title": "Depends on components";
|
|
781
|
-
readonly "dependsOnComponentsCard.emptyMessage": "No component is a dependency of this component";
|
|
782
|
+
readonly "dependsOnComponentsCard.emptyMessage": "No component is a dependency of this component.";
|
|
782
783
|
readonly "dependsOnResourcesCard.title": "Depends on resources";
|
|
783
|
-
readonly "dependsOnResourcesCard.emptyMessage": "No resource is a dependency of this component";
|
|
784
|
+
readonly "dependsOnResourcesCard.emptyMessage": "No resource is a dependency of this component.";
|
|
784
785
|
readonly "entityContextMenu.copiedMessage": "Copied!";
|
|
785
786
|
readonly "entityContextMenu.moreButtonTitle": "More";
|
|
786
787
|
readonly "entityContextMenu.inspectMenuTitle": "Inspect entity";
|
|
@@ -789,6 +790,8 @@ declare const catalogTranslationRef: _backstage_frontend_plugin_api.TranslationR
|
|
|
789
790
|
readonly "entityContextMenu.moreButtonAriaLabel": "more";
|
|
790
791
|
readonly "entityLabelsCard.title": "Labels";
|
|
791
792
|
readonly "entityLabelsCard.readMoreButtonTitle": "Read more";
|
|
793
|
+
readonly "entityLabelsCard.columnKeyLabel": "Label";
|
|
794
|
+
readonly "entityLabelsCard.columnValueLabel": "Value";
|
|
792
795
|
readonly "entityLabelsCard.emptyDescription": "No labels defined for this entity. You can add labels to your entity YAML as shown in the highlighted example below:";
|
|
793
796
|
readonly "entityLabels.ownerLabel": "Owner";
|
|
794
797
|
readonly "entityLabels.warningPanelTitle": "Entity not found";
|
|
@@ -803,16 +806,16 @@ declare const catalogTranslationRef: _backstage_frontend_plugin_api.TranslationR
|
|
|
803
806
|
readonly entityProcessingErrorsDescription: "The error below originates from";
|
|
804
807
|
readonly entityRelationWarningDescription: "This entity has relations to other entities, which can't be found in the catalog.\n Entities not found are: ";
|
|
805
808
|
readonly "hasComponentsCard.title": "Has components";
|
|
806
|
-
readonly "hasComponentsCard.emptyMessage": "No component is part of this system";
|
|
809
|
+
readonly "hasComponentsCard.emptyMessage": "No component is part of this system.";
|
|
807
810
|
readonly "hasResourcesCard.title": "Has resources";
|
|
808
|
-
readonly "hasResourcesCard.emptyMessage": "No resource is part of this system";
|
|
811
|
+
readonly "hasResourcesCard.emptyMessage": "No resource is part of this system.";
|
|
809
812
|
readonly "hasSubcomponentsCard.title": "Has subcomponents";
|
|
810
|
-
readonly "hasSubcomponentsCard.emptyMessage": "No subcomponent is part of this component";
|
|
813
|
+
readonly "hasSubcomponentsCard.emptyMessage": "No subcomponent is part of this component.";
|
|
811
814
|
readonly "hasSubdomainsCard.title": "Has subdomains";
|
|
812
|
-
readonly "hasSubdomainsCard.emptyMessage": "No subdomain is part of this domain";
|
|
815
|
+
readonly "hasSubdomainsCard.emptyMessage": "No subdomain is part of this domain.";
|
|
813
816
|
readonly "hasSystemsCard.title": "Has systems";
|
|
814
|
-
readonly "hasSystemsCard.emptyMessage": "No system is part of this domain";
|
|
815
|
-
readonly "relatedEntitiesCard.emptyHelpLinkTitle": "Learn how to change this";
|
|
817
|
+
readonly "hasSystemsCard.emptyMessage": "No system is part of this domain.";
|
|
818
|
+
readonly "relatedEntitiesCard.emptyHelpLinkTitle": "Learn how to change this.";
|
|
816
819
|
readonly "systemDiagramCard.title": "System Diagram";
|
|
817
820
|
readonly "systemDiagramCard.description": "Use pinch & zoom to move around the diagram.";
|
|
818
821
|
readonly "systemDiagramCard.edgeLabels.dependsOn": "depends on";
|
package/dist/alpha.esm.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export { default } from './alpha/plugin.esm.js';
|
|
2
|
-
|
|
2
|
+
import { catalogTranslationRef as catalogTranslationRef$1 } from './alpha/translation.esm.js';
|
|
3
|
+
|
|
4
|
+
const catalogTranslationRef = catalogTranslationRef$1;
|
|
5
|
+
|
|
6
|
+
export { catalogTranslationRef };
|
|
3
7
|
//# sourceMappingURL=alpha.esm.js.map
|
package/dist/alpha.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"alpha.esm.js","sources":["../src/alpha/index.ts"],"sourcesContent":["/*\n * Copyright 2023 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\nexport { default } from './plugin';\n\nimport { catalogTranslationRef as _catalogTranslationRef } from './translation';\n\n/**\n * @alpha\n * @deprecated Import from `@backstage/plugin-catalog` instead.\n */\nexport const catalogTranslationRef = _catalogTranslationRef;\n"],"names":["_catalogTranslationRef"],"mappings":";;;AAwBO,MAAM,qBAAA,GAAwBA;;;;"}
|