@devtron-labs/devtron-fe-common-lib 1.15.1-beta-4 → 1.15.1-beta-5

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 (75) hide show
  1. package/dist/{@code-editor-DEeHamFw.js → @code-editor-D3u1HU6g.js} +7789 -7910
  2. package/dist/{@common-rjsf-BVSiG4xg.js → @common-rjsf-BWZsX9t4.js} +230 -222
  3. package/dist/{@framer-motion-C5Xvz7Lq.js → @framer-motion-Dchiw-Rb.js} +1 -1
  4. package/dist/{@react-dates-B6q1sdbJ.js → @react-dates-D5kydtW-.js} +14 -14
  5. package/dist/{@react-select-LSvqtVJj.js → @react-select-Cmser7OI.js} +1 -1
  6. package/dist/{@react-virtualized-sticky-tree-BpJty95h.js → @react-virtualized-sticky-tree-DMnFy9PE.js} +1 -1
  7. package/dist/{@vendor-DC3JvJ9U.js → @vendor-STJ9h0oI.js} +9657 -9667
  8. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +11 -0
  9. package/dist/Common/Dialogs/Types.d.ts +17 -0
  10. package/dist/Common/Dialogs/index.d.ts +1 -0
  11. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +6 -0
  12. package/dist/Common/RJSF/widgets/Checkbox.d.ts +1 -1
  13. package/dist/Common/Toggle/Toggle.d.ts +18 -0
  14. package/dist/Common/Types.d.ts +43 -1
  15. package/dist/Common/index.d.ts +2 -0
  16. package/dist/Pages/ResourceBrowser/ResourceBrowser.Types.d.ts +46 -2
  17. package/dist/Pages/ResourceBrowser/constants.d.ts +2 -0
  18. package/dist/Pages/ResourceBrowser/service.d.ts +1 -1
  19. package/dist/Shared/Analytics/analytics.d.ts +0 -2
  20. package/dist/Shared/Components/Button/Button.component.d.ts +1 -1
  21. package/dist/Shared/Components/CICDHistory/DeploymentHistoryConfigDiff/utils.d.ts +1 -2
  22. package/dist/Shared/Components/CICDHistory/service.d.ts +7 -1
  23. package/dist/Shared/Components/CICDHistory/types.d.ts +18 -2
  24. package/dist/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiff.types.d.ts +1 -18
  25. package/dist/Shared/Components/DeploymentConfigDiff/index.d.ts +0 -1
  26. package/dist/Shared/Components/DocLink/types.d.ts +0 -1
  27. package/dist/Shared/Components/DocLink/utils.d.ts +1 -1
  28. package/dist/Shared/Components/Icon/Icon.d.ts +4 -9
  29. package/dist/Shared/Components/Popover/types.d.ts +0 -5
  30. package/dist/Shared/Components/Popover/usePopover.hook.d.ts +1 -1
  31. package/dist/Shared/Components/Switch/Switch.component.d.ts +1 -1
  32. package/dist/Shared/Components/Switch/types.d.ts +2 -11
  33. package/dist/Shared/Components/Switch/utils.d.ts +2 -2
  34. package/dist/Shared/Components/Textarea/Textarea.component.d.ts +1 -1
  35. package/dist/Shared/Components/Textarea/types.d.ts +1 -17
  36. package/dist/Shared/Components/ToggleResolveScopedVariables/ToggleResolveScopedVariables.component.d.ts +1 -1
  37. package/dist/Shared/Components/ToggleResolveScopedVariables/types.d.ts +1 -1
  38. package/dist/Shared/Components/index.d.ts +0 -2
  39. package/dist/Shared/Helpers.d.ts +2 -1
  40. package/dist/Shared/Providers/index.d.ts +0 -1
  41. package/dist/Shared/Providers/types.d.ts +12 -40
  42. package/dist/Shared/Services/app.types.d.ts +2 -7
  43. package/dist/Shared/constants.d.ts +1 -2
  44. package/dist/Shared/types.d.ts +4 -8
  45. package/dist/assets/@code-editor.css +1 -1
  46. package/dist/assets/@common-rjsf.css +1 -1
  47. package/dist/assets/ic-add.18a93616.svg +19 -0
  48. package/dist/assets/ic-container.92a4c33a.svg +3 -0
  49. package/dist/assets/ic-gavel.a3b064b5.svg +3 -0
  50. package/dist/assets/{ic-minus.416da21b.svg → ic-minus.aac464f7.svg} +1 -1
  51. package/dist/assets/ic-sparkle-color.01c0be88.svg +1 -0
  52. package/dist/assets/ic-speedometer.3ecaae3b.svg +3 -0
  53. package/dist/assets/ic-two-cubes.056d1333.svg +3 -0
  54. package/dist/index.d.ts +0 -7
  55. package/dist/index.js +773 -767
  56. package/package.json +3 -3
  57. package/dist/Shared/Components/DeploymentConfigDiff/DeploymentConfigDiffRadioSelect.d.ts +0 -7
  58. package/dist/Shared/Components/SwitchThemeDialog/SwitchThemeDialog.component.d.ts +0 -3
  59. package/dist/Shared/Components/SwitchThemeDialog/index.d.ts +0 -2
  60. package/dist/Shared/Components/SwitchThemeDialog/types.d.ts +0 -35
  61. package/dist/Shared/Components/Textarea/utils.d.ts +0 -5
  62. package/dist/Shared/Components/Typewriter/BlinkingCursor.d.ts +0 -1
  63. package/dist/Shared/Components/Typewriter/index.d.ts +0 -2
  64. package/dist/Shared/Components/Typewriter/useTypewriter.d.ts +0 -1
  65. package/dist/assets/ic-add.2d785695.svg +0 -3
  66. package/dist/assets/ic-asterisk.ab224e72.svg +0 -3
  67. package/dist/assets/ic-brain.838491eb.svg +0 -3
  68. package/dist/assets/ic-devtron-ai.535b45ec.svg +0 -287
  69. package/dist/assets/ic-folder-color.7cf84356.svg +0 -6
  70. package/dist/assets/ic-paper-plane.ad7e6d2f.svg +0 -3
  71. package/dist/assets/ic-sparkle-ai-color.d123b325.svg +0 -16
  72. package/dist/assets/ic-sparkle-color.a9722593.svg +0 -18
  73. package/dist/assets/ic-stop-fill.32ea653f.svg +0 -8
  74. package/dist/assets/ic-world-globe.877fa6a0.svg +0 -3
  75. /package/dist/assets/{ic-container.4e1e6455.svg → ic-container-registry.4e1e6455.svg} +0 -0
@@ -0,0 +1,11 @@
1
+ import { ConfirmationDialogBodyType, ConfirmationDialogButtonGroupType, ConfirmationDialogIconType, ConfirmationDialogType } from './Types';
2
+ /**
3
+ * @deprecated use confirmation modal instead
4
+ */
5
+ declare const ConfirmationDialog: {
6
+ ({ className, children, close }: ConfirmationDialogType): JSX.Element;
7
+ Icon: ({ src, className }: ConfirmationDialogIconType) => JSX.Element;
8
+ Body: ({ title, subtitle, children }: ConfirmationDialogBodyType) => JSX.Element;
9
+ ButtonGroup: ({ children }: ConfirmationDialogButtonGroupType) => JSX.Element;
10
+ };
11
+ export default ConfirmationDialog;
@@ -32,6 +32,23 @@ export interface ForceDeleteDialogType {
32
32
  forceDeleteDialogTitle: string;
33
33
  forceDeleteDialogMessage: string;
34
34
  }
35
+ export interface ConfirmationDialogType {
36
+ className?: string;
37
+ children: any;
38
+ close?: (e: any) => void;
39
+ }
40
+ export interface ConfirmationDialogIconType {
41
+ src: string;
42
+ className?: string;
43
+ }
44
+ export interface ConfirmationDialogBodyType {
45
+ title: string;
46
+ subtitle?: ReactNode;
47
+ children?: any;
48
+ }
49
+ export interface ConfirmationDialogButtonGroupType {
50
+ children: any;
51
+ }
35
52
  export interface DialogFormProps {
36
53
  className: string;
37
54
  title: string;
@@ -1 +1,2 @@
1
+ export { default as ConfirmationDialog } from './ConfirmationDialog';
1
2
  export * from './DialogForm';
@@ -0,0 +1,6 @@
1
+ import { InfoColourBarType } from '../Types';
2
+ /**
3
+ * @deprecated Use InfoBlock instead
4
+ */
5
+ declare const InfoColourBar: ({ message, classname, Icon, iconClass, iconSize, renderActionButton, linkText, redirectLink, linkOnClick, linkClass, internalLink, styles, hideIcon, textConfig, }: InfoColourBarType) => JSX.Element;
6
+ export default InfoColourBar;
@@ -1,2 +1,2 @@
1
1
  import { WidgetProps } from '@rjsf/utils';
2
- export declare const Checkbox: ({ id, onChange, value, disabled, readonly, autofocus, }: WidgetProps) => JSX.Element;
2
+ export declare const Checkbox: ({ id, onChange, value, required, disabled, readonly, autofocus, onBlur, onFocus, }: WidgetProps) => JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { CHECKBOX_VALUE } from '../Types';
2
+ declare const Toggle: ({ selected, onSelect, color, rootClassName, disabled, dataTestId, Icon, iconClass, throttleOnChange, shouldToggleValueOnLabelClick, isLoading, value, isControlled, ...props }: {
3
+ [x: string]: any;
4
+ selected?: boolean;
5
+ onSelect?: any;
6
+ color?: string;
7
+ rootClassName?: string;
8
+ disabled?: boolean;
9
+ dataTestId?: string;
10
+ Icon?: any;
11
+ iconClass?: string;
12
+ throttleOnChange?: boolean;
13
+ shouldToggleValueOnLabelClick?: boolean;
14
+ isLoading?: boolean;
15
+ value?: CHECKBOX_VALUE;
16
+ isControlled?: boolean;
17
+ }) => JSX.Element;
18
+ export default Toggle;
@@ -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, ComponentLayoutType, StatusType, DocLinkProps, DeploymentStrategyType } 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
@@ -162,6 +162,48 @@ export declare enum ImageType {
162
162
  Medium = "medium",
163
163
  SMALL = "small"
164
164
  }
165
+ interface InfoColourBarTextConfigType {
166
+ /**
167
+ * If given would be shown above the description, in bold
168
+ */
169
+ heading?: string;
170
+ /**
171
+ * If given would be shown below the heading (if given)
172
+ */
173
+ description: string;
174
+ actionButtonConfig?: ButtonProps;
175
+ }
176
+ type InfoColourBarMessageProp = {
177
+ message: ReactNode;
178
+ linkText?: ReactNode;
179
+ redirectLink?: string;
180
+ linkOnClick?: () => void;
181
+ linkClass?: string;
182
+ internalLink?: boolean;
183
+ textConfig?: never;
184
+ } | {
185
+ textConfig: InfoColourBarTextConfigType;
186
+ message?: never;
187
+ linkText?: never;
188
+ redirectLink?: never;
189
+ linkOnClick?: () => never;
190
+ linkClass?: never;
191
+ internalLink?: never;
192
+ };
193
+ export type InfoColourBarType = InfoColourBarMessageProp & {
194
+ classname: string;
195
+ Icon: any;
196
+ iconClass?: string;
197
+ iconSize?: number;
198
+ renderActionButton?: () => JSX.Element;
199
+ styles?: CSSProperties;
200
+ /**
201
+ * If true, the icon is not shown
202
+ *
203
+ * @default false
204
+ */
205
+ hideIcon?: boolean;
206
+ };
165
207
  export interface ReloadType {
166
208
  reload?: (event?: any) => void;
167
209
  className?: string;
@@ -25,6 +25,7 @@ export * from './Helper';
25
25
  export * from './Hooks';
26
26
  export * from './ImageTags';
27
27
  export * from './ImageTags.Types';
28
+ export { default as InfoColourBar } from './InfoColorBar/InfoColourbar';
28
29
  export * from './Markdown';
29
30
  export * from './Modals/Modal';
30
31
  export * from './Modals/VisibleModal';
@@ -46,5 +47,6 @@ export { default as Select } from './Select/Select';
46
47
  export * from './ServerError';
47
48
  export * from './SortableTableHeaderCell';
48
49
  export * from './TippyCustomized';
50
+ export { default as Toggle } from './Toggle/Toggle';
49
51
  export * from './Tooltip';
50
52
  export * from './Types';
@@ -1,4 +1,7 @@
1
- import { RefObject } from 'react';
1
+ import { Dispatch, RefObject, SetStateAction } from 'react';
2
+ import { GroupBase } from 'react-select';
3
+ import { ServerErrors } from '../../Common/ServerError';
4
+ import { SelectPickerOptionType } from '../../Shared/Components';
2
5
  import { Nodes, NodeType } from '../../Shared/types';
3
6
  export interface GVKType {
4
7
  Group: string;
@@ -34,14 +37,37 @@ export interface K8sResourceListPayloadType {
34
37
  filter?: string;
35
38
  k8sRequest: ResourceListPayloadK8sRequestType;
36
39
  }
40
+ export declare enum ResourceRecommenderHeaderType {
41
+ NAME = "name",
42
+ NAMESPACE = "namespace",
43
+ KIND = "kind",
44
+ API_VERSION = "apiVersion",
45
+ CONTAINER_NAME = "containerName",
46
+ CPU_REQUEST = "cpuRequest",
47
+ CPU_LIMIT = "cpuLimit",
48
+ MEMORY_REQUEST = "memoryRequest",
49
+ MEMORY_LIMIT = "memoryLimit"
50
+ }
51
+ export type ResourceRecommenderHeaderWithStringValue = Extract<ResourceRecommenderHeaderType, ResourceRecommenderHeaderType.NAME | ResourceRecommenderHeaderType.NAMESPACE | ResourceRecommenderHeaderType.KIND | ResourceRecommenderHeaderType.API_VERSION | ResourceRecommenderHeaderType.CONTAINER_NAME>;
52
+ export type ResourceRecommenderHeaderWithRecommendation = Extract<ResourceRecommenderHeaderType, ResourceRecommenderHeaderType.CPU_REQUEST | ResourceRecommenderHeaderType.CPU_LIMIT | ResourceRecommenderHeaderType.MEMORY_REQUEST | ResourceRecommenderHeaderType.MEMORY_LIMIT>;
37
53
  export type K8sResourceDetailDataType = {
38
54
  [key: string]: string | number | object | boolean;
55
+ additionalMetadata?: Partial<Record<ResourceRecommenderHeaderWithRecommendation, {
56
+ current: {
57
+ value: string | 'none';
58
+ } | null;
59
+ recommended: {
60
+ value: string | 'none';
61
+ } | null;
62
+ delta: number | null;
63
+ }>>;
39
64
  };
40
65
  export interface K8sResourceDetailType {
41
66
  headers: string[];
42
67
  data: K8sResourceDetailDataType[];
43
68
  }
44
69
  export interface BulkSelectionActionWidgetProps {
70
+ isResourceRecommendationView: boolean;
45
71
  count: number;
46
72
  handleOpenBulkDeleteModal: () => void;
47
73
  handleClearBulkSelection: () => void;
@@ -49,11 +75,12 @@ export interface BulkSelectionActionWidgetProps {
49
75
  handleOpenUncordonNodeModal: () => void;
50
76
  handleOpenDrainNodeModal: () => void;
51
77
  handleOpenRestartWorkloadModal: () => void;
78
+ handleOpenApplyResourceRecommendationModal: () => void;
52
79
  parentRef: RefObject<HTMLDivElement>;
53
80
  showBulkRestartOption: boolean;
54
81
  showNodeListingOptions: boolean;
55
82
  }
56
- export type RBBulkOperationType = 'restart' | 'delete' | 'cordon' | 'uncordon' | 'drain';
83
+ export type RBBulkOperationType = 'restart' | 'delete' | 'cordon' | 'uncordon' | 'drain' | 'applyResourceRecommendation';
57
84
  export interface CreateResourceRequestBodyType {
58
85
  appId: string;
59
86
  clusterId: number;
@@ -65,6 +92,7 @@ export interface CreateResourceRequestBodyType {
65
92
  export interface ResourceManifestDTO {
66
93
  manifestResponse: {
67
94
  manifest: Record<string, unknown>;
95
+ recommendedManifest?: Record<string, unknown>;
68
96
  };
69
97
  secretViewAccess: boolean;
70
98
  }
@@ -108,4 +136,20 @@ export interface NodeActionRequest {
108
136
  version: string;
109
137
  kind: string;
110
138
  }
139
+ export interface GVKOptionValueType {
140
+ kind: string;
141
+ apiVersion: string;
142
+ }
143
+ export interface GetResourceRecommenderResourceListPropsType {
144
+ resourceList: K8sResourceDetailType;
145
+ reloadResourceListData: () => void;
146
+ setShowAbsoluteValuesInResourceRecommender: Dispatch<SetStateAction<boolean>>;
147
+ showAbsoluteValuesInResourceRecommender: boolean;
148
+ gvkOptions: GroupBase<SelectPickerOptionType<GVKOptionValueType>>[];
149
+ areGVKOptionsLoading: boolean;
150
+ reloadGVKOptions: () => void;
151
+ gvkOptionsError: ServerErrors;
152
+ isResourceListLoading: boolean;
153
+ resourceListError: ServerErrors;
154
+ }
111
155
  export {};
@@ -50,3 +50,5 @@ export declare const NODE_DRAIN_OPTIONS_CHECKBOX_CONFIG: {
50
50
  infoText: string;
51
51
  label: string;
52
52
  }[];
53
+ export declare const GVK_FILTER_KIND_QUERY_PARAM_KEY = "gvkFilterKind";
54
+ export declare const GVK_FILTER_API_VERSION_QUERY_PARAM_KEY = "gvkFilterApiVersion";
@@ -2,7 +2,7 @@ import { APIOptions, ResponseType } from '../../Common/Types';
2
2
  import { CreateResourceDTO, CreateResourcePayload, K8sResourceDetailType, K8sResourceListPayloadType, NodeActionRequest, ResourceListPayloadType, ResourceType } from './ResourceBrowser.Types';
3
3
  import { ClusterDetail, NodeCordonRequest } from './types';
4
4
  export declare const getK8sResourceList: (resourceListPayload: K8sResourceListPayloadType, signal?: AbortSignal) => Promise<ResponseType<K8sResourceDetailType>>;
5
- export declare const createNewResource: (resourceListPayload: CreateResourcePayload) => Promise<ResponseType<CreateResourceDTO[]>>;
5
+ export declare const createNewResource: (resourceListPayload: CreateResourcePayload, abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType<CreateResourceDTO[]>>;
6
6
  export declare const deleteResource: (resourceListPayload: ResourceListPayloadType, abortControllerRef?: APIOptions["abortControllerRef"]) => Promise<ResponseType<ResourceType[]>>;
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>;
@@ -1,4 +1,2 @@
1
- import { UaEventOptions } from 'react-ga4/types/ga4';
2
1
  import { ServerAnalyticsEventType } from './types';
3
2
  export declare const handleSendAnalyticsEventToServer: (eventType: ServerAnalyticsEventType, preventLicenseRedirect?: boolean) => Promise<void>;
4
- export declare const handleAnalyticsEvent: ({ category, action }: Pick<UaEventOptions, "category" | "action">) => void;
@@ -63,5 +63,5 @@ import { ButtonComponentType, ButtonProps } from './types';
63
63
  * <Button icon={<ICCube />} ariaLabel="Label" />
64
64
  * ```
65
65
  */
66
- declare const Button: import('react').ForwardRefExoticComponent<ButtonProps<ButtonComponentType> & import('react').RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
66
+ declare const Button: <ComponentType extends ButtonComponentType>({ dataTestId, text, variant, size, style, fontWeight, startIcon, endIcon, disabled, isLoading, showTooltip, tooltipProps, icon, ariaLabel, showAriaLabelInTippy, fullWidth, isOpacityHoverChild, triggerAutoClickTimestamp, ...props }: ButtonProps<ComponentType>) => JSX.Element;
67
67
  export default Button;
@@ -1,5 +1,5 @@
1
1
  import { SelectPickerOptionType } from '@Shared/Components/SelectPicker';
2
- import { DeploymentHistorySingleValue, History } from '../types';
2
+ import { History } from '../types';
3
3
  import { DeploymentHistoryConfigDiffProps } from './types';
4
4
  export declare const getPipelineDeployments: (triggerHistory: DeploymentHistoryConfigDiffProps["triggerHistory"]) => History[];
5
5
  export declare const getPipelineDeploymentsWfrIds: ({ pipelineDeployments, wfrId, }: {
@@ -20,4 +20,3 @@ export declare const parseDeploymentHistoryDiffSearchParams: (compareWfrId: numb
20
20
  };
21
21
  export declare const isDeploymentHistoryConfigDiffNotFoundError: <T extends unknown>(res: PromiseSettledResult<T>) => boolean;
22
22
  export declare const getDeploymentHistoryConfigDiffError: <T extends unknown>(res: PromiseSettledResult<T>) => any;
23
- export declare const renderDetailedValue: (parentClassName: string, singleValue: DeploymentHistorySingleValue, dataTestId: string) => JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ResponseType } from '../../../Common';
2
- import { DeploymentHistoryDetail, DeploymentHistoryResult, DeploymentStatusDetailsResponse, ModuleConfigResponse, TriggerDetailsResponseType, TriggerHistoryParamsType } from './types';
2
+ import { DeploymentConfigurationsRes, DeploymentHistoryDetail, DeploymentHistoryDetailRes, DeploymentHistoryResult, DeploymentHistorySingleValue, DeploymentStatusDetailsResponse, HistoryDiffSelectorRes, ModuleConfigResponse, TriggerDetailsResponseType, TriggerHistoryParamsType } from './types';
3
3
  export declare function getTriggerDetails({ appId, envId, pipelineId, triggerId, fetchIdData, }: {
4
4
  appId: any;
5
5
  envId: any;
@@ -18,6 +18,12 @@ export declare function getManualSync(params: {
18
18
  appId: string;
19
19
  envId: string;
20
20
  }): Promise<ResponseType>;
21
+ export declare const getDeploymentHistoryList: (appId: string, pipelineId: string, triggerId: string) => Promise<DeploymentConfigurationsRes>;
22
+ export declare const getDeploymentHistoryDetail: (appId: string, pipelineId: string, id: string, historyComponent: string, historyComponentName: string) => Promise<DeploymentHistoryDetailRes>;
23
+ export declare const prepareDeploymentTemplateData: (rawData: any) => Record<string, DeploymentHistorySingleValue>;
24
+ export declare const preparePipelineConfigData: (rawData: any) => Record<string, DeploymentHistorySingleValue>;
25
+ export declare const prepareConfigMapAndSecretData: (rawData: any, type: string, historyData: DeploymentHistoryDetail, skipDecode?: boolean) => Record<string, DeploymentHistorySingleValue>;
21
26
  export declare const prepareHistoryData: (rawData: any, historyComponent: string, skipDecode?: boolean) => DeploymentHistoryDetail;
27
+ export declare const getDeploymentDiffSelector: (pipelineId: string, historyComponent: any, baseConfigurationId: any, historyComponentName: any) => Promise<HistoryDiffSelectorRes>;
22
28
  export declare const getTriggerHistory: ({ appId, envId, pagination, releaseId, showCurrentReleaseDeployments, }: TriggerHistoryParamsType) => Promise<Pick<DeploymentHistoryResult, "result">>;
23
29
  export declare const getModuleConfigured: (moduleName: string) => Promise<ModuleConfigResponse>;
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, MutableRefObject, ReactElement, ReactNode } from 'react';
2
2
  import { SupportedKeyboardKeysType } from '@Common/Hooks/UseRegisterShortcut/types';
3
- import { DeploymentAppTypes, FilterConditionsListType, ImageComment, OptionType, PaginationProps, PromotionApprovalMetadataType, ReleaseTag, ResponseType, TooltipProps, UserApprovalMetadataType, useScrollable } from '../../../Common';
3
+ import { DeploymentAppTypes, FilterConditionsListType, ImageComment, OptionType, PaginationProps, PromotionApprovalMetadataType, ReleaseTag, ResponseType, UserApprovalMetadataType, useScrollable } from '../../../Common';
4
4
  import { DeploymentStageType } from '../../constants';
5
5
  import { AggregationKeys, AppDetails, DeploymentStatusDetailsBreakdownDataType, DeploymentStatusDetailsType, DeploymentStatusTimelineType, DeploymentStrategyType, GitTriggers, Node, NodeType, ResourceKindType, ResourceVersionType, TargetPlatformsDTO } from '../../types';
6
6
  import { TargetPlatformBadgeListProps } from '../TargetPlatforms';
@@ -408,12 +408,14 @@ export interface DeploymentStatusDetailRowType extends Pick<DeploymentStatusDeta
408
408
  hideVerticalConnector?: boolean;
409
409
  deploymentDetailedData: DeploymentStatusDetailsBreakdownDataType;
410
410
  }
411
+ export interface DeploymentConfigurationsRes extends ResponseType {
412
+ result?: DeploymentTemplateList[];
413
+ }
411
414
  export interface DeploymentHistorySingleValue {
412
415
  displayName: string;
413
416
  value: string;
414
417
  variableSnapshot?: object;
415
418
  resolvedValue?: string;
416
- tooltipContent?: TooltipProps['content'];
417
419
  }
418
420
  export interface DeploymentHistoryDetail {
419
421
  componentName?: string;
@@ -426,6 +428,20 @@ export interface DeploymentTemplateHistoryType {
426
428
  previousConfigAvailable: boolean;
427
429
  rootClassName?: string;
428
430
  }
431
+ export interface DeploymentHistoryDetailRes extends ResponseType {
432
+ result?: DeploymentHistoryDetail;
433
+ }
434
+ export interface HistoryDiffSelectorList {
435
+ id: number;
436
+ deployedOn: string;
437
+ deployedBy: string;
438
+ deploymentStatus: string;
439
+ wfrId?: number;
440
+ runSource?: RunSourceType;
441
+ }
442
+ export interface HistoryDiffSelectorRes {
443
+ result?: HistoryDiffSelectorList[];
444
+ }
429
445
  export interface DeploymentHistorySidebarType {
430
446
  deploymentHistoryList: DeploymentTemplateList[];
431
447
  setDeploymentHistoryList: React.Dispatch<React.SetStateAction<DeploymentTemplateList[]>>;
@@ -1,11 +1,10 @@
1
1
  import { SortingOrder } from '../../../Common/Constants';
2
- import { RadioGroupItemProps, RadioGroupProps } from '../../../Common/Types';
3
2
  import { AppEnvDeploymentConfigDTO, ConfigMapSecretDataConfigDatumDTO, DeploymentTemplateDTO, EnvResourceType, TemplateListDTO } from '../../Services';
4
3
  import { ManifestTemplateDTO } from '../../../Pages/Applications';
5
4
  import { DeploymentHistoryDetail } from '../CICDHistory';
6
5
  import { CollapseProps } from '../Collapse';
7
6
  import { CollapsibleListConfig, CollapsibleListItem } from '../CollapsibleList';
8
- import { SelectPickerOptionType, SelectPickerProps } from '../SelectPicker';
7
+ import { SelectPickerProps } from '../SelectPicker';
9
8
  export declare enum DeploymentConfigDiffState {
10
9
  NO_DIFF = "noDiff",
11
10
  HAS_DIFF = "hasDiff",
@@ -27,15 +26,6 @@ export interface DeploymentConfigListItem {
27
26
  singleView?: boolean;
28
27
  groupHeader?: string;
29
28
  }
30
- interface DeploymentConfigDiffRadioConfig extends Pick<RadioGroupProps, 'name' | 'onChange'> {
31
- title: string;
32
- options: (Pick<RadioGroupItemProps, 'disabled'> & Pick<SelectPickerOptionType<string>, 'label' | 'value' | 'description' | 'tooltipProps'>)[];
33
- groupValue: string;
34
- }
35
- export interface DeploymentConfigDiffRadioSelectConfig {
36
- triggerElementTitle: string;
37
- radioGroupConfig: DeploymentConfigDiffRadioConfig[];
38
- }
39
29
  export type DeploymentConfigDiffSelectPickerProps = {
40
30
  type: 'string';
41
31
  id: string;
@@ -46,12 +36,6 @@ export type DeploymentConfigDiffSelectPickerProps = {
46
36
  id: string;
47
37
  text?: never;
48
38
  selectPickerProps: SelectPickerProps;
49
- } | {
50
- type: 'radio-group';
51
- id: string;
52
- text?: never;
53
- radioSelectConfig: DeploymentConfigDiffRadioSelectConfig;
54
- selectPickerProps?: never;
55
39
  };
56
40
  export interface DeploymentConfigDiffNavigationItem extends Pick<CollapsibleListItem<'navLink'>, 'href' | 'title' | 'onClick'> {
57
41
  Icon?: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
@@ -131,4 +115,3 @@ export type AppEnvDeploymentConfigListParams<IsManifestView> = (IsManifestView e
131
115
  isManifestView?: IsManifestView;
132
116
  convertVariables?: boolean;
133
117
  };
134
- export {};
@@ -2,4 +2,3 @@ export * from './DeploymentConfigDiff.component';
2
2
  export * from './DeploymentConfigDiff.constants';
3
3
  export * from './DeploymentConfigDiff.types';
4
4
  export * from './DeploymentConfigDiff.utils';
5
- export { default as DeploymentConfigDiffRadioSelect } from './DeploymentConfigDiffRadioSelect';
@@ -4,7 +4,6 @@ import { DOCUMENTATION } from './constants';
4
4
  export type BaseDocLink<T extends boolean> = {
5
5
  isExternalLink?: T;
6
6
  isEnterprise?: boolean;
7
- isLicenseDashboard?: boolean;
8
7
  docLinkKey: T extends true ? string : keyof typeof DOCUMENTATION;
9
8
  };
10
9
  export type DocLinkProps<T extends boolean = false> = Pick<ButtonProps<ButtonComponentType.anchor>, 'dataTestId' | 'size' | 'variant' | 'fullWidth' | 'fontWeight' | 'startIcon'> & Omit<BaseDocLink<T>, 'isEnterprise'> & {
@@ -1,2 +1,2 @@
1
1
  import { BaseDocLink } from './types';
2
- export declare const getDocumentationUrl: <T extends boolean = false>({ docLinkKey, isEnterprise, isExternalLink, isLicenseDashboard, }: BaseDocLink<T>) => string;
2
+ export declare const getDocumentationUrl: <T extends boolean = false>({ docLinkKey, isEnterprise, isExternalLink, }: BaseDocLink<T>) => string;
@@ -12,7 +12,6 @@ export declare const iconMap: {
12
12
  'ic-arrow-square-out': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
13
13
  'ic-arrows-clockwise': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
14
14
  'ic-arrows-left-right': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
15
- 'ic-asterisk': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
16
15
  'ic-ather': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
17
16
  'ic-azure-aks': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
18
17
  'ic-azure': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -20,7 +19,6 @@ export declare const iconMap: {
20
19
  'ic-bharatpe': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
21
20
  'ic-bitbucket': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
22
21
  'ic-book-open': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
23
- 'ic-brain': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
24
22
  'ic-browser': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
23
  'ic-build-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
26
24
  'ic-calendar': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -43,6 +41,7 @@ export declare const iconMap: {
43
41
  'ic-cloud-vms': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
44
42
  'ic-cluster': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
45
43
  'ic-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
44
+ 'ic-container-registry': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
46
45
  'ic-container': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
47
46
  'ic-cookr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
48
47
  'ic-copy': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -53,7 +52,6 @@ export declare const iconMap: {
53
52
  'ic-delete-lightning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
54
53
  'ic-delete': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
55
54
  'ic-delhivery': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
56
- 'ic-devtron-ai': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
57
55
  'ic-devtron-app': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
58
56
  'ic-devtron-header-logo': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
59
57
  'ic-devtron-job': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -79,8 +77,8 @@ export declare const iconMap: {
79
77
  'ic-filter-applied': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
80
78
  'ic-filter': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
81
79
  'ic-flask': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
82
- 'ic-folder-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
83
80
  'ic-folder-user': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
81
+ 'ic-gavel': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
84
82
  'ic-gear': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
85
83
  'ic-gift-gradient': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
86
84
  'ic-gift': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -139,7 +137,6 @@ export declare const iconMap: {
139
137
  'ic-openshift': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
140
138
  'ic-out-of-sync': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
141
139
  'ic-paper-plane-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
142
- 'ic-paper-plane': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
143
140
  'ic-path': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
144
141
  'ic-pencil': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
145
142
  'ic-play-outline': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -153,13 +150,12 @@ export declare const iconMap: {
153
150
  'ic-sort-ascending': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
154
151
  'ic-sort-descending': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
155
152
  'ic-sortable': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
156
- 'ic-sparkle-ai-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
157
153
  'ic-sparkle-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
154
+ 'ic-speedometer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
158
155
  'ic-spinny': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
159
156
  'ic-spray-can': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
160
157
  'ic-stack': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
161
158
  'ic-stamp': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
162
- 'ic-stop-fill': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
163
159
  'ic-strategy-blue-green-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
164
160
  'ic-strategy-blue-green': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
165
161
  'ic-strategy-canary-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -181,15 +177,14 @@ export declare const iconMap: {
181
177
  'ic-timer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
182
178
  'ic-traffic-signal': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
183
179
  'ic-travclan': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
180
+ 'ic-two-cubes': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
184
181
  'ic-ubuntu': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
185
182
  'ic-unknown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
186
183
  'ic-user-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
187
184
  'ic-user-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
188
185
  'ic-users': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
189
- 'ic-view-variable-toggle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
190
186
  'ic-warning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
191
187
  'ic-wifi-slash': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
192
- 'ic-world-globe': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
193
188
  };
194
189
  export type IconName = keyof typeof iconMap;
195
190
  export interface IconsProps extends Omit<IconBaseProps, 'name' | 'iconMap'> {
@@ -50,11 +50,6 @@ export interface UsePopoverProps {
50
50
  * @param closePopover - A function to close the popover.
51
51
  */
52
52
  onPopoverKeyDown?: (e: KeyboardEvent, openState: boolean, closePopover: () => void) => void;
53
- /**
54
- * Variant of the popover (bg, shadow and styles changes based on variant)
55
- * @default 'menu'
56
- */
57
- variant?: 'menu' | 'overlay';
58
53
  }
59
54
  /**
60
55
  * Represents the return type of the `usePopover` hook, providing properties and methods
@@ -1,2 +1,2 @@
1
1
  import { UsePopoverProps, UsePopoverReturnType } from './types';
2
- export declare const usePopover: ({ id, position, alignment, width, variant, onOpen, onPopoverKeyDown, onTriggerKeyDown, }: UsePopoverProps) => UsePopoverReturnType;
2
+ export declare const usePopover: ({ id, position, alignment, width, onOpen, onPopoverKeyDown, onTriggerKeyDown, }: UsePopoverProps) => UsePopoverReturnType;
@@ -1,3 +1,3 @@
1
1
  import { DTSwitchProps } from './types';
2
- declare const Switch: ({ ariaLabel, isDisabled, isLoading, isChecked, tooltipContent, shape, variant, iconColor, iconName, indeterminate, size, name, dataTestId, onChange, autoFocus, }: DTSwitchProps) => JSX.Element;
2
+ declare const Switch: ({ ariaLabel, isDisabled, isLoading, isChecked, tooltipContent, shape, variant, iconColor, iconName, indeterminate, size, name, onChange, }: DTSwitchProps) => JSX.Element;
3
3
  export default Switch;
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes, ReactNode } from 'react';
1
+ import { ButtonHTMLAttributes } from 'react';
2
2
  import { ComponentSizeType } from '../../constants';
3
3
  import { IconBaseColorType } from '../../types';
4
4
  import { IconName } from '../Icon';
@@ -64,10 +64,6 @@ export type DTSwitchProps = {
64
64
  * Used in forms to identify the switch.
65
65
  */
66
66
  name: string;
67
- /**
68
- * Provide if name generated through `getUniqueId`.
69
- */
70
- dataTestId?: string;
71
67
  /**
72
68
  * The visual variant of the switch.
73
69
  *
@@ -101,11 +97,6 @@ export type DTSwitchProps = {
101
97
  *
102
98
  * @default undefined
103
99
  */
104
- tooltipContent?: ReactNode;
105
- /**
106
- * Indicates whether the switch should be focused automatically when rendered.
107
- * @default false
108
- */
109
- autoFocus?: boolean;
100
+ tooltipContent?: string;
110
101
  } & SwitchShapeProps;
111
102
  export {};
@@ -3,10 +3,10 @@ import { ROUNDED_SWITCH_TRACK_HOVER_COLOR_MAP } from './constants';
3
3
  import { DTSwitchProps } from './types';
4
4
  export declare const getSwitchContainerClass: ({ shape, size }: Required<Pick<DTSwitchProps, "shape" | "size">>) => string;
5
5
  export declare const getSwitchTrackColor: ({ shape, variant, isChecked, isLoading, }: Required<Pick<DTSwitchProps, "shape" | "variant" | "isChecked" | "isLoading">>) => string;
6
- export declare const getSwitchTrackHoverColor: ({ shape, variant, isChecked, isLoading, }: Required<Pick<DTSwitchProps, "shape" | "variant" | "isChecked" | "isLoading">>) => (typeof ROUNDED_SWITCH_TRACK_HOVER_COLOR_MAP)[DTSwitchProps["variant"]] | "transparent";
6
+ export declare const getSwitchTrackHoverColor: ({ shape, variant, isChecked, }: Required<Pick<DTSwitchProps, "shape" | "variant" | "isChecked">>) => (typeof ROUNDED_SWITCH_TRACK_HOVER_COLOR_MAP)[DTSwitchProps["variant"]];
7
7
  export declare const getSwitchThumbClass: ({ shape, size, showIndeterminateIcon, }: Pick<DTSwitchProps, "shape" | "size"> & {
8
8
  showIndeterminateIcon: boolean;
9
9
  }) => string;
10
10
  export declare const getSwitchIconColor: ({ iconColor, isChecked, variant, }: Pick<DTSwitchProps, "iconColor" | "isChecked" | "variant">) => IconBaseColorType;
11
- export declare const getThumbPosition: ({ isChecked, size, shape, indeterminate, isLoading, }: Required<Pick<DTSwitchProps, "isChecked" | "size" | "shape" | "indeterminate" | "isLoading">>) => number;
11
+ export declare const getThumbPosition: ({ isLoading, isChecked, }: Pick<DTSwitchProps, "isLoading" | "isChecked">) => "left" | "right" | "center";
12
12
  export declare const getThumbPadding: ({ shape, isLoading }: Pick<DTSwitchProps, "shape" | "isLoading">) => string;
@@ -1,3 +1,3 @@
1
1
  import { TextareaProps } from './types';
2
- declare const Textarea: ({ name, label, textareaRef: textareaRefProp, fullWidth, error, helperText, warningText, layout, required, onBlur, shouldTrim, size, ariaLabel, borderRadiusConfig, labelTooltipConfig, labelTippyCustomizedConfig, hideFormFieldInfo, value, borderConfig, disableResize, newlineOnShiftEnter, ...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;
@@ -13,25 +13,9 @@ export interface TextareaProps extends Omit<FormFieldWrapperProps, 'children' |
13
13
  *
14
14
  * @default ComponentSizeType.large
15
15
  */
16
- size?: Extract<ComponentSizeType, ComponentSizeType.small | ComponentSizeType.medium | ComponentSizeType.large>;
16
+ size?: Extract<ComponentSizeType, ComponentSizeType.medium | ComponentSizeType.large>;
17
17
  /**
18
18
  * Value of the textarea
19
19
  */
20
20
  value: string;
21
- /**
22
- * If true, the textarea resize is disabled
23
- *
24
- * @default false
25
- */
26
- disableResize?: true;
27
- /**
28
- * Allows inserting a newline with Shift + Enter instead of Enter alone.
29
- *
30
- * When enabled, pressing Enter submits the form, while Shift + Enter inserts a newline.
31
- * Useful for forms where Enter should trigger submission, but multiline input is still needed.
32
- *
33
- * @default false
34
- */
35
- newlineOnShiftEnter?: boolean;
36
- textareaRef?: React.MutableRefObject<HTMLTextAreaElement> | React.RefCallback<HTMLTextAreaElement>;
37
21
  }
@@ -1,3 +1,3 @@
1
1
  import { ToggleResolveScopedVariablesProps } from './types';
2
- declare const ToggleResolveScopedVariables: ({ name, resolveScopedVariables, handleToggleScopedVariablesView, isDisabled, showTooltip, }: ToggleResolveScopedVariablesProps) => JSX.Element;
2
+ declare const ToggleResolveScopedVariables: ({ resolveScopedVariables, handleToggleScopedVariablesView, isDisabled, showTooltip, throttleOnChange, }: ToggleResolveScopedVariablesProps) => JSX.Element;
3
3
  export default ToggleResolveScopedVariables;
@@ -1,5 +1,4 @@
1
1
  export interface ToggleResolveScopedVariablesProps {
2
- name: string;
3
2
  resolveScopedVariables: boolean;
4
3
  handleToggleScopedVariablesView: () => void;
5
4
  isDisabled?: boolean;
@@ -7,4 +6,5 @@ export interface ToggleResolveScopedVariablesProps {
7
6
  * @default true
8
7
  */
9
8
  showTooltip?: boolean;
9
+ throttleOnChange?: boolean;
10
10
  }