@devtron-labs/devtron-fe-common-lib 1.16.0-beta-5 → 1.16.0-beta-6

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.
@@ -1,7 +1,7 @@
1
1
  import { j as n, at as b, av as k, au as W } from "./@vendor-DbxoIktR.js";
2
2
  import V, { forwardRef as J, useMemo as P } from "react";
3
3
  import K, { getDefaultRegistry as q } from "@rjsf/core";
4
- import { T as F, j as N, c as v, b as S, S as Y, i as z, a as w, d as A, e as G } from "./@code-editor-b_sdr086.js";
4
+ import { T as F, j as N, c as v, b as S, S as Y, i as z, a as w, d as A, e as G } from "./@code-editor-uOMc_BUW.js";
5
5
  import Q, { components as D } from "react-select";
6
6
  import { ReactComponent as X } from "./assets/ic-chevron-down.fc70d7a7.svg";
7
7
  import { getUiOptions as $, getTemplate as B, getSubmitButtonOptions as Z, ADDITIONAL_PROPERTY_FLAG as L, errorId as ee, englishStringTranslator as te, TranslatableString as ne, titleId as re, canExpand as ae, deepEquals as se } from "@rjsf/utils";
@@ -1,2 +1,3 @@
1
+ export { URL_FILTER_KEYS } from './constants';
1
2
  export type { UseUrlFiltersProps, UseUrlFiltersReturnType } from './types';
2
3
  export { default as useUrlFilters } from './useUrlFilters';
@@ -1,8 +1,7 @@
1
- import { default as React } from 'react';
2
1
  import { PopupMenuBodyType, PopupMenuButtonType, PopupMenuType } from './Types';
3
2
  declare const PopupMenu: {
4
3
  ({ children, onToggleCallback, autoClose, autoPosition, shouldPreventDefault, }: PopupMenuType): any;
5
- Button: React.ForwardRefExoticComponent<PopupMenuButtonType & React.RefAttributes<unknown>>;
4
+ Button: ({ children, disabled, rootClassName, tabIndex, onHover, isKebab, dataTestId, }: PopupMenuButtonType) => JSX.Element;
6
5
  Body: ({ children, rootClassName, style, autoWidth, preventWheelDisable, noBackDrop, }: PopupMenuBodyType) => JSX.Element;
7
6
  };
8
7
  export default PopupMenu;
@@ -1,7 +1,4 @@
1
- import { Dispatch, ReactNode, RefObject, SetStateAction } from 'react';
2
- import { GroupBase } from 'react-select';
3
- import { ServerErrors } from '../../Common/ServerError';
4
- import { SelectPickerOptionType } from '../../Shared/Components';
1
+ import { ReactNode, RefObject } from 'react';
5
2
  import { Nodes, NodeType } from '../../Shared/types';
6
3
  export interface GVKType {
7
4
  Group: string;
@@ -140,14 +137,6 @@ export interface GVKOptionValueType {
140
137
  kind: string;
141
138
  apiVersion: string;
142
139
  }
143
- export interface GetResourceRecommenderResourceListPropsType {
144
- setShowAbsoluteValuesInResourceRecommender: Dispatch<SetStateAction<boolean>>;
145
- showAbsoluteValuesInResourceRecommender: boolean;
146
- gvkOptions: GroupBase<SelectPickerOptionType<GVKOptionValueType>>[];
147
- areGVKOptionsLoading: boolean;
148
- reloadGVKOptions: () => void;
149
- gvkOptionsError: ServerErrors;
150
- }
151
140
  export interface ResourceRecommenderActionMenuProps {
152
141
  children: ReactNode;
153
142
  lastScannedOn: string;
@@ -52,3 +52,15 @@ export declare const NODE_DRAIN_OPTIONS_CHECKBOX_CONFIG: {
52
52
  }[];
53
53
  export declare const GVK_FILTER_KIND_QUERY_PARAM_KEY = "gvkFilterKind";
54
54
  export declare const GVK_FILTER_API_VERSION_QUERY_PARAM_KEY = "gvkFilterApiVersion";
55
+ export declare const DUMMY_RESOURCE_GVK_VERSION = "v1";
56
+ export declare const RESOURCE_BROWSER_ROUTES: {
57
+ readonly OVERVIEW: "/resource-browser/:clusterId/overview";
58
+ readonly MONITORING_DASHBOARD: "/resource-browser/:clusterId/monitoring-dashboard";
59
+ readonly TERMINAL: "/resource-browser/:clusterId/terminal";
60
+ readonly CLUSTER_UPGRADE: "/resource-browser/:clusterId/cluster-upgrade";
61
+ readonly NODE_DETAIL: "/resource-browser/:clusterId/node/:name";
62
+ readonly K8S_RESOURCE_DETAIL: "/resource-browser/:clusterId/:namespace/:kind/:group/:version/:name";
63
+ readonly K8S_RESOURCE_LIST: "/resource-browser/:clusterId/:kind/:group/:version";
64
+ readonly RESOURCE_RECOMMENDER: "/resource-browser/:clusterId/resource-recommender";
65
+ };
66
+ export declare const K8S_EMPTY_GROUP = "k8sEmptyGroup";
@@ -113,4 +113,21 @@ export interface InstallationClusterConfigType extends Pick<InstallationClusterC
113
113
  status: InstallationClusterStatus;
114
114
  correspondingClusterId: number | 0;
115
115
  }
116
+ export declare enum NodeActionMenuOptionIdEnum {
117
+ terminal = "terminal",
118
+ cordon = "cordon",
119
+ uncordon = "uncordon",
120
+ drain = "drain",
121
+ editTaints = "edit-taints",
122
+ editYaml = "edit-yaml",
123
+ delete = "delete"
124
+ }
125
+ export declare enum ResourceBrowserActionMenuEnum {
126
+ manifest = "manifest",
127
+ events = "events",
128
+ logs = "logs",
129
+ terminal = "terminal",
130
+ delete = "delete",
131
+ vulnerability = "vulnerability"
132
+ }
116
133
  export {};
@@ -33,6 +33,9 @@ export interface BulkSelectionProps {
33
33
  */
34
34
  showChevronDownIcon?: boolean;
35
35
  disabled?: boolean;
36
+ /**
37
+ * If true, pressing the checkbox will select all items on page if list is not paginated
38
+ */
36
39
  selectAllIfNotPaginated?: boolean;
37
40
  }
38
41
  export declare enum SelectAllDialogStatus {
@@ -1,4 +1,6 @@
1
- import { ButtonComponentType, ButtonProps } from './types';
1
+ import { TooltipProps } from '../../../Common/Tooltip';
2
+ import { ComponentSizeType } from '../../constants';
3
+ import { ButtonComponentType, ButtonStyleType, ButtonVariantType } from './types';
2
4
  /**
3
5
  * Generic component for Button.
4
6
  * Should be used in combination of variant, size and style.
@@ -63,5 +65,377 @@ import { ButtonComponentType, ButtonProps } from './types';
63
65
  * <Button icon={<ICCube />} ariaLabel="Label" />
64
66
  * ```
65
67
  */
66
- declare const Button: import('react').ForwardRefExoticComponent<ButtonProps<ButtonComponentType> & import('react').RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
68
+ declare const Button: import('react').ForwardRefExoticComponent<(Pick<{
69
+ ref?: import('react').Ref<HTMLAnchorElement>;
70
+ component: ButtonComponentType.anchor;
71
+ linkProps?: never;
72
+ buttonProps?: never;
73
+ anchorProps: Omit<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, "children" | "styles" | "className" | "onClick">;
74
+ onClick?: import('react').AnchorHTMLAttributes<HTMLAnchorElement>["onClick"];
75
+ } & {
76
+ variant?: ButtonVariantType;
77
+ size?: ComponentSizeType;
78
+ style?: ButtonStyleType;
79
+ isLoading?: boolean;
80
+ dataTestId: string;
81
+ disabled?: boolean;
82
+ fullWidth?: boolean;
83
+ isOpacityHoverChild?: boolean;
84
+ triggerAutoClickTimestamp?: number | null;
85
+ } & {
86
+ showTooltip?: boolean;
87
+ tooltipProps: Omit<Extract<TooltipProps, {
88
+ alwaysShowTippyOnHover: boolean;
89
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
90
+ alwaysShowTippyOnHover?: boolean;
91
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
92
+ alwaysShowTippyOnHover?: never;
93
+ }>, "alwaysShowTippyOnHover">;
94
+ } & {
95
+ icon?: never;
96
+ ariaLabel?: never;
97
+ showAriaLabelInTippy?: never;
98
+ text: string;
99
+ startIcon?: import('react').ReactElement;
100
+ endIcon?: import('react').ReactElement;
101
+ fontWeight?: "bold" | "normal";
102
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
103
+ ref?: import('react').Ref<HTMLAnchorElement>;
104
+ component: ButtonComponentType.anchor;
105
+ linkProps?: never;
106
+ buttonProps?: never;
107
+ anchorProps: Omit<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, "children" | "styles" | "className" | "onClick">;
108
+ onClick?: import('react').AnchorHTMLAttributes<HTMLAnchorElement>["onClick"];
109
+ } & {
110
+ variant?: ButtonVariantType;
111
+ size?: ComponentSizeType;
112
+ style?: ButtonStyleType;
113
+ isLoading?: boolean;
114
+ dataTestId: string;
115
+ disabled?: boolean;
116
+ fullWidth?: boolean;
117
+ isOpacityHoverChild?: boolean;
118
+ triggerAutoClickTimestamp?: number | null;
119
+ } & {
120
+ showTooltip?: boolean;
121
+ tooltipProps: Omit<Extract<TooltipProps, {
122
+ alwaysShowTippyOnHover: boolean;
123
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
124
+ alwaysShowTippyOnHover?: boolean;
125
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
126
+ alwaysShowTippyOnHover?: never;
127
+ }>, "alwaysShowTippyOnHover">;
128
+ } & {
129
+ icon: import('react').ReactElement;
130
+ showAriaLabelInTippy?: boolean;
131
+ ariaLabel: string;
132
+ text?: never;
133
+ startIcon?: never;
134
+ endIcon?: never;
135
+ fontWeight?: never;
136
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
137
+ ref?: import('react').Ref<HTMLAnchorElement>;
138
+ component: ButtonComponentType.anchor;
139
+ linkProps?: never;
140
+ buttonProps?: never;
141
+ anchorProps: Omit<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, "children" | "styles" | "className" | "onClick">;
142
+ onClick?: import('react').AnchorHTMLAttributes<HTMLAnchorElement>["onClick"];
143
+ } & {
144
+ variant?: ButtonVariantType;
145
+ size?: ComponentSizeType;
146
+ style?: ButtonStyleType;
147
+ isLoading?: boolean;
148
+ dataTestId: string;
149
+ disabled?: boolean;
150
+ fullWidth?: boolean;
151
+ isOpacityHoverChild?: boolean;
152
+ triggerAutoClickTimestamp?: number | null;
153
+ } & {
154
+ showTooltip?: never;
155
+ tooltipProps?: never;
156
+ } & {
157
+ icon?: never;
158
+ ariaLabel?: never;
159
+ showAriaLabelInTippy?: never;
160
+ text: string;
161
+ startIcon?: import('react').ReactElement;
162
+ endIcon?: import('react').ReactElement;
163
+ fontWeight?: "bold" | "normal";
164
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
165
+ ref?: import('react').Ref<HTMLAnchorElement>;
166
+ component: ButtonComponentType.anchor;
167
+ linkProps?: never;
168
+ buttonProps?: never;
169
+ anchorProps: Omit<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, "children" | "styles" | "className" | "onClick">;
170
+ onClick?: import('react').AnchorHTMLAttributes<HTMLAnchorElement>["onClick"];
171
+ } & {
172
+ variant?: ButtonVariantType;
173
+ size?: ComponentSizeType;
174
+ style?: ButtonStyleType;
175
+ isLoading?: boolean;
176
+ dataTestId: string;
177
+ disabled?: boolean;
178
+ fullWidth?: boolean;
179
+ isOpacityHoverChild?: boolean;
180
+ triggerAutoClickTimestamp?: number | null;
181
+ } & {
182
+ showTooltip?: never;
183
+ tooltipProps?: never;
184
+ } & {
185
+ icon: import('react').ReactElement;
186
+ showAriaLabelInTippy?: boolean;
187
+ ariaLabel: string;
188
+ text?: never;
189
+ startIcon?: never;
190
+ endIcon?: never;
191
+ fontWeight?: never;
192
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
193
+ ref?: import('react').Ref<HTMLButtonElement>;
194
+ component?: ButtonComponentType.button;
195
+ buttonProps?: Omit<import('react').ButtonHTMLAttributes<HTMLButtonElement>, "children" | "styles" | "className" | "disabled" | "onClick">;
196
+ linkProps?: never;
197
+ anchorProps?: never;
198
+ onClick?: import('react').ButtonHTMLAttributes<HTMLButtonElement>["onClick"];
199
+ } & {
200
+ variant?: ButtonVariantType;
201
+ size?: ComponentSizeType;
202
+ style?: ButtonStyleType;
203
+ isLoading?: boolean;
204
+ dataTestId: string;
205
+ disabled?: boolean;
206
+ fullWidth?: boolean;
207
+ isOpacityHoverChild?: boolean;
208
+ triggerAutoClickTimestamp?: number | null;
209
+ } & {
210
+ showTooltip?: boolean;
211
+ tooltipProps: Omit<Extract<TooltipProps, {
212
+ alwaysShowTippyOnHover: boolean;
213
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
214
+ alwaysShowTippyOnHover?: boolean;
215
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
216
+ alwaysShowTippyOnHover?: never;
217
+ }>, "alwaysShowTippyOnHover">;
218
+ } & {
219
+ icon?: never;
220
+ ariaLabel?: never;
221
+ showAriaLabelInTippy?: never;
222
+ text: string;
223
+ startIcon?: import('react').ReactElement;
224
+ endIcon?: import('react').ReactElement;
225
+ fontWeight?: "bold" | "normal";
226
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
227
+ ref?: import('react').Ref<HTMLButtonElement>;
228
+ component?: ButtonComponentType.button;
229
+ buttonProps?: Omit<import('react').ButtonHTMLAttributes<HTMLButtonElement>, "children" | "styles" | "className" | "disabled" | "onClick">;
230
+ linkProps?: never;
231
+ anchorProps?: never;
232
+ onClick?: import('react').ButtonHTMLAttributes<HTMLButtonElement>["onClick"];
233
+ } & {
234
+ variant?: ButtonVariantType;
235
+ size?: ComponentSizeType;
236
+ style?: ButtonStyleType;
237
+ isLoading?: boolean;
238
+ dataTestId: string;
239
+ disabled?: boolean;
240
+ fullWidth?: boolean;
241
+ isOpacityHoverChild?: boolean;
242
+ triggerAutoClickTimestamp?: number | null;
243
+ } & {
244
+ showTooltip?: boolean;
245
+ tooltipProps: Omit<Extract<TooltipProps, {
246
+ alwaysShowTippyOnHover: boolean;
247
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
248
+ alwaysShowTippyOnHover?: boolean;
249
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
250
+ alwaysShowTippyOnHover?: never;
251
+ }>, "alwaysShowTippyOnHover">;
252
+ } & {
253
+ icon: import('react').ReactElement;
254
+ showAriaLabelInTippy?: boolean;
255
+ ariaLabel: string;
256
+ text?: never;
257
+ startIcon?: never;
258
+ endIcon?: never;
259
+ fontWeight?: never;
260
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
261
+ ref?: import('react').Ref<HTMLButtonElement>;
262
+ component?: ButtonComponentType.button;
263
+ buttonProps?: Omit<import('react').ButtonHTMLAttributes<HTMLButtonElement>, "children" | "styles" | "className" | "disabled" | "onClick">;
264
+ linkProps?: never;
265
+ anchorProps?: never;
266
+ onClick?: import('react').ButtonHTMLAttributes<HTMLButtonElement>["onClick"];
267
+ } & {
268
+ variant?: ButtonVariantType;
269
+ size?: ComponentSizeType;
270
+ style?: ButtonStyleType;
271
+ isLoading?: boolean;
272
+ dataTestId: string;
273
+ disabled?: boolean;
274
+ fullWidth?: boolean;
275
+ isOpacityHoverChild?: boolean;
276
+ triggerAutoClickTimestamp?: number | null;
277
+ } & {
278
+ showTooltip?: never;
279
+ tooltipProps?: never;
280
+ } & {
281
+ icon?: never;
282
+ ariaLabel?: never;
283
+ showAriaLabelInTippy?: never;
284
+ text: string;
285
+ startIcon?: import('react').ReactElement;
286
+ endIcon?: import('react').ReactElement;
287
+ fontWeight?: "bold" | "normal";
288
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
289
+ ref?: import('react').Ref<HTMLButtonElement>;
290
+ component?: ButtonComponentType.button;
291
+ buttonProps?: Omit<import('react').ButtonHTMLAttributes<HTMLButtonElement>, "children" | "styles" | "className" | "disabled" | "onClick">;
292
+ linkProps?: never;
293
+ anchorProps?: never;
294
+ onClick?: import('react').ButtonHTMLAttributes<HTMLButtonElement>["onClick"];
295
+ } & {
296
+ variant?: ButtonVariantType;
297
+ size?: ComponentSizeType;
298
+ style?: ButtonStyleType;
299
+ isLoading?: boolean;
300
+ dataTestId: string;
301
+ disabled?: boolean;
302
+ fullWidth?: boolean;
303
+ isOpacityHoverChild?: boolean;
304
+ triggerAutoClickTimestamp?: number | null;
305
+ } & {
306
+ showTooltip?: never;
307
+ tooltipProps?: never;
308
+ } & {
309
+ icon: import('react').ReactElement;
310
+ showAriaLabelInTippy?: boolean;
311
+ ariaLabel: string;
312
+ text?: never;
313
+ startIcon?: never;
314
+ endIcon?: never;
315
+ fontWeight?: never;
316
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
317
+ ref?: import('react').Ref<HTMLAnchorElement>;
318
+ component: ButtonComponentType.link;
319
+ linkProps: Omit<import('react-router-dom').LinkProps, "children" | "styles" | "className" | "onClick">;
320
+ buttonProps?: never;
321
+ anchorProps?: never;
322
+ onClick?: import('react-router-dom').LinkProps["onClick"];
323
+ } & {
324
+ variant?: ButtonVariantType;
325
+ size?: ComponentSizeType;
326
+ style?: ButtonStyleType;
327
+ isLoading?: boolean;
328
+ dataTestId: string;
329
+ disabled?: boolean;
330
+ fullWidth?: boolean;
331
+ isOpacityHoverChild?: boolean;
332
+ triggerAutoClickTimestamp?: number | null;
333
+ } & {
334
+ showTooltip?: boolean;
335
+ tooltipProps: Omit<Extract<TooltipProps, {
336
+ alwaysShowTippyOnHover: boolean;
337
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
338
+ alwaysShowTippyOnHover?: boolean;
339
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
340
+ alwaysShowTippyOnHover?: never;
341
+ }>, "alwaysShowTippyOnHover">;
342
+ } & {
343
+ icon?: never;
344
+ ariaLabel?: never;
345
+ showAriaLabelInTippy?: never;
346
+ text: string;
347
+ startIcon?: import('react').ReactElement;
348
+ endIcon?: import('react').ReactElement;
349
+ fontWeight?: "bold" | "normal";
350
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
351
+ ref?: import('react').Ref<HTMLAnchorElement>;
352
+ component: ButtonComponentType.link;
353
+ linkProps: Omit<import('react-router-dom').LinkProps, "children" | "styles" | "className" | "onClick">;
354
+ buttonProps?: never;
355
+ anchorProps?: never;
356
+ onClick?: import('react-router-dom').LinkProps["onClick"];
357
+ } & {
358
+ variant?: ButtonVariantType;
359
+ size?: ComponentSizeType;
360
+ style?: ButtonStyleType;
361
+ isLoading?: boolean;
362
+ dataTestId: string;
363
+ disabled?: boolean;
364
+ fullWidth?: boolean;
365
+ isOpacityHoverChild?: boolean;
366
+ triggerAutoClickTimestamp?: number | null;
367
+ } & {
368
+ showTooltip?: boolean;
369
+ tooltipProps: Omit<Extract<TooltipProps, {
370
+ alwaysShowTippyOnHover: boolean;
371
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
372
+ alwaysShowTippyOnHover?: boolean;
373
+ }>, "alwaysShowTippyOnHover"> | Omit<Extract<TooltipProps, {
374
+ alwaysShowTippyOnHover?: never;
375
+ }>, "alwaysShowTippyOnHover">;
376
+ } & {
377
+ icon: import('react').ReactElement;
378
+ showAriaLabelInTippy?: boolean;
379
+ ariaLabel: string;
380
+ text?: never;
381
+ startIcon?: never;
382
+ endIcon?: never;
383
+ fontWeight?: never;
384
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
385
+ ref?: import('react').Ref<HTMLAnchorElement>;
386
+ component: ButtonComponentType.link;
387
+ linkProps: Omit<import('react-router-dom').LinkProps, "children" | "styles" | "className" | "onClick">;
388
+ buttonProps?: never;
389
+ anchorProps?: never;
390
+ onClick?: import('react-router-dom').LinkProps["onClick"];
391
+ } & {
392
+ variant?: ButtonVariantType;
393
+ size?: ComponentSizeType;
394
+ style?: ButtonStyleType;
395
+ isLoading?: boolean;
396
+ dataTestId: string;
397
+ disabled?: boolean;
398
+ fullWidth?: boolean;
399
+ isOpacityHoverChild?: boolean;
400
+ triggerAutoClickTimestamp?: number | null;
401
+ } & {
402
+ showTooltip?: never;
403
+ tooltipProps?: never;
404
+ } & {
405
+ icon?: never;
406
+ ariaLabel?: never;
407
+ showAriaLabelInTippy?: never;
408
+ text: string;
409
+ startIcon?: import('react').ReactElement;
410
+ endIcon?: import('react').ReactElement;
411
+ fontWeight?: "bold" | "normal";
412
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy"> | Pick<{
413
+ ref?: import('react').Ref<HTMLAnchorElement>;
414
+ component: ButtonComponentType.link;
415
+ linkProps: Omit<import('react-router-dom').LinkProps, "children" | "styles" | "className" | "onClick">;
416
+ buttonProps?: never;
417
+ anchorProps?: never;
418
+ onClick?: import('react-router-dom').LinkProps["onClick"];
419
+ } & {
420
+ variant?: ButtonVariantType;
421
+ size?: ComponentSizeType;
422
+ style?: ButtonStyleType;
423
+ isLoading?: boolean;
424
+ dataTestId: string;
425
+ disabled?: boolean;
426
+ fullWidth?: boolean;
427
+ isOpacityHoverChild?: boolean;
428
+ triggerAutoClickTimestamp?: number | null;
429
+ } & {
430
+ showTooltip?: never;
431
+ tooltipProps?: never;
432
+ } & {
433
+ icon: import('react').ReactElement;
434
+ showAriaLabelInTippy?: boolean;
435
+ ariaLabel: string;
436
+ text?: never;
437
+ startIcon?: never;
438
+ endIcon?: never;
439
+ fontWeight?: never;
440
+ }, "style" | "text" | "size" | "tooltipProps" | "dataTestId" | "disabled" | "startIcon" | "endIcon" | "variant" | "fullWidth" | "fontWeight" | "ariaLabel" | "icon" | "onClick" | "component" | "buttonProps" | "linkProps" | "anchorProps" | "isLoading" | "isOpacityHoverChild" | "triggerAutoClickTimestamp" | "showTooltip" | "showAriaLabelInTippy">) & import('react').RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
67
441
  export default Button;
@@ -1,4 +1,4 @@
1
- import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactElement } from 'react';
1
+ import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactElement, Ref } from 'react';
2
2
  import { LinkProps } from 'react-router-dom';
3
3
  import { TooltipProps } from '../../../Common/Tooltip';
4
4
  import { ComponentSizeType } from '../../constants';
@@ -24,6 +24,7 @@ export declare enum ButtonComponentType {
24
24
  anchor = "anchor"
25
25
  }
26
26
  export type ButtonProps<ComponentType extends ButtonComponentType = ButtonComponentType.button> = (ComponentType extends ButtonComponentType.link ? {
27
+ ref?: Ref<HTMLAnchorElement>;
27
28
  component: ButtonComponentType.link;
28
29
  /**
29
30
  * Props for the link component
@@ -33,6 +34,7 @@ export type ButtonProps<ComponentType extends ButtonComponentType = ButtonCompon
33
34
  anchorProps?: never;
34
35
  onClick?: LinkProps['onClick'];
35
36
  } : ComponentType extends ButtonComponentType.anchor ? {
37
+ ref?: Ref<HTMLAnchorElement>;
36
38
  component: ButtonComponentType.anchor;
37
39
  linkProps?: never;
38
40
  buttonProps?: never;
@@ -44,6 +46,7 @@ export type ButtonProps<ComponentType extends ButtonComponentType = ButtonCompon
44
46
  anchorProps: Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'styles' | 'className' | 'onClick'>;
45
47
  onClick?: AnchorHTMLAttributes<HTMLAnchorElement>['onClick'];
46
48
  } : {
49
+ ref?: Ref<HTMLButtonElement>;
47
50
  /**
48
51
  * Component to be rendered from the available options
49
52
  *