@red-hat-developer-hub/plugin-cost-management 2.2.2 → 2.4.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 (63) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +28 -1
  3. package/dist/Router.esm.js +16 -10
  4. package/dist/Router.esm.js.map +1 -1
  5. package/dist/alpha.d.ts +136 -0
  6. package/dist/alpha.esm.js +108 -0
  7. package/dist/alpha.esm.js.map +1 -0
  8. package/dist/components/BasePage.esm.js +8 -5
  9. package/dist/components/BasePage.esm.js.map +1 -1
  10. package/dist/components/InfoCardTitle.esm.js +2 -2
  11. package/dist/components/InfoCardTitle.esm.js.map +1 -1
  12. package/dist/components/PageLayout.esm.js +37 -30
  13. package/dist/components/PageLayout.esm.js.map +1 -1
  14. package/dist/components/icon/AnalyticsIcon.esm.js +3 -3
  15. package/dist/components/icon/AnalyticsIcon.esm.js.map +1 -1
  16. package/dist/components/icon/AnalyticsIconFilled.esm.js +2 -2
  17. package/dist/components/icon/AnalyticsIconFilled.esm.js.map +1 -1
  18. package/dist/components/icon/AnalyticsIconOutlined.esm.js +2 -2
  19. package/dist/components/icon/AnalyticsIconOutlined.esm.js.map +1 -1
  20. package/dist/components/icon/CostManagementIcon.esm.js +3 -3
  21. package/dist/components/icon/CostManagementIcon.esm.js.map +1 -1
  22. package/dist/components/icon/CostManagementIconFilled.esm.js +2 -2
  23. package/dist/components/icon/CostManagementIconFilled.esm.js.map +1 -1
  24. package/dist/components/icon/CostManagementIconOutlined.esm.js +2 -2
  25. package/dist/components/icon/CostManagementIconOutlined.esm.js.map +1 -1
  26. package/dist/index.d.ts +10 -10
  27. package/dist/pages/openshift/OpenShiftPage.esm.js +257 -207
  28. package/dist/pages/openshift/OpenShiftPage.esm.js.map +1 -1
  29. package/dist/pages/openshift/components/AutocompleteComponent.esm.js +43 -40
  30. package/dist/pages/openshift/components/AutocompleteComponent.esm.js.map +1 -1
  31. package/dist/pages/openshift/components/DownloadIconButton.esm.js +11 -11
  32. package/dist/pages/openshift/components/DownloadIconButton.esm.js.map +1 -1
  33. package/dist/pages/openshift/components/Filters.esm.js +178 -161
  34. package/dist/pages/openshift/components/Filters.esm.js.map +1 -1
  35. package/dist/pages/openshift/components/PageHeader.esm.js +11 -6
  36. package/dist/pages/openshift/components/PageHeader.esm.js.map +1 -1
  37. package/dist/pages/openshift/components/SelectComponent.esm.js +30 -27
  38. package/dist/pages/openshift/components/SelectComponent.esm.js.map +1 -1
  39. package/dist/pages/openshift/components/TableToolbar.esm.js +187 -163
  40. package/dist/pages/openshift/components/TableToolbar.esm.js.map +1 -1
  41. package/dist/pages/optimizations/OptimizationsPage.esm.js +60 -56
  42. package/dist/pages/optimizations/OptimizationsPage.esm.js.map +1 -1
  43. package/dist/pages/optimizations/components/ComboBox.esm.js +37 -33
  44. package/dist/pages/optimizations/components/ComboBox.esm.js.map +1 -1
  45. package/dist/pages/optimizations/components/Filters.esm.js +35 -28
  46. package/dist/pages/optimizations/components/Filters.esm.js.map +1 -1
  47. package/dist/pages/optimizations/components/TableToolbar.esm.js +3 -2
  48. package/dist/pages/optimizations/components/TableToolbar.esm.js.map +1 -1
  49. package/dist/pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js +51 -45
  50. package/dist/pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js.map +1 -1
  51. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/OptimizationEngineTab.esm.js +79 -64
  52. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/OptimizationEngineTab.esm.js.map +1 -1
  53. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/CodeInfoCard.esm.js +4 -3
  54. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/CodeInfoCard.esm.js.map +1 -1
  55. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/ContainerInfoCard.esm.js +28 -20
  56. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/ContainerInfoCard.esm.js.map +1 -1
  57. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/ChartInfoCard.esm.js +4 -3
  58. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/ChartInfoCard.esm.js.map +1 -1
  59. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/IntlBreakdownChart.esm.js +3 -3
  60. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/IntlBreakdownChart.esm.js.map +1 -1
  61. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/intl-breakdown-chart/components/optimizations-breakdown-chart/components/optimizations-breakdown-chart/OptimizationsBreakdownChart.esm.js +29 -26
  62. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/intl-breakdown-chart/components/optimizations-breakdown-chart/components/optimizations-breakdown-chart/OptimizationsBreakdownChart.esm.js.map +1 -1
  63. package/package.json +31 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @red-hat-developer-hub/plugin-cost-management
2
2
 
3
+ ## 2.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ef3257c: Add a New Frontend System `/alpha` export so the plugin loads in RHDH 2.1, with Optimizations and Cost Management sidebar pages. Legacy PluginRoot exports are unchanged.
8
+
9
+ ### Patch Changes
10
+
11
+ - @red-hat-developer-hub/plugin-cost-management-common@2.4.0
12
+
13
+ ## 2.3.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 1fc6bbe: Backstage version bump to v1.54.6
18
+
19
+ Also includes the workspace resolutions cleanup and MSW bump from #4459.
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [1fc6bbe]
24
+ - @red-hat-developer-hub/plugin-cost-management-common@2.3.0
25
+
3
26
  ## 2.2.1
4
27
 
5
28
  ### Patch Changes
package/README.md CHANGED
@@ -44,7 +44,34 @@ You can follow one of these options depending on your environment and how you ch
44
44
  backend.add(import('@red-hat-developer-hub/plugin-cost-management-backend'));
45
45
  ```
46
46
 
47
- 1. Add the `ResourceOptimizationPage` extension to your `App.tsx` routes
47
+ 1. Add the frontend plugin to your app.
48
+
49
+ **New Frontend System** (RHDH 2.1 / `app-next`):
50
+
51
+ ```ts
52
+ import costManagementPlugin from '@red-hat-developer-hub/plugin-cost-management/alpha';
53
+
54
+ const app = createApp({
55
+ features: [costManagementPlugin],
56
+ });
57
+ ```
58
+
59
+ Sidebar items come from the plugin: **Optimizations** (`/cost-management/optimizations`) and **Cost Management** (`/cost-management/openshift`). Optional overrides:
60
+
61
+ ```yaml
62
+ app:
63
+ extensions:
64
+ - page:cost-management:
65
+ config:
66
+ title: Optimizations
67
+ path: /cost-management/optimizations
68
+ - page:cost-management/openshift:
69
+ config:
70
+ title: Cost Management
71
+ path: /cost-management/openshift
72
+ ```
73
+
74
+ **Legacy frontend** (`FlatRoutes`):
48
75
 
49
76
  ```ts
50
77
  // packages/app/src/App.tsx
@@ -1,21 +1,27 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import { ErrorPage } from '@backstage/core-components';
2
- import React from 'react';
3
3
  import { Routes, Route } from 'react-router-dom';
4
4
  import { OptimizationsPage } from './pages/optimizations/OptimizationsPage.esm.js';
5
5
  import { OptimizationsBreakdownPage } from './pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js';
6
- import { OpenShiftPage } from './pages/openshift/OpenShiftPage.esm.js';
7
6
  import { usePatternFlyTheme } from './hooks/usePatternFlyTheme.esm.js';
8
7
 
8
+ const notFound = /* @__PURE__ */ jsx(ErrorPage, { status: "404", statusMessage: "Page not found" });
9
+ function OptimizationsRouter() {
10
+ usePatternFlyTheme();
11
+ return /* @__PURE__ */ jsxs(Routes, { children: [
12
+ /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(OptimizationsPage, {}) }),
13
+ /* @__PURE__ */ jsx(Route, { path: "/:id/*", element: /* @__PURE__ */ jsx(OptimizationsBreakdownPage, {}) }),
14
+ /* @__PURE__ */ jsx(Route, { path: "*", element: notFound })
15
+ ] });
16
+ }
9
17
  function Router() {
10
18
  usePatternFlyTheme();
11
- return /* @__PURE__ */ React.createElement(Routes, null, /* @__PURE__ */ React.createElement(Route, { path: "/", element: /* @__PURE__ */ React.createElement(OptimizationsPage, null) }), /* @__PURE__ */ React.createElement(Route, { path: "/optimizations", element: /* @__PURE__ */ React.createElement(OptimizationsPage, null) }), /* @__PURE__ */ React.createElement(Route, { path: "/openshift", element: /* @__PURE__ */ React.createElement(OpenShiftPage, null) }), /* @__PURE__ */ React.createElement(Route, { path: "/:id/*", element: /* @__PURE__ */ React.createElement(OptimizationsBreakdownPage, null) }), /* @__PURE__ */ React.createElement(
12
- Route,
13
- {
14
- path: "*",
15
- element: /* @__PURE__ */ React.createElement(ErrorPage, { status: "404", statusMessage: "Page not found" })
16
- }
17
- ));
19
+ return /* @__PURE__ */ jsxs(Routes, { children: [
20
+ /* @__PURE__ */ jsx(Route, { path: "/", element: /* @__PURE__ */ jsx(OptimizationsPage, {}) }),
21
+ /* @__PURE__ */ jsx(Route, { path: "/:id/*", element: /* @__PURE__ */ jsx(OptimizationsBreakdownPage, {}) }),
22
+ /* @__PURE__ */ jsx(Route, { path: "*", element: notFound })
23
+ ] });
18
24
  }
19
25
 
20
- export { Router };
26
+ export { OptimizationsRouter, Router };
21
27
  //# sourceMappingURL=Router.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Router.esm.js","sources":["../src/Router.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 { ErrorPage } from '@backstage/core-components';\nimport React from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport { OptimizationsPage } from './pages/optimizations/OptimizationsPage';\nimport { OptimizationsBreakdownPage } from './pages/optimizations-breakdown/OptimizationsBreakdownPage';\nimport { OpenShiftPage } from './pages/openshift/OpenShiftPage';\nimport { usePatternFlyTheme } from './hooks/usePatternFlyTheme';\n\n/** @public */\nexport function Router() {\n usePatternFlyTheme();\n\n return (\n <Routes>\n <Route path=\"/\" element={<OptimizationsPage />} />\n <Route path=\"/optimizations\" element={<OptimizationsPage />} />\n <Route path=\"/openshift\" element={<OpenShiftPage />} />\n <Route path=\"/:id/*\" element={<OptimizationsBreakdownPage />} />\n <Route\n path=\"*\"\n element={<ErrorPage status=\"404\" statusMessage=\"Page not found\" />}\n />\n </Routes>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAyBO,SAAS,MAAA,GAAS;AACvB,EAAA,kBAAA,EAAmB;AAEnB,EAAA,2CACG,MAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAK,KAAI,OAAA,kBAAS,KAAA,CAAA,aAAA,CAAC,iBAAA,EAAA,IAAkB,CAAA,EAAI,mBAChD,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAK,gBAAA,EAAiB,yBAAS,KAAA,CAAA,aAAA,CAAC,iBAAA,EAAA,IAAkB,CAAA,EAAI,CAAA,sCAC5D,KAAA,EAAA,EAAM,IAAA,EAAK,YAAA,EAAa,OAAA,sCAAU,aAAA,EAAA,IAAc,CAAA,EAAI,CAAA,kBACrD,KAAA,CAAA,aAAA,CAAC,SAAM,IAAA,EAAK,QAAA,EAAS,yBAAS,KAAA,CAAA,aAAA,CAAC,0BAAA,EAAA,IAA2B,GAAI,CAAA,kBAC9D,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,GAAA;AAAA,MACL,yBAAS,KAAA,CAAA,aAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAO,KAAA,EAAM,eAAc,gBAAA,EAAiB;AAAA;AAAA,GAEpE,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Router.esm.js","sources":["../src/Router.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 { ErrorPage } from '@backstage/core-components';\nimport { Routes, Route } from 'react-router-dom';\nimport { OptimizationsPage } from './pages/optimizations/OptimizationsPage';\nimport { OptimizationsBreakdownPage } from './pages/optimizations-breakdown/OptimizationsBreakdownPage';\nimport { usePatternFlyTheme } from './hooks/usePatternFlyTheme';\n\nconst notFound = <ErrorPage status=\"404\" statusMessage=\"Page not found\" />;\n\n/**\n * NFS Optimizations page loader: list + breakdown only.\n * OpenShift is a separate PageBlueprint, not a child of this mount.\n */\nexport function OptimizationsRouter() {\n usePatternFlyTheme();\n\n return (\n <Routes>\n <Route path=\"/\" element={<OptimizationsPage />} />\n <Route path=\"/:id/*\" element={<OptimizationsBreakdownPage />} />\n <Route path=\"*\" element={notFound} />\n </Routes>\n );\n}\n\n/** @public Legacy ResourceOptimizationPage mount (list + breakdown). */\nexport function Router() {\n usePatternFlyTheme();\n\n return (\n <Routes>\n <Route path=\"/\" element={<OptimizationsPage />} />\n <Route path=\"/:id/*\" element={<OptimizationsBreakdownPage />} />\n <Route path=\"*\" element={notFound} />\n </Routes>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAsBA,MAAM,2BAAW,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAO,KAAA,EAAM,eAAc,gBAAA,EAAiB,CAAA;AAMjE,SAAS,mBAAA,GAAsB;AACpC,EAAA,kBAAA,EAAmB;AAEnB,EAAA,4BACG,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAM,IAAA,EAAK,GAAA,EAAI,OAAA,kBAAS,GAAA,CAAC,qBAAkB,CAAA,EAAI,CAAA;AAAA,wBAC/C,KAAA,EAAA,EAAM,IAAA,EAAK,UAAS,OAAA,kBAAS,GAAA,CAAC,8BAA2B,CAAA,EAAI,CAAA;AAAA,oBAC9D,GAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAK,GAAA,EAAI,SAAS,QAAA,EAAU;AAAA,GAAA,EACrC,CAAA;AAEJ;AAGO,SAAS,MAAA,GAAS;AACvB,EAAA,kBAAA,EAAmB;AAEnB,EAAA,4BACG,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAM,IAAA,EAAK,GAAA,EAAI,OAAA,kBAAS,GAAA,CAAC,qBAAkB,CAAA,EAAI,CAAA;AAAA,wBAC/C,KAAA,EAAA,EAAM,IAAA,EAAK,UAAS,OAAA,kBAAS,GAAA,CAAC,8BAA2B,CAAA,EAAI,CAAA;AAAA,oBAC9D,GAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAK,GAAA,EAAI,SAAS,QAAA,EAAU;AAAA,GAAA,EACrC,CAAA;AAEJ;;;;"}
@@ -0,0 +1,136 @@
1
+ import * as react from 'react';
2
+ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
3
+ import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
4
+
5
+ /**
6
+ * Cost Management plugin for the Backstage new frontend system.
7
+ * @alpha
8
+ */
9
+ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{
10
+ root: _backstage_core_plugin_api.RouteRef<undefined>;
11
+ openShift: _backstage_core_plugin_api.RouteRef<undefined>;
12
+ breakdown: _backstage_core_plugin_api.SubRouteRef<_backstage_core_plugin_api.PathParams<"/:id/*">>;
13
+ }, {}, {
14
+ "api:cost-management/cost-management-slim": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
15
+ kind: "api";
16
+ name: "cost-management-slim";
17
+ config: {};
18
+ configInput: {};
19
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
20
+ inputs: {};
21
+ params: <TApi, TImpl extends TApi, TDeps extends { [name in string]: unknown; }>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
22
+ }>;
23
+ "api:cost-management/optimizations": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
24
+ kind: "api";
25
+ name: "optimizations";
26
+ config: {};
27
+ configInput: {};
28
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
29
+ inputs: {};
30
+ params: <TApi, TImpl extends TApi, TDeps extends { [name in string]: unknown; }>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
31
+ }>;
32
+ "api:cost-management/orchestrator-slim": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
33
+ kind: "api";
34
+ name: "orchestrator-slim";
35
+ config: {};
36
+ configInput: {};
37
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
38
+ inputs: {};
39
+ params: <TApi, TImpl extends TApi, TDeps extends { [name in string]: unknown; }>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
40
+ }>;
41
+ "icon-bundle:cost-management/cost-management-icons": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
42
+ kind: "icon-bundle";
43
+ name: "cost-management-icons";
44
+ config: {};
45
+ configInput: {};
46
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<{
47
+ [x: string]: _backstage_frontend_plugin_api.IconComponent | _backstage_frontend_plugin_api.IconElement;
48
+ }, "core.icons", {}>;
49
+ inputs: {};
50
+ params: {
51
+ icons: { [key in string]: _backstage_frontend_plugin_api.IconComponent | _backstage_frontend_plugin_api.IconElement; };
52
+ };
53
+ }>;
54
+ "page:cost-management": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
55
+ kind: "page";
56
+ name: undefined;
57
+ config: {
58
+ path: string | undefined;
59
+ title: string | undefined;
60
+ };
61
+ configInput: {
62
+ path?: string | undefined;
63
+ title?: string | undefined;
64
+ };
65
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
66
+ optional: true;
67
+ }> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {
68
+ optional: true;
69
+ }> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
70
+ optional: true;
71
+ }>;
72
+ inputs: {
73
+ pages: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.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", {
74
+ optional: true;
75
+ }> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.title", {
76
+ optional: true;
77
+ }> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
78
+ optional: true;
79
+ }>, {
80
+ singleton: false;
81
+ optional: false;
82
+ internal: false;
83
+ }>;
84
+ };
85
+ params: {
86
+ path: string;
87
+ title?: string;
88
+ icon?: _backstage_frontend_plugin_api.IconElement;
89
+ loader?: () => Promise<react.JSX.Element>;
90
+ routeRef?: _backstage_frontend_plugin_api.RouteRef;
91
+ noHeader?: boolean;
92
+ };
93
+ }>;
94
+ "page:cost-management/openshift": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
95
+ kind: "page";
96
+ name: "openshift";
97
+ config: {
98
+ path: string | undefined;
99
+ title: string | undefined;
100
+ };
101
+ configInput: {
102
+ path?: string | undefined;
103
+ title?: string | undefined;
104
+ };
105
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
106
+ optional: true;
107
+ }> | _backstage_frontend_plugin_api.ExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {
108
+ optional: true;
109
+ }> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
110
+ optional: true;
111
+ }>;
112
+ inputs: {
113
+ pages: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.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", {
114
+ optional: true;
115
+ }> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.title", {
116
+ optional: true;
117
+ }> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
118
+ optional: true;
119
+ }>, {
120
+ singleton: false;
121
+ optional: false;
122
+ internal: false;
123
+ }>;
124
+ };
125
+ params: {
126
+ path: string;
127
+ title?: string;
128
+ icon?: _backstage_frontend_plugin_api.IconElement;
129
+ loader?: () => Promise<react.JSX.Element>;
130
+ routeRef?: _backstage_frontend_plugin_api.RouteRef;
131
+ noHeader?: boolean;
132
+ };
133
+ }>;
134
+ }>;
135
+
136
+ export { _default as default };
@@ -0,0 +1,108 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { fetchApiRef, discoveryApiRef, identityApiRef } from '@backstage/core-plugin-api';
3
+ import { ApiBlueprint, createApiFactory, PageBlueprint, createFrontendPlugin } from '@backstage/frontend-plugin-api';
4
+ import { IconBundleBlueprint } from '@backstage/plugin-app-react';
5
+ import { OptimizationsClient, OrchestratorSlimClient, CostManagementSlimClient } from '@red-hat-developer-hub/plugin-cost-management-common/clients';
6
+ import { optimizationsApiRef, orchestratorSlimApiRef, costManagementSlimApiRef } from './apis.esm.js';
7
+ import '@material-ui/core/SvgIcon';
8
+ import { CostManagementIconOutlined } from './components/icon/CostManagementIconOutlined.esm.js';
9
+ import { rootRouteRef, openShiftRouteRef, optimizationsBreakdownRouteRef } from './routes.esm.js';
10
+
11
+ const optimizationsApi = ApiBlueprint.make({
12
+ name: "optimizations",
13
+ params: (defineParams) => defineParams(
14
+ createApiFactory({
15
+ api: optimizationsApiRef,
16
+ deps: {
17
+ discoveryApi: discoveryApiRef,
18
+ fetchApi: fetchApiRef
19
+ },
20
+ factory: ({ discoveryApi, fetchApi }) => new OptimizationsClient({
21
+ discoveryApi,
22
+ fetchApi
23
+ })
24
+ })
25
+ )
26
+ });
27
+ const orchestratorSlimApi = ApiBlueprint.make({
28
+ name: "orchestrator-slim",
29
+ params: (defineParams) => defineParams(
30
+ createApiFactory({
31
+ api: orchestratorSlimApiRef,
32
+ deps: {
33
+ discoveryApi: discoveryApiRef,
34
+ fetchApi: fetchApiRef,
35
+ identityApi: identityApiRef
36
+ },
37
+ factory: ({ discoveryApi, fetchApi, identityApi }) => new OrchestratorSlimClient({
38
+ discoveryApi,
39
+ fetchApi,
40
+ identityApi
41
+ })
42
+ })
43
+ )
44
+ });
45
+ const costManagementSlimApi = ApiBlueprint.make({
46
+ name: "cost-management-slim",
47
+ params: (defineParams) => defineParams(
48
+ createApiFactory({
49
+ api: costManagementSlimApiRef,
50
+ deps: {
51
+ discoveryApi: discoveryApiRef,
52
+ fetchApi: fetchApiRef
53
+ },
54
+ factory: ({ discoveryApi, fetchApi }) => new CostManagementSlimClient({
55
+ discoveryApi,
56
+ fetchApi
57
+ })
58
+ })
59
+ )
60
+ });
61
+ const costManagementIcons = IconBundleBlueprint.make({
62
+ name: "cost-management-icons",
63
+ params: {
64
+ icons: {
65
+ costManagementIconOutlined: CostManagementIconOutlined
66
+ }
67
+ }
68
+ });
69
+ const optimizationsPage = PageBlueprint.make({
70
+ params: {
71
+ path: "/cost-management/optimizations",
72
+ routeRef: rootRouteRef,
73
+ title: "Optimizations",
74
+ icon: /* @__PURE__ */ jsx(CostManagementIconOutlined, {}),
75
+ noHeader: true,
76
+ loader: () => import('./Router.esm.js').then((m) => /* @__PURE__ */ jsx(m.OptimizationsRouter, {}))
77
+ }
78
+ });
79
+ const openShiftPage = PageBlueprint.make({
80
+ name: "openshift",
81
+ params: {
82
+ path: "/cost-management/openshift",
83
+ routeRef: openShiftRouteRef,
84
+ title: "Cost Management",
85
+ icon: /* @__PURE__ */ jsx(CostManagementIconOutlined, {}),
86
+ noHeader: true,
87
+ loader: () => import('./pages/openshift/OpenShiftPage.esm.js').then((m) => /* @__PURE__ */ jsx(m.OpenShiftPage, {}))
88
+ }
89
+ });
90
+ var alpha = createFrontendPlugin({
91
+ pluginId: "cost-management",
92
+ extensions: [
93
+ optimizationsApi,
94
+ orchestratorSlimApi,
95
+ costManagementSlimApi,
96
+ costManagementIcons,
97
+ optimizationsPage,
98
+ openShiftPage
99
+ ],
100
+ routes: {
101
+ root: rootRouteRef,
102
+ openShift: openShiftRouteRef,
103
+ breakdown: optimizationsBreakdownRouteRef
104
+ }
105
+ });
106
+
107
+ export { alpha as default };
108
+ //# sourceMappingURL=alpha.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alpha.esm.js","sources":["../src/alpha.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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/**\n * New Frontend System entry (`./alpha`).\n *\n * @packageDocumentation\n */\n\nimport {\n discoveryApiRef,\n fetchApiRef,\n identityApiRef,\n} from '@backstage/core-plugin-api';\nimport {\n ApiBlueprint,\n createApiFactory,\n createFrontendPlugin,\n PageBlueprint,\n} from '@backstage/frontend-plugin-api';\nimport { IconBundleBlueprint } from '@backstage/plugin-app-react';\nimport {\n CostManagementSlimClient,\n OptimizationsClient,\n OrchestratorSlimClient,\n} from '@red-hat-developer-hub/plugin-cost-management-common/clients';\nimport {\n costManagementSlimApiRef,\n optimizationsApiRef,\n orchestratorSlimApiRef,\n} from './apis';\nimport { CostManagementIconOutlined } from './components/icon';\nimport {\n optimizationsBreakdownRouteRef,\n openShiftRouteRef,\n rootRouteRef,\n} from './routes';\n\nconst optimizationsApi = ApiBlueprint.make({\n name: 'optimizations',\n params: defineParams =>\n defineParams(\n createApiFactory({\n api: optimizationsApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new OptimizationsClient({\n discoveryApi,\n fetchApi,\n }),\n }),\n ),\n});\n\nconst orchestratorSlimApi = ApiBlueprint.make({\n name: 'orchestrator-slim',\n params: defineParams =>\n defineParams(\n createApiFactory({\n api: orchestratorSlimApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ discoveryApi, fetchApi, identityApi }) =>\n new OrchestratorSlimClient({\n discoveryApi,\n fetchApi,\n identityApi,\n }),\n }),\n ),\n});\n\nconst costManagementSlimApi = ApiBlueprint.make({\n name: 'cost-management-slim',\n params: defineParams =>\n defineParams(\n createApiFactory({\n api: costManagementSlimApiRef,\n deps: {\n discoveryApi: discoveryApiRef,\n fetchApi: fetchApiRef,\n },\n factory: ({ discoveryApi, fetchApi }) =>\n new CostManagementSlimClient({\n discoveryApi,\n fetchApi,\n }),\n }),\n ),\n});\n\nconst costManagementIcons = IconBundleBlueprint.make({\n name: 'cost-management-icons',\n params: {\n icons: {\n costManagementIconOutlined: CostManagementIconOutlined,\n },\n },\n});\n\nconst optimizationsPage = PageBlueprint.make({\n params: {\n path: '/cost-management/optimizations',\n routeRef: rootRouteRef,\n title: 'Optimizations',\n icon: <CostManagementIconOutlined />,\n noHeader: true,\n loader: () => import('./Router').then(m => <m.OptimizationsRouter />),\n },\n});\n\nconst openShiftPage = PageBlueprint.make({\n name: 'openshift',\n params: {\n path: '/cost-management/openshift',\n routeRef: openShiftRouteRef,\n title: 'Cost Management',\n icon: <CostManagementIconOutlined />,\n noHeader: true,\n loader: () =>\n import('./pages/openshift/OpenShiftPage').then(m => <m.OpenShiftPage />),\n },\n});\n\n/**\n * Cost Management plugin for the Backstage new frontend system.\n * @alpha\n */\nexport default createFrontendPlugin({\n pluginId: 'cost-management',\n extensions: [\n optimizationsApi,\n orchestratorSlimApi,\n costManagementSlimApi,\n costManagementIcons,\n optimizationsPage,\n openShiftPage,\n ],\n routes: {\n root: rootRouteRef,\n openShift: openShiftRouteRef,\n breakdown: optimizationsBreakdownRouteRef,\n },\n});\n"],"names":[],"mappings":";;;;;;;;;;AAmDA,MAAM,gBAAA,GAAmB,aAAa,IAAA,CAAK;AAAA,EACzC,IAAA,EAAM,eAAA;AAAA,EACN,QAAQ,CAAA,YAAA,KACN,YAAA;AAAA,IACE,gBAAA,CAAiB;AAAA,MACf,GAAA,EAAK,mBAAA;AAAA,MACL,IAAA,EAAM;AAAA,QACJ,YAAA,EAAc,eAAA;AAAA,QACd,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,SAAS,CAAC,EAAE,cAAc,QAAA,EAAS,KACjC,IAAI,mBAAA,CAAoB;AAAA,QACtB,YAAA;AAAA,QACA;AAAA,OACD;AAAA,KACJ;AAAA;AAEP,CAAC,CAAA;AAED,MAAM,mBAAA,GAAsB,aAAa,IAAA,CAAK;AAAA,EAC5C,IAAA,EAAM,mBAAA;AAAA,EACN,QAAQ,CAAA,YAAA,KACN,YAAA;AAAA,IACE,gBAAA,CAAiB;AAAA,MACf,GAAA,EAAK,sBAAA;AAAA,MACL,IAAA,EAAM;AAAA,QACJ,YAAA,EAAc,eAAA;AAAA,QACd,QAAA,EAAU,WAAA;AAAA,QACV,WAAA,EAAa;AAAA,OACf;AAAA,MACA,OAAA,EAAS,CAAC,EAAE,YAAA,EAAc,UAAU,WAAA,EAAY,KAC9C,IAAI,sBAAA,CAAuB;AAAA,QACzB,YAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACD;AAAA,KACJ;AAAA;AAEP,CAAC,CAAA;AAED,MAAM,qBAAA,GAAwB,aAAa,IAAA,CAAK;AAAA,EAC9C,IAAA,EAAM,sBAAA;AAAA,EACN,QAAQ,CAAA,YAAA,KACN,YAAA;AAAA,IACE,gBAAA,CAAiB;AAAA,MACf,GAAA,EAAK,wBAAA;AAAA,MACL,IAAA,EAAM;AAAA,QACJ,YAAA,EAAc,eAAA;AAAA,QACd,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,SAAS,CAAC,EAAE,cAAc,QAAA,EAAS,KACjC,IAAI,wBAAA,CAAyB;AAAA,QAC3B,YAAA;AAAA,QACA;AAAA,OACD;AAAA,KACJ;AAAA;AAEP,CAAC,CAAA;AAED,MAAM,mBAAA,GAAsB,oBAAoB,IAAA,CAAK;AAAA,EACnD,IAAA,EAAM,uBAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO;AAAA,MACL,0BAAA,EAA4B;AAAA;AAC9B;AAEJ,CAAC,CAAA;AAED,MAAM,iBAAA,GAAoB,cAAc,IAAA,CAAK;AAAA,EAC3C,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,gCAAA;AAAA,IACN,QAAA,EAAU,YAAA;AAAA,IACV,KAAA,EAAO,eAAA;AAAA,IACP,IAAA,sBAAO,0BAAA,EAAA,EAA2B,CAAA;AAAA,IAClC,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,MAAM,OAAO,iBAAU,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,qBAAK,GAAA,CAAC,CAAA,CAAE,mBAAA,EAAF,EAAsB,CAAE;AAAA;AAExE,CAAC,CAAA;AAED,MAAM,aAAA,GAAgB,cAAc,IAAA,CAAK;AAAA,EACvC,IAAA,EAAM,WAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,4BAAA;AAAA,IACN,QAAA,EAAU,iBAAA;AAAA,IACV,KAAA,EAAO,iBAAA;AAAA,IACP,IAAA,sBAAO,0BAAA,EAAA,EAA2B,CAAA;AAAA,IAClC,QAAA,EAAU,IAAA;AAAA,IACV,MAAA,EAAQ,MACN,OAAO,wCAAiC,CAAA,CAAE,IAAA,CAAK,CAAA,CAAA,qBAAK,GAAA,CAAC,CAAA,CAAE,aAAA,EAAF,EAAgB,CAAE;AAAA;AAE7E,CAAC,CAAA;AAMD,YAAe,oBAAA,CAAqB;AAAA,EAClC,QAAA,EAAU,iBAAA;AAAA,EACV,UAAA,EAAY;AAAA,IACV,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,qBAAA;AAAA,IACA,mBAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,YAAA;AAAA,IACN,SAAA,EAAW,iBAAA;AAAA,IACX,SAAA,EAAW;AAAA;AAEf,CAAC,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { PageWithHeader, Content, ContentHeader, SupportButton } from '@backstage/core-components';
3
3
 
4
4
  function BasePage(props) {
@@ -13,15 +13,18 @@ function BasePage(props) {
13
13
  showSupportButton = false,
14
14
  withContentPadding = false
15
15
  } = props;
16
- return /* @__PURE__ */ React.createElement(
16
+ return /* @__PURE__ */ jsx(
17
17
  PageWithHeader,
18
18
  {
19
19
  title: pageTitle,
20
20
  type: pageType,
21
21
  typeLink: pageTypeLink,
22
- themeId: pageThemeId
23
- },
24
- /* @__PURE__ */ React.createElement(Content, { noPadding: !withContentPadding }, showContentHeader && /* @__PURE__ */ React.createElement(ContentHeader, { title: contentHeaderTitle }, showSupportButton && /* @__PURE__ */ React.createElement(SupportButton, null, "Support")), children)
22
+ themeId: pageThemeId,
23
+ children: /* @__PURE__ */ jsxs(Content, { noPadding: !withContentPadding, children: [
24
+ showContentHeader && /* @__PURE__ */ jsx(ContentHeader, { title: contentHeaderTitle, children: showSupportButton && /* @__PURE__ */ jsx(SupportButton, { children: "Support" }) }),
25
+ children
26
+ ] })
27
+ }
25
28
  );
26
29
  }
27
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"BasePage.esm.js","sources":["../../src/components/BasePage.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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, { PropsWithChildren } from 'react';\nimport {\n PageWithHeader,\n Content,\n ContentHeader,\n SupportButton,\n} from '@backstage/core-components';\n\n/** @public */\nexport function BasePage(\n props: PropsWithChildren<{\n pageThemeId?: string;\n pageTitle: string;\n pageType?: string;\n pageTypeLink?: string;\n contentHeaderTitle?: string;\n showSupportButton?: boolean;\n showContentHeader?: boolean;\n withContentPadding?: boolean;\n }>,\n) {\n const {\n children,\n contentHeaderTitle = '',\n pageThemeId = 'tool',\n pageTitle,\n pageType,\n pageTypeLink,\n showContentHeader = false,\n showSupportButton = false,\n withContentPadding = false,\n } = props;\n\n return (\n <PageWithHeader\n title={pageTitle}\n type={pageType}\n typeLink={pageTypeLink}\n themeId={pageThemeId}\n >\n <Content noPadding={!withContentPadding}>\n {showContentHeader && (\n <ContentHeader title={contentHeaderTitle}>\n {showSupportButton && <SupportButton>Support</SupportButton>}\n </ContentHeader>\n )}\n {children}\n </Content>\n </PageWithHeader>\n );\n}\n"],"names":[],"mappings":";;;AAyBO,SAAS,SACd,KAAA,EAUA;AACA,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,kBAAA,GAAqB,EAAA;AAAA,IACrB,WAAA,GAAc,MAAA;AAAA,IACd,SAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAA,GAAoB,KAAA;AAAA,IACpB,iBAAA,GAAoB,KAAA;AAAA,IACpB,kBAAA,GAAqB;AAAA,GACvB,GAAI,KAAA;AAEJ,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU,YAAA;AAAA,MACV,OAAA,EAAS;AAAA,KAAA;AAAA,wCAER,OAAA,EAAA,EAAQ,SAAA,EAAW,CAAC,kBAAA,EAAA,EAClB,qCACC,KAAA,CAAA,aAAA,CAAC,aAAA,EAAA,EAAc,KAAA,EAAO,kBAAA,EAAA,EACnB,qCAAqB,KAAA,CAAA,aAAA,CAAC,aAAA,EAAA,IAAA,EAAc,SAAO,CAC9C,GAED,QACH;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"BasePage.esm.js","sources":["../../src/components/BasePage.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 { PropsWithChildren } from 'react';\nimport {\n PageWithHeader,\n Content,\n ContentHeader,\n SupportButton,\n} from '@backstage/core-components';\n\n/** @public */\nexport function BasePage(\n props: PropsWithChildren<{\n pageThemeId?: string;\n pageTitle: string;\n pageType?: string;\n pageTypeLink?: string;\n contentHeaderTitle?: string;\n showSupportButton?: boolean;\n showContentHeader?: boolean;\n withContentPadding?: boolean;\n }>,\n) {\n const {\n children,\n contentHeaderTitle = '',\n pageThemeId = 'tool',\n pageTitle,\n pageType,\n pageTypeLink,\n showContentHeader = false,\n showSupportButton = false,\n withContentPadding = false,\n } = props;\n\n return (\n <PageWithHeader\n title={pageTitle}\n type={pageType}\n typeLink={pageTypeLink}\n themeId={pageThemeId}\n >\n <Content noPadding={!withContentPadding}>\n {showContentHeader && (\n <ContentHeader title={contentHeaderTitle}>\n {showSupportButton && <SupportButton>Support</SupportButton>}\n </ContentHeader>\n )}\n {children}\n </Content>\n </PageWithHeader>\n );\n}\n"],"names":[],"mappings":";;;AAyBO,SAAS,SACd,KAAA,EAUA;AACA,EAAA,MAAM;AAAA,IACJ,QAAA;AAAA,IACA,kBAAA,GAAqB,EAAA;AAAA,IACrB,WAAA,GAAc,MAAA;AAAA,IACd,SAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAA,GAAoB,KAAA;AAAA,IACpB,iBAAA,GAAoB,KAAA;AAAA,IACpB,kBAAA,GAAqB;AAAA,GACvB,GAAI,KAAA;AAEJ,EAAA,uBACE,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU,YAAA;AAAA,MACV,OAAA,EAAS,WAAA;AAAA,MAET,QAAA,kBAAA,IAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAW,CAAC,kBAAA,EAClB,QAAA,EAAA;AAAA,QAAA,iBAAA,oBACC,GAAA,CAAC,iBAAc,KAAA,EAAO,kBAAA,EACnB,+CAAqB,GAAA,CAAC,aAAA,EAAA,EAAc,qBAAO,CAAA,EAC9C,CAAA;AAAA,QAED;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import Typography from '@material-ui/core/Typography';
3
3
 
4
4
  const InfoCardTitle = (props) => {
5
- return /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, /* @__PURE__ */ React.createElement("b", null, props.title));
5
+ return /* @__PURE__ */ jsx(Typography, { variant: "body1", children: /* @__PURE__ */ jsx("b", { children: props.title }) });
6
6
  };
7
7
 
8
8
  export { InfoCardTitle };
@@ -1 +1 @@
1
- {"version":3,"file":"InfoCardTitle.esm.js","sources":["../../src/components/InfoCardTitle.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 Typography from '@material-ui/core/Typography';\n\ninterface InfoCardTitleProps {\n title: React.ReactNode;\n}\n\nexport const InfoCardTitle = (props: InfoCardTitleProps) => {\n return (\n <Typography variant=\"body1\">\n <b>{props.title}</b>\n </Typography>\n );\n};\n"],"names":[],"mappings":";;;AAuBO,MAAM,aAAA,GAAgB,CAAC,KAAA,KAA8B;AAC1D,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,cAAW,OAAA,EAAQ,OAAA,EAAA,sCACjB,GAAA,EAAA,IAAA,EAAG,KAAA,CAAM,KAAM,CAClB,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"InfoCardTitle.esm.js","sources":["../../src/components/InfoCardTitle.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 { default as React } from 'react';\nimport Typography from '@material-ui/core/Typography';\n\ninterface InfoCardTitleProps {\n title: React.ReactNode;\n}\n\nexport const InfoCardTitle = (props: InfoCardTitleProps) => {\n return (\n <Typography variant=\"body1\">\n <b>{props.title}</b>\n </Typography>\n );\n};\n"],"names":[],"mappings":";;;AAuBO,MAAM,aAAA,GAAgB,CAAC,KAAA,KAA8B;AAC1D,EAAA,uBACE,GAAA,CAAC,cAAW,OAAA,EAAQ,OAAA,EAClB,8BAAC,GAAA,EAAA,EAAG,QAAA,EAAA,KAAA,CAAM,OAAM,CAAA,EAClB,CAAA;AAEJ;;;;"}
@@ -1,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useState } from 'react';
2
3
  import Box from '@material-ui/core/Box';
3
4
  import Button from '@material-ui/core/Button';
4
5
  import Drawer from '@material-ui/core/Drawer';
@@ -14,40 +15,46 @@ function Filters(props) {
14
15
  );
15
16
  const theme = useTheme();
16
17
  const [filterDrawerOpen, setFilterDrawerOpen] = useState(false);
17
- return isScreenSmallerThanBreakpoint ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
18
- Button,
19
- {
20
- style: { marginTop: theme.spacing(1), marginLeft: theme.spacing(1) },
21
- onClick: () => setFilterDrawerOpen(true),
22
- startIcon: /* @__PURE__ */ React.createElement(FilterListIcon, null)
23
- },
24
- "Filters"
25
- ), /* @__PURE__ */ React.createElement(
26
- Drawer,
27
- {
28
- open: filterDrawerOpen,
29
- onClose: () => setFilterDrawerOpen(false),
30
- anchor: props.options?.drawerAnchor ?? "left",
31
- disableAutoFocus: true,
32
- keepMounted: true,
33
- variant: "temporary"
34
- },
35
- /* @__PURE__ */ React.createElement(Box, { m: 2 }, /* @__PURE__ */ React.createElement(
36
- Typography,
18
+ return isScreenSmallerThanBreakpoint ? /* @__PURE__ */ jsxs(Fragment, { children: [
19
+ /* @__PURE__ */ jsx(
20
+ Button,
37
21
  {
38
- variant: "h6",
39
- component: "h2",
40
- style: { marginBottom: theme.spacing(1) }
41
- },
42
- "Filters"
43
- ), props.children)
44
- )) : /* @__PURE__ */ React.createElement(Grid, { item: true, lg: 2 }, props.children);
22
+ style: { marginTop: theme.spacing(1), marginLeft: theme.spacing(1) },
23
+ onClick: () => setFilterDrawerOpen(true),
24
+ startIcon: /* @__PURE__ */ jsx(FilterListIcon, {}),
25
+ children: "Filters"
26
+ }
27
+ ),
28
+ /* @__PURE__ */ jsx(
29
+ Drawer,
30
+ {
31
+ open: filterDrawerOpen,
32
+ onClose: () => setFilterDrawerOpen(false),
33
+ anchor: props.options?.drawerAnchor ?? "left",
34
+ disableAutoFocus: true,
35
+ keepMounted: true,
36
+ variant: "temporary",
37
+ children: /* @__PURE__ */ jsxs(Box, { m: 2, children: [
38
+ /* @__PURE__ */ jsx(
39
+ Typography,
40
+ {
41
+ variant: "h6",
42
+ component: "h2",
43
+ style: { marginBottom: theme.spacing(1) },
44
+ children: "Filters"
45
+ }
46
+ ),
47
+ props.children
48
+ ] })
49
+ }
50
+ )
51
+ ] }) : /* @__PURE__ */ jsx(Grid, { item: true, lg: 2, children: props.children });
45
52
  }
46
53
  function Table(props) {
47
- return /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12, lg: 10 }, props.children);
54
+ return /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, lg: 10, children: props.children });
48
55
  }
49
56
  function PageLayout(props) {
50
- return /* @__PURE__ */ React.createElement(Grid, { container: true, style: { position: "relative" } }, props.children);
57
+ return /* @__PURE__ */ jsx(Grid, { container: true, style: { position: "relative" }, children: props.children });
51
58
  }
52
59
  PageLayout.Filters = Filters;
53
60
  PageLayout.Table = Table;
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayout.esm.js","sources":["../../src/components/PageLayout.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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, { useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Drawer from '@material-ui/core/Drawer';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { Theme, useTheme } from '@material-ui/core/styles';\nimport FilterListIcon from '@material-ui/icons/FilterList';\n\nfunction Filters(props: {\n children: React.ReactNode;\n options?: {\n drawerBreakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;\n drawerAnchor?: 'left' | 'right' | 'top' | 'bottom';\n };\n}) {\n const isScreenSmallerThanBreakpoint = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down(props.options?.drawerBreakpoint ?? 'md'),\n );\n const theme = useTheme();\n const [filterDrawerOpen, setFilterDrawerOpen] = useState<boolean>(false);\n\n return isScreenSmallerThanBreakpoint ? (\n <>\n <Button\n style={{ marginTop: theme.spacing(1), marginLeft: theme.spacing(1) }}\n onClick={() => setFilterDrawerOpen(true)}\n startIcon={<FilterListIcon />}\n >\n Filters\n </Button>\n <Drawer\n open={filterDrawerOpen}\n onClose={() => setFilterDrawerOpen(false)}\n anchor={props.options?.drawerAnchor ?? 'left'}\n disableAutoFocus\n keepMounted\n variant=\"temporary\"\n >\n <Box m={2}>\n <Typography\n variant=\"h6\"\n component=\"h2\"\n style={{ marginBottom: theme.spacing(1) }}\n >\n Filters\n </Typography>\n {props.children}\n </Box>\n </Drawer>\n </>\n ) : (\n <Grid item lg={2}>\n {props.children}\n </Grid>\n );\n}\n\nfunction Table(props: { children: React.ReactNode }) {\n return (\n <Grid item xs={12} lg={10}>\n {props.children}\n </Grid>\n );\n}\n\n/** @public */\nexport function PageLayout(props: { children: React.ReactNode }) {\n return (\n <Grid container style={{ position: 'relative' }}>\n {props.children}\n </Grid>\n );\n}\n\nPageLayout.Filters = Filters;\nPageLayout.Table = Table;\n"],"names":["theme"],"mappings":";;;;;;;;;;AA0BA,SAAS,QAAQ,KAAA,EAMd;AACD,EAAA,MAAM,6BAAA,GAAgC,aAAA;AAAA,IAAc,CAACA,WACnDA,MAAAA,CAAM,WAAA,CAAY,KAAK,KAAA,CAAM,OAAA,EAAS,oBAAoB,IAAI;AAAA,GAChE;AACA,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAkB,KAAK,CAAA;AAEvE,EAAA,OAAO,gDACL,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,EAAE,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,EAAG,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,EAAE;AAAA,MACnE,OAAA,EAAS,MAAM,mBAAA,CAAoB,IAAI,CAAA;AAAA,MACvC,SAAA,sCAAY,cAAA,EAAA,IAAe;AAAA,KAAA;AAAA,IAC5B;AAAA,GAED,kBACA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,gBAAA;AAAA,MACN,OAAA,EAAS,MAAM,mBAAA,CAAoB,KAAK,CAAA;AAAA,MACxC,MAAA,EAAQ,KAAA,CAAM,OAAA,EAAS,YAAA,IAAgB,MAAA;AAAA,MACvC,gBAAA,EAAgB,IAAA;AAAA,MAChB,WAAA,EAAW,IAAA;AAAA,MACX,OAAA,EAAQ;AAAA,KAAA;AAAA,oBAER,KAAA,CAAA,aAAA,CAAC,GAAA,EAAA,EAAI,CAAA,EAAG,CAAA,EAAA,kBACN,KAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAQ,IAAA;AAAA,QACR,SAAA,EAAU,IAAA;AAAA,QACV,OAAO,EAAE,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAE,OAAA;AAAA,MACzC;AAAA,KAED,EACC,MAAM,QACT;AAAA,GAEJ,oBAEA,KAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAK,MAAI,IAAA,EAAC,EAAA,EAAI,CAAA,EAAA,EACZ,KAAA,CAAM,QACT,CAAA;AAEJ;AAEA,SAAS,MAAM,KAAA,EAAsC;AACnD,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,QAAK,IAAA,EAAI,IAAA,EAAC,IAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAA,EACpB,KAAA,CAAM,QACT,CAAA;AAEJ;AAGO,SAAS,WAAW,KAAA,EAAsC;AAC/D,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAS,IAAA,EAAC,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAW,EAAA,EAC3C,KAAA,CAAM,QACT,CAAA;AAEJ;AAEA,UAAA,CAAW,OAAA,GAAU,OAAA;AACrB,UAAA,CAAW,KAAA,GAAQ,KAAA;;;;"}
1
+ {"version":3,"file":"PageLayout.esm.js","sources":["../../src/components/PageLayout.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 { default as React, useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Button from '@material-ui/core/Button';\nimport Drawer from '@material-ui/core/Drawer';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { Theme, useTheme } from '@material-ui/core/styles';\nimport FilterListIcon from '@material-ui/icons/FilterList';\n\nfunction Filters(props: {\n children: React.ReactNode;\n options?: {\n drawerBreakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;\n drawerAnchor?: 'left' | 'right' | 'top' | 'bottom';\n };\n}) {\n const isScreenSmallerThanBreakpoint = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down(props.options?.drawerBreakpoint ?? 'md'),\n );\n const theme = useTheme();\n const [filterDrawerOpen, setFilterDrawerOpen] = useState<boolean>(false);\n\n return isScreenSmallerThanBreakpoint ? (\n <>\n <Button\n style={{ marginTop: theme.spacing(1), marginLeft: theme.spacing(1) }}\n onClick={() => setFilterDrawerOpen(true)}\n startIcon={<FilterListIcon />}\n >\n Filters\n </Button>\n <Drawer\n open={filterDrawerOpen}\n onClose={() => setFilterDrawerOpen(false)}\n anchor={props.options?.drawerAnchor ?? 'left'}\n disableAutoFocus\n keepMounted\n variant=\"temporary\"\n >\n <Box m={2}>\n <Typography\n variant=\"h6\"\n component=\"h2\"\n style={{ marginBottom: theme.spacing(1) }}\n >\n Filters\n </Typography>\n {props.children}\n </Box>\n </Drawer>\n </>\n ) : (\n <Grid item lg={2}>\n {props.children}\n </Grid>\n );\n}\n\nfunction Table(props: { children: React.ReactNode }) {\n return (\n <Grid item xs={12} lg={10}>\n {props.children}\n </Grid>\n );\n}\n\n/** @public */\nexport function PageLayout(props: { children: React.ReactNode }) {\n return (\n <Grid container style={{ position: 'relative' }}>\n {props.children}\n </Grid>\n );\n}\n\nPageLayout.Filters = Filters;\nPageLayout.Table = Table;\n"],"names":["theme"],"mappings":";;;;;;;;;;;AA0BA,SAAS,QAAQ,KAAA,EAMd;AACD,EAAA,MAAM,6BAAA,GAAgC,aAAA;AAAA,IAAc,CAACA,WACnDA,MAAAA,CAAM,WAAA,CAAY,KAAK,KAAA,CAAM,OAAA,EAAS,oBAAoB,IAAI;AAAA,GAChE;AACA,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAkB,KAAK,CAAA;AAEvE,EAAA,OAAO,gDACL,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,EAAE,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,EAAG,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,EAAE;AAAA,QACnE,OAAA,EAAS,MAAM,mBAAA,CAAoB,IAAI,CAAA;AAAA,QACvC,SAAA,sBAAY,cAAA,EAAA,EAAe,CAAA;AAAA,QAC5B,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBACA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,gBAAA;AAAA,QACN,OAAA,EAAS,MAAM,mBAAA,CAAoB,KAAK,CAAA;AAAA,QACxC,MAAA,EAAQ,KAAA,CAAM,OAAA,EAAS,YAAA,IAAgB,MAAA;AAAA,QACvC,gBAAA,EAAgB,IAAA;AAAA,QAChB,WAAA,EAAW,IAAA;AAAA,QACX,OAAA,EAAQ,WAAA;AAAA,QAER,QAAA,kBAAA,IAAA,CAAC,GAAA,EAAA,EAAI,CAAA,EAAG,CAAA,EACN,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,IAAA;AAAA,cACR,SAAA,EAAU,IAAA;AAAA,cACV,OAAO,EAAE,YAAA,EAAc,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,EAAE;AAAA,cACzC,QAAA,EAAA;AAAA;AAAA,WAED;AAAA,UACC,KAAA,CAAM;AAAA,SAAA,EACT;AAAA;AAAA;AACF,GAAA,EACF,CAAA,uBAEC,IAAA,EAAA,EAAK,IAAA,EAAI,MAAC,EAAA,EAAI,CAAA,EACZ,gBAAM,QAAA,EACT,CAAA;AAEJ;AAEA,SAAS,MAAM,KAAA,EAAsC;AACnD,EAAA,uBACE,GAAA,CAAC,QAAK,IAAA,EAAI,IAAA,EAAC,IAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EACpB,QAAA,EAAA,KAAA,CAAM,QAAA,EACT,CAAA;AAEJ;AAGO,SAAS,WAAW,KAAA,EAAsC;AAC/D,EAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAS,IAAA,EAAC,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAW,EAC3C,QAAA,EAAA,KAAA,CAAM,QAAA,EACT,CAAA;AAEJ;AAEA,UAAA,CAAW,OAAA,GAAU,OAAA;AACrB,UAAA,CAAW,KAAA,GAAQ,KAAA;;;;"}
@@ -1,10 +1,10 @@
1
- import React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import SvgIcon from '@material-ui/core/SvgIcon';
3
3
 
4
4
  const AnalyticsIcon = (props) => {
5
5
  const variant = props.variant ?? "outlined";
6
- const path = variant === "outlined" ? /* @__PURE__ */ React.createElement("path", { d: "M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z" }) : /* @__PURE__ */ React.createElement("path", { d: "M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" });
7
- return /* @__PURE__ */ React.createElement(SvgIcon, { ...props, viewBox: "0 -960 960 960" }, path);
6
+ const path = variant === "outlined" ? /* @__PURE__ */ jsx("path", { d: "M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z" }) : /* @__PURE__ */ jsx("path", { d: "M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" });
7
+ return /* @__PURE__ */ jsx(SvgIcon, { ...props, viewBox: "0 -960 960 960", children: path });
8
8
  };
9
9
 
10
10
  export { AnalyticsIcon };
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsIcon.esm.js","sources":["../../../src/components/icon/AnalyticsIcon.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\n\n/**\n * The Analytics icon.\n *\n * @public\n */\nexport const AnalyticsIcon = (\n props: SvgIconProps & { variant?: 'outlined' | 'filled' },\n) => {\n const variant = props.variant ?? 'outlined';\n const path =\n variant === 'outlined' ? (\n <path d=\"M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z\" />\n ) : (\n <path d=\"M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z\" />\n );\n\n return (\n <SvgIcon {...props} viewBox=\"0 -960 960 960\">\n {path}\n </SvgIcon>\n );\n};\n"],"names":[],"mappings":";;;AAwBO,MAAM,aAAA,GAAgB,CAC3B,KAAA,KACG;AACH,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,IAAW,UAAA;AACjC,EAAA,MAAM,IAAA,GACJ,OAAA,KAAY,UAAA,mBACV,KAAA,CAAA,aAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4PAAA,EAA6P,CAAA,mBAErQ,KAAA,CAAA,aAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sNAAA,EAAuN,CAAA;AAGnO,EAAA,2CACG,OAAA,EAAA,EAAS,GAAG,KAAA,EAAO,OAAA,EAAQ,oBACzB,IACH,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"AnalyticsIcon.esm.js","sources":["../../../src/components/icon/AnalyticsIcon.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\n\n/**\n * The Analytics icon.\n *\n * @public\n */\nexport const AnalyticsIcon = (\n props: SvgIconProps & { variant?: 'outlined' | 'filled' },\n) => {\n const variant = props.variant ?? 'outlined';\n const path =\n variant === 'outlined' ? (\n <path d=\"M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z\" />\n ) : (\n <path d=\"M280-280h80v-200h-80v200Zm320 0h80v-400h-80v400Zm-160 0h80v-120h-80v120Zm0-200h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z\" />\n );\n\n return (\n <SvgIcon {...props} viewBox=\"0 -960 960 960\">\n {path}\n </SvgIcon>\n );\n};\n"],"names":[],"mappings":";;;AAuBO,MAAM,aAAA,GAAgB,CAC3B,KAAA,KACG;AACH,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,IAAW,UAAA;AACjC,EAAA,MAAM,IAAA,GACJ,OAAA,KAAY,UAAA,mBACV,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4PAAA,EAA6P,CAAA,mBAErQ,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sNAAA,EAAuN,CAAA;AAGnO,EAAA,2BACG,OAAA,EAAA,EAAS,GAAG,KAAA,EAAO,OAAA,EAAQ,kBACzB,QAAA,EAAA,IAAA,EACH,CAAA;AAEJ;;;;"}
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { AnalyticsIcon } from './AnalyticsIcon.esm.js';
3
3
 
4
4
  const AnalyticsIconFilled = (props) => {
5
- return /* @__PURE__ */ React.createElement(AnalyticsIcon, { variant: "filled", ...props });
5
+ return /* @__PURE__ */ jsx(AnalyticsIcon, { variant: "filled", ...props });
6
6
  };
7
7
 
8
8
  export { AnalyticsIconFilled };
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsIconFilled.esm.js","sources":["../../../src/components/icon/AnalyticsIconFilled.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 type { SvgIconProps } from '@material-ui/core/SvgIcon';\nimport { AnalyticsIcon } from './AnalyticsIcon';\n\n/**\n * The filled variant of the Analytics icon.\n *\n * @public\n */\nexport const AnalyticsIconFilled = (props: SvgIconProps) => {\n return <AnalyticsIcon variant=\"filled\" {...props} />;\n};\n"],"names":[],"mappings":";;;AAyBO,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAAwB;AAC1D,EAAA,uBAAO,KAAA,CAAA,aAAA,CAAC,aAAA,EAAA,EAAc,OAAA,EAAQ,QAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AACpD;;;;"}
1
+ {"version":3,"file":"AnalyticsIconFilled.esm.js","sources":["../../../src/components/icon/AnalyticsIconFilled.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\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 type { SvgIconProps } from '@material-ui/core/SvgIcon';\nimport { AnalyticsIcon } from './AnalyticsIcon';\n\n/**\n * The filled variant of the Analytics icon.\n *\n * @public\n */\nexport const AnalyticsIconFilled = (props: SvgIconProps) => {\n return <AnalyticsIcon variant=\"filled\" {...props} />;\n};\n"],"names":[],"mappings":";;;AAwBO,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAAwB;AAC1D,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAc,OAAA,EAAQ,QAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AACpD;;;;"}
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { AnalyticsIcon } from './AnalyticsIcon.esm.js';
3
3
 
4
4
  const AnalyticsIconOutlined = (props) => {
5
- return /* @__PURE__ */ React.createElement(AnalyticsIcon, { variant: "outlined", ...props });
5
+ return /* @__PURE__ */ jsx(AnalyticsIcon, { variant: "outlined", ...props });
6
6
  };
7
7
 
8
8
  export { AnalyticsIconOutlined };