@devtron-labs/devtron-fe-common-lib 1.2.5-beta-12 → 1.2.6-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 (148) hide show
  1. package/dist/{@code-editor-Bup1WUI7.js → @code-editor-CHJXMqhN.js} +4075 -4011
  2. package/dist/{@common-rjsf-CbBSQQQt.js → @common-rjsf-CGvQ2A8o.js} +1 -1
  3. package/dist/Common/Common.service.d.ts +2 -1
  4. package/dist/Common/Helper.d.ts +3 -2
  5. package/dist/Common/Types.d.ts +51 -41
  6. package/dist/Pages/Applications/DevtronApps/Details/CDPipeline/types.d.ts +1 -2
  7. package/dist/Shared/Components/FeatureDescription/FeatureDescriptionModal.d.ts +1 -1
  8. package/dist/Shared/Components/FeatureDescription/FeatureTitleWithInfo.d.ts +1 -1
  9. package/dist/Shared/Components/FeatureDescription/types.d.ts +34 -6
  10. package/dist/Shared/Helpers.d.ts +4 -3
  11. package/dist/Shared/Services/app.types.d.ts +2 -1
  12. package/dist/Shared/Store/IndexStore.d.ts +1 -0
  13. package/dist/Shared/constants.d.ts +7 -0
  14. package/dist/Shared/types.d.ts +17 -5
  15. package/dist/assets/app-not-deployed.acdf0271.png +0 -0
  16. package/dist/assets/delete-medium.baa284da.svg +26 -1
  17. package/dist/assets/empty-noresult@2x.022ec87c.png +0 -0
  18. package/dist/assets/ic-abort.0d2773e9.svg +34 -1
  19. package/dist/assets/ic-aborted.e7288a6c.svg +5 -1
  20. package/dist/assets/ic-add.cfaa779b.svg +19 -1
  21. package/dist/assets/ic-appstatus-cancelled.05bb3352.svg +22 -1
  22. package/dist/assets/ic-arrow-backward.d951202a.svg +19 -1
  23. package/dist/assets/ic-arrow-counter-clockwise.01cbb0e1.svg +21 -1
  24. package/dist/assets/ic-arrow-down.18e5e332.svg +19 -1
  25. package/dist/assets/ic-arrow-forward.a2b8ab45.svg +27 -1
  26. package/dist/assets/ic-arrow-out.6aea09d0.svg +19 -1
  27. package/dist/assets/ic-arrow-right.f942ee03.svg +7 -1
  28. package/dist/assets/ic-arrow-square-out.3d1a0d41.svg +19 -0
  29. package/dist/assets/ic-arrow-up-down.945ee496.svg +19 -1
  30. package/dist/assets/ic-bold.2140b7c6.svg +19 -1
  31. package/dist/assets/ic-book-open.7cb94ee8.svg +19 -1
  32. package/dist/assets/ic-bot.f1d4abcc.svg +23 -1
  33. package/dist/assets/ic-branch.8db43d66.svg +19 -1
  34. package/dist/assets/ic-calendar.984accc5.svg +19 -1
  35. package/dist/assets/ic-calender-blank.963e3423.svg +19 -1
  36. package/dist/assets/ic-caret-down-small.2cc24039.svg +3 -1
  37. package/dist/assets/ic-caret-down.1666c029.svg +19 -1
  38. package/dist/assets/ic-caret-left-small.fe00c98d.svg +19 -1
  39. package/dist/assets/ic-charts.f41e185f.svg +19 -1
  40. package/dist/assets/ic-chat-circle-dots.e15514f8.svg +23 -1
  41. package/dist/assets/ic-check-all.0376437d.svg +21 -1
  42. package/dist/assets/ic-check-circle.ad80d835.svg +25 -1
  43. package/dist/assets/ic-check-grey.f556e371.svg +21 -1
  44. package/dist/assets/ic-check-square.2a3d3fb9.svg +20 -1
  45. package/dist/assets/ic-check.27c51fa1.svg +21 -1
  46. package/dist/assets/ic-checked-list.aba26c40.svg +19 -1
  47. package/dist/assets/ic-chevron-down.fc70d7a7.svg +21 -1
  48. package/dist/assets/ic-circle.05f86ff6.svg +9 -1
  49. package/dist/assets/ic-clair.ba79956f.svg +21 -1
  50. package/dist/assets/ic-clock.c21a2d14.svg +19 -1
  51. package/dist/assets/ic-close.43adc42a.svg +25 -1
  52. package/dist/assets/ic-code-commit.161a6b3c.svg +19 -1
  53. package/dist/assets/ic-code.1d1d4dd8.svg +19 -1
  54. package/dist/assets/ic-collapse-all.fd7b27b1.svg +3 -1
  55. package/dist/assets/ic-commit.e3113dd9.svg +23 -1
  56. package/dist/assets/ic-compare.0ee3e4cf.svg +22 -1
  57. package/dist/assets/ic-copy.94cee0fb.svg +19 -1
  58. package/dist/assets/ic-cpu.8be677ee.svg +20 -1
  59. package/dist/assets/ic-cross.01e03666.svg +19 -1
  60. package/dist/assets/ic-delete-interactive.304dd293.svg +19 -1
  61. package/dist/assets/ic-diff-file-added.0deb6763.svg +10 -1
  62. package/dist/assets/ic-diff-file-removed.2ed80281.svg +10 -1
  63. package/dist/assets/ic-diff-file-updated.c8740f72.svg +10 -1
  64. package/dist/assets/ic-disconnected.551d6161.svg +29 -1
  65. package/dist/assets/ic-discord-fill.1a1b291d.svg +19 -1
  66. package/dist/assets/ic-docker.48906f4d.svg +19 -1
  67. package/dist/assets/ic-download.c30437cd.svg +21 -1
  68. package/dist/assets/ic-drag.3f71e8aa.svg +24 -1
  69. package/dist/assets/ic-edit-file.a782640f.svg +20 -1
  70. package/dist/assets/ic-enter.cab07082.svg +19 -1
  71. package/dist/assets/ic-error-cross.bf21e563.svg +24 -1
  72. package/dist/assets/ic-error-exclamation.c224de09.svg +22 -1
  73. package/dist/assets/ic-error-medium.ea542259.svg +22 -1
  74. package/dist/assets/ic-error.a25d2f0d.svg +4 -1
  75. package/dist/assets/ic-errorInfo.d8d674b8.svg +23 -1
  76. package/dist/assets/ic-exit-fullscreen.1ae582d1.svg +19 -1
  77. package/dist/assets/ic-expand-all.a0744f9f.svg +3 -1
  78. package/dist/assets/ic-expand.ab992205.svg +19 -1
  79. package/dist/assets/ic-feedback.d32fa6b0.svg +19 -1
  80. package/dist/assets/ic-file-code.21a1f748.svg +7 -1
  81. package/dist/assets/ic-file-text.f9563710.svg +19 -1
  82. package/dist/assets/ic-files.fc290dee.svg +19 -1
  83. package/dist/assets/ic-filter-applied.9fc48d0f.svg +20 -1
  84. package/dist/assets/ic-filter.8f403d6f.svg +19 -1
  85. package/dist/assets/ic-folder.051cd30d.svg +19 -1
  86. package/dist/assets/ic-fullscreen-2.f138a5e8.svg +19 -1
  87. package/dist/assets/ic-fullscreen.b05e5087.svg +19 -1
  88. package/dist/assets/ic-hash.cd11c334.svg +3 -1
  89. package/dist/assets/ic-header.a91a9800.svg +21 -1
  90. package/dist/assets/ic-help-outline.9c012a0c.svg +19 -1
  91. package/dist/assets/ic-help.39c58c34.svg +19 -1
  92. package/dist/assets/ic-image.2a8ed117.svg +20 -1
  93. package/dist/assets/ic-in-progress.0598554b.svg +10 -1
  94. package/dist/assets/ic-info-filled-override.99e8094a.svg +20 -1
  95. package/dist/assets/ic-info-filled.4b0b46d1.svg +20 -1
  96. package/dist/assets/ic-info-outline.f4be8a1e.svg +4 -1
  97. package/dist/assets/ic-info-outlined.f4fa3224.svg +29 -1
  98. package/dist/assets/ic-italic.358ca070.svg +19 -1
  99. package/dist/assets/ic-k8s-job.f4414c10.svg +19 -1
  100. package/dist/assets/ic-lego-block.ee4b63f1.svg +36 -1
  101. package/dist/assets/ic-lines.395ef3db.svg +3 -1
  102. package/dist/assets/ic-link.8453e775.svg +19 -1
  103. package/dist/assets/ic-loading-failure.aa68693d.png +0 -0
  104. package/dist/assets/ic-locked.3b9eff02.svg +5 -1
  105. package/dist/assets/ic-mechanical-operation.08b38afd.svg +84 -1
  106. package/dist/assets/ic-medium-info.eee4a07b.svg +5 -1
  107. package/dist/assets/ic-megaphone.b9f9a901.svg +19 -1
  108. package/dist/assets/ic-memory.c4159f96.svg +19 -1
  109. package/dist/assets/ic-message.be6dba43.svg +19 -1
  110. package/dist/assets/ic-minus.df865aaf.svg +19 -1
  111. package/dist/assets/ic-nav-rocket.9e50bb61.svg +19 -1
  112. package/dist/assets/ic-not-authorized.2d8e208f.svg +78 -1
  113. package/dist/assets/ic-not-found.86f588bf.svg +176 -1
  114. package/dist/assets/ic-onboarding.c98f9ef9.svg +19 -1
  115. package/dist/assets/ic-open-in-new.6aea09d0.svg +19 -1
  116. package/dist/assets/ic-ordered-list.879dc7c8.svg +19 -1
  117. package/dist/assets/ic-page-not-found.da74a367.svg +81 -1
  118. package/dist/assets/ic-pencil.c75a6acc.svg +19 -1
  119. package/dist/assets/ic-person.f78738ac.svg +22 -1
  120. package/dist/assets/ic-pull-request.31d0c981.svg +19 -1
  121. package/dist/assets/ic-pulsate-status.9264740e.svg +21 -1
  122. package/dist/assets/ic-quote.10768489.svg +19 -1
  123. package/dist/assets/ic-regex.e14a4ea3.svg +19 -1
  124. package/dist/assets/ic-rocket-fail.874e54ce.svg +20 -1
  125. package/dist/assets/ic-rotate-devtron.200e165b.svg +119 -1
  126. package/dist/assets/ic-search.976327f1.svg +22 -1
  127. package/dist/assets/ic-sort-arrow-down.5cf54d08.svg +19 -1
  128. package/dist/assets/ic-stamp.8689f42d.svg +9 -1
  129. package/dist/assets/ic-strikethrough.a1652ad9.svg +19 -1
  130. package/dist/assets/ic-success.8c8fe69d.svg +4 -1
  131. package/dist/assets/ic-tag.1613fc59.svg +19 -1
  132. package/dist/assets/ic-timeout-red.5eda1010.svg +21 -1
  133. package/dist/assets/ic-timer.b62145ec.svg +19 -1
  134. package/dist/assets/ic-trivy.d5338454.svg +25 -1
  135. package/dist/assets/ic-unordered-list.42c1cbbc.svg +22 -1
  136. package/dist/assets/ic-view-variable-toggle.c335dfa0.svg +24 -1
  137. package/dist/assets/ic-vulnerability-not-found.d8a4d43c.svg +65 -1
  138. package/dist/assets/ic-warning-y5.2ad9d7f4.svg +20 -1
  139. package/dist/assets/ic-warning.10bcf8bd.svg +23 -1
  140. package/dist/assets/ic-webhook.d4431b07.svg +31 -1
  141. package/dist/assets/ic-world.1f6a5eaf.svg +19 -1
  142. package/dist/assets/inject-tag.28e72db6.svg +21 -1
  143. package/dist/assets/lifebuoy.7d8fdf27.png +0 -0
  144. package/dist/assets/no-artifact@2x.6afc74bc.png +0 -0
  145. package/dist/index.d.ts +0 -1
  146. package/dist/index.js +606 -600
  147. package/package.json +4 -3
  148. package/dist/assets/ic-arrow-square-out.1be837ac.svg +0 -1
@@ -2,7 +2,7 @@ import { j as n, J as A } from "./@vendor-RU8AW1bK.js";
2
2
  import E, { forwardRef as $ } from "react";
3
3
  import L, { getDefaultRegistry as k } from "@rjsf/core";
4
4
  import D from "@rjsf/validator-ajv8";
5
- import { T as y, c as H, a as J, d as w } from "./@code-editor-Bup1WUI7.js";
5
+ import { T as y, c as H, a as J, d as w } from "./@code-editor-CHJXMqhN.js";
6
6
  import M, { components as O } from "react-select";
7
7
  import { getUiOptions as B, getTemplate as I, getSubmitButtonOptions as U, ADDITIONAL_PROPERTY_FLAG as P, errorId as W, englishStringTranslator as V, TranslatableString as q, titleId as K, canExpand as Y, deepEquals as z } from "@rjsf/utils";
8
8
  import { ReactComponent as G } from "./assets/ic-chevron-down.fc70d7a7.svg";
@@ -1,5 +1,5 @@
1
1
  import { RuntimeParamsAPIResponseType, RuntimeParamsListItemType } from '../Shared/types';
2
- import { TeamList, ResponseType, DeploymentNodeType, CDMaterialServiceEnum, CDMaterialServiceQueryParams, CDMaterialResponseType, CDMaterialFilterQuery, EnvironmentListHelmResponse } from './Types';
2
+ import { TeamList, ResponseType, DeploymentNodeType, CDMaterialServiceEnum, CDMaterialServiceQueryParams, CDMaterialResponseType, CDMaterialFilterQuery, EnvironmentListHelmResponse, UserApprovalMetadataType } from './Types';
3
3
  import { ApiResourceType } from '../Pages';
4
4
  export declare const getTeamListMin: () => Promise<TeamList>;
5
5
  interface UserRole extends ResponseType {
@@ -15,6 +15,7 @@ export declare const SourceTypeMap: {
15
15
  };
16
16
  export declare function getUserRole(appName?: string): Promise<UserRole>;
17
17
  export declare function setImageTags(request: any, pipelineId: number, artifactId: number): Promise<ResponseType<any>>;
18
+ export declare const sanitizeUserApprovalMetadata: (userApprovalMetadata: UserApprovalMetadataType) => UserApprovalMetadataType;
18
19
  export declare const parseRuntimeParams: (response: RuntimeParamsAPIResponseType) => RuntimeParamsListItemType[];
19
20
  export declare const processCDMaterialServiceResponse: (cdMaterialsResult: any, stage: DeploymentNodeType, offset: number, filter: CDMaterialFilterQuery, disableDefaultSelection?: boolean) => CDMaterialResponseType;
20
21
  export declare const genericCDMaterialsService: (serviceType: CDMaterialServiceEnum, cdMaterialID: number, stage: DeploymentNodeType, signal: AbortSignal, queryParams?: CDMaterialServiceQueryParams) => Promise<CDMaterialResponseType>;
@@ -2,6 +2,7 @@ import { default as React, SyntheticEvent } from 'react';
2
2
  import { JSONPathOptions } from 'jsonpath-plus';
3
3
  import { AsyncOptions, UseSearchString } from './Types';
4
4
  import { scrollableInterface } from '../Shared';
5
+ import * as Sentry from '@sentry/browser';
5
6
  export declare function showError(serverError: any, showToastOnUnknownError?: boolean, hideAccessError?: boolean): void;
6
7
  interface ConditionalWrapper<T> {
7
8
  condition: boolean;
@@ -9,7 +10,7 @@ interface ConditionalWrapper<T> {
9
10
  children: T;
10
11
  }
11
12
  export declare const ConditionalWrap: React.FC<ConditionalWrapper<any>>;
12
- export declare function sortCallback(key: string, a: any, b: any, isCaseSensitive?: boolean): 0 | 1 | -1;
13
+ export declare function sortCallback(key: string, a: any, b: any, isCaseSensitive?: boolean): 1 | -1 | 0;
13
14
  export declare const stopPropagation: (event: any) => void;
14
15
  export declare const preventDefault: (event: SyntheticEvent) => void;
15
16
  export declare function useThrottledEffect(callback: any, delay: any, deps?: any[]): void;
@@ -45,7 +46,7 @@ export declare const getUrlWithSearchParams: <T extends string | number = string
45
46
  /**
46
47
  * Custom exception logger function for logging errors to sentry
47
48
  */
48
- export declare const logExceptionToSentry: any;
49
+ export declare const logExceptionToSentry: typeof Sentry.captureException;
49
50
  export declare const customStyles: {
50
51
  control: (base: any, state: any) => any;
51
52
  indicatorSeparator: (base: any, state: any) => any;
@@ -1,5 +1,5 @@
1
1
  import { default as React, ReactNode, CSSProperties, ReactElement, MutableRefObject } from 'react';
2
- import { Placement } from 'tippy.js';
2
+ import { TippyProps } from '@tippyjs/react';
3
3
  import { UserGroupDTO } from '../Pages/GlobalConfigurations';
4
4
  import { ImageComment, ReleaseTag } from './ImageTags.Types';
5
5
  import { MandatoryPluginBaseStateType, RegistryType, RuntimeParamsListItemType, Severity } from '../Shared';
@@ -65,7 +65,7 @@ export interface CheckboxProps {
65
65
  id?: string;
66
66
  dataTestId?: string;
67
67
  }
68
- export interface TippyCustomizedProps {
68
+ export interface TippyCustomizedProps extends Pick<TippyProps, 'appendTo'> {
69
69
  theme: TippyTheme;
70
70
  visible?: boolean;
71
71
  heading?: ReactNode | string;
@@ -73,7 +73,7 @@ export interface TippyCustomizedProps {
73
73
  noHeadingBorder?: boolean;
74
74
  infoTextHeading?: string;
75
75
  hideHeading?: boolean;
76
- placement?: Placement;
76
+ placement?: TippyProps['placement'];
77
77
  className?: string;
78
78
  Icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
79
79
  iconPath?: string;
@@ -273,21 +273,6 @@ export declare enum ManualApprovalType {
273
273
  any = "ANY",
274
274
  notConfigured = "NOT_CONFIGURED"
275
275
  }
276
- export interface UserGroupApproverType {
277
- email: string;
278
- hasAccess: boolean;
279
- }
280
- export interface ImageApprovalPolicyUserGroupDataType {
281
- dataStore: Record<string, UserGroupApproverType>;
282
- requiredCount: number;
283
- emails: string[];
284
- }
285
- export interface ImageApprovalPolicyType {
286
- isPolicyConfigured: boolean;
287
- specificUsersData: ImageApprovalPolicyUserGroupDataType;
288
- userGroupData: Record<string, ImageApprovalPolicyUserGroupDataType>;
289
- validGroups: string[];
290
- }
291
276
  export type ImageApprovalUsersInfoDTO = Record<string, Pick<UserGroupDTO, 'identifier' | 'name'>[]>;
292
277
  export interface UserApprovalConfigType {
293
278
  type: ManualApprovalType;
@@ -300,13 +285,6 @@ export interface UserApprovalConfigType {
300
285
  requiredCount: number;
301
286
  })[];
302
287
  }
303
- export type UserApprovalConfigPayloadType = ({
304
- type: ManualApprovalType.any;
305
- } & Pick<UserApprovalConfigType, 'requiredCount'>) | ({
306
- type: ManualApprovalType.specific;
307
- } & Pick<UserApprovalConfigType, 'userGroups' | 'specificUsers'>) | {
308
- type: ManualApprovalType.notConfigured;
309
- };
310
288
  interface ApprovalUserDataType {
311
289
  dataId: number;
312
290
  userActionTime: string;
@@ -316,12 +294,45 @@ interface ApprovalUserDataType {
316
294
  userResponse: number;
317
295
  userGroups?: Pick<UserGroupDTO, 'identifier' | 'name'>[];
318
296
  }
297
+ export interface UserApprovalInfo {
298
+ requiredCount: number;
299
+ currentCount: number;
300
+ approverList: {
301
+ hasApproved: boolean;
302
+ canApprove: boolean;
303
+ identifier: string;
304
+ }[];
305
+ }
306
+ export declare enum ApprovalConfigDataKindType {
307
+ configMap = "configuration/config-map",
308
+ configSecret = "configuration/config-secret",
309
+ deploymentTemplate = "configuration/deployment-template",
310
+ deploymentTrigger = "approval/deployment"
311
+ }
312
+ export interface ApprovalConfigDataType extends Pick<UserApprovalInfo, 'currentCount' | 'requiredCount'> {
313
+ kind: ApprovalConfigDataKindType | null;
314
+ anyUserApprovedInfo: UserApprovalInfo;
315
+ specificUsersApprovedInfo: UserApprovalInfo;
316
+ userGroupsApprovedInfo: Pick<UserApprovalInfo, 'currentCount' | 'requiredCount'> & {
317
+ userGroups: (UserApprovalInfo & {
318
+ groupIdentifier: UserGroupDTO['identifier'];
319
+ groupName: UserGroupDTO['name'];
320
+ })[];
321
+ };
322
+ }
323
+ export declare enum ApprovalRuntimeStateType {
324
+ init = 0,
325
+ requested = 1,
326
+ approved = 2,
327
+ consumed = 3
328
+ }
319
329
  export interface UserApprovalMetadataType {
320
330
  approvalRequestId: number;
321
- approvalRuntimeState: number;
322
- approvedUsersData: ApprovalUserDataType[];
331
+ approvalRuntimeState: ApprovalRuntimeStateType;
323
332
  requestedUserData: ApprovalUserDataType;
324
- approvalConfig?: UserApprovalConfigType;
333
+ hasCurrentUserApproved: boolean;
334
+ canCurrentUserApprove: boolean;
335
+ approvalConfigData: ApprovalConfigDataType;
325
336
  }
326
337
  export declare enum FilterStates {
327
338
  ALLOWED = 0,
@@ -378,7 +389,6 @@ export interface CDMaterialListModalServiceUtilProps {
378
389
  artifactId?: number;
379
390
  artifactStatus?: string;
380
391
  disableDefaultSelection?: boolean;
381
- userApprovalConfig?: UserApprovalConfigType;
382
392
  }
383
393
  export interface CDMaterialType {
384
394
  index: number;
@@ -514,8 +524,7 @@ export interface CommonNodeAttr extends Pick<MandatoryPluginBaseStateType, 'isTr
514
524
  primaryBranchAfterRegex?: string;
515
525
  storageConfigured?: boolean;
516
526
  deploymentAppDeleteRequest?: boolean;
517
- approvalUsers?: string[];
518
- userApprovalConfig?: UserApprovalConfigType;
527
+ approvalConfigData: ApprovalConfigDataType;
519
528
  requestedUserId?: number;
520
529
  showPluginWarning: boolean;
521
530
  helmPackageName?: string;
@@ -572,14 +581,17 @@ export interface FilterConditionsListType {
572
581
  description: string;
573
582
  conditions: FilterConditionsInfo[];
574
583
  }
584
+ export interface DeploymentApprovalInfoType {
585
+ eligibleApprovers: {
586
+ specificUsers: Pick<UserApprovalInfo, 'approverList'>;
587
+ anyUsers: Pick<UserApprovalInfo, 'approverList'>;
588
+ userGroups: (Pick<ApprovalConfigDataType['userGroupsApprovedInfo']['userGroups'][number], 'groupIdentifier' | 'groupName'> & Pick<UserApprovalInfo, 'approverList'>)[];
589
+ };
590
+ approvalConfigData: ApprovalConfigDataType;
591
+ }
575
592
  export interface CDMaterialsApprovalInfo {
576
- approvalUsers: string[];
577
- userApprovalConfig: UserApprovalConfigType;
578
593
  canApproverDeploy: boolean;
579
- /**
580
- * Only available incase of approvals do'nt use in cd materials or any other flow since approvalUsers are not present there
581
- */
582
- imageApprovalPolicyDetails: ImageApprovalPolicyType;
594
+ deploymentApprovalInfo: DeploymentApprovalInfoType;
583
595
  }
584
596
  export interface CDMaterialsMetaInfo {
585
597
  tagsEditable: boolean;
@@ -658,7 +670,6 @@ export interface AppEnvironment {
658
670
  appStatus?: string;
659
671
  deploymentAppDeleteRequest?: boolean;
660
672
  isVirtualEnvironment?: boolean;
661
- isProtected?: boolean;
662
673
  pipelineId?: number;
663
674
  latestCdWorkflowRunnerId?: number;
664
675
  commits?: string[];
@@ -709,7 +720,6 @@ export interface CdPipeline {
709
720
  parentPipelineType?: string;
710
721
  deploymentAppDeleteRequest?: boolean;
711
722
  deploymentAppCreated?: boolean;
712
- userApprovalConfig?: UserApprovalConfigType;
713
723
  isVirtualEnvironment?: boolean;
714
724
  deploymentAppType: DeploymentAppTypes;
715
725
  helmPackageName?: string;
@@ -718,6 +728,7 @@ export interface CdPipeline {
718
728
  isProdEnv?: boolean;
719
729
  isGitOpsRepoNotConfigured?: boolean;
720
730
  isDeploymentBlocked?: boolean;
731
+ approvalConfigData: ApprovalConfigDataType;
721
732
  }
722
733
  export interface ExternalCiConfig {
723
734
  id: number;
@@ -819,12 +830,11 @@ export interface Point {
819
830
  export interface EdgeNodeType {
820
831
  height: number;
821
832
  width: number;
822
- userApprovalConfig?: UserApprovalConfigType;
823
833
  type?: any;
824
834
  id?: number | string;
825
835
  }
826
836
  export interface EdgeEndNodeType extends EdgeNodeType {
827
- userApprovalConfig?: UserApprovalConfigType;
837
+ approvalConfigData: ApprovalConfigDataType;
828
838
  }
829
839
  /**
830
840
  * Search params for sorting configuration
@@ -1,5 +1,5 @@
1
1
  import { BuildStageType, FormType } from '../../../../../Common/CIPipeline.Types';
2
- import { DeploymentAppTypes, UserApprovalConfigType } from '../../../../../Common/Types';
2
+ import { DeploymentAppTypes } from '../../../../../Common/Types';
3
3
  import { DeploymentStrategy } from '../../../../../Shared/Components';
4
4
  import { EnvListMinDTO } from '../../../../../Shared/types';
5
5
  interface ConfigSecretType {
@@ -53,7 +53,6 @@ export interface CDFormType {
53
53
  secrets: ConfigSecretType[];
54
54
  };
55
55
  requiredApprovals: string;
56
- userApprovalConfig?: UserApprovalConfigType;
57
56
  isClusterCdActive: boolean;
58
57
  deploymentAppCreated: boolean;
59
58
  clusterId: string;
@@ -1,2 +1,2 @@
1
1
  import { FeatureDescriptionModalProps } from './types';
2
- export declare const FeatureDescriptionModal: ({ title, renderDescriptionContent, closeModalText, docLink, closeModal, imageVariant, SVGImage, imageStyles, }: FeatureDescriptionModalProps) => JSX.Element;
2
+ export declare const FeatureDescriptionModal: ({ title, renderDescriptionContent, closeModalText, docLink, closeModal, imageVariant, SVGImage, imageStyles, tabsConfig, }: FeatureDescriptionModalProps) => JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import { DescriptorProps } from './types';
2
- declare const FeatureTitleWithInfo: ({ additionalContainerClasses, breadCrumbs, children, iconClassName, title, renderDescriptionContent, closeModalText, docLink, SVGImage, showInfoIconTippy, docLinkText, dataTestId, additionalContent, showInfoIcon, }: DescriptorProps) => JSX.Element;
2
+ declare const FeatureTitleWithInfo: ({ additionalContainerClasses, breadCrumbs, children, iconClassName, title, renderDescriptionContent, closeModalText, docLink, SVGImage, showInfoIconTippy, docLinkText, dataTestId, additionalContent, showInfoIcon, tabsConfig, }: DescriptorProps) => JSX.Element;
3
3
  export default FeatureTitleWithInfo;
@@ -1,17 +1,44 @@
1
1
  import { default as React, ReactNode } from 'react';
2
2
  import { ImageType } from '../../../Common';
3
3
  import { Breadcrumb } from '../../../Common/BreadCrumb/Types';
4
- export interface FeatureDescriptionModalProps {
5
- title: string;
4
+ interface BaseFeatureDescriptionModalProps {
6
5
  renderDescriptionContent?: () => ReactNode;
7
- closeModalText?: string;
8
6
  docLink?: string;
9
- closeModal?: () => void;
10
7
  imageVariant?: ImageType;
11
8
  SVGImage?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
12
9
  imageStyles?: React.CSSProperties;
13
10
  }
14
- export interface DescriptorProps extends FeatureDescriptionModalProps {
11
+ type FeatureDescriptionModalWithTabsConfig = {
12
+ /**
13
+ * If provided, tabs are shown and have higher precedence over normal modal
14
+ */
15
+ tabsConfig: ({
16
+ /**
17
+ * Unique id of the tab
18
+ */
19
+ id: string;
20
+ /**
21
+ * Title for the tab
22
+ */
23
+ title: string;
24
+ } & BaseFeatureDescriptionModalProps)[];
25
+ } & {
26
+ renderDescriptionContent?: never;
27
+ docLink?: never;
28
+ imageVariant?: never;
29
+ SVGImage?: never;
30
+ imageStyles?: never;
31
+ };
32
+ export type FeatureDescriptionModalProps = {
33
+ title: string;
34
+ closeModalText?: string;
35
+ closeModal?: () => void;
36
+ } & ((BaseFeatureDescriptionModalProps & {
37
+ tabsConfig?: never;
38
+ }) | FeatureDescriptionModalWithTabsConfig);
39
+ export type DescriptorProps = ((Omit<FeatureDescriptionModalProps, 'tabsConfig'> & {
40
+ tabsConfig?: never;
41
+ }) | (Pick<FeatureDescriptionModalProps, 'title' | 'closeModalText' | 'closeModal'> & FeatureDescriptionModalWithTabsConfig)) & {
15
42
  breadCrumbs?: Breadcrumb[];
16
43
  additionalContainerClasses?: string;
17
44
  iconClassName?: string;
@@ -26,4 +53,5 @@ export interface DescriptorProps extends FeatureDescriptionModalProps {
26
53
  * @default false
27
54
  */
28
55
  showInfoIcon?: boolean;
29
- }
56
+ };
57
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { Pair } from 'yaml';
3
3
  import { MaterialHistoryType } from '@Shared/Services/app.types';
4
- import { MaterialInfo, SortingOrder, UserApprovalConfigType } from '../Common';
4
+ import { MaterialInfo, SortingOrder, UserApprovalConfigType, ApprovalConfigDataType, UserApprovalInfo } from '../Common';
5
5
  import { GitTriggers, IntersectionChangeHandler, IntersectionOptions, PreventOutsideFocusProps, WebhookEventNameType } from './types';
6
6
  import { AggregatedNodes, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, PodMetadatum } from './Components';
7
7
  interface HighlightSearchTextProps {
@@ -40,12 +40,13 @@ export declare const decode: (data: any, isEncoded?: boolean) => {};
40
40
  export declare const isTimeStringAvailable: (time: string) => boolean;
41
41
  export declare const getTimeDifference: (startTime: string, endTime: string) => string;
42
42
  export declare const getFileNameFromHeaders: (headers: Headers) => string;
43
- export declare const sanitizeUserApprovalConfig: (userApprovalConfig: UserApprovalConfigType) => UserApprovalConfigType;
43
+ export declare const sanitizeUserApprovalList: (approverList: UserApprovalInfo["approverList"]) => UserApprovalInfo["approverList"];
44
+ export declare const sanitizeApprovalConfigData: (approvalConfigData: ApprovalConfigDataType | null) => ApprovalConfigDataType;
44
45
  /**
45
46
  * Manual approval is considered configured only if the type is not notConfigured
46
47
  */
47
48
  export declare const getIsManualApprovalConfigured: (userApprovalConfig?: Pick<UserApprovalConfigType, "type">) => boolean;
48
- export declare const getIsManualApprovalSpecific: (userApprovalConfig?: Pick<UserApprovalConfigType, "type">) => boolean;
49
+ export declare const getIsApprovalPolicyConfigured: (approvalConfigData: ApprovalConfigDataType) => boolean;
49
50
  /**
50
51
  * @description - Function to open a new tab with the given url
51
52
  * @param url - url to be opened in new tab
@@ -1,4 +1,4 @@
1
- import { ReleaseTag } from '../../Common';
1
+ import { ReleaseTag, UserApprovalMetadataType } from '../../Common';
2
2
  interface WebhookDataType {
3
3
  id: number;
4
4
  eventActionType: string;
@@ -132,6 +132,7 @@ export interface DraftMetadataDTO {
132
132
  commentsCount: number;
133
133
  dataEncrypted: boolean;
134
134
  isAppAdmin: boolean;
135
+ userApprovalMetadata: UserApprovalMetadataType;
135
136
  }
136
137
  export declare enum CMSecretExternalType {
137
138
  Internal = "",
@@ -9,6 +9,7 @@ export declare const IndexStore: {
9
9
  getEnvDetails: () => EnvDetails;
10
10
  getEnvDetailsObservable: () => import('rxjs').Observable<EnvDetails>;
11
11
  publishAppDetails: (data: AppDetails, appType: AppType) => void;
12
+ clearAppDetails(): void;
12
13
  getAppDetails: () => AppDetails;
13
14
  getAppDetailsObservable: () => import('rxjs').Observable<AppDetails>;
14
15
  getAppDetailsNodes: () => Node[];
@@ -417,4 +417,11 @@ export declare const ALL_RESOURCE_KIND_FILTER = "all";
417
417
  export declare const OPEN_NEW_TICKET = "https://enterprise.devtron.ai/portal/en/newticket";
418
418
  export declare const VIEW_ALL_TICKETS = "https://enterprise.devtron.ai/portal/en/myarea";
419
419
  export declare const RAISE_ISSUE = "https://github.com/devtron-labs/devtron/issues/new/choose";
420
+ export declare const TARGET_IDS: {
421
+ WORKFLOW_EDITOR_CONTAINER: string;
422
+ };
423
+ /**
424
+ * Env ID to get the data for base configuration
425
+ */
426
+ export declare const BASE_CONFIGURATION_ENV_ID = -1;
420
427
  export declare const DEVTRON_BASE_MAIN_ID = "devtron-base-main-identifier";
@@ -1,7 +1,8 @@
1
1
  import { Dayjs } from 'dayjs';
2
- import { OptionType, CommonNodeAttr, ResponseType, UserApprovalConfigType, VulnerabilityType, DeploymentAppTypes, ServerErrors, SortingParams } from '../Common';
2
+ import { ApprovalConfigDataType } from '../Common/Types';
3
+ import { OptionType, CommonNodeAttr, ResponseType, VulnerabilityType, DeploymentAppTypes, ServerErrors, SortingParams } from '../Common';
3
4
  import { KeyValueListType } from './Components';
4
- import { EnvironmentTypeEnum, PatchOperationType } from './constants';
5
+ import { BASE_CONFIGURATION_ENV_ID, EnvironmentTypeEnum, PatchOperationType } from './constants';
5
6
  export declare enum EnvType {
6
7
  CHART = "helm_charts",
7
8
  APPLICATION = "apps"
@@ -186,7 +187,7 @@ export interface AppDetails {
186
187
  clusterName?: string;
187
188
  dockerRegistryId?: string;
188
189
  deploymentAppDeleteRequest?: boolean;
189
- userApprovalConfig?: string;
190
+ isApprovalPolicyApplicable?: boolean;
190
191
  isVirtualEnvironment?: boolean;
191
192
  imageTag?: string;
192
193
  helmPackageName?: string;
@@ -246,7 +247,7 @@ export interface WorkflowType {
246
247
  showTippy?: boolean;
247
248
  appId?: number;
248
249
  isSelected?: boolean;
249
- approvalConfiguredIdsMap?: Record<number, UserApprovalConfigType>;
250
+ approvalConfiguredIdsMap?: Record<number, ApprovalConfigDataType>;
250
251
  imageReleaseTags: string[];
251
252
  appReleaseTags?: string[];
252
253
  tagsEditable?: boolean;
@@ -403,7 +404,8 @@ export interface SeverityCount {
403
404
  export declare enum PolicyKindType {
404
405
  lockConfiguration = "lock-configuration",
405
406
  imagePromotion = "image-promotion",
406
- plugins = "plugin"
407
+ plugins = "plugin",
408
+ approval = "approval"
407
409
  }
408
410
  export interface LastExecutionResultType {
409
411
  lastExecution: string;
@@ -735,6 +737,16 @@ export interface DynamicTabType extends CommonTabArgsType {
735
737
  */
736
738
  lastActiveTabId: string | null;
737
739
  }
740
+ export interface ResourceApprovalPolicyConfigDTO {
741
+ appId: number;
742
+ envId: number;
743
+ approvalConfigurations: ApprovalConfigDataType[];
744
+ }
745
+ export interface ResourceApprovalPolicyConfigType extends Omit<ResourceApprovalPolicyConfigDTO, 'state' | 'approvalConfigurations'> {
746
+ isApprovalApplicable: boolean;
747
+ approvalConfigurationMap: Record<ApprovalConfigDataType['kind'], ApprovalConfigDataType>;
748
+ }
749
+ export type ResourceIdToResourceApprovalPolicyConfigMapType = Record<ResourceApprovalPolicyConfigType['envId'] | typeof BASE_CONFIGURATION_ENV_ID, Pick<ResourceApprovalPolicyConfigType, 'isApprovalApplicable' | 'approvalConfigurationMap'>>;
738
750
  export interface PreventOutsideFocusProps {
739
751
  identifier: string;
740
752
  preventFocus: boolean;
@@ -1 +1,26 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="44" height="46" fill="none" viewBox="0 0 44 46"><path fill="#F33E3E" fill-opacity="0.12" fill-rule="evenodd" stroke="#F33E3E" stroke-linejoin="round" stroke-width="2" d="M5 24h24v17a4 4 0 0 1-4 4H9a4 4 0 0 1-4-4z" clip-rule="evenodd"/><path stroke="#F33E3E" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 29.5v10m5-10v10m-10-10v10M40 10a3 3 0 1 1 0 6h-9m5 7a3 3 0 0 0-3-3h-8"/><path fill="#F33E3E" fill-opacity="0.12" stroke="#F33E3E" stroke-linejoin="round" stroke-width="2" d="M29.69 7.04 2.116 11.902a1 1 0 0 0-.811 1.159l.52 2.954a1 1 0 0 0 1.159.811l27.575-4.862a1 1 0 0 0 .81-1.158l-.52-2.955a1 1 0 0 0-1.159-.811Z"/><path stroke="#F33E3E" stroke-linejoin="round" stroke-width="2" d="m10.923 4.257 7.878-1.39a2 2 0 0 1 2.317 1.623l.695 3.94-11.818 2.083-.695-3.94a2 2 0 0 1 1.623-2.316Z" clip-rule="evenodd"/></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg xmlns="http://www.w3.org/2000/svg" width="44" height="46" viewBox="0 0 44 46" fill="none">
18
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M5 24H29V41C29 43.2091 27.2091 45 25 45H9C6.79086 45 5 43.2091 5 41V24Z" fill="#F33E3E" fill-opacity="0.12" stroke="#F33E3E" stroke-width="2" stroke-linejoin="round"/>
19
+ <path d="M17 29.5V39.5" stroke="#F33E3E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
20
+ <path d="M22 29.5V39.5" stroke="#F33E3E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
21
+ <path d="M12 29.5V39.5" stroke="#F33E3E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
22
+ <path d="M40 10C41.6569 10 43 11.3431 43 13C43 14.6569 41.6569 16 40 16H31" stroke="#F33E3E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
23
+ <path d="M36 23C36 21.3431 34.6569 20 33 20H25" stroke="#F33E3E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
24
+ <path d="M29.6903 7.03989L2.11567 11.902C1.57177 11.9979 1.2086 12.5166 1.30451 13.0605L1.82545 16.0149C1.92136 16.5588 2.44001 16.922 2.98391 16.8261L30.5585 11.9639C31.1024 11.868 31.4656 11.3494 31.3697 10.8055L30.8487 7.85105C30.7528 7.30715 30.2342 6.94398 29.6903 7.03989Z" fill="#F33E3E" fill-opacity="0.12" stroke="#F33E3E" stroke-width="2" stroke-linejoin="round"/>
25
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.9227 4.25671L18.8012 2.86752C19.889 2.67572 20.9263 3.40205 21.1181 4.48984L21.8127 8.42907L9.99501 10.5129L9.30042 6.57362C9.10861 5.48583 9.83495 4.44851 10.9227 4.25671Z" stroke="#F33E3E" stroke-width="2" stroke-linejoin="round"/>
26
+ </svg>
@@ -1 +1,34 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"><defs><path id="a" d="M8 1.333a6.667 6.667 0 1 1 0 13.334A6.667 6.667 0 0 1 8 1.333M3.787 4.73a5.332 5.332 0 0 0 7.483 7.483zM8 2.667a5.3 5.3 0 0 0-3.27 1.12l7.483 7.483A5.332 5.332 0 0 0 8 2.667"/></defs><use xlink:href="#a" fill="#959BA1" fill-rule="evenodd"/></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
18
+ <defs>
19
+ <path id="hrh6rt6fka" d="M8 1.333c3.682 0 6.667 2.985 6.667 6.667S11.682 14.667 8 14.667 1.333 11.682 1.333 8 4.318 1.333 8 1.333zM3.787 4.73c-.702.903-1.12 2.038-1.12 3.27 0 2.946 2.387 5.333 5.333 5.333 1.232 0 2.367-.418 3.27-1.12zM8 2.667c-1.232 0-2.367.418-3.27 1.12l7.483 7.483c.702-.903 1.12-2.038 1.12-3.27 0-2.946-2.387-5.333-5.333-5.333z"/>
20
+ </defs>
21
+ <g fill="none" fill-rule="evenodd">
22
+ <g>
23
+ <g>
24
+ <g>
25
+ <g>
26
+ <g transform="translate(-120 -226) translate(64 186) translate(0 32) translate(20 6) translate(36 2)">
27
+ <use fill="#959BA1" xlink:href="#hrh6rt6fka"/>
28
+ </g>
29
+ </g>
30
+ </g>
31
+ </g>
32
+ </g>
33
+ </g>
34
+ </svg>
@@ -1 +1,5 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path fill="#F33E3E" fill-opacity="0.12" d="M13.125 9.375V5.313a1.563 1.563 0 1 1 3.125 0v6.562a6.25 6.25 0 0 1-6.25 6.25c-3.452 0-5-1.875-7.544-7.243a1.563 1.563 0 1 1 2.706-1.563l1.713 2.967V4.063a1.562 1.562 0 1 1 3.125 0v5.312"/><path fill="#F33E3E" fill-opacity="0.12" d="M13.125 9.375V2.813a1.563 1.563 0 1 0-3.125 0v6.562"/><path stroke="#F33E3E" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M13.125 9.375V5.313a1.563 1.563 0 1 1 3.125 0v6.562a6.25 6.25 0 0 1-6.25 6.25c-3.452 0-5-1.875-7.544-7.243a1.563 1.563 0 1 1 2.706-1.563l1.713 2.967V4.063a1.562 1.562 0 1 1 3.125 0v5.312-6.562a1.563 1.563 0 1 1 3.125 0z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
2
+ <path d="M13.125 9.375V5.3125C13.125 4.8981 13.2896 4.50067 13.5826 4.20765C13.8757 3.91462 14.2731 3.75 14.6875 3.75C15.1019 3.75 15.4993 3.91462 15.7923 4.20765C16.0854 4.50067 16.25 4.8981 16.25 5.3125V11.875C16.25 12.6958 16.0883 13.5085 15.7742 14.2668C15.4602 15.0251 14.9998 15.7141 14.4194 16.2944C13.839 16.8748 13.1501 17.3352 12.3918 17.6492C11.6335 17.9633 10.8208 18.125 10 18.125C6.54822 18.125 5 16.25 2.45558 10.8818C2.35278 10.704 2.28601 10.5078 2.25909 10.3043C2.23216 10.1008 2.24561 9.89393 2.29866 9.6956C2.35171 9.49728 2.44333 9.31135 2.56828 9.14845C2.69322 8.98555 2.84904 8.84886 3.02684 8.74621C3.20464 8.64356 3.40092 8.57696 3.60447 8.5502C3.80802 8.52345 4.01484 8.53707 4.21313 8.59029C4.41141 8.64351 4.59726 8.73528 4.76006 8.86036C4.92285 8.98544 5.05941 9.14138 5.16191 9.31926L6.875 12.2864V4.0625C6.875 3.6481 7.03962 3.25067 7.33264 2.95765C7.62567 2.66462 8.0231 2.5 8.4375 2.5C8.8519 2.5 9.24932 2.66462 9.54235 2.95765C9.83538 3.25067 10 3.6481 10 4.0625V9.375" fill="#F33E3E" fill-opacity="0.12"/>
3
+ <path d="M13.125 9.375V2.8125C13.125 2.3981 12.9604 2.00067 12.6674 1.70765C12.3743 1.41462 11.9769 1.25 11.5625 1.25C11.1481 1.25 10.7507 1.41462 10.4576 1.70765C10.1646 2.00067 10 2.3981 10 2.8125V9.375" fill="#F33E3E" fill-opacity="0.12"/>
4
+ <path d="M13.125 9.375V5.3125C13.125 4.8981 13.2896 4.50067 13.5826 4.20765C13.8757 3.91462 14.2731 3.75 14.6875 3.75C15.1019 3.75 15.4993 3.91462 15.7924 4.20765C16.0854 4.50067 16.25 4.8981 16.25 5.3125V11.875C16.25 12.6958 16.0883 13.5085 15.7742 14.2668C15.4602 15.0251 14.9998 15.7141 14.4194 16.2944C13.839 16.8748 13.1501 17.3352 12.3918 17.6492C11.6335 17.9633 10.8208 18.125 10 18.125C6.54822 18.125 5 16.25 2.45558 10.8818C2.35278 10.704 2.28601 10.5078 2.25909 10.3043C2.23216 10.1008 2.24561 9.89393 2.29866 9.6956C2.35171 9.49728 2.44333 9.31135 2.56828 9.14845C2.69322 8.98555 2.84904 8.84886 3.02684 8.74621C3.20464 8.64356 3.40092 8.57696 3.60447 8.5502C3.80802 8.52345 4.01484 8.53707 4.21313 8.59029C4.41141 8.64351 4.59726 8.73528 4.76006 8.86036C4.92285 8.98544 5.05941 9.14138 5.16191 9.31926L6.875 12.2864V4.0625C6.875 3.6481 7.03962 3.25067 7.33264 2.95765C7.62567 2.66462 8.0231 2.5 8.4375 2.5C8.8519 2.5 9.24932 2.66462 9.54235 2.95765C9.83538 3.25067 10 3.6481 10 4.0625V9.375V2.8125C10 2.3981 10.1646 2.00067 10.4576 1.70765C10.7507 1.41462 11.1481 1.25 11.5625 1.25C11.9769 1.25 12.3743 1.41462 12.6674 1.70765C12.9604 2.00067 13.125 2.3981 13.125 2.8125V9.375Z" stroke="#F33E3E" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
5
+ </svg>
@@ -1 +1,19 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#999" d="M18 13h-5v5a1 1 0 0 1-2 0v-5H6a1 1 0 0 1 0-2h5V6a1 1 0 0 1 2 0v5h5a1 1 0 0 1 0 2" class="fill-color"/></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
18
+ <path class="fill-color" fill="#999" fill-rule="nonzero" d="M18 13h-5v5a1 1 0 0 1-2 0v-5H6a1 1 0 0 1 0-2h5V6a1 1 0 0 1 2 0v5h5a1 1 0 0 1 0 2z"/>
19
+ </svg>
@@ -1 +1,22 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 28 28"><g fill="none" fill-rule="evenodd" transform="translate(2 2)"><rect width="20" height="20" fill="#B1B7BC" rx="10"/><path fill="#FFF" fill-rule="nonzero" d="M6.464 6.464a1 1 0 0 1 1.415 0l2.12 2.12 2.122-2.12a1 1 0 0 1 1.32-.083l.095.083a1 1 0 0 1 0 1.415l-2.122 2.12 2.122 2.122a1 1 0 0 1 .083 1.32l-.083.095a1 1 0 0 1-1.415 0L10 11.414l-2.121 2.122a1 1 0 0 1-1.32.083l-.095-.083a1 1 0 0 1 0-1.415L8.584 10l-2.12-2.121a1 1 0 0 1-.083-1.32z"/></g></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="24" height="24">
18
+ <g fill="none" fill-rule="evenodd" transform="translate(2 2)">
19
+ <rect width="20" height="20" fill="#B1B7BC" rx="10"/>
20
+ <path fill="#FFF" fill-rule="nonzero" d="M6.464 6.464a1 1 0 0 1 1.415 0l2.12 2.12 2.122-2.12a1 1 0 0 1 1.32-.083l.095.083a1 1 0 0 1 0 1.415l-2.122 2.12 2.122 2.122a1 1 0 0 1 .083 1.32l-.083.095a1 1 0 0 1-1.415 0L10 11.414l-2.121 2.122a1 1 0 0 1-1.32.083l-.095-.083a1 1 0 0 1 0-1.415L8.584 10l-2.12-2.121a1 1 0 0 1-.083-1.32z"/>
21
+ </g>
22
+ </svg>
@@ -1 +1,19 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="18" height="16" fill="none" viewBox="0 0 18 16"><path stroke="#596168" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17.25 8H.75m0 0L7.5 1.25M.75 8l6.75 6.75"/></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg width="18" height="16" viewBox="0 0 18 16" fill="none" xmlns="http://www.w3.org/2000/svg">
18
+ <path d="M17.25 8H0.75M0.75 8L7.5 1.25M0.75 8L7.5 14.75" stroke="#596168" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
19
+ </svg>
@@ -1 +1,21 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12"><path fill="#767D84" d="M3.742 4.674h-2.25v-2.25"/><path stroke="#596168" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.742 4.674h-2.25v-2.25"/><path stroke="#596168" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.083 8.917a4.125 4.125 0 1 0 0-5.834l-1.59 1.591"/></svg>
1
+ <!--
2
+ - Copyright (c) 2024. Devtron Inc.
3
+ -
4
+ - Licensed under the Apache License, Version 2.0 (the "License");
5
+ - you may not use this file except in compliance with the License.
6
+ - You may obtain a copy of the License at
7
+ -
8
+ - http://www.apache.org/licenses/LICENSE-2.0
9
+ -
10
+ - Unless required by applicable law or agreed to in writing, software
11
+ - distributed under the License is distributed on an "AS IS" BASIS,
12
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ - See the License for the specific language governing permissions and
14
+ - limitations under the License.
15
+ -->
16
+
17
+ <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
18
+ <path d="M3.74216 4.67419H1.49216V2.42419" fill="#767D84"/>
19
+ <path d="M3.74216 4.67419H1.49216V2.42419" stroke="#596168" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
20
+ <path d="M3.08318 8.91682C3.66007 9.49371 4.39507 9.88658 5.19525 10.0457C5.99542 10.2049 6.82482 10.1232 7.57856 9.811C8.33231 9.49879 8.97654 8.97008 9.42981 8.29173C9.88307 7.61338 10.125 6.81585 10.125 6C10.125 5.18415 9.88307 4.38663 9.42981 3.70827C8.97654 3.02992 8.33231 2.50121 7.57856 2.189C6.82482 1.87679 5.99542 1.7951 5.19525 1.95426C4.39507 2.11343 3.66007 2.50629 3.08318 3.08319L1.49219 4.67418" stroke="#596168" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
21
+ </svg>