@devtron-labs/devtron-fe-common-lib 1.16.1 → 1.17.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 (156) hide show
  1. package/dist/{@code-editor-Beg2MXXu.js → @code-editor-BmpcIaXT.js} +9708 -9197
  2. package/dist/{@common-rjsf-wzopDXwy.js → @common-rjsf-DM-AVMS7.js} +6 -6
  3. package/dist/{@framer-motion-DAmKhMSi.js → @framer-motion-j6RIjEIR.js} +20 -20
  4. package/dist/{@moment-C_WeV3Af.js → @moment-CGWt8tF2.js} +12 -1
  5. package/dist/{@react-dates-D5kydtW-.js → @react-dates-BVyHiOGU.js} +2065 -2140
  6. package/dist/{@react-select-Cmser7OI.js → @react-select-BQNFZu0Y.js} +6 -6
  7. package/dist/{@react-virtualized-sticky-tree-DMnFy9PE.js → @react-virtualized-sticky-tree-CuElh0mS.js} +1 -1
  8. package/dist/{@vendor-STJ9h0oI.js → @vendor-DbxoIktR.js} +29809 -29542
  9. package/dist/Common/Checkbox/Checkbox.d.ts +1 -1
  10. package/dist/Common/Constants.d.ts +2 -0
  11. package/dist/Common/GenericDescription/GenericDescription.d.ts +1 -1
  12. package/dist/Common/GenericDescription/types.d.ts +4 -1
  13. package/dist/Common/GenericDescription/utils.d.ts +1 -0
  14. package/dist/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.d.ts +1 -1
  15. package/dist/Common/Hooks/UseRegisterShortcut/types.d.ts +21 -0
  16. package/dist/Common/Hooks/UseRegisterShortcut/utils.d.ts +1 -1
  17. package/dist/Common/Hooks/useStateFilters/types.d.ts +2 -2
  18. package/dist/Common/Hooks/useStateFilters/useStateFilters.d.ts +1 -1
  19. package/dist/Common/Hooks/useUrlFilters/index.d.ts +1 -0
  20. package/dist/Common/Hooks/useUrlFilters/types.d.ts +2 -1
  21. package/dist/Common/Hooks/useUrlFilters/useUrlFilters.d.ts +1 -1
  22. package/dist/Common/Modals/VisibleModal.d.ts +1 -0
  23. package/dist/Common/Modals/VisibleModal2.d.ts +1 -0
  24. package/dist/Common/Pagination/constants.d.ts +4 -0
  25. package/dist/Common/Pagination/index.d.ts +1 -0
  26. package/dist/Common/Tooltip/types.d.ts +1 -1
  27. package/dist/Common/Types.d.ts +2 -2
  28. package/dist/Pages/Applications/DevtronApps/Details/CDPipeline/types.d.ts +1 -0
  29. package/dist/Pages/Applications/DevtronApps/Details/CIPipeline/constants.d.ts +8 -0
  30. package/dist/Pages/GlobalConfigurations/BuildInfra/constants.d.ts +1 -1
  31. package/dist/Pages/ResourceBrowser/ResourceBrowser.Types.d.ts +35 -2
  32. package/dist/Pages/ResourceBrowser/constants.d.ts +13 -0
  33. package/dist/Pages/ResourceBrowser/service.d.ts +1 -1
  34. package/dist/Pages/ResourceBrowser/types.d.ts +17 -0
  35. package/dist/Shared/Components/AboutDevtron/AboutDevtronBody.d.ts +1 -3
  36. package/dist/Shared/Components/AboutDevtron/AboutDevtronDialog.d.ts +1 -2
  37. package/dist/Shared/Components/ActionMenu/useActionMenu.hook.d.ts +1 -1
  38. package/dist/Shared/Components/AnimatedDeployButton/AnimatedDeployButton.d.ts +1 -1
  39. package/dist/Shared/Components/AnimatedDeployButton/types.d.ts +5 -9
  40. package/dist/Shared/Components/AppStatusModal/service.d.ts +1 -1
  41. package/dist/Shared/Components/AppStatusModal/types.d.ts +2 -1
  42. package/dist/Shared/Components/Backdrop/Backdrop.d.ts +1 -1
  43. package/dist/Shared/Components/Backdrop/index.d.ts +1 -0
  44. package/dist/Shared/Components/Backdrop/types.d.ts +28 -2
  45. package/dist/Shared/Components/Backdrop/utils.d.ts +1 -0
  46. package/dist/Shared/Components/Badge/Badge.d.ts +3 -0
  47. package/dist/Shared/Components/Badge/index.d.ts +2 -0
  48. package/dist/Shared/Components/Badge/types.d.ts +18 -0
  49. package/dist/Shared/Components/Badge/utils.d.ts +7 -0
  50. package/dist/Shared/Components/BulkOperations/types.d.ts +1 -1
  51. package/dist/Shared/Components/BulkSelection/BulkSelection.d.ts +1 -1
  52. package/dist/Shared/Components/BulkSelection/types.d.ts +4 -9
  53. package/dist/Shared/Components/Button/Button.component.d.ts +376 -2
  54. package/dist/Shared/Components/Button/types.d.ts +6 -3
  55. package/dist/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/helpers.d.ts +1 -1
  56. package/dist/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/types.d.ts +1 -1
  57. package/dist/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.d.ts +1 -1
  58. package/dist/Shared/Components/CICDHistory/DeploymentStatusBreakdown.d.ts +1 -1
  59. package/dist/Shared/Components/CICDHistory/types.d.ts +2 -1
  60. package/dist/Shared/Components/CodeEditor/CodeEditor.constants.d.ts +1 -1
  61. package/dist/Shared/Components/ContextSwitcher/ContextSwitcher.d.ts +2 -0
  62. package/dist/Shared/Components/ContextSwitcher/index.d.ts +3 -0
  63. package/dist/Shared/Components/ContextSwitcher/types.d.ts +14 -0
  64. package/dist/Shared/Components/ContextSwitcher/utils.d.ts +5 -0
  65. package/dist/Shared/Components/DeploymentStatusBreakdown/constants.d.ts +2 -1
  66. package/dist/Shared/Components/DeploymentStatusBreakdown/utils.d.ts +7 -2
  67. package/dist/Shared/Components/DynamicDataTable/types.d.ts +1 -1
  68. package/dist/Shared/Components/GenericInfoCard/types.d.ts +1 -1
  69. package/dist/Shared/Components/GenericModal/GenericModal.component.d.ts +9 -0
  70. package/dist/Shared/Components/GenericModal/GenericModal.context.d.ts +6 -0
  71. package/dist/Shared/Components/GenericModal/constants.d.ts +2 -0
  72. package/dist/Shared/Components/GenericModal/index.d.ts +2 -0
  73. package/dist/Shared/Components/GenericModal/types.d.ts +37 -0
  74. package/dist/Shared/Components/GettingStartedCard/GettingStarted.d.ts +1 -1
  75. package/dist/Shared/Components/GettingStartedCard/types.d.ts +0 -3
  76. package/dist/Shared/Components/Header/HeaderWithCreateButton/types.d.ts +1 -1
  77. package/dist/Shared/Components/Header/HelpButton.d.ts +1 -1
  78. package/dist/Shared/Components/Header/PageHeader.d.ts +1 -1
  79. package/dist/Shared/Components/Header/types.d.ts +1 -3
  80. package/dist/Shared/Components/Icon/Icon.d.ts +18 -1
  81. package/dist/Shared/Components/InfoBlock/constants.d.ts +2 -1
  82. package/dist/Shared/Components/InvalidYAMLTippy/types.d.ts +1 -1
  83. package/dist/Shared/Components/Popover/types.d.ts +3 -2
  84. package/dist/Shared/Components/Popover/utils.d.ts +1 -1
  85. package/dist/Shared/Components/Security/SecurityModal/config/CodeScan.d.ts +7 -7
  86. package/dist/Shared/Components/Security/SecurityModal/types.d.ts +1 -1
  87. package/dist/Shared/Components/Security/SeverityChip.d.ts +6 -0
  88. package/dist/Shared/Components/Security/Vulnerabilities/types.d.ts +1 -1
  89. package/dist/Shared/Components/SelectPicker/common.d.ts +1 -1
  90. package/dist/Shared/Components/SelectPicker/type.d.ts +2 -2
  91. package/dist/Shared/Components/TabGroup/TabGroup.types.d.ts +1 -1
  92. package/dist/Shared/Components/Table/BulkSelectionActionWidget.d.ts +1 -1
  93. package/dist/Shared/Components/Table/InternalTable.d.ts +1 -1
  94. package/dist/Shared/Components/Table/TableContent.d.ts +3 -0
  95. package/dist/Shared/Components/Table/constants.d.ts +1 -0
  96. package/dist/Shared/Components/Table/index.d.ts +1 -1
  97. package/dist/Shared/Components/Table/types.d.ts +48 -21
  98. package/dist/Shared/Components/Table/useTableWithKeyboardShortcuts.d.ts +6 -1
  99. package/dist/Shared/Components/Table/utils.d.ts +5 -0
  100. package/dist/Shared/Components/TargetPlatforms/types.d.ts +1 -1
  101. package/dist/Shared/Components/WorkflowOptionsModal/SourceTypeCard.d.ts +1 -1
  102. package/dist/Shared/Components/WorkflowOptionsModal/WorkflowOptionsModal.d.ts +1 -1
  103. package/dist/Shared/Components/WorkflowOptionsModal/constants.d.ts +75 -41
  104. package/dist/Shared/Components/WorkflowOptionsModal/index.d.ts +1 -0
  105. package/dist/Shared/Components/WorkflowOptionsModal/types.d.ts +10 -12
  106. package/dist/Shared/Components/WorkflowOptionsModal/utils.d.ts +13 -2
  107. package/dist/Shared/Components/index.d.ts +4 -0
  108. package/dist/Shared/Helpers.d.ts +3 -2
  109. package/dist/Shared/Hooks/useUserPreferences/constants.d.ts +2 -0
  110. package/dist/Shared/Hooks/useUserPreferences/service.d.ts +1 -1
  111. package/dist/Shared/Hooks/useUserPreferences/types.d.ts +25 -12
  112. package/dist/Shared/Hooks/useUserPreferences/useUserPrefrences.d.ts +5 -3
  113. package/dist/Shared/Hooks/useUserPreferences/utils.d.ts +3 -4
  114. package/dist/Shared/Providers/MainContextProvider/index.d.ts +3 -0
  115. package/dist/Shared/Providers/{types.d.ts → MainContextProvider/types.d.ts} +4 -4
  116. package/dist/Shared/Providers/index.d.ts +0 -2
  117. package/dist/Shared/Services/types.d.ts +1 -0
  118. package/dist/Shared/constants.d.ts +1 -0
  119. package/dist/Shared/types.d.ts +15 -2
  120. package/dist/assets/@code-editor.css +1 -1
  121. package/dist/assets/@common-rjsf.css +1 -1
  122. package/dist/assets/ic-bug.8a8dc1fc.svg +3 -0
  123. package/dist/assets/ic-check-all.fdea6b38.svg +5 -0
  124. package/dist/assets/ic-check-square.e355731d.svg +4 -0
  125. package/dist/assets/ic-clean-brush.c21cbe1e.svg +3 -0
  126. package/dist/assets/ic-container.92a4c33a.svg +3 -0
  127. package/dist/assets/ic-deploy-color.73a8df48.svg +14 -0
  128. package/dist/assets/ic-deploy-sync.6b1cf1b1.svg +16 -0
  129. package/dist/assets/ic-download.468a0cb7.svg +3 -0
  130. package/dist/assets/ic-file-code.0926d194.svg +3 -0
  131. package/dist/assets/ic-gavel.a3b064b5.svg +3 -0
  132. package/dist/assets/ic-git-branch.d6b3d950.svg +3 -0
  133. package/dist/assets/ic-info-filled-color.47953fcf.svg +8 -0
  134. package/dist/assets/ic-linked-build-color.d1df5ce1.svg +7 -0
  135. package/dist/assets/ic-logs.d310db72.svg +3 -0
  136. package/dist/assets/{ic-minus.416da21b.svg → ic-minus.aac464f7.svg} +1 -1
  137. package/dist/assets/ic-pause-circle.f9405070.svg +3 -0
  138. package/dist/assets/ic-speedometer.3ecaae3b.svg +3 -0
  139. package/dist/assets/ic-two-cubes.056d1333.svg +3 -0
  140. package/dist/assets/ic-webhook.ffd8ded6.svg +21 -0
  141. package/dist/assets/workflow-options-modal-header.0444485e.svg +38 -0
  142. package/dist/index.d.ts +6 -1
  143. package/dist/index.js +874 -855
  144. package/package.json +7 -7
  145. package/dist/Shared/Components/BulkSelection/BulkSelectionDropdownItems.d.ts +0 -3
  146. package/dist/assets/change-source.abc9d12f.png +0 -0
  147. package/dist/assets/ic-check-all.0376437d.svg +0 -21
  148. package/dist/assets/ic-check-square.2a3d3fb9.svg +0 -20
  149. package/dist/assets/ic-ci-webhook.a2ab6db6.svg +0 -42
  150. package/dist/assets/ic-source-build.7d776b10.svg +0 -22
  151. package/dist/assets/ic-source-job.a40f06cf.svg +0 -26
  152. package/dist/assets/ic-source-linked-build.f24ecbed.svg +0 -24
  153. package/dist/assets/ic-source-webhook.ee64a29a.svg +0 -22
  154. package/dist/assets/select-image-source.fb911f42.png +0 -0
  155. /package/dist/Shared/Providers/{MainContextProvider.d.ts → MainContextProvider/MainContextProvider.d.ts} +0 -0
  156. /package/dist/assets/{ic-container.4e1e6455.svg → ic-container-registry.4e1e6455.svg} +0 -0
@@ -1,52 +1,86 @@
1
- import { PipelineType } from '../../../Common/Types';
1
+ import { WorkflowNodeType } from '../../../Common/Types';
2
2
  import { CIPipelineNodeType } from '../../types';
3
- export declare const WORKFLOW_OPTIONS_MODAL: {
4
- ACTION_TEXT: string;
5
- ACTION_NOTE: string;
6
- CHANGE_CI_TEXT: string;
7
- CHANGE_CI_NOTE: string;
8
- };
9
- export declare const WORKFLOW_OPTIONS_MODAL_TYPES: {
10
- DEFAULT: string;
11
- RECIEVE: string;
12
- JOB: string;
13
- };
14
3
  export declare const SOURCE_TYPE_CARD_VARIANTS: {
15
- SOURCE_CODE: {
16
- title: string;
17
- subtitle: string;
18
- image: string;
19
- alt: string;
20
- dataTestId: string;
21
- type: CIPipelineNodeType;
22
- };
23
- LINKED_PIPELINE: {
24
- title: string;
25
- subtitle: string;
26
- image: string;
27
- alt: string;
28
- dataTestId: string;
29
- type: CIPipelineNodeType;
4
+ BUILD: {
5
+ BUILD_AND_DEPLOY_FROM_SOURCE_CODE: {
6
+ title: string;
7
+ subtitle: string;
8
+ dataTestId: string;
9
+ type: CIPipelineNodeType.CI_CD;
10
+ icons: ({
11
+ name: "ic-git-branch";
12
+ color: "N700";
13
+ } | {
14
+ name: "ic-build-color";
15
+ color: any;
16
+ } | {
17
+ name: "ic-deploy-color";
18
+ color: any;
19
+ })[];
20
+ };
21
+ BUILD_FROM_SOURCE_CODE: {
22
+ title: string;
23
+ subtitle: string;
24
+ dataTestId: string;
25
+ type: CIPipelineNodeType.CI;
26
+ icons: ({
27
+ name: "ic-git-branch";
28
+ color: "N700";
29
+ } | {
30
+ name: "ic-build-color";
31
+ color: any;
32
+ })[];
33
+ };
34
+ JOB: {
35
+ title: string;
36
+ subtitle: string;
37
+ dataTestId: string;
38
+ type: CIPipelineNodeType.JOB_CI;
39
+ icons: {
40
+ name: "ic-job-color";
41
+ color: any;
42
+ }[];
43
+ };
30
44
  };
31
- EXTERNAL_SERVICE: {
32
- title: string;
33
- subtitle: string;
34
- image: string;
35
- alt: string;
36
- dataTestId: string;
37
- type: PipelineType;
45
+ RECEIVE: {
46
+ EXTERNAL_SERVICE: {
47
+ title: string;
48
+ subtitle: string;
49
+ dataTestId: string;
50
+ type: WorkflowNodeType.WEBHOOK;
51
+ icons: ({
52
+ name: "ic-webhook";
53
+ color: any;
54
+ } | {
55
+ name: "ic-deploy-color";
56
+ color: any;
57
+ })[];
58
+ };
59
+ LINKED_PIPELINE: {
60
+ title: string;
61
+ subtitle: string;
62
+ dataTestId: string;
63
+ type: CIPipelineNodeType.LINKED_CI;
64
+ icons: {
65
+ name: "ic-linked-build-color";
66
+ color: any;
67
+ }[];
68
+ };
38
69
  };
39
70
  JOB: {
40
- title: string;
41
- subtitle: string;
42
- image: string;
43
- alt: string;
44
- dataTestId: string;
45
- type: CIPipelineNodeType;
71
+ JOB: {
72
+ title: string;
73
+ subtitle: string;
74
+ dataTestId: string;
75
+ type: CIPipelineNodeType.JOB_CI;
76
+ icons: {
77
+ name: "ic-job-color";
78
+ color: any;
79
+ }[];
80
+ };
46
81
  };
47
82
  };
48
83
  export declare const NO_ENV_FOUND = "No environment found. Please create a CD Pipeline first.";
49
- export declare const CHANGE_SAME_CI = "Cannot change to same source type";
50
84
  export declare const REQUEST_IN_PROGRESS = "Request in progress";
51
85
  export declare const TOAST_MESSAGES: {
52
86
  SUCCESS_CHANGE_TO_WEBHOOK: string;
@@ -1 +1,2 @@
1
+ export type { SourceTypeCardProps } from './types';
1
2
  export { default as WorkflowOptionsModal } from './WorkflowOptionsModal';
@@ -1,20 +1,19 @@
1
+ import { WorkflowNodeType } from '../../../Common/Types';
1
2
  import { ChangeCIPayloadType, CIPipelineNodeType, WorkflowType } from '../../types';
2
3
  import { AppConfigProps } from '../../../Pages/index';
3
- interface LinkedCDSourceVariant {
4
+ import { GenericModalProps } from '../GenericModal';
5
+ import { IconsProps } from '../Icon';
6
+ export interface SourceTypeCardProps {
4
7
  title: string;
5
8
  subtitle: string;
6
- image: string;
7
- alt: string;
8
9
  dataTestId: string;
9
- type: string;
10
- }
11
- export interface SourceTypeCardProps extends LinkedCDSourceVariant {
12
- handleCardAction: (e: React.MouseEvent | React.KeyboardEvent) => void;
10
+ type: CIPipelineNodeType | WorkflowNodeType.WEBHOOK;
11
+ disabled?: boolean;
13
12
  disableInfo: string;
14
- isDisabled?: boolean;
13
+ icons: Pick<IconsProps, 'name' | 'color'>[];
14
+ onCardAction: (e: React.MouseEvent | React.KeyboardEvent) => void;
15
15
  }
16
- export interface WorkflowOptionsModalProps extends Required<Pick<AppConfigProps, 'isTemplateView'>> {
17
- handleCloseWorkflowOptionsModal: () => void;
16
+ export interface WorkflowOptionsModalProps extends Required<Pick<AppConfigProps, 'isTemplateView'>>, Pick<GenericModalProps, 'open' | 'onClose'> {
18
17
  addCIPipeline: (type: CIPipelineNodeType, workflowId?: number | string) => void;
19
18
  addWebhookCD: (workflowId?: number | string) => void;
20
19
  addLinkedCD: (changeCIPayload?: ChangeCIPayloadType) => void;
@@ -23,7 +22,6 @@ export interface WorkflowOptionsModalProps extends Required<Pick<AppConfigProps,
23
22
  changeCIPayload?: ChangeCIPayloadType;
24
23
  workflows?: WorkflowType[];
25
24
  getWorkflows?: () => void;
26
- linkedCDSourceVariant?: LinkedCDSourceVariant;
25
+ linkedCDSourceVariant?: Pick<SourceTypeCardProps, 'title' | 'subtitle' | 'type' | 'icons' | 'dataTestId'>;
27
26
  isAppGroup?: boolean;
28
27
  }
29
- export {};
@@ -1,5 +1,6 @@
1
- import { PipelineType } from '../../../Common/Types';
2
- import { ChangeCIPayloadType } from '../../types';
1
+ import { PipelineType, WorkflowNodeType } from '../../../Common/Types';
2
+ import { ChangeCIPayloadType, CIPipelineNodeType } from '../../types';
3
+ import { SourceTypeCardProps, WorkflowOptionsModalProps } from './types';
3
4
  export declare const getSwitchToWebhookPayload: (changeCIPayload: ChangeCIPayloadType) => {
4
5
  appId: number;
5
6
  pipelines: {
@@ -12,3 +13,13 @@ export declare const getSwitchToWebhookPayload: (changeCIPayload: ChangeCIPayloa
12
13
  switchFromCiPipelineId: number;
13
14
  }[];
14
15
  };
16
+ export declare const getCurrentPipelineType: ({ workflows, changeCIPayload, }: Required<Pick<WorkflowOptionsModalProps, "workflows" | "changeCIPayload">>) => SourceTypeCardProps["type"];
17
+ export declare const getBuildWorkflowCardsConfig: ({ currentPipelineType, changeCIPayload, isAppGroup, }: {
18
+ currentPipelineType: CIPipelineNodeType | WorkflowNodeType.WEBHOOK;
19
+ } & Required<Pick<WorkflowOptionsModalProps, "changeCIPayload" | "isAppGroup">>) => Pick<SourceTypeCardProps, "title" | "dataTestId" | "disabled" | "type" | "subtitle" | "icons">[];
20
+ export declare const getReceiveWorkflowCardsConfig: ({ currentPipelineType, linkedCDSourceVariant, isAppGroup, }: {
21
+ currentPipelineType: CIPipelineNodeType | WorkflowNodeType.WEBHOOK;
22
+ } & Required<Pick<WorkflowOptionsModalProps, "linkedCDSourceVariant" | "isAppGroup">>) => Pick<SourceTypeCardProps, "title" | "dataTestId" | "disabled" | "type" | "subtitle" | "icons">[];
23
+ export declare const getJobWorkflowCardsConfig: ({ currentPipelineType, isAppGroup, }: {
24
+ currentPipelineType: CIPipelineNodeType | WorkflowNodeType.WEBHOOK;
25
+ } & Required<Pick<WorkflowOptionsModalProps, "isAppGroup">>) => Pick<SourceTypeCardProps, "title" | "dataTestId" | "disabled" | "type" | "subtitle" | "icons">[];
@@ -7,6 +7,7 @@ export * from './APIResponseHandler';
7
7
  export * from './AppStatusModal';
8
8
  export * from './ArtifactInfoModal';
9
9
  export * from './Backdrop';
10
+ export * from './Badge';
10
11
  export * from './BulkOperations';
11
12
  export * from './BulkSelection';
12
13
  export * from './Button';
@@ -20,6 +21,7 @@ export * from './CollapsibleList';
20
21
  export * from './CommitChipCell';
21
22
  export * from './Confetti';
22
23
  export * from './ConfirmationModal';
24
+ export * from './ContextSwitcher';
23
25
  export * from './CountrySelect';
24
26
  export * from './CustomInput';
25
27
  export * from './DatePicker';
@@ -40,6 +42,7 @@ export * from './FlagImage';
40
42
  export * from './FloatingVariablesSuggestions';
41
43
  export * from './FramerComponents';
42
44
  export * from './GenericInfoCard';
45
+ export * from './GenericModal';
43
46
  export * from './GenericSectionErrorState';
44
47
  export * from './GitCommitInfoGeneric';
45
48
  export * from './GitProviderIcon';
@@ -63,6 +66,7 @@ export * from './ModalSidebarPanel';
63
66
  export * from './NumbersCount';
64
67
  export * from './PhoneInput';
65
68
  export * from './Plugin';
69
+ export * from './Popover';
66
70
  export * from './ProgressBar';
67
71
  export { default as QRCode } from './QRCode';
68
72
  export * from './ReactSelect';
@@ -2,10 +2,10 @@ import { ReactElement } from 'react';
2
2
  import { PromptProps } from 'react-router-dom';
3
3
  import { StrictRJSFSchema } from '@rjsf/utils';
4
4
  import { Pair } from 'yaml';
5
- import { MaterialHistoryType } from '@Shared/Services/app.types';
5
+ import { MaterialHistoryType } from './Services/app.types';
6
6
  import { ApprovalConfigDataType, MaterialInfo, SortingOrder, UserApprovalConfigType, UserApprovalInfo } from '../Common';
7
7
  import { AggregatedNodes, PodMetadatum } from './Components';
8
- import { BorderConfigType, GetTimeDifferenceParamsType, GitTriggers, IntersectionChangeHandler, IntersectionOptions, PreventOutsideFocusProps, TargetPlatformItemDTO, TargetPlatformsDTO, WebhookEventNameType } from './types';
8
+ import { BorderConfigType, GetTimeDifferenceParamsType, GitTriggers, IntersectionChangeHandler, IntersectionOptions, Node, PreventOutsideFocusProps, TargetPlatformItemDTO, TargetPlatformsDTO, WebhookEventNameType } from './types';
9
9
  interface HighlightSearchTextProps {
10
10
  /**
11
11
  * The text to be highlighted
@@ -102,4 +102,5 @@ export declare const getClassNameForStickyHeaderWithShadow: (isStuck: boolean, t
102
102
  export declare const clearCookieOnLogout: () => void;
103
103
  export declare const getAppDetailsURL: (appId: number | string, envId?: number | string) => string;
104
104
  export declare const smoothScrollToTop: (scrollContainer: HTMLElement, targetPosition: number) => import('framer-motion').AnimationPlaybackControls;
105
+ export declare const getGroupVersionFromApiVersion: (apiVersion: string) => Pick<Node, "group" | "version">;
105
106
  export {};
@@ -1 +1,3 @@
1
+ import { PreferredResourceKindType } from './types';
1
2
  export declare const USER_PREFERENCES_ATTRIBUTE_KEY = "userPreferences";
3
+ export declare const DEFAULT_RESOURCES_MAP: Record<PreferredResourceKindType, null>;
@@ -5,4 +5,4 @@ import { UserPreferenceResourceProps, UserPreferencesType } from './types';
5
5
  * @throws Will throw an error if the request fails or if the result is not in the expected format.
6
6
  */
7
7
  export declare const getUserPreferences: () => Promise<UserPreferencesType>;
8
- export declare const updateUserPreferences: ({ path, value, shouldThrowError, }: UserPreferenceResourceProps) => Promise<boolean>;
8
+ export declare const updateUserPreferences: ({ path, value, resourceKind, shouldThrowError, userPreferencesResponse, }: UserPreferenceResourceProps) => Promise<boolean>;
@@ -1,6 +1,5 @@
1
- import { USER_PREFERENCES_ATTRIBUTE_KEY } from '@Shared/Hooks/useUserPreferences/constants';
2
- import { AppThemeType, ThemeConfigType, ThemePreferenceType } from '@Shared/Providers/ThemeProvider/types';
3
- import { BaseAppMetaData } from '../../Services';
1
+ import { USER_PREFERENCES_ATTRIBUTE_KEY } from './constants';
2
+ import { AppThemeType, ThemeConfigType, ThemePreferenceType } from '../../Providers/ThemeProvider/types';
4
3
  import { ResourceKindType } from '../../types';
5
4
  export interface GetUserPreferencesQueryParamsType {
6
5
  key: typeof USER_PREFERENCES_ATTRIBUTE_KEY;
@@ -12,12 +11,18 @@ export declare enum ViewIsPipelineRBACConfiguredRadioTabs {
12
11
  export declare enum UserPreferenceResourceActions {
13
12
  RECENTLY_VISITED = "recently-visited"
14
13
  }
15
- export interface UserResourceKindActionType {
16
- [UserPreferenceResourceActions.RECENTLY_VISITED]: BaseAppMetaData[];
14
+ export type PreferredResourceKindType = ResourceKindType.devtronApplication | ResourceKindType.job | 'app-group' | ResourceKindType.cluster;
15
+ export interface BaseRecentlyVisitedEntitiesTypes {
16
+ id: number;
17
+ name: string;
18
+ }
19
+ export interface UserPreferenceRecentlyVisitedAppsTypes extends BaseRecentlyVisitedEntitiesTypes {
20
+ resourceKind: PreferredResourceKindType;
17
21
  }
18
- export interface UserPreferenceResourceType {
19
- [ResourceKindType.devtronApplication]: UserResourceKindActionType;
22
+ export interface UserResourceKindActionType {
23
+ [UserPreferenceResourceActions.RECENTLY_VISITED]: BaseRecentlyVisitedEntitiesTypes[];
20
24
  }
25
+ export type UserPreferenceResourceType = Partial<Record<PreferredResourceKindType, UserResourceKindActionType>>;
21
26
  export interface GetUserPreferencesParsedDTO {
22
27
  viewPermittedEnvOnly?: boolean;
23
28
  /**
@@ -56,26 +61,34 @@ export interface UserPreferencesType {
56
61
  }
57
62
  export interface UpdatedUserPreferencesType extends UserPreferencesType, Pick<ThemeConfigType, 'appTheme'> {
58
63
  }
64
+ export interface RecentlyVisitedFetchConfigType extends UserPreferenceRecentlyVisitedAppsTypes {
65
+ isDataAvailable?: boolean;
66
+ }
59
67
  export interface UseUserPreferencesProps {
68
+ userPreferenceResourceKind?: PreferredResourceKindType;
60
69
  migrateUserPreferences?: (userPreferencesResponse: UserPreferencesType) => Promise<UserPreferencesType>;
70
+ recentlyVisitedFetchConfig?: RecentlyVisitedFetchConfigType;
61
71
  }
62
72
  export type UserPathValueMapType = {
63
73
  path: 'themePreference';
64
74
  value: Required<Pick<UpdatedUserPreferencesType, 'themePreference' | 'appTheme'>>;
75
+ resourceKind?: never;
76
+ userPreferencesResponse?: never;
65
77
  } | {
66
78
  path: 'pipelineRBACViewSelectedTab';
67
79
  value: Required<Pick<UserPreferencesType, 'pipelineRBACViewSelectedTab'>>;
80
+ resourceKind?: never;
81
+ userPreferencesResponse?: never;
68
82
  } | {
69
83
  path: 'resources';
70
- value: Required<BaseAppMetaData[]>;
84
+ value: Required<BaseRecentlyVisitedEntitiesTypes[]>;
85
+ resourceKind: PreferredResourceKindType;
86
+ userPreferencesResponse?: UserPreferencesType;
71
87
  };
72
88
  export type UserPreferenceResourceProps = UserPathValueMapType & {
73
89
  shouldThrowError?: boolean;
90
+ userPreferencesResponse?: UserPreferencesType;
74
91
  };
75
- export interface UserPreferenceRecentlyVisitedAppsTypes {
76
- appId: number;
77
- appName: string;
78
- }
79
92
  export interface UserPreferenceFilteredListTypes extends UserPreferenceRecentlyVisitedAppsTypes {
80
93
  userPreferencesResponse: UserPreferencesType;
81
94
  }
@@ -1,10 +1,12 @@
1
1
  import { ServerErrors } from '../../../Common/ServerError';
2
- import { UserPreferenceRecentlyVisitedAppsTypes, UserPreferencesType, UseUserPreferencesProps, ViewIsPipelineRBACConfiguredRadioTabs } from './types';
3
- export declare const useUserPreferences: ({ migrateUserPreferences }: UseUserPreferencesProps) => {
2
+ import { BaseRecentlyVisitedEntitiesTypes, UserPreferencesType, UseUserPreferencesProps, ViewIsPipelineRBACConfiguredRadioTabs } from './types';
3
+ export declare const useUserPreferences: ({ migrateUserPreferences, recentlyVisitedFetchConfig }: UseUserPreferencesProps) => {
4
4
  userPreferences: UserPreferencesType;
5
5
  userPreferencesError: ServerErrors;
6
6
  handleFetchUserPreferences: () => Promise<void>;
7
7
  handleUpdatePipelineRBACViewSelectedTab: (selectedTab: ViewIsPipelineRBACConfiguredRadioTabs) => void;
8
8
  handleUpdateUserThemePreference: (themePreference: UserPreferencesType["themePreference"]) => void;
9
- fetchRecentlyVisitedParsedApps: ({ appId, appName }: UserPreferenceRecentlyVisitedAppsTypes) => Promise<void>;
9
+ fetchRecentlyVisitedParsedEntities: () => Promise<UserPreferencesType>;
10
+ recentlyVisitedResources: BaseRecentlyVisitedEntitiesTypes[];
11
+ recentResourcesLoading: boolean;
10
12
  };
@@ -1,4 +1,3 @@
1
- import { BaseAppMetaData } from '../../Services';
2
- import { UserPreferenceFilteredListTypes, UserPreferenceResourceType } from './types';
3
- export declare const getUserPreferenceResourcesMetadata: (recentlyVisited: BaseAppMetaData[]) => UserPreferenceResourceType;
4
- export declare const getFilteredUniqueAppList: ({ userPreferencesResponse, appId, appName, }: UserPreferenceFilteredListTypes) => BaseAppMetaData[];
1
+ import { GetUserPreferencesParsedDTO, UserPreferenceFilteredListTypes, UserPreferencesType } from './types';
2
+ export declare const getFilteredUniqueAppList: ({ userPreferencesResponse, id, name, resourceKind, }: UserPreferenceFilteredListTypes) => import('./types').BaseRecentlyVisitedEntitiesTypes[];
3
+ export declare const getParsedResourcesMap: (resources: GetUserPreferencesParsedDTO["resources"]) => UserPreferencesType["resources"];
@@ -0,0 +1,3 @@
1
+ export * from './MainContextProvider';
2
+ export type { MainContext, ReloadVersionConfigTypes, SidePanelConfig } from './types';
3
+ export { SidePanelTab } from './types';
@@ -1,7 +1,7 @@
1
1
  import { Dispatch, MutableRefObject, ReactNode, SetStateAction } from 'react';
2
- import { SERVER_MODE } from '../../Common';
3
- import { ServerInfo } from '../Components/Header/types';
4
- import { DevtronLicenseInfo, IntelligenceConfig, LicenseInfoDialogType, ToastManager } from '..';
2
+ import { SERVER_MODE } from '../../../Common';
3
+ import { DevtronLicenseInfo, EnvironmentDataValuesDTO, IntelligenceConfig, LicenseInfoDialogType, ToastManager } from '../..';
4
+ import { ServerInfo } from '../../Components/Header/types';
5
5
  export interface ReloadVersionConfigTypes {
6
6
  bgUpdated: boolean;
7
7
  handleAppUpdate: () => void;
@@ -66,7 +66,7 @@ type CommonMainContextProps = {
66
66
  setIntelligenceConfig: Dispatch<SetStateAction<IntelligenceConfig>>;
67
67
  setAIAgentContext: (aiAgentContext: AIAgentContextType) => void;
68
68
  setSidePanelConfig: Dispatch<SetStateAction<SidePanelConfig>>;
69
- };
69
+ } & Pick<EnvironmentDataValuesDTO, 'isResourceRecommendationEnabled'>;
70
70
  export type MainContext = CommonMainContextProps & ({
71
71
  isLicenseDashboard?: never;
72
72
  serverMode: SERVER_MODE;
@@ -1,6 +1,4 @@
1
1
  export * from './ImageSelectionUtility';
2
2
  export * from './MainContextProvider';
3
3
  export * from './ThemeProvider';
4
- export type { MainContext, ReloadVersionConfigTypes, SidePanelConfig } from './types';
5
- export { SidePanelTab } from './types';
6
4
  export * from './UserEmailProvider';
@@ -38,5 +38,6 @@ export interface EnvironmentDataValuesDTO extends Pick<MainContext, 'featureGitO
38
38
  isManifestScanningEnabled: boolean;
39
39
  canOnlyViewPermittedEnvOrgLevel: boolean;
40
40
  devtronManagedLicensingEnabled: boolean;
41
+ isResourceRecommendationEnabled?: boolean;
41
42
  }
42
43
  export {};
@@ -356,6 +356,7 @@ export declare const ANSI_UP_REGEX: RegExp;
356
356
  */
357
357
  export declare enum ComponentSizeType {
358
358
  xxs_small_icon = "xxs-small-icon",
359
+ xxxs = "xxxs",
359
360
  xxs = "xxs",
360
361
  xs = "xs",
361
362
  small = "small",
@@ -97,7 +97,8 @@ export declare enum Nodes {
97
97
  Node = "Node",
98
98
  Overview = "Overview",
99
99
  MonitoringDashboard = "MonitoringDashboard",
100
- UpgradeCluster = "UpgradeCluster"
100
+ UpgradeCluster = "UpgradeCluster",
101
+ ResourceRecommender = "ResourceRecommender"
101
102
  }
102
103
  export type NodeType = keyof typeof Nodes;
103
104
  export interface Node {
@@ -760,6 +761,15 @@ interface CommonTabArgsType {
760
761
  * @default false
761
762
  */
762
763
  shouldRemainMounted?: boolean;
764
+ /**
765
+ * @default false
766
+ * If true, tab would contain alpha as badge next to the title
767
+ */
768
+ isAlpha?: boolean;
769
+ /**
770
+ * On tab stop, i.e by pressing cross icon on alive tab [fixed tab expanding on click of tab and remains expanded on other tab click], tab will reset the tab to this default URL if provided
771
+ */
772
+ defaultUrl?: string | null;
763
773
  }
764
774
  export type InitTabType = Omit<CommonTabArgsType, 'type'> & ({
765
775
  type: 'fixed';
@@ -876,7 +886,8 @@ export declare enum CIPipelineNodeType {
876
886
  CI = "CI",
877
887
  LINKED_CI = "LINKED-CI",
878
888
  JOB_CI = "JOB-CI",
879
- LINKED_CD = "LINKED_CD"
889
+ LINKED_CD = "LINKED_CD",
890
+ CI_CD = "CI_CD"
880
891
  }
881
892
  export interface ChangeCIPayloadType {
882
893
  appWorkflowId: number;
@@ -1043,6 +1054,7 @@ export interface DeploymentStatusDetailsType {
1043
1054
  timelines: DeploymentStatusDetailsTimelineType[];
1044
1055
  wfrStatus?: WorkflowRunnerStatusDTO;
1045
1056
  isDeploymentWithoutApproval: boolean;
1057
+ deploymentAppType: DeploymentAppTypes;
1046
1058
  }
1047
1059
  export type DeploymentStatusTimelineType = TIMELINE_STATUS.DEPLOYMENT_INITIATED | TIMELINE_STATUS.GIT_COMMIT | TIMELINE_STATUS.ARGOCD_SYNC | TIMELINE_STATUS.KUBECTL_APPLY | TIMELINE_STATUS.APP_HEALTH | TIMELINE_STATUS.HELM_PACKAGE_GENERATED | TIMELINE_STATUS.HELM_MANIFEST_PUSHED_TO_HELM_REPO;
1048
1060
  export type DeploymentStatusBreakdownItemIconType = 'success' | 'failed' | 'unknown' | 'inprogress' | 'unreachable' | 'loading' | 'disconnect' | 'timed_out' | '';
@@ -1087,6 +1099,7 @@ export interface DeploymentStatusDetailsBreakdownDataType {
1087
1099
  deploymentErrorMessage: string;
1088
1100
  nextTimelineToProcess: DeploymentStatusTimelineType;
1089
1101
  } | null;
1102
+ deploymentAppType: DeploymentAppTypes;
1090
1103
  }
1091
1104
  export interface IntelligenceConfig {
1092
1105
  clusterId: number;