@devtron-labs/devtron-fe-common-lib 1.12.0-beta-1 → 1.12.0-beta-2

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 (37) hide show
  1. package/dist/{@code-editor-3U2FmTaO.js → @code-editor-WfOCu__U.js} +4734 -4700
  2. package/dist/{@common-rjsf-C2CrGIz6.js → @common-rjsf-Cb7AEsSR.js} +19 -19
  3. package/dist/Common/Common.service.d.ts +2 -2
  4. package/dist/Pages/GlobalConfigurations/index.d.ts +0 -1
  5. package/dist/Pages/ResourceBrowser/service.d.ts +1 -1
  6. package/dist/Pages/ResourceBrowser/types.d.ts +0 -38
  7. package/dist/Shared/Components/AnimatedDeployButton/AnimatedDeployButton.d.ts +1 -1
  8. package/dist/Shared/Components/AnimatedDeployButton/types.d.ts +6 -0
  9. package/dist/Shared/Components/CICDHistory/Artifacts.d.ts +1 -1
  10. package/dist/Shared/Components/CICDHistory/DeploymentDetailSteps.d.ts +1 -1
  11. package/dist/Shared/Components/CICDHistory/History.components.d.ts +1 -1
  12. package/dist/Shared/Components/CICDHistory/types.d.ts +8 -5
  13. package/dist/Shared/Components/EnterpriseTag/EnterpriseTag.component.d.ts +2 -0
  14. package/dist/Shared/Components/EnterpriseTag/index.d.ts +1 -0
  15. package/dist/Shared/Components/Icon/Icon.d.ts +6 -5
  16. package/dist/Shared/Components/LoginBanner/index.d.ts +0 -2
  17. package/dist/Shared/Components/UserIdentifier/UserIdentifier.d.ts +2 -0
  18. package/dist/Shared/Components/UserIdentifier/index.d.ts +2 -0
  19. package/dist/Shared/Components/UserIdentifier/types.d.ts +11 -0
  20. package/dist/Shared/Components/index.d.ts +2 -0
  21. package/dist/Shared/types.d.ts +2 -5
  22. package/dist/assets/ic-checks.d276fd05.svg +3 -0
  23. package/dist/assets/ic-key.8c76fb61.svg +3 -0
  24. package/dist/assets/ic-login-devtron-logo.702a1d04.svg +22 -0
  25. package/dist/assets/ic-medal.a2e911f5.svg +19 -0
  26. package/dist/assets/ic-rocket-launch.1d407c66.svg +3 -0
  27. package/dist/assets/{ic-timeout-two-dash.9a580698.svg → ic-selected.3a29e244.svg} +2 -3
  28. package/dist/assets/ic-timeout-dash.d8e2d62e.svg +21 -0
  29. package/dist/index.js +639 -641
  30. package/package.json +1 -1
  31. package/dist/Pages/GlobalConfigurations/ClustersAndEnvironments/index.d.ts +0 -1
  32. package/dist/Pages/GlobalConfigurations/ClustersAndEnvironments/types.d.ts +0 -8
  33. package/dist/Shared/Components/LoginBanner/Testimonials.components.d.ts +0 -3
  34. package/dist/assets/ic-amazon-eks.13404569.svg +0 -5
  35. package/dist/assets/ic-cluster.71ba9e26.svg +0 -3
  36. package/dist/assets/ic-enterprise-feat.5ee25d5b.svg +0 -3
  37. package/dist/assets/ic-enterprise-tag.209dd129.svg +0 -43
@@ -1,7 +1,7 @@
1
1
  import { j as n, av as y, ax as k, aw as W } from "./@vendor-SjXFleuT.js";
2
2
  import V, { forwardRef as J, useMemo as P } from "react";
3
3
  import K, { getDefaultRegistry as q } from "@rjsf/core";
4
- import { T as F, j as N, c as v, b as S, a as Y, i as z, d as w, e as E, S as G } from "./@code-editor-3U2FmTaO.js";
4
+ import { T as F, j as N, c as v, b as S, a as Y, i as z, d as w, e as E, S as G } from "./@code-editor-WfOCu__U.js";
5
5
  import Q, { components as D } from "react-select";
6
6
  import { ReactComponent as X } from "./assets/ic-chevron-down.fc70d7a7.svg";
7
7
  import { getUiOptions as B, getTemplate as $, getSubmitButtonOptions as Z, ADDITIONAL_PROPERTY_FLAG as L, errorId as ee, englishStringTranslator as te, TranslatableString as ne, titleId as re, canExpand as se, deepEquals as ae } from "@rjsf/utils";
@@ -89,14 +89,14 @@ import './assets/@common-rjsf.css';const O = {
89
89
  }) => {
90
90
  const u = B(a), f = $("ArrayFieldItemTemplate", c, u), p = u.title || x;
91
91
  return /* @__PURE__ */ n.jsx("fieldset", { className: t, id: r.$id, children: i.length ? /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
92
- i.map(({ key: j, ..._ }, h) => {
92
+ i.map(({ key: _, ...j }, h) => {
93
93
  const m = {
94
- ..._.children,
94
+ ...j.children,
95
95
  props: {
96
- ..._.children.props
96
+ ...j.children.props
97
97
  }
98
98
  };
99
- return /* @__PURE__ */ n.jsx(f, { ..._, children: m }, j);
99
+ return /* @__PURE__ */ n.jsx(f, { ...j, children: m }, _);
100
100
  }),
101
101
  /* @__PURE__ */ n.jsx(
102
102
  A,
@@ -178,11 +178,11 @@ import './assets/@common-rjsf.css';const O = {
178
178
  classNames: x,
179
179
  schema: u,
180
180
  rawDescription: f
181
- } = e, p = B(d), j = $(
181
+ } = e, p = B(d), _ = $(
182
182
  "WrapIfAdditionalTemplate",
183
183
  c,
184
184
  p
185
- ), _ = L in u, h = (o || u.type === "boolean") && !_, m = u.type === "array";
185
+ ), j = L in u, h = (o || u.type === "boolean") && !j, m = u.type === "array";
186
186
  return i ? /* @__PURE__ */ n.jsx("div", { className: "hidden", children: r }) : (
187
187
  // NOTE: need to override the margins of default rjsf css
188
188
  /* @__PURE__ */ n.jsxs("div", { className: `${x} mb-0`, children: [
@@ -206,7 +206,7 @@ import './assets/@common-rjsf.css';const O = {
206
206
  id: t,
207
207
  required: l,
208
208
  rawDescription: f,
209
- children: /* @__PURE__ */ n.jsx(j, { ...e, children: r })
209
+ children: /* @__PURE__ */ n.jsx(_, { ...e, children: r })
210
210
  }
211
211
  ),
212
212
  a
@@ -366,8 +366,8 @@ import './assets/@common-rjsf.css';const O = {
366
366
  uiSchema: x,
367
367
  registry: l
368
368
  }
369
- ), j = a.filter((_) => {
370
- const h = c.properties?.[_.name]?.hidden;
369
+ ), _ = a.filter((j) => {
370
+ const h = c.properties?.[j.name]?.hidden;
371
371
  if (!h)
372
372
  return !0;
373
373
  try {
@@ -384,7 +384,7 @@ import './assets/@common-rjsf.css';const O = {
384
384
  } catch {
385
385
  return !0;
386
386
  }
387
- }).map((_) => _.content);
387
+ }).sort((j) => c.properties?.[j.name]?.type === "boolean" ? -1 : 1).map((j) => j.content);
388
388
  return f ? a.length ? /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
389
389
  /* @__PURE__ */ n.jsx(
390
390
  T,
@@ -394,12 +394,12 @@ import './assets/@common-rjsf.css';const O = {
394
394
  showLabel: !0,
395
395
  id: s.$id,
396
396
  shouldAlignCenter: !1,
397
- children: /* @__PURE__ */ n.jsx("div", { children: j })
397
+ children: /* @__PURE__ */ n.jsx("div", { children: _ })
398
398
  }
399
399
  ),
400
400
  p
401
401
  ] }) : /* @__PURE__ */ n.jsx(T, { label: d, required: o, showLabel: !0, id: s.$id, children: p }) : /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
402
- j,
402
+ _,
403
403
  p
404
404
  ] });
405
405
  }, we = (e) => {
@@ -473,8 +473,8 @@ import './assets/@common-rjsf.css';const O = {
473
473
  onFocus: c
474
474
  }) => {
475
475
  const d = (u, f) => {
476
- const { id: p, checked: j } = u.target;
477
- f === "blur" ? o(p, j) : f === "focus" && c(p, j);
476
+ const { id: p, checked: _ } = u.target;
477
+ f === "blur" ? o(p, _) : f === "focus" && c(p, _);
478
478
  }, x = z(s) ? !1 : s;
479
479
  return /* @__PURE__ */ n.jsxs("div", { children: [
480
480
  /* @__PURE__ */ n.jsx(
@@ -507,18 +507,18 @@ import './assets/@common-rjsf.css';const O = {
507
507
  onBlur: d,
508
508
  onFocus: x,
509
509
  placeholder: u
510
- } = e, { enumOptions: f = [] } = r, p = s ? [] : "", j = (h) => {
510
+ } = e, { enumOptions: f = [] } = r, p = s ? [] : "", _ = (h) => {
511
511
  c(s ? h.map((m) => m.value) : h.value);
512
- }, _ = (h) => s ? f.filter((m) => h.some((g) => E(g, m.value))) : f.find((m) => E(h, m.value));
512
+ }, j = (h) => s ? f.filter((m) => h.some((g) => E(g, m.value))) : f.find((m) => E(h, m.value));
513
513
  return /* @__PURE__ */ n.jsx(
514
514
  Q,
515
515
  {
516
516
  id: t,
517
517
  name: t,
518
518
  isMulti: s,
519
- value: typeof a > "u" ? p : _(a),
519
+ value: typeof a > "u" ? p : j(a),
520
520
  autoFocus: o,
521
- onChange: j,
521
+ onChange: _,
522
522
  options: f,
523
523
  onBlur: () => d(t, a),
524
524
  onFocus: () => x(t, a),
@@ -1,6 +1,6 @@
1
1
  import { MutableRefObject } from 'react';
2
2
  import { RuntimeParamsAPIResponseType, RuntimePluginVariables } from '../Shared/types';
3
- import { TeamList, ResponseType, DeploymentNodeType, CDMaterialServiceEnum, CDMaterialServiceQueryParams, CDMaterialResponseType, CDMaterialFilterQuery, EnvironmentListHelmResponse, UserApprovalMetadataType, GlobalVariableOptionType, UserRole, APIOptions } from './Types';
3
+ import { TeamList, ResponseType, DeploymentNodeType, CDMaterialServiceEnum, CDMaterialServiceQueryParams, CDMaterialResponseType, CDMaterialFilterQuery, EnvironmentListHelmResponse, UserApprovalMetadataType, GlobalVariableOptionType, UserRole } from './Types';
4
4
  import { ApiResourceType } from '../Pages';
5
5
  export declare const getTeamListMin: () => Promise<TeamList>;
6
6
  export declare const SourceTypeMap: {
@@ -21,7 +21,7 @@ export declare const getDefaultConfig: () => Promise<ResponseType>;
21
21
  export declare function getEnvironmentListMinPublic(includeAllowedDeploymentTypes?: boolean): Promise<ResponseType<any>>;
22
22
  export declare function getClusterListMin(): Promise<ResponseType<any>>;
23
23
  export declare const getResourceGroupListRaw: (clusterId: string) => Promise<ResponseType<ApiResourceType>>;
24
- export declare function getNamespaceListMin(clusterIdsCsv: string, abortControllerRef?: APIOptions['abortControllerRef']): Promise<EnvironmentListHelmResponse>;
24
+ export declare function getNamespaceListMin(clusterIdsCsv: string): Promise<EnvironmentListHelmResponse>;
25
25
  export declare function getWebhookEventsForEventId(eventId: string | number): Promise<ResponseType<any>>;
26
26
  /**
27
27
  *
@@ -1,5 +1,4 @@
1
1
  export * from './Authorization';
2
2
  export * from './BuildInfra';
3
- export * from './ClustersAndEnvironments';
4
3
  export * from './DeploymentCharts';
5
4
  export * from './ScopedVariables';
@@ -7,4 +7,4 @@ export declare const deleteResource: (resourceListPayload: ResourceListPayloadTy
7
7
  export declare const deleteNodeCapacity: (requestPayload: NodeActionRequest, abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType>;
8
8
  export declare const cordonNodeCapacity: (requestPayload: NodeCordonRequest, abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType>;
9
9
  export declare const drainNodeCapacity: (requestPayload: NodeActionRequest, abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType>;
10
- export declare const getClusterListRaw: (abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType<ClusterDetail[]>>;
10
+ export declare const getClusterListRaw: () => Promise<ResponseType<ClusterDetail[]>>;
@@ -1,20 +1,10 @@
1
1
  import { Dispatch, ReactElement, SetStateAction } from 'react';
2
- import { InstallationClusterType } from '../../Shared/types';
3
2
  import { NodeActionRequest } from './ResourceBrowser.Types';
4
3
  export declare enum ClusterFiltersType {
5
4
  ALL_CLUSTERS = "all",
6
5
  HEALTHY = "healthy",
7
6
  UNHEALTHY = "unhealthy"
8
7
  }
9
- export declare enum InstallationClusterStatus {
10
- Creating = "Creating",
11
- Deleting = "Deleting",
12
- Updating = "Updating",
13
- Installed = "Installed",
14
- Failed = "Failed",
15
- Superseded = "Superseded",
16
- Undefined = "Undefined"
17
- }
18
8
  export declare enum ClusterStatusType {
19
9
  HEALTHY = "healthy",
20
10
  UNHEALTHY = "unhealthy",
@@ -52,7 +42,6 @@ export interface ClusterCapacityType {
52
42
  nodeErrors: Record<string, string>[];
53
43
  status?: ClusterStatusType;
54
44
  isProd: boolean;
55
- installationId?: number;
56
45
  }
57
46
  export interface ClusterDetail extends ClusterCapacityType {
58
47
  id: number;
@@ -81,31 +70,4 @@ export interface AdditionalConfirmationModalOptionsProps<T = unknown> {
81
70
  setOptionsData: Dispatch<SetStateAction<T>>;
82
71
  children?: ReactElement;
83
72
  }
84
- export interface InstallationClusterStepType {
85
- lastTransitionTime: string;
86
- lastProbeTime: string;
87
- message: string;
88
- reason: string;
89
- status: 'False' | 'True' | 'Unknown';
90
- type: string;
91
- }
92
- export interface InstallationClusterConfigDTO {
93
- installationId: number;
94
- installationStatus: InstallationClusterStatus;
95
- name: string;
96
- values: string;
97
- valuesSchema: string;
98
- isProd: boolean;
99
- installationType: InstallationClusterType;
100
- conditions: InstallationClusterStepType[];
101
- installedEntityId: number | 0;
102
- }
103
- export interface InstallationClusterConfigType extends Pick<InstallationClusterConfigDTO, 'installationType' | 'conditions'> {
104
- schema: object;
105
- values: object;
106
- installationId: number;
107
- name: string;
108
- status: InstallationClusterStatus;
109
- correspondingClusterId: number | 0;
110
- }
111
73
  export {};
@@ -1,3 +1,3 @@
1
1
  import { AnimatedDeployButtonProps } from './types';
2
- declare const AnimatedDeployButton: ({ isVirtualEnvironment, onButtonClick }: AnimatedDeployButtonProps) => JSX.Element;
2
+ declare const AnimatedDeployButton: ({ isLoading, isVirtualEnvironment, onButtonClick, exceptionUserConfig, isBulkCDTrigger, }: AnimatedDeployButtonProps) => JSX.Element;
3
3
  export default AnimatedDeployButton;
@@ -1,4 +1,10 @@
1
1
  export interface AnimatedDeployButtonProps {
2
+ isLoading?: boolean;
2
3
  isVirtualEnvironment: boolean;
3
4
  onButtonClick: (e: any, disableDeployButton: boolean) => void;
5
+ exceptionUserConfig?: {
6
+ canDeploy: boolean;
7
+ isImageApprover: boolean;
8
+ };
9
+ isBulkCDTrigger?: boolean;
4
10
  }
@@ -1,4 +1,4 @@
1
1
  import { ArtifactType, CIListItemType } from './types';
2
- export declare const CIListItem: ({ type, userApprovalMetadata, triggeredBy, children, ciPipelineId, artifactId, imageComment, imageReleaseTags, appReleaseTagNames, tagsEditable, hideImageTaggingHardDelete, appliedFilters, isSuperAdmin, promotionApprovalMetadata, appliedFiltersTimestamp, selectedEnvironmentName, renderCIListHeader, targetPlatforms, }: CIListItemType) => JSX.Element;
2
+ export declare const CIListItem: ({ type, userApprovalMetadata, triggeredBy, children, ciPipelineId, artifactId, imageComment, imageReleaseTags, appReleaseTagNames, tagsEditable, hideImageTaggingHardDelete, appliedFilters, isSuperAdmin, promotionApprovalMetadata, appliedFiltersTimestamp, selectedEnvironmentName, renderCIListHeader, targetPlatforms, isDeploymentWithoutApproval, }: CIListItemType) => JSX.Element;
3
3
  declare const Artifacts: ({ status, artifact, blobStorageEnabled, isArtifactUploaded, downloadArtifactUrl, ciPipelineId, artifactId, isJobCI, imageComment, imageReleaseTags, appReleaseTagNames, tagsEditable, hideImageTaggingHardDelete, rootClassName, renderCIListHeader, targetPlatforms, }: ArtifactType) => JSX.Element;
4
4
  export default Artifacts;
@@ -1,3 +1,3 @@
1
1
  import { DeploymentDetailStepsType } from './types';
2
- declare const DeploymentDetailSteps: ({ deploymentStatus, deploymentAppType, isHelmApps, installedAppVersionHistoryId, isGitops, userApprovalMetadata, isVirtualEnvironment, processVirtualEnvironmentDeploymentData, renderDeploymentApprovalInfo, }: DeploymentDetailStepsType) => JSX.Element;
2
+ declare const DeploymentDetailSteps: ({ deploymentStatus, deploymentAppType, isHelmApps, installedAppVersionHistoryId, isGitops, userApprovalMetadata, isVirtualEnvironment, processVirtualEnvironmentDeploymentData, renderDeploymentApprovalInfo, isDeploymentWithoutApproval, }: DeploymentDetailStepsType) => JSX.Element;
3
3
  export default DeploymentDetailSteps;
@@ -1,4 +1,4 @@
1
1
  import { GitChangesType, LogResizeButtonType, ScrollerType } from './types';
2
2
  export declare const LogResizeButton: ({ shortcutCombo, showOnlyWhenPathIncludesLogs, fullScreenView, setFullScreenView, }: LogResizeButtonType) => JSX.Element;
3
3
  export declare const Scroller: ({ scrollToTop, scrollToBottom, style }: ScrollerType) => JSX.Element;
4
- export declare const GitChanges: ({ gitTriggers, ciMaterials, artifact, userApprovalMetadata, triggeredByEmail, ciPipelineId, artifactId, imageComment, imageReleaseTags, appReleaseTagNames, tagsEditable, hideImageTaggingHardDelete, appliedFilters, appliedFiltersTimestamp, promotionApprovalMetadata, selectedEnvironmentName, renderCIListHeader, targetPlatforms, }: GitChangesType) => JSX.Element;
4
+ export declare const GitChanges: ({ gitTriggers, ciMaterials, artifact, userApprovalMetadata, triggeredByEmail, ciPipelineId, artifactId, imageComment, imageReleaseTags, appReleaseTagNames, tagsEditable, hideImageTaggingHardDelete, appliedFilters, appliedFiltersTimestamp, promotionApprovalMetadata, selectedEnvironmentName, renderCIListHeader, targetPlatforms, isDeploymentWithoutApproval, }: GitChangesType) => JSX.Element;
@@ -134,6 +134,7 @@ export interface History extends Pick<TargetPlatformsDTO, 'targetPlatforms'>, Wo
134
134
  triggerMetadata?: string;
135
135
  runSource?: RunSourceType;
136
136
  targetConfig?: TargetConfigType;
137
+ isDeploymentWithoutApproval?: boolean;
137
138
  }
138
139
  export interface ExecutionInfoType {
139
140
  /**
@@ -313,7 +314,7 @@ export interface DeploymentStatusDetailsTimelineType {
313
314
  statusTime: string;
314
315
  resourceDetails?: SyncStageResourceDetail[];
315
316
  }
316
- export interface DeploymentStatusDetailsType {
317
+ export interface DeploymentStatusDetailsType extends Pick<History, 'isDeploymentWithoutApproval'> {
317
318
  deploymentFinishedOn: string;
318
319
  deploymentStartedOn: string;
319
320
  triggeredBy: string;
@@ -327,7 +328,7 @@ export interface DeploymentStatusDetailsResponse extends ResponseType {
327
328
  }
328
329
  interface DeploymentStatusDetailRow {
329
330
  icon: string;
330
- displayText: string;
331
+ displayText: ReactNode;
331
332
  displaySubText: string;
332
333
  time: string;
333
334
  resourceDetails?: any;
@@ -355,7 +356,7 @@ export interface DeploymentStatusDetailsBreakdownDataType {
355
356
  HELM_PACKAGE_GENERATED?: DeploymentStatusDetailRow;
356
357
  };
357
358
  }
358
- export interface DeploymentDetailStepsType {
359
+ export interface DeploymentDetailStepsType extends Pick<History, 'isDeploymentWithoutApproval'> {
359
360
  deploymentStatus?: string;
360
361
  deploymentAppType?: DeploymentAppTypes;
361
362
  isHelmApps?: boolean;
@@ -366,7 +367,7 @@ export interface DeploymentDetailStepsType {
366
367
  processVirtualEnvironmentDeploymentData: (data?: DeploymentStatusDetailsType) => DeploymentStatusDetailsBreakdownDataType;
367
368
  renderDeploymentApprovalInfo: (userApprovalMetadata: UserApprovalMetadataType) => JSX.Element;
368
369
  }
369
- export interface RenderCIListHeaderProps {
370
+ export interface RenderCIListHeaderProps extends Required<Pick<History, 'isDeploymentWithoutApproval'>> {
370
371
  userApprovalMetadata: UserApprovalMetadataType;
371
372
  triggeredBy: string;
372
373
  appliedFilters: FilterConditionsListType[];
@@ -384,7 +385,7 @@ export interface VirtualHistoryArtifactProps {
384
385
  workflowId: number;
385
386
  };
386
387
  }
387
- export type CIListItemType = Pick<History, 'promotionApprovalMetadata'> & {
388
+ export type CIListItemType = Pick<History, 'promotionApprovalMetadata' | 'isDeploymentWithoutApproval'> & {
388
389
  userApprovalMetadata?: UserApprovalMetadataType;
389
390
  triggeredBy?: string;
390
391
  children: ReactNode;
@@ -601,6 +602,7 @@ export type GitChangesType = {
601
602
  appliedFilters?: never;
602
603
  appliedFiltersTimestamp?: never;
603
604
  renderCIListHeader?: never;
605
+ isDeploymentWithoutApproval?: never;
604
606
  } | {
605
607
  artifact: string;
606
608
  promotionApprovalMetadata: History['promotionApprovalMetadata'];
@@ -618,6 +620,7 @@ export type GitChangesType = {
618
620
  appliedFilters?: FilterConditionsListType[];
619
621
  appliedFiltersTimestamp?: string;
620
622
  renderCIListHeader: (renderCIListHeaderProps: RenderCIListHeaderProps) => JSX.Element;
623
+ isDeploymentWithoutApproval?: History['isDeploymentWithoutApproval'];
621
624
  });
622
625
  export interface ArtifactType extends Pick<TargetPlatformBadgeListProps, 'targetPlatforms'> {
623
626
  status: string;
@@ -0,0 +1,2 @@
1
+ declare const EnterpriseTag: () => JSX.Element;
2
+ export default EnterpriseTag;
@@ -0,0 +1 @@
1
+ export { default as EnterpriseTag } from './EnterpriseTag.component';
@@ -3,7 +3,6 @@ export declare const iconMap: {
3
3
  'ic-73strings': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
4
4
  'ic-aborted': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
5
5
  'ic-add': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
6
- 'ic-amazon-eks': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
7
6
  'ic-apica': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
8
7
  'ic-app-group': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
9
8
  'ic-arrow-clockwise': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -24,13 +23,13 @@ export declare const iconMap: {
24
23
  'ic-cd': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
24
  'ic-chat-circle-dots': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
26
25
  'ic-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
26
+ 'ic-checks': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
27
27
  'ic-ci-linked': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
28
28
  'ic-ci-webhook': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
29
29
  'ic-circle-loader': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
30
30
  'ic-clock': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
31
31
  'ic-close-large': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
32
32
  'ic-close-small': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
33
- 'ic-cluster': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
34
33
  'ic-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
35
34
  'ic-container': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
36
35
  'ic-cookr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -45,8 +44,6 @@ export declare const iconMap: {
45
44
  'ic-devtron': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
46
45
  'ic-dockerhub': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
47
46
  'ic-ecr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
48
- 'ic-enterprise-feat': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
49
- 'ic-enterprise-tag': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
50
47
  'ic-env': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
51
48
  'ic-error': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
52
49
  'ic-failure': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -72,10 +69,12 @@ export declare const iconMap: {
72
69
  'ic-info-outline': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
73
70
  'ic-job-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
74
71
  'ic-k8s-job': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
72
+ 'ic-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
75
73
  'ic-ldap': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
76
74
  'ic-lightning-fill': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
77
75
  'ic-lightning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
78
76
  'ic-livspace': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
77
+ 'ic-login-devtron-logo': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
79
78
  'ic-logout': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
80
79
  'ic-medium-delete': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
81
80
  'ic-medium-paintbucket': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -94,6 +93,8 @@ export declare const iconMap: {
94
93
  'ic-pencil': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
95
94
  'ic-quay': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
96
95
  'ic-quote': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
96
+ 'ic-rocket-launch': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
97
+ 'ic-selected': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
97
98
  'ic-shield-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
98
99
  'ic-sliders-vertical': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
99
100
  'ic-sort-ascending': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -106,7 +107,7 @@ export declare const iconMap: {
106
107
  'ic-suspended': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
107
108
  'ic-tata1mg': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
108
109
  'ic-terminal-fill': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
109
- 'ic-timeout-two-dash': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
110
+ 'ic-timeout-dash': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
110
111
  'ic-timer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
111
112
  'ic-travclan': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
112
113
  'ic-unknown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -1,3 +1 @@
1
- export { TESTIMONIAL_CARD_DATA } from './constants';
2
1
  export { default as LoginBanner } from './LoginBanner';
3
- export { default as TestimonialContent } from './Testimonials.components';
@@ -0,0 +1,2 @@
1
+ import { UserIdentifierProps } from './types';
2
+ export declare const UserIdentifier: ({ email, children, rootClassName, tooltipContent, isUserGroup, }: UserIdentifierProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './UserIdentifier';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export interface UserIdentifierProps {
3
+ email: string;
4
+ children?: ReactNode;
5
+ isUserGroup?: boolean;
6
+ rootClassName?: string;
7
+ /**
8
+ * @description - If given, would show tooltip on div containing avatar, email and children
9
+ */
10
+ tooltipContent?: string;
11
+ }
@@ -28,6 +28,7 @@ export * from './DiffViewer';
28
28
  export * from './DynamicDataTable';
29
29
  export * from './EditableTextArea';
30
30
  export * from './EditImageFormField';
31
+ export * from './EnterpriseTag';
31
32
  export * from './EnvironmentSelector';
32
33
  export * from './Error';
33
34
  export * from './ExcludedImageNode';
@@ -78,5 +79,6 @@ export * from './ThemeSwitcher';
78
79
  export * from './ToggleResolveScopedVariables';
79
80
  export * from './UnsavedChanges';
80
81
  export * from './UnsavedChangesDialog';
82
+ export * from './UserIdentifier';
81
83
  export * from './VirtualizedList';
82
84
  export * from './WorkflowOptionsModal';
@@ -245,6 +245,8 @@ export interface WorkflowType {
245
245
  showTippy?: boolean;
246
246
  appId?: number;
247
247
  isSelected?: boolean;
248
+ isExceptionUser?: boolean;
249
+ canApproverDeploy?: boolean;
248
250
  approvalConfiguredIdsMap?: Record<number, ApprovalConfigDataType>;
249
251
  imageReleaseTags: string[];
250
252
  appReleaseTags?: string[];
@@ -403,7 +405,6 @@ export declare enum ResourceKindType {
403
405
  releaseChannel = "release-channel",
404
406
  tenant = "tenant",
405
407
  installation = "installation",
406
- infrastructureInstallation = "installations",
407
408
  environment = "environment",
408
409
  cdPipeline = "cd-pipeline",
409
410
  ciPipeline = "ci-pipeline",
@@ -940,10 +941,6 @@ export type CountryISO2Type = ParsedCountry['iso2'];
940
941
  export declare enum ResponseHeaders {
941
942
  LICENSE_STATUS = "X-License-Status"
942
943
  }
943
- export declare enum InstallationClusterType {
944
- EKS_AUTO_CLUSTER = "eksAutoCluster",
945
- EKS_MANUAL_CLUSTER = "eksManualCluster"
946
- }
947
944
  export type IconBaseSizeType = 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 28 | 30 | 32 | 34 | 36 | 40 | 42 | 44 | 48 | 72 | 80;
948
945
  export type IconBaseColorType = `${'B' | 'N' | 'G' | 'Y' | 'R' | 'V' | 'O'}${`${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}00` | '50' | '0'}` | 'white' | 'black' | null;
949
946
  export interface GetTimeDifferenceParamsType {
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
2
+ <path stroke="#3B444C" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m13.875 7.875-8.25 8.25L1.5 12m21-4.125-8.25 8.25-2.191-2.191" vector-effect="non-scaling-stroke"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
2
+ <path stroke="#3B444C" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m15.59 7 1.414 1.414m-8.27 3.101a6.744 6.744 0 1 1 3.75 3.75L11.25 16.5H9v2.25H6.75V21H3v-3.75l5.735-5.735Z" vector-effect="non-scaling-stroke"/>
3
+ </svg>
@@ -0,0 +1,22 @@
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="142" height="100" viewBox="0 0 142 100">
18
+ <g fill="none" fill-rule="evenodd">
19
+ <path fill="var(--B500)" d="M101.522 25.335L89.882 7.188a3.34 3.34 0 0 0-3.593-1.828c-1.402.24-2.521 1.411-2.713 2.82a3.338 3.338 0 0 0 .278 1.867l-.004.018.05.077c.1.199.22.387.356.561l1.315 2.068 7.008 10.898-.025.012c.73 1.018.814 2.356.172 3.431-1.991 3.331-6.352 10.438-7.336 11.6a3.705 3.705 0 0 1-2.766.963l-5.467-.391a1.611 1.611 0 0 1-1.165-2.494l2.258-3.486a2.88 2.88 0 0 0 .31-.48l.005-.006.001-.004a2.916 2.916 0 0 0 .239-1.992 2.882 2.882 0 0 0-2.15-2.146 2.904 2.904 0 0 0-3.282 1.569L58.54 52.94c-1.149 1.758.012 4.155 2.11 4.253.048.003.096.004.144.004l21.518-.02a5.249 5.249 0 0 0 4.473-2.51l14.796-24.191a4.835 4.835 0 0 0-.06-5.142M39.759 32.757l11.56 18.198a3.339 3.339 0 0 0 3.584 1.845c1.402-.234 2.527-1.4 2.725-2.807a3.337 3.337 0 0 0-.27-1.87l.004-.017-.049-.077c-.1-.2-.218-.388-.354-.563l-1.305-2.073-6.96-10.93.025-.012c-.725-1.02-.803-2.36-.156-3.432 2.006-3.322 6.399-10.409 7.388-11.566a3.7 3.7 0 0 1 2.77-.951l5.465.415a1.611 1.611 0 0 1 1.154 2.5l-2.274 3.476a2.963 2.963 0 0 0-.313.478l-.003.005-.002.005a2.917 2.917 0 0 0-.248 1.99 2.882 2.882 0 0 0 2.14 2.156 2.903 2.903 0 0 0 3.29-1.554l14.933-22.63c1.157-1.753.006-4.154-2.092-4.262a2.735 2.735 0 0 0-.144-.004L59.11 1a5.248 5.248 0 0 0-4.484 2.49L39.722 27.615a4.836 4.836 0 0 0 .037 5.142"/>
20
+ <path fill="var(--N900)" d="M10.357 94.952c1.077 0 1.945-.218 2.6-.655a4.696 4.696 0 0 0 1.53-1.639 6.307 6.307 0 0 0 .72-2.12c.117-.757.175-1.456.175-2.097 0-.64-.058-1.34-.175-2.098a6.312 6.312 0 0 0-.72-2.119 4.696 4.696 0 0 0-1.53-1.639c-.655-.437-1.523-.655-2.6-.655-1.078 0-1.945.218-2.6.655a4.496 4.496 0 0 0-1.508 1.639 6.595 6.595 0 0 0-.7 2.12 13.85 13.85 0 0 0-.174 2.097c0 .641.058 1.34.175 2.097a6.59 6.59 0 0 0 .7 2.12c.349.656.851 1.202 1.507 1.639.655.437 1.522.655 2.6.655zm5.025-15.038V70h5.2v18.397c0 1.515-.146 2.84-.437 3.977-.291 1.136-.677 2.12-1.158 2.95-.48.83-1.026 1.515-1.638 2.054-.612.539-1.239.983-1.88 1.332-1.514.787-3.219 1.195-5.112 1.224-1.952-.03-3.686-.437-5.2-1.224-.641-.35-1.275-.793-1.901-1.332-.627-.54-1.18-1.217-1.66-2.032-.482-.816-.868-1.792-1.16-2.928C.147 91.282 0 89.956 0 88.44c0-1.515.138-2.84.415-3.977.277-1.136.64-2.119 1.093-2.95.451-.83.961-1.521 1.53-2.075a8.815 8.815 0 0 1 1.769-1.355c1.398-.815 3-1.252 4.807-1.31a9.117 9.117 0 0 1 2.622.655c.728.32 1.47.808 2.229 1.464.504.437.81.777.917 1.02zM38.5 85.6a11.23 11.23 0 0 0-.547-1.398 4.48 4.48 0 0 0-.896-1.267 4.152 4.152 0 0 0-1.355-.896c-.524-.218-1.136-.328-1.835-.328-.7 0-1.311.11-1.835.328a4.143 4.143 0 0 0-1.355.896 4.854 4.854 0 0 0-.918 1.267 6.798 6.798 0 0 0-.524 1.399h9.264zm5.505 0c.058.437.11.89.153 1.355.044.467.066.962.066 1.486v.786H28.929c.058.496.13.999.218 1.508.088.51.233 1.013.437 1.508.32.758.816 1.428 1.486 2.01.67.583 1.602.874 2.797.874 1.194 0 2.126-.29 2.797-.874a5.48 5.48 0 0 0 1.485-2.01h5.681c-.233 1.02-.561 1.908-.983 2.665-.423.758-.889 1.414-1.398 1.967a7.982 7.982 0 0 1-1.639 1.377 12.06 12.06 0 0 1-1.704.895c-1.34.525-2.753.787-4.239.787-1.952-.03-3.686-.437-5.2-1.224a10.973 10.973 0 0 1-1.901-1.332c-.627-.54-1.18-1.217-1.66-2.032-.482-.816-.868-1.792-1.159-2.928-.291-1.136-.437-2.462-.437-3.977 0-1.515.146-2.84.437-3.977.291-1.136.677-2.119 1.158-2.95.48-.83 1.034-1.521 1.66-2.075a10.416 10.416 0 0 1 1.902-1.355c1.514-.815 3.248-1.252 5.2-1.31 1.602.058 3.102.393 4.501 1.004.582.263 1.172.605 1.77 1.027.597.423 1.15.947 1.66 1.574.51.626.962 1.37 1.355 2.228.393.86.677 1.857.852 2.994zM57.245 99.497h-3.583l-7.21-22.156h5.375l5.418 16.563 5.42-16.563h5.374l-7.21 22.156zM75.73 82.542v9.745c.087.35.247.67.48.961.204.234.488.452.853.656.364.204.837.305 1.42.305h3.321v5.288h-5.331c-1.136-.116-2.156-.437-3.059-.961-.758-.437-1.45-1.085-2.076-1.945-.626-.86-.94-2.047-.94-3.562V74.335h5.332v3.006h5.026v5.2H75.73zM84.295 83.809c0-1.515.32-2.702.961-3.561.64-.86 1.34-1.508 2.098-1.945.903-.525 1.923-.845 3.059-.962h6.118v5.288h-4.108c-.583 0-1.056.102-1.42.306-.365.204-.649.423-.852.655a2.488 2.488 0 0 0-.481.962v14.945h-5.375V83.809zM109.203 81.93c-1.078 0-1.945.218-2.6.655a4.5 4.5 0 0 0-1.508 1.639 6.594 6.594 0 0 0-.699 2.12 13.847 13.847 0 0 0-.175 2.097c0 .641.059 1.34.175 2.098.116.758.35 1.463.7 2.119a4.5 4.5 0 0 0 1.507 1.639c.655.437 1.522.655 2.6.655s1.945-.218 2.6-.655a4.496 4.496 0 0 0 1.508-1.639c.35-.656.582-1.361.699-2.12.116-.757.175-1.456.175-2.097 0-.64-.059-1.34-.175-2.097a6.608 6.608 0 0 0-.7-2.12 4.496 4.496 0 0 0-1.507-1.639c-.655-.437-1.522-.655-2.6-.655M98.846 88.44c0-1.514.146-2.84.437-3.977.291-1.136.678-2.119 1.158-2.95.481-.83 1.034-1.521 1.66-2.075a10.44 10.44 0 0 1 1.902-1.355c1.514-.815 3.248-1.252 5.2-1.31 1.923.058 3.642.495 5.157 1.31.64.35 1.274.802 1.9 1.355.627.554 1.18 1.245 1.661 2.076.48.83.874 1.813 1.18 2.95.306 1.135.459 2.462.459 3.976 0 1.515-.153 2.84-.459 3.977-.306 1.136-.7 2.112-1.18 2.928-.48.816-1.034 1.493-1.66 2.032-.627.539-1.261.983-1.901 1.332-1.515.787-3.234 1.195-5.157 1.224-1.952-.03-3.686-.437-5.2-1.224a10.984 10.984 0 0 1-1.901-1.332c-.627-.54-1.18-1.216-1.66-2.032-.481-.816-.868-1.792-1.159-2.928-.291-1.137-.437-2.462-.437-3.977M131.927 76.773c.087 0 .4.015.94.044.538.03 1.172.153 1.9.371.728.22 1.5.562 2.316 1.027.815.467 1.573 1.137 2.273 2.01.699.874 1.274 1.975 1.726 3.3.451 1.326.677 2.964.677 4.916v11.056h-5.331V88.44c0-.64-.059-1.296-.175-1.966a5.534 5.534 0 0 0-.656-1.836 3.962 3.962 0 0 0-1.354-1.376c-.583-.364-1.355-.547-2.316-.547-.962 0-1.734.183-2.316.547a3.95 3.95 0 0 0-1.355 1.376 5.496 5.496 0 0 0-.655 1.836c-.117.67-.175 1.325-.175 1.966v11.056h-5.332V88.44c0-1.952.226-3.59.678-4.916.451-1.325 1.027-2.426 1.726-3.3.7-.873 1.456-1.543 2.272-2.01.815-.465 1.588-.808 2.316-1.027.728-.218 1.355-.342 1.88-.37.524-.03.844-.045.96-.045"/>
21
+ </g>
22
+ </svg>
@@ -0,0 +1,19 @@
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" fill="none">
18
+ <path d="M16.4996 14.9995V22.5L11.9989 20.25L7.49957 22.5V15.0002M19.499 9C19.499 13.1421 16.1412 16.5 11.999 16.5C7.85689 16.5 4.49902 13.1421 4.49902 9C4.49902 4.85786 7.85689 1.5 11.999 1.5C16.1412 1.5 19.499 4.85786 19.499 9Z" stroke="#3B444C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
19
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24">
2
+ <path stroke="#3B444C" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8.818 17.303c-1.06 3.182-5.303 3.182-5.303 3.182s0-4.243 3.182-5.303M12 16.242l6.364-6.364c2.41-2.41 2.386-4.82 2.233-5.847a.747.747 0 0 0-.629-.628c-1.027-.154-3.437-.177-5.847 2.233L7.757 12M12 16.242 7.757 12M12 16.242l.786 3.93a.75.75 0 0 0 1.266.383l3.032-3.032a.75.75 0 0 0 .22-.53v-6.054M7.756 12l-3.929-.785a.75.75 0 0 1-.383-1.266l3.032-3.032a.75.75 0 0 1 .53-.22h6.054" vector-effect="non-scaling-stroke"/>
3
+ </svg>
@@ -15,7 +15,6 @@
15
15
  -->
16
16
 
17
17
  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
18
- <path d="M3 12C3 7.02944 7.02944 3 12 3" stroke="#3B444C" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-dasharray="2 3"/>
19
- <path d="M12 6.75V12L15 16" stroke="#3B444C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
20
- <path d="M3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3" stroke="#3B444C" stroke-width="1.5" stroke-miterlimit="10"/>
18
+ <circle cx="12" cy="12" r="10" fill="var(--B500)"/>
19
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.7071 9.29291C17.0976 9.68344 17.0976 10.3166 16.7071 10.7071L11.3738 16.0402C10.9832 16.4307 10.3501 16.4307 9.95959 16.0402L7.29292 13.3738C6.90238 12.9833 6.90235 12.3501 7.29286 11.9596C7.68337 11.5691 8.31653 11.569 8.70708 11.9595L10.6667 13.9189L15.2929 9.29288C15.6834 8.90236 16.3166 8.90238 16.7071 9.29291Z" fill="var(--N0)"/>
21
20
  </svg>
@@ -0,0 +1,21 @@
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" fill="none" viewBox="0 0 24 24">
18
+ <path stroke="#3B444C" stroke-dasharray="1 3" stroke-linecap="round" stroke-miterlimit="10" stroke-width="1.5" d="M3 12a9 9 0 0 1 9-9" vector-effect="non-scaling-stroke"/>
19
+ <path stroke="#3B444C" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 6.75V12l3 4" vector-effect="non-scaling-stroke"/>
20
+ <path stroke="#3B444C" stroke-miterlimit="10" stroke-width="1.5" d="M3 12a9 9 0 1 0 9-9" vector-effect="non-scaling-stroke"/>
21
+ </svg>