@devtron-labs/devtron-fe-common-lib 1.19.4-pre-0 → 1.19.4-pre-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{@code-editor-3C-BQlAW.js → @code-editor-BoOtx8NN.js} +7341 -6903
- package/dist/{@common-rjsf-Bka55zwe.js → @common-rjsf-Bu-65uaK.js} +46 -46
- package/dist/{@framer-motion-DZveCoIL.js → @framer-motion-D-YaCAW-.js} +92 -90
- package/dist/{@react-dates-CZ1bNWJM.js → @react-dates-Bo3yT8LF.js} +1 -1
- package/dist/{@react-select-DS68hCUM.js → @react-select-DTi_5fIc.js} +1 -1
- package/dist/{@react-virtualized-sticky-tree-V-8klKy9.js → @react-virtualized-sticky-tree-CuvDiqTo.js} +1 -1
- package/dist/{@vendor-3ORIJA0h.js → @vendor-DMIFbFhR.js} +26068 -17978
- package/dist/Common/Constants.d.ts +8 -0
- package/dist/Common/Hooks/UseRegisterShortcut/types.d.ts +1 -0
- package/dist/Common/Hooks/UseRegisterShortcut/utils.d.ts +1 -1
- package/dist/Common/SearchBar/SearchBar.component.d.ts +1 -1
- package/dist/Common/SearchBar/types.d.ts +4 -0
- package/dist/Common/Types.d.ts +0 -3
- package/dist/Pages-Devtron-2.0/ApplicationManagement/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/ApplicationManagement/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/ApplicationManagement/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/Automation&Enablement/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/Automation&Enablement/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/Automation&Enablement/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Shared/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/Shared/types.d.ts +9 -0
- package/dist/Pages-Devtron-2.0/CostVisibility/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/GlobalConfiguration/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/GlobalConfiguration/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/GlobalConfiguration/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/GlobalOverview/GlobalOverview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/GlobalOverview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/InfrastructureManagement/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/InfrastructureManagement/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/InfrastructureManagement/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SecurityCenter/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SecurityCenter/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SecurityCenter/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/Overview/Overview.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/Overview/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/index.d.ts +1 -0
- package/dist/Pages-Devtron-2.0/index.d.ts +1 -0
- package/dist/Shared/Components/Backdrop/types.d.ts +11 -2
- package/dist/Shared/Components/Charts/Chart.component.d.ts +102 -0
- package/dist/Shared/Components/Charts/constants.d.ts +16 -0
- package/dist/Shared/Components/Charts/index.d.ts +2 -0
- package/dist/Shared/Components/Charts/types.d.ts +56 -0
- package/dist/Shared/Components/Charts/utils.d.ts +11 -0
- package/dist/Shared/Components/DTFocusTrap/DTFocusTrap.d.ts +1 -1
- package/dist/Shared/Components/DTFocusTrap/types.d.ts +0 -9
- package/dist/Shared/Components/FramerComponents/index.d.ts +2 -2
- package/dist/Shared/Components/GenericSectionErrorState/GenericSectionErrorState.component.d.ts +2 -1
- package/dist/Shared/Components/GenericSectionErrorState/types.d.ts +21 -5
- package/dist/Shared/Components/Icon/Icon.d.ts +8 -0
- package/dist/Shared/Components/Illustration/Illustration.d.ts +1 -0
- package/dist/Shared/Components/KeyboardShortcut/KeyboardShortcut.component.d.ts +3 -0
- package/dist/Shared/Components/KeyboardShortcut/index.d.ts +1 -0
- package/dist/Shared/Components/KeyboardShortcut/types.d.ts +4 -0
- package/dist/Shared/Components/TreeView/TreeView.component.d.ts +1 -1
- package/dist/Shared/Components/TreeView/TreeViewNodeContent.d.ts +1 -1
- package/dist/Shared/Components/TreeView/constants.d.ts +3 -0
- package/dist/Shared/Components/TreeView/types.d.ts +13 -3
- package/dist/Shared/Components/index.d.ts +2 -0
- package/dist/Shared/Hooks/useUserPreferences/service.d.ts +1 -1
- package/dist/Shared/Hooks/useUserPreferences/types.d.ts +31 -2
- package/dist/assets/@code-editor.css +1 -1
- package/dist/assets/ic-bot.65f403dd.svg +3 -0
- package/dist/assets/ic-clipboard.2869fa7d.svg +3 -0
- package/dist/assets/ic-cloud.aa7acc8a.svg +3 -0
- package/dist/assets/ic-coins.2c15f406.svg +3 -0
- package/dist/assets/ic-devtron-text.67a413b6.svg +3 -0
- package/dist/assets/ic-files-changed.04e6de3f.svg +3 -0
- package/dist/assets/ic-right-panel-collapse.0ecf8ceb.svg +3 -0
- package/dist/assets/ic-trend-up.5752ef30.svg +3 -0
- package/dist/assets/no-cluster-cost-enabled.038c73db.webp +0 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +830 -825
- package/package.json +2 -1
@@ -64,6 +64,14 @@ export declare const URLS: {
|
|
64
64
|
readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_DETAIL: "/global-config/templates/devtron-apps/detail/:appId";
|
65
65
|
readonly LICENSE_AUTH: "/license-auth";
|
66
66
|
readonly GLOBAL_CONFIG_EDIT_CLUSTER: "/global-config/cluster-env/edit/:clusterId";
|
67
|
+
readonly COST_VISIBILITY_OVERVIEW: "/cost-visibility/overview";
|
68
|
+
readonly COST_BREAKDOWN_ROUTE: "/cost-visibility/breakdown/:breakdownViewType";
|
69
|
+
readonly COST_BREAKDOWN_CLUSTERS: "/cost-visibility/breakdown/clusters";
|
70
|
+
readonly COST_BREAKDOWN_ENVIRONMENTS: "/cost-visibility/breakdown/environments";
|
71
|
+
readonly COST_BREAKDOWN_PROJECTS: "/cost-visibility/breakdown/projects";
|
72
|
+
readonly COST_BREAKDOWN_APPLICATIONS: "/cost-visibility/breakdown/applications";
|
73
|
+
readonly COST_BREAKDOWN_ITEM_NAME: ":itemName";
|
74
|
+
readonly COST_CONFIGURATIONS: "/cost-visibility/configurations";
|
67
75
|
};
|
68
76
|
export declare const ROUTES: {
|
69
77
|
readonly APP: "app";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ShortcutType } from './types';
|
2
2
|
export declare const preprocessKeys: (keys: ShortcutType["keys"]) => {
|
3
|
-
keys: ("N" | "R" | "Enter" | "/" | "Alt" | "F" | "E" | "K" | "X" | "A" | "S" | "Home" | "End" | "." | "Space" | "Control" | "Shift" | "Meta" | "Escape" | "ArrowLeft" | "ArrowRight" | "ArrowUp" | "ArrowDown" | "PageUp" | "PageDown" | "Backspace" | "Delete")[];
|
3
|
+
keys: ("N" | "R" | "Enter" | "/" | "Alt" | "F" | "E" | "K" | "X" | "A" | "S" | "Home" | "End" | "." | "Space" | ">" | "Control" | "Shift" | "Meta" | "Escape" | "ArrowLeft" | "ArrowRight" | "ArrowUp" | "ArrowDown" | "PageUp" | "PageDown" | "Backspace" | "Delete")[];
|
4
4
|
id: string;
|
5
5
|
};
|
6
6
|
export declare const verifyCallbackStack: (stack: ShortcutType["callbackStack"]) => void;
|
@@ -33,5 +33,5 @@ import { SearchBarProps } from './types';
|
|
33
33
|
* <SearchBar inputProps={{ placeholder: 'Enter search text' }} />
|
34
34
|
* ```
|
35
35
|
*/
|
36
|
-
declare const SearchBar: ({ initialSearchText, handleSearchChange, handleEnter, inputProps, containerClassName, shouldDebounce, debounceTimeout, dataTestId, noBackgroundAndBorder, size, keyboardShortcut, }: SearchBarProps) => JSX.Element;
|
36
|
+
declare const SearchBar: ({ initialSearchText, handleSearchChange, handleEnter, inputProps, containerClassName, shouldDebounce, debounceTimeout, dataTestId, noBackgroundAndBorder, size, keyboardShortcut, variant, }: SearchBarProps) => JSX.Element;
|
37
37
|
export default SearchBar;
|
package/dist/Common/Types.d.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './types';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Shared';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const GlobalOverview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './GlobalOverview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const Overview: () => JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Overview';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './CostVisibility';
|
@@ -1,6 +1,15 @@
|
|
1
|
-
import { MouseEvent, ReactNode } from 'react';
|
1
|
+
import { MouseEvent, ReactNode, SyntheticEvent } from 'react';
|
2
2
|
import { DTFocusTrapType } from '../DTFocusTrap';
|
3
|
-
export interface BackdropProps extends Pick<DTFocusTrapType, 'deactivateFocusOnEscape' | 'initialFocus'
|
3
|
+
export interface BackdropProps extends Pick<DTFocusTrapType, 'deactivateFocusOnEscape' | 'initialFocus'> {
|
4
|
+
/**
|
5
|
+
* Callback function that gets triggered when the Escape key is pressed. \
|
6
|
+
* Should be wrapped in useCallback to prevent unnecessary re-renders.
|
7
|
+
* @example
|
8
|
+
* const handleEscape = useCallback(() => {
|
9
|
+
* // Handle escape key press
|
10
|
+
* }, []);
|
11
|
+
*/
|
12
|
+
onEscape: (e?: SyntheticEvent) => void;
|
4
13
|
/**
|
5
14
|
* The content to be rendered within the backdrop component.
|
6
15
|
*/
|
@@ -0,0 +1,102 @@
|
|
1
|
+
import { ChartProps } from './types';
|
2
|
+
/**
|
3
|
+
* A versatile Chart component that renders different types of charts using Chart.js.
|
4
|
+
* Supports area charts, pie charts, stacked bar charts (vertical/horizontal), and line charts.
|
5
|
+
*
|
6
|
+
* The component automatically adapts to theme changes and provides consistent styling
|
7
|
+
* across all chart types. Colors are provided by the user through the CHART_COLORS constant
|
8
|
+
* or custom color tokens.
|
9
|
+
*
|
10
|
+
* @example
|
11
|
+
* ```tsx
|
12
|
+
* [Area Chart Example]
|
13
|
+
* <Chart
|
14
|
+
* id="quarterly-growth"
|
15
|
+
* type="area"
|
16
|
+
* xAxisLabels={['Q1 2023', 'Q2 2023', 'Q3 2023', 'Q4 2023']}
|
17
|
+
* datasets={[{
|
18
|
+
* datasetName: 'Revenue Growth (%)',
|
19
|
+
* yAxisValues: [15.2, 18.7, 22.3, 19.8],
|
20
|
+
* backgroundColor: 'LavenderPurple300'
|
21
|
+
* }]}
|
22
|
+
* />
|
23
|
+
*
|
24
|
+
* [Pie Chart Example]
|
25
|
+
* <Chart
|
26
|
+
* id="technology-adoption"
|
27
|
+
* type="pie"
|
28
|
+
* xAxisLabels={['React', 'Vue.js', 'Angular']}
|
29
|
+
* datasets={{
|
30
|
+
* datasetName: 'Adoption Rate (%)',
|
31
|
+
* yAxisValues: [45.2, 28.7, 35.4],
|
32
|
+
* backgroundColor: ['SkyBlue300', 'AquaTeal400', 'LavenderPurple300']
|
33
|
+
* }}
|
34
|
+
* />
|
35
|
+
*
|
36
|
+
* [Line Chart Example (non-stacked, non-filled)]
|
37
|
+
* <Chart
|
38
|
+
* id="traffic-trends"
|
39
|
+
* type="line"
|
40
|
+
* xAxisLabels={['Jan', 'Feb', 'Mar', 'Apr']}
|
41
|
+
* datasets={[{
|
42
|
+
* datasetName: 'Website Traffic',
|
43
|
+
* yAxisValues: [120, 190, 300, 500],
|
44
|
+
* borderColor: 'SkyBlue500'
|
45
|
+
* }]}
|
46
|
+
* />
|
47
|
+
*
|
48
|
+
* [Stacked Bar Chart Example]
|
49
|
+
* <Chart
|
50
|
+
* id="team-allocation"
|
51
|
+
* type="stackedBar"
|
52
|
+
* xAxisLabels={['Q1', 'Q2', 'Q3', 'Q4']}
|
53
|
+
* datasets={[
|
54
|
+
* {
|
55
|
+
* datasetName: 'Frontend',
|
56
|
+
* yAxisValues: [120, 150, 180, 200],
|
57
|
+
* backgroundColor: 'SkyBlue600'
|
58
|
+
* },
|
59
|
+
* {
|
60
|
+
* datasetName: 'Backend',
|
61
|
+
* yAxisValues: [80, 100, 120, 140],
|
62
|
+
* backgroundColor: 'AquaTeal600'
|
63
|
+
* }
|
64
|
+
* ]}
|
65
|
+
* />
|
66
|
+
* ```
|
67
|
+
*
|
68
|
+
* @param id - Unique identifier for the chart canvas element
|
69
|
+
* @param type - Chart type: 'area', 'pie', 'stackedBar', 'stackedBarHorizontal', or 'line'
|
70
|
+
* @param xAxisLabels - Array of labels for the x-axis (or categories for pie charts)
|
71
|
+
* @param datasets - Chart data: array of datasets for most charts, single dataset object for pie charts
|
72
|
+
*
|
73
|
+
* @performance
|
74
|
+
* **Memoization Recommendations:**
|
75
|
+
* - `xAxisLabels`: Should be memoized with useMemo() if derived from complex calculations
|
76
|
+
* - `datasets`: Should be memoized with useMemo() as it contains arrays and objects that cause re-renders
|
77
|
+
* - Avoid passing inline objects or arrays directly to these props
|
78
|
+
*
|
79
|
+
* @example
|
80
|
+
* ```tsx
|
81
|
+
* [Good: Memoized props prevent unnecessary re-renders]
|
82
|
+
* const labels = useMemo(() => quarters.map(q => `Q${q}`), [quarters])
|
83
|
+
* const chartDatasets = useMemo(() => [
|
84
|
+
* {
|
85
|
+
* datasetName: 'Revenue',
|
86
|
+
* yAxisValues: revenueData,
|
87
|
+
* backgroundColor: 'LavenderPurple300'
|
88
|
+
* }
|
89
|
+
* ], [revenueData])
|
90
|
+
*
|
91
|
+
* return <Chart id="revenue-chart" type="area" xAxisLabels={labels} datasets={chartDatasets} />
|
92
|
+
* ```
|
93
|
+
*
|
94
|
+
* @notes
|
95
|
+
* - Chart automatically re-renders when theme changes (light/dark mode)
|
96
|
+
* - Line charts are rendered as non-stacked and non-filled by default
|
97
|
+
* - Pie charts expect a single dataset object instead of an array
|
98
|
+
* - Colors should reference CHART_COLORS tokens for consistency
|
99
|
+
* - Component destroys and recreates Chart.js instance on prop changes for optimal performance
|
100
|
+
*/
|
101
|
+
declare const Chart: (props: ChartProps) => JSX.Element;
|
102
|
+
export default Chart;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { AppThemeType } from '../../Providers';
|
2
|
+
import { ChartColorKey } from './types';
|
3
|
+
export declare const LEGENDS_LABEL_CONFIG: {
|
4
|
+
readonly usePointStyle: true;
|
5
|
+
readonly pointStyle: "rectRounded";
|
6
|
+
readonly pointStyleWidth: 0;
|
7
|
+
readonly font: {
|
8
|
+
readonly family: "'IBM Plex Sans', 'Open Sans', 'Roboto'";
|
9
|
+
readonly size: 13;
|
10
|
+
readonly lineHeight: "150%";
|
11
|
+
readonly weight: 400;
|
12
|
+
};
|
13
|
+
};
|
14
|
+
export declare const CHART_COLORS: Record<AppThemeType, Record<ChartColorKey, string>>;
|
15
|
+
export declare const CHART_GRID_LINES_COLORS: Record<AppThemeType, string>;
|
16
|
+
export declare const CHART_CANVAS_BACKGROUND_COLORS: Record<AppThemeType, string>;
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import { AppThemeType } from '../../Providers';
|
2
|
+
export type ChartType = 'area' | 'pie' | 'stackedBar' | 'stackedBarHorizontal' | 'line';
|
3
|
+
type ColorTokensType = 'DeepPlum' | 'Magenta' | 'Slate' | 'LavenderPurple' | 'SkyBlue' | 'AquaTeal';
|
4
|
+
type VariantsType = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800;
|
5
|
+
export type ChartColorKey = `${ColorTokensType}${VariantsType}`;
|
6
|
+
export type ChartTypeWithoutPie = Exclude<ChartType, 'pie'>;
|
7
|
+
interface BaseSimpleDataset {
|
8
|
+
datasetName: string;
|
9
|
+
yAxisValues: number[];
|
10
|
+
}
|
11
|
+
export interface SimpleDataset extends BaseSimpleDataset {
|
12
|
+
backgroundColor: ChartColorKey;
|
13
|
+
}
|
14
|
+
export interface SimpleDatasetForPie extends BaseSimpleDataset {
|
15
|
+
backgroundColor: Array<ChartColorKey>;
|
16
|
+
}
|
17
|
+
export interface SimpleDatasetForLine extends BaseSimpleDataset {
|
18
|
+
borderColor: ChartColorKey;
|
19
|
+
}
|
20
|
+
type TypeAndDatasetsType = {
|
21
|
+
type: 'pie';
|
22
|
+
/**
|
23
|
+
* Needs to be memoized
|
24
|
+
*/
|
25
|
+
datasets: SimpleDatasetForPie;
|
26
|
+
} | {
|
27
|
+
type: 'line';
|
28
|
+
datasets: SimpleDatasetForLine[];
|
29
|
+
} | {
|
30
|
+
type: Exclude<ChartType, 'pie' | 'line'>;
|
31
|
+
datasets: SimpleDataset[];
|
32
|
+
};
|
33
|
+
export type ChartProps = {
|
34
|
+
id: string;
|
35
|
+
/**
|
36
|
+
* The x-axis labels. Needs to be memoized
|
37
|
+
*/
|
38
|
+
xAxisLabels: string[];
|
39
|
+
} & TypeAndDatasetsType;
|
40
|
+
export type TransformDatasetProps = {
|
41
|
+
appTheme: AppThemeType;
|
42
|
+
} & ({
|
43
|
+
type: 'pie';
|
44
|
+
dataset: SimpleDatasetForPie;
|
45
|
+
} | {
|
46
|
+
type: 'line';
|
47
|
+
dataset: SimpleDatasetForLine;
|
48
|
+
} | {
|
49
|
+
type: Exclude<ChartType, 'pie' | 'line'>;
|
50
|
+
dataset: SimpleDataset;
|
51
|
+
});
|
52
|
+
export type GetBackgroundAndBorderColorProps = TransformDatasetProps;
|
53
|
+
export type TransformDataForChartProps = {
|
54
|
+
appTheme: AppThemeType;
|
55
|
+
} & TypeAndDatasetsType;
|
56
|
+
export {};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ChartDataset, ChartOptions, ChartType as ChartJSChartType } from 'chart.js';
|
2
|
+
import { AppThemeType } from '../../Providers';
|
3
|
+
import { ChartType, TransformDataForChartProps } from './types';
|
4
|
+
export declare const getChartJSType: (type: ChartType) => ChartJSChartType;
|
5
|
+
export declare const getDefaultOptions: (type: ChartType, appTheme: AppThemeType) => ChartOptions;
|
6
|
+
export declare const transformDataForChart: (props: TransformDataForChartProps) => (ChartDataset<"line"> | {
|
7
|
+
label: string;
|
8
|
+
data: number[];
|
9
|
+
backgroundColor: string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern> | readonly (string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern>)[] | ((ctx: import('chart.js').ScriptableContext<"line">, options: import('chart.js/dist/types/basic').AnyObject) => import('chart.js').Color);
|
10
|
+
borderColor: string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern> | readonly (string | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasGradient> | import('chart.js/dist/types/utils')._DeepPartialObject<CanvasPattern>)[] | ((ctx: import('chart.js').ScriptableContext<"line">, options: import('chart.js/dist/types/basic').AnyObject) => import('chart.js').Color);
|
11
|
+
})[];
|
@@ -4,5 +4,5 @@ export declare const useFocusTrapControl: () => {
|
|
4
4
|
disableFocusTrap: typeof noop;
|
5
5
|
resumeFocusTrap: typeof noop;
|
6
6
|
};
|
7
|
-
declare const DTFocusTrap: ({
|
7
|
+
declare const DTFocusTrap: ({ deactivateFocusOnEscape, children, initialFocus }: DTFocusTrapType) => JSX.Element;
|
8
8
|
export default DTFocusTrap;
|
@@ -8,15 +8,6 @@ type FocusTargetValueOrFalse = FocusTargetValue | false;
|
|
8
8
|
*/
|
9
9
|
type FocusTargetOrFalse = FocusTargetValueOrFalse | (() => FocusTargetValueOrFalse);
|
10
10
|
export interface DTFocusTrapType {
|
11
|
-
/**
|
12
|
-
* Callback function that gets triggered when the Escape key is pressed. \
|
13
|
-
* Should be wrapped in useCallback to prevent unnecessary re-renders.
|
14
|
-
* @example
|
15
|
-
* const handleEscape = useCallback(() => {
|
16
|
-
* // Handle escape key press
|
17
|
-
* }, []);
|
18
|
-
*/
|
19
|
-
onEscape: (e?: KeyboardEvent | MouseEvent) => void;
|
20
11
|
/**
|
21
12
|
* If focus should be deactivated on escape, pass false when escape is disabled or has no action
|
22
13
|
* true for cases when we are closing modals or dialogs
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { animate, AnimatePresence, motion, useAnimationControls, useMotionTemplate, useMotionValue } from 'framer-motion';
|
2
|
-
export { animate, AnimatePresence, motion, useAnimationControls, useMotionTemplate, useMotionValue };
|
1
|
+
import { animate, AnimatePresence, motion, useAnimation, useAnimationControls, useMotionTemplate, useMotionValue } from 'framer-motion';
|
2
|
+
export { animate, AnimatePresence, motion, useAnimation, useAnimationControls, useMotionTemplate, useMotionValue };
|
package/dist/Shared/Components/GenericSectionErrorState/GenericSectionErrorState.component.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { ButtonComponentType } from '../Button';
|
1
2
|
import { GenericSectionErrorStateProps } from './types';
|
2
|
-
declare const GenericSectionErrorState: ({ reload, withBorder, title, subTitle, description, buttonText, rootClassName, useInfoIcon, progressingProps, }: GenericSectionErrorStateProps) => JSX.Element;
|
3
|
+
declare const GenericSectionErrorState: <T extends ButtonComponentType = ButtonComponentType.button>({ reload, buttonProps, customIcon, withBorder, title, subTitle, description, buttonText, rootClassName, useInfoIcon, progressingProps, }: GenericSectionErrorStateProps<T>) => JSX.Element;
|
3
4
|
export default GenericSectionErrorState;
|
@@ -1,10 +1,7 @@
|
|
1
1
|
import { ReactNode } from 'react';
|
2
|
+
import { ButtonComponentType, ButtonProps } from '../Button';
|
2
3
|
import { IconsProps } from '../Icon';
|
3
|
-
export type GenericSectionErrorStateProps = {
|
4
|
-
/**
|
5
|
-
* Handler for reloading the section
|
6
|
-
*/
|
7
|
-
reload?: () => void;
|
4
|
+
export type GenericSectionErrorStateProps<ButtonType extends ButtonComponentType = ButtonComponentType.button> = {
|
8
5
|
/**
|
9
6
|
* If true, border is added to the section
|
10
7
|
*
|
@@ -37,6 +34,7 @@ export type GenericSectionErrorStateProps = {
|
|
37
34
|
*/
|
38
35
|
progressingProps: Omit<IconsProps, 'name'>;
|
39
36
|
useInfoIcon?: false;
|
37
|
+
customIcon?: never;
|
40
38
|
} | {
|
41
39
|
progressingProps?: never;
|
42
40
|
/**
|
@@ -45,7 +43,25 @@ export type GenericSectionErrorStateProps = {
|
|
45
43
|
* @default false
|
46
44
|
*/
|
47
45
|
useInfoIcon: true;
|
46
|
+
customIcon?: never;
|
47
|
+
} | {
|
48
|
+
progressingProps?: never;
|
49
|
+
useInfoIcon?: never;
|
50
|
+
customIcon?: never;
|
48
51
|
} | {
|
52
|
+
customIcon: JSX.Element;
|
49
53
|
progressingProps?: never;
|
50
54
|
useInfoIcon?: never;
|
55
|
+
}) & ({
|
56
|
+
/**
|
57
|
+
* Handler for reloading the section
|
58
|
+
*/
|
59
|
+
reload: () => void;
|
60
|
+
buttonProps?: never;
|
61
|
+
} | {
|
62
|
+
reload?: never;
|
63
|
+
buttonProps: ButtonProps<ButtonType>;
|
64
|
+
} | {
|
65
|
+
reload?: never;
|
66
|
+
buttonProps?: never;
|
51
67
|
});
|
@@ -22,6 +22,7 @@ export declare const iconMap: {
|
|
22
22
|
'ic-bharatpe': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
23
23
|
'ic-bitbucket': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
24
24
|
'ic-book-open': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
25
|
+
'ic-bot': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
25
26
|
'ic-brain': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
26
27
|
'ic-browser': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
27
28
|
'ic-bug': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -42,13 +43,16 @@ export declare const iconMap: {
|
|
42
43
|
'ic-ci-linked': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
43
44
|
'ic-circle-loader': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
44
45
|
'ic-clean-brush': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
46
|
+
'ic-clipboard': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
45
47
|
'ic-clock': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
46
48
|
'ic-close-large': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
47
49
|
'ic-close-small': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
48
50
|
'ic-cloud-vms': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
51
|
+
'ic-cloud': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
49
52
|
'ic-cluster-isolated': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
50
53
|
'ic-cluster': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
51
54
|
'ic-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
55
|
+
'ic-coins': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
52
56
|
'ic-container-registry': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
53
57
|
'ic-container': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
54
58
|
'ic-cookr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -66,6 +70,7 @@ export declare const iconMap: {
|
|
66
70
|
'ic-devtron-app': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
67
71
|
'ic-devtron-header-logo': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
68
72
|
'ic-devtron-job': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
73
|
+
'ic-devtron-text': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
69
74
|
'ic-devtron': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
70
75
|
'ic-diff-added': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
71
76
|
'ic-diff-deleted': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -91,6 +96,7 @@ export declare const iconMap: {
|
|
91
96
|
'ic-file-edit': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
92
97
|
'ic-file-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
93
98
|
'ic-file': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
99
|
+
'ic-files-changed': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
94
100
|
'ic-files': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
95
101
|
'ic-filter-applied': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
96
102
|
'ic-filter': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -178,6 +184,7 @@ export declare const iconMap: {
|
|
178
184
|
'ic-quay': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
179
185
|
'ic-quote': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
180
186
|
'ic-resize-handle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
187
|
+
'ic-right-panel-collapse': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
181
188
|
'ic-rocket-gear': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
182
189
|
'ic-rocket-launch': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
183
190
|
'ic-selected': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -218,6 +225,7 @@ export declare const iconMap: {
|
|
218
225
|
'ic-timer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
219
226
|
'ic-traffic-signal': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
220
227
|
'ic-travclan': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
228
|
+
'ic-trend-up': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
221
229
|
'ic-two-cubes': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
222
230
|
'ic-ubuntu': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
223
231
|
'ic-unknown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
|
@@ -4,6 +4,7 @@ export declare const illustrationMap: {
|
|
4
4
|
'img-code': string;
|
5
5
|
'img-man-on-rocket': string;
|
6
6
|
'img-no-result': string;
|
7
|
+
'no-cluster-cost-enabled': string;
|
7
8
|
};
|
8
9
|
export type IllustrationName = keyof typeof illustrationMap;
|
9
10
|
export interface IllustrationProps extends Omit<IllustrationBaseProps, 'name' | 'illustrationMap'> {
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as KeyboardShortcut } from './KeyboardShortcut.component';
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import { TreeViewProps } from './types';
|
2
|
-
declare const TreeView: <DataAttributeType = null>({ nodes, isControlled, expandedMap: expandedMapProp, selectedId, onToggle: onToggleProp, onSelect, depth, mode, flatNodeList: flatNodeListProp, getUpdateItemsRefMap: getUpdateItemsRefMapProp, variant, defaultExpandedMap, }: TreeViewProps<DataAttributeType>) => JSX.Element;
|
2
|
+
declare const TreeView: <DataAttributeType = null>({ nodes, isControlled, expandedMap: expandedMapProp, selectedId, onToggle: onToggleProp, onSelect, depth, mode, flatNodeList: flatNodeListProp, getUpdateItemsRefMap: getUpdateItemsRefMapProp, variant, defaultExpandedMap, highlightSelectedHeadingOnlyWhenCollapsed, }: TreeViewProps<DataAttributeType>) => JSX.Element;
|
3
3
|
export default TreeView;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import { TreeViewNodeContentProps } from './types';
|
2
|
-
declare const TreeViewNodeContent: ({ startIconConfig, title, subtitle, type, customTooltipConfig, strikeThrough, isSelected, }: TreeViewNodeContentProps) => JSX.Element;
|
2
|
+
declare const TreeViewNodeContent: ({ startIconConfig, title, subtitle, type, customTooltipConfig, strikeThrough, isSelected, variant, }: TreeViewNodeContentProps) => JSX.Element;
|
3
3
|
export default TreeViewNodeContent;
|
@@ -2,3 +2,6 @@ import { TreeViewProps } from './types';
|
|
2
2
|
export declare const DEFAULT_NO_ITEMS_TEXT = "No items found";
|
3
3
|
export declare const VARIANT_TO_BG_CLASS_MAP: Record<TreeViewProps['variant'], string>;
|
4
4
|
export declare const VARIANT_TO_HOVER_CLASS_MAP: Record<TreeViewProps['variant'], string>;
|
5
|
+
export declare const VARIANT_TO_SELECTED_CLASS_MAP: Record<TreeViewProps['variant'], string>;
|
6
|
+
export declare const VARIANT_TO_TEXT_CLASS_MAP: Record<TreeViewProps['variant'], string>;
|
7
|
+
export declare const VARIANT_TO_TREE_ITEM_ACTIVE_BG_CLASS_MAP: Record<TreeViewProps['variant'], string>;
|
@@ -96,9 +96,11 @@ export type TreeItem<DataAttributeType = null> = BaseNode<DataAttributeType> & {
|
|
96
96
|
onClick?: (e: SyntheticEvent) => void;
|
97
97
|
href?: never;
|
98
98
|
clearQueryParamsOnNavigation?: never;
|
99
|
+
activeClassName?: never;
|
99
100
|
} | {
|
100
101
|
as: 'link';
|
101
102
|
href: string;
|
103
|
+
activeClassName?: string;
|
102
104
|
/**
|
103
105
|
* The callback function to handle click events on the nav link.
|
104
106
|
*/
|
@@ -113,6 +115,7 @@ export type TreeItem<DataAttributeType = null> = BaseNode<DataAttributeType> & {
|
|
113
115
|
href?: never;
|
114
116
|
onClick?: never;
|
115
117
|
clearQueryParamsOnNavigation?: never;
|
118
|
+
activeClassName?: never;
|
116
119
|
});
|
117
120
|
/**
|
118
121
|
* Props for the TreeView component.
|
@@ -151,14 +154,21 @@ export type TreeViewProps<DataAttributeType = null> = {
|
|
151
154
|
*/
|
152
155
|
mode?: 'navigation' | 'form';
|
153
156
|
/**
|
154
|
-
* If primary the background color will be bg__primary and bg__hover--opaque
|
157
|
+
* If primary the background color will be bg__primary and bg__hover--opaque \
|
158
|
+
* if secondary the background color will be bg__secondary bg__hover-secondary--opaque,
|
159
|
+
* if sidenav the background color will be bg__transparent bg__hover-sidebar-item.
|
155
160
|
* @default 'primary'
|
156
161
|
*/
|
157
|
-
variant?: 'primary' | 'secondary';
|
162
|
+
variant?: 'primary' | 'secondary' | 'sidenav';
|
158
163
|
/**
|
159
164
|
* @default {}
|
160
165
|
*/
|
161
166
|
defaultExpandedMap?: Record<string, boolean>;
|
167
|
+
/**
|
168
|
+
* When true, the selected heading (`selectedId`) will be highlighted only when it is collapsed.
|
169
|
+
* @default false
|
170
|
+
*/
|
171
|
+
highlightSelectedHeadingOnlyWhenCollapsed?: boolean;
|
162
172
|
} /**
|
163
173
|
* WARNING: For internal use only.
|
164
174
|
*/ & ({
|
@@ -188,7 +198,7 @@ export type TreeViewProps<DataAttributeType = null> = {
|
|
188
198
|
expandedMap?: never;
|
189
199
|
isControlled?: false;
|
190
200
|
});
|
191
|
-
export interface TreeViewNodeContentProps extends Pick<BaseNode, 'startIconConfig' | 'title' | 'subtitle' | 'customTooltipConfig' | 'strikeThrough'
|
201
|
+
export interface TreeViewNodeContentProps extends Pick<BaseNode, 'startIconConfig' | 'title' | 'subtitle' | 'customTooltipConfig' | 'strikeThrough'>, Required<Pick<TreeViewProps, 'variant'>> {
|
192
202
|
type: 'heading' | 'item';
|
193
203
|
isSelected: boolean;
|
194
204
|
}
|