@backstage/plugin-app 0.0.0-nightly-20240828022712

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 (154) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +9 -0
  3. package/dist/defaultApis.esm.js +334 -0
  4. package/dist/defaultApis.esm.js.map +1 -0
  5. package/dist/extensions/App.esm.js +39 -0
  6. package/dist/extensions/App.esm.js.map +1 -0
  7. package/dist/extensions/AppLanguageApi.esm.js +16 -0
  8. package/dist/extensions/AppLanguageApi.esm.js.map +1 -0
  9. package/dist/extensions/AppLayout.esm.js +26 -0
  10. package/dist/extensions/AppLayout.esm.js.map +1 -0
  11. package/dist/extensions/AppNav.esm.js +66 -0
  12. package/dist/extensions/AppNav.esm.js.map +1 -0
  13. package/dist/extensions/AppRoot.esm.js +153 -0
  14. package/dist/extensions/AppRoot.esm.js.map +1 -0
  15. package/dist/extensions/AppRoutes.esm.js +39 -0
  16. package/dist/extensions/AppRoutes.esm.js.map +1 -0
  17. package/dist/extensions/AppThemeApi.esm.js +56 -0
  18. package/dist/extensions/AppThemeApi.esm.js.map +1 -0
  19. package/dist/extensions/ComponentsApi.esm.js +27 -0
  20. package/dist/extensions/ComponentsApi.esm.js.map +1 -0
  21. package/dist/extensions/FeatureFlagsApi.esm.js +17 -0
  22. package/dist/extensions/FeatureFlagsApi.esm.js.map +1 -0
  23. package/dist/extensions/IconsApi.esm.js +33 -0
  24. package/dist/extensions/IconsApi.esm.js.map +1 -0
  25. package/dist/extensions/TranslationsApi.esm.js +30 -0
  26. package/dist/extensions/TranslationsApi.esm.js.map +1 -0
  27. package/dist/extensions/components.esm.js +52 -0
  28. package/dist/extensions/components.esm.js.map +1 -0
  29. package/dist/extensions/elements.esm.js +32 -0
  30. package/dist/extensions/elements.esm.js.map +1 -0
  31. package/dist/index.d.ts +430 -0
  32. package/dist/index.esm.js +2 -0
  33. package/dist/index.esm.js.map +1 -0
  34. package/dist/packages/app/src/components/Root/LogoFull.esm.js +33 -0
  35. package/dist/packages/app/src/components/Root/LogoFull.esm.js.map +1 -0
  36. package/dist/packages/app/src/components/Root/LogoIcon.esm.js +33 -0
  37. package/dist/packages/app/src/components/Root/LogoIcon.esm.js.map +1 -0
  38. package/dist/packages/app-defaults/src/defaults/apis.esm.js +219 -0
  39. package/dist/packages/app-defaults/src/defaults/apis.esm.js.map +1 -0
  40. package/dist/packages/app-defaults/src/defaults/components.esm.js +46 -0
  41. package/dist/packages/app-defaults/src/defaults/components.esm.js.map +1 -0
  42. package/dist/packages/app-defaults/src/defaults/icons.esm.js +51 -0
  43. package/dist/packages/app-defaults/src/defaults/icons.esm.js.map +1 -0
  44. package/dist/packages/core-app-api/src/apis/implementations/AlertApi/AlertApiForwarder.esm.js +14 -0
  45. package/dist/packages/core-app-api/src/apis/implementations/AlertApi/AlertApiForwarder.esm.js.map +1 -0
  46. package/dist/packages/core-app-api/src/apis/implementations/AnalyticsApi/NoOpAnalyticsApi.esm.js +7 -0
  47. package/dist/packages/core-app-api/src/apis/implementations/AnalyticsApi/NoOpAnalyticsApi.esm.js.map +1 -0
  48. package/dist/packages/core-app-api/src/apis/implementations/AppLanguageApi/AppLanguageSelector.esm.js +89 -0
  49. package/dist/packages/core-app-api/src/apis/implementations/AppLanguageApi/AppLanguageSelector.esm.js.map +1 -0
  50. package/dist/packages/core-app-api/src/apis/implementations/AppThemeApi/AppThemeSelector.esm.js +48 -0
  51. package/dist/packages/core-app-api/src/apis/implementations/AppThemeApi/AppThemeSelector.esm.js.map +1 -0
  52. package/dist/packages/core-app-api/src/apis/implementations/DiscoveryApi/UrlPatternDiscovery.esm.js +39 -0
  53. package/dist/packages/core-app-api/src/apis/implementations/DiscoveryApi/UrlPatternDiscovery.esm.js.map +1 -0
  54. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorAlerter.esm.js +18 -0
  55. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorAlerter.esm.js.map +1 -0
  56. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorApiForwarder.esm.js +14 -0
  57. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/ErrorApiForwarder.esm.js.map +1 -0
  58. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/UnhandledErrorForwarder.esm.js +16 -0
  59. package/dist/packages/core-app-api/src/apis/implementations/ErrorApi/UnhandledErrorForwarder.esm.js.map +1 -0
  60. package/dist/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.esm.js +76 -0
  61. package/dist/packages/core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags.esm.js.map +1 -0
  62. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/FetchMiddlewares.esm.js +45 -0
  63. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/FetchMiddlewares.esm.js.map +1 -0
  64. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.esm.js +49 -0
  65. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/IdentityAuthInjectorFetchMiddleware.esm.js.map +1 -0
  66. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.esm.js +40 -0
  67. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/PluginProtocolResolverFetchMiddleware.esm.js.map +1 -0
  68. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/createFetchApi.esm.js +13 -0
  69. package/dist/packages/core-app-api/src/apis/implementations/FetchApi/createFetchApi.esm.js.map +1 -0
  70. package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthPendingRequests.esm.js +71 -0
  71. package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthPendingRequests.esm.js.map +1 -0
  72. package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthRequestManager.esm.js +54 -0
  73. package/dist/packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthRequestManager.esm.js.map +1 -0
  74. package/dist/packages/core-app-api/src/apis/implementations/StorageApi/WebStorage.esm.js +96 -0
  75. package/dist/packages/core-app-api/src/apis/implementations/StorageApi/WebStorage.esm.js.map +1 -0
  76. package/dist/packages/core-app-api/src/apis/implementations/TranslationApi/I18nextTranslationApi.esm.js +234 -0
  77. package/dist/packages/core-app-api/src/apis/implementations/TranslationApi/I18nextTranslationApi.esm.js.map +1 -0
  78. package/dist/packages/core-app-api/src/apis/implementations/auth/atlassian/AtlassianAuth.esm.js +28 -0
  79. package/dist/packages/core-app-api/src/apis/implementations/auth/atlassian/AtlassianAuth.esm.js.map +1 -0
  80. package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucket/BitbucketAuth.esm.js +30 -0
  81. package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucket/BitbucketAuth.esm.js.map +1 -0
  82. package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucketServer/BitbucketServerAuth.esm.js +30 -0
  83. package/dist/packages/core-app-api/src/apis/implementations/auth/bitbucketServer/BitbucketServerAuth.esm.js.map +1 -0
  84. package/dist/packages/core-app-api/src/apis/implementations/auth/github/GithubAuth.esm.js +30 -0
  85. package/dist/packages/core-app-api/src/apis/implementations/auth/github/GithubAuth.esm.js.map +1 -0
  86. package/dist/packages/core-app-api/src/apis/implementations/auth/gitlab/GitlabAuth.esm.js +30 -0
  87. package/dist/packages/core-app-api/src/apis/implementations/auth/gitlab/GitlabAuth.esm.js.map +1 -0
  88. package/dist/packages/core-app-api/src/apis/implementations/auth/google/GoogleAuth.esm.js +49 -0
  89. package/dist/packages/core-app-api/src/apis/implementations/auth/google/GoogleAuth.esm.js.map +1 -0
  90. package/dist/packages/core-app-api/src/apis/implementations/auth/microsoft/MicrosoftAuth.esm.js +130 -0
  91. package/dist/packages/core-app-api/src/apis/implementations/auth/microsoft/MicrosoftAuth.esm.js.map +1 -0
  92. package/dist/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.esm.js +127 -0
  93. package/dist/packages/core-app-api/src/apis/implementations/auth/oauth2/OAuth2.esm.js.map +1 -0
  94. package/dist/packages/core-app-api/src/apis/implementations/auth/okta/OktaAuth.esm.js +51 -0
  95. package/dist/packages/core-app-api/src/apis/implementations/auth/okta/OktaAuth.esm.js.map +1 -0
  96. package/dist/packages/core-app-api/src/apis/implementations/auth/onelogin/OneLoginAuth.esm.js +50 -0
  97. package/dist/packages/core-app-api/src/apis/implementations/auth/onelogin/OneLoginAuth.esm.js.map +1 -0
  98. package/dist/packages/core-app-api/src/apis/implementations/auth/saml/types.esm.js +18 -0
  99. package/dist/packages/core-app-api/src/apis/implementations/auth/saml/types.esm.js.map +1 -0
  100. package/dist/packages/core-app-api/src/apis/implementations/auth/vmwareCloud/VMwareCloudAuth.esm.js +30 -0
  101. package/dist/packages/core-app-api/src/apis/implementations/auth/vmwareCloud/VMwareCloudAuth.esm.js.map +1 -0
  102. package/dist/packages/core-app-api/src/apis/system/ApiAggregator.esm.js +18 -0
  103. package/dist/packages/core-app-api/src/apis/system/ApiAggregator.esm.js.map +1 -0
  104. package/dist/packages/core-app-api/src/apis/system/ApiProvider.esm.js +25 -0
  105. package/dist/packages/core-app-api/src/apis/system/ApiProvider.esm.js.map +1 -0
  106. package/dist/packages/core-app-api/src/app/AppContext.esm.js +5 -0
  107. package/dist/packages/core-app-api/src/app/AppContext.esm.js.map +1 -0
  108. package/dist/packages/core-app-api/src/app/AppRouter.esm.js +94 -0
  109. package/dist/packages/core-app-api/src/app/AppRouter.esm.js.map +1 -0
  110. package/dist/packages/core-app-api/src/app/AppThemeProvider.esm.js +60 -0
  111. package/dist/packages/core-app-api/src/app/AppThemeProvider.esm.js.map +1 -0
  112. package/dist/packages/core-app-api/src/app/InternalAppContext.esm.js +6 -0
  113. package/dist/packages/core-app-api/src/app/InternalAppContext.esm.js.map +1 -0
  114. package/dist/packages/core-app-api/src/app/isProtectedApp.esm.js +8 -0
  115. package/dist/packages/core-app-api/src/app/isProtectedApp.esm.js.map +1 -0
  116. package/dist/packages/core-app-api/src/app/isReactRouterBeta.esm.js +10 -0
  117. package/dist/packages/core-app-api/src/app/isReactRouterBeta.esm.js.map +1 -0
  118. package/dist/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.esm.js +164 -0
  119. package/dist/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.esm.js.map +1 -0
  120. package/dist/packages/core-app-api/src/lib/AuthSessionManager/RefreshingAuthSessionManager.esm.js +91 -0
  121. package/dist/packages/core-app-api/src/lib/AuthSessionManager/RefreshingAuthSessionManager.esm.js.map +1 -0
  122. package/dist/packages/core-app-api/src/lib/AuthSessionManager/SessionStateTracker.esm.js +23 -0
  123. package/dist/packages/core-app-api/src/lib/AuthSessionManager/SessionStateTracker.esm.js.map +1 -0
  124. package/dist/packages/core-app-api/src/lib/AuthSessionManager/common.esm.js +44 -0
  125. package/dist/packages/core-app-api/src/lib/AuthSessionManager/common.esm.js.map +1 -0
  126. package/dist/packages/core-app-api/src/lib/loginPopup.esm.js +62 -0
  127. package/dist/packages/core-app-api/src/lib/loginPopup.esm.js.map +1 -0
  128. package/dist/packages/core-app-api/src/lib/subjects.esm.js +124 -0
  129. package/dist/packages/core-app-api/src/lib/subjects.esm.js.map +1 -0
  130. package/dist/packages/core-app-api/src/routing/FeatureFlagged.esm.js +13 -0
  131. package/dist/packages/core-app-api/src/routing/FeatureFlagged.esm.js.map +1 -0
  132. package/dist/packages/core-app-api/src/routing/FlatRoutes.esm.js +59 -0
  133. package/dist/packages/core-app-api/src/routing/FlatRoutes.esm.js.map +1 -0
  134. package/dist/packages/core-app-api/src/routing/RouteTracker.esm.js +77 -0
  135. package/dist/packages/core-app-api/src/routing/RouteTracker.esm.js.map +1 -0
  136. package/dist/packages/core-app-api/src/routing/RoutingProvider.esm.js +10 -0
  137. package/dist/packages/core-app-api/src/routing/RoutingProvider.esm.js.map +1 -0
  138. package/dist/packages/core-app-api/src/routing/types.esm.js +7 -0
  139. package/dist/packages/core-app-api/src/routing/types.esm.js.map +1 -0
  140. package/dist/packages/core-plugin-api/src/translation/TranslationRef.esm.js +13 -0
  141. package/dist/packages/core-plugin-api/src/translation/TranslationRef.esm.js.map +1 -0
  142. package/dist/packages/core-plugin-api/src/translation/TranslationResource.esm.js +13 -0
  143. package/dist/packages/core-plugin-api/src/translation/TranslationResource.esm.js.map +1 -0
  144. package/dist/packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.esm.js +21 -0
  145. package/dist/packages/frontend-app-api/src/apis/implementations/ComponentsApi/DefaultComponentsApi.esm.js.map +1 -0
  146. package/dist/packages/frontend-app-api/src/apis/implementations/IconsApi/DefaultIconsApi.esm.js +15 -0
  147. package/dist/packages/frontend-app-api/src/apis/implementations/IconsApi/DefaultIconsApi.esm.js.map +1 -0
  148. package/dist/packages/frontend-app-api/src/routing/RouteTracker.esm.js +69 -0
  149. package/dist/packages/frontend-app-api/src/routing/RouteTracker.esm.js.map +1 -0
  150. package/dist/packages/frontend-app-api/src/routing/getBasePath.esm.js +12 -0
  151. package/dist/packages/frontend-app-api/src/routing/getBasePath.esm.js.map +1 -0
  152. package/dist/plugin.esm.js +43 -0
  153. package/dist/plugin.esm.js.map +1 -0
  154. package/package.json +66 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,31 @@
1
+ # @backstage/plugin-app
2
+
3
+ ## 0.0.0-nightly-20240828022712
4
+
5
+ ### Minor Changes
6
+
7
+ - 2bb9517: Introduce the `@backstage/plugin-app` package to hold all of the built-in extensions for easy consumption and overriding.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+ - @backstage/frontend-plugin-api@0.0.0-nightly-20240828022712
13
+ - @backstage/core-components@0.14.10
14
+ - @backstage/core-plugin-api@1.9.3
15
+ - @backstage/theme@0.5.6
16
+ - @backstage/plugin-permission-react@0.4.25
17
+
18
+ ## 0.1.0-next.0
19
+
20
+ ### Minor Changes
21
+
22
+ - 2bb9517: Introduce the `@backstage/plugin-app` package to hold all of the built-in extensions for easy consumption and overriding.
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies
27
+ - @backstage/frontend-plugin-api@0.8.0-next.0
28
+ - @backstage/core-components@0.14.10
29
+ - @backstage/core-plugin-api@1.9.3
30
+ - @backstage/theme@0.5.6
31
+ - @backstage/plugin-permission-react@0.4.25
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # app
2
+
3
+ Welcome to the app plugin!
4
+
5
+ _This plugin was created through the Backstage CLI_
6
+
7
+ ## Getting started
8
+
9
+ Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn start` in the root directory, and then navigating to [/app](http://localhost:3000/app).
@@ -0,0 +1,334 @@
1
+ import GithubAuth from './packages/core-app-api/src/apis/implementations/auth/github/GithubAuth.esm.js';
2
+ import GitlabAuth from './packages/core-app-api/src/apis/implementations/auth/gitlab/GitlabAuth.esm.js';
3
+ import GoogleAuth from './packages/core-app-api/src/apis/implementations/auth/google/GoogleAuth.esm.js';
4
+ import 'zen-observable';
5
+ import { createApiFactory, discoveryApiRef, configApiRef, alertApiRef, analyticsApiRef, errorApiRef, storageApiRef, fetchApiRef, identityApiRef, oauthRequestApiRef, googleAuthApiRef, microsoftAuthApiRef, githubAuthApiRef, oktaAuthApiRef, gitlabAuthApiRef, oneloginAuthApiRef, bitbucketAuthApiRef, bitbucketServerAuthApiRef, atlassianAuthApiRef, vmwareCloudAuthApiRef } from '@backstage/core-plugin-api';
6
+ import OktaAuth from './packages/core-app-api/src/apis/implementations/auth/okta/OktaAuth.esm.js';
7
+ import './packages/core-app-api/src/apis/implementations/auth/saml/types.esm.js';
8
+ import MicrosoftAuth from './packages/core-app-api/src/apis/implementations/auth/microsoft/MicrosoftAuth.esm.js';
9
+ import OneLoginAuth from './packages/core-app-api/src/apis/implementations/auth/onelogin/OneLoginAuth.esm.js';
10
+ import BitbucketAuth from './packages/core-app-api/src/apis/implementations/auth/bitbucket/BitbucketAuth.esm.js';
11
+ import BitbucketServerAuth from './packages/core-app-api/src/apis/implementations/auth/bitbucketServer/BitbucketServerAuth.esm.js';
12
+ import AtlassianAuth from './packages/core-app-api/src/apis/implementations/auth/atlassian/AtlassianAuth.esm.js';
13
+ import VMwareCloudAuth from './packages/core-app-api/src/apis/implementations/auth/vmwareCloud/VMwareCloudAuth.esm.js';
14
+ import { AlertApiForwarder } from './packages/core-app-api/src/apis/implementations/AlertApi/AlertApiForwarder.esm.js';
15
+ import { NoOpAnalyticsApi } from './packages/core-app-api/src/apis/implementations/AnalyticsApi/NoOpAnalyticsApi.esm.js';
16
+ import '@backstage/config';
17
+ import { UrlPatternDiscovery } from './packages/core-app-api/src/apis/implementations/DiscoveryApi/UrlPatternDiscovery.esm.js';
18
+ import { ErrorAlerter } from './packages/core-app-api/src/apis/implementations/ErrorApi/ErrorAlerter.esm.js';
19
+ import { ErrorApiForwarder } from './packages/core-app-api/src/apis/implementations/ErrorApi/ErrorApiForwarder.esm.js';
20
+ import { UnhandledErrorForwarder } from './packages/core-app-api/src/apis/implementations/ErrorApi/UnhandledErrorForwarder.esm.js';
21
+ import { createFetchApi } from './packages/core-app-api/src/apis/implementations/FetchApi/createFetchApi.esm.js';
22
+ import { FetchMiddlewares } from './packages/core-app-api/src/apis/implementations/FetchApi/FetchMiddlewares.esm.js';
23
+ import { OAuthRequestManager } from './packages/core-app-api/src/apis/implementations/OAuthRequestApi/OAuthRequestManager.esm.js';
24
+ import { WebStorage } from './packages/core-app-api/src/apis/implementations/StorageApi/WebStorage.esm.js';
25
+ import { ApiBlueprint } from '@backstage/frontend-plugin-api';
26
+ import { permissionApiRef, IdentityPermissionApi } from '@backstage/plugin-permission-react';
27
+
28
+ const apis = [
29
+ ApiBlueprint.make({
30
+ name: "discovery",
31
+ params: {
32
+ factory: createApiFactory({
33
+ api: discoveryApiRef,
34
+ deps: { configApi: configApiRef },
35
+ factory: ({ configApi }) => UrlPatternDiscovery.compile(
36
+ `${configApi.getString("backend.baseUrl")}/api/{{ pluginId }}`
37
+ )
38
+ })
39
+ }
40
+ }),
41
+ ApiBlueprint.make({
42
+ name: "alert",
43
+ params: {
44
+ factory: createApiFactory({
45
+ api: alertApiRef,
46
+ deps: {},
47
+ factory: () => new AlertApiForwarder()
48
+ })
49
+ }
50
+ }),
51
+ ApiBlueprint.make({
52
+ name: "analytics",
53
+ params: {
54
+ factory: createApiFactory({
55
+ api: analyticsApiRef,
56
+ deps: {},
57
+ factory: () => new NoOpAnalyticsApi()
58
+ })
59
+ }
60
+ }),
61
+ ApiBlueprint.make({
62
+ name: "error",
63
+ params: {
64
+ factory: createApiFactory({
65
+ api: errorApiRef,
66
+ deps: { alertApi: alertApiRef },
67
+ factory: ({ alertApi }) => {
68
+ const errorApi = new ErrorAlerter(alertApi, new ErrorApiForwarder());
69
+ UnhandledErrorForwarder.forward(errorApi, { hidden: false });
70
+ return errorApi;
71
+ }
72
+ })
73
+ }
74
+ }),
75
+ ApiBlueprint.make({
76
+ name: "storage",
77
+ params: {
78
+ factory: createApiFactory({
79
+ api: storageApiRef,
80
+ deps: { errorApi: errorApiRef },
81
+ factory: ({ errorApi }) => WebStorage.create({ errorApi })
82
+ })
83
+ }
84
+ }),
85
+ ApiBlueprint.make({
86
+ name: "fetch",
87
+ params: {
88
+ factory: createApiFactory({
89
+ api: fetchApiRef,
90
+ deps: {
91
+ configApi: configApiRef,
92
+ identityApi: identityApiRef,
93
+ discoveryApi: discoveryApiRef
94
+ },
95
+ factory: ({ configApi, identityApi, discoveryApi }) => {
96
+ return createFetchApi({
97
+ middleware: [
98
+ FetchMiddlewares.resolvePluginProtocol({
99
+ discoveryApi
100
+ }),
101
+ FetchMiddlewares.injectIdentityAuth({
102
+ identityApi,
103
+ config: configApi
104
+ })
105
+ ]
106
+ });
107
+ }
108
+ })
109
+ }
110
+ }),
111
+ ApiBlueprint.make({
112
+ name: "oauth-request",
113
+ params: {
114
+ factory: createApiFactory({
115
+ api: oauthRequestApiRef,
116
+ deps: {},
117
+ factory: () => new OAuthRequestManager()
118
+ })
119
+ }
120
+ }),
121
+ ApiBlueprint.make({
122
+ name: "google-auth",
123
+ params: {
124
+ factory: createApiFactory({
125
+ api: googleAuthApiRef,
126
+ deps: {
127
+ discoveryApi: discoveryApiRef,
128
+ oauthRequestApi: oauthRequestApiRef,
129
+ configApi: configApiRef
130
+ },
131
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => GoogleAuth.create({
132
+ configApi,
133
+ discoveryApi,
134
+ oauthRequestApi,
135
+ environment: configApi.getOptionalString("auth.environment")
136
+ })
137
+ })
138
+ }
139
+ }),
140
+ ApiBlueprint.make({
141
+ name: "microsoft-auth",
142
+ params: {
143
+ factory: createApiFactory({
144
+ api: microsoftAuthApiRef,
145
+ deps: {
146
+ discoveryApi: discoveryApiRef,
147
+ oauthRequestApi: oauthRequestApiRef,
148
+ configApi: configApiRef
149
+ },
150
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => MicrosoftAuth.create({
151
+ configApi,
152
+ discoveryApi,
153
+ oauthRequestApi,
154
+ environment: configApi.getOptionalString("auth.environment")
155
+ })
156
+ })
157
+ }
158
+ }),
159
+ ApiBlueprint.make({
160
+ name: "github-auth",
161
+ params: {
162
+ factory: createApiFactory({
163
+ api: githubAuthApiRef,
164
+ deps: {
165
+ discoveryApi: discoveryApiRef,
166
+ oauthRequestApi: oauthRequestApiRef,
167
+ configApi: configApiRef
168
+ },
169
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => GithubAuth.create({
170
+ configApi,
171
+ discoveryApi,
172
+ oauthRequestApi,
173
+ defaultScopes: ["read:user"],
174
+ environment: configApi.getOptionalString("auth.environment")
175
+ })
176
+ })
177
+ }
178
+ }),
179
+ ApiBlueprint.make({
180
+ name: "okta-auth",
181
+ params: {
182
+ factory: createApiFactory({
183
+ api: oktaAuthApiRef,
184
+ deps: {
185
+ discoveryApi: discoveryApiRef,
186
+ oauthRequestApi: oauthRequestApiRef,
187
+ configApi: configApiRef
188
+ },
189
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => OktaAuth.create({
190
+ configApi,
191
+ discoveryApi,
192
+ oauthRequestApi,
193
+ environment: configApi.getOptionalString("auth.environment")
194
+ })
195
+ })
196
+ }
197
+ }),
198
+ ApiBlueprint.make({
199
+ name: "gitlab-auth",
200
+ params: {
201
+ factory: createApiFactory({
202
+ api: gitlabAuthApiRef,
203
+ deps: {
204
+ discoveryApi: discoveryApiRef,
205
+ oauthRequestApi: oauthRequestApiRef,
206
+ configApi: configApiRef
207
+ },
208
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => GitlabAuth.create({
209
+ configApi,
210
+ discoveryApi,
211
+ oauthRequestApi,
212
+ environment: configApi.getOptionalString("auth.environment")
213
+ })
214
+ })
215
+ }
216
+ }),
217
+ ApiBlueprint.make({
218
+ name: "onelogin-auth",
219
+ params: {
220
+ factory: createApiFactory({
221
+ api: oneloginAuthApiRef,
222
+ deps: {
223
+ discoveryApi: discoveryApiRef,
224
+ oauthRequestApi: oauthRequestApiRef,
225
+ configApi: configApiRef
226
+ },
227
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => OneLoginAuth.create({
228
+ configApi,
229
+ discoveryApi,
230
+ oauthRequestApi,
231
+ environment: configApi.getOptionalString("auth.environment")
232
+ })
233
+ })
234
+ }
235
+ }),
236
+ ApiBlueprint.make({
237
+ name: "bitbucket-auth",
238
+ params: {
239
+ factory: createApiFactory({
240
+ api: bitbucketAuthApiRef,
241
+ deps: {
242
+ discoveryApi: discoveryApiRef,
243
+ oauthRequestApi: oauthRequestApiRef,
244
+ configApi: configApiRef
245
+ },
246
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => BitbucketAuth.create({
247
+ configApi,
248
+ discoveryApi,
249
+ oauthRequestApi,
250
+ defaultScopes: ["account"],
251
+ environment: configApi.getOptionalString("auth.environment")
252
+ })
253
+ })
254
+ }
255
+ }),
256
+ ApiBlueprint.make({
257
+ name: "bitbucket-server-auth",
258
+ params: {
259
+ factory: createApiFactory({
260
+ api: bitbucketServerAuthApiRef,
261
+ deps: {
262
+ discoveryApi: discoveryApiRef,
263
+ oauthRequestApi: oauthRequestApiRef,
264
+ configApi: configApiRef
265
+ },
266
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => BitbucketServerAuth.create({
267
+ configApi,
268
+ discoveryApi,
269
+ oauthRequestApi,
270
+ defaultScopes: ["REPO_READ"]
271
+ })
272
+ })
273
+ }
274
+ }),
275
+ ApiBlueprint.make({
276
+ name: "atlassian-auth",
277
+ params: {
278
+ factory: createApiFactory({
279
+ api: atlassianAuthApiRef,
280
+ deps: {
281
+ discoveryApi: discoveryApiRef,
282
+ oauthRequestApi: oauthRequestApiRef,
283
+ configApi: configApiRef
284
+ },
285
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => {
286
+ return AtlassianAuth.create({
287
+ configApi,
288
+ discoveryApi,
289
+ oauthRequestApi,
290
+ environment: configApi.getOptionalString("auth.environment")
291
+ });
292
+ }
293
+ })
294
+ }
295
+ }),
296
+ ApiBlueprint.make({
297
+ name: "vmware-cloud-auth",
298
+ params: {
299
+ factory: createApiFactory({
300
+ api: vmwareCloudAuthApiRef,
301
+ deps: {
302
+ discoveryApi: discoveryApiRef,
303
+ oauthRequestApi: oauthRequestApiRef,
304
+ configApi: configApiRef
305
+ },
306
+ factory: ({ discoveryApi, oauthRequestApi, configApi }) => {
307
+ return VMwareCloudAuth.create({
308
+ configApi,
309
+ discoveryApi,
310
+ oauthRequestApi,
311
+ environment: configApi.getOptionalString("auth.environment")
312
+ });
313
+ }
314
+ })
315
+ }
316
+ }),
317
+ ApiBlueprint.make({
318
+ name: "permission",
319
+ params: {
320
+ factory: createApiFactory({
321
+ api: permissionApiRef,
322
+ deps: {
323
+ discovery: discoveryApiRef,
324
+ identity: identityApiRef,
325
+ config: configApiRef
326
+ },
327
+ factory: ({ config, discovery, identity }) => IdentityPermissionApi.create({ config, discovery, identity })
328
+ })
329
+ }
330
+ })
331
+ ];
332
+
333
+ export { apis };
334
+ //# sourceMappingURL=defaultApis.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultApis.esm.js","sources":["../src/defaultApis.ts"],"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\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport {\n AlertApiForwarder,\n NoOpAnalyticsApi,\n ErrorApiForwarder,\n ErrorAlerter,\n GoogleAuth,\n GithubAuth,\n OktaAuth,\n GitlabAuth,\n MicrosoftAuth,\n BitbucketAuth,\n BitbucketServerAuth,\n OAuthRequestManager,\n WebStorage,\n UrlPatternDiscovery,\n OneLoginAuth,\n UnhandledErrorForwarder,\n AtlassianAuth,\n createFetchApi,\n FetchMiddlewares,\n VMwareCloudAuth,\n} from '../../../packages/core-app-api/src/apis/implementations';\n\nimport {\n createApiFactory,\n alertApiRef,\n analyticsApiRef,\n errorApiRef,\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n oauthRequestApiRef,\n googleAuthApiRef,\n githubAuthApiRef,\n oktaAuthApiRef,\n gitlabAuthApiRef,\n microsoftAuthApiRef,\n storageApiRef,\n configApiRef,\n oneloginAuthApiRef,\n bitbucketAuthApiRef,\n bitbucketServerAuthApiRef,\n atlassianAuthApiRef,\n vmwareCloudAuthApiRef,\n} from '@backstage/core-plugin-api';\nimport { ApiBlueprint } from '@backstage/frontend-plugin-api';\nimport {\n permissionApiRef,\n IdentityPermissionApi,\n} from '@backstage/plugin-permission-react';\n\nexport const apis = [\n ApiBlueprint.make({\n name: 'discovery',\n params: {\n factory: createApiFactory({\n api: discoveryApiRef,\n deps: { configApi: configApiRef },\n factory: ({ configApi }) =>\n UrlPatternDiscovery.compile(\n `${configApi.getString('backend.baseUrl')}/api/{{ pluginId }}`,\n ),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'alert',\n params: {\n factory: createApiFactory({\n api: alertApiRef,\n deps: {},\n factory: () => new AlertApiForwarder(),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'analytics',\n params: {\n factory: createApiFactory({\n api: analyticsApiRef,\n deps: {},\n factory: () => new NoOpAnalyticsApi(),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'error',\n params: {\n factory: createApiFactory({\n api: errorApiRef,\n deps: { alertApi: alertApiRef },\n factory: ({ alertApi }) => {\n const errorApi = new ErrorAlerter(alertApi, new ErrorApiForwarder());\n UnhandledErrorForwarder.forward(errorApi, { hidden: false });\n return errorApi;\n },\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'storage',\n params: {\n factory: createApiFactory({\n api: storageApiRef,\n deps: { errorApi: errorApiRef },\n factory: ({ errorApi }) => WebStorage.create({ errorApi }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'fetch',\n params: {\n factory: createApiFactory({\n api: fetchApiRef,\n deps: {\n configApi: configApiRef,\n identityApi: identityApiRef,\n discoveryApi: discoveryApiRef,\n },\n factory: ({ configApi, identityApi, discoveryApi }) => {\n return createFetchApi({\n middleware: [\n FetchMiddlewares.resolvePluginProtocol({\n discoveryApi,\n }),\n FetchMiddlewares.injectIdentityAuth({\n identityApi,\n config: configApi,\n }),\n ],\n });\n },\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'oauth-request',\n params: {\n factory: createApiFactory({\n api: oauthRequestApiRef,\n deps: {},\n factory: () => new OAuthRequestManager(),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'google-auth',\n params: {\n factory: createApiFactory({\n api: googleAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GoogleAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'microsoft-auth',\n params: {\n factory: createApiFactory({\n api: microsoftAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n MicrosoftAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'github-auth',\n params: {\n factory: createApiFactory({\n api: githubAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GithubAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['read:user'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'okta-auth',\n params: {\n factory: createApiFactory({\n api: oktaAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OktaAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'gitlab-auth',\n params: {\n factory: createApiFactory({\n api: gitlabAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n GitlabAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'onelogin-auth',\n params: {\n factory: createApiFactory({\n api: oneloginAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n OneLoginAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'bitbucket-auth',\n params: {\n factory: createApiFactory({\n api: bitbucketAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['account'],\n environment: configApi.getOptionalString('auth.environment'),\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'bitbucket-server-auth',\n params: {\n factory: createApiFactory({\n api: bitbucketServerAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) =>\n BitbucketServerAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n defaultScopes: ['REPO_READ'],\n }),\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'atlassian-auth',\n params: {\n factory: createApiFactory({\n api: atlassianAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return AtlassianAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'vmware-cloud-auth',\n params: {\n factory: createApiFactory({\n api: vmwareCloudAuthApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n oauthRequestApi: oauthRequestApiRef,\n configApi: configApiRef,\n },\n factory: ({ discoveryApi, oauthRequestApi, configApi }) => {\n return VMwareCloudAuth.create({\n configApi,\n discoveryApi,\n oauthRequestApi,\n environment: configApi.getOptionalString('auth.environment'),\n });\n },\n }),\n },\n }),\n ApiBlueprint.make({\n name: 'permission',\n params: {\n factory: createApiFactory({\n api: permissionApiRef,\n deps: {\n discovery: discoveryApiRef,\n identity: identityApiRef,\n config: configApiRef,\n },\n factory: ({ config, discovery, identity }) =>\n IdentityPermissionApi.create({ config, discovery, identity }),\n }),\n },\n }),\n] as const;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { createExtension, createExtensionInput, coreExtensionData, ExtensionBoundary } from '@backstage/frontend-plugin-api';
3
+ import { ApiProvider } from '../packages/core-app-api/src/apis/system/ApiProvider.esm.js';
4
+ import 'zen-observable';
5
+ import '@backstage/core-plugin-api';
6
+ import '../packages/core-app-api/src/apis/implementations/auth/saml/types.esm.js';
7
+ import '@backstage/config';
8
+ import '../packages/core-app-api/src/app/AppRouter.esm.js';
9
+ import 'react-use/esm/useAsync';
10
+ import '@backstage/core-plugin-api/alpha';
11
+ import '../packages/core-app-api/src/routing/FeatureFlagged.esm.js';
12
+ import '../packages/core-app-api/src/routing/RoutingProvider.esm.js';
13
+ import '../packages/core-app-api/src/app/AppContext.esm.js';
14
+ import { AppThemeProvider } from '../packages/core-app-api/src/app/AppThemeProvider.esm.js';
15
+ import 'react-router-dom';
16
+ import '../packages/core-app-api/src/app/InternalAppContext.esm.js';
17
+ import 'i18next';
18
+ import '../packages/core-app-api/src/routing/FlatRoutes.esm.js';
19
+
20
+ const App = createExtension({
21
+ namespace: "app",
22
+ attachTo: { id: "root", input: "app" },
23
+ inputs: {
24
+ root: createExtensionInput([coreExtensionData.reactElement], {
25
+ singleton: true
26
+ })
27
+ },
28
+ output: [coreExtensionData.reactElement],
29
+ factory: ({ node, apis, inputs }) => {
30
+ return [
31
+ coreExtensionData.reactElement(
32
+ /* @__PURE__ */ React.createElement(ApiProvider, { apis }, /* @__PURE__ */ React.createElement(AppThemeProvider, null, /* @__PURE__ */ React.createElement(ExtensionBoundary, { node }, inputs.root.get(coreExtensionData.reactElement))))
33
+ )
34
+ ];
35
+ }
36
+ });
37
+
38
+ export { App };
39
+ //# sourceMappingURL=App.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.esm.js","sources":["../../src/extensions/App.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 React from 'react';\nimport {\n ExtensionBoundary,\n coreExtensionData,\n createExtension,\n createExtensionInput,\n} from '@backstage/frontend-plugin-api';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport { ApiProvider } from '../../../../packages/core-app-api/src';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport { AppThemeProvider } from '../../../../packages/core-app-api/src/app/AppThemeProvider';\n\nexport const App = createExtension({\n namespace: 'app',\n attachTo: { id: 'root', input: 'app' },\n inputs: {\n root: createExtensionInput([coreExtensionData.reactElement], {\n singleton: true,\n }),\n },\n output: [coreExtensionData.reactElement],\n factory: ({ node, apis, inputs }) => {\n return [\n coreExtensionData.reactElement(\n <ApiProvider apis={apis}>\n <AppThemeProvider>\n <ExtensionBoundary node={node}>\n {inputs.root.get(coreExtensionData.reactElement)}\n </ExtensionBoundary>\n </AppThemeProvider>\n </ApiProvider>,\n ),\n ];\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA4BO,MAAM,MAAM,eAAgB,CAAA;AAAA,EACjC,SAAW,EAAA,KAAA;AAAA,EACX,QAAU,EAAA,EAAE,EAAI,EAAA,MAAA,EAAQ,OAAO,KAAM,EAAA;AAAA,EACrC,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,oBAAA,CAAqB,CAAC,iBAAA,CAAkB,YAAY,CAAG,EAAA;AAAA,MAC3D,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,CAAC,iBAAA,CAAkB,YAAY,CAAA;AAAA,EACvC,SAAS,CAAC,EAAE,IAAM,EAAA,IAAA,EAAM,QAAa,KAAA;AACnC,IAAO,OAAA;AAAA,MACL,iBAAkB,CAAA,YAAA;AAAA,wBACf,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IACX,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,wCACE,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,EAAkB,IAChB,EAAA,EAAA,MAAA,CAAO,KAAK,GAAI,CAAA,iBAAA,CAAkB,YAAY,CACjD,CACF,CACF,CAAA;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { AppLanguageSelector } from '../packages/core-app-api/src/apis/implementations/AppLanguageApi/AppLanguageSelector.esm.js';
2
+ import { appLanguageApiRef } from '@backstage/core-plugin-api/alpha';
3
+ import { ApiBlueprint, createApiFactory } from '@backstage/frontend-plugin-api';
4
+
5
+ const AppLanguageApi = ApiBlueprint.make({
6
+ name: "app-language",
7
+ params: {
8
+ factory: createApiFactory(
9
+ appLanguageApiRef,
10
+ AppLanguageSelector.createWithStorage()
11
+ )
12
+ }
13
+ });
14
+
15
+ export { AppLanguageApi };
16
+ //# sourceMappingURL=AppLanguageApi.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppLanguageApi.esm.js","sources":["../../src/extensions/AppLanguageApi.ts"],"sourcesContent":["/*\n * Copyright 2024 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\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport { AppLanguageSelector } from '../../../../packages/core-app-api/src/apis/implementations/AppLanguageApi';\nimport { appLanguageApiRef } from '@backstage/core-plugin-api/alpha';\nimport { ApiBlueprint, createApiFactory } from '@backstage/frontend-plugin-api';\n\nexport const AppLanguageApi = ApiBlueprint.make({\n name: 'app-language',\n params: {\n factory: createApiFactory(\n appLanguageApiRef,\n AppLanguageSelector.createWithStorage(),\n ),\n },\n});\n"],"names":[],"mappings":";;;;AAqBa,MAAA,cAAA,GAAiB,aAAa,IAAK,CAAA;AAAA,EAC9C,IAAM,EAAA,cAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,OAAS,EAAA,gBAAA;AAAA,MACP,iBAAA;AAAA,MACA,oBAAoB,iBAAkB,EAAA;AAAA,KACxC;AAAA,GACF;AACF,CAAC;;;;"}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { createExtension, createExtensionInput, coreExtensionData } from '@backstage/frontend-plugin-api';
3
+ import { SidebarPage } from '@backstage/core-components';
4
+
5
+ const AppLayout = createExtension({
6
+ namespace: "app",
7
+ name: "layout",
8
+ attachTo: { id: "app/root", input: "children" },
9
+ inputs: {
10
+ nav: createExtensionInput([coreExtensionData.reactElement], {
11
+ singleton: true
12
+ }),
13
+ content: createExtensionInput([coreExtensionData.reactElement], {
14
+ singleton: true
15
+ })
16
+ },
17
+ output: [coreExtensionData.reactElement],
18
+ factory: ({ inputs }) => [
19
+ coreExtensionData.reactElement(
20
+ /* @__PURE__ */ React.createElement(SidebarPage, null, inputs.nav.get(coreExtensionData.reactElement), inputs.content.get(coreExtensionData.reactElement))
21
+ )
22
+ ]
23
+ });
24
+
25
+ export { AppLayout };
26
+ //# sourceMappingURL=AppLayout.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppLayout.esm.js","sources":["../../src/extensions/AppLayout.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 React from 'react';\nimport {\n createExtension,\n coreExtensionData,\n createExtensionInput,\n} from '@backstage/frontend-plugin-api';\nimport { SidebarPage } from '@backstage/core-components';\n\nexport const AppLayout = createExtension({\n namespace: 'app',\n name: 'layout',\n attachTo: { id: 'app/root', input: 'children' },\n inputs: {\n nav: createExtensionInput([coreExtensionData.reactElement], {\n singleton: true,\n }),\n content: createExtensionInput([coreExtensionData.reactElement], {\n singleton: true,\n }),\n },\n output: [coreExtensionData.reactElement],\n factory: ({ inputs }) => [\n coreExtensionData.reactElement(\n <SidebarPage>\n {inputs.nav.get(coreExtensionData.reactElement)}\n {inputs.content.get(coreExtensionData.reactElement)}\n </SidebarPage>,\n ),\n ],\n});\n"],"names":[],"mappings":";;;;AAwBO,MAAM,YAAY,eAAgB,CAAA;AAAA,EACvC,SAAW,EAAA,KAAA;AAAA,EACX,IAAM,EAAA,QAAA;AAAA,EACN,QAAU,EAAA,EAAE,EAAI,EAAA,UAAA,EAAY,OAAO,UAAW,EAAA;AAAA,EAC9C,MAAQ,EAAA;AAAA,IACN,GAAK,EAAA,oBAAA,CAAqB,CAAC,iBAAA,CAAkB,YAAY,CAAG,EAAA;AAAA,MAC1D,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA;AAAA,IACD,OAAS,EAAA,oBAAA,CAAqB,CAAC,iBAAA,CAAkB,YAAY,CAAG,EAAA;AAAA,MAC9D,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,CAAC,iBAAA,CAAkB,YAAY,CAAA;AAAA,EACvC,OAAS,EAAA,CAAC,EAAE,MAAA,EAAa,KAAA;AAAA,IACvB,iBAAkB,CAAA,YAAA;AAAA,sBACf,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA,IAAA,EACE,MAAO,CAAA,GAAA,CAAI,GAAI,CAAA,iBAAA,CAAkB,YAAY,CAAA,EAC7C,MAAO,CAAA,OAAA,CAAQ,GAAI,CAAA,iBAAA,CAAkB,YAAY,CACpD,CAAA;AAAA,KACF;AAAA,GACF;AACF,CAAC;;;;"}
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ import { createExtension, createExtensionInput, NavItemBlueprint, NavLogoBlueprint, coreExtensionData, useRouteRef } from '@backstage/frontend-plugin-api';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
+ import { sidebarConfig, Sidebar, SidebarDivider, useSidebarOpenState, Link, SidebarItem } from '@backstage/core-components';
5
+ import LogoIcon from '../packages/app/src/components/Root/LogoIcon.esm.js';
6
+ import LogoFull from '../packages/app/src/components/Root/LogoFull.esm.js';
7
+
8
+ const useSidebarLogoStyles = makeStyles({
9
+ root: {
10
+ width: sidebarConfig.drawerWidthClosed,
11
+ height: 3 * sidebarConfig.logoHeight,
12
+ display: "flex",
13
+ flexFlow: "row nowrap",
14
+ alignItems: "center",
15
+ marginBottom: -14
16
+ },
17
+ link: {
18
+ width: sidebarConfig.drawerWidthClosed,
19
+ marginLeft: 24
20
+ }
21
+ });
22
+ const SidebarLogo = (props) => {
23
+ const classes = useSidebarLogoStyles();
24
+ const { isOpen } = useSidebarOpenState();
25
+ return /* @__PURE__ */ React.createElement("div", { className: classes.root }, /* @__PURE__ */ React.createElement(Link, { to: "/", underline: "none", className: classes.link, "aria-label": "Home" }, isOpen ? props?.logoFull ?? /* @__PURE__ */ React.createElement(LogoFull, null) : props?.logoIcon ?? /* @__PURE__ */ React.createElement(LogoIcon, null)));
26
+ };
27
+ const SidebarNavItem = (props) => {
28
+ const { icon: Icon, title, routeRef } = props;
29
+ const link = useRouteRef(routeRef);
30
+ if (!link) {
31
+ return null;
32
+ }
33
+ return /* @__PURE__ */ React.createElement(SidebarItem, { to: link(), icon: Icon, text: title });
34
+ };
35
+ const AppNav = createExtension({
36
+ namespace: "app",
37
+ name: "nav",
38
+ attachTo: { id: "app/layout", input: "nav" },
39
+ inputs: {
40
+ items: createExtensionInput([NavItemBlueprint.dataRefs.target]),
41
+ logos: createExtensionInput([NavLogoBlueprint.dataRefs.logoElements], {
42
+ singleton: true,
43
+ optional: true
44
+ })
45
+ },
46
+ output: [coreExtensionData.reactElement],
47
+ factory: ({ inputs }) => [
48
+ coreExtensionData.reactElement(
49
+ /* @__PURE__ */ React.createElement(Sidebar, null, /* @__PURE__ */ React.createElement(
50
+ SidebarLogo,
51
+ {
52
+ ...inputs.logos?.get(NavLogoBlueprint.dataRefs.logoElements)
53
+ }
54
+ ), /* @__PURE__ */ React.createElement(SidebarDivider, null), inputs.items.map((item, index) => /* @__PURE__ */ React.createElement(
55
+ SidebarNavItem,
56
+ {
57
+ ...item.get(NavItemBlueprint.dataRefs.target),
58
+ key: index
59
+ }
60
+ )))
61
+ )
62
+ ]
63
+ });
64
+
65
+ export { AppNav };
66
+ //# sourceMappingURL=AppNav.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppNav.esm.js","sources":["../../src/extensions/AppNav.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 React from 'react';\nimport {\n createExtension,\n coreExtensionData,\n createExtensionInput,\n useRouteRef,\n NavItemBlueprint,\n NavLogoBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {\n Sidebar,\n useSidebarOpenState,\n Link,\n sidebarConfig,\n SidebarDivider,\n SidebarItem,\n} from '@backstage/core-components';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport LogoIcon from '../../../../packages/app/src/components/Root/LogoIcon';\n// eslint-disable-next-line @backstage/no-relative-monorepo-imports\nimport LogoFull from '../../../../packages/app/src/components/Root/LogoFull';\n\nconst useSidebarLogoStyles = makeStyles({\n root: {\n width: sidebarConfig.drawerWidthClosed,\n height: 3 * sidebarConfig.logoHeight,\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n marginBottom: -14,\n },\n link: {\n width: sidebarConfig.drawerWidthClosed,\n marginLeft: 24,\n },\n});\n\nconst SidebarLogo = (\n props: (typeof NavLogoBlueprint.dataRefs.logoElements)['T'],\n) => {\n const classes = useSidebarLogoStyles();\n const { isOpen } = useSidebarOpenState();\n\n return (\n <div className={classes.root}>\n <Link to=\"/\" underline=\"none\" className={classes.link} aria-label=\"Home\">\n {isOpen\n ? props?.logoFull ?? <LogoFull />\n : props?.logoIcon ?? <LogoIcon />}\n </Link>\n </div>\n );\n};\n\nconst SidebarNavItem = (\n props: (typeof NavItemBlueprint.dataRefs.target)['T'],\n) => {\n const { icon: Icon, title, routeRef } = props;\n const link = useRouteRef(routeRef);\n if (!link) {\n return null;\n }\n // TODO: Support opening modal, for example, the search one\n return <SidebarItem to={link()} icon={Icon} text={title} />;\n};\n\nexport const AppNav = createExtension({\n namespace: 'app',\n name: 'nav',\n attachTo: { id: 'app/layout', input: 'nav' },\n inputs: {\n items: createExtensionInput([NavItemBlueprint.dataRefs.target]),\n logos: createExtensionInput([NavLogoBlueprint.dataRefs.logoElements], {\n singleton: true,\n optional: true,\n }),\n },\n output: [coreExtensionData.reactElement],\n factory: ({ inputs }) => [\n coreExtensionData.reactElement(\n <Sidebar>\n <SidebarLogo\n {...inputs.logos?.get(NavLogoBlueprint.dataRefs.logoElements)}\n />\n <SidebarDivider />\n {inputs.items.map((item, index) => (\n <SidebarNavItem\n {...item.get(NavItemBlueprint.dataRefs.target)}\n key={index}\n />\n ))}\n </Sidebar>,\n ),\n ],\n});\n"],"names":[],"mappings":"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"}