@red-hat-developer-hub/plugin-cost-management 2.0.3-rc.4

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 (97) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +152 -0
  3. package/app-config.dynamic.yaml +28 -0
  4. package/dist/Router.esm.js +21 -0
  5. package/dist/Router.esm.js.map +1 -0
  6. package/dist/apis.esm.js +14 -0
  7. package/dist/apis.esm.js.map +1 -0
  8. package/dist/components/BasePage.esm.js +29 -0
  9. package/dist/components/BasePage.esm.js.map +1 -0
  10. package/dist/components/InfoCardTitle.esm.js +9 -0
  11. package/dist/components/InfoCardTitle.esm.js.map +1 -0
  12. package/dist/components/PageLayout.esm.js +56 -0
  13. package/dist/components/PageLayout.esm.js.map +1 -0
  14. package/dist/components/filtersStyles.esm.js +32 -0
  15. package/dist/components/filtersStyles.esm.js.map +1 -0
  16. package/dist/components/icon/AnalyticsIcon.esm.js +11 -0
  17. package/dist/components/icon/AnalyticsIcon.esm.js.map +1 -0
  18. package/dist/components/icon/AnalyticsIconFilled.esm.js +9 -0
  19. package/dist/components/icon/AnalyticsIconFilled.esm.js.map +1 -0
  20. package/dist/components/icon/AnalyticsIconOutlined.esm.js +9 -0
  21. package/dist/components/icon/AnalyticsIconOutlined.esm.js.map +1 -0
  22. package/dist/components/icon/CostManagementIcon.esm.js +11 -0
  23. package/dist/components/icon/CostManagementIcon.esm.js.map +1 -0
  24. package/dist/components/icon/CostManagementIconFilled.esm.js +9 -0
  25. package/dist/components/icon/CostManagementIconFilled.esm.js.map +1 -0
  26. package/dist/components/icon/CostManagementIconOutlined.esm.js +9 -0
  27. package/dist/components/icon/CostManagementIconOutlined.esm.js.map +1 -0
  28. package/dist/constants/currencies.esm.js +36 -0
  29. package/dist/constants/currencies.esm.js.map +1 -0
  30. package/dist/hooks/usePatternFlyTheme.esm.js +22 -0
  31. package/dist/hooks/usePatternFlyTheme.esm.js.map +1 -0
  32. package/dist/hooks/useThemeBackgroundColor.esm.js +13 -0
  33. package/dist/hooks/useThemeBackgroundColor.esm.js.map +1 -0
  34. package/dist/index.d.ts +71 -0
  35. package/dist/index.esm.js +9 -0
  36. package/dist/index.esm.js.map +1 -0
  37. package/dist/pages/openshift/OpenShiftPage.esm.js +727 -0
  38. package/dist/pages/openshift/OpenShiftPage.esm.js.map +1 -0
  39. package/dist/pages/openshift/components/AutocompleteComponent.esm.js +65 -0
  40. package/dist/pages/openshift/components/AutocompleteComponent.esm.js.map +1 -0
  41. package/dist/pages/openshift/components/DownloadIconButton.esm.js +49 -0
  42. package/dist/pages/openshift/components/DownloadIconButton.esm.js.map +1 -0
  43. package/dist/pages/openshift/components/Filters.esm.js +360 -0
  44. package/dist/pages/openshift/components/Filters.esm.js.map +1 -0
  45. package/dist/pages/openshift/components/PageHeader.esm.js +31 -0
  46. package/dist/pages/openshift/components/PageHeader.esm.js.map +1 -0
  47. package/dist/pages/openshift/components/SelectComponent.esm.js +68 -0
  48. package/dist/pages/openshift/components/SelectComponent.esm.js.map +1 -0
  49. package/dist/pages/openshift/components/TableToolbar.esm.js +249 -0
  50. package/dist/pages/openshift/components/TableToolbar.esm.js.map +1 -0
  51. package/dist/pages/optimizations/OptimizationsPage.esm.js +205 -0
  52. package/dist/pages/optimizations/OptimizationsPage.esm.js.map +1 -0
  53. package/dist/pages/optimizations/components/ComboBox.esm.js +84 -0
  54. package/dist/pages/optimizations/components/ComboBox.esm.js.map +1 -0
  55. package/dist/pages/optimizations/components/Filters.esm.js +59 -0
  56. package/dist/pages/optimizations/components/Filters.esm.js.map +1 -0
  57. package/dist/pages/optimizations/components/TableToolbar.esm.js +40 -0
  58. package/dist/pages/optimizations/components/TableToolbar.esm.js.map +1 -0
  59. package/dist/pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js +211 -0
  60. package/dist/pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js.map +1 -0
  61. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/OptimizationEngineTab.esm.js +132 -0
  62. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/OptimizationEngineTab.esm.js.map +1 -0
  63. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/CodeInfoCard.esm.js +37 -0
  64. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/CodeInfoCard.esm.js.map +1 -0
  65. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/ContainerInfoCard.esm.js +50 -0
  66. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/ContainerInfoCard.esm.js.map +1 -0
  67. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/ChartInfoCard.esm.js +26 -0
  68. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/ChartInfoCard.esm.js.map +1 -0
  69. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/IntlBreakdownChart.esm.js +51 -0
  70. package/dist/pages/optimizations-breakdown/components/optimization-engine-tab/components/chart-info-card/components/IntlBreakdownChart.esm.js.map +1 -0
  71. 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 +388 -0
  72. 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 -0
  73. 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/i18n/data.json.esm.js +512 -0
  74. 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/i18n/data.json.esm.js.map +1 -0
  75. 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/i18n/intl.esm.js +18 -0
  76. 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/i18n/intl.esm.js.map +1 -0
  77. 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/i18n/messages.esm.js +72 -0
  78. 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/i18n/messages.esm.js.map +1 -0
  79. 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/utils/chart-data-format.esm.js +96 -0
  80. 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/utils/chart-data-format.esm.js.map +1 -0
  81. 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/utils/chart-datum.esm.js +74 -0
  82. 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/utils/chart-datum.esm.js.map +1 -0
  83. 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/utils/chart-utils.esm.js +109 -0
  84. 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/utils/chart-utils.esm.js.map +1 -0
  85. 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/utils/format.esm.js +25 -0
  86. 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/utils/format.esm.js.map +1 -0
  87. package/dist/pages/optimizations-breakdown/models/ChartEnums.esm.js +23 -0
  88. package/dist/pages/optimizations-breakdown/models/ChartEnums.esm.js.map +1 -0
  89. package/dist/pages/optimizations-breakdown/models/YamlCodeData.esm.js +129 -0
  90. package/dist/pages/optimizations-breakdown/models/YamlCodeData.esm.js.map +1 -0
  91. package/dist/plugin.esm.js +73 -0
  92. package/dist/plugin.esm.js.map +1 -0
  93. package/dist/routes.esm.js +16 -0
  94. package/dist/routes.esm.js.map +1 -0
  95. package/dist/utils/dates.esm.js +37 -0
  96. package/dist/utils/dates.esm.js.map +1 -0
  97. package/package.json +110 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # @red-hat-developer-hub/plugin-cost-management
2
+
3
+ ## 2.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - a889090: - Migrate from rhdh-theme to the theme within rhdh-plugins repo
8
+ - Fix package name in README and CHANGELOG
9
+ - Align pluginId in package.json to group pluginPackages
10
+ - Updated dependencies [a889090]
11
+ - Updated dependencies [03c0a11]
12
+ - @red-hat-developer-hub/plugin-cost-management-common@2.0.1
13
+
14
+ ## 2.0.0
15
+
16
+ ### Major Changes
17
+
18
+ - 02bf923: plugin for viewing and applying Red Hat Insight recommendations
19
+ - 67c18a8: sync with original repo
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [02bf923]
24
+ - Updated dependencies [67c18a8]
25
+ - @red-hat-developer-hub/plugin-cost-management-common@2.0.0
package/README.md ADDED
@@ -0,0 +1,152 @@
1
+ # Resource Optimization
2
+
3
+ Welcome to the Resource Optimization plugin!
4
+
5
+ Based on [Project Koku](https://github.com/project-koku/koku), the Resource Optimization plugin allows users to visualize usage trends and receive optimization recommendations for workloads running on OpenShift clusters.
6
+
7
+ ## Getting started
8
+
9
+ The plugin consumes services from [Red Hat Hybrid Cloud Console](https://console.redhat.com/openshift/cost-management/optimizations), therefore your clusters [must be configured to receive optimization recommendations](https://docs.redhat.com/en/documentation/cost_management_service/1-latest/html-single/getting_started_with_resource_optimization_for_openshift/index).
10
+ To get started, [create a service account](https://console.redhat.com/application-services/service-accounts) and assign it the `Cost OpenShift Viewer` role from the Red Hat Hybrid Cloud Console.
11
+
12
+ ### Setup
13
+
14
+ You can follow one of these options depending on your environment and how you choose to deploy Backstage.
15
+
16
+ #### Option 1: Static plugin
17
+
18
+ 1. Add the dependencies
19
+
20
+ ```sh
21
+ # From your rhdh root directory
22
+ yarn --cwd packages/app add @red-hat-developer-hub/plugin-cost-management
23
+ yarn --cwd packages/backend add @red-hat-developer-hub/plugin-cost-management-backend
24
+ ```
25
+
26
+ 1. Update your `app-config.yaml` file
27
+
28
+ ```yaml
29
+ # app-config.yaml
30
+
31
+ # Replace `${RHHCC_SA_CLIENT_ID}` and `${RHHCC_SA_CLIENT_SECRET}` with the service account credentials.
32
+ costManagement:
33
+ clientId: ${RHHCC_SA_CLIENT_ID}
34
+ clientSecret: ${RHHCC_SA_CLIENT_SECRET}
35
+ ```
36
+
37
+ > **Note:** No `proxy` configuration is required. The backend plugin handles all
38
+ > communication with the Red Hat Cost Management API server-side, including SSO
39
+ > token management and RBAC enforcement.
40
+
41
+ 1. Add the back-end plugin to `packages/backend/src/index.ts`
42
+
43
+ ```ts
44
+ backend.add(import('@red-hat-developer-hub/plugin-cost-management-backend'));
45
+ ```
46
+
47
+ 1. Add the `ResourceOptimizationPage` extension to your `App.tsx` routes
48
+
49
+ ```ts
50
+ // packages/app/src/App.tsx
51
+
52
+ import { ResourceOptimizationPage } from '@red-hat-developer-hub/plugin-cost-management';
53
+
54
+ <FlatRoutes>
55
+ ...
56
+ <Route
57
+ path="/cost-management/optimizations"
58
+ element={<ResourceOptimizationPage />}
59
+ />
60
+ ...
61
+ </FlatRoutes>;
62
+ ```
63
+
64
+ 1. Add a link to the Resource Optimization page in the side bar
65
+
66
+ ```diff
67
+ // packages/app/src/components/Root/Root.tsx
68
+
69
+ + import { CostManagementIconOutlined } from '@red-hat-developer-hub/plugin-cost-management';
70
+
71
+ export const Root = ({ children }: PropsWithChildren<{}>) => (
72
+ <SidebarPage>
73
+ <Sidebar>
74
+ <SidebarLogo />
75
+ <SidebarGroup label="Search" icon={<SearchIcon />} to="/search">
76
+ <SidebarSearchModal />
77
+ </SidebarGroup>
78
+ <SidebarDivider />
79
+ <SidebarGroup label="Menu" icon={<MenuIcon />}>
80
+ {/* Global nav, not org-specific */}
81
+ <SidebarItem icon={HomeIcon} to="catalog" text="Home" />
82
+ <SidebarItem icon={ExtensionIcon} to="api-docs" text="APIs" />
83
+ <SidebarItem icon={LibraryBooks} to="docs" text="Docs" />
84
+ <SidebarItem icon={CreateComponentIcon} to="create" text="Create..." />
85
+ {/* End global nav */}
86
+ <SidebarDivider />
87
+ <SidebarScrollWrapper>
88
+ <SidebarItem icon={MapIcon} to="tech-radar" text="Tech Radar" />
89
+ </SidebarScrollWrapper>
90
+ + <SidebarItem
91
+ + icon={CostManagementIconOutlined}
92
+ + to="/cost-management/optimizations"
93
+ + text="Optimizations"
94
+ + />
95
+ </SidebarGroup>
96
+ <SidebarSpace />
97
+ <SidebarDivider />
98
+ <SidebarGroup
99
+ label="Settings"
100
+ icon={<UserSettingsSignInAvatar />}
101
+ to="/settings"
102
+ >
103
+ <SidebarSettings />
104
+ </SidebarGroup>
105
+ </Sidebar>
106
+ {children}
107
+ </SidebarPage>
108
+ );
109
+ ```
110
+
111
+ #### Option 2: Dynamic plugin
112
+
113
+ Unlike static plugins that necessitate source code modifications, dynamic plugins can be seamlessly integrated through configuration entries in the `app-config.yaml` file.
114
+ Red Hat Developer Hub (RHDH) leverages dynamic plugins to efficiently deploy plugins on a Backstage instance.
115
+
116
+ The procedure involves the following steps:
117
+
118
+ 1. First and foremost, you must follow [these instructions](https://github.com/redhat-developer/rhdh/blob/main/docs/dynamic-plugins/export-derived-package.md) to understand how to export this plugin as a dynamic plugin.
119
+ 1. Ensure you are familiar with the [RHDH configuration docs](https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.3/html/administration_guide_for_red_hat_developer_hub/assembly-add-custom-app-file-openshift_admin-rhdh#proc-add-custom-app-config-file-ocp-operator_admin-rhdh)
120
+ 1. Specially, make sure you have configured
121
+
122
+ - ConfigMaps: `app-config-rhdh`, `dynamic-plugins-rhdh`
123
+ - Secrets: `secrets-rhdh`
124
+
125
+ 1. Add the following configuration to each one of the objects mentioned above respectively
126
+
127
+ ```yaml
128
+ # Add to secrets-rhdh Secret
129
+
130
+ RHHCC_SA_CLIENT_ID: # <as base64 string>
131
+ RHHCC_SA_CLIENT_SECRET: # <as base64 string>
132
+ ```
133
+
134
+ ```yaml
135
+ # Add to app-config-rhdh ConfigMap
136
+
137
+ costManagement:
138
+ clientId: '${RHHCC_SA_CLIENT_ID}'
139
+ clientSecret: '${RHHCC_SA_CLIENT_SECRET}'
140
+ ```
141
+
142
+ > **Note:** No `proxy` configuration is required. The backend plugin handles all
143
+ > communication with the Red Hat Cost Management API server-side, including SSO
144
+ > token management and RBAC enforcement.
145
+
146
+ See [dynamic-plugin.md](../docs/dynamic-plugin.md) for complete dynamic plugin configuration.
147
+
148
+ ### Contributing
149
+
150
+ - [License Apache 2.0](../../LICENSE.md)
151
+ - [DCO](../../DCO.md)
152
+ - Find more details in the [Resource Optimization back-end](../cost-mangament-backend/README.md) part of this plugin.
@@ -0,0 +1,28 @@
1
+ dynamicPlugins:
2
+ frontend:
3
+ red-hat-developer-hub.plugin-cost-management:
4
+ appIcons:
5
+ - name: costManagementIconOutlined
6
+ importName: CostManagementIconOutlined
7
+ dynamicRoutes:
8
+ - path: /cost-management/optimizations
9
+ importName: ResourceOptimizationPage
10
+ menuItem:
11
+ icon: costManagementIconOutlined
12
+ text: Optimizations
13
+ - path: /cost-management/openshift
14
+ importName: OpenShiftPage
15
+ menuItem:
16
+ icon: costManagementIconOutlined
17
+ text: OpenShift
18
+ menuItems:
19
+ cost-management/optimizations:
20
+ parent: cost-management
21
+ priority: 10
22
+ cost-management/openshift:
23
+ parent: cost-management
24
+ priority: 20
25
+ cost-management:
26
+ icon: costManagementIconOutlined
27
+ title: Cost management
28
+ priority: 100
@@ -0,0 +1,21 @@
1
+ import { ErrorPage } from '@backstage/core-components';
2
+ import React from 'react';
3
+ import { Routes, Route } from 'react-router-dom';
4
+ import { OptimizationsPage } from './pages/optimizations/OptimizationsPage.esm.js';
5
+ import { OptimizationsBreakdownPage } from './pages/optimizations-breakdown/OptimizationsBreakdownPage.esm.js';
6
+ import { OpenShiftPage } from './pages/openshift/OpenShiftPage.esm.js';
7
+ import { usePatternFlyTheme } from './hooks/usePatternFlyTheme.esm.js';
8
+
9
+ function Router() {
10
+ 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
+ ));
18
+ }
19
+
20
+ export { Router };
21
+ //# sourceMappingURL=Router.esm.js.map
@@ -0,0 +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,MAAS,GAAA;AACvB,EAAmB,kBAAA,EAAA;AAEnB,EAAA,2CACG,MACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,IAAA,EAAK,KAAI,OAAS,kBAAA,KAAA,CAAA,aAAA,CAAC,iBAAkB,EAAA,IAAA,CAAA,EAAI,mBAC/C,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,IAAK,EAAA,gBAAA,EAAiB,yBAAU,KAAA,CAAA,aAAA,CAAA,iBAAA,EAAA,IAAkB,CAAI,EAAA,CAAA,sCAC5D,KAAM,EAAA,EAAA,IAAA,EAAK,YAAa,EAAA,OAAA,sCAAU,aAAc,EAAA,IAAA,CAAA,EAAI,CACrD,kBAAA,KAAA,CAAA,aAAA,CAAC,SAAM,IAAK,EAAA,QAAA,EAAS,yBAAU,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA,IAA2B,GAAI,CAC9D,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,GAAA;AAAA,MACL,yBAAU,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAU,MAAO,EAAA,KAAA,EAAM,eAAc,gBAAiB,EAAA;AAAA;AAAA,GAEpE,CAAA;AAEJ;;;;"}
@@ -0,0 +1,14 @@
1
+ import { createApiRef } from '@backstage/core-plugin-api';
2
+
3
+ const optimizationsApiRef = createApiRef({
4
+ id: "plugin.cost-management.api"
5
+ });
6
+ const orchestratorSlimApiRef = createApiRef({
7
+ id: "plugin.redhat-orchestrator-slim.api"
8
+ });
9
+ const costManagementSlimApiRef = createApiRef({
10
+ id: "plugin.redhat-cost-management-slim.api"
11
+ });
12
+
13
+ export { costManagementSlimApiRef, optimizationsApiRef, orchestratorSlimApiRef };
14
+ //# sourceMappingURL=apis.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apis.esm.js","sources":["../src/apis.ts"],"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 { createApiRef } from '@backstage/core-plugin-api';\nimport {\n type OptimizationsApi,\n type OrchestratorSlimApi,\n type CostManagementSlimApi,\n} from '@red-hat-developer-hub/plugin-cost-management-common/clients';\n\n/** @public */\nexport const optimizationsApiRef = createApiRef<OptimizationsApi>({\n id: 'plugin.cost-management.api',\n});\n\n/** @public */\nexport const orchestratorSlimApiRef = createApiRef<OrchestratorSlimApi>({\n id: 'plugin.redhat-orchestrator-slim.api',\n});\n\n/** @public */\nexport const costManagementSlimApiRef = createApiRef<CostManagementSlimApi>({\n id: 'plugin.redhat-cost-management-slim.api',\n});\n"],"names":[],"mappings":";;AAwBO,MAAM,sBAAsB,YAA+B,CAAA;AAAA,EAChE,EAAI,EAAA;AACN,CAAC;AAGM,MAAM,yBAAyB,YAAkC,CAAA;AAAA,EACtE,EAAI,EAAA;AACN,CAAC;AAGM,MAAM,2BAA2B,YAAoC,CAAA;AAAA,EAC1E,EAAI,EAAA;AACN,CAAC;;;;"}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { PageWithHeader, Content, ContentHeader, SupportButton } from '@backstage/core-components';
3
+
4
+ function BasePage(props) {
5
+ const {
6
+ children,
7
+ contentHeaderTitle = "",
8
+ pageThemeId = "tool",
9
+ pageTitle,
10
+ pageType,
11
+ pageTypeLink,
12
+ showContentHeader = false,
13
+ showSupportButton = false,
14
+ withContentPadding = false
15
+ } = props;
16
+ return /* @__PURE__ */ React.createElement(
17
+ PageWithHeader,
18
+ {
19
+ title: pageTitle,
20
+ type: pageType,
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)
25
+ );
26
+ }
27
+
28
+ export { BasePage };
29
+ //# sourceMappingURL=BasePage.esm.js.map
@@ -0,0 +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,KAUA,EAAA;AACA,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,kBAAqB,GAAA,EAAA;AAAA,IACrB,WAAc,GAAA,MAAA;AAAA,IACd,SAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAoB,GAAA,KAAA;AAAA,IACpB,iBAAoB,GAAA,KAAA;AAAA,IACpB,kBAAqB,GAAA;AAAA,GACnB,GAAA,KAAA;AAEJ,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,SAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,QAAU,EAAA,YAAA;AAAA,MACV,OAAS,EAAA;AAAA,KAAA;AAAA,wCAER,OAAQ,EAAA,EAAA,SAAA,EAAW,CAAC,kBAAA,EAAA,EAClB,qCACE,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,KAAO,EAAA,kBAAA,EAAA,EACnB,qCAAsB,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,IAAA,EAAc,SAAO,CAC9C,GAED,QACH;AAAA,GACF;AAEJ;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import Typography from '@material-ui/core/Typography';
3
+
4
+ const InfoCardTitle = (props) => {
5
+ return /* @__PURE__ */ React.createElement(Typography, { variant: "body1" }, /* @__PURE__ */ React.createElement("b", null, props.title));
6
+ };
7
+
8
+ export { InfoCardTitle };
9
+ //# sourceMappingURL=InfoCardTitle.esm.js.map
@@ -0,0 +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":";;;AAuBa,MAAA,aAAA,GAAgB,CAAC,KAA8B,KAAA;AAC1D,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,cAAW,OAAQ,EAAA,OAAA,EAAA,sCACjB,GAAG,EAAA,IAAA,EAAA,KAAA,CAAM,KAAM,CAClB,CAAA;AAEJ;;;;"}
@@ -0,0 +1,56 @@
1
+ import React, { useState } from 'react';
2
+ import Box from '@material-ui/core/Box';
3
+ import Button from '@material-ui/core/Button';
4
+ import Drawer from '@material-ui/core/Drawer';
5
+ import Grid from '@material-ui/core/Grid';
6
+ import Typography from '@material-ui/core/Typography';
7
+ import useMediaQuery from '@material-ui/core/useMediaQuery';
8
+ import { useTheme } from '@material-ui/core/styles';
9
+ import FilterListIcon from '@material-ui/icons/FilterList';
10
+
11
+ function Filters(props) {
12
+ const isScreenSmallerThanBreakpoint = useMediaQuery(
13
+ (theme2) => theme2.breakpoints.down(props.options?.drawerBreakpoint ?? "md")
14
+ );
15
+ const theme = useTheme();
16
+ 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,
37
+ {
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);
45
+ }
46
+ function Table(props) {
47
+ return /* @__PURE__ */ React.createElement(Grid, { item: true, xs: 12, lg: 10 }, props.children);
48
+ }
49
+ function PageLayout(props) {
50
+ return /* @__PURE__ */ React.createElement(Grid, { container: true, style: { position: "relative" } }, props.children);
51
+ }
52
+ PageLayout.Filters = Filters;
53
+ PageLayout.Table = Table;
54
+
55
+ export { PageLayout };
56
+ //# sourceMappingURL=PageLayout.esm.js.map
@@ -0,0 +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,KAMd,EAAA;AACD,EAAA,MAAM,6BAAgC,GAAA,aAAA;AAAA,IAAc,CAACA,WACnDA,MAAM,CAAA,WAAA,CAAY,KAAK,KAAM,CAAA,OAAA,EAAS,oBAAoB,IAAI;AAAA,GAChE;AACA,EAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAkB,KAAK,CAAA;AAEvE,EAAA,OAAO,gDAEH,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,EAAE,SAAA,EAAW,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,UAAY,EAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAE,EAAA;AAAA,MACnE,OAAA,EAAS,MAAM,mBAAA,CAAoB,IAAI,CAAA;AAAA,MACvC,SAAA,sCAAY,cAAe,EAAA,IAAA;AAAA,KAAA;AAAA,IAC5B;AAAA,GAGD,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAM,EAAA,gBAAA;AAAA,MACN,OAAA,EAAS,MAAM,mBAAA,CAAoB,KAAK,CAAA;AAAA,MACxC,MAAA,EAAQ,KAAM,CAAA,OAAA,EAAS,YAAgB,IAAA,MAAA;AAAA,MACvC,gBAAgB,EAAA,IAAA;AAAA,MAChB,WAAW,EAAA,IAAA;AAAA,MACX,OAAQ,EAAA;AAAA,KAAA;AAAA,oBAER,KAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,CAAA,EAAG,CACN,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,IAAA;AAAA,QACR,SAAU,EAAA,IAAA;AAAA,QACV,OAAO,EAAE,YAAA,EAAc,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAE;AAAA,OAAA;AAAA,MACzC;AAAA,KAED,EACC,MAAM,QACT;AAAA,GAEJ,oBAEC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,MAAI,IAAC,EAAA,EAAA,EAAI,CACZ,EAAA,EAAA,KAAA,CAAM,QACT,CAAA;AAEJ;AAEA,SAAS,MAAM,KAAsC,EAAA;AACnD,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,QAAK,IAAI,EAAA,IAAA,EAAC,IAAI,EAAI,EAAA,EAAA,EAAI,EACpB,EAAA,EAAA,KAAA,CAAM,QACT,CAAA;AAEJ;AAGO,SAAS,WAAW,KAAsC,EAAA;AAC/D,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,KAAA,EAAO,EAAE,QAAU,EAAA,UAAA,EAChC,EAAA,EAAA,KAAA,CAAM,QACT,CAAA;AAEJ;AAEA,UAAA,CAAW,OAAU,GAAA,OAAA;AACrB,UAAA,CAAW,KAAQ,GAAA,KAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+
3
+ const useBaseFiltersStyles = makeStyles(
4
+ (theme) => ({
5
+ root: {
6
+ height: "100%",
7
+ width: "100%",
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ marginRight: theme.spacing(3)
11
+ },
12
+ value: {
13
+ fontWeight: "bold",
14
+ fontSize: 18
15
+ },
16
+ header: {
17
+ display: "flex",
18
+ alignItems: "center",
19
+ height: theme.spacing(7.5),
20
+ justifyContent: "space-between",
21
+ borderBottom: `1px solid ${theme.palette.grey[500]}`
22
+ },
23
+ filters: {
24
+ display: "flex",
25
+ flexDirection: "column"
26
+ }
27
+ }),
28
+ { name: "BaseFilters" }
29
+ );
30
+
31
+ export { useBaseFiltersStyles };
32
+ //# sourceMappingURL=filtersStyles.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtersStyles.esm.js","sources":["../../src/components/filtersStyles.ts"],"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 { makeStyles, Theme } from '@material-ui/core/styles';\n\n/**\n * Common base styles for Filters components.\n * These styles are shared between OpenShift and Optimizations filters.\n *\n * @public\n */\nexport const useBaseFiltersStyles = makeStyles(\n (theme: Theme) => ({\n root: {\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing(3),\n },\n value: {\n fontWeight: 'bold',\n fontSize: 18,\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n height: theme.spacing(7.5),\n justifyContent: 'space-between',\n borderBottom: `1px solid ${theme.palette.grey[500]}`,\n },\n filters: {\n display: 'flex',\n flexDirection: 'column',\n },\n }),\n { name: 'BaseFilters' },\n);\n"],"names":[],"mappings":";;AAwBO,MAAM,oBAAuB,GAAA,UAAA;AAAA,EAClC,CAAC,KAAkB,MAAA;AAAA,IACjB,IAAM,EAAA;AAAA,MACJ,MAAQ,EAAA,MAAA;AAAA,MACR,KAAO,EAAA,MAAA;AAAA,MACP,OAAS,EAAA,MAAA;AAAA,MACT,aAAe,EAAA,QAAA;AAAA,MACf,WAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,KAC9B;AAAA,IACA,KAAO,EAAA;AAAA,MACL,UAAY,EAAA,MAAA;AAAA,MACZ,QAAU,EAAA;AAAA,KACZ;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,MACT,UAAY,EAAA,QAAA;AAAA,MACZ,MAAA,EAAQ,KAAM,CAAA,OAAA,CAAQ,GAAG,CAAA;AAAA,MACzB,cAAgB,EAAA,eAAA;AAAA,MAChB,cAAc,CAAa,UAAA,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA;AAAA,KACpD;AAAA,IACA,OAAS,EAAA;AAAA,MACP,OAAS,EAAA,MAAA;AAAA,MACT,aAAe,EAAA;AAAA;AACjB,GACF,CAAA;AAAA,EACA,EAAE,MAAM,aAAc;AACxB;;;;"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import SvgIcon from '@material-ui/core/SvgIcon';
3
+
4
+ const AnalyticsIcon = (props) => {
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);
8
+ };
9
+
10
+ export { AnalyticsIcon };
11
+ //# sourceMappingURL=AnalyticsIcon.esm.js.map
@@ -0,0 +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":";;;AAwBa,MAAA,aAAA,GAAgB,CAC3B,KACG,KAAA;AACH,EAAM,MAAA,OAAA,GAAU,MAAM,OAAW,IAAA,UAAA;AACjC,EAAM,MAAA,IAAA,GACJ,OAAY,KAAA,UAAA,mBACT,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,CAAE,EAAA,4PAAA,EAA6P,CAErQ,mBAAA,KAAA,CAAA,aAAA,CAAC,MAAK,EAAA,EAAA,CAAA,EAAE,sNAAuN,EAAA,CAAA;AAGnO,EAAA,2CACG,OAAS,EAAA,EAAA,GAAG,KAAO,EAAA,OAAA,EAAQ,oBACzB,IACH,CAAA;AAEJ;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { AnalyticsIcon } from './AnalyticsIcon.esm.js';
3
+
4
+ const AnalyticsIconFilled = (props) => {
5
+ return /* @__PURE__ */ React.createElement(AnalyticsIcon, { variant: "filled", ...props });
6
+ };
7
+
8
+ export { AnalyticsIconFilled };
9
+ //# sourceMappingURL=AnalyticsIconFilled.esm.js.map
@@ -0,0 +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":";;;AAyBa,MAAA,mBAAA,GAAsB,CAAC,KAAwB,KAAA;AAC1D,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,OAAQ,EAAA,QAAA,EAAU,GAAG,KAAO,EAAA,CAAA;AACpD;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { AnalyticsIcon } from './AnalyticsIcon.esm.js';
3
+
4
+ const AnalyticsIconOutlined = (props) => {
5
+ return /* @__PURE__ */ React.createElement(AnalyticsIcon, { variant: "outlined", ...props });
6
+ };
7
+
8
+ export { AnalyticsIconOutlined };
9
+ //# sourceMappingURL=AnalyticsIconOutlined.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsIconOutlined.esm.js","sources":["../../../src/components/icon/AnalyticsIconOutlined.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 outlined variant of the Analytics icon.\n *\n * @public\n */\nexport const AnalyticsIconOutlined = (props: SvgIconProps) => {\n return <AnalyticsIcon variant=\"outlined\" {...props} />;\n};\n"],"names":[],"mappings":";;;AAyBa,MAAA,qBAAA,GAAwB,CAAC,KAAwB,KAAA;AAC5D,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA,EAAc,OAAQ,EAAA,UAAA,EAAY,GAAG,KAAO,EAAA,CAAA;AACtD;;;;"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import SvgIcon from '@material-ui/core/SvgIcon';
3
+
4
+ const CostManagementIcon = (props) => {
5
+ const variant = props.variant ?? "outlined";
6
+ const path = variant === "outlined" ? /* @__PURE__ */ React.createElement("path", { d: "M10.9999948,16.8089888 C14.0684705,16.8089888 16.564698,14.4249501 16.564698,11.494382 C16.564698,10.8850957 16.458539,10.2893259 16.2482502,9.72348591 C16.1289533,9.40193985 16.3048704,9.0485358 16.6415375,8.93460052 C16.9792193,8.82066524 17.3472351,8.98867602 17.4675466,9.31021216 C17.7273845,10.009298 17.8588152,10.7441178 17.8588152,11.4943721 C17.8588152,15.1066436 14.7822538,18.044934 10.9999948,18.044934 C7.21773589,18.044934 4.14117451,15.1066436 4.14117451,11.4943721 C4.14117451,9.16247108 5.45551085,6.98796136 7.57058467,5.8205672 C7.87996147,5.64965934 8.27426335,5.7510472 8.45422849,6.04651956 C8.63317894,6.34199192 8.52701993,6.7195317 8.21764314,6.89044945 C6.50192352,7.83865439 5.43529156,9.60278749 5.43529156,11.494382 C5.43529156,14.4249501 7.93151914,16.8089888 10.9999948,16.8089888 Z M11,22 C4.93483061,22 0,17.2869573 0,11.494382 C0,6.87983012 3.09476184,2.85138788 7.69999637,1.46962967 C8.04374487,1.36727281 8.40467928,1.54880989 8.51185298,1.87421213 C8.61902653,2.19961438 8.42894662,2.54722428 8.08823148,2.64958113 C4.02389645,3.86815371 1.29411703,7.4224935 1.29411703,11.494382 C1.29411703,16.605254 5.6486138,20.764045 11,20.764045 C16.3513759,20.764045 20.7058726,16.605254 20.7058726,11.494382 C20.7058726,9.86543278 20.2569796,8.26255733 19.4077076,6.85955058 C19.2287571,6.56407822 19.3349161,6.18653845 19.6442929,6.01562069 C19.9516509,5.84471282 20.3489758,5.9451317 20.5279367,6.24157304 C21.4914431,7.83190114 22,9.64817176 22,11.494382 C22,17.2869573 17.0651694,22 11,22 L11,22 Z M10.9999948,12.9775281 C11.8576601,12.9775281 12.5529353,12.313501 12.5529353,11.494382 C12.5529353,10.6752631 11.8576601,10.011236 10.9999948,10.011236 C10.1423295,10.011236 9.44705437,10.6752631 9.44705437,11.494382 C9.44705437,12.313501 10.1423295,12.9775281 10.9999948,12.9775281 Z M11.6470534,1.25429663 L11.6470534,8.98142833 C11.9169336,9.04497625 12.169183,9.14745171 12.4007782,9.28172581 L18.1165722,3.82281889 C16.3104817,2.2917672 14.0562023,1.38990562 11.6470534,1.25429663 Z M10.3529362,8.98143827 L10.3529362,0.617977534 C10.3529362,0.277120904 10.643098,0 10.9999948,0 C14.2127905,0 17.2334978,1.19455551 19.507044,3.36363687 C19.5081828,3.36466518 19.5096943,3.36496181 19.5108332,3.36604944 C19.5976528,3.44933305 19.6434646,3.55235237 19.6703823,3.65910923 C19.70229,3.78439551 19.7037497,3.91547596 19.6525027,4.03598652 C19.6210299,4.11057889 19.5738307,4.18046473 19.5108332,4.24086832 L13.3167646,10.1565546 C13.5659183,10.5485798 13.7176406,11.0033124 13.7176406,11.494382 C13.7176406,12.9253906 12.4983443,14.0898877 10.9999948,14.0898877 C9.50164536,14.0898877 8.28234904,12.9253906 8.28234904,11.494382 C8.28234904,10.2773816 9.16750444,9.26054649 10.3529362,8.98143827 Z" }) : /* @__PURE__ */ React.createElement("path", { d: "M16.5,0 C19.5375767,0 22,2.46242333 22,5.5 L22,16.5 C22,19.53754 19.5375767,22 16.5,22 L5.5,22 C2.46242333,22 0,19.53754 0,16.5 L0,5.5 C0,2.46242333 2.46242333,0 5.5,0 Z M9.13388974,4.1556591 C9.05350946,3.91160741 8.78280865,3.77545461 8.52499728,3.85222225 C5.07107138,4.88854091 2.75,7.90987259 2.75,11.3707865 C2.75,15.715218 6.45112296,19.25 11.0000039,19.25 C15.5488771,19.25 19.25,15.715218 19.25,11.3707865 C19.25,9.98612882 18.8685823,8.62392586 18.1459525,7.43117978 C18.0117319,7.20884877 17.7137382,7.13353461 17.4832197,7.26171552 C17.2511871,7.38990383 17.1715678,7.67305866 17.3057807,7.89466293 C17.9427347,8.946918 18.2794045,10.1490746 18.2794045,11.3707865 C18.2794045,15.2039405 15.0135319,18.3230337 10.9999961,18.3230337 C6.98646035,18.3230337 3.72058777,15.2039405 3.72058777,11.3707865 C3.72058777,8.31687012 5.76792234,5.65111528 8.81617361,4.73718585 C9.07170996,4.66041821 9.2142699,4.39971079 9.13388974,4.1556591 Z M9.09067137,7.28488967 C8.95569751,7.0632854 8.6599711,6.9872445 8.42793851,7.1154254 C6.84163313,7.99097102 5.85588088,9.62185331 5.85588088,11.3707791 C5.85588088,14.0799827 8.16330192,16.2837005 10.9999961,16.2837005 C13.8366903,16.2837005 16.1441114,14.0799827 16.1441114,11.3707791 C16.1441114,10.8080883 16.0455384,10.2569735 15.8506599,9.73265912 C15.7604263,9.49150702 15.4844145,9.36549893 15.2311531,9.45095039 C14.9786528,9.53640185 14.846715,9.80145488 14.9361877,10.0426144 C15.0939043,10.4669944 15.1735235,10.9138218 15.1735235,11.3707865 C15.1735235,13.5687126 13.3013529,15.3567416 10.9999961,15.3567416 C8.69863935,15.3567416 6.82646867,13.5687126 6.82646867,11.3707865 C6.82646867,9.95209062 7.62644264,8.6289908 8.91323235,7.91783709 C9.14526495,7.78964877 9.22488421,7.50649394 9.09067137,7.28488967 Z M10.9999961,2.75 C10.7323235,2.75 10.5147022,2.95784068 10.5147022,3.21348315 L10.5147022,9.4860787 C9.62562833,9.69540987 8.96176178,10.4580362 8.96176178,11.3707865 C8.96176178,12.444043 9.87623402,13.3174158 10.9999961,13.3174158 C12.1237582,13.3174158 13.0382305,12.444043 13.0382305,11.3707865 C13.0382305,11.0024843 12.9244387,10.6614348 12.7375734,10.367416 L17.3831249,5.93065124 C17.4303731,5.88534855 17.4657724,5.83293417 17.489377,5.77698989 C17.5278123,5.68660697 17.5267175,5.58829664 17.5027867,5.49433192 C17.4825984,5.41426428 17.4482396,5.33699978 17.380283,5.27272765 C15.6751233,3.64591663 13.4095929,2.75 10.9999961,2.75 Z M10.9999961,10.258427 C11.6432451,10.258427 12.1647015,10.7564473 12.1647015,11.3707865 C12.1647015,11.9851258 11.6432451,12.4831461 10.9999961,12.4831461 C10.3567471,12.4831461 9.83529078,11.9851258 9.83529078,11.3707865 C9.83529078,10.7564473 10.3567471,10.258427 10.9999961,10.258427 Z M11.48529,3.69072247 C13.2921517,3.79242921 14.9828613,4.4688254 16.3374292,5.61711417 L12.0505836,9.71129436 C11.8768873,9.61058878 11.6877002,9.53373219 11.48529,9.48607125 Z" });
7
+ return /* @__PURE__ */ React.createElement(SvgIcon, { ...props, viewBox: "0 0 24 24" }, path);
8
+ };
9
+
10
+ export { CostManagementIcon };
11
+ //# sourceMappingURL=CostManagementIcon.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostManagementIcon.esm.js","sources":["../../../src/components/icon/CostManagementIcon.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 Cost Management icon.\n *\n * @public\n */\nexport const CostManagementIcon = (\n props: SvgIconProps & { variant?: 'outlined' | 'filled' },\n) => {\n const variant = props.variant ?? 'outlined';\n const path =\n variant === 'outlined' ? (\n <path d=\"M10.9999948,16.8089888 C14.0684705,16.8089888 16.564698,14.4249501 16.564698,11.494382 C16.564698,10.8850957 16.458539,10.2893259 16.2482502,9.72348591 C16.1289533,9.40193985 16.3048704,9.0485358 16.6415375,8.93460052 C16.9792193,8.82066524 17.3472351,8.98867602 17.4675466,9.31021216 C17.7273845,10.009298 17.8588152,10.7441178 17.8588152,11.4943721 C17.8588152,15.1066436 14.7822538,18.044934 10.9999948,18.044934 C7.21773589,18.044934 4.14117451,15.1066436 4.14117451,11.4943721 C4.14117451,9.16247108 5.45551085,6.98796136 7.57058467,5.8205672 C7.87996147,5.64965934 8.27426335,5.7510472 8.45422849,6.04651956 C8.63317894,6.34199192 8.52701993,6.7195317 8.21764314,6.89044945 C6.50192352,7.83865439 5.43529156,9.60278749 5.43529156,11.494382 C5.43529156,14.4249501 7.93151914,16.8089888 10.9999948,16.8089888 Z M11,22 C4.93483061,22 0,17.2869573 0,11.494382 C0,6.87983012 3.09476184,2.85138788 7.69999637,1.46962967 C8.04374487,1.36727281 8.40467928,1.54880989 8.51185298,1.87421213 C8.61902653,2.19961438 8.42894662,2.54722428 8.08823148,2.64958113 C4.02389645,3.86815371 1.29411703,7.4224935 1.29411703,11.494382 C1.29411703,16.605254 5.6486138,20.764045 11,20.764045 C16.3513759,20.764045 20.7058726,16.605254 20.7058726,11.494382 C20.7058726,9.86543278 20.2569796,8.26255733 19.4077076,6.85955058 C19.2287571,6.56407822 19.3349161,6.18653845 19.6442929,6.01562069 C19.9516509,5.84471282 20.3489758,5.9451317 20.5279367,6.24157304 C21.4914431,7.83190114 22,9.64817176 22,11.494382 C22,17.2869573 17.0651694,22 11,22 L11,22 Z M10.9999948,12.9775281 C11.8576601,12.9775281 12.5529353,12.313501 12.5529353,11.494382 C12.5529353,10.6752631 11.8576601,10.011236 10.9999948,10.011236 C10.1423295,10.011236 9.44705437,10.6752631 9.44705437,11.494382 C9.44705437,12.313501 10.1423295,12.9775281 10.9999948,12.9775281 Z M11.6470534,1.25429663 L11.6470534,8.98142833 C11.9169336,9.04497625 12.169183,9.14745171 12.4007782,9.28172581 L18.1165722,3.82281889 C16.3104817,2.2917672 14.0562023,1.38990562 11.6470534,1.25429663 Z M10.3529362,8.98143827 L10.3529362,0.617977534 C10.3529362,0.277120904 10.643098,0 10.9999948,0 C14.2127905,0 17.2334978,1.19455551 19.507044,3.36363687 C19.5081828,3.36466518 19.5096943,3.36496181 19.5108332,3.36604944 C19.5976528,3.44933305 19.6434646,3.55235237 19.6703823,3.65910923 C19.70229,3.78439551 19.7037497,3.91547596 19.6525027,4.03598652 C19.6210299,4.11057889 19.5738307,4.18046473 19.5108332,4.24086832 L13.3167646,10.1565546 C13.5659183,10.5485798 13.7176406,11.0033124 13.7176406,11.494382 C13.7176406,12.9253906 12.4983443,14.0898877 10.9999948,14.0898877 C9.50164536,14.0898877 8.28234904,12.9253906 8.28234904,11.494382 C8.28234904,10.2773816 9.16750444,9.26054649 10.3529362,8.98143827 Z\" />\n ) : (\n <path d=\"M16.5,0 C19.5375767,0 22,2.46242333 22,5.5 L22,16.5 C22,19.53754 19.5375767,22 16.5,22 L5.5,22 C2.46242333,22 0,19.53754 0,16.5 L0,5.5 C0,2.46242333 2.46242333,0 5.5,0 Z M9.13388974,4.1556591 C9.05350946,3.91160741 8.78280865,3.77545461 8.52499728,3.85222225 C5.07107138,4.88854091 2.75,7.90987259 2.75,11.3707865 C2.75,15.715218 6.45112296,19.25 11.0000039,19.25 C15.5488771,19.25 19.25,15.715218 19.25,11.3707865 C19.25,9.98612882 18.8685823,8.62392586 18.1459525,7.43117978 C18.0117319,7.20884877 17.7137382,7.13353461 17.4832197,7.26171552 C17.2511871,7.38990383 17.1715678,7.67305866 17.3057807,7.89466293 C17.9427347,8.946918 18.2794045,10.1490746 18.2794045,11.3707865 C18.2794045,15.2039405 15.0135319,18.3230337 10.9999961,18.3230337 C6.98646035,18.3230337 3.72058777,15.2039405 3.72058777,11.3707865 C3.72058777,8.31687012 5.76792234,5.65111528 8.81617361,4.73718585 C9.07170996,4.66041821 9.2142699,4.39971079 9.13388974,4.1556591 Z M9.09067137,7.28488967 C8.95569751,7.0632854 8.6599711,6.9872445 8.42793851,7.1154254 C6.84163313,7.99097102 5.85588088,9.62185331 5.85588088,11.3707791 C5.85588088,14.0799827 8.16330192,16.2837005 10.9999961,16.2837005 C13.8366903,16.2837005 16.1441114,14.0799827 16.1441114,11.3707791 C16.1441114,10.8080883 16.0455384,10.2569735 15.8506599,9.73265912 C15.7604263,9.49150702 15.4844145,9.36549893 15.2311531,9.45095039 C14.9786528,9.53640185 14.846715,9.80145488 14.9361877,10.0426144 C15.0939043,10.4669944 15.1735235,10.9138218 15.1735235,11.3707865 C15.1735235,13.5687126 13.3013529,15.3567416 10.9999961,15.3567416 C8.69863935,15.3567416 6.82646867,13.5687126 6.82646867,11.3707865 C6.82646867,9.95209062 7.62644264,8.6289908 8.91323235,7.91783709 C9.14526495,7.78964877 9.22488421,7.50649394 9.09067137,7.28488967 Z M10.9999961,2.75 C10.7323235,2.75 10.5147022,2.95784068 10.5147022,3.21348315 L10.5147022,9.4860787 C9.62562833,9.69540987 8.96176178,10.4580362 8.96176178,11.3707865 C8.96176178,12.444043 9.87623402,13.3174158 10.9999961,13.3174158 C12.1237582,13.3174158 13.0382305,12.444043 13.0382305,11.3707865 C13.0382305,11.0024843 12.9244387,10.6614348 12.7375734,10.367416 L17.3831249,5.93065124 C17.4303731,5.88534855 17.4657724,5.83293417 17.489377,5.77698989 C17.5278123,5.68660697 17.5267175,5.58829664 17.5027867,5.49433192 C17.4825984,5.41426428 17.4482396,5.33699978 17.380283,5.27272765 C15.6751233,3.64591663 13.4095929,2.75 10.9999961,2.75 Z M10.9999961,10.258427 C11.6432451,10.258427 12.1647015,10.7564473 12.1647015,11.3707865 C12.1647015,11.9851258 11.6432451,12.4831461 10.9999961,12.4831461 C10.3567471,12.4831461 9.83529078,11.9851258 9.83529078,11.3707865 C9.83529078,10.7564473 10.3567471,10.258427 10.9999961,10.258427 Z M11.48529,3.69072247 C13.2921517,3.79242921 14.9828613,4.4688254 16.3374292,5.61711417 L12.0505836,9.71129436 C11.8768873,9.61058878 11.6877002,9.53373219 11.48529,9.48607125 Z\" />\n );\n\n return (\n <SvgIcon {...props} viewBox=\"0 0 24 24\">\n {path}\n </SvgIcon>\n );\n};\n"],"names":[],"mappings":";;;AAwBa,MAAA,kBAAA,GAAqB,CAChC,KACG,KAAA;AACH,EAAM,MAAA,OAAA,GAAU,MAAM,OAAW,IAAA,UAAA;AACjC,EAAM,MAAA,IAAA,GACJ,OAAY,KAAA,UAAA,mBACT,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,CAAE,EAAA,4qFAAA,EAA6qF,CAErrF,mBAAA,KAAA,CAAA,aAAA,CAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8zFAA+zF,EAAA,CAAA;AAG30F,EAAA,2CACG,OAAS,EAAA,EAAA,GAAG,KAAO,EAAA,OAAA,EAAQ,eACzB,IACH,CAAA;AAEJ;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { CostManagementIcon } from './CostManagementIcon.esm.js';
3
+
4
+ const CostManagementIconFilled = (props) => {
5
+ return /* @__PURE__ */ React.createElement(CostManagementIcon, { variant: "filled", ...props });
6
+ };
7
+
8
+ export { CostManagementIconFilled };
9
+ //# sourceMappingURL=CostManagementIconFilled.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostManagementIconFilled.esm.js","sources":["../../../src/components/icon/CostManagementIconFilled.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 { CostManagementIcon } from './CostManagementIcon';\n\n/**\n * The filled variant of the Cost Management icon.\n *\n * @public\n */\nexport const CostManagementIconFilled = (props: SvgIconProps) => {\n return <CostManagementIcon variant=\"filled\" {...props} />;\n};\n"],"names":[],"mappings":";;;AAyBa,MAAA,wBAAA,GAA2B,CAAC,KAAwB,KAAA;AAC/D,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,EAAmB,OAAQ,EAAA,QAAA,EAAU,GAAG,KAAO,EAAA,CAAA;AACzD;;;;"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { CostManagementIcon } from './CostManagementIcon.esm.js';
3
+
4
+ const CostManagementIconOutlined = (props) => {
5
+ return /* @__PURE__ */ React.createElement(CostManagementIcon, { variant: "outlined", ...props });
6
+ };
7
+
8
+ export { CostManagementIconOutlined };
9
+ //# sourceMappingURL=CostManagementIconOutlined.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CostManagementIconOutlined.esm.js","sources":["../../../src/components/icon/CostManagementIconOutlined.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 { CostManagementIcon } from './CostManagementIcon';\n\n/**\n * The outlined variant of the Cost Management icon.\n *\n * @public\n */\nexport const CostManagementIconOutlined = (props: SvgIconProps) => {\n return <CostManagementIcon variant=\"outlined\" {...props} />;\n};\n"],"names":[],"mappings":";;;AAyBa,MAAA,0BAAA,GAA6B,CAAC,KAAwB,KAAA;AACjE,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,EAAmB,OAAQ,EAAA,UAAA,EAAY,GAAG,KAAO,EAAA,CAAA;AAC3D;;;;"}
@@ -0,0 +1,36 @@
1
+ const CURRENCY_SYMBOLS = {
2
+ USD: "$",
3
+ EUR: "\u20AC",
4
+ GBP: "\xA3",
5
+ JPY: "\xA5",
6
+ AUD: "A$",
7
+ CAD: "CA$",
8
+ CHF: "CHF",
9
+ CNY: "CN\xA5",
10
+ INR: "\u20B9",
11
+ MXN: "$",
12
+ NZD: "NZ$",
13
+ SEK: "SEK",
14
+ SGD: "SGD",
15
+ HKD: "HK$",
16
+ TWD: "NT$",
17
+ THB: "\u0E3F",
18
+ RUB: "\u20BD",
19
+ BRL: "R$",
20
+ ZAR: "ZAR",
21
+ PLN: "z\u0142",
22
+ KRW: "\u20A9",
23
+ TRY: "\u20BA",
24
+ IDR: "Rp",
25
+ MYR: "RM",
26
+ PHP: "\u20B1",
27
+ VND: "\u20AB",
28
+ HUF: "Ft",
29
+ CZK: "K\u010D",
30
+ NOK: "NOK",
31
+ DKK: "DKK",
32
+ NGN: "\u20A6"
33
+ };
34
+
35
+ export { CURRENCY_SYMBOLS };
36
+ //# sourceMappingURL=currencies.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencies.esm.js","sources":["../../src/constants/currencies.ts"],"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\nexport const CURRENCY_SYMBOLS: Record<string, string> = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n JPY: '¥',\n AUD: 'A$',\n CAD: 'CA$',\n CHF: 'CHF',\n CNY: 'CN¥',\n INR: '₹',\n MXN: '$',\n NZD: 'NZ$',\n SEK: 'SEK',\n SGD: 'SGD',\n HKD: 'HK$',\n TWD: 'NT$',\n THB: '฿',\n RUB: '₽',\n BRL: 'R$',\n ZAR: 'ZAR',\n PLN: 'zł',\n KRW: '₩',\n TRY: '₺',\n IDR: 'Rp',\n MYR: 'RM',\n PHP: '₱',\n VND: '₫',\n HUF: 'Ft',\n CZK: 'Kč',\n NOK: 'NOK',\n DKK: 'DKK',\n NGN: '₦',\n};\n"],"names":[],"mappings":"AAgBO,MAAM,gBAA2C,GAAA;AAAA,EACtD,GAAK,EAAA,GAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA,EACL,GAAK,EAAA,MAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,GAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,QAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA;AACP;;;;"}
@@ -0,0 +1,22 @@
1
+ import { useEffect } from 'react';
2
+ import { useTheme } from '@material-ui/core/styles';
3
+
4
+ const usePatternFlyTheme = () => {
5
+ const muiTheme = useTheme();
6
+ useEffect(() => {
7
+ const isDarkByType = muiTheme.palette.type === "dark";
8
+ const isDarkByMode = muiTheme.palette.mode === "dark";
9
+ const backgroundColor = muiTheme.palette.background?.default;
10
+ const isDarkByBackground = backgroundColor && (backgroundColor === "#303030" || backgroundColor === "#121212" || backgroundColor.startsWith("#") && parseInt(backgroundColor.slice(1), 16) < 8421504);
11
+ const isDark = isDarkByType || isDarkByMode || isDarkByBackground;
12
+ const html = document.documentElement;
13
+ if (isDark) {
14
+ html.classList.add("pf-v6-theme-dark");
15
+ } else {
16
+ html.classList.remove("pf-v6-theme-dark");
17
+ }
18
+ }, [muiTheme]);
19
+ };
20
+
21
+ export { usePatternFlyTheme };
22
+ //# sourceMappingURL=usePatternFlyTheme.esm.js.map