@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.
Files changed (75) hide show
  1. package/dist/{@code-editor-3C-BQlAW.js → @code-editor-BoOtx8NN.js} +7341 -6903
  2. package/dist/{@common-rjsf-Bka55zwe.js → @common-rjsf-Bu-65uaK.js} +46 -46
  3. package/dist/{@framer-motion-DZveCoIL.js → @framer-motion-D-YaCAW-.js} +92 -90
  4. package/dist/{@react-dates-CZ1bNWJM.js → @react-dates-Bo3yT8LF.js} +1 -1
  5. package/dist/{@react-select-DS68hCUM.js → @react-select-DTi_5fIc.js} +1 -1
  6. package/dist/{@react-virtualized-sticky-tree-V-8klKy9.js → @react-virtualized-sticky-tree-CuvDiqTo.js} +1 -1
  7. package/dist/{@vendor-3ORIJA0h.js → @vendor-DMIFbFhR.js} +26068 -17978
  8. package/dist/Common/Constants.d.ts +8 -0
  9. package/dist/Common/Hooks/UseRegisterShortcut/types.d.ts +1 -0
  10. package/dist/Common/Hooks/UseRegisterShortcut/utils.d.ts +1 -1
  11. package/dist/Common/SearchBar/SearchBar.component.d.ts +1 -1
  12. package/dist/Common/SearchBar/types.d.ts +4 -0
  13. package/dist/Common/Types.d.ts +0 -3
  14. package/dist/Pages-Devtron-2.0/ApplicationManagement/Overview/Overview.d.ts +1 -0
  15. package/dist/Pages-Devtron-2.0/ApplicationManagement/Overview/index.d.ts +1 -0
  16. package/dist/Pages-Devtron-2.0/ApplicationManagement/index.d.ts +1 -0
  17. package/dist/Pages-Devtron-2.0/Automation&Enablement/Overview/Overview.d.ts +1 -0
  18. package/dist/Pages-Devtron-2.0/Automation&Enablement/Overview/index.d.ts +1 -0
  19. package/dist/Pages-Devtron-2.0/Automation&Enablement/index.d.ts +1 -0
  20. package/dist/Pages-Devtron-2.0/CostVisibility/Overview/Overview.d.ts +1 -0
  21. package/dist/Pages-Devtron-2.0/CostVisibility/Overview/index.d.ts +1 -0
  22. package/dist/Pages-Devtron-2.0/CostVisibility/Shared/index.d.ts +1 -0
  23. package/dist/Pages-Devtron-2.0/CostVisibility/Shared/types.d.ts +9 -0
  24. package/dist/Pages-Devtron-2.0/CostVisibility/index.d.ts +1 -0
  25. package/dist/Pages-Devtron-2.0/GlobalConfiguration/Overview/Overview.d.ts +1 -0
  26. package/dist/Pages-Devtron-2.0/GlobalConfiguration/Overview/index.d.ts +1 -0
  27. package/dist/Pages-Devtron-2.0/GlobalConfiguration/index.d.ts +1 -0
  28. package/dist/Pages-Devtron-2.0/GlobalOverview/GlobalOverview.d.ts +1 -0
  29. package/dist/Pages-Devtron-2.0/GlobalOverview/index.d.ts +1 -0
  30. package/dist/Pages-Devtron-2.0/InfrastructureManagement/Overview/Overview.d.ts +1 -0
  31. package/dist/Pages-Devtron-2.0/InfrastructureManagement/Overview/index.d.ts +1 -0
  32. package/dist/Pages-Devtron-2.0/InfrastructureManagement/index.d.ts +1 -0
  33. package/dist/Pages-Devtron-2.0/SecurityCenter/Overview/Overview.d.ts +1 -0
  34. package/dist/Pages-Devtron-2.0/SecurityCenter/Overview/index.d.ts +1 -0
  35. package/dist/Pages-Devtron-2.0/SecurityCenter/index.d.ts +1 -0
  36. package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/Overview/Overview.d.ts +1 -0
  37. package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/Overview/index.d.ts +1 -0
  38. package/dist/Pages-Devtron-2.0/SoftwareReleaseManagement/index.d.ts +1 -0
  39. package/dist/Pages-Devtron-2.0/index.d.ts +1 -0
  40. package/dist/Shared/Components/Backdrop/types.d.ts +11 -2
  41. package/dist/Shared/Components/Charts/Chart.component.d.ts +102 -0
  42. package/dist/Shared/Components/Charts/constants.d.ts +16 -0
  43. package/dist/Shared/Components/Charts/index.d.ts +2 -0
  44. package/dist/Shared/Components/Charts/types.d.ts +56 -0
  45. package/dist/Shared/Components/Charts/utils.d.ts +11 -0
  46. package/dist/Shared/Components/DTFocusTrap/DTFocusTrap.d.ts +1 -1
  47. package/dist/Shared/Components/DTFocusTrap/types.d.ts +0 -9
  48. package/dist/Shared/Components/FramerComponents/index.d.ts +2 -2
  49. package/dist/Shared/Components/GenericSectionErrorState/GenericSectionErrorState.component.d.ts +2 -1
  50. package/dist/Shared/Components/GenericSectionErrorState/types.d.ts +21 -5
  51. package/dist/Shared/Components/Icon/Icon.d.ts +8 -0
  52. package/dist/Shared/Components/Illustration/Illustration.d.ts +1 -0
  53. package/dist/Shared/Components/KeyboardShortcut/KeyboardShortcut.component.d.ts +3 -0
  54. package/dist/Shared/Components/KeyboardShortcut/index.d.ts +1 -0
  55. package/dist/Shared/Components/KeyboardShortcut/types.d.ts +4 -0
  56. package/dist/Shared/Components/TreeView/TreeView.component.d.ts +1 -1
  57. package/dist/Shared/Components/TreeView/TreeViewNodeContent.d.ts +1 -1
  58. package/dist/Shared/Components/TreeView/constants.d.ts +3 -0
  59. package/dist/Shared/Components/TreeView/types.d.ts +13 -3
  60. package/dist/Shared/Components/index.d.ts +2 -0
  61. package/dist/Shared/Hooks/useUserPreferences/service.d.ts +1 -1
  62. package/dist/Shared/Hooks/useUserPreferences/types.d.ts +31 -2
  63. package/dist/assets/@code-editor.css +1 -1
  64. package/dist/assets/ic-bot.65f403dd.svg +3 -0
  65. package/dist/assets/ic-clipboard.2869fa7d.svg +3 -0
  66. package/dist/assets/ic-cloud.aa7acc8a.svg +3 -0
  67. package/dist/assets/ic-coins.2c15f406.svg +3 -0
  68. package/dist/assets/ic-devtron-text.67a413b6.svg +3 -0
  69. package/dist/assets/ic-files-changed.04e6de3f.svg +3 -0
  70. package/dist/assets/ic-right-panel-collapse.0ecf8ceb.svg +3 -0
  71. package/dist/assets/ic-trend-up.5752ef30.svg +3 -0
  72. package/dist/assets/no-cluster-cost-enabled.038c73db.webp +0 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.js +830 -825
  75. 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";
@@ -27,6 +27,7 @@ export declare const KEYBOARD_KEYS_MAP: {
27
27
  readonly Delete: "⌦";
28
28
  readonly '.': ".";
29
29
  readonly Space: "Space";
30
+ readonly '>': ">";
30
31
  };
31
32
  export type SupportedKeyboardKeysType = keyof typeof KEYBOARD_KEYS_MAP;
32
33
  export interface ShortcutType {
@@ -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;
@@ -53,4 +53,8 @@ export interface SearchBarProps {
53
53
  * @note This is displayed in place of the dropdown indicator
54
54
  */
55
55
  keyboardShortcut?: SupportedKeyboardKeysType;
56
+ /**
57
+ * @default 'default'
58
+ */
59
+ variant?: 'default' | 'sidenav';
56
60
  }
@@ -26,9 +26,6 @@ export interface ResponseType<T = any> {
26
26
  }
27
27
  export interface APIOptions {
28
28
  timeout?: number;
29
- /**
30
- * @deprecated Use abortController instead
31
- */
32
29
  signal?: AbortSignal;
33
30
  abortControllerRef?: MutableRefObject<AbortController>;
34
31
  /**
@@ -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,9 @@
1
+ export declare enum CostBreakdownViewType {
2
+ CLUSTERS = "clusters",
3
+ ENVIRONMENTS = "environments",
4
+ PROJECTS = "projects",
5
+ APPLICATIONS = "applications"
6
+ }
7
+ export declare enum CostBreakdownItemViewParamsType {
8
+ ITEM_NAME = "itemName"
9
+ }
@@ -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' | 'onEscape'> {
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,2 @@
1
+ export { default as Chart } from './Chart.component';
2
+ export type { ChartColorKey, ChartProps, ChartType, SimpleDataset, SimpleDatasetForPie } from './types';
@@ -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: ({ onEscape, deactivateFocusOnEscape, children, initialFocus, }: DTFocusTrapType) => JSX.Element;
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 };
@@ -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,3 @@
1
+ import { KeyboardShortcutProps } from './types';
2
+ declare const KeyboardShortcut: ({ keyboardKey }: KeyboardShortcutProps) => JSX.Element;
3
+ export default KeyboardShortcut;
@@ -0,0 +1 @@
1
+ export { default as KeyboardShortcut } from './KeyboardShortcut.component';
@@ -0,0 +1,4 @@
1
+ import { SupportedKeyboardKeysType } from '../../../Common/Hooks/UseRegisterShortcut/types';
2
+ export interface KeyboardShortcutProps {
3
+ keyboardKey: SupportedKeyboardKeysType;
4
+ }
@@ -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, if secondary the background color will be bg__secondary bg__hover-secondary--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
  }