@devtron-labs/devtron-fe-common-lib 1.9.7 → 1.9.8-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 (103) hide show
  1. package/dist/{@code-editor-BevBTMAP.js → @code-editor-Cq_ltTx2.js} +9205 -8239
  2. package/dist/{@common-rjsf-CdehJ2YJ.js → @common-rjsf-QixzaqSW.js} +2 -2
  3. package/dist/{@framer-motion-Bucw936X.js → @framer-motion-DMD7dX-G.js} +972 -893
  4. package/dist/{@react-dates-CHrHV-f7.js → @react-dates-DxmDHBUI.js} +243 -243
  5. package/dist/{@react-select-lIFcHtle.js → @react-select-BR4eLpVa.js} +1 -1
  6. package/dist/{@react-virtualized-sticky-tree-D2b5Kavd.js → @react-virtualized-sticky-tree-Ca-pl6uN.js} +1 -1
  7. package/dist/{@vendor-FTN5ZOvi.js → @vendor-DZHtXPTX.js} +31613 -25085
  8. package/dist/Common/API/CoreAPI.d.ts +17 -0
  9. package/dist/Common/API/constants.d.ts +70 -0
  10. package/dist/Common/API/index.d.ts +3 -0
  11. package/dist/Common/API/types.d.ts +23 -0
  12. package/dist/Common/API/utils.d.ts +12 -0
  13. package/dist/Common/Constants.d.ts +98 -88
  14. package/dist/Common/DeleteCINodeButton/DeleteCINodeButton.d.ts +1 -1
  15. package/dist/Common/DeleteCINodeButton/types.d.ts +2 -1
  16. package/dist/Common/DeleteCINodeButton/utils.d.ts +5 -2
  17. package/dist/Common/GenericDescription/utils.d.ts +1 -0
  18. package/dist/Common/Helper.d.ts +1 -0
  19. package/dist/Common/Tooltip/constants.d.ts +1 -0
  20. package/dist/Common/Types.d.ts +15 -0
  21. package/dist/Common/index.d.ts +1 -1
  22. package/dist/Pages/Applications/DevtronApps/Details/AppConfigurations/types.d.ts +38 -0
  23. package/dist/Shared/Components/CountrySelect/CountrySelect.component.d.ts +3 -0
  24. package/dist/Shared/Components/CountrySelect/index.d.ts +1 -0
  25. package/dist/Shared/Components/CountrySelect/types.d.ts +7 -0
  26. package/dist/Shared/Components/CountrySelect/utils.d.ts +4 -0
  27. package/dist/Shared/Components/CustomInput/CustomInput.d.ts +1 -1
  28. package/dist/Shared/Components/CustomInput/types.d.ts +5 -1
  29. package/dist/Shared/Components/DevtronLicenseCard/DevtronLicenseCard.d.ts +3 -0
  30. package/dist/Shared/Components/DevtronLicenseCard/InstallationFingerprintInfo.d.ts +3 -0
  31. package/dist/Shared/Components/DevtronLicenseCard/index.d.ts +4 -0
  32. package/dist/Shared/Components/DevtronLicenseCard/types.d.ts +22 -0
  33. package/dist/Shared/Components/DevtronLicenseCard/utils.d.ts +6 -0
  34. package/dist/Shared/Components/FlagImage/FlagImage.component.d.ts +3 -0
  35. package/dist/Shared/Components/FlagImage/index.d.ts +1 -0
  36. package/dist/Shared/Components/FlagImage/types.d.ts +5 -0
  37. package/dist/Shared/Components/FloatingVariablesSuggestions/FloatingVariablesSuggestions.d.ts +1 -1
  38. package/dist/Shared/Components/FloatingVariablesSuggestions/service.d.ts +3 -1
  39. package/dist/Shared/Components/FloatingVariablesSuggestions/types.d.ts +2 -1
  40. package/dist/Shared/Components/FormFieldWrapper/FormFieldWrapper.d.ts +1 -1
  41. package/dist/Shared/Components/FormFieldWrapper/index.d.ts +1 -0
  42. package/dist/Shared/Components/FormFieldWrapper/types.d.ts +4 -0
  43. package/dist/Shared/Components/GenericInfoCard/GenericInfoCard.component.d.ts +3 -0
  44. package/dist/Shared/Components/GenericInfoCard/index.d.ts +2 -0
  45. package/dist/Shared/Components/GenericInfoCard/types.d.ts +26 -0
  46. package/dist/Shared/Components/GenericInfoCard/utils.d.ts +2 -0
  47. package/dist/Shared/Components/GitProviderIcon/GitProviderIcon.d.ts +1 -1
  48. package/dist/Shared/Components/GitProviderIcon/types.d.ts +8 -3
  49. package/dist/Shared/Components/GitProviderIcon/utils.d.ts +2 -0
  50. package/dist/Shared/Components/GraphVisualizer/GraphVisualizer.d.ts +2 -0
  51. package/dist/Shared/Components/GraphVisualizer/components/BaseNode.d.ts +2 -0
  52. package/dist/Shared/Components/GraphVisualizer/components/DropdownNode.d.ts +3 -0
  53. package/dist/Shared/Components/GraphVisualizer/components/IconNode.d.ts +3 -0
  54. package/dist/Shared/Components/GraphVisualizer/components/TextNode.d.ts +3 -0
  55. package/dist/Shared/Components/GraphVisualizer/components/index.d.ts +4 -0
  56. package/dist/Shared/Components/GraphVisualizer/components/types.d.ts +19 -0
  57. package/dist/Shared/Components/GraphVisualizer/constants.d.ts +15 -0
  58. package/dist/Shared/Components/GraphVisualizer/index.d.ts +2 -0
  59. package/dist/Shared/Components/GraphVisualizer/types.d.ts +12 -0
  60. package/dist/Shared/Components/GraphVisualizer/utils.d.ts +17 -0
  61. package/dist/Shared/Components/Header/types.d.ts +0 -1
  62. package/dist/Shared/Components/Icon/Icon.d.ts +12 -0
  63. package/dist/Shared/Components/LoginBanner/LoginBanner.d.ts +2 -0
  64. package/dist/Shared/Components/LoginBanner/constants.d.ts +4 -0
  65. package/dist/Shared/Components/LoginBanner/index.d.ts +1 -0
  66. package/dist/Shared/Components/LoginBanner/types.d.ts +7 -0
  67. package/dist/Shared/Components/ModalSidebarPanel/types.d.ts +1 -1
  68. package/dist/Shared/Components/PhoneInput/PhoneInput.component.d.ts +3 -0
  69. package/dist/Shared/Components/PhoneInput/index.d.ts +1 -0
  70. package/dist/Shared/Components/PhoneInput/types.d.ts +11 -0
  71. package/dist/Shared/Components/ReactSelect/constants.d.ts +7 -15
  72. package/dist/Shared/Components/SelectPicker/SelectPicker.component.d.ts +1 -1
  73. package/dist/Shared/Components/SelectPicker/type.d.ts +1 -1
  74. package/dist/Shared/Components/Textarea/Textarea.component.d.ts +1 -1
  75. package/dist/Shared/Components/WorkflowOptionsModal/WorkflowOptionsModal.d.ts +1 -1
  76. package/dist/Shared/Components/WorkflowOptionsModal/types.d.ts +2 -1
  77. package/dist/Shared/Components/index.d.ts +8 -0
  78. package/dist/Shared/Helpers.d.ts +1 -0
  79. package/dist/Shared/Providers/types.d.ts +4 -1
  80. package/dist/Shared/Services/app.service.d.ts +4 -1
  81. package/dist/Shared/Services/common.service.d.ts +2 -1
  82. package/dist/Shared/Services/index.d.ts +1 -0
  83. package/dist/Shared/Services/template.service.d.ts +2 -0
  84. package/dist/Shared/constants.d.ts +3 -0
  85. package/dist/Shared/types.d.ts +56 -0
  86. package/dist/Shared/validations.d.ts +1 -0
  87. package/dist/assets/@code-editor.css +1 -1
  88. package/dist/assets/@vendor.css +1 -1
  89. package/dist/assets/ic-book-open.e839bbda.svg +3 -0
  90. package/dist/assets/ic-card-stack.efd37c91.svg +3 -0
  91. package/dist/assets/ic-caret-left.3df25a7c.svg +3 -0
  92. package/dist/assets/ic-chat-circle-dots.b5afd171.svg +3 -0
  93. package/dist/assets/ic-copy.416d85f3.svg +3 -0
  94. package/dist/assets/ic-devtron-header-logo.7dc157aa.svg +4 -0
  95. package/dist/assets/ic-devtron.aca6cbaa.svg +3 -0
  96. package/dist/assets/ic-key.56432553.svg +19 -0
  97. package/dist/assets/ic-new.2c179139.svg +3 -0
  98. package/dist/assets/ic-quote.68f093fe.svg +3 -0
  99. package/dist/assets/ic-timer.ae5f10fa.svg +19 -0
  100. package/dist/index.d.ts +6 -2
  101. package/dist/index.js +826 -799
  102. package/package.json +3 -1
  103. package/dist/Common/Api.d.ts +0 -15
@@ -1,3 +1,3 @@
1
1
  import { FormFieldWrapperProps } from './types';
2
- declare const FormFieldWrapper: ({ layout, fullWidth, label, inputId, error, helperText, warningText, required, children, labelTippyCustomizedConfig, labelTooltipConfig, }: Required<FormFieldWrapperProps>) => JSX.Element;
2
+ declare const FormFieldWrapper: ({ layout, fullWidth, label, inputId, error, helperText, warningText, required, children, labelTippyCustomizedConfig, labelTooltipConfig, hideFormFieldInfo, }: Omit<Required<FormFieldWrapperProps>, "hideFormFieldInfo"> & Pick<FormFieldWrapperProps, "hideFormFieldInfo">) => JSX.Element;
3
3
  export default FormFieldWrapper;
@@ -1,3 +1,4 @@
1
1
  export { default as FormFieldWrapper } from './FormFieldWrapper';
2
2
  export type { FormFieldWrapperProps } from './types';
3
3
  export { getFormFieldAriaAttributes } from './utils';
4
+ export { default as FormFieldInfo } from './FormFieldInfo';
@@ -64,4 +64,8 @@ export interface FormFieldWrapperProps extends Pick<FormFieldLabelProps, 'label'
64
64
  children: ReactElement;
65
65
  borderRadiusConfig?: BorderConfigType;
66
66
  borderConfig?: BorderConfigType;
67
+ /**
68
+ * @default false
69
+ */
70
+ hideFormFieldInfo?: boolean;
67
71
  }
@@ -0,0 +1,3 @@
1
+ import { GenericInfoCardProps } from './types';
2
+ declare const GenericInfoCard: ({ title, description, author, isLoading, borderVariant, Icon, onClick, linkProps, }: GenericInfoCardProps) => JSX.Element;
3
+ export default GenericInfoCard;
@@ -0,0 +1,2 @@
1
+ export { type GenericInfoCardProps, GenericInfoCardBorderVariant } from './types';
2
+ export { default as GenericInfoCard } from './GenericInfoCard.component';
@@ -0,0 +1,26 @@
1
+ import { MouseEventHandler, ReactElement } from 'react';
2
+ import { LinkProps } from 'react-router-dom';
3
+ type BaseGenericInfoCardProps = {
4
+ title: string;
5
+ description: string;
6
+ author: string;
7
+ Icon: ReactElement;
8
+ } & ({
9
+ onClick?: never;
10
+ linkProps?: Pick<LinkProps, 'to' | 'target' | 'rel'>;
11
+ } | {
12
+ onClick?: MouseEventHandler<HTMLDivElement>;
13
+ linkProps?: never;
14
+ });
15
+ export declare enum GenericInfoCardBorderVariant {
16
+ ROUNDED = "rounded",
17
+ NONE = "none"
18
+ }
19
+ export type GenericInfoCardProps = {
20
+ borderVariant: GenericInfoCardBorderVariant;
21
+ } & (({
22
+ isLoading: true;
23
+ } & Partial<Record<keyof BaseGenericInfoCardProps, never>>) | ({
24
+ isLoading?: boolean;
25
+ } & BaseGenericInfoCardProps));
26
+ export {};
@@ -0,0 +1,2 @@
1
+ import { GenericInfoCardBorderVariant } from './types';
2
+ export declare const getClassNameForBorderVariant: (variant: GenericInfoCardBorderVariant) => "" | "dc__border-n1";
@@ -1,2 +1,2 @@
1
1
  import { GitProviderIconProps } from './types';
2
- export declare const GitProviderIcon: ({ gitProvider, size }: GitProviderIconProps) => JSX.Element;
2
+ export declare const GitProviderIcon: ({ gitProvider, size, gitRepoUrl }: GitProviderIconProps) => JSX.Element;
@@ -1,10 +1,15 @@
1
1
  import { GitProviderType } from '../../../Common/Constants';
2
2
  import { IconsProps } from '../Icon';
3
- export interface GitProviderIconProps {
4
- gitProvider: GitProviderType;
3
+ export type GitProviderIconProps = {
5
4
  /**
6
5
  * The size of the icon in pixels.
7
6
  * @default 20
8
7
  */
9
8
  size?: IconsProps['size'];
10
- }
9
+ } & ({
10
+ gitProvider: GitProviderType;
11
+ gitRepoUrl?: never;
12
+ } | {
13
+ gitProvider?: never;
14
+ gitRepoUrl: string;
15
+ });
@@ -0,0 +1,2 @@
1
+ import { IconName } from '../Icon';
2
+ export declare const getGitIconName: (repoUrl: string) => IconName;
@@ -0,0 +1,2 @@
1
+ import { GraphVisualizerProps } from './types';
2
+ export declare const GraphVisualizer: ({ nodes: initialNodes, edges: initialEdges, setNodes, setEdges, }: GraphVisualizerProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { BaseNodeProps } from './types';
2
+ export declare const BaseNode: ({ id, className, isConnectable, children }: BaseNodeProps) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { NodeProps } from '@xyflow/react';
2
+ import { DropdownNodeProps } from './types';
3
+ export declare const DropdownNode: ({ id, data, isConnectable }: NodeProps<DropdownNodeProps>) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { NodeProps } from '@xyflow/react';
2
+ import { IconNodeProps } from './types';
3
+ export declare const IconNode: ({ data, id, isConnectable }: NodeProps<IconNodeProps>) => JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { NodeProps } from '@xyflow/react';
2
+ import { TextNodeProps } from './types';
3
+ export declare const TextNode: ({ id, data, isConnectable }: NodeProps<TextNodeProps>) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ export * from './IconNode';
2
+ export * from './TextNode';
3
+ export * from './DropdownNode';
4
+ export * from './types';
@@ -0,0 +1,19 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { Node } from '@xyflow/react';
3
+ import { SelectPickerProps } from '../../SelectPicker';
4
+ export interface BaseNodeProps {
5
+ id: string;
6
+ className?: string;
7
+ isConnectable: boolean;
8
+ children: ReactNode;
9
+ }
10
+ export type IconNodeProps = Node<{
11
+ icon: ReactElement;
12
+ }, 'iconNode'>;
13
+ export type TextNodeProps = Node<{
14
+ icon?: ReactElement;
15
+ text: string;
16
+ }, 'textNode'>;
17
+ export type DropdownNodeProps = Node<Omit<SelectPickerProps<string | number, false>, 'variant' | 'fullWidth' | 'classNamePrefix' | 'menuPosition' | 'menuSize' | 'menuPortalTarget' | 'error'> & {
18
+ isError?: boolean;
19
+ }, 'dropdownNode'>;
@@ -0,0 +1,15 @@
1
+ import { NodeTypes, Viewport } from '@xyflow/react';
2
+ declare const nodeTypes: {
3
+ iconNode: ({ data, id, isConnectable }: import('@xyflow/react').NodeProps<import('./components').IconNodeProps>) => JSX.Element;
4
+ textNode: ({ id, data, isConnectable }: import('@xyflow/react').NodeProps<import('./components').TextNodeProps>) => JSX.Element;
5
+ dropdownNode: ({ id, data, isConnectable }: import('@xyflow/react').NodeProps<import('./components').DropdownNodeProps>) => JSX.Element;
6
+ };
7
+ export declare const NODE_TYPES: NodeTypes;
8
+ export declare const NODE_WIDTH_MAP: Record<keyof typeof nodeTypes, number>;
9
+ export declare const NODE_HEIGHT_MAP: Record<keyof typeof nodeTypes, number>;
10
+ export declare const PADDING_X = 16;
11
+ export declare const PADDING_Y = 20;
12
+ export declare const NODE_GAP_X = 50;
13
+ export declare const NODE_GAP_Y = 12;
14
+ export declare const DEFAULT_VIEWPORT: Viewport;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './GraphVisualizer';
2
+ export type { GraphVisualizerProps, GraphVisualizerNode, GraphVisualizerEdge } from './types';
@@ -0,0 +1,12 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { Edge } from '@xyflow/react';
3
+ import { DropdownNodeProps, IconNodeProps, TextNodeProps } from './components';
4
+ export type GraphVisualizerExtendedNode = IconNodeProps | TextNodeProps | DropdownNodeProps;
5
+ export type GraphVisualizerNode = Omit<IconNodeProps, 'position'> | Omit<TextNodeProps, 'position'> | Omit<DropdownNodeProps, 'position'>;
6
+ export type GraphVisualizerEdge = Omit<Edge, 'type'>;
7
+ export interface GraphVisualizerProps {
8
+ nodes: GraphVisualizerNode[];
9
+ setNodes: Dispatch<SetStateAction<GraphVisualizerNode[]>>;
10
+ edges: GraphVisualizerEdge[];
11
+ setEdges: Dispatch<SetStateAction<GraphVisualizerEdge[]>>;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { Edge } from '@xyflow/react';
2
+ import { GraphVisualizerExtendedNode, GraphVisualizerProps } from './types';
3
+ /**
4
+ * Processes edges by assigning a default type and customizing the marker (arrow style).
5
+ *
6
+ * @param edges - List of all edges representing connections between nodes.
7
+ * @returns A new array of edges with updated properties.
8
+ */
9
+ export declare const processEdges: (edges: GraphVisualizerProps["edges"]) => Edge[];
10
+ /**
11
+ * Processes nodes by calculating their positions based on parent-child relationships.
12
+ *
13
+ * @param nodes - List of all nodes in the graph.
14
+ * @param edges - List of all edges representing parent-child relationships.
15
+ * @returns A new array of nodes with computed positions.
16
+ */
17
+ export declare const processNodes: (nodes: GraphVisualizerProps["nodes"], edges: GraphVisualizerProps["edges"]) => GraphVisualizerExtendedNode[];
@@ -46,5 +46,4 @@ export interface HelpOptionType {
46
46
  name: string;
47
47
  link: string;
48
48
  icon: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
49
- showSeparator?: boolean;
50
49
  }
@@ -6,10 +6,15 @@ export declare const iconMap: {
6
6
  'ic-arrow-right': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
7
7
  'ic-azure': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
8
8
  'ic-bitbucket': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
9
+ 'ic-book-open': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
9
10
  'ic-browser': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
10
11
  'ic-build-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
12
+ 'ic-calendar': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
11
13
  'ic-cancelled': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
14
+ 'ic-card-stack': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
15
+ 'ic-caret-left': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
12
16
  'ic-cd': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
17
+ 'ic-chat-circle-dots': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
13
18
  'ic-ci-linked': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
14
19
  'ic-ci-webhook': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
15
20
  'ic-circle-loader': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -17,9 +22,12 @@ export declare const iconMap: {
17
22
  'ic-close-small': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
18
23
  'ic-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
19
24
  'ic-container': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
+ 'ic-copy': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
20
26
  'ic-crown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
21
27
  'ic-cube': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
22
28
  'ic-delete': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
29
+ 'ic-devtron-header-logo': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
30
+ 'ic-devtron': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
23
31
  'ic-dockerhub': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
24
32
  'ic-ecr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
33
  'ic-env': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -44,6 +52,7 @@ export declare const iconMap: {
44
52
  'ic-info-outline': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
45
53
  'ic-job-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
46
54
  'ic-k8s-job': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
55
+ 'ic-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
47
56
  'ic-ldap': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
48
57
  'ic-login-devtron-logo': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
49
58
  'ic-logout': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -51,6 +60,7 @@ export declare const iconMap: {
51
60
  'ic-microsoft': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
52
61
  'ic-missing': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
53
62
  'ic-monitoring': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
63
+ 'ic-new': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
54
64
  'ic-node-script': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
55
65
  'ic-oidc': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
56
66
  'ic-open-box': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -59,11 +69,13 @@ export declare const iconMap: {
59
69
  'ic-out-of-sync': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
60
70
  'ic-paper-plane-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
61
71
  'ic-quay': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
72
+ 'ic-quote': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
62
73
  'ic-shield-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
63
74
  'ic-stack': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
64
75
  'ic-success': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
65
76
  'ic-suspended': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
66
77
  'ic-timeout-two-dash': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
78
+ 'ic-timer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
67
79
  'ic-unknown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
68
80
  'ic-user-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
69
81
  'ic-warning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -0,0 +1,2 @@
1
+ declare const LoginBanner: () => JSX.Element;
2
+ export default LoginBanner;
@@ -0,0 +1,4 @@
1
+ import { TestimonialCardConfig } from './types';
2
+ export declare const TESTIMONIAL_CARD_DATA: TestimonialCardConfig[];
3
+ export declare const TESTIMONIAL_CARD_INTERVAL = 5000;
4
+ export declare const TRANSITION_EASE_CURVE: number[];
@@ -0,0 +1 @@
1
+ export { default as LoginBanner } from './LoginBanner';
@@ -0,0 +1,7 @@
1
+ import { IconsProps } from 'src';
2
+ export interface TestimonialCardConfig {
3
+ quote: string;
4
+ name: string;
5
+ designation: string;
6
+ iconName: IconsProps['name'];
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  export interface ModalSidebarPanelProps {
3
3
  rootClassName?: string;
4
- heading: string;
4
+ heading: string | null;
5
5
  icon?: JSX.Element;
6
6
  children?: ReactNode;
7
7
  documentationLink: string;
@@ -0,0 +1,3 @@
1
+ import { PhoneInputProps } from './types';
2
+ declare const PhoneInput: ({ error, onChange, required, phoneNumberInputName, countryCodeSelectName, phoneValue, countryCodeSelectSize, }: PhoneInputProps) => JSX.Element;
3
+ export default PhoneInput;
@@ -0,0 +1 @@
1
+ export { default as PhoneInput } from './PhoneInput.component';
@@ -0,0 +1,11 @@
1
+ import { ComponentProps } from 'react';
2
+ import { CountrySelect } from '../CountrySelect';
3
+ export interface PhoneInputProps {
4
+ phoneValue: string;
5
+ onChange: (value: string, hasCountryChanged: boolean) => void;
6
+ error?: string | null;
7
+ countryCodeSelectName: string;
8
+ phoneNumberInputName: string;
9
+ required?: boolean;
10
+ countryCodeSelectSize?: ComponentProps<typeof CountrySelect>['size'];
11
+ }
@@ -1,15 +1,7 @@
1
- export declare const CommonGroupedDropdownStyles: {
2
- container: (base: any, state: any) => any;
3
- control: (base: any, state: any) => any;
4
- singleValue: (base: any) => any;
5
- option: (base: any, state: any) => any;
6
- valueContainer: (base: any) => any;
7
- dropdownIndicator: (base: any, state: any) => any;
8
- group: (base: any) => any;
9
- groupHeading: (base: any) => any;
10
- menuList: (base: any) => any;
11
- multiValue: (base: any) => any;
12
- multiValueLabel: (base: any) => any;
13
- placeholder: (base: any) => any;
14
- menu: (base: any) => any;
15
- };
1
+ import { DropdownIndicatorProps, StylesConfig } from 'react-select';
2
+ export declare const CommonGroupedDropdownStyles: StylesConfig;
3
+ export declare const APP_SELECTOR_STYLES: StylesConfig;
4
+ export declare const AppSelectorDropdownIndicator: (props: DropdownIndicatorProps) => JSX.Element;
5
+ export declare const AppSelectorNoOptionsMessage: (inputObj: {
6
+ inputValue: string;
7
+ }) => string;
@@ -134,5 +134,5 @@ import { SelectPickerProps } from './type';
134
134
  * />
135
135
  * ```
136
136
  */
137
- declare const SelectPicker: <OptionValue, IsMulti extends boolean>({ error, icon, helperText, placeholder, label, showSelectedOptionIcon, size, disabledTippyContent, showSelectedOptionsCount, menuSize, optionListError, reloadOptionList, menuPosition, variant, disableDescriptionEllipsis, multiSelectProps, isMulti, name, classNamePrefix, shouldRenderCustomOptions, isSearchable, selectRef, shouldMenuAlignRight, fullWidth, customSelectedOptionsCount, renderMenuListFooter, isCreatable, onCreateOption, closeMenuOnSelect, shouldShowNoOptionsMessage, shouldRenderTextArea, onKeyDown, shouldHideMenu, warningText, layout, ariaLabel, borderConfig, borderRadiusConfig, labelTippyCustomizedConfig, labelTooltipConfig, ...props }: SelectPickerProps<OptionValue, IsMulti>) => JSX.Element;
137
+ declare const SelectPicker: <OptionValue, IsMulti extends boolean>({ error, icon, helperText, placeholder, label, showSelectedOptionIcon, size, disabledTippyContent, showSelectedOptionsCount, menuSize, optionListError, reloadOptionList, menuPosition, variant, disableDescriptionEllipsis, multiSelectProps, isMulti, name, classNamePrefix, shouldRenderCustomOptions, isSearchable, selectRef, shouldMenuAlignRight, fullWidth, customSelectedOptionsCount, renderMenuListFooter, isCreatable, onCreateOption, closeMenuOnSelect, shouldShowNoOptionsMessage, shouldRenderTextArea, onKeyDown, shouldHideMenu, warningText, layout, ariaLabel, borderConfig, borderRadiusConfig, labelTippyCustomizedConfig, labelTooltipConfig, hideFormFieldInfo, ...props }: SelectPickerProps<OptionValue, IsMulti>) => JSX.Element;
138
138
  export default SelectPicker;
@@ -80,7 +80,7 @@ export declare enum SelectPickerVariantType {
80
80
  DEFAULT = "default",
81
81
  BORDER_LESS = "border-less"
82
82
  }
83
- export type SelectPickerProps<OptionValue = number | string, IsMulti extends boolean = false> = Pick<SelectProps<OptionValue, IsMulti>, 'name' | 'classNamePrefix' | 'options' | 'value' | 'onChange' | 'isSearchable' | 'isClearable' | 'hideSelectedOptions' | 'controlShouldRenderValue' | 'closeMenuOnSelect' | 'isDisabled' | 'isLoading' | 'required' | 'isOptionDisabled' | 'placeholder' | 'menuPosition' | 'getOptionLabel' | 'getOptionValue' | 'isOptionSelected' | 'menuIsOpen' | 'onMenuOpen' | 'onMenuClose' | 'autoFocus' | 'onBlur' | 'onKeyDown' | 'formatOptionLabel' | 'onInputChange' | 'inputValue' | 'filterOption'> & Partial<Pick<SelectProps<OptionValue, IsMulti>, 'renderMenuListFooter' | 'shouldRenderCustomOptions' | 'renderCustomOptions' | 'icon' | 'showSelectedOptionIcon' | 'renderOptionsFooter' | 'shouldRenderTextArea'>> & Required<Pick<SelectProps<OptionValue, IsMulti>, 'inputId'>> & Partial<Pick<CreatableProps<SelectPickerOptionType<OptionValue>, IsMulti, GroupBase<SelectPickerOptionType<OptionValue>>>, 'onCreateOption' | 'formatCreateLabel' | 'menuPortalTarget'>> & Omit<FormFieldWrapperProps, 'children'> & {
83
+ export type SelectPickerProps<OptionValue = number | string, IsMulti extends boolean = false> = Pick<SelectProps<OptionValue, IsMulti>, 'name' | 'classNamePrefix' | 'options' | 'value' | 'onChange' | 'isSearchable' | 'isClearable' | 'hideSelectedOptions' | 'controlShouldRenderValue' | 'closeMenuOnSelect' | 'isDisabled' | 'isLoading' | 'required' | 'isOptionDisabled' | 'placeholder' | 'menuPosition' | 'getOptionLabel' | 'getOptionValue' | 'isOptionSelected' | 'menuIsOpen' | 'onMenuOpen' | 'onMenuClose' | 'autoFocus' | 'onBlur' | 'onKeyDown' | 'formatOptionLabel' | 'onInputChange' | 'inputValue' | 'filterOption' | 'noOptionsMessage'> & Partial<Pick<SelectProps<OptionValue, IsMulti>, 'renderMenuListFooter' | 'shouldRenderCustomOptions' | 'renderCustomOptions' | 'icon' | 'showSelectedOptionIcon' | 'renderOptionsFooter' | 'shouldRenderTextArea'>> & Required<Pick<SelectProps<OptionValue, IsMulti>, 'inputId'>> & Partial<Pick<CreatableProps<SelectPickerOptionType<OptionValue>, IsMulti, GroupBase<SelectPickerOptionType<OptionValue>>>, 'onCreateOption' | 'formatCreateLabel' | 'menuPortalTarget'>> & Omit<FormFieldWrapperProps, 'children'> & {
84
84
  /**
85
85
  * Custom selected options count for use cases like filters
86
86
  */
@@ -1,3 +1,3 @@
1
1
  import { TextareaProps } from './types';
2
- declare const Textarea: ({ name, label, fullWidth, error, helperText, warningText, layout, required, onBlur, shouldTrim, size, ariaLabel, borderRadiusConfig, labelTooltipConfig, labelTippyCustomizedConfig, value, borderConfig, ...props }: TextareaProps) => JSX.Element;
2
+ declare const Textarea: ({ name, label, fullWidth, error, helperText, warningText, layout, required, onBlur, shouldTrim, size, ariaLabel, borderRadiusConfig, labelTooltipConfig, labelTippyCustomizedConfig, hideFormFieldInfo, value, borderConfig, ...props }: TextareaProps) => JSX.Element;
3
3
  export default Textarea;
@@ -1,3 +1,3 @@
1
1
  import { WorkflowOptionsModalProps } from './types';
2
- declare const WorkflowOptionsModal: ({ handleCloseWorkflowOptionsModal, addCIPipeline, addWebhookCD, addLinkedCD, showLinkedCDSource, changeCIPayload, workflows, getWorkflows, resetChangeCIPayload, linkedCDSourceVariant, isAppGroup, }: Readonly<WorkflowOptionsModalProps>) => JSX.Element;
2
+ declare const WorkflowOptionsModal: ({ handleCloseWorkflowOptionsModal, addCIPipeline, addWebhookCD, addLinkedCD, showLinkedCDSource, changeCIPayload, workflows, getWorkflows, resetChangeCIPayload, linkedCDSourceVariant, isAppGroup, isTemplateView, }: Readonly<WorkflowOptionsModalProps>) => JSX.Element;
3
3
  export default WorkflowOptionsModal;
@@ -1,3 +1,4 @@
1
+ import { AppConfigProps } from '../../../Pages/index';
1
2
  import { ChangeCIPayloadType, CIPipelineNodeType, WorkflowType } from '../../types';
2
3
  interface LinkedCDSourceVariant {
3
4
  title: string;
@@ -12,7 +13,7 @@ export interface SourceTypeCardProps extends LinkedCDSourceVariant {
12
13
  disableInfo: string;
13
14
  isDisabled?: boolean;
14
15
  }
15
- export interface WorkflowOptionsModalProps {
16
+ export interface WorkflowOptionsModalProps extends Required<Pick<AppConfigProps, 'isTemplateView'>> {
16
17
  handleCloseWorkflowOptionsModal: () => void;
17
18
  addCIPipeline: (type: CIPipelineNodeType, workflowId?: number | string) => void;
18
19
  addWebhookCD: (workflowId?: number | string) => void;
@@ -59,6 +59,8 @@ export * from './ThemeSwitcher';
59
59
  export * from './TargetPlatforms';
60
60
  export * from './UnsavedChanges';
61
61
  export * from './UnsavedChangesDialog';
62
+ export * from './GraphVisualizer';
63
+ export * from './GenericInfoCard';
62
64
  export * from './Icon';
63
65
  export * from './StatusComponent';
64
66
  export * from './RegistryIcon';
@@ -67,4 +69,10 @@ export * from './CustomInput';
67
69
  export * from './InfoBlock';
68
70
  export * from './CodeEditorWrapper';
69
71
  export * from './SSOProviderIcon';
72
+ export * from './Backdrop';
73
+ export * from './CountrySelect';
74
+ export * from './PhoneInput';
75
+ export * from './FlagImage';
76
+ export * from './DevtronLicenseCard';
77
+ export * from './LoginBanner';
70
78
  export * from './Confetti';
@@ -100,4 +100,5 @@ export declare const deriveBorderRadiusAndBorderClassFromConfig: ({ borderConfig
100
100
  borderRadiusConfig: BorderConfigType | undefined;
101
101
  }) => string;
102
102
  export declare const getClassNameForStickyHeaderWithShadow: (isStuck: boolean, topClassName?: string) => string;
103
+ export declare const clearCookieOnLogout: () => void;
103
104
  export {};
@@ -1,11 +1,11 @@
1
1
  import { MutableRefObject, ReactNode } from 'react';
2
2
  import { ServerInfo } from '../Components/Header/types';
3
3
  import { SERVER_MODE } from '../../Common';
4
+ import { LicenseInfoDialogType } from '..';
4
5
  export interface MainContext {
5
6
  serverMode: SERVER_MODE;
6
7
  setServerMode: (serverMode: SERVER_MODE) => void;
7
8
  isHelpGettingStartedClicked: boolean;
8
- setPageOverflowEnabled: (isPageOverflowEnabled: boolean) => void;
9
9
  showCloseButtonAfterGettingStartedClicked: () => void;
10
10
  loginCount: number;
11
11
  setLoginCount: (loginCount: number) => void;
@@ -39,6 +39,9 @@ export interface MainContext {
39
39
  isManifestScanningEnabled: boolean;
40
40
  canOnlyViewPermittedEnvOrgLevel: boolean;
41
41
  viewIsPipelineRBACConfiguredNode: ReactNode;
42
+ handleOpenLicenseInfoDialog: (initialDialogType?: LicenseInfoDialogType.ABOUT | LicenseInfoDialogType.LICENSE) => void;
43
+ showLicenseData: boolean;
44
+ setShowLicenseData: (showLicenseData: boolean) => void;
42
45
  }
43
46
  export interface MainContextProviderProps {
44
47
  children: ReactNode;
@@ -1,3 +1,4 @@
1
+ import { AppConfigProps } from '../../Pages/index';
1
2
  import { ResponseType } from '../../Common';
2
3
  import { CIMaterialInfoType, GetCITriggerInfoParamsType, AppEnvDeploymentConfigDTO, AppEnvDeploymentConfigPayloadType } from './app.types';
3
4
  export declare const getCITriggerInfo: (params: GetCITriggerInfoParamsType) => Promise<CIMaterialInfoType>;
@@ -5,8 +6,10 @@ export declare const getCITriggerInfo: (params: GetCITriggerInfoParamsType) => P
5
6
  * The only difference between this and getCITriggerInfo is it doesn't have env and trigger related meta info
6
7
  */
7
8
  export declare const getArtifactInfo: (params: Pick<GetCITriggerInfoParamsType, "ciArtifactId">) => Promise<CIMaterialInfoType>;
8
- export declare const getAppEnvDeploymentConfig: ({ params, signal, }: {
9
+ export declare const getAppEnvDeploymentConfig: ({ params, signal, isTemplateView, appId, }: {
9
10
  params: AppEnvDeploymentConfigPayloadType;
10
11
  signal?: AbortSignal;
12
+ isTemplateView: AppConfigProps["isTemplateView"];
13
+ appId: string | number | null;
11
14
  }) => Promise<ResponseType<AppEnvDeploymentConfigDTO>>;
12
15
  export declare const getCompareSecretsData: (params: AppEnvDeploymentConfigPayloadType[]) => Promise<AppEnvDeploymentConfigDTO[]>;
@@ -1,7 +1,8 @@
1
+ import { AppConfigProps } from '../../Pages/index';
1
2
  import { EnvironmentDataValuesDTO, GetPolicyApiUrlProps, GetResourceApiUrlProps, UpdatedUserPreferencesType, UserPreferencesType } from './types';
2
3
  export declare const getResourceApiUrl: <T>({ baseUrl, kind, version, suffix, queryParams }: GetResourceApiUrlProps<T>) => string;
3
4
  export declare const getPolicyApiUrl: <T>({ kind, version, queryParams, suffix }: GetPolicyApiUrlProps<T>) => string;
4
- export declare const saveCDPipeline: (request: any) => Promise<import('../../Common').ResponseType<any>>;
5
+ export declare const saveCDPipeline: (request: any, { isTemplateView }: Required<Pick<AppConfigProps, "isTemplateView">>) => Promise<import('../../Common').ResponseType<any>>;
5
6
  export declare const getEnvironmentData: () => Promise<import('../../Common').ResponseType<EnvironmentDataValuesDTO>>;
6
7
  export declare const getUserPreferences: () => Promise<UserPreferencesType>;
7
8
  export declare const updateUserPreferences: (updatedUserPreferences: UpdatedUserPreferencesType, shouldThrowError?: boolean) => Promise<boolean>;
@@ -4,3 +4,4 @@ export * from './app.service';
4
4
  export * from './common.service';
5
5
  export * from './ToastManager';
6
6
  export * from './utils';
7
+ export * from './template.service';
@@ -0,0 +1,2 @@
1
+ import { GetTemplateAPIRouteProps } from '../../Pages/index';
2
+ export declare const getTemplateAPIRoute: ({ type, queryParams: { id, ...restQueryParams } }: GetTemplateAPIRouteProps) => string;
@@ -408,6 +408,8 @@ export declare const DC_DELETE_SUBTITLES: {
408
408
  DELETE_ENVIRONMENT_SUBTITLE: string;
409
409
  DELETE_CLUSTER_SUBTITLES: string;
410
410
  };
411
+ export declare const EULA_LINK = "https://devtron.ai/end-user-license-agreement-eula";
412
+ export declare const CONTACT_SUPPORT_LINK = "https://share.hsforms.com/1Yp3bvPAaRCaHUEH5vtMjEQ4368n";
411
413
  export declare const enum DeleteComponentsName {
412
414
  Cluster = "cluster",
413
415
  Job = "job pipeline",
@@ -417,3 +419,4 @@ export declare const Routes: {
417
419
  CI_PIPELINE_PATCH: string;
418
420
  WORKFLOW: string;
419
421
  };
422
+ export declare const ENTERPRISE_SUPPORT_LINK = "enterprise@devtron.ai";
@@ -1,5 +1,6 @@
1
1
  import { Dayjs } from 'dayjs';
2
2
  import { APIOptions, ApprovalConfigDataType } from '../Common/Types';
3
+ import { ParsedCountry } from 'react-international-phone';
3
4
  import { OptionType, CommonNodeAttr, VulnerabilityType, DeploymentAppTypes, ServerErrors, SortingParams, TriggerBlockType, ValueConstraintType, VariableType, RefVariableType, PluginType } from '../Common';
4
5
  import { BASE_CONFIGURATION_ENV_ID, EnvironmentTypeEnum, PatchOperationType } from './constants';
5
6
  import { SelectPickerOptionType } from './Components';
@@ -875,4 +876,59 @@ export interface AppEnvIdType {
875
876
  appId: number;
876
877
  envId: number;
877
878
  }
879
+ export declare enum LicenseInfoDialogType {
880
+ ABOUT = "about",
881
+ LICENSE = "license",
882
+ UPDATE = "update"
883
+ }
884
+ export declare enum LicensingErrorCodes {
885
+ FingerPrintMisMatch = "11001",
886
+ LicenseExpired = "11002",
887
+ TamperedCertificate = "11003",
888
+ NoPublicKey = "11004",
889
+ InstallationModeMismatch = "11005",
890
+ LicKeyMismatch = "11006",
891
+ NoCertFound = "11007",
892
+ LicKeyNotFound = "11008"
893
+ }
894
+ export interface LicenseErrorStruct {
895
+ code: LicensingErrorCodes;
896
+ userMessage: string;
897
+ }
898
+ export interface DevtronLicenseBaseDTO {
899
+ fingerprint: string | null;
900
+ isTrial: boolean | null;
901
+ /**
902
+ * In timestamp format
903
+ */
904
+ expiry: string | null;
905
+ /**
906
+ * Can be negative, depicts time left in seconds for license to expire
907
+ */
908
+ ttl: number | null;
909
+ /**
910
+ * Show a reminder after these many DAYS left for license to expire, i.e,
911
+ * Show if `ttl` is less than `reminderThreshold` [converted to seconds]
912
+ */
913
+ reminderThreshold: number | null;
914
+ organisationMetadata: {
915
+ name: string | null;
916
+ domain: string | null;
917
+ } | null;
918
+ license: string | null;
919
+ }
920
+ export type DevtronLicenseDTO<isCentralDashboard extends boolean = false> = DevtronLicenseBaseDTO & (isCentralDashboard extends true ? {
921
+ claimedByUserDetails: {
922
+ firstName: string | null;
923
+ lastName: string | null;
924
+ email: string | null;
925
+ } | null;
926
+ showLicenseData?: never;
927
+ licenseStatusError?: never;
928
+ } : {
929
+ claimedByUserDetails?: never;
930
+ showLicenseData: boolean;
931
+ licenseStatusError?: LicenseErrorStruct;
932
+ });
933
+ export type CountryISO2Type = ParsedCountry['iso2'];
878
934
  export {};
@@ -17,6 +17,7 @@ export declare const MESSAGES: {
17
17
  INVALID_DATE: string;
18
18
  DATE_BEFORE_CURRENT_TIME: string;
19
19
  };
20
+ export declare const MAX_DESCRIPTION_LENGTH = 350;
20
21
  export declare const validateLabelValue: (value: string) => string[];
21
22
  export declare const validateLabelKey: (key: string, skipValidationIfSpecialPrefix?: boolean) => {
22
23
  isValid: boolean;