@backstage/plugin-api-docs 0.11.4-next.1 → 0.11.5-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/alpha/package.json +1 -1
  3. package/dist/alpha.esm.js +12 -11
  4. package/dist/alpha.esm.js.map +1 -1
  5. package/dist/{esm/ApiDefinitionCard-B-gBxw4Y.esm.js → components/ApiDefinitionCard/ApiDefinitionCard.esm.js} +4 -4
  6. package/dist/components/ApiDefinitionCard/ApiDefinitionCard.esm.js.map +1 -0
  7. package/dist/components/ApiDefinitionCard/ApiDefinitionWidget.esm.js +42 -0
  8. package/dist/components/ApiDefinitionCard/ApiDefinitionWidget.esm.js.map +1 -0
  9. package/dist/components/ApiDefinitionCard/ApiTypeTitle.esm.js +15 -0
  10. package/dist/components/ApiDefinitionCard/ApiTypeTitle.esm.js.map +1 -0
  11. package/dist/components/ApiDefinitionCard/index.esm.js +4 -0
  12. package/dist/components/ApiDefinitionCard/index.esm.js.map +1 -0
  13. package/dist/components/ApiDefinitionDialog/ApiDefinitionDialog.esm.js +117 -0
  14. package/dist/components/ApiDefinitionDialog/ApiDefinitionDialog.esm.js.map +1 -0
  15. package/dist/components/ApiExplorerPage/ApiExplorerPage.esm.js +11 -0
  16. package/dist/components/ApiExplorerPage/ApiExplorerPage.esm.js.map +1 -0
  17. package/dist/{esm/ApiExplorerPage-DN8sGDDe.esm.js → components/ApiExplorerPage/DefaultApiExplorerPage.esm.js} +4 -10
  18. package/dist/components/ApiExplorerPage/DefaultApiExplorerPage.esm.js.map +1 -0
  19. package/dist/components/ApiExplorerPage/index.esm.js +3 -0
  20. package/dist/components/ApiExplorerPage/index.esm.js.map +1 -0
  21. package/dist/components/ApisCards/ConsumedApisCard.esm.js +40 -0
  22. package/dist/components/ApisCards/ConsumedApisCard.esm.js.map +1 -0
  23. package/dist/components/ApisCards/HasApisCard.esm.js +48 -0
  24. package/dist/components/ApisCards/HasApisCard.esm.js.map +1 -0
  25. package/dist/components/ApisCards/ProvidedApisCard.esm.js +40 -0
  26. package/dist/components/ApisCards/ProvidedApisCard.esm.js.map +1 -0
  27. package/dist/components/ApisCards/index.esm.js +4 -0
  28. package/dist/components/ApisCards/index.esm.js.map +1 -0
  29. package/dist/components/ApisCards/presets.esm.js +58 -0
  30. package/dist/components/ApisCards/presets.esm.js.map +1 -0
  31. package/dist/{esm/AsyncApiDefinition-BS46mwIR.esm.js → components/AsyncApiDefinitionWidget/AsyncApiDefinition.esm.js} +1 -1
  32. package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinition.esm.js.map +1 -0
  33. package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.esm.js +14 -0
  34. package/dist/components/AsyncApiDefinitionWidget/AsyncApiDefinitionWidget.esm.js.map +1 -0
  35. package/dist/{esm/ProvidingComponentsCard-DleuYPKR.esm.js → components/ComponentsCards/ConsumingComponentsCard.esm.js} +3 -34
  36. package/dist/components/ComponentsCards/ConsumingComponentsCard.esm.js.map +1 -0
  37. package/dist/components/ComponentsCards/ProvidingComponentsCard.esm.js +39 -0
  38. package/dist/components/ComponentsCards/ProvidingComponentsCard.esm.js.map +1 -0
  39. package/dist/components/ComponentsCards/index.esm.js +3 -0
  40. package/dist/components/ComponentsCards/index.esm.js.map +1 -0
  41. package/dist/{esm/GraphQlDefinition-D3sN0srb.esm.js → components/GraphQlDefinitionWidget/GraphQlDefinition.esm.js} +1 -1
  42. package/dist/components/GraphQlDefinitionWidget/GraphQlDefinition.esm.js.map +1 -0
  43. package/dist/components/GraphQlDefinitionWidget/GraphQlDefinitionWidget.esm.js +14 -0
  44. package/dist/components/GraphQlDefinitionWidget/GraphQlDefinitionWidget.esm.js.map +1 -0
  45. package/dist/components/GrpcApiDefinitionWidget/GrpcApiDefinitionWidget.esm.js +19 -0
  46. package/dist/components/GrpcApiDefinitionWidget/GrpcApiDefinitionWidget.esm.js.map +1 -0
  47. package/dist/{esm/OpenApiDefinition-P9gI3GDo.esm.js → components/OpenApiDefinitionWidget/OpenApiDefinition.esm.js} +1 -1
  48. package/dist/components/OpenApiDefinitionWidget/OpenApiDefinition.esm.js.map +1 -0
  49. package/dist/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.esm.js +24 -0
  50. package/dist/components/OpenApiDefinitionWidget/OpenApiDefinitionWidget.esm.js.map +1 -0
  51. package/dist/components/PlainApiDefinitionWidget/PlainApiDefinitionWidget.esm.js +16 -0
  52. package/dist/components/PlainApiDefinitionWidget/PlainApiDefinitionWidget.esm.js.map +1 -0
  53. package/dist/components/TrpcDefinitionWidget/TrpcApiDefinitionWidget.esm.js +20 -0
  54. package/dist/components/TrpcDefinitionWidget/TrpcApiDefinitionWidget.esm.js.map +1 -0
  55. package/dist/config.esm.js +8 -0
  56. package/dist/config.esm.js.map +1 -0
  57. package/dist/index.esm.js +18 -114
  58. package/dist/index.esm.js.map +1 -1
  59. package/dist/plugin.esm.js +95 -0
  60. package/dist/plugin.esm.js.map +1 -0
  61. package/dist/routes.esm.js +12 -0
  62. package/dist/routes.esm.js.map +1 -0
  63. package/package.json +17 -16
  64. package/dist/esm/ApiDefinitionCard-B-gBxw4Y.esm.js.map +0 -1
  65. package/dist/esm/ApiDefinitionWidget-B2Z_EBYd.esm.js +0 -116
  66. package/dist/esm/ApiDefinitionWidget-B2Z_EBYd.esm.js.map +0 -1
  67. package/dist/esm/ApiExplorerPage-DN8sGDDe.esm.js.map +0 -1
  68. package/dist/esm/ApiTypeTitle-Q7DWBnfV.esm.js +0 -27
  69. package/dist/esm/ApiTypeTitle-Q7DWBnfV.esm.js.map +0 -1
  70. package/dist/esm/AsyncApiDefinition-BS46mwIR.esm.js.map +0 -1
  71. package/dist/esm/GraphQlDefinition-D3sN0srb.esm.js.map +0 -1
  72. package/dist/esm/OpenApiDefinition-P9gI3GDo.esm.js.map +0 -1
  73. package/dist/esm/ProvidedApisCard-DYM2U8N2.esm.js +0 -265
  74. package/dist/esm/ProvidedApisCard-DYM2U8N2.esm.js.map +0 -1
  75. package/dist/esm/ProvidingComponentsCard-DleuYPKR.esm.js.map +0 -1
  76. package/dist/esm/index-BREvzWXp.esm.js +0 -22
  77. package/dist/esm/index-BREvzWXp.esm.js.map +0 -1
  78. package/dist/esm/index-BnvGScty.esm.js +0 -11
  79. package/dist/esm/index-BnvGScty.esm.js.map +0 -1
  80. package/dist/esm/index-CEoQtSjl.esm.js +0 -7
  81. package/dist/esm/index-CEoQtSjl.esm.js.map +0 -1
  82. package/dist/esm/index-DDxb-GVK.esm.js +0 -12
  83. package/dist/esm/index-DDxb-GVK.esm.js.map +0 -1
@@ -1,265 +0,0 @@
1
- import { RELATION_CONSUMES_API, RELATION_HAS_PART, RELATION_PROVIDES_API } from '@backstage/catalog-model';
2
- import Typography from '@material-ui/core/Typography';
3
- import { EntityTable, useEntity, useRelatedEntities } from '@backstage/plugin-catalog-react';
4
- import React, { useEffect, useState } from 'react';
5
- import { InfoCard, Progress, WarningPanel, CodeSnippet, Link } from '@backstage/core-components';
6
- import ExtensionIcon from '@material-ui/icons/Extension';
7
- import ToggleButton from '@material-ui/lab/ToggleButton';
8
- import '@material-ui/lab/Alert';
9
- import { a as apiDocsConfigRef } from './ApiDefinitionWidget-B2Z_EBYd.esm.js';
10
- import { useApi } from '@backstage/core-plugin-api';
11
- import { makeStyles } from '@material-ui/core/styles';
12
- import { P as PlainApiDefinitionWidget, A as ApiTypeTitle } from './ApiTypeTitle-Q7DWBnfV.esm.js';
13
- import Box from '@material-ui/core/Box';
14
- import Button from '@material-ui/core/Button';
15
- import Dialog from '@material-ui/core/Dialog';
16
- import DialogActions from '@material-ui/core/DialogActions';
17
- import DialogContent from '@material-ui/core/DialogContent';
18
- import DialogTitle from '@material-ui/core/DialogTitle';
19
- import Tab from '@material-ui/core/Tab';
20
- import Tabs from '@material-ui/core/Tabs';
21
-
22
- const useStyles = makeStyles((theme) => ({
23
- fullHeightDialog: {
24
- height: "calc(100% - 64px)"
25
- },
26
- root: {
27
- display: "flex",
28
- flexGrow: 1,
29
- width: "100%",
30
- height: "100%"
31
- },
32
- tabs: {
33
- borderRight: `1px solid ${theme.palette.divider}`,
34
- flexShrink: 0
35
- },
36
- tabContents: {
37
- flexGrow: 1,
38
- overflowX: "auto"
39
- },
40
- title: {
41
- color: theme.palette.text.primary,
42
- wordBreak: "break-word",
43
- fontSize: theme.typography.h3.fontSize,
44
- marginBottom: 0
45
- },
46
- type: {
47
- textTransform: "uppercase",
48
- fontSize: 11,
49
- opacity: 0.8,
50
- marginBottom: theme.spacing(1),
51
- color: theme.palette.text.primary
52
- }
53
- }));
54
- function TabPanel(props) {
55
- const { children, value, index, ...other } = props;
56
- const classes = useStyles();
57
- return /* @__PURE__ */ React.createElement(
58
- "div",
59
- {
60
- role: "tabpanel",
61
- hidden: value !== index,
62
- id: `vertical-tabpanel-${index}`,
63
- "aria-labelledby": `vertical-tab-${index}`,
64
- className: classes.tabContents,
65
- ...other
66
- },
67
- value === index && /* @__PURE__ */ React.createElement(Box, { pl: 3, pr: 3 }, children)
68
- );
69
- }
70
- function a11yProps(index) {
71
- return {
72
- id: `vertical-tab-${index}`,
73
- "aria-controls": `vertical-tabpanel-${index}`
74
- };
75
- }
76
- function ApiDefinitionDialog(props) {
77
- var _a, _b, _c;
78
- const { open, entity, onClose } = props;
79
- const [activeTab, setActiveTab] = React.useState(0);
80
- const classes = useStyles();
81
- useEffect(() => {
82
- setActiveTab(0);
83
- }, [open]);
84
- const config = useApi(apiDocsConfigRef);
85
- const definitionWidget = config.getApiDefinitionWidget(entity);
86
- let tabIndex = 0;
87
- let tabPanelIndex = 0;
88
- return /* @__PURE__ */ React.createElement(
89
- Dialog,
90
- {
91
- fullWidth: true,
92
- maxWidth: "xl",
93
- open,
94
- onClose,
95
- "aria-labelledby": "api-definition-dialog-title",
96
- PaperProps: { className: classes.fullHeightDialog }
97
- },
98
- /* @__PURE__ */ React.createElement(DialogTitle, { id: "api-definition-dialog-title", disableTypography: true }, /* @__PURE__ */ React.createElement(Typography, { className: classes.type }, "API - ", (_a = definitionWidget == null ? void 0 : definitionWidget.title) != null ? _a : "Raw"), /* @__PURE__ */ React.createElement(Typography, { className: classes.title, variant: "h1" }, (_b = entity.metadata.title) != null ? _b : entity.metadata.name)),
99
- /* @__PURE__ */ React.createElement(DialogContent, { dividers: true, className: classes.root }, /* @__PURE__ */ React.createElement(
100
- Tabs,
101
- {
102
- orientation: "vertical",
103
- variant: "scrollable",
104
- value: activeTab,
105
- onChange: (_, newValue) => setActiveTab(newValue),
106
- "aria-label": "API definition options",
107
- className: classes.tabs
108
- },
109
- definitionWidget ? /* @__PURE__ */ React.createElement(Tab, { label: definitionWidget.title, ...a11yProps(tabIndex++) }) : null,
110
- /* @__PURE__ */ React.createElement(Tab, { label: "Raw", ...a11yProps(tabIndex++) })
111
- ), definitionWidget ? /* @__PURE__ */ React.createElement(TabPanel, { value: activeTab, index: tabPanelIndex++ }, definitionWidget.component(entity.spec.definition)) : null, /* @__PURE__ */ React.createElement(TabPanel, { value: activeTab, index: tabPanelIndex++ }, /* @__PURE__ */ React.createElement(
112
- PlainApiDefinitionWidget,
113
- {
114
- definition: entity.spec.definition,
115
- language: (_c = definitionWidget == null ? void 0 : definitionWidget.rawLanguage) != null ? _c : entity.spec.type
116
- }
117
- ))),
118
- /* @__PURE__ */ React.createElement(DialogActions, null, /* @__PURE__ */ React.createElement(Button, { onClick: onClose, color: "primary" }, "Close"))
119
- );
120
- }
121
-
122
- function createSpecApiTypeColumn() {
123
- return {
124
- title: "Type",
125
- field: "spec.type",
126
- render: (entity) => /* @__PURE__ */ React.createElement(ApiTypeTitle, { apiEntity: entity })
127
- };
128
- }
129
- const ApiDefinitionButton = ({ apiEntity }) => {
130
- const [dialogOpen, setDialogOpen] = useState(false);
131
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
132
- ToggleButton,
133
- {
134
- "aria-label": "Toggle API Definition Dialog",
135
- onClick: () => setDialogOpen(!dialogOpen)
136
- },
137
- /* @__PURE__ */ React.createElement(ExtensionIcon, null)
138
- ), /* @__PURE__ */ React.createElement(
139
- ApiDefinitionDialog,
140
- {
141
- entity: apiEntity,
142
- open: dialogOpen,
143
- onClose: () => setDialogOpen(false)
144
- }
145
- ));
146
- };
147
- function createApiDefinitionColumn() {
148
- return {
149
- title: "API Definition",
150
- render: (entity) => /* @__PURE__ */ React.createElement(ApiDefinitionButton, { apiEntity: entity })
151
- };
152
- }
153
- const apiEntityColumns = [
154
- EntityTable.columns.createEntityRefColumn({ defaultKind: "API" }),
155
- EntityTable.columns.createSystemColumn(),
156
- EntityTable.columns.createOwnerColumn(),
157
- createSpecApiTypeColumn(),
158
- EntityTable.columns.createSpecLifecycleColumn(),
159
- EntityTable.columns.createMetadataDescriptionColumn(),
160
- createApiDefinitionColumn()
161
- ];
162
-
163
- const ConsumedApisCard = (props) => {
164
- const { variant = "gridItem", columns = apiEntityColumns } = props;
165
- const { entity } = useEntity();
166
- const { entities, loading, error } = useRelatedEntities(entity, {
167
- type: RELATION_CONSUMES_API
168
- });
169
- if (loading) {
170
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumed APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
171
- }
172
- if (error || !entities) {
173
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Consumed APIs" }, /* @__PURE__ */ React.createElement(
174
- WarningPanel,
175
- {
176
- severity: "error",
177
- title: "Could not load APIs",
178
- message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
179
- }
180
- ));
181
- }
182
- return /* @__PURE__ */ React.createElement(
183
- EntityTable,
184
- {
185
- title: "Consumed APIs",
186
- variant,
187
- emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not consume any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional" }, "Learn how to change this."))),
188
- columns,
189
- entities
190
- }
191
- );
192
- };
193
-
194
- const presetColumns = [
195
- EntityTable.columns.createEntityRefColumn({ defaultKind: "API" }),
196
- EntityTable.columns.createOwnerColumn(),
197
- createSpecApiTypeColumn(),
198
- EntityTable.columns.createSpecLifecycleColumn(),
199
- EntityTable.columns.createMetadataDescriptionColumn()
200
- ];
201
- const HasApisCard = (props) => {
202
- const { variant = "gridItem", columns = presetColumns } = props;
203
- const { entity } = useEntity();
204
- const { entities, loading, error } = useRelatedEntities(entity, {
205
- type: RELATION_HAS_PART,
206
- kind: "API"
207
- });
208
- if (loading) {
209
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
210
- }
211
- if (error || !entities) {
212
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "APIs" }, /* @__PURE__ */ React.createElement(
213
- WarningPanel,
214
- {
215
- severity: "error",
216
- title: "Could not load APIs",
217
- message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
218
- }
219
- ));
220
- }
221
- return /* @__PURE__ */ React.createElement(
222
- EntityTable,
223
- {
224
- title: "APIs",
225
- variant,
226
- emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not contain any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api" }, "Learn how to change this."))),
227
- columns,
228
- entities
229
- }
230
- );
231
- };
232
-
233
- const ProvidedApisCard = (props) => {
234
- const { variant = "gridItem", columns = apiEntityColumns } = props;
235
- const { entity } = useEntity();
236
- const { entities, loading, error } = useRelatedEntities(entity, {
237
- type: RELATION_PROVIDES_API
238
- });
239
- if (loading) {
240
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Provided APIs" }, /* @__PURE__ */ React.createElement(Progress, null));
241
- }
242
- if (error || !entities) {
243
- return /* @__PURE__ */ React.createElement(InfoCard, { variant, title: "Provided APIs" }, /* @__PURE__ */ React.createElement(
244
- WarningPanel,
245
- {
246
- severity: "error",
247
- title: "Could not load APIs",
248
- message: /* @__PURE__ */ React.createElement(CodeSnippet, { text: `${error}`, language: "text" })
249
- }
250
- ));
251
- }
252
- return /* @__PURE__ */ React.createElement(
253
- EntityTable,
254
- {
255
- title: "Provided APIs",
256
- variant,
257
- emptyContent: /* @__PURE__ */ React.createElement("div", { style: { textAlign: "center" } }, /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, "This ", entity.kind.toLocaleLowerCase("en-US"), " does not provide any APIs."), /* @__PURE__ */ React.createElement(Typography, { variant: "body2" }, /* @__PURE__ */ React.createElement(Link, { to: "https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional" }, "Learn how to change this."))),
258
- columns,
259
- entities
260
- }
261
- );
262
- };
263
-
264
- export { ApiDefinitionDialog as A, ConsumedApisCard as C, HasApisCard as H, ProvidedApisCard as P };
265
- //# sourceMappingURL=ProvidedApisCard-DYM2U8N2.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProvidedApisCard-DYM2U8N2.esm.js","sources":["../../src/components/ApiDefinitionDialog/ApiDefinitionDialog.tsx","../../src/components/ApisCards/presets.tsx","../../src/components/ApisCards/ConsumedApisCard.tsx","../../src/components/ApisCards/HasApisCard.tsx","../../src/components/ApisCards/ProvidedApisCard.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 { ApiEntity } from '@backstage/catalog-model';\nimport { useApi } from '@backstage/core-plugin-api';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport React, { useEffect } from 'react';\nimport { apiDocsConfigRef } from '../../config';\nimport { PlainApiDefinitionWidget } from '../PlainApiDefinitionWidget';\n\nconst useStyles = makeStyles(theme => ({\n fullHeightDialog: {\n height: 'calc(100% - 64px)',\n },\n root: {\n display: 'flex',\n flexGrow: 1,\n width: '100%',\n height: '100%',\n },\n tabs: {\n borderRight: `1px solid ${theme.palette.divider}`,\n flexShrink: 0,\n },\n tabContents: {\n flexGrow: 1,\n overflowX: 'auto',\n },\n title: {\n color: theme.palette.text.primary,\n wordBreak: 'break-word',\n fontSize: theme.typography.h3.fontSize,\n marginBottom: 0,\n },\n type: {\n textTransform: 'uppercase',\n fontSize: 11,\n opacity: 0.8,\n marginBottom: theme.spacing(1),\n color: theme.palette.text.primary,\n },\n}));\n\nfunction TabPanel(props: {\n children?: React.ReactNode;\n index: number;\n value: number;\n}) {\n const { children, value, index, ...other } = props;\n const classes = useStyles();\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== index}\n id={`vertical-tabpanel-${index}`}\n aria-labelledby={`vertical-tab-${index}`}\n className={classes.tabContents}\n {...other}\n >\n {value === index && (\n <Box pl={3} pr={3}>\n {children}\n </Box>\n )}\n </div>\n );\n}\n\nfunction a11yProps(index: number) {\n return {\n id: `vertical-tab-${index}`,\n 'aria-controls': `vertical-tabpanel-${index}`,\n };\n}\n\n/**\n * A dialog that lets users inspect the API definition.\n *\n * @public\n */\nexport function ApiDefinitionDialog(props: {\n open: boolean;\n entity: ApiEntity;\n onClose: () => void;\n}) {\n const { open, entity, onClose } = props;\n const [activeTab, setActiveTab] = React.useState(0);\n const classes = useStyles();\n\n useEffect(() => {\n setActiveTab(0);\n }, [open]);\n\n const config = useApi(apiDocsConfigRef);\n const definitionWidget = config.getApiDefinitionWidget(entity);\n\n let tabIndex = 0;\n let tabPanelIndex = 0;\n\n return (\n <Dialog\n fullWidth\n maxWidth=\"xl\"\n open={open}\n onClose={onClose}\n aria-labelledby=\"api-definition-dialog-title\"\n PaperProps={{ className: classes.fullHeightDialog }}\n >\n <DialogTitle id=\"api-definition-dialog-title\" disableTypography>\n <Typography className={classes.type}>\n API - {definitionWidget?.title ?? 'Raw'}\n </Typography>\n <Typography className={classes.title} variant=\"h1\">\n {entity.metadata.title ?? entity.metadata.name}\n </Typography>\n </DialogTitle>\n <DialogContent dividers className={classes.root}>\n <Tabs\n orientation=\"vertical\"\n variant=\"scrollable\"\n value={activeTab}\n onChange={(_, newValue) => setActiveTab(newValue)}\n aria-label=\"API definition options\"\n className={classes.tabs}\n >\n {definitionWidget ? (\n <Tab label={definitionWidget.title} {...a11yProps(tabIndex++)} />\n ) : null}\n <Tab label=\"Raw\" {...a11yProps(tabIndex++)} />\n </Tabs>\n\n {definitionWidget ? (\n <TabPanel value={activeTab} index={tabPanelIndex++}>\n {definitionWidget.component(entity.spec.definition)}\n </TabPanel>\n ) : null}\n <TabPanel value={activeTab} index={tabPanelIndex++}>\n <PlainApiDefinitionWidget\n definition={entity.spec.definition}\n language={definitionWidget?.rawLanguage ?? entity.spec.type}\n />\n </TabPanel>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} color=\"primary\">\n Close\n </Button>\n </DialogActions>\n </Dialog>\n );\n}\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity } from '@backstage/catalog-model';\nimport { TableColumn } from '@backstage/core-components';\nimport { EntityTable } from '@backstage/plugin-catalog-react';\nimport ExtensionIcon from '@material-ui/icons/Extension';\nimport ToggleButton from '@material-ui/lab/ToggleButton';\nimport React, { useState } from 'react';\nimport { ApiTypeTitle } from '../ApiDefinitionCard';\nimport { ApiDefinitionDialog } from '../ApiDefinitionDialog';\n\nexport function createSpecApiTypeColumn(): TableColumn<ApiEntity> {\n return {\n title: 'Type',\n field: 'spec.type',\n render: entity => <ApiTypeTitle apiEntity={entity} />,\n };\n}\n\nconst ApiDefinitionButton = ({ apiEntity }: { apiEntity: ApiEntity }) => {\n const [dialogOpen, setDialogOpen] = useState(false);\n return (\n <>\n <ToggleButton\n aria-label=\"Toggle API Definition Dialog\"\n onClick={() => setDialogOpen(!dialogOpen)}\n >\n <ExtensionIcon />\n </ToggleButton>\n <ApiDefinitionDialog\n entity={apiEntity}\n open={dialogOpen}\n onClose={() => setDialogOpen(false)}\n />\n </>\n );\n};\n\nfunction createApiDefinitionColumn(): TableColumn<ApiEntity> {\n return {\n title: 'API Definition',\n render: entity => <ApiDefinitionButton apiEntity={entity} />,\n };\n}\n\nexport const apiEntityColumns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createSystemColumn(),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n createApiDefinitionColumn(),\n];\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_CONSUMES_API } from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n TableColumn,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumedApisCard = (props: {\n variant?: InfoCardVariants;\n columns?: TableColumn<ApiEntity>[];\n}) => {\n const { variant = 'gridItem', columns = apiEntityColumns } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_CONSUMES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumed APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumed APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not consume any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={columns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_HAS_PART } from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { createSpecApiTypeColumn } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n TableColumn,\n WarningPanel,\n} from '@backstage/core-components';\n\nconst presetColumns: TableColumn<ApiEntity>[] = [\n EntityTable.columns.createEntityRefColumn({ defaultKind: 'API' }),\n EntityTable.columns.createOwnerColumn(),\n createSpecApiTypeColumn(),\n EntityTable.columns.createSpecLifecycleColumn(),\n EntityTable.columns.createMetadataDescriptionColumn(),\n];\n\n/**\n * @public\n */\nexport const HasApisCard = (props: {\n variant?: InfoCardVariants;\n columns?: TableColumn<ApiEntity>[];\n}) => {\n const { variant = 'gridItem', columns = presetColumns } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_HAS_PART,\n kind: 'API',\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not contain any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#kind-api\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={columns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ApiEntity, RELATION_PROVIDES_API } from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport { apiEntityColumns } from './presets';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n TableColumn,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ProvidedApisCard = (props: {\n variant?: InfoCardVariants;\n columns?: TableColumn<ApiEntity>[];\n}) => {\n const { variant = 'gridItem', columns = apiEntityColumns } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_PROVIDES_API,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Provided APIs\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load APIs\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Provided APIs\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n This {entity.kind.toLocaleLowerCase('en-US')} does not provide any\n APIs.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={columns}\n entities={entities as ApiEntity[]}\n />\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProvidingComponentsCard-DleuYPKR.esm.js","sources":["../../src/components/ComponentsCards/ConsumingComponentsCard.tsx","../../src/components/ComponentsCards/ProvidingComponentsCard.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 {\n ComponentEntity,\n RELATION_API_CONSUMED_BY,\n} from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/**\n * @public\n */\nexport const ConsumingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_CONSUMED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Consumers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Consumers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component consumes this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specconsumesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n","/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n ComponentEntity,\n RELATION_API_PROVIDED_BY,\n} from '@backstage/catalog-model';\nimport Typography from '@material-ui/core/Typography';\nimport {\n EntityTable,\n useEntity,\n useRelatedEntities,\n} from '@backstage/plugin-catalog-react';\nimport React from 'react';\nimport {\n CodeSnippet,\n InfoCard,\n InfoCardVariants,\n Link,\n Progress,\n WarningPanel,\n} from '@backstage/core-components';\n\n/** @public */\nexport const ProvidingComponentsCard = (props: {\n variant?: InfoCardVariants;\n}) => {\n const { variant = 'gridItem' } = props;\n const { entity } = useEntity();\n const { entities, loading, error } = useRelatedEntities(entity, {\n type: RELATION_API_PROVIDED_BY,\n });\n\n if (loading) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <Progress />\n </InfoCard>\n );\n }\n\n if (error || !entities) {\n return (\n <InfoCard variant={variant} title=\"Providers\">\n <WarningPanel\n severity=\"error\"\n title=\"Could not load components\"\n message={<CodeSnippet text={`${error}`} language=\"text\" />}\n />\n </InfoCard>\n );\n }\n\n return (\n <EntityTable\n title=\"Providers\"\n variant={variant}\n emptyContent={\n <div style={{ textAlign: 'center' }}>\n <Typography variant=\"body1\">\n No component provides this API.\n </Typography>\n <Typography variant=\"body2\">\n <Link to=\"https://backstage.io/docs/features/software-catalog/descriptor-format#specprovidesapis-optional\">\n Learn how to change this.\n </Link>\n </Typography>\n </div>\n }\n columns={EntityTable.componentEntityColumns}\n entities={entities as ComponentEntity[]}\n />\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- export { C as ConsumedApisCard, H as HasApisCard, P as ProvidedApisCard } from './ProvidedApisCard-DYM2U8N2.esm.js';
2
- import '@backstage/catalog-model';
3
- import '@material-ui/core/Typography';
4
- import '@backstage/plugin-catalog-react';
5
- import 'react';
6
- import '@backstage/core-components';
7
- import '@material-ui/icons/Extension';
8
- import '@material-ui/lab/ToggleButton';
9
- import '@material-ui/lab/Alert';
10
- import './ApiDefinitionWidget-B2Z_EBYd.esm.js';
11
- import '@backstage/core-plugin-api';
12
- import '@material-ui/core/styles';
13
- import './ApiTypeTitle-Q7DWBnfV.esm.js';
14
- import '@material-ui/core/Box';
15
- import '@material-ui/core/Button';
16
- import '@material-ui/core/Dialog';
17
- import '@material-ui/core/DialogActions';
18
- import '@material-ui/core/DialogContent';
19
- import '@material-ui/core/DialogTitle';
20
- import '@material-ui/core/Tab';
21
- import '@material-ui/core/Tabs';
22
- //# sourceMappingURL=index-BREvzWXp.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BREvzWXp.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +0,0 @@
1
- export { A as ApiDefinitionCard } from './ApiDefinitionCard-B-gBxw4Y.esm.js';
2
- export { d as defaultDefinitionWidgets } from './ApiDefinitionWidget-B2Z_EBYd.esm.js';
3
- export { A as ApiTypeTitle } from './ApiTypeTitle-Q7DWBnfV.esm.js';
4
- import '@backstage/plugin-catalog-react';
5
- import '@material-ui/lab/Alert';
6
- import 'react';
7
- import '@backstage/core-components';
8
- import '@backstage/core-plugin-api';
9
- import '@material-ui/core/styles';
10
- import '@material-ui/core/Typography';
11
- //# sourceMappingURL=index-BnvGScty.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BnvGScty.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,7 +0,0 @@
1
- export { C as ConsumingComponentsCard, P as ProvidingComponentsCard } from './ProvidingComponentsCard-DleuYPKR.esm.js';
2
- import '@backstage/catalog-model';
3
- import '@material-ui/core/Typography';
4
- import '@backstage/plugin-catalog-react';
5
- import 'react';
6
- import '@backstage/core-components';
7
- //# sourceMappingURL=index-CEoQtSjl.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CEoQtSjl.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,12 +0,0 @@
1
- export { A as ApiExplorerIndexPage, D as DefaultApiExplorerPage } from './ApiExplorerPage-DN8sGDDe.esm.js';
2
- import 'react';
3
- import 'react-router-dom';
4
- import '@backstage/core-components';
5
- import '@backstage/core-plugin-api';
6
- import '@backstage/plugin-catalog';
7
- import '@backstage/plugin-catalog-react';
8
- import './ApiDefinitionWidget-B2Z_EBYd.esm.js';
9
- import '@material-ui/core/styles';
10
- import '@backstage/plugin-permission-react';
11
- import '@backstage/plugin-catalog-common/alpha';
12
- //# sourceMappingURL=index-DDxb-GVK.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DDxb-GVK.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}