@devtron-labs/devtron-fe-common-lib 1.12.0-pre-9 → 1.13.0-beta-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 (106) hide show
  1. package/dist/{@common-rjsf-DBdet7YO.js → @common-rjsf-DHa4CNIm.js} +13638 -12979
  2. package/dist/{@framer-motion-CR14HVwJ.js → @framer-motion-Hh5HoZEj.js} +1 -1
  3. package/dist/{@react-dates-z_WnuIha.js → @react-dates-RAg1eRYJ.js} +1 -1
  4. package/dist/{@react-select-C1KOG39W.js → @react-select-Cyc43HrK.js} +1 -1
  5. package/dist/{@react-virtualized-sticky-tree-DE3LznCK.js → @react-virtualized-sticky-tree-Cby7tsJ8.js} +1 -1
  6. package/dist/{@vendor-0Z6AwxJy.js → @vendor-BZpoz8Ez.js} +12042 -12042
  7. package/dist/Common/Checkbox/Checkbox.d.ts +2 -0
  8. package/dist/Common/Checkbox/index.d.ts +1 -0
  9. package/dist/Common/Constants.d.ts +2 -2
  10. package/dist/Common/Drawer/index.d.ts +1 -0
  11. package/dist/Common/EmptyState/index.d.ts +2 -0
  12. package/dist/Common/Helper.d.ts +5 -1
  13. package/dist/Common/Toggle/Toggle.d.ts +4 -1
  14. package/dist/Common/Types.d.ts +2 -0
  15. package/dist/Common/index.d.ts +2 -3
  16. package/dist/Shared/Components/AppStatusModal/AppStatusBody.d.ts +2 -0
  17. package/dist/Shared/Components/AppStatusModal/AppStatusContent.d.ts +3 -0
  18. package/dist/Shared/Components/AppStatusModal/AppStatusModal.component.d.ts +3 -0
  19. package/dist/Shared/Components/AppStatusModal/AppStatusModalTabList.d.ts +3 -0
  20. package/dist/Shared/Components/AppStatusModal/constants.d.ts +4 -0
  21. package/dist/Shared/Components/AppStatusModal/index.d.ts +3 -0
  22. package/dist/Shared/Components/AppStatusModal/service.d.ts +4 -0
  23. package/dist/Shared/Components/AppStatusModal/types.d.ts +78 -0
  24. package/dist/Shared/Components/AppStatusModal/utils.d.ts +8 -0
  25. package/dist/Shared/Components/Button/types.d.ts +3 -1
  26. package/dist/Shared/Components/CICDHistory/DeploymentStatusBreakdown.d.ts +1 -1
  27. package/dist/Shared/Components/CICDHistory/DeploymentStatusDetailRow.d.ts +1 -1
  28. package/dist/Shared/Components/CICDHistory/constants.d.ts +1 -0
  29. package/dist/Shared/Components/CICDHistory/index.d.ts +0 -1
  30. package/dist/Shared/Components/CICDHistory/service.d.ts +3 -0
  31. package/dist/Shared/Components/CICDHistory/types.d.ts +9 -76
  32. package/dist/Shared/Components/CICDHistory/utils.d.ts +7 -3
  33. package/dist/Shared/Components/DeploymentStatusBreakdown/constants.d.ts +10 -0
  34. package/dist/Shared/Components/DeploymentStatusBreakdown/index.d.ts +3 -0
  35. package/dist/Shared/Components/DeploymentStatusBreakdown/types.d.ts +22 -0
  36. package/dist/Shared/Components/DeploymentStatusBreakdown/utils.d.ts +20 -0
  37. package/dist/Shared/Components/Error/ErrorBar.d.ts +1 -1
  38. package/dist/Shared/Components/Error/types.d.ts +4 -0
  39. package/dist/Shared/Components/Error/utils.d.ts +1 -0
  40. package/dist/Shared/Components/FramerComponents/index.d.ts +2 -2
  41. package/dist/Shared/Components/Header/PageHeader.d.ts +1 -1
  42. package/dist/Shared/Components/Header/types.d.ts +0 -1
  43. package/dist/Shared/Components/Icon/Icon.d.ts +23 -0
  44. package/dist/Shared/Components/Icon/IconBase.d.ts +1 -1
  45. package/dist/Shared/Components/Icon/types.d.ts +2 -1
  46. package/dist/Shared/Components/InfoBlock/constants.d.ts +2 -2
  47. package/dist/Shared/Components/InfoBlock/types.d.ts +2 -2
  48. package/dist/Shared/Components/InfoIconTippy/InfoIconTippy.d.ts +1 -1
  49. package/dist/Shared/Components/License/index.d.ts +1 -1
  50. package/dist/Shared/Components/License/utils.d.ts +2 -1
  51. package/dist/Shared/Components/Security/SecurityModal/utils.d.ts +1 -1
  52. package/dist/Shared/Components/TabGroup/TabGroup.helpers.d.ts +1 -1
  53. package/dist/Shared/Components/TabGroup/TabGroup.types.d.ts +33 -7
  54. package/dist/Shared/Components/index.d.ts +2 -1
  55. package/dist/Shared/Helpers.d.ts +2 -2
  56. package/dist/Shared/Providers/index.d.ts +1 -1
  57. package/dist/Shared/Providers/types.d.ts +11 -1
  58. package/dist/Shared/constants.d.ts +18 -24
  59. package/dist/Shared/types.d.ts +101 -2
  60. package/dist/assets/@common-rjsf.css +1 -1
  61. package/dist/assets/ic-amazon-eks.13404569.svg +5 -0
  62. package/dist/assets/ic-arrow-square-out.59bb549a.svg +3 -0
  63. package/dist/assets/ic-azure-aks.a9e437d5.svg +46 -0
  64. package/dist/assets/{ic-timeout-red.5eda1010.svg → ic-bulk-check.0f698efa.svg} +4 -4
  65. package/dist/assets/ic-bulk-check.99e92f7a.svg +21 -0
  66. package/dist/assets/ic-caret-down-small.7c4f88bf.svg +3 -0
  67. package/dist/assets/ic-caret-right.0ff813c2.svg +3 -0
  68. package/dist/assets/ic-celebration.77350694.svg +238 -0
  69. package/dist/assets/ic-checkbox-hover.0151d832.svg +20 -0
  70. package/dist/assets/ic-checkbox-hover.93e8d66a.svg +20 -0
  71. package/dist/assets/ic-checkbox-intermediate.24c6d21d.svg +22 -0
  72. package/dist/assets/ic-checkbox-intermediate.2a2d6c49.svg +22 -0
  73. package/dist/assets/ic-checkbox-selected.47444fab.svg +20 -0
  74. package/dist/assets/ic-checkbox-selected.c5539d6f.svg +20 -0
  75. package/dist/assets/{ic-check-grey.f556e371.svg → ic-checkbox-unselected.8054e3d7.svg} +2 -4
  76. package/dist/assets/ic-checkbox-unselected.ab91cdba.svg +19 -0
  77. package/dist/assets/ic-cloud-vms.27ea954e.svg +5 -0
  78. package/dist/assets/ic-disconnect.26bad827.svg +3 -0
  79. package/dist/assets/ic-expand-right-sm.9b347d49.svg +3 -0
  80. package/dist/assets/ic-expand-sm.a9a724f8.svg +3 -0
  81. package/dist/assets/ic-gift-gradient.7690a246.svg +9 -0
  82. package/dist/assets/ic-gift.9b048fc7.svg +3 -0
  83. package/dist/assets/ic-gitlab.ac331d67.svg +31 -0
  84. package/dist/assets/ic-google-gke.07314724.svg +9 -0
  85. package/dist/assets/ic-install.28c3beec.svg +3 -0
  86. package/dist/assets/ic-k3s.7f4bf72d.svg +3 -0
  87. package/dist/assets/ic-kind.bd8ee992.svg +9 -0
  88. package/dist/assets/ic-laptop.485e21b4.svg +3 -0
  89. package/dist/assets/ic-man-on-rocket.7f67e914.svg +94 -0
  90. package/dist/assets/ic-megaphone-left.6b2a00b7.svg +3 -0
  91. package/dist/assets/ic-minikube.d9ff1575.svg +9 -0
  92. package/dist/assets/ic-mobile.7c649251.svg +4 -0
  93. package/dist/assets/ic-sparkle-color.01c0be88.svg +1 -0
  94. package/dist/assets/ic-ubuntu.fa47508f.svg +4 -0
  95. package/dist/assets/ic-user-circle.7d7152fa.svg +3 -0
  96. package/dist/assets/ic-wifi-slash.d0390749.svg +3 -0
  97. package/dist/index.d.ts +3 -0
  98. package/dist/index.js +876 -850
  99. package/package.json +1 -1
  100. package/dist/Common/Checkbox.d.ts +0 -5
  101. package/dist/Shared/Components/AnnouncementBanner/AnnouncementBanner.d.ts +0 -6
  102. package/dist/Shared/Components/AnnouncementBanner/index.d.ts +0 -1
  103. package/dist/Shared/Components/CICDHistory/AppStatusDetailsChart.d.ts +0 -3
  104. package/dist/Shared/Components/CICDHistory/ErrorInfoStatusBar.d.ts +0 -2
  105. package/dist/assets/ic-disconnected.551d6161.svg +0 -29
  106. package/dist/assets/ic-megaphone.b9f9a901.svg +0 -19
@@ -0,0 +1,2 @@
1
+ import { CheckboxProps } from '../Types';
2
+ export declare const Checkbox: ({ rootClassName, onClick, name, disabled, value, onChange, tabIndex, isChecked, id, dataTestId, children, }: CheckboxProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Checkbox';
@@ -13,6 +13,7 @@ export declare const DOCUMENTATION: {
13
13
  GLOBAL_CONFIG_BUILD_INFRA: string;
14
14
  ENTERPRISE_LICENSE: string;
15
15
  KUBE_CONFIG: string;
16
+ TENANT_INSTALLATION: string;
16
17
  };
17
18
  export declare const PATTERNS: {
18
19
  STRING: RegExp;
@@ -42,7 +43,6 @@ export declare const URLS: {
42
43
  readonly CREATE_JOB: "create-job";
43
44
  readonly GETTING_STARTED: "getting-started";
44
45
  readonly STACK_MANAGER_ABOUT: "/stack-manager/about";
45
- readonly APP_LIST_HELM: "h";
46
46
  readonly APP_CI_DETAILS: "ci-details";
47
47
  readonly LOGS: "Logs";
48
48
  readonly CREATE: "/create";
@@ -64,7 +64,6 @@ export declare const URLS: {
64
64
  readonly COMPARE_CLUSTERS: "/compare-clusters";
65
65
  readonly APP_CONFIG: "edit";
66
66
  readonly GLOBAL_CONFIG: "/global-config";
67
- readonly CONFIG_DRIFT: "config-drift";
68
67
  readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP: "/global-config/templates/devtron-apps";
69
68
  readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_CREATE: "/global-config/templates/devtron-apps/create";
70
69
  readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_DETAIL: "/global-config/templates/devtron-apps/detail/:appId";
@@ -111,6 +110,7 @@ export declare const ROUTES: {
111
110
  readonly ATTRIBUTES_CREATE: "attributes/create";
112
111
  readonly ATTRIBUTES_UPDATE: "attributes/update";
113
112
  readonly APP_LIST_MIN: "app/min";
113
+ readonly APP_DETAIL: "app/detail";
114
114
  readonly CLUSTER_LIST_MIN: "cluster/autocomplete";
115
115
  readonly CLUSTER_LIST_RAW: "k8s/capacity/cluster/list/raw";
116
116
  readonly PLUGIN_GLOBAL_LIST_DETAIL_V2: "plugin/global/list/detail/v2";
@@ -0,0 +1 @@
1
+ export * from './Drawer';
@@ -0,0 +1,2 @@
1
+ export { default as GenericEmptyState } from './GenericEmptyState';
2
+ export { default as GenericFilterEmptyState } from './GenericFilterEmptyState';
@@ -1,7 +1,7 @@
1
1
  import { default as React, SyntheticEvent } from 'react';
2
2
  import { JSONPathOptions } from 'jsonpath-plus';
3
3
  import { AsyncOptions, DeploymentNodeType, UseSearchString } from './Types';
4
- import { scrollableInterface } from '../Shared';
4
+ import { scrollableInterface, AppType } from '../Shared';
5
5
  import * as Sentry from '@sentry/browser';
6
6
  export declare function showError(serverError: any, showToastOnUnknownError?: boolean, hideAccessError?: boolean): void;
7
7
  interface ConditionalWrapper<T> {
@@ -95,8 +95,10 @@ export declare const flatMapOfJSONPaths: (paths: string[], json: object, resultT
95
95
  export declare const applyCompareDiffOnUneditedDocument: (uneditedDocument: object, editedDocument: object) => any;
96
96
  /**
97
97
  * Returns a debounced variant of the function
98
+ * @deprecated - It should use useRef instead, pls use useDebounce
98
99
  */
99
100
  export declare const debounce: (func: any, timeout?: number) => (this: any, ...args: any[]) => void;
101
+ export declare const useDebounce: <Callback extends (...args: any[]) => void>(cb: Callback, delay: number) => (...args: Parameters<Callback>) => void;
100
102
  /**
101
103
  * Returns a capitalized string with first letter in uppercase and rest in lowercase
102
104
  */
@@ -144,4 +146,6 @@ export declare const getGoLangFormattedDateWithTimezone: (dateFormat: string) =>
144
146
  */
145
147
  export declare const getHashedValue: (value: string) => Promise<string | null>;
146
148
  export declare const getTTLInHumanReadableFormat: (ttl: number) => string;
149
+ export declare const getAIAnalyticsEvents: (context: string, appType?: AppType) => string;
150
+ export declare const findRight: <T>(arr: T[], predicate: (item: T) => boolean) => T | null;
147
151
  export {};
@@ -1,4 +1,5 @@
1
- declare const Toggle: ({ selected, onSelect, color, rootClassName, disabled, dataTestId, Icon, iconClass, throttleOnChange, shouldToggleValueOnLabelClick, isLoading, ...props }: {
1
+ import { CHECKBOX_VALUE } from '../Types';
2
+ declare const Toggle: ({ selected, onSelect, color, rootClassName, disabled, dataTestId, Icon, iconClass, throttleOnChange, shouldToggleValueOnLabelClick, isLoading, value, isControlled, ...props }: {
2
3
  [x: string]: any;
3
4
  selected?: boolean;
4
5
  onSelect?: any;
@@ -11,5 +12,7 @@ declare const Toggle: ({ selected, onSelect, color, rootClassName, disabled, dat
11
12
  throttleOnChange?: boolean;
12
13
  shouldToggleValueOnLabelClick?: boolean;
13
14
  isLoading?: boolean;
15
+ value?: CHECKBOX_VALUE;
16
+ isControlled?: boolean;
14
17
  }) => JSX.Element;
15
18
  export default Toggle;
@@ -75,6 +75,7 @@ export interface CheckboxProps {
75
75
  onClick?: (event: any) => void;
76
76
  id?: string;
77
77
  dataTestId?: string;
78
+ children?: ReactNode;
78
79
  }
79
80
  export interface TippyCustomizedProps extends Pick<TippyProps, 'appendTo'> {
80
81
  theme: TippyTheme;
@@ -110,6 +111,7 @@ export interface InfoIconTippyProps extends Pick<TippyCustomizedProps, 'heading'
110
111
  dataTestid?: string;
111
112
  children?: TippyCustomizedProps['children'];
112
113
  iconClassName?: string;
114
+ buttonPadding?: string;
113
115
  }
114
116
  export interface GenericEmptyStateType {
115
117
  title: ReactNode;
@@ -15,9 +15,8 @@ export { default as DevtronCopyright } from './DevtronCopyright';
15
15
  export * from './DevtronProgressing';
16
16
  export * from './Dialogs';
17
17
  export * from './DraggableWrapper';
18
- export * from './Drawer/Drawer';
19
- export { default as GenericEmptyState } from './EmptyState/GenericEmptyState';
20
- export { default as GenericFilterEmptyState } from './EmptyState/GenericFilterEmptyState';
18
+ export * from './Drawer';
19
+ export * from './EmptyState';
21
20
  export { default as ErrorScreenManager } from './ErrorScreenManager';
22
21
  export { default as ErrorScreenNotAuthorized } from './ErrorScreenNotAuthorized';
23
22
  export * from './GenericDescription';
@@ -0,0 +1,2 @@
1
+ import { AppStatusBodyProps } from './types';
2
+ export declare const AppStatusBody: ({ appDetails, type, handleShowConfigDriftModal, deploymentStatusDetailsBreakdownData, selectedTab, debugWithAIButton: ExplainWithAIButton, }: AppStatusBodyProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { AppStatusContentProps } from './types';
2
+ declare const AppStatusContent: ({ appDetails, handleShowConfigDriftModal, filterHealthyNodes, isCardLayout, }: AppStatusContentProps) => JSX.Element;
3
+ export default AppStatusContent;
@@ -0,0 +1,3 @@
1
+ import { AppStatusModalProps } from './types';
2
+ declare const AppStatusModal: ({ titleSegments, handleClose, type, appDetails: appDetailsProp, processVirtualEnvironmentDeploymentData, updateDeploymentStatusDetailsBreakdownData, isConfigDriftEnabled, configDriftModal: ConfigDriftModal, appId, envId, initialTab, debugWithAIButton, }: AppStatusModalProps) => JSX.Element;
3
+ export default AppStatusModal;
@@ -0,0 +1,3 @@
1
+ import { AppStatusModalTabListProps } from './types';
2
+ declare const AppStatusModalTabList: ({ handleSelectTab, appDetails, type, selectedTab, deploymentStatusDetailsBreakdownData, }: AppStatusModalTabListProps) => JSX.Element;
3
+ export default AppStatusModalTabList;
@@ -0,0 +1,4 @@
1
+ export declare const APP_STATUS_CUSTOM_MESSAGES: {
2
+ HIBERNATED: string;
3
+ 'PARTIALLY HIBERNATED': string;
4
+ };
@@ -0,0 +1,3 @@
1
+ export { default as AppStatusContent } from './AppStatusContent';
2
+ export { default as AppStatusModal } from './AppStatusModal.component';
3
+ export { AppStatusModalTabType } from './types';
@@ -0,0 +1,4 @@
1
+ import { AppDetails, DeploymentStatusDetailsBreakdownDataType } from '../../types';
2
+ import { GetAppDetailsParamsType, GetDeploymentStatusWithTimelineParamsType } from './types';
3
+ export declare const getAppDetails: ({ appId, envId, abortControllerRef, }: GetAppDetailsParamsType) => Promise<AppDetails>;
4
+ export declare const getDeploymentStatusWithTimeline: ({ abortControllerRef, appId, envId, showTimeline, virtualEnvironmentConfig, isHelmApp, }: GetDeploymentStatusWithTimelineParamsType) => Promise<DeploymentStatusDetailsBreakdownDataType>;
@@ -0,0 +1,78 @@
1
+ import { FunctionComponent, PropsWithChildren, ReactNode } from 'react';
2
+ import { APIOptions } from '../../../Common/Types';
3
+ import { AppDetails, ConfigDriftModalProps, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, IntelligenceConfig } from '../../types';
4
+ export declare enum AppStatusModalTabType {
5
+ APP_STATUS = "appStatus",
6
+ DEPLOYMENT_STATUS = "deploymentStatus"
7
+ }
8
+ export type AppStatusModalProps = {
9
+ titleSegments: string[];
10
+ handleClose: () => void;
11
+ isConfigDriftEnabled: boolean;
12
+ configDriftModal: FunctionComponent<ConfigDriftModalProps>;
13
+ processVirtualEnvironmentDeploymentData: (data?: DeploymentStatusDetailsType) => DeploymentStatusDetailsBreakdownDataType;
14
+ debugWithAIButton: FunctionComponent<{
15
+ intelligenceConfig: IntelligenceConfig;
16
+ }>;
17
+ } & ({
18
+ type: 'release';
19
+ appId: number;
20
+ envId: number;
21
+ appDetails?: never;
22
+ initialTab?: never;
23
+ updateDeploymentStatusDetailsBreakdownData?: never;
24
+ } | {
25
+ type: 'devtron-app' | 'other-apps' | 'stack-manager';
26
+ appDetails: AppDetails;
27
+ initialTab: AppStatusModalTabType;
28
+ updateDeploymentStatusDetailsBreakdownData: (data: DeploymentStatusDetailsBreakdownDataType) => void;
29
+ appId?: never;
30
+ envId?: never;
31
+ });
32
+ export interface AppStatusBodyProps extends Required<Pick<AppStatusModalProps, 'appDetails' | 'type' | 'debugWithAIButton'>> {
33
+ handleShowConfigDriftModal: () => void;
34
+ selectedTab: AppStatusModalTabType;
35
+ deploymentStatusDetailsBreakdownData: DeploymentStatusDetailsBreakdownDataType;
36
+ }
37
+ export interface AppStatusContentProps extends Required<Pick<AppStatusBodyProps, 'appDetails'>>, Partial<Pick<AppStatusBodyProps, 'handleShowConfigDriftModal'>> {
38
+ /**
39
+ * @default false
40
+ */
41
+ filterHealthyNodes?: boolean;
42
+ /**
43
+ * @default true
44
+ */
45
+ isCardLayout?: boolean;
46
+ }
47
+ export interface GetFilteredFlattenedNodesFromAppDetailsParamsType extends Pick<AppStatusContentProps, 'appDetails' | 'filterHealthyNodes'> {
48
+ }
49
+ /**
50
+ * Params for getAppDetails which is called in case of release [i.e, devtron apps]
51
+ */
52
+ export interface GetAppDetailsParamsType extends Pick<APIOptions, 'abortControllerRef'> {
53
+ appId: number;
54
+ envId: number;
55
+ }
56
+ export type GetDeploymentStatusWithTimelineParamsType = Pick<APIOptions, 'abortControllerRef'> & {
57
+ /**
58
+ * Incase of helm apps this is installed app id
59
+ */
60
+ appId: number;
61
+ envId: number;
62
+ showTimeline: boolean;
63
+ virtualEnvironmentConfig?: {
64
+ processVirtualEnvironmentDeploymentData: AppStatusModalProps['processVirtualEnvironmentDeploymentData'];
65
+ wfrId: AppDetails['resourceTree']['wfrId'];
66
+ };
67
+ isHelmApp?: boolean;
68
+ };
69
+ export interface AppStatusModalTabListProps extends Pick<AppStatusModalProps, 'appDetails' | 'type'> {
70
+ handleSelectTab: (updatedTab: AppStatusModalTabType) => void;
71
+ selectedTab: AppStatusModalTabType;
72
+ deploymentStatusDetailsBreakdownData: DeploymentStatusDetailsBreakdownDataType;
73
+ }
74
+ export interface StatusHeadingContainerProps extends PropsWithChildren<Pick<AppStatusBodyProps, 'type'>> {
75
+ appId: number;
76
+ envId?: number;
77
+ actionItem?: ReactNode;
78
+ }
@@ -0,0 +1,8 @@
1
+ import { GenericEmptyStateType } from '../../../Common/Types';
2
+ import { AppDetails, DeploymentStatusDetailsBreakdownDataType, Node } from '../../types';
3
+ import { AppStatusModalProps, GetFilteredFlattenedNodesFromAppDetailsParamsType as GetFlattenedNodesFromAppDetailsParamsType } from './types';
4
+ export declare const getAppStatusMessageFromAppDetails: (appDetails: AppDetails) => string;
5
+ export declare const getFlattenedNodesFromAppDetails: ({ appDetails, filterHealthyNodes, }: GetFlattenedNodesFromAppDetailsParamsType) => Node[];
6
+ export declare const getResourceKey: (nodeDetails: Node) => string;
7
+ export declare const getShowDeploymentStatusModal: ({ type, appDetails, }: Pick<AppStatusModalProps, "type" | "appDetails">) => boolean;
8
+ export declare const getEmptyViewImageFromHelmDeploymentStatus: (status: DeploymentStatusDetailsBreakdownDataType["deploymentStatus"]) => GenericEmptyStateType["image"];
@@ -14,7 +14,9 @@ export declare enum ButtonStyleType {
14
14
  negativeGrey = "negative-grey",
15
15
  positive = "positive",
16
16
  warning = "warning",
17
- neutral = "neutral"
17
+ neutral = "neutral",
18
+ neutralN0 = "neutral-n0",
19
+ neutralWhite = "neutral-white"
18
20
  }
19
21
  export declare enum ButtonComponentType {
20
22
  button = "button",
@@ -1,3 +1,3 @@
1
1
  import { DeploymentStatusDetailBreakdownType } from './types';
2
- declare const DeploymentStatusDetailBreakdown: ({ deploymentStatusDetailsBreakdownData, isVirtualEnvironment, }: DeploymentStatusDetailBreakdownType) => JSX.Element;
2
+ declare const DeploymentStatusDetailBreakdown: ({ deploymentStatusDetailsBreakdownData, isVirtualEnvironment, appDetails, rootClassName, }: DeploymentStatusDetailBreakdownType) => JSX.Element;
3
3
  export default DeploymentStatusDetailBreakdown;
@@ -1,2 +1,2 @@
1
1
  import { DeploymentStatusDetailRowType } from './types';
2
- export declare const DeploymentStatusDetailRow: ({ type, hideVerticalConnector, deploymentDetailedData, }: DeploymentStatusDetailRowType) => JSX.Element;
2
+ export declare const DeploymentStatusDetailRow: ({ type, hideVerticalConnector, deploymentDetailedData, appDetails, }: DeploymentStatusDetailRowType) => JSX.Element;
@@ -84,3 +84,4 @@ export declare const PROGRESSING_STATUS: {
84
84
  readonly [x: string]: "progressing" | "starting" | "initiating" | "queued" | "running";
85
85
  };
86
86
  export declare const FAILED_WORKFLOW_STAGE_STATUS_MAP: Record<Extract<WorkflowStageStatusType, WorkflowStageStatusType.ABORTED | WorkflowStageStatusType.FAILED | WorkflowStageStatusType.TIMEOUT>, true>;
87
+ export declare const APP_HEALTH_DROP_DOWN_LIST: string[];
@@ -1,4 +1,3 @@
1
- export { default as AppStatusDetailsChart } from './AppStatusDetailsChart';
2
1
  export { default as Artifacts } from './Artifacts';
3
2
  export { default as CDEmptyState } from './CDEmptyState';
4
3
  export * from './CiPipelineSourceConfig';
@@ -10,6 +10,9 @@ export declare function getTriggerDetails({ appId, envId, pipelineId, triggerId,
10
10
  export declare const getTagDetails: (params: any) => Promise<ResponseType<any>>;
11
11
  export declare const cancelCiTrigger: (params: any, isForceAbort: any) => Promise<ResponseType<any>>;
12
12
  export declare const cancelPrePostCdTrigger: (pipelineId: any, workflowRunner: any, isForceAbort: boolean) => Promise<ResponseType<any>>;
13
+ /**
14
+ * @deprecated
15
+ */
13
16
  export declare function getDeploymentStatusDetail(appId: string, envId: string, showTimeline: boolean, triggerId?: string, isHelmApps?: boolean, installedAppVersionHistoryId?: number): Promise<DeploymentStatusDetailsResponse>;
14
17
  export declare function getManualSync(params: {
15
18
  appId: string;
@@ -2,7 +2,7 @@ import { CSSProperties, ReactElement, ReactNode } from 'react';
2
2
  import { SupportedKeyboardKeysType } from '@Common/Hooks/UseRegisterShortcut/types';
3
3
  import { DeploymentAppTypes, FilterConditionsListType, ImageComment, OptionType, PaginationProps, PromotionApprovalMetadataType, ReleaseTag, ResponseType, UserApprovalMetadataType, useScrollable } from '../../../Common';
4
4
  import { DeploymentStageType } from '../../constants';
5
- import { AggregationKeys, GitTriggers, Node, NodeType, ResourceKindType, ResourceVersionType, TargetPlatformsDTO } from '../../types';
5
+ import { AggregationKeys, AppDetails, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, DeploymentStatusTimelineType, GitTriggers, Node, NodeType, ResourceKindType, ResourceVersionType, TargetPlatformsDTO } from '../../types';
6
6
  import { TargetPlatformBadgeListProps } from '../TargetPlatforms';
7
7
  export declare enum HistoryComponentType {
8
8
  CI = "CI",
@@ -296,66 +296,7 @@ export type FinishedType = {
296
296
  status?: never;
297
297
  finishedOn?: never;
298
298
  });
299
- export interface SyncStageResourceDetail {
300
- id: number;
301
- cdWorkflowRunnerId: number;
302
- resourceGroup: string;
303
- resourceKind: string;
304
- resourceName: string;
305
- resourcePhase: string;
306
- resourceStatus: string;
307
- statusMessage: string;
308
- }
309
- export interface DeploymentStatusDetailsTimelineType {
310
- id: number;
311
- cdWorkflowRunnerId: number;
312
- status: string;
313
- statusDetail: string;
314
- statusTime: string;
315
- resourceDetails?: SyncStageResourceDetail[];
316
- }
317
- export interface DeploymentStatusDetailsType extends Pick<History, 'isDeploymentWithoutApproval'> {
318
- deploymentFinishedOn: string;
319
- deploymentStartedOn: string;
320
- triggeredBy: string;
321
- statusFetchCount: number;
322
- statusLastFetchedAt: string;
323
- timelines: DeploymentStatusDetailsTimelineType[];
324
- wfrStatus?: string;
325
- }
326
- export interface DeploymentStatusDetailsResponse extends ResponseType {
327
- result?: DeploymentStatusDetailsType;
328
- }
329
- interface DeploymentStatusDetailRow {
330
- icon: string;
331
- displayText: ReactNode;
332
- displaySubText: string;
333
- time: string;
334
- resourceDetails?: any;
335
- isCollapsed?: boolean;
336
- kubeList?: {
337
- icon: any;
338
- message: string;
339
- }[];
340
- timelineStatus?: string;
341
- }
342
- export interface DeploymentStatusDetailsBreakdownDataType {
343
- deploymentStatus: string;
344
- deploymentStatusText: string;
345
- deploymentTriggerTime: string;
346
- deploymentEndTime: string;
347
- deploymentError: string;
348
- triggeredBy: string;
349
- nonDeploymentError: string;
350
- deploymentStatusBreakdown: {
351
- DEPLOYMENT_INITIATED: DeploymentStatusDetailRow;
352
- GIT_COMMIT?: DeploymentStatusDetailRow;
353
- ARGOCD_SYNC?: DeploymentStatusDetailRow;
354
- KUBECTL_APPLY?: DeploymentStatusDetailRow;
355
- APP_HEALTH?: DeploymentStatusDetailRow;
356
- HELM_PACKAGE_GENERATED?: DeploymentStatusDetailRow;
357
- };
358
- }
299
+ export type DeploymentStatusDetailsResponse = ResponseType<DeploymentStatusDetailsType>;
359
300
  export interface DeploymentDetailStepsType extends Pick<History, 'isDeploymentWithoutApproval'> {
360
301
  deploymentStatus?: string;
361
302
  deploymentAppType?: DeploymentAppTypes;
@@ -456,19 +397,17 @@ export interface LogsRendererType extends Pick<HistoryLogsProps, 'fullScreenView
456
397
  export interface DeploymentStatusDetailBreakdownType {
457
398
  deploymentStatusDetailsBreakdownData: DeploymentStatusDetailsBreakdownDataType;
458
399
  isVirtualEnvironment?: boolean;
400
+ /**
401
+ * Won't be available if coming directly to deployment history from url
402
+ */
403
+ appDetails: AppDetails | null;
404
+ rootClassName?: string;
459
405
  }
460
- export interface DeploymentStatusDetailRowType {
461
- type: string;
406
+ export interface DeploymentStatusDetailRowType extends Pick<DeploymentStatusDetailBreakdownType, 'appDetails'> {
407
+ type: DeploymentStatusTimelineType;
462
408
  hideVerticalConnector?: boolean;
463
409
  deploymentDetailedData: DeploymentStatusDetailsBreakdownDataType;
464
410
  }
465
- export interface ErrorInfoStatusBarType {
466
- nonDeploymentError: string;
467
- type: string;
468
- errorMessage: string;
469
- hideVerticalConnector?: boolean;
470
- hideErrorIcon?: boolean;
471
- }
472
411
  export interface DeploymentConfigurationsRes extends ResponseType {
473
412
  result?: DeploymentTemplateList[];
474
413
  }
@@ -508,12 +447,6 @@ export interface DeploymentHistorySidebarType {
508
447
  deploymentHistoryList: DeploymentTemplateList[];
509
448
  setDeploymentHistoryList: React.Dispatch<React.SetStateAction<DeploymentTemplateList[]>>;
510
449
  }
511
- export interface AppStatusDetailsChartType {
512
- filterRemoveHealth?: boolean;
513
- showFooter: boolean;
514
- showConfigDriftInfo?: boolean;
515
- onClose?: () => void;
516
- }
517
450
  export interface StatusFilterButtonType {
518
451
  nodes: Array<Node>;
519
452
  selectedTab: string;
@@ -1,10 +1,11 @@
1
1
  import { ReactElement } from 'react';
2
- import { Node } from '../../types';
3
- import { DeploymentHistoryResultObject, ExecutionInfoType, NodeFilters, NodeStatus, StageStatusType, TriggerHistoryFilterCriteriaProps, TriggerHistoryFilterCriteriaType, WorkflowExecutionStagesMapDTO, WorkflowStageStatusType } from './types';
2
+ import { DeploymentAppTypes } from '../../../Common/Types';
3
+ import { DeploymentStatusBreakdownItemType, Node } from '../../types';
4
+ import { TabGroupProps } from '../TabGroup';
5
+ import { DeploymentHistoryResultObject, ExecutionInfoType, History, NodeFilters, NodeStatus, StageStatusType, TriggerHistoryFilterCriteriaProps, TriggerHistoryFilterCriteriaType, WorkflowExecutionStagesMapDTO, WorkflowStageStatusType } from './types';
4
6
  export declare const getTriggerHistoryFilterCriteria: ({ appId, envId, releaseId, showCurrentReleaseDeployments, }: TriggerHistoryFilterCriteriaProps) => TriggerHistoryFilterCriteriaType;
5
7
  export declare const getParsedTriggerHistory: (result: any) => DeploymentHistoryResultObject;
6
8
  export declare const buildHoverHtmlForWebhook: (eventName: any, condition: any, selectors: any) => JSX.Element;
7
- export declare const renderIcon: (iconState: string) => JSX.Element;
8
9
  export declare const getStageStatusIcon: (status: StageStatusType) => JSX.Element;
9
10
  export declare const getLogSearchIndex: ({ stageIndex, lineNumberInsideStage, }: Record<"stageIndex" | "lineNumberInsideStage", number>) => string;
10
11
  export declare const sanitizeWorkflowExecutionStages: (workflowExecutionStages: WorkflowExecutionStagesMapDTO["workflowExecutionStages"]) => ExecutionInfoType | null;
@@ -36,3 +37,6 @@ export declare const getStatusFilters: ({ allNodeCount, missingNodeCount, failed
36
37
  };
37
38
  export declare const getAppStatusIcon: (status: NodeStatus | NodeFilters, hideMessage?: boolean) => JSX.Element;
38
39
  export declare const getTriggerStatusIcon: (status: string) => string;
40
+ export declare const renderDeploymentTimelineIcon: (iconState: DeploymentStatusBreakdownItemType["icon"]) => JSX.Element;
41
+ export declare const getDeploymentTimelineBGColorFromIcon: (icon: DeploymentStatusBreakdownItemType["icon"]) => string;
42
+ export declare const getTriggerOutputTabs: (triggerDetails: History, deploymentAppType: DeploymentAppTypes) => TabGroupProps["tabs"];
@@ -0,0 +1,10 @@
1
+ import { DEPLOYMENT_STATUS } from '../../constants';
2
+ import { DeploymentPhaseType, DeploymentStatusTimelineType } from '../../types';
3
+ import { WorkflowRunnerStatusDTO } from './types';
4
+ export declare const DEPLOYMENT_STATUS_TEXT_MAP: Readonly<Record<(typeof DEPLOYMENT_STATUS)[keyof typeof DEPLOYMENT_STATUS], string>>;
5
+ export declare const WFR_STATUS_DTO_TO_DEPLOYMENT_STATUS_MAP: Readonly<Record<WorkflowRunnerStatusDTO, (typeof DEPLOYMENT_STATUS)[keyof typeof DEPLOYMENT_STATUS]>>;
6
+ export declare const PROGRESSING_DEPLOYMENT_STATUS: Readonly<(typeof DEPLOYMENT_STATUS)[keyof typeof DEPLOYMENT_STATUS][]>;
7
+ export declare const SUCCESSFUL_DEPLOYMENT_STATUS: typeof PROGRESSING_DEPLOYMENT_STATUS;
8
+ export declare const FAILED_DEPLOYMENT_STATUS: typeof PROGRESSING_DEPLOYMENT_STATUS;
9
+ export declare const PHYSICAL_ENV_DEPLOYMENT_TIMELINE_ORDER: Readonly<DeploymentStatusTimelineType[]>;
10
+ export declare const DEPLOYMENT_PHASES: Readonly<DeploymentPhaseType[]>;
@@ -0,0 +1,3 @@
1
+ export * from './constants';
2
+ export * from './types';
3
+ export * from './utils';
@@ -0,0 +1,22 @@
1
+ import { DEPLOYMENT_STATUS } from '../../constants';
2
+ import { DeploymentStatusBreakdownItemType, DeploymentStatusDetailsType, DeploymentStatusTimelineType } from '../../types';
3
+ export declare enum WorkflowRunnerStatusDTO {
4
+ PROGRESSING = "Progressing",
5
+ ABORTED = "Aborted",
6
+ FAILED = "Failed",
7
+ SUCCEEDED = "Succeeded",
8
+ TIMED_OUT = "TimedOut",
9
+ UNABLE_TO_FETCH = "UnableToFetch",
10
+ STARTING = "Starting",
11
+ QUEUED = "Queued",
12
+ INITIATING = "Initiating",
13
+ HEALTHY = "Healthy",
14
+ DEGRADED = "Degraded"
15
+ }
16
+ export interface ProcessUnableToFetchOrTimedOutStatusType {
17
+ timelineData: DeploymentStatusBreakdownItemType;
18
+ timelineStatusType: DeploymentStatusTimelineType;
19
+ deploymentStatus: typeof DEPLOYMENT_STATUS.UNABLE_TO_FETCH | typeof DEPLOYMENT_STATUS.TIMED_OUT;
20
+ statusLastFetchedAt: DeploymentStatusDetailsType['statusLastFetchedAt'] | null;
21
+ statusFetchCount: DeploymentStatusDetailsType['statusFetchCount'] | null;
22
+ }
@@ -0,0 +1,20 @@
1
+ import { DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType } from '../../types';
2
+ /**
3
+ * @description
4
+ * This function processes the deployment status details data and returns a breakdown of the deployment status.
5
+ * Cases it handles:
6
+ * 1. If timelines are not present, say the case of helm deployment, we will parse the wfrStatus and put the status and basic deployment info [triggeredBy, deploymentStartedOn, deploymentFinishedOn] into the breakdown data and return it.
7
+ * 2. In case of gitops:
8
+ * - There are five timelines in chronological order:
9
+ * - Deployment Initiated
10
+ * - Git commit
11
+ * - ArgoCD Sync
12
+ * - Kubectl Apply
13
+ * - App Health
14
+ * - Basic flow is we traverse the timelines in order, if find the last status for that specific timeline from response by traversing the timelines in reverse order.
15
+ * - If element is found, we will parse the status and set the icon, display text, time, etc. for that timeline and set the next timeline to inprogress.
16
+ * - If element is not found, we will parse on basis of factors like:
17
+ * - If this timeline is not inprogress and deploymentStatus is progressing, we will set the current timeline to waiting.
18
+ * - In similar fashion based on the deploymentStatus we will set the icon and display text for the timeline.
19
+ */
20
+ export declare const processDeploymentStatusDetailsData: (data?: DeploymentStatusDetailsType) => DeploymentStatusDetailsBreakdownDataType;
@@ -1,3 +1,3 @@
1
1
  import { ErrorBarType } from './types';
2
- declare const ErrorBar: ({ appDetails }: ErrorBarType) => JSX.Element;
2
+ declare const ErrorBar: ({ appDetails, useParentMargin }: ErrorBarType) => JSX.Element;
3
3
  export default ErrorBar;
@@ -1,6 +1,10 @@
1
1
  import { AppDetails } from '../../types';
2
2
  export interface ErrorBarType {
3
3
  appDetails: AppDetails;
4
+ /**
5
+ * @default true
6
+ */
7
+ useParentMargin?: boolean;
4
8
  }
5
9
  export declare enum AppDetailsErrorType {
6
10
  ERRIMAGEPULL = "errimagepull",
@@ -1,2 +1,3 @@
1
1
  import { AppDetails } from '../../types';
2
+ export declare const getIsImagePullBackOff: (appDetails: AppDetails) => boolean;
2
3
  export declare const renderErrorHeaderMessage: (appDetails: AppDetails, key: string, onClickActionButton?: any) => JSX.Element;
@@ -1,3 +1,3 @@
1
- import { AnimatePresence } from 'framer-motion';
1
+ import { AnimatePresence, motion } from 'framer-motion';
2
2
  export * from './MotionDiv';
3
- export { AnimatePresence };
3
+ export { AnimatePresence, motion };
@@ -1,3 +1,3 @@
1
1
  import { PageHeaderType } from './types';
2
- declare const PageHeader: ({ headerName, additionalHeaderInfo, showTabs, renderHeaderTabs, isBreadcrumbs, breadCrumbs, renderActionButtons, showCloseButton, onClose, markAsBeta, showAnnouncementHeader, tippyProps, }: PageHeaderType) => JSX.Element;
2
+ declare const PageHeader: ({ headerName, additionalHeaderInfo, showTabs, renderHeaderTabs, isBreadcrumbs, breadCrumbs, renderActionButtons, showCloseButton, onClose, markAsBeta, tippyProps, }: PageHeaderType) => JSX.Element;
3
3
  export default PageHeader;
@@ -16,7 +16,6 @@ export interface PageHeaderType {
16
16
  showCloseButton?: boolean;
17
17
  onClose?: () => void;
18
18
  markAsBeta?: boolean;
19
- showAnnouncementHeader?: boolean;
20
19
  tippyProps?: Pick<TippyCustomizedProps, 'additionalContent'> & {
21
20
  isTippyCustomized?: boolean;
22
21
  tippyRedirectLink?: string;