@devtron-labs/devtron-fe-common-lib 1.14.1 → 1.14.2-pre-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/{@code-editor-Da2XaRcI.js → @code-editor-zWEg20o7.js} +9905 -9614
  2. package/dist/{@common-rjsf-CK-nXKwn.js → @common-rjsf-DjtgOsYa.js} +2 -2
  3. package/dist/{@framer-motion-DyOLEeMN.js → @framer-motion-CXr339mx.js} +3 -3
  4. package/dist/{@react-dates-B7d8RWU9.js → @react-dates-BqsAxdEY.js} +14 -14
  5. package/dist/{@react-select-Coo19Q6a.js → @react-select-BMTMYG5B.js} +6 -6
  6. package/dist/{@react-virtualized-sticky-tree-BPjPJDIR.js → @react-virtualized-sticky-tree-wtn_BsmV.js} +1 -1
  7. package/dist/{@vendor-D9q4wrnL.js → @vendor-CmCjU670.js} +13875 -15779
  8. package/dist/Common/Constants.d.ts +2 -10
  9. package/dist/Common/SegmentedControl/Segment.d.ts +1 -1
  10. package/dist/Common/SegmentedControl/types.d.ts +3 -2
  11. package/dist/Common/TippyCustomized.d.ts +1 -1
  12. package/dist/Common/Types.d.ts +10 -7
  13. package/dist/Pages/Applications/DevtronApps/Details/CDPipeline/services.d.ts +1 -1
  14. package/dist/Pages/Applications/DevtronApps/Details/CDPipeline/types.d.ts +2 -1
  15. package/dist/Shared/Components/CICDHistory/types.d.ts +1 -2
  16. package/dist/Shared/Components/CodeEditor/CodeEditor.d.ts +1 -1
  17. package/dist/Shared/Components/CodeEditor/CodeEditorRenderer.d.ts +1 -1
  18. package/dist/Shared/Components/CodeEditor/Extensions/findAndReplace.d.ts +2 -1
  19. package/dist/Shared/Components/CodeEditor/types.d.ts +14 -1
  20. package/dist/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.utils.d.ts +0 -2
  21. package/dist/Shared/Components/DocLink/DocLink.d.ts +2 -0
  22. package/dist/Shared/Components/DocLink/constants.d.ts +94 -0
  23. package/dist/Shared/Components/DocLink/index.d.ts +4 -0
  24. package/dist/Shared/Components/DocLink/types.d.ts +18 -0
  25. package/dist/Shared/Components/DocLink/utils.d.ts +2 -0
  26. package/dist/Shared/Components/DynamicDataTable/DynamicDataTable.d.ts +1 -1
  27. package/dist/Shared/Components/DynamicDataTable/DynamicDataTableRow.d.ts +1 -1
  28. package/dist/Shared/Components/DynamicDataTable/types.d.ts +8 -4
  29. package/dist/Shared/Components/FeatureDescription/types.d.ts +2 -1
  30. package/dist/Shared/Components/FramerComponents/index.d.ts +2 -3
  31. package/dist/Shared/Components/GenericInfoCard/GenericInfoCardListing.d.ts +2 -0
  32. package/dist/Shared/Components/GenericInfoCard/GenericInfoListSkeleton.d.ts +2 -0
  33. package/dist/Shared/Components/GenericInfoCard/index.d.ts +3 -1
  34. package/dist/Shared/Components/GenericInfoCard/types.d.ts +13 -0
  35. package/dist/Shared/Components/Header/types.d.ts +4 -8
  36. package/dist/Shared/Components/Icon/Icon.d.ts +27 -0
  37. package/dist/Shared/Components/Icon/types.d.ts +2 -2
  38. package/dist/Shared/Components/InfoIconTippy/InfoIconTippy.d.ts +1 -1
  39. package/dist/Shared/Components/KeyValueTable/KeyValueTable.component.d.ts +1 -1
  40. package/dist/Shared/Components/KeyValueTable/KeyValueTable.types.d.ts +1 -1
  41. package/dist/Shared/Components/LoadingCard.d.ts +5 -0
  42. package/dist/Shared/Components/ModalSidebarPanel/types.d.ts +2 -1
  43. package/dist/Shared/Components/StatusComponent/AppStatus.d.ts +1 -1
  44. package/dist/Shared/Components/Switch/Switch.component.d.ts +3 -0
  45. package/dist/Shared/Components/Switch/constants.d.ts +14 -0
  46. package/dist/Shared/Components/Switch/index.d.ts +2 -0
  47. package/dist/Shared/Components/Switch/types.d.ts +101 -0
  48. package/dist/Shared/Components/Switch/utils.d.ts +12 -0
  49. package/dist/Shared/Components/index.d.ts +3 -1
  50. package/dist/Shared/Helpers.d.ts +1 -0
  51. package/dist/Shared/Providers/index.d.ts +1 -1
  52. package/dist/Shared/Providers/types.d.ts +16 -0
  53. package/dist/Shared/constants.d.ts +1 -0
  54. package/dist/Shared/types.d.ts +8 -0
  55. package/dist/Shared/validations.d.ts +1 -0
  56. package/dist/assets/@code-editor.css +1 -1
  57. package/dist/assets/empty-create.661d9355.png +0 -0
  58. package/dist/assets/ic-app-template.82736707.svg +23 -0
  59. package/dist/assets/ic-arrows-clockwise.5858ba0a.svg +3 -0
  60. package/dist/assets/ic-checkbox-selected-error.185fc40c.svg +4 -0
  61. package/dist/assets/{ic-hibernate.f75c1e70.svg → ic-checkbox-selected-error.b40237bc.svg} +3 -2
  62. package/dist/assets/ic-devtron-app.a8b688d3.svg +23 -0
  63. package/dist/assets/ic-devtron-job.1b216232.svg +10 -0
  64. package/dist/assets/ic-email.78fed574.svg +3 -0
  65. package/dist/assets/ic-fast-forward.8d1a414b.svg +4 -0
  66. package/dist/assets/ic-filter-applied.56f397cb.svg +4 -0
  67. package/dist/assets/ic-filter.d6f03b78.svg +3 -0
  68. package/dist/assets/ic-flask.d0624c30.svg +3 -0
  69. package/dist/assets/ic-hibernate-circle.7c32c56e.svg +3 -0
  70. package/dist/assets/{ic-arrow-square-out.3d1a0d41.svg → ic-hibernate.263ffcea.svg} +2 -2
  71. package/dist/assets/ic-key-enter.59d23056.svg +3 -0
  72. package/dist/assets/ic-lego.1d2c5e1d.svg +3 -0
  73. package/dist/assets/ic-magnifying-glass.cf47bce0.svg +3 -0
  74. package/dist/assets/ic-mechanical-operation.04a318d6.svg +17 -0
  75. package/dist/assets/ic-more-vertical.6b4cc903.svg +3 -0
  76. package/dist/assets/ic-play-outline.a4f09bf9.svg +3 -0
  77. package/dist/assets/ic-rocket-gear.f1e30f8a.svg +3 -0
  78. package/dist/assets/ic-spray-can.624b202a.svg +3 -0
  79. package/dist/assets/ic-strategy-blue-green-color.0b348d03.svg +6 -0
  80. package/dist/assets/ic-strategy-blue-green.4e57a068.svg +3 -0
  81. package/dist/assets/ic-strategy-canary-color.db010ee7.svg +5 -0
  82. package/dist/assets/ic-strategy-canary.aa75f27f.svg +3 -0
  83. package/dist/assets/ic-strategy-recreate-color.187facd4.svg +4 -0
  84. package/dist/assets/ic-strategy-recreate.77b19a53.svg +3 -0
  85. package/dist/assets/ic-strategy-rolling-color.f9b3c0bb.svg +6 -0
  86. package/dist/assets/ic-strategy-rolling.ba8a30f7.svg +3 -0
  87. package/dist/assets/ic-sun.47c14f53.svg +3 -0
  88. package/dist/assets/ic-traffic-signal.f23a1086.svg +3 -0
  89. package/dist/index.d.ts +6 -0
  90. package/dist/index.js +793 -783
  91. package/package.json +1 -2
  92. package/dist/Shared/Components/DiffViewer/DiffViewer.component.d.ts +0 -41
  93. package/dist/Shared/Components/DiffViewer/constants.d.ts +0 -2
  94. package/dist/Shared/Components/DiffViewer/index.d.ts +0 -1
  95. package/dist/Shared/Components/DiffViewer/types.d.ts +0 -9
  96. package/dist/Shared/Components/FramerComponents/MotionDiv.d.ts +0 -2
  97. package/dist/assets/ic-mechanical-operation.3c3f4672.svg +0 -76
@@ -5,16 +5,6 @@ export declare const DEVTRON_HOME_PAGE = "https://devtron.ai/";
5
5
  export declare const DOCUMENTATION_VERSION = "/v/v0.7";
6
6
  export declare const DISCORD_LINK = "https://discord.devtron.ai/";
7
7
  export declare const DEFAULT_JSON_SCHEMA_URI = "https://json-schema.org/draft/2020-12/schema";
8
- export declare const DOCUMENTATION: {
9
- APP_METRICS: string;
10
- APP_TAGS: string;
11
- APP_OVERVIEW_TAGS: string;
12
- BLOB_STORAGE: string;
13
- GLOBAL_CONFIG_BUILD_INFRA: string;
14
- ENTERPRISE_LICENSE: string;
15
- KUBE_CONFIG: string;
16
- TENANT_INSTALLATION: string;
17
- };
18
8
  export declare const PATTERNS: {
19
9
  STRING: RegExp;
20
10
  DECIMAL_NUMBERS: RegExp;
@@ -32,6 +22,7 @@ export declare const PATTERNS: {
32
22
  CONFIG_MAP_AND_SECRET_KEY: RegExp;
33
23
  CONFIGMAP_AND_SECRET_NAME: RegExp;
34
24
  ALPHANUMERIC_WITH_SPECIAL_CHAR_AND_SLASH: RegExp;
25
+ EMAIL: RegExp;
35
26
  };
36
27
  export declare const URLS: {
37
28
  readonly LOGIN_SSO: "/login/sso";
@@ -300,6 +291,7 @@ export declare const API_STATUS_CODES: {
300
291
  EXPECTATION_FAILED: number;
301
292
  UNPROCESSABLE_ENTITY: number;
302
293
  LOCKED: number;
294
+ FAILED_DEPENDENCY: number;
303
295
  };
304
296
  export declare enum SERVER_MODE {
305
297
  EA_ONLY = "EA_ONLY",
@@ -1,3 +1,3 @@
1
1
  import { SegmentProps } from './types';
2
- declare const Segment: ({ segment, isSelected, name, selectedSegmentRef, onChange, fullWidth, size, disabled, }: SegmentProps) => JSX.Element;
2
+ declare const Segment: ({ segment, isSelected, name, onChange, fullWidth, size, disabled }: SegmentProps) => JSX.Element;
3
3
  export default Segment;
@@ -1,4 +1,3 @@
1
- import { RefObject } from 'react';
2
1
  import { TooltipProps } from '../Tooltip';
3
2
  import { IconsProps, SelectPickerOptionType } from '../../Shared/Components';
4
3
  import { ComponentSizeType } from '../../Shared/constants';
@@ -46,6 +45,9 @@ export type SegmentedControlProps = {
46
45
  * List of segments to be displayed
47
46
  */
48
47
  segments: SegmentType[];
48
+ /**
49
+ * Please make sure this is unique
50
+ */
49
51
  name: string;
50
52
  size?: Extract<ComponentSizeType, ComponentSizeType.xs | ComponentSizeType.small | ComponentSizeType.medium>;
51
53
  fullWidth?: boolean;
@@ -66,6 +68,5 @@ export type SegmentedControlProps = {
66
68
  export interface SegmentProps extends Required<Pick<SegmentedControlProps, 'name' | 'onChange' | 'fullWidth' | 'size' | 'disabled'>> {
67
69
  isSelected: boolean;
68
70
  segment: SegmentType;
69
- selectedSegmentRef: RefObject<HTMLDivElement> | undefined;
70
71
  }
71
72
  export {};
@@ -1,2 +1,2 @@
1
1
  import { TippyCustomizedProps } from './Types';
2
- export declare const TippyCustomized: (props: TippyCustomizedProps) => JSX.Element;
2
+ export declare const TippyCustomized: <T extends boolean = false>(props: TippyCustomizedProps<T>) => JSX.Element;
@@ -2,7 +2,7 @@ import { default as React, ReactNode, CSSProperties, ReactElement, MutableRefObj
2
2
  import { TippyProps } from '@tippyjs/react';
3
3
  import { UserGroupDTO } from '../Pages/GlobalConfigurations';
4
4
  import { ImageComment, ReleaseTag } from './ImageTags.Types';
5
- import { MandatoryPluginBaseStateType, RegistryType, RuntimePluginVariables, Severity, PolicyBlockInfo, TargetPlatformItemDTO, ButtonProps, ComponentLayoutType, StatusType } from '../Shared';
5
+ import { MandatoryPluginBaseStateType, RegistryType, RuntimePluginVariables, Severity, PolicyBlockInfo, TargetPlatformItemDTO, ButtonProps, ComponentLayoutType, StatusType, DocLinkProps, DeploymentStrategyType } from '../Shared';
6
6
  import { ACTION_STATE, DEPLOYMENT_WINDOW_TYPE, DockerConfigOverrideType, RefVariableType, SortingOrder, TaskErrorObj, VariableTypeFormat } from '.';
7
7
  /**
8
8
  * Generic response type object with support for overriding the result type
@@ -75,9 +75,13 @@ export interface CheckboxProps {
75
75
  onClick?: (event: any) => void;
76
76
  id?: string;
77
77
  dataTestId?: string;
78
+ error?: boolean;
78
79
  children?: ReactNode;
79
80
  }
80
- export interface TippyCustomizedProps extends Pick<TippyProps, 'appendTo'> {
81
+ export interface TippyWithBaseDocLinkTypes<T extends boolean> extends Pick<DocLinkProps<T>, 'isExternalLink' | 'openInNewTab'> {
82
+ documentationLink?: DocLinkProps<T>['docLinkKey'];
83
+ }
84
+ export type TippyCustomizedProps<T extends boolean> = Pick<TippyProps, 'appendTo'> & TippyWithBaseDocLinkTypes<T> & {
81
85
  theme: TippyTheme;
82
86
  visible?: boolean;
83
87
  heading?: ReactNode | string;
@@ -102,14 +106,13 @@ export interface TippyCustomizedProps extends Pick<TippyProps, 'appendTo'> {
102
106
  animation?: string;
103
107
  duration?: number;
104
108
  additionalContent?: ReactNode;
105
- documentationLink?: string;
106
109
  documentationLinkText?: string;
107
110
  children: React.ReactElement<any>;
108
111
  disableClose?: boolean;
109
- }
110
- export interface InfoIconTippyProps extends Pick<TippyCustomizedProps, 'heading' | 'infoText' | 'iconClass' | 'documentationLink' | 'documentationLinkText' | 'additionalContent' | 'placement' | 'Icon' | 'headingInfo'> {
112
+ };
113
+ export interface InfoIconTippyProps<T extends boolean = false> extends Pick<TippyCustomizedProps<T>, 'heading' | 'infoText' | 'iconClass' | 'documentationLinkText' | 'additionalContent' | 'placement' | 'Icon' | 'headingInfo' | 'documentationLink' | 'isExternalLink' | 'openInNewTab'> {
111
114
  dataTestid?: string;
112
- children?: TippyCustomizedProps['children'];
115
+ children?: TippyCustomizedProps<T>['children'];
113
116
  iconClassName?: string;
114
117
  buttonPadding?: string;
115
118
  }
@@ -712,7 +715,7 @@ export interface AppEnvironment {
712
715
  ciArtifactId?: number;
713
716
  }
714
717
  export interface Strategy {
715
- deploymentTemplate: string;
718
+ deploymentTemplate: DeploymentStrategyType;
716
719
  config: any;
717
720
  default?: boolean;
718
721
  }
@@ -6,4 +6,4 @@ export declare const uploadCDPipelineFile: ({ file, appId, envId, allowedExtensi
6
6
  envId: number;
7
7
  abortControllerRef?: MutableRefObject<AbortController>;
8
8
  }) => Promise<UploadFileDTO>;
9
- export declare const triggerCDNode: ({ pipelineId, ciArtifactId, appId, stageType, deploymentWithConfig, wfrId, runtimeParamsPayload, abortControllerRef, skipIfHibernated, isRollbackTrigger, }: TriggerCDNodeServiceProps) => Promise<import('../../../../../Common/Types').ResponseType<any>>;
9
+ export declare const triggerCDNode: ({ pipelineId, ciArtifactId, appId, stageType, deploymentWithConfig, wfrId, runtimeParamsPayload, abortControllerRef, skipIfHibernated, isRollbackTrigger, strategy, }: TriggerCDNodeServiceProps) => Promise<import('../../../../../Common/Types').ResponseType<any>>;
@@ -1,7 +1,7 @@
1
1
  import { BuildStageType, FormType } from '../../../../../Common/CIPipeline.Types';
2
2
  import { APIOptions, DeploymentAppTypes, DeploymentNodeType } from '../../../../../Common/Types';
3
3
  import { DeploymentStrategy } from '../../../../../Shared/Components';
4
- import { EnvListMinDTO, RuntimeParamsTriggerPayloadType } from '../../../../../Shared/types';
4
+ import { DeploymentStrategyType, EnvListMinDTO, RuntimeParamsTriggerPayloadType } from '../../../../../Shared/types';
5
5
  import { STAGE_MAP } from '../../../../index';
6
6
  interface ConfigSecretType {
7
7
  label: string;
@@ -108,6 +108,7 @@ export interface TriggerCDNodeServiceProps extends Pick<APIOptions, 'abortContro
108
108
  */
109
109
  runtimeParamsPayload?: RuntimeParamsTriggerPayloadType;
110
110
  isRollbackTrigger?: boolean;
111
+ strategy?: DeploymentStrategyType;
111
112
  }
112
113
  export interface TriggerCDPipelinePayloadType extends Pick<TriggerCDNodeServiceProps, 'pipelineId' | 'appId' | 'ciArtifactId' | 'runtimeParamsPayload' | 'deploymentWithConfig'>, Partial<Pick<TriggerCDNodeServiceProps, 'skipIfHibernated'>> {
113
114
  cdWorkflowType: (typeof STAGE_MAP)[keyof typeof STAGE_MAP];
@@ -2,7 +2,7 @@ import { CSSProperties, MutableRefObject, ReactElement, ReactNode } from 'react'
2
2
  import { SupportedKeyboardKeysType } from '@Common/Hooks/UseRegisterShortcut/types';
3
3
  import { DeploymentAppTypes, FilterConditionsListType, ImageComment, OptionType, PaginationProps, PromotionApprovalMetadataType, ReleaseTag, ResponseType, UserApprovalMetadataType, useScrollable } from '../../../Common';
4
4
  import { DeploymentStageType } from '../../constants';
5
- import { AggregationKeys, AppDetails, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, DeploymentStatusTimelineType, GitTriggers, Node, NodeType, ResourceKindType, ResourceVersionType, TargetPlatformsDTO } from '../../types';
5
+ import { AggregationKeys, AppDetails, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, DeploymentStatusTimelineType, DeploymentStrategyType, GitTriggers, Node, NodeType, ResourceKindType, ResourceVersionType, TargetPlatformsDTO } from '../../types';
6
6
  import { TargetPlatformBadgeListProps } from '../TargetPlatforms';
7
7
  export declare enum HistoryComponentType {
8
8
  CI = "CI",
@@ -593,7 +593,6 @@ export interface DeploymentHistory {
593
593
  ci_artifact_id?: number;
594
594
  runSource?: RunSourceType;
595
595
  }
596
- type DeploymentStrategyType = 'CANARY' | 'ROLLING' | 'RECREATE' | 'BLUE_GREEN';
597
596
  export interface DeploymentStrategy {
598
597
  deploymentTemplate: DeploymentStrategyType;
599
598
  config: any;
@@ -1,6 +1,6 @@
1
1
  import { CodeEditorProps } from './types';
2
2
  declare const CodeEditor: {
3
- <DiffView extends boolean = false>({ theme, value: propValue, originalValue, modifiedValue, isOriginalModifiable, mode, noParsing, children, tabSize, height, shebang, onChange, onOriginalValueChange, onModifiedValueChange, readOnly, placeholder, diffView, loading, customLoader, validatorSchema, schemaURI, cleanData, onBlur, onFocus, autoFocus, disableSearch, }: CodeEditorProps<DiffView>): JSX.Element;
3
+ <DiffView extends boolean = false>({ theme, value: propValue, originalValue, modifiedValue, isOriginalModifiable, mode, noParsing, children, tabSize, height, shebang, onChange, onOriginalValueChange, onModifiedValueChange, placeholder, diffView, loading, customLoader, validatorSchema, schemaURI, cleanData, onBlur, onFocus, autoFocus, onSearchPanelOpen, onSearchBarAction, collapseUnchangedDiffView, ...resProps }: CodeEditorProps<DiffView>): JSX.Element;
4
4
  Clipboard: () => JSX.Element;
5
5
  Header: ({ children, className, hideDefaultSplitHeader }: import('./types').CodeEditorHeaderProps) => JSX.Element;
6
6
  Warning: ({ className, text, children }: import('./types').CodeEditorStatusBarProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { CodeEditorRendererProps } from './types';
2
- export declare const CodeEditorRenderer: ({ codemirrorMergeKey, theme, loading, customLoader, height, codeEditorTheme, readOnly, handleLhsOnChange, originalViewExtensions, handleOnChange, modifiedViewExtensions, codeMirrorParentDivRef, shebang, placeholder, onFocus, onBlur, extensions, autoFocus, diffMinimapExtensions, }: CodeEditorRendererProps) => JSX.Element;
2
+ export declare const CodeEditorRenderer: ({ codemirrorMergeKey, theme, loading, customLoader, height, codeEditorTheme, readOnly, handleLhsOnChange, originalViewExtensions, handleOnChange, modifiedViewExtensions, codeMirrorParentDivRef, shebang, placeholder, onFocus, onBlur, extensions, autoFocus, diffMinimapExtensions, collapseUnchanged, disableMinimap, }: CodeEditorRendererProps) => JSX.Element;
@@ -1,2 +1,3 @@
1
1
  import { EditorView, Panel } from '@uiw/react-codemirror';
2
- export declare const codeEditorFindReplace: (view: EditorView) => Panel;
2
+ import { CodeEditorProps } from '../types';
3
+ export declare const getCodeEditorFindReplace: (onSearchBarAction: CodeEditorProps["onSearchBarAction"]) => (view: EditorView) => Panel;
@@ -29,6 +29,12 @@ type CodeEditorDiffBaseProps = {
29
29
  originalValue?: ReactCodeMirrorProps['value'];
30
30
  modifiedValue?: ReactCodeMirrorProps['value'];
31
31
  isOriginalModifiable?: boolean;
32
+ /**
33
+ * When true, renders a diff view in readOnly mode with collapsed unchanged diffs.
34
+ * This disables the minimap, code-editor search functionality, and language linting.
35
+ * @default false
36
+ */
37
+ collapseUnchangedDiffView?: boolean;
32
38
  };
33
39
  type CodeEditorPropsBasedOnDiffView<DiffView extends boolean> = DiffView extends true ? CodeEditorDiffBaseProps & Never<CodeEditorBaseProps> : CodeEditorBaseProps & Never<CodeEditorDiffBaseProps>;
34
40
  export type CodeEditorProps<DiffView extends boolean = false> = {
@@ -52,6 +58,11 @@ export type CodeEditorProps<DiffView extends boolean = false> = {
52
58
  disableSearch?: boolean;
53
59
  diffView?: DiffView;
54
60
  theme?: AppThemeType;
61
+ onSearchPanelOpen?: () => void;
62
+ /**
63
+ * This method is triggered when user types something in the search/replace bar or applies a search or replace action.
64
+ */
65
+ onSearchBarAction?: () => void;
55
66
  } & CodeEditorPropsBasedOnDiffView<DiffView>;
56
67
  export interface GetCodeEditorHeightReturnType {
57
68
  codeEditorParentClassName: string;
@@ -63,7 +74,7 @@ export type HoverTexts = {
63
74
  typeInfo: string;
64
75
  };
65
76
  export type FindReplaceQuery = Partial<Pick<SearchQuery, 'search' | 'wholeWord' | 'regexp' | 'replace' | 'caseSensitive'>>;
66
- export interface FindReplaceProps {
77
+ export interface FindReplaceProps extends Pick<CodeEditorProps, 'onSearchBarAction'> {
67
78
  view: EditorView;
68
79
  /** Default value for Search Query state. */
69
80
  defaultQuery: SearchQuery;
@@ -94,6 +105,8 @@ export type CodeEditorRendererProps = Required<Pick<CodeEditorProps, 'theme' | '
94
105
  modifiedViewExtensions: ReactCodeMirrorProps['extensions'];
95
106
  extensions: ReactCodeMirrorProps['extensions'];
96
107
  diffMinimapExtensions: ReactCodeMirrorProps['extensions'];
108
+ collapseUnchanged?: boolean;
109
+ disableMinimap?: boolean;
97
110
  };
98
111
  export interface DiffMinimapProps extends Pick<CodeEditorRendererProps, 'theme'> {
99
112
  view: MergeView;
@@ -1,6 +1,5 @@
1
1
  import { AppEnvDeploymentConfigListParams, DeploymentConfigDiffProps } from '..';
2
2
  import { ConfigMapSecretDataConfigDatumDTO, DeploymentTemplateDTO, TemplateListDTO } from '../../Services/app.types';
3
- import { DiffViewerProps } from '../DiffViewer/types';
4
3
  export declare const getDeploymentTemplateData: (data: DeploymentTemplateDTO) => any;
5
4
  /**
6
5
  * Retrieves the draft data from the given configuration data object.
@@ -38,4 +37,3 @@ export declare const getDefaultVersionAndPreviousDeploymentOptions: (data: Templ
38
37
  previousDeployments: TemplateListDTO[];
39
38
  defaultVersions: TemplateListDTO[];
40
39
  };
41
- export declare const renderDiffViewNoDifferenceState: (lhsValue: string, rhsValue: string) => DiffViewerProps["codeFoldMessageRenderer"];
@@ -0,0 +1,2 @@
1
+ import { DocLinkProps } from './types';
2
+ export declare const DocLink: <T extends boolean = false>({ docLinkKey, text, dataTestId, showExternalIcon, onClick, size, variant, isExternalLink, openInNewTab, fullWidth, }: DocLinkProps<T>) => JSX.Element;
@@ -0,0 +1,94 @@
1
+ export declare const DOCUMENTATION: {
2
+ readonly ADMIN_PASSWORD: "install/install-devtron#devtron-admin-credentials";
3
+ readonly APP_CI_CONFIG_BUILD_WITHOUT_DOCKER: "usage/applications/creating-application/docker-build-configuration#build-docker-image-without-dockerfile";
4
+ readonly APP_CREATE: "usage/applications/create-application";
5
+ readonly APP_CREATE_CI_CONFIG: "usage/applications/creating-application/docker-build-configuration";
6
+ readonly APP_CREATE_CONFIG_MAP: "usage/applications/creating-application/config-maps";
7
+ readonly APP_CREATE_ENVIRONMENT_OVERRIDE: "usage/applications/creating-application/environment-overrides";
8
+ readonly APP_CREATE_MATERIAL: "usage/applications/creating-application/git-material";
9
+ readonly APP_CREATE_SECRET: "usage/applications/creating-application/secrets";
10
+ readonly APP_CREATE_WORKFLOW: "usage/applications/creating-application/workflow";
11
+ readonly APP_DEPLOYMENT_TEMPLATE: "usage/applications/creating-application/deployment-template";
12
+ readonly APP_EPHEMERAL_CONTAINER: "usage/applications/app-details/ephemeral-containers";
13
+ readonly APP_METRICS: "usage/applications/app-details/app-metrics";
14
+ readonly APP_OVERVIEW_TAGS: "usage/applications/overview#manage-tags";
15
+ readonly APP_ROLLOUT_DEPLOYMENT_TEMPLATE: "usage/applications/creating-application/deployment-template/rollout-deployment";
16
+ readonly BUILD_STAGE: "usage/applications/creating-application/ci-pipeline#build-stage";
17
+ readonly APP_TAGS: "usage/applications/create-application#tags";
18
+ readonly BLOB_STORAGE: "configurations-overview/installation-configuration#configuration-of-blob-storage";
19
+ readonly BULK_UPDATE: "usage/bulk-update";
20
+ readonly CHART_GROUP: "usage/deploy-chart/chart-group";
21
+ readonly CHART_LIST: "usage/deploy-chart/overview-of-charts";
22
+ readonly CHART_STORE_METRICS_SERVER: "dashboard//chart-store/discover?appStoreName=metrics-server";
23
+ readonly CUSTOM_VALUES: "usage/deploy-chart/overview-of-charts#custom-values";
24
+ readonly DEPLOYMENT: "usage/applications/creating-application/deployment-template/deployment";
25
+ readonly DEPLOYMENT_TEMPLATE: "usage/applications/creating-application/deployment-template";
26
+ readonly DEVTRON_UPGRADE: "getting-started/upgrade";
27
+ readonly CONFIGURING_WEBHOOK: "usage/applications/creating-application/workflow/ci-pipeline#configuring-webhook";
28
+ readonly ENTERPRISE_LICENSE: "enterprise-license";
29
+ readonly EXECUTE_CUSTOM_SCRIPT: "usage/applications/creating-application/workflow/ci-pipeline/ci-build-pre-post-plugins#execute-custom-script";
30
+ readonly EXTERNAL_LINKS: "getting-started/global-configurations/external-links";
31
+ readonly EXTERNAL_SECRET: "usage/applications/creating-application/secrets#external-secrets";
32
+ readonly HOME_PAGE: "https://devtron.ai";
33
+ readonly DOC_HOME_PAGE: "https://docs.devtron.ai";
34
+ readonly KUBE_CONFIG: "usage/resource-browser#running-kubectl-commands-locally";
35
+ readonly JOBS: "usage/jobs";
36
+ readonly TAINT: "usage/resource-browser#taint-a-node";
37
+ readonly GLOBAL_CONFIG_API_TOKEN: "getting-started/global-configurations/authorization/api-tokens";
38
+ readonly GLOBAL_CONFIG_BUILD_INFRA: "global-configurations/build-infra";
39
+ readonly GLOBAL_CONFIG_CHART: "getting-started/global-configurations/chart-repo";
40
+ readonly GLOBAL_CONFIG_CLUSTER: "getting-started/global-configurations/cluster-and-environments";
41
+ readonly GLOBAL_CONFIG_CUSTOM_CHART: "getting-started/global-configurations/custom-charts";
42
+ readonly GLOBAL_CONFIG_CUSTOM_CHART_PRE_REQUISITES: "getting-started/global-configurations/custom-charts#prerequisites";
43
+ readonly GLOBAL_CONFIG_DOCKER: "getting-started/global-configurations/container-registries";
44
+ readonly GLOBAL_CONFIG_GIT: "getting-started/global-configurations/git-accounts";
45
+ readonly GLOBAL_CONFIG_GITOPS: "global-configurations/gitops";
46
+ readonly GLOBAL_CONFIG_GITOPS_GITHUB: "global-configurations/gitops#github";
47
+ readonly GLOBAL_CONFIG_GITOPS_GITLAB: "global-configurations/gitops#gitlab";
48
+ readonly GLOBAL_CONFIG_GITOPS_AZURE: "global-configurations/gitops#azure";
49
+ readonly GLOBAL_CONFIG_GITOPS_BITBUCKET: "global-configurations/gitops#bitbucket";
50
+ readonly GLOBAL_CONFIG_GROUPS: "getting-started/global-configurations/authorization/permission-groups";
51
+ readonly GLOBAL_CONFIG_HOST_URL: "global-configurations/host-url";
52
+ readonly GLOBAL_CONFIG_NOTIFICATION: "getting-started/global-configurations/manage-notification";
53
+ readonly GLOBAL_CONFIG_PERMISSION: "global-configurations/authorization/user-access#devtron-apps-permissions";
54
+ readonly GLOBAL_CONFIG_PROJECT: "global-configurations/projects";
55
+ readonly GLOBAL_CONFIG_SSO: "getting-started/global-configurations/sso-login";
56
+ readonly GLOBAL_CONFIG_SCOPED_VARIABLES: "getting-started/global-configurations/scoped-variables";
57
+ readonly GLOBAL_CONFIG_USER: "getting-started/global-configurations/authorization/user-access";
58
+ readonly HYPERION: "usage/applications#view-external-helm-app-listing";
59
+ readonly JOB_CRONJOB: "usage/applications/creating-application/deployment-template/job-and-cronjob";
60
+ readonly JOB_SOURCE_CODE: "usage/jobs/configuration-job";
61
+ readonly JOB_WORKFLOW_EDITOR: "usage/jobs/workflow-editor-job";
62
+ readonly K8S_RESOURCES_PERMISSIONS: "global-configurations/authorization/user-access#kubernetes-resources-permissions";
63
+ readonly PRE_POST_BUILD_STAGE: "usage/applications/creating-application/ci-pipeline/ci-build-pre-post-plugins";
64
+ readonly ROLLOUT: "usage/applications/creating-application/deployment-template/rollout-deployment";
65
+ readonly SECURITY: "usage/security-features";
66
+ readonly SPECIFY_IMAGE_PULL_SECRET: "getting-started/global-configurations/container-registries#specify-image-pull-secret";
67
+ readonly TENANT_INSTALLATION: "usage/software-distribution-hub/tenants";
68
+ readonly CEL: "https://github.com/google/cel-spec/blob/master/doc/langdef.md";
69
+ readonly KUBERNETES_LABELS: "https://kubernetes.io/docs/concepts/overview/working-with-objects/labels";
70
+ readonly IMAGE_PROMOTION: "global-configurations/image-promotion-policy";
71
+ readonly IMAGE_PROMOTION_ASSIGN_TO: "global-configurations/image-promotion-policy#applying-an-image-promotion-policy";
72
+ readonly TAGS: "usage/applications/create-application#tags";
73
+ readonly TAGS_POLICY: "global-configurations/tags-policy";
74
+ readonly RESOURCE_WATCHER: "usage/resource-watcher";
75
+ readonly GITOPS_BITBUCKET: "global-configurations/gitops#bitbucket";
76
+ readonly DEPLOYMENT_CONFIGS: "resources/glossary#base-deployment-template";
77
+ readonly RJSF_PLAYGROUND: "https://rjsf-team.github.io/react-jsonschema-form/";
78
+ readonly GLOBAL_CONFIG_DEPLOYMENT_WINDOW: "global-configurations/deployment-window";
79
+ readonly GLOBAL_CONFIG_CATALOG_FRAMEWORK: "global-configurations/catalog-framework";
80
+ readonly GLOBAL_CONFIG_DEVTRON_APP_TEMPLATES: "global-configurations";
81
+ readonly GLOBAL_CONFIG_FILTER_CONDITION: "global-configurations/filter-condition";
82
+ readonly GLOBAL_CONFIG_LOCK_DEPLOYMENT_CONFIG: "global-configurations/lock-deployment-config";
83
+ readonly GLOBAL_CONFIG_PLUGINS_POLICY: "global-configurations/plugins-policy";
84
+ readonly GLOBAL_CONFIG_APPROVAL_POLICY: "global-configurations/approval-policy";
85
+ readonly GLOBAL_CONFIG_SSO_LOGIN_LDAP: "global-configurations/authorization/sso-login/ldap";
86
+ readonly GLOBAL_CONFIG_SSO_LOGIN_MICROSOFT: "global-configurations/authorization/sso-login/microsoft";
87
+ readonly GLOBAL_CONFIG_PULL_IMAGE_DIGEST: "global-configurations/pull-image-digest";
88
+ readonly GLOBAL_CONFIG_TAGS: "getting-started/global-configurations/tags-policy";
89
+ readonly SOFTWARE_DISTRIBUTION_HUB: "usage/software-distribution-hub";
90
+ readonly RELEASE_TRACKS: "usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions";
91
+ readonly RELEASES: "usage/software-distribution-hub/release-hub#creating-release-tracks-and-versions";
92
+ readonly TENANTS: "usage/software-distribution-hub/tenants#adding-installation";
93
+ readonly TENANTS_INSTALLATION: "usage/software-distribution-hub/tenants";
94
+ };
@@ -0,0 +1,4 @@
1
+ export { DOCUMENTATION } from './constants';
2
+ export { DocLink } from './DocLink';
3
+ export type { DocLinkProps } from './types';
4
+ export { getDocumentationUrl } from './utils';
@@ -0,0 +1,18 @@
1
+ import { MouseEvent } from 'react';
2
+ import { ButtonComponentType, ButtonProps } from '..';
3
+ import { DOCUMENTATION } from './constants';
4
+ export type BaseDocLink<T extends boolean> = {
5
+ isExternalLink?: T;
6
+ isEnterprise?: boolean;
7
+ docLinkKey: T extends true ? string : keyof typeof DOCUMENTATION;
8
+ };
9
+ export type DocLinkProps<T extends boolean> = Pick<ButtonProps<ButtonComponentType.anchor>, 'dataTestId' | 'size' | 'variant' | 'fullWidth'> & Omit<BaseDocLink<T>, 'isEnterprise'> & {
10
+ text?: string;
11
+ showExternalIcon?: boolean;
12
+ onClick?: (e: MouseEvent<HTMLAnchorElement>) => void;
13
+ /**
14
+ * If `true`, the documentation will open in a new browser tab instead of the side panel.
15
+ * @default false
16
+ */
17
+ openInNewTab?: boolean;
18
+ };
@@ -0,0 +1,2 @@
1
+ import { BaseDocLink } from './types';
2
+ export declare const getDocumentationUrl: <T extends boolean = false>({ docLinkKey, isEnterprise, isExternalLink, }: BaseDocLink<T>) => string;
@@ -1,2 +1,2 @@
1
1
  import { DynamicDataTableProps } from './types';
2
- export declare const DynamicDataTable: <K extends string, CustomStateType = Record<string, unknown>>({ headers, onRowAdd, ...props }: DynamicDataTableProps<K, CustomStateType>) => JSX.Element;
2
+ export declare const DynamicDataTable: <K extends string, CustomStateType = Record<string, unknown>>({ headers, ...props }: DynamicDataTableProps<K, CustomStateType>) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { DynamicDataTableRowProps } from './types';
2
- export declare const DynamicDataTableRow: <K extends string, CustomStateType = Record<string, unknown>>({ rows, headers, readOnly, isDeletionNotAllowed, cellError, actionButtonConfig, onRowEdit, onRowDelete, leadingCellIcon, trailingCellIcon, buttonCellWrapComponent, focusableFieldKey, isAddRowButtonClicked, setIsAddRowButtonClicked, }: DynamicDataTableRowProps<K, CustomStateType>) => JSX.Element;
2
+ export declare const DynamicDataTableRow: <K extends string, CustomStateType = Record<string, unknown>>({ rows, headers, readOnly, isDeletionNotAllowed, cellError, actionButtonConfig, onRowEdit, onRowDelete, leadingCellIcon, trailingCellIcon, buttonCellWrapComponent, focusableFieldKey, shouldAutoFocusOnMount, }: DynamicDataTableRowProps<K, CustomStateType>) => JSX.Element;
@@ -1,4 +1,4 @@
1
- import { DetailedHTMLProps, Dispatch, ReactElement, ReactNode, SetStateAction } from 'react';
1
+ import { DetailedHTMLProps, ReactElement, ReactNode } from 'react';
2
2
  import { ResizableTagTextAreaProps } from '../../../Common/CustomTagSelector';
3
3
  import { UseStateFiltersReturnType } from '../../../Common/Hooks';
4
4
  import { TooltipProps } from '@Common/Tooltip/types';
@@ -166,11 +166,15 @@ export type DynamicDataTableProps<K extends string, CustomStateType = Record<str
166
166
  * @default 'first column key'
167
167
  */
168
168
  focusableFieldKey?: K;
169
+ /**
170
+ * When true, the table will automatically focus the first focusable cell
171
+ * or cell key denoted by `focusableFieldKey` when the component mounts.
172
+ * @default false
173
+ */
174
+ shouldAutoFocusOnMount?: boolean;
169
175
  };
170
176
  export interface DynamicDataTableHeaderProps<K extends string, CustomStateType = Record<string, unknown>> extends Pick<DynamicDataTableProps<K, CustomStateType>, 'headers' | 'rows' | 'headerComponent' | 'sortingConfig' | 'addBtnTooltip' | 'onRowAdd' | 'readOnly' | 'isAdditionNotAllowed' | 'isDeletionNotAllowed' | 'actionButtonConfig'> {
171
177
  }
172
- export interface DynamicDataTableRowProps<K extends string, CustomStateType = Record<string, unknown>> extends Pick<DynamicDataTableProps<K, CustomStateType>, 'rows' | 'headers' | 'isAdditionNotAllowed' | 'isDeletionNotAllowed' | 'readOnly' | 'onRowEdit' | 'onRowDelete' | 'actionButtonConfig' | 'cellError' | 'leadingCellIcon' | 'trailingCellIcon' | 'buttonCellWrapComponent' | 'focusableFieldKey'> {
173
- isAddRowButtonClicked: boolean;
174
- setIsAddRowButtonClicked: Dispatch<SetStateAction<boolean>>;
178
+ export interface DynamicDataTableRowProps<K extends string, CustomStateType = Record<string, unknown>> extends Pick<DynamicDataTableProps<K, CustomStateType>, 'rows' | 'headers' | 'isAdditionNotAllowed' | 'isDeletionNotAllowed' | 'readOnly' | 'onRowEdit' | 'onRowDelete' | 'actionButtonConfig' | 'cellError' | 'leadingCellIcon' | 'trailingCellIcon' | 'buttonCellWrapComponent' | 'focusableFieldKey' | 'shouldAutoFocusOnMount'> {
175
179
  }
176
180
  export {};
@@ -1,9 +1,10 @@
1
1
  import { default as React, ReactNode } from 'react';
2
2
  import { ImageType } from '../../../Common';
3
3
  import { Breadcrumb } from '../../../Common/BreadCrumb/Types';
4
+ import { DocLinkProps } from '../DocLink';
4
5
  interface BaseFeatureDescriptionModalProps {
5
6
  renderDescriptionContent?: () => ReactNode;
6
- docLink?: string;
7
+ docLink?: DocLinkProps<false>['docLinkKey'];
7
8
  imageVariant?: ImageType;
8
9
  SVGImage?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
9
10
  imageStyles?: React.CSSProperties;
@@ -1,3 +1,2 @@
1
- import { AnimatePresence, motion } from 'framer-motion';
2
- export * from './MotionDiv';
3
- export { AnimatePresence, motion };
1
+ import { animate, AnimatePresence, motion, useMotionTemplate, useMotionValue } from 'framer-motion';
2
+ export { animate, AnimatePresence, motion, useMotionTemplate, useMotionValue };
@@ -0,0 +1,2 @@
1
+ import { GenericInfoCardListingProps } from './types';
2
+ export declare const GenericInfoCardListing: ({ isLoading, error, list, searchKey, reloadList, borderVariant, handleClearFilters, emptyStateConfig, }: GenericInfoCardListingProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { GenericInfoListSkeletonProps } from './types';
2
+ export declare const GenericInfoListSkeleton: ({ borderVariant }: GenericInfoListSkeletonProps) => JSX.Element;
@@ -1,2 +1,4 @@
1
1
  export { default as GenericInfoCard } from './GenericInfoCard.component';
2
- export { GenericInfoCardBorderVariant, type GenericInfoCardProps } from './types';
2
+ export * from './GenericInfoCardListing';
3
+ export { GenericInfoListSkeleton } from './GenericInfoListSkeleton';
4
+ export { GenericInfoCardBorderVariant, type GenericInfoCardListingProps, type GenericInfoCardProps } from './types';
@@ -1,5 +1,8 @@
1
1
  import { MouseEventHandler, ReactElement } from 'react';
2
2
  import { LinkProps } from 'react-router-dom';
3
+ import { GenericFilterEmptyStateProps } from '@Common/EmptyState/types';
4
+ import { GenericEmptyStateType } from '../../../Common/Types';
5
+ import { APIResponseHandlerProps } from '../APIResponseHandler';
3
6
  type BaseGenericInfoCardProps = {
4
7
  title: string;
5
8
  description: string;
@@ -23,4 +26,14 @@ export type GenericInfoCardProps = {
23
26
  } & Partial<Record<keyof BaseGenericInfoCardProps, never>>) | ({
24
27
  isLoading?: boolean;
25
28
  } & BaseGenericInfoCardProps));
29
+ export interface GenericInfoCardListingProps extends Pick<GenericInfoCardProps, 'borderVariant'>, Pick<GenericFilterEmptyStateProps, 'handleClearFilters'> {
30
+ list: (Pick<GenericInfoCardProps, 'Icon' | 'author' | 'description' | 'linkProps' | 'onClick' | 'title'> & Record<'id', string>)[];
31
+ emptyStateConfig: Pick<GenericEmptyStateType, 'title' | 'subTitle' | 'image' | 'renderButton' | 'renderButton'>;
32
+ searchKey?: string;
33
+ reloadList: () => void;
34
+ error?: APIResponseHandlerProps['error'];
35
+ isLoading?: boolean;
36
+ }
37
+ export interface GenericInfoListSkeletonProps extends Partial<Pick<GenericInfoCardProps, 'borderVariant'>> {
38
+ }
26
39
  export {};
@@ -1,11 +1,7 @@
1
- import { ModuleStatus } from '../../types';
1
+ import { InstallationType, ModuleStatus } from '../../types';
2
2
  import { ResponseType, TippyCustomizedProps } from '../../../Common';
3
3
  import { ActionMenuProps } from '../ActionMenu';
4
- export declare enum InstallationType {
5
- OSS_KUBECTL = "oss_kubectl",
6
- OSS_HELM = "oss_helm",
7
- ENTERPRISE = "enterprise"
8
- }
4
+ import { DOCUMENTATION } from '../DocLink';
9
5
  export interface PageHeaderType {
10
6
  headerName?: string;
11
7
  showTabs?: boolean;
@@ -17,9 +13,9 @@ export interface PageHeaderType {
17
13
  showCloseButton?: boolean;
18
14
  onClose?: () => void;
19
15
  markAsBeta?: boolean;
20
- tippyProps?: Pick<TippyCustomizedProps, 'additionalContent'> & {
16
+ tippyProps?: Pick<TippyCustomizedProps<false>, 'additionalContent'> & {
21
17
  isTippyCustomized?: boolean;
22
- tippyRedirectLink?: string;
18
+ tippyRedirectLink?: keyof typeof DOCUMENTATION;
23
19
  TippyIcon?: React.FunctionComponent<any>;
24
20
  tippyMessage?: string;
25
21
  onClickTippyButton?: () => void;