@backstage/plugin-techdocs 1.12.4-next.0 → 1.12.4-next.2

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 CHANGED
@@ -1,5 +1,52 @@
1
1
  # @backstage/plugin-techdocs
2
2
 
3
+ ## 1.12.4-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/frontend-plugin-api@0.10.0-next.2
9
+ - @backstage/plugin-catalog-react@1.16.0-next.2
10
+ - @backstage/core-compat-api@0.4.0-next.2
11
+ - @backstage/core-components@0.16.5-next.1
12
+ - @backstage/integration@1.16.2-next.0
13
+ - @backstage/plugin-search-react@1.8.7-next.2
14
+ - @backstage/plugin-techdocs-react@1.2.15-next.2
15
+ - @backstage/catalog-client@1.9.1
16
+ - @backstage/catalog-model@1.7.3
17
+ - @backstage/config@1.3.2
18
+ - @backstage/core-plugin-api@1.10.4
19
+ - @backstage/errors@1.2.7
20
+ - @backstage/integration-react@1.2.5-next.0
21
+ - @backstage/theme@0.6.4
22
+ - @backstage/plugin-auth-react@0.1.13-next.1
23
+ - @backstage/plugin-search-common@1.2.17
24
+ - @backstage/plugin-techdocs-common@0.1.0
25
+
26
+ ## 1.12.4-next.1
27
+
28
+ ### Patch Changes
29
+
30
+ - fffe3c0: Fixed double scrollbar issue that would appear on the Entity TechDocs view page that would stop the page from full scrolling to the top when navigating to a new page
31
+ - Updated dependencies
32
+ - @backstage/core-components@0.16.5-next.0
33
+ - @backstage/plugin-catalog-react@1.16.0-next.1
34
+ - @backstage/core-compat-api@0.3.7-next.1
35
+ - @backstage/catalog-client@1.9.1
36
+ - @backstage/catalog-model@1.7.3
37
+ - @backstage/config@1.3.2
38
+ - @backstage/core-plugin-api@1.10.4
39
+ - @backstage/errors@1.2.7
40
+ - @backstage/frontend-plugin-api@0.9.6-next.1
41
+ - @backstage/integration@1.16.1
42
+ - @backstage/integration-react@1.2.4
43
+ - @backstage/theme@0.6.4
44
+ - @backstage/plugin-auth-react@0.1.13-next.0
45
+ - @backstage/plugin-search-common@1.2.17
46
+ - @backstage/plugin-search-react@1.8.7-next.1
47
+ - @backstage/plugin-techdocs-common@0.1.0
48
+ - @backstage/plugin-techdocs-react@1.2.15-next.1
49
+
3
50
  ## 1.12.4-next.0
4
51
 
5
52
  ### Patch Changes
package/dist/alpha.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import * as _backstage_catalog_model from '@backstage/catalog-model';
2
- import * as _backstage_plugin_techdocs_react from '@backstage/plugin-techdocs-react';
3
1
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
2
+ import * as _backstage_plugin_techdocs_react from '@backstage/plugin-techdocs-react';
3
+ import * as _backstage_catalog_model from '@backstage/catalog-model';
4
+ import * as _backstage_plugin_catalog_react_alpha from '@backstage/plugin-catalog-react/alpha';
4
5
  import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
5
6
  import * as _backstage_plugin_search_react_alpha from '@backstage/plugin-search-react/alpha';
6
7
  import React__default from 'react';
@@ -24,7 +25,7 @@ declare const techDocsSearchResultListItemExtension: _backstage_frontend_plugin_
24
25
  noTrack?: boolean | undefined;
25
26
  };
26
27
  output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{
27
- predicate?: _backstage_plugin_search_react_alpha.SearchResultItemExtensionPredicate | undefined;
28
+ predicate?: _backstage_plugin_search_react_alpha.SearchResultItemExtensionPredicate;
28
29
  component: _backstage_plugin_search_react_alpha.SearchResultItemExtensionComponent;
29
30
  }, "search.search-result-list-item.item", {}>;
30
31
  inputs: {
@@ -47,23 +48,6 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
47
48
  }>;
48
49
  entityContent: _backstage_frontend_plugin_api.RouteRef<undefined>;
49
50
  }, {}, {
50
- "nav-item:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
51
- kind: "nav-item";
52
- name: undefined;
53
- config: {};
54
- configInput: {};
55
- output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{
56
- title: string;
57
- icon: _backstage_core_plugin_api.IconComponent;
58
- routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
59
- }, "core.nav-item.target", {}>;
60
- inputs: {};
61
- params: {
62
- title: string;
63
- icon: _backstage_core_plugin_api.IconComponent;
64
- routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
65
- };
66
- }>;
67
51
  "api:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
68
52
  kind: "api";
69
53
  name: undefined;
@@ -86,89 +70,31 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
86
70
  factory: _backstage_frontend_plugin_api.AnyApiFactory;
87
71
  };
88
72
  }>;
89
- "page:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
90
- kind: "page";
91
- name: undefined;
92
- config: {
93
- path: string | undefined;
94
- };
95
- configInput: {
96
- path?: string | undefined;
97
- };
98
- output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
73
+ "empty-state:techdocs/entity-content": _backstage_frontend_plugin_api.ExtensionDefinition<{
74
+ config: {};
75
+ configInput: {};
76
+ output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {
99
77
  optional: true;
100
78
  }>;
101
- inputs: {};
102
- params: {
103
- defaultPath: string;
104
- loader: () => Promise<JSX.Element>;
105
- routeRef?: _backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams> | undefined;
106
- };
107
- }>;
108
- "search-result-list-item:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
109
- config: {
110
- title: string | undefined;
111
- lineClamp: number;
112
- asLink: boolean;
113
- asListItem: boolean;
114
- } & {
115
- noTrack: boolean;
116
- };
117
- configInput: {
118
- title?: string | undefined;
119
- lineClamp?: number | undefined;
120
- asListItem?: boolean | undefined;
121
- asLink?: boolean | undefined;
122
- } & {
123
- noTrack?: boolean | undefined;
124
- };
125
- output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{
126
- predicate?: _backstage_plugin_search_react_alpha.SearchResultItemExtensionPredicate | undefined;
127
- component: _backstage_plugin_search_react_alpha.SearchResultItemExtensionComponent;
128
- }, "search.search-result-list-item.item", {}>;
129
79
  inputs: {
130
80
  [x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.AnyExtensionDataRef, {
131
81
  optional: boolean;
132
82
  singleton: boolean;
133
83
  }>;
134
84
  };
135
- kind: "search-result-list-item";
136
- name: undefined;
137
- params: _backstage_plugin_search_react_alpha.SearchResultListItemBlueprintParams;
138
- }>;
139
- "page:techdocs/reader": _backstage_frontend_plugin_api.ExtensionDefinition<{
140
- config: {
141
- path: string | undefined;
142
- };
143
- configInput: {
144
- path?: string | undefined;
145
- };
146
- output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
147
- optional: true;
148
- }>;
149
- inputs: {
150
- addons: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_plugin_techdocs_react.TechDocsAddonOptions, "techdocs.addon", {}>, {
151
- singleton: false;
152
- optional: false;
153
- }>;
154
- };
155
- kind: "page";
156
- name: "reader";
157
- params: {
158
- defaultPath: string;
159
- loader: () => Promise<JSX.Element>;
160
- routeRef?: _backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams> | undefined;
161
- };
85
+ params: never;
86
+ kind: "empty-state";
87
+ name: "entity-content";
162
88
  }>;
163
89
  "entity-content:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
164
90
  config: {
165
91
  path: string | undefined;
166
92
  title: string | undefined;
167
- filter: string | undefined;
93
+ filter: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
168
94
  group: string | false | undefined;
169
95
  };
170
96
  configInput: {
171
- filter?: string | undefined;
97
+ filter?: _backstage_plugin_catalog_react_alpha.EntityPredicate | undefined;
172
98
  title?: string | undefined;
173
99
  path?: string | undefined;
174
100
  group?: string | false | undefined;
@@ -200,26 +126,101 @@ declare const _default: _backstage_frontend_plugin_api.FrontendPlugin<{
200
126
  loader: () => Promise<JSX.Element>;
201
127
  defaultPath: string;
202
128
  defaultTitle: string;
203
- defaultGroup?: (string & {}) | "documentation" | "development" | "deployment" | "observability" | undefined;
204
- routeRef?: _backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams> | undefined;
205
- filter?: string | ((entity: _backstage_catalog_model.Entity) => boolean) | undefined;
129
+ defaultGroup?: keyof typeof _backstage_plugin_catalog_react_alpha.defaultEntityContentGroups | (string & {});
130
+ routeRef?: _backstage_frontend_plugin_api.RouteRef;
131
+ filter?: string | _backstage_plugin_catalog_react_alpha.EntityPredicate | ((entity: _backstage_catalog_model.Entity) => boolean);
206
132
  };
207
133
  }>;
208
- "empty-state:techdocs/entity-content": _backstage_frontend_plugin_api.ExtensionDefinition<{
134
+ "nav-item:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
135
+ kind: "nav-item";
136
+ name: undefined;
209
137
  config: {};
210
138
  configInput: {};
211
- output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {
139
+ output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{
140
+ title: string;
141
+ icon: _backstage_core_plugin_api.IconComponent;
142
+ routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
143
+ }, "core.nav-item.target", {}>;
144
+ inputs: {};
145
+ params: {
146
+ title: string;
147
+ icon: _backstage_core_plugin_api.IconComponent;
148
+ routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
149
+ };
150
+ }>;
151
+ "page:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
152
+ kind: "page";
153
+ name: undefined;
154
+ config: {
155
+ path: string | undefined;
156
+ };
157
+ configInput: {
158
+ path?: string | undefined;
159
+ };
160
+ output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
161
+ optional: true;
162
+ }>;
163
+ inputs: {};
164
+ params: {
165
+ defaultPath: string;
166
+ loader: () => Promise<JSX.Element>;
167
+ routeRef?: _backstage_frontend_plugin_api.RouteRef;
168
+ };
169
+ }>;
170
+ "page:techdocs/reader": _backstage_frontend_plugin_api.ExtensionDefinition<{
171
+ config: {
172
+ path: string | undefined;
173
+ };
174
+ configInput: {
175
+ path?: string | undefined;
176
+ };
177
+ output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
212
178
  optional: true;
213
179
  }>;
180
+ inputs: {
181
+ addons: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_plugin_techdocs_react.TechDocsAddonOptions, "techdocs.addon", {}>, {
182
+ singleton: false;
183
+ optional: false;
184
+ }>;
185
+ };
186
+ kind: "page";
187
+ name: "reader";
188
+ params: {
189
+ defaultPath: string;
190
+ loader: () => Promise<JSX.Element>;
191
+ routeRef?: _backstage_frontend_plugin_api.RouteRef;
192
+ };
193
+ }>;
194
+ "search-result-list-item:techdocs": _backstage_frontend_plugin_api.ExtensionDefinition<{
195
+ config: {
196
+ title: string | undefined;
197
+ lineClamp: number;
198
+ asLink: boolean;
199
+ asListItem: boolean;
200
+ } & {
201
+ noTrack: boolean;
202
+ };
203
+ configInput: {
204
+ title?: string | undefined;
205
+ lineClamp?: number | undefined;
206
+ asListItem?: boolean | undefined;
207
+ asLink?: boolean | undefined;
208
+ } & {
209
+ noTrack?: boolean | undefined;
210
+ };
211
+ output: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<{
212
+ predicate?: _backstage_plugin_search_react_alpha.SearchResultItemExtensionPredicate;
213
+ component: _backstage_plugin_search_react_alpha.SearchResultItemExtensionComponent;
214
+ }, "search.search-result-list-item.item", {}>;
214
215
  inputs: {
215
216
  [x: string]: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.AnyExtensionDataRef, {
216
217
  optional: boolean;
217
218
  singleton: boolean;
218
219
  }>;
219
220
  };
220
- params: never;
221
- kind: "empty-state";
222
- name: "entity-content";
221
+ kind: "search-result-list-item";
222
+ name: undefined;
223
+ params: _backstage_plugin_search_react_alpha.SearchResultListItemBlueprintParams;
223
224
  }>;
224
225
  }>;
225
226
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TechDocsMetadata, TechDocsEntityMetadata, TechDocsApi as TechDocsApi$1, TechDocsStorageApi as TechDocsStorageApi$1, SyncResult as SyncResult$1 } from '@backstage/plugin-techdocs-react';
3
2
  import { CompoundEntityRef, Entity } from '@backstage/catalog-model';
4
3
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
@@ -408,8 +407,8 @@ declare const EntityListDocsTable: {
408
407
  (props: EntityListDocsTableProps): React__default.JSX.Element;
409
408
  columns: {
410
409
  createTitleColumn(options?: {
411
- hidden?: boolean | undefined;
412
- } | undefined): TableColumn<DocsTableRow>;
410
+ hidden?: boolean;
411
+ }): TableColumn<DocsTableRow>;
413
412
  createNameColumn(): TableColumn<DocsTableRow>;
414
413
  createOwnerColumn(): TableColumn<DocsTableRow>;
415
414
  createKindColumn(): TableColumn<DocsTableRow>;
@@ -454,8 +453,8 @@ declare const DocsTable: {
454
453
  (props: DocsTableProps): React__default.JSX.Element | null;
455
454
  columns: {
456
455
  createTitleColumn(options?: {
457
- hidden?: boolean | undefined;
458
- } | undefined): TableColumn<DocsTableRow>;
456
+ hidden?: boolean;
457
+ }): TableColumn<DocsTableRow>;
459
458
  createNameColumn(): TableColumn<DocsTableRow>;
460
459
  createOwnerColumn(): TableColumn<DocsTableRow>;
461
460
  createKindColumn(): TableColumn<DocsTableRow>;
@@ -642,7 +641,7 @@ declare const TechdocsPage: () => React.JSX.Element;
642
641
  * @public
643
642
  */
644
643
  declare const EntityTechdocsContent: ({ children, withSearch, }: React.PropsWithChildren<{
645
- withSearch?: boolean | undefined;
644
+ withSearch?: boolean;
646
645
  }>) => React.JSX.Element;
647
646
  /**
648
647
  * Component which takes a custom tabs config object and renders a documentation landing page.
@@ -686,8 +685,8 @@ declare const Router: () => React__default.JSX.Element;
686
685
  *
687
686
  * @public
688
687
  */
689
- declare const LegacyEmbeddedDocsRouter: ({ children, withSearch, }: React__default.PropsWithChildren<{
690
- withSearch?: boolean | undefined;
688
+ declare const LegacyEmbeddedDocsRouter: ({ children, withSearch, }: PropsWithChildren<{
689
+ withSearch?: boolean;
691
690
  }>) => React__default.JSX.Element;
692
691
 
693
692
  /** @public */
@@ -8,12 +8,16 @@ import { TechDocsReaderPageSubheader } from '../TechDocsReaderPageSubheader/Tech
8
8
  import { rootDocsRouteRef } from '../../../routes.esm.js';
9
9
  import { useRouteRefParams, getComponentData } from '@backstage/core-plugin-api';
10
10
  import { CookieAuthRefreshProvider } from '@backstage/plugin-auth-react';
11
- import { useTheme, createTheme, ThemeProvider } from '@material-ui/core/styles';
11
+ import { styled, useTheme, createTheme, ThemeProvider } from '@material-ui/core/styles';
12
12
 
13
13
  const TechDocsReaderLayout = (props) => {
14
14
  const { withSearch, withHeader = true } = props;
15
15
  return /* @__PURE__ */ React.createElement(Page, { themeId: "documentation" }, withHeader && /* @__PURE__ */ React.createElement(TechDocsReaderPageHeader, null), /* @__PURE__ */ React.createElement(TechDocsReaderPageSubheader, null), /* @__PURE__ */ React.createElement(TechDocsReaderPageContent, { withSearch }));
16
16
  };
17
+ const StyledPage = styled(Page)({
18
+ height: "inherit",
19
+ overflowY: "visible"
20
+ });
17
21
  const TechDocsReaderPage = (props) => {
18
22
  const currentTheme = useTheme();
19
23
  const readerPageTheme = createTheme({
@@ -33,12 +37,19 @@ const TechDocsReaderPage = (props) => {
33
37
  );
34
38
  return /* @__PURE__ */ React.createElement(ThemeProvider, { theme: readerPageTheme }, /* @__PURE__ */ React.createElement(CookieAuthRefreshProvider, { pluginId: "techdocs" }, /* @__PURE__ */ React.createElement(TechDocsReaderPageProvider, { entityRef }, page || /* @__PURE__ */ React.createElement(TechDocsReaderLayout, null))));
35
39
  }
36
- return /* @__PURE__ */ React.createElement(ThemeProvider, { theme: readerPageTheme }, /* @__PURE__ */ React.createElement(CookieAuthRefreshProvider, { pluginId: "techdocs" }, /* @__PURE__ */ React.createElement(TechDocsReaderPageProvider, { entityRef }, ({ metadata, entityMetadata, onReady }) => /* @__PURE__ */ React.createElement("div", { className: "techdocs-reader-page" }, /* @__PURE__ */ React.createElement(Page, { themeId: "documentation" }, children instanceof Function ? children({
37
- entityRef,
38
- techdocsMetadataValue: metadata.value,
39
- entityMetadataValue: entityMetadata.value,
40
- onReady
41
- }) : children)))));
40
+ return /* @__PURE__ */ React.createElement(ThemeProvider, { theme: readerPageTheme }, /* @__PURE__ */ React.createElement(CookieAuthRefreshProvider, { pluginId: "techdocs" }, /* @__PURE__ */ React.createElement(TechDocsReaderPageProvider, { entityRef }, ({ metadata, entityMetadata, onReady }) => /* @__PURE__ */ React.createElement(
41
+ StyledPage,
42
+ {
43
+ themeId: "documentation",
44
+ className: "techdocs-reader-page"
45
+ },
46
+ children instanceof Function ? children({
47
+ entityRef,
48
+ techdocsMetadataValue: metadata.value,
49
+ entityMetadataValue: entityMetadata.value,
50
+ onReady
51
+ }) : children
52
+ ))));
42
53
  };
43
54
 
44
55
  export { TechDocsReaderLayout, TechDocsReaderPage };
@@ -1 +1 @@
1
- {"version":3,"file":"TechDocsReaderPage.esm.js","sources":["../../../../src/reader/components/TechDocsReaderPage/TechDocsReaderPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ReactNode, Children, ReactElement } from 'react';\nimport { useOutlet } from 'react-router-dom';\n\nimport { Page } from '@backstage/core-components';\nimport { CompoundEntityRef } from '@backstage/catalog-model';\nimport {\n TECHDOCS_ADDONS_WRAPPER_KEY,\n TECHDOCS_ADDONS_KEY,\n TechDocsReaderPageProvider,\n} from '@backstage/plugin-techdocs-react';\n\nimport { TechDocsReaderPageRenderFunction } from '../../../types';\n\nimport { TechDocsReaderPageContent } from '../TechDocsReaderPageContent';\nimport { TechDocsReaderPageHeader } from '../TechDocsReaderPageHeader';\nimport { TechDocsReaderPageSubheader } from '../TechDocsReaderPageSubheader';\nimport { rootDocsRouteRef } from '../../../routes';\nimport {\n getComponentData,\n useRouteRefParams,\n} from '@backstage/core-plugin-api';\n\nimport { CookieAuthRefreshProvider } from '@backstage/plugin-auth-react';\nimport { ThemeOptions } from '@material-ui/core/styles';\nimport { createTheme, ThemeProvider, useTheme } from '@material-ui/core/styles';\n\n/* An explanation for the multiple ways of customizing the TechDocs reader page\n\nPlease refer to this page on the microsite for the latest recommended approach:\nhttps://backstage.io/docs/features/techdocs/how-to-guides#how-to-customize-the-techdocs-reader-page\n\nThe <TechDocsReaderPage> component is responsible for rendering the <TechDocsReaderPageProvider> and\nits contained version of a <Page>, which in turn renders the <TechDocsReaderPageContent>.\n\nHistorically, there have been different approaches on how this <Page> can be customized, and how the\n<TechDocsReaderPageContent> inside could be exchanged for a custom implementation (which was not\npossible before). Also, the current implementation supports every scenario to avoid breaking default\nconfigurations of TechDocs.\n\nIn particular, there are 4 different TechDocs page configurations:\n\nCONFIGURATION 1: <TechDocsReaderPage> only, no children\n\n<Route path=\"/docs/:namespace/:kind/:name/*\" element={<TechDocsReaderPage />} >\n\nThis is the simplest way to use TechDocs. Only a full page is passed, assuming that it comes with\nits content inside. Since we allowed customizing it, we started providing <TechDocsReaderLayout> as\na default implementation (which contains <TechDocsReaderPageContent>).\n\nCONFIGURATION 2 (not advised): <TechDocsReaderPage> with element children\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={\n <TechDocsReaderPage>\n {techdocsPage}\n </TechDocsReaderPage>\n }\n/>\n\nPreviously, there were two ways of passing children to <TechDocsReaderPage>: either as elements (as\nshown above), or as a render function (described below in CONFIGURATION 3). The \"techdocsPage\" is\nlocated in packages/app/src/components/techdocs and is the default implementation of the content\ninside.\n\nCONFIGURATION 3 (not advised): <TechDocsReaderPage> with render function as child\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={\n <TechDocsReaderPage>\n {({ metadata, entityMetadata, onReady }) => (\n techdocsPage\n )}\n </TechDocsReaderPage>\n }\n/>\n\nSimilar to CONFIGURATION 2, the direct children will be passed to the <TechDocsReaderPage> but in\nthis case interpreted as render prop.\n\nCONFIGURATION 4: <TechDocsReaderPage> and provided content in <Route>\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={<TechDocsReaderPage />}\n>\n {techDocsPage}\n <TechDocsAddons>\n <ExpandableNavigation />\n <ReportIssue />\n <TextSize />\n <LightBox />\n </TechDocsAddons>\n</Route>\n\nThis is the current state in packages/app/src/App.tsx and moved the location of children from inside\nthe element prop in the <Route> to the children of the <Route>. Then, in <TechDocsReaderPage> they\nare retrieved using the useOutlet hook from React Router.\n\nNOTE: Render functions are no longer supported in this approach.\n*/\n\n/**\n * Props for {@link TechDocsReaderLayout}\n * @public\n */\nexport type TechDocsReaderLayoutProps = {\n /**\n * Show or hide the header, defaults to true.\n */\n withHeader?: boolean;\n /**\n * Show or hide the content search bar, defaults to true.\n */\n withSearch?: boolean;\n};\n\n/**\n * Default TechDocs reader page structure composed with a header and content\n * @public\n */\nexport const TechDocsReaderLayout = (props: TechDocsReaderLayoutProps) => {\n const { withSearch, withHeader = true } = props;\n return (\n <Page themeId=\"documentation\">\n {withHeader && <TechDocsReaderPageHeader />}\n <TechDocsReaderPageSubheader />\n <TechDocsReaderPageContent withSearch={withSearch} />\n </Page>\n );\n};\n\n/**\n * @public\n */\nexport type TechDocsReaderPageProps = {\n entityRef?: CompoundEntityRef;\n children?: TechDocsReaderPageRenderFunction | ReactNode;\n overrideThemeOptions?: Partial<ThemeOptions>;\n};\n\n/**\n * An addon-aware implementation of the TechDocsReaderPage.\n *\n * @public\n */\nexport const TechDocsReaderPage = (props: TechDocsReaderPageProps) => {\n const currentTheme = useTheme();\n\n const readerPageTheme = createTheme({\n ...currentTheme,\n ...(props.overrideThemeOptions || {}),\n });\n const { kind, name, namespace } = useRouteRefParams(rootDocsRouteRef);\n const { children, entityRef = { kind, name, namespace } } = props;\n\n const outlet = useOutlet();\n\n if (!children) {\n const childrenList = outlet ? Children.toArray(outlet.props.children) : [];\n\n const grandChildren = childrenList.flatMap<ReactElement>(\n child => (child as ReactElement)?.props?.children ?? [],\n );\n\n const page: React.ReactNode = grandChildren.find(\n grandChild =>\n !getComponentData(grandChild, TECHDOCS_ADDONS_WRAPPER_KEY) &&\n !getComponentData(grandChild, TECHDOCS_ADDONS_KEY),\n );\n\n // As explained above, \"page\" is configuration 4 and <TechDocsReaderLayout> is 1\n return (\n <ThemeProvider theme={readerPageTheme}>\n <CookieAuthRefreshProvider pluginId=\"techdocs\">\n <TechDocsReaderPageProvider entityRef={entityRef}>\n {(page as JSX.Element) || <TechDocsReaderLayout />}\n </TechDocsReaderPageProvider>\n </CookieAuthRefreshProvider>\n </ThemeProvider>\n );\n }\n\n // As explained above, a render function is configuration 3 and React element is 2\n return (\n <ThemeProvider theme={readerPageTheme}>\n <CookieAuthRefreshProvider pluginId=\"techdocs\">\n <TechDocsReaderPageProvider entityRef={entityRef}>\n {({ metadata, entityMetadata, onReady }) => (\n <div className=\"techdocs-reader-page\">\n <Page themeId=\"documentation\">\n {children instanceof Function\n ? children({\n entityRef,\n techdocsMetadataValue: metadata.value,\n entityMetadataValue: entityMetadata.value,\n onReady,\n })\n : children}\n </Page>\n </div>\n )}\n </TechDocsReaderPageProvider>\n </CookieAuthRefreshProvider>\n </ThemeProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AA0Ia,MAAA,oBAAA,GAAuB,CAAC,KAAqC,KAAA;AACxE,EAAA,MAAM,EAAE,UAAA,EAAY,UAAa,GAAA,IAAA,EAAS,GAAA,KAAA;AAC1C,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAQ,EAAA,eAAA,EAAA,EACX,8BAAe,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA,IAAyB,CACzC,kBAAA,KAAA,CAAA,aAAA,CAAC,2BAA4B,EAAA,IAAA,CAAA,kBAC5B,KAAA,CAAA,aAAA,CAAA,yBAAA,EAAA,EAA0B,YAAwB,CACrD,CAAA;AAEJ;AAgBa,MAAA,kBAAA,GAAqB,CAAC,KAAmC,KAAA;AACpE,EAAA,MAAM,eAAe,QAAS,EAAA;AAE9B,EAAA,MAAM,kBAAkB,WAAY,CAAA;AAAA,IAClC,GAAG,YAAA;AAAA,IACH,GAAI,KAAM,CAAA,oBAAA,IAAwB;AAAC,GACpC,CAAA;AACD,EAAA,MAAM,EAAE,IAAM,EAAA,IAAA,EAAM,SAAU,EAAA,GAAI,kBAAkB,gBAAgB,CAAA;AACpE,EAAM,MAAA,EAAE,UAAU,SAAY,GAAA,EAAE,MAAM,IAAM,EAAA,SAAA,IAAgB,GAAA,KAAA;AAE5D,EAAA,MAAM,SAAS,SAAU,EAAA;AAEzB,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAM,MAAA,YAAA,GAAe,SAAS,QAAS,CAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,QAAQ,IAAI,EAAC;AAEzE,IAAA,MAAM,gBAAgB,YAAa,CAAA,OAAA;AAAA,MACjC,CAAU,KAAA,KAAA,KAAA,EAAwB,KAAO,EAAA,QAAA,IAAY;AAAC,KACxD;AAEA,IAAA,MAAM,OAAwB,aAAc,CAAA,IAAA;AAAA,MAC1C,CAAA,UAAA,KACE,CAAC,gBAAiB,CAAA,UAAA,EAAY,2BAA2B,CACzD,IAAA,CAAC,gBAAiB,CAAA,UAAA,EAAY,mBAAmB;AAAA,KACrD;AAGA,IAAA,2CACG,aAAc,EAAA,EAAA,KAAA,EAAO,eACpB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,6BAA0B,QAAS,EAAA,UAAA,EAAA,kBACjC,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA,EAA2B,aACxB,IAAwB,oBAAA,KAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,IAAA,CAClD,CACF,CACF,CAAA;AAAA;AAKJ,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAO,eACpB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,yBAA0B,EAAA,EAAA,QAAA,EAAS,UAClC,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,0BAA2B,EAAA,EAAA,SAAA,EAAA,EACzB,CAAC,EAAE,QAAU,EAAA,cAAA,EAAgB,OAAQ,EAAA,qBACnC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,sBAAA,EAAA,kBACZ,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAQ,EAAA,eAAA,EAAA,EACX,QAAoB,YAAA,QAAA,GACjB,QAAS,CAAA;AAAA,IACP,SAAA;AAAA,IACA,uBAAuB,QAAS,CAAA,KAAA;AAAA,IAChC,qBAAqB,cAAe,CAAA,KAAA;AAAA,IACpC;AAAA,GACD,CACD,GAAA,QACN,CACF,CAEJ,CACF,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TechDocsReaderPage.esm.js","sources":["../../../../src/reader/components/TechDocsReaderPage/TechDocsReaderPage.tsx"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Children, ReactElement, ReactNode } from 'react';\nimport { useOutlet } from 'react-router-dom';\n\nimport { Page } from '@backstage/core-components';\nimport { CompoundEntityRef } from '@backstage/catalog-model';\nimport {\n TECHDOCS_ADDONS_KEY,\n TECHDOCS_ADDONS_WRAPPER_KEY,\n TechDocsReaderPageProvider,\n} from '@backstage/plugin-techdocs-react';\n\nimport { TechDocsReaderPageRenderFunction } from '../../../types';\n\nimport { TechDocsReaderPageContent } from '../TechDocsReaderPageContent';\nimport { TechDocsReaderPageHeader } from '../TechDocsReaderPageHeader';\nimport { TechDocsReaderPageSubheader } from '../TechDocsReaderPageSubheader';\nimport { rootDocsRouteRef } from '../../../routes';\nimport {\n getComponentData,\n useRouteRefParams,\n} from '@backstage/core-plugin-api';\n\nimport { CookieAuthRefreshProvider } from '@backstage/plugin-auth-react';\nimport {\n createTheme,\n styled,\n ThemeOptions,\n ThemeProvider,\n useTheme,\n} from '@material-ui/core/styles';\n\n/* An explanation for the multiple ways of customizing the TechDocs reader page\n\nPlease refer to this page on the microsite for the latest recommended approach:\nhttps://backstage.io/docs/features/techdocs/how-to-guides#how-to-customize-the-techdocs-reader-page\n\nThe <TechDocsReaderPage> component is responsible for rendering the <TechDocsReaderPageProvider> and\nits contained version of a <Page>, which in turn renders the <TechDocsReaderPageContent>.\n\nHistorically, there have been different approaches on how this <Page> can be customized, and how the\n<TechDocsReaderPageContent> inside could be exchanged for a custom implementation (which was not\npossible before). Also, the current implementation supports every scenario to avoid breaking default\nconfigurations of TechDocs.\n\nIn particular, there are 4 different TechDocs page configurations:\n\nCONFIGURATION 1: <TechDocsReaderPage> only, no children\n\n<Route path=\"/docs/:namespace/:kind/:name/*\" element={<TechDocsReaderPage />} >\n\nThis is the simplest way to use TechDocs. Only a full page is passed, assuming that it comes with\nits content inside. Since we allowed customizing it, we started providing <TechDocsReaderLayout> as\na default implementation (which contains <TechDocsReaderPageContent>).\n\nCONFIGURATION 2 (not advised): <TechDocsReaderPage> with element children\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={\n <TechDocsReaderPage>\n {techdocsPage}\n </TechDocsReaderPage>\n }\n/>\n\nPreviously, there were two ways of passing children to <TechDocsReaderPage>: either as elements (as\nshown above), or as a render function (described below in CONFIGURATION 3). The \"techdocsPage\" is\nlocated in packages/app/src/components/techdocs and is the default implementation of the content\ninside.\n\nCONFIGURATION 3 (not advised): <TechDocsReaderPage> with render function as child\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={\n <TechDocsReaderPage>\n {({ metadata, entityMetadata, onReady }) => (\n techdocsPage\n )}\n </TechDocsReaderPage>\n }\n/>\n\nSimilar to CONFIGURATION 2, the direct children will be passed to the <TechDocsReaderPage> but in\nthis case interpreted as render prop.\n\nCONFIGURATION 4: <TechDocsReaderPage> and provided content in <Route>\n\n<Route\n path=\"/docs/:namespace/:kind/:name/*\"\n element={<TechDocsReaderPage />}\n>\n {techDocsPage}\n <TechDocsAddons>\n <ExpandableNavigation />\n <ReportIssue />\n <TextSize />\n <LightBox />\n </TechDocsAddons>\n</Route>\n\nThis is the current state in packages/app/src/App.tsx and moved the location of children from inside\nthe element prop in the <Route> to the children of the <Route>. Then, in <TechDocsReaderPage> they\nare retrieved using the useOutlet hook from React Router.\n\nNOTE: Render functions are no longer supported in this approach.\n*/\n\n/**\n * Props for {@link TechDocsReaderLayout}\n * @public\n */\nexport type TechDocsReaderLayoutProps = {\n /**\n * Show or hide the header, defaults to true.\n */\n withHeader?: boolean;\n /**\n * Show or hide the content search bar, defaults to true.\n */\n withSearch?: boolean;\n};\n\n/**\n * Default TechDocs reader page structure composed with a header and content\n * @public\n */\nexport const TechDocsReaderLayout = (props: TechDocsReaderLayoutProps) => {\n const { withSearch, withHeader = true } = props;\n return (\n <Page themeId=\"documentation\">\n {withHeader && <TechDocsReaderPageHeader />}\n <TechDocsReaderPageSubheader />\n <TechDocsReaderPageContent withSearch={withSearch} />\n </Page>\n );\n};\n\n/**\n * @public\n */\nexport type TechDocsReaderPageProps = {\n entityRef?: CompoundEntityRef;\n children?: TechDocsReaderPageRenderFunction | ReactNode;\n overrideThemeOptions?: Partial<ThemeOptions>;\n};\n\n/**\n * Styled Backstage Page that fills available vertical space\n */\nconst StyledPage = styled(Page)({\n height: 'inherit',\n overflowY: 'visible',\n});\n\n/**\n * An addon-aware implementation of the TechDocsReaderPage.\n *\n * @public\n */\nexport const TechDocsReaderPage = (props: TechDocsReaderPageProps) => {\n const currentTheme = useTheme();\n\n const readerPageTheme = createTheme({\n ...currentTheme,\n ...(props.overrideThemeOptions || {}),\n });\n const { kind, name, namespace } = useRouteRefParams(rootDocsRouteRef);\n const { children, entityRef = { kind, name, namespace } } = props;\n\n const outlet = useOutlet();\n\n if (!children) {\n const childrenList = outlet ? Children.toArray(outlet.props.children) : [];\n\n const grandChildren = childrenList.flatMap<ReactElement>(\n child => (child as ReactElement)?.props?.children ?? [],\n );\n\n const page: React.ReactNode = grandChildren.find(\n grandChild =>\n !getComponentData(grandChild, TECHDOCS_ADDONS_WRAPPER_KEY) &&\n !getComponentData(grandChild, TECHDOCS_ADDONS_KEY),\n );\n\n // As explained above, \"page\" is configuration 4 and <TechDocsReaderLayout> is 1\n return (\n <ThemeProvider theme={readerPageTheme}>\n <CookieAuthRefreshProvider pluginId=\"techdocs\">\n <TechDocsReaderPageProvider entityRef={entityRef}>\n {(page as JSX.Element) || <TechDocsReaderLayout />}\n </TechDocsReaderPageProvider>\n </CookieAuthRefreshProvider>\n </ThemeProvider>\n );\n }\n // As explained above, a render function is configuration 3 and React element is 2\n return (\n <ThemeProvider theme={readerPageTheme}>\n <CookieAuthRefreshProvider pluginId=\"techdocs\">\n <TechDocsReaderPageProvider entityRef={entityRef}>\n {({ metadata, entityMetadata, onReady }) => (\n <StyledPage\n themeId=\"documentation\"\n className=\"techdocs-reader-page\"\n >\n {children instanceof Function\n ? children({\n entityRef,\n techdocsMetadataValue: metadata.value,\n entityMetadataValue: entityMetadata.value,\n onReady,\n })\n : children}\n </StyledPage>\n )}\n </TechDocsReaderPageProvider>\n </CookieAuthRefreshProvider>\n </ThemeProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AA+Ia,MAAA,oBAAA,GAAuB,CAAC,KAAqC,KAAA;AACxE,EAAA,MAAM,EAAE,UAAA,EAAY,UAAa,GAAA,IAAA,EAAS,GAAA,KAAA;AAC1C,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,OAAQ,EAAA,eAAA,EAAA,EACX,8BAAe,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA,IAAyB,CACzC,kBAAA,KAAA,CAAA,aAAA,CAAC,2BAA4B,EAAA,IAAA,CAAA,kBAC5B,KAAA,CAAA,aAAA,CAAA,yBAAA,EAAA,EAA0B,YAAwB,CACrD,CAAA;AAEJ;AAcA,MAAM,UAAA,GAAa,MAAO,CAAA,IAAI,CAAE,CAAA;AAAA,EAC9B,MAAQ,EAAA,SAAA;AAAA,EACR,SAAW,EAAA;AACb,CAAC,CAAA;AAOY,MAAA,kBAAA,GAAqB,CAAC,KAAmC,KAAA;AACpE,EAAA,MAAM,eAAe,QAAS,EAAA;AAE9B,EAAA,MAAM,kBAAkB,WAAY,CAAA;AAAA,IAClC,GAAG,YAAA;AAAA,IACH,GAAI,KAAM,CAAA,oBAAA,IAAwB;AAAC,GACpC,CAAA;AACD,EAAA,MAAM,EAAE,IAAM,EAAA,IAAA,EAAM,SAAU,EAAA,GAAI,kBAAkB,gBAAgB,CAAA;AACpE,EAAM,MAAA,EAAE,UAAU,SAAY,GAAA,EAAE,MAAM,IAAM,EAAA,SAAA,IAAgB,GAAA,KAAA;AAE5D,EAAA,MAAM,SAAS,SAAU,EAAA;AAEzB,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAM,MAAA,YAAA,GAAe,SAAS,QAAS,CAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,QAAQ,IAAI,EAAC;AAEzE,IAAA,MAAM,gBAAgB,YAAa,CAAA,OAAA;AAAA,MACjC,CAAU,KAAA,KAAA,KAAA,EAAwB,KAAO,EAAA,QAAA,IAAY;AAAC,KACxD;AAEA,IAAA,MAAM,OAAwB,aAAc,CAAA,IAAA;AAAA,MAC1C,CAAA,UAAA,KACE,CAAC,gBAAiB,CAAA,UAAA,EAAY,2BAA2B,CACzD,IAAA,CAAC,gBAAiB,CAAA,UAAA,EAAY,mBAAmB;AAAA,KACrD;AAGA,IAAA,2CACG,aAAc,EAAA,EAAA,KAAA,EAAO,eACpB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,6BAA0B,QAAS,EAAA,UAAA,EAAA,kBACjC,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA,EAA2B,aACxB,IAAwB,oBAAA,KAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,IAAA,CAClD,CACF,CACF,CAAA;AAAA;AAIJ,EAAA,2CACG,aAAc,EAAA,EAAA,KAAA,EAAO,eACpB,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,6BAA0B,QAAS,EAAA,UAAA,EAAA,kBACjC,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA,EAA2B,aACzB,CAAC,EAAE,QAAU,EAAA,cAAA,EAAgB,SAC5B,qBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,OAAQ,EAAA,eAAA;AAAA,MACR,SAAU,EAAA;AAAA,KAAA;AAAA,IAET,QAAA,YAAoB,WACjB,QAAS,CAAA;AAAA,MACP,SAAA;AAAA,MACA,uBAAuB,QAAS,CAAA,KAAA;AAAA,MAChC,qBAAqB,cAAe,CAAA,KAAA;AAAA,MACpC;AAAA,KACD,CACD,GAAA;AAAA,GAGV,CACF,CACF,CAAA;AAEJ;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-techdocs",
3
- "version": "1.12.4-next.0",
3
+ "version": "1.12.4-next.2",
4
4
  "description": "The Backstage plugin that renders technical documentation for your components",
5
5
  "backstage": {
6
6
  "role": "frontend-plugin",
@@ -49,7 +49,7 @@
49
49
  "types": "./dist/index.d.ts",
50
50
  "typesVersions": {
51
51
  "*": {
52
- "index": [
52
+ "*": [
53
53
  "dist/index.d.ts"
54
54
  ],
55
55
  "alpha": [
@@ -74,19 +74,19 @@
74
74
  "@backstage/catalog-client": "1.9.1",
75
75
  "@backstage/catalog-model": "1.7.3",
76
76
  "@backstage/config": "1.3.2",
77
- "@backstage/core-compat-api": "0.3.7-next.0",
78
- "@backstage/core-components": "0.16.4",
77
+ "@backstage/core-compat-api": "0.4.0-next.2",
78
+ "@backstage/core-components": "0.16.5-next.1",
79
79
  "@backstage/core-plugin-api": "1.10.4",
80
80
  "@backstage/errors": "1.2.7",
81
- "@backstage/frontend-plugin-api": "0.9.6-next.0",
82
- "@backstage/integration": "1.16.1",
83
- "@backstage/integration-react": "1.2.4",
84
- "@backstage/plugin-auth-react": "0.1.12",
85
- "@backstage/plugin-catalog-react": "1.16.0-next.0",
81
+ "@backstage/frontend-plugin-api": "0.10.0-next.2",
82
+ "@backstage/integration": "1.16.2-next.0",
83
+ "@backstage/integration-react": "1.2.5-next.0",
84
+ "@backstage/plugin-auth-react": "0.1.13-next.1",
85
+ "@backstage/plugin-catalog-react": "1.16.0-next.2",
86
86
  "@backstage/plugin-search-common": "1.2.17",
87
- "@backstage/plugin-search-react": "1.8.7-next.0",
87
+ "@backstage/plugin-search-react": "1.8.7-next.2",
88
88
  "@backstage/plugin-techdocs-common": "0.1.0",
89
- "@backstage/plugin-techdocs-react": "1.2.15-next.0",
89
+ "@backstage/plugin-techdocs-react": "1.2.15-next.2",
90
90
  "@backstage/theme": "0.6.4",
91
91
  "@material-ui/core": "^4.12.2",
92
92
  "@material-ui/icons": "^4.9.1",
@@ -101,12 +101,12 @@
101
101
  "react-use": "^17.2.4"
102
102
  },
103
103
  "devDependencies": {
104
- "@backstage/cli": "0.30.0",
105
- "@backstage/core-app-api": "1.15.5",
106
- "@backstage/dev-utils": "1.1.8-next.0",
107
- "@backstage/plugin-catalog": "1.28.0-next.0",
108
- "@backstage/plugin-techdocs-module-addons-contrib": "1.1.22-next.0",
109
- "@backstage/test-utils": "1.7.5",
104
+ "@backstage/cli": "0.31.0-next.1",
105
+ "@backstage/core-app-api": "1.16.0-next.0",
106
+ "@backstage/dev-utils": "1.1.8-next.2",
107
+ "@backstage/plugin-catalog": "1.28.0-next.2",
108
+ "@backstage/plugin-techdocs-module-addons-contrib": "1.1.22-next.2",
109
+ "@backstage/test-utils": "1.7.6-next.0",
110
110
  "@testing-library/dom": "^10.0.0",
111
111
  "@testing-library/jest-dom": "^6.0.0",
112
112
  "@testing-library/react": "^16.0.0",