@devtron-labs/devtron-fe-common-lib 1.15.3-beta-3 → 1.15.3-beta-4

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 (59) hide show
  1. package/dist/{@code-editor-Dz8a1qww.js → @code-editor-CPkXInuA.js} +7667 -7460
  2. package/dist/{@common-rjsf-ISOYbod5.js → @common-rjsf-DBpYEd_9.js} +1 -1
  3. package/dist/Common/Constants.d.ts +2 -0
  4. package/dist/Common/Hooks/UseRegisterShortcut/UseRegisterShortcutProvider.d.ts +1 -1
  5. package/dist/Common/Hooks/UseRegisterShortcut/types.d.ts +3 -0
  6. package/dist/Common/Hooks/UseRegisterShortcut/utils.d.ts +1 -1
  7. package/dist/Common/Hooks/useStateFilters/types.d.ts +2 -2
  8. package/dist/Common/Hooks/useStateFilters/useStateFilters.d.ts +1 -1
  9. package/dist/Common/Hooks/useUrlFilters/types.d.ts +2 -1
  10. package/dist/Common/Hooks/useUrlFilters/useUrlFilters.d.ts +1 -1
  11. package/dist/Common/Pagination/constants.d.ts +4 -0
  12. package/dist/Common/Pagination/index.d.ts +1 -0
  13. package/dist/Common/PopupMenu.d.ts +2 -1
  14. package/dist/Pages/ResourceBrowser/ResourceBrowser.Types.d.ts +46 -2
  15. package/dist/Pages/ResourceBrowser/constants.d.ts +2 -0
  16. package/dist/Pages/ResourceBrowser/service.d.ts +1 -1
  17. package/dist/Shared/Components/BulkSelection/BulkSelection.d.ts +1 -1
  18. package/dist/Shared/Components/BulkSelection/types.d.ts +1 -9
  19. package/dist/Shared/Components/Icon/Icon.d.ts +13 -0
  20. package/dist/Shared/Components/InfoBlock/constants.d.ts +2 -1
  21. package/dist/Shared/Components/Table/BulkSelectionActionWidget.d.ts +1 -1
  22. package/dist/Shared/Components/Table/InternalTable.d.ts +1 -1
  23. package/dist/Shared/Components/Table/TableContent.d.ts +3 -0
  24. package/dist/Shared/Components/Table/constants.d.ts +1 -0
  25. package/dist/Shared/Components/Table/index.d.ts +1 -1
  26. package/dist/Shared/Components/Table/types.d.ts +47 -20
  27. package/dist/Shared/Components/Table/useTableWithKeyboardShortcuts.d.ts +1 -1
  28. package/dist/Shared/Components/Table/utils.d.ts +5 -0
  29. package/dist/Shared/Components/index.d.ts +1 -0
  30. package/dist/Shared/Helpers.d.ts +2 -1
  31. package/dist/Shared/Hooks/useUserPreferences/service.d.ts +1 -1
  32. package/dist/Shared/Hooks/useUserPreferences/types.d.ts +7 -17
  33. package/dist/Shared/Hooks/useUserPreferences/useUserPrefrences.d.ts +1 -1
  34. package/dist/Shared/Hooks/useUserPreferences/utils.d.ts +2 -3
  35. package/dist/Shared/Providers/types.d.ts +2 -2
  36. package/dist/Shared/Services/types.d.ts +1 -0
  37. package/dist/Shared/types.d.ts +12 -3
  38. package/dist/assets/@code-editor.css +1 -1
  39. package/dist/assets/@common-rjsf.css +1 -1
  40. package/dist/assets/ic-bug.8a8dc1fc.svg +3 -0
  41. package/dist/assets/ic-check-all.fdea6b38.svg +5 -0
  42. package/dist/assets/ic-check-square.e355731d.svg +4 -0
  43. package/dist/assets/ic-clean-brush.c21cbe1e.svg +3 -0
  44. package/dist/assets/ic-container.92a4c33a.svg +3 -0
  45. package/dist/assets/ic-download.468a0cb7.svg +3 -0
  46. package/dist/assets/ic-file-code.0926d194.svg +3 -0
  47. package/dist/assets/ic-gavel.a3b064b5.svg +3 -0
  48. package/dist/assets/ic-info-filled-color.47953fcf.svg +8 -0
  49. package/dist/assets/ic-logs.d310db72.svg +3 -0
  50. package/dist/assets/{ic-minus.416da21b.svg → ic-minus.aac464f7.svg} +1 -1
  51. package/dist/assets/ic-pause-circle.f9405070.svg +3 -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.js +706 -699
  55. package/package.json +1 -1
  56. package/dist/Shared/Components/BulkSelection/BulkSelectionDropdownItems.d.ts +0 -3
  57. package/dist/assets/ic-check-all.0376437d.svg +0 -21
  58. package/dist/assets/ic-check-square.2a3d3fb9.svg +0 -20
  59. /package/dist/assets/{ic-container.4e1e6455.svg → ic-container-registry.4e1e6455.svg} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { j as n, as as b, au as k, at as W } from "./@vendor-CA9d7Ztm.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-Dz8a1qww.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-CPkXInuA.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";
@@ -63,6 +63,7 @@ export declare const URLS: {
63
63
  readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_CREATE: "/global-config/templates/devtron-apps/create";
64
64
  readonly GLOBAL_CONFIG_TEMPLATES_DEVTRON_APP_DETAIL: "/global-config/templates/devtron-apps/detail/:appId";
65
65
  readonly LICENSE_AUTH: "/license-auth";
66
+ readonly GLOBAL_CONFIG_EDIT_CLUSTER: "/global-config/cluster-env/edit/:clusterId";
66
67
  };
67
68
  export declare const ROUTES: {
68
69
  readonly APP: "app";
@@ -293,6 +294,7 @@ export declare const API_STATUS_CODES: {
293
294
  NOT_FOUND: number;
294
295
  REQUEST_TIMEOUT: number;
295
296
  CONFLICT: number;
297
+ PRE_CONDITION_FAILED: number;
296
298
  EXPECTATION_FAILED: number;
297
299
  UNPROCESSABLE_ENTITY: number;
298
300
  LOCKED: number;
@@ -1,3 +1,3 @@
1
1
  import { UseRegisterShortcutProviderType } from './types';
2
- declare const UseRegisterShortcutProvider: ({ ignoreTags, preventDefault, shortcutTimeout, children, }: UseRegisterShortcutProviderType) => JSX.Element;
2
+ declare const UseRegisterShortcutProvider: ({ containerRef, ignoreTags, preventDefault, shortcutTimeout, children, }: UseRegisterShortcutProviderType) => JSX.Element;
3
3
  export default UseRegisterShortcutProvider;
@@ -1,3 +1,4 @@
1
+ import { RefObject } from 'react';
1
2
  export declare const KEYBOARD_KEYS_MAP: {
2
3
  readonly Control: "Ctrl";
3
4
  readonly Shift: "⇧";
@@ -9,6 +10,7 @@ export declare const KEYBOARD_KEYS_MAP: {
9
10
  readonly K: "K";
10
11
  readonly X: "X";
11
12
  readonly A: "A";
13
+ readonly N: "N";
12
14
  readonly Escape: "Esc";
13
15
  readonly Enter: "↩";
14
16
  readonly ArrowLeft: "←";
@@ -56,6 +58,7 @@ export interface UseRegisterShortcutContextType {
56
58
  triggerShortcut: (keys: ShortcutType['keys']) => void;
57
59
  }
58
60
  export interface UseRegisterShortcutProviderType {
61
+ containerRef?: RefObject<HTMLElement>;
59
62
  children: React.ReactNode;
60
63
  /**
61
64
  * Defines how long after holding the keys down do we trigger the callback in milliseconds
@@ -1,6 +1,6 @@
1
1
  import { ShortcutType } from './types';
2
2
  export declare const preprocessKeys: (keys: ShortcutType["keys"]) => {
3
- keys: ("R" | "Alt" | "F" | "E" | "K" | "X" | "A" | "Home" | "End" | "." | "Space" | "Control" | "Shift" | "Meta" | "Escape" | "Enter" | "ArrowLeft" | "ArrowRight" | "ArrowUp" | "ArrowDown" | "PageUp" | "PageDown" | "Backspace" | "Delete")[];
3
+ keys: ("N" | "R" | "Alt" | "F" | "E" | "K" | "X" | "A" | "Home" | "End" | "." | "Space" | "Control" | "Shift" | "Meta" | "Escape" | "Enter" | "ArrowLeft" | "ArrowRight" | "ArrowUp" | "ArrowDown" | "PageUp" | "PageDown" | "Backspace" | "Delete")[];
4
4
  id: string;
5
5
  };
6
6
  export declare const verifyCallbackStack: (stack: ShortcutType["callbackStack"]) => void;
@@ -1,7 +1,7 @@
1
1
  import { UseUrlFiltersProps, UseUrlFiltersReturnType } from '../useUrlFilters';
2
- export interface UseStateFiltersProps<T> extends Pick<UseUrlFiltersProps<T, never>, 'initialSortKey'> {
2
+ export interface UseStateFiltersProps<T> extends Pick<UseUrlFiltersProps<T, never>, 'initialSortKey' | 'defaultPageSize'> {
3
3
  }
4
- export interface UseStateFiltersReturnType<T> extends Pick<UseUrlFiltersReturnType<T>, 'sortBy' | 'sortOrder' | 'handleSorting' | 'clearFilters' | 'changePage' | 'changePageSize' | 'offset' | 'pageSize' | 'searchKey' | 'handleSearch' | 'isFilterApplied'> {
4
+ export interface UseStateFiltersReturnType<T> extends Pick<UseUrlFiltersReturnType<T>, 'sortBy' | 'sortOrder' | 'handleSorting' | 'clearFilters' | 'changePage' | 'changePageSize' | 'offset' | 'pageSize' | 'searchKey' | 'handleSearch' | 'areFiltersApplied'> {
5
5
  }
6
6
  export interface PaginationType<T> extends Pick<UseUrlFiltersReturnType<T>, 'pageSize'> {
7
7
  pageNumber: number;
@@ -12,5 +12,5 @@ import { UseStateFiltersProps, UseStateFiltersReturnType } from './types';
12
12
  *
13
13
  * To be extended to be used with pagination and search as and when required
14
14
  */
15
- declare const useStateFilters: <T = string>({ initialSortKey, }?: UseStateFiltersProps<T>) => UseStateFiltersReturnType<T>;
15
+ declare const useStateFilters: <T = string>({ initialSortKey, defaultPageSize, }?: UseStateFiltersProps<T>) => UseStateFiltersReturnType<T>;
16
16
  export default useStateFilters;
@@ -18,6 +18,7 @@ export interface UseUrlFiltersProps<T, K extends {}> {
18
18
  * @default 'replace'
19
19
  */
20
20
  redirectionMethod?: 'replace' | 'push';
21
+ defaultPageSize?: number;
21
22
  }
22
23
  export type UpdateSearchParamsOptionsType<T, K = {}> = Partial<Pick<UseUrlFiltersProps<T, K>, 'redirectionMethod'>>;
23
24
  export type UseUrlFiltersReturnType<T, K = {}> = K & {
@@ -67,5 +68,5 @@ export type UseUrlFiltersReturnType<T, K = {}> = K & {
67
68
  * Update the search params with the passed object
68
69
  */
69
70
  updateSearchParams: (paramsToSerialize: Partial<K>, options?: UpdateSearchParamsOptionsType<T, K>) => void;
70
- isFilterApplied: boolean;
71
+ areFiltersApplied: boolean;
71
72
  };
@@ -16,5 +16,5 @@ import { UseUrlFiltersProps, UseUrlFiltersReturnType } from './types';
16
16
  * ```
17
17
  *
18
18
  */
19
- declare const useUrlFilters: <T = string, K = {}>({ initialSortKey, parseSearchParams, localStorageKey, redirectionMethod, }?: UseUrlFiltersProps<T, K>) => UseUrlFiltersReturnType<T, K>;
19
+ declare const useUrlFilters: <T = string, K = {}>({ initialSortKey, parseSearchParams, localStorageKey, redirectionMethod, defaultPageSize, }?: UseUrlFiltersProps<T, K>) => UseUrlFiltersReturnType<T, K>;
20
20
  export default useUrlFilters;
@@ -3,3 +3,7 @@ export declare const FALLBACK_PAGE_SIZE_OPTIONS: {
3
3
  value: number;
4
4
  selected: boolean;
5
5
  }[];
6
+ export declare const LARGE_PAGE_SIZE_OPTIONS: {
7
+ value: number;
8
+ selected: boolean;
9
+ }[];
@@ -1,2 +1,3 @@
1
+ export { LARGE_PAGE_SIZE_OPTIONS } from './constants';
1
2
  export { default as Pagination } from './Pagination';
2
3
  export type { PaginationProps } from './types';
@@ -1,7 +1,8 @@
1
+ import { default as React } from 'react';
1
2
  import { PopupMenuBodyType, PopupMenuButtonType, PopupMenuType } from './Types';
2
3
  declare const PopupMenu: {
3
4
  ({ children, onToggleCallback, autoClose, autoPosition, shouldPreventDefault, }: PopupMenuType): any;
4
- Button: ({ children, disabled, rootClassName, tabIndex, onHover, isKebab, dataTestId, }: PopupMenuButtonType) => JSX.Element;
5
+ Button: React.ForwardRefExoticComponent<PopupMenuButtonType & React.RefAttributes<unknown>>;
5
6
  Body: ({ children, rootClassName, style, autoWidth, preventWheelDisable, noBackDrop, }: PopupMenuBodyType) => JSX.Element;
6
7
  };
7
8
  export default PopupMenu;
@@ -1,4 +1,7 @@
1
- import { RefObject } from 'react';
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';
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
+ setShowAbsoluteValuesInResourceRecommender: Dispatch<SetStateAction<boolean>>;
145
+ showAbsoluteValuesInResourceRecommender: boolean;
146
+ gvkOptions: GroupBase<SelectPickerOptionType<GVKOptionValueType>>[];
147
+ areGVKOptionsLoading: boolean;
148
+ reloadGVKOptions: () => void;
149
+ gvkOptionsError: ServerErrors;
150
+ }
151
+ export interface ResourceRecommenderActionMenuProps {
152
+ children: ReactNode;
153
+ lastScannedOn: string;
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,3 +1,3 @@
1
1
  import { BulkSelectionProps } from './types';
2
- declare const BulkSelection: <T>({ showPagination, disabled, showChevronDownIcon }: BulkSelectionProps) => JSX.Element;
2
+ declare const BulkSelection: import('react').ForwardRefExoticComponent<BulkSelectionProps & import('react').RefAttributes<HTMLButtonElement>>;
3
3
  export default BulkSelection;
@@ -33,15 +33,7 @@ export interface BulkSelectionProps {
33
33
  */
34
34
  showChevronDownIcon?: boolean;
35
35
  disabled?: boolean;
36
- }
37
- export interface BulkSelectionDropdownItemsType {
38
- locator: BulkSelectionEvents;
39
- label: string;
40
- isSelected: boolean;
41
- icon: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
42
- iconClass?: string;
43
- }
44
- export interface BulkSelectionDropdownItemsProps<T> extends BulkSelectionDropdownItemsType, Pick<UseBulkSelectionReturnType<T>, 'handleBulkSelection'> {
36
+ selectAllIfNotPaginated?: boolean;
45
37
  }
46
38
  export declare enum SelectAllDialogStatus {
47
39
  OPEN = "OPEN",
@@ -22,6 +22,7 @@ export declare const iconMap: {
22
22
  'ic-book-open': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
23
23
  'ic-brain': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
24
24
  'ic-browser': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
+ 'ic-bug': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
25
26
  'ic-build-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
26
27
  'ic-calendar': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
27
28
  'ic-cancelled': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -32,11 +33,14 @@ export declare const iconMap: {
32
33
  'ic-cd': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
33
34
  'ic-chat-circle-dots': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
34
35
  'ic-chat-circle-online': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
36
+ 'ic-check-all': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
37
+ 'ic-check-square': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
35
38
  'ic-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
36
39
  'ic-checks': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
37
40
  'ic-ci-linked': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
38
41
  'ic-ci-webhook': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
39
42
  'ic-circle-loader': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
43
+ 'ic-clean-brush': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
40
44
  'ic-clock': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
41
45
  'ic-close-large': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
42
46
  'ic-close-small': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -44,6 +48,7 @@ export declare const iconMap: {
44
48
  'ic-cluster-isolated': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
45
49
  'ic-cluster': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
46
50
  'ic-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
51
+ 'ic-container-registry': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
47
52
  'ic-container': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
48
53
  'ic-cookr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
49
54
  'ic-copy': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -62,6 +67,7 @@ export declare const iconMap: {
62
67
  'ic-disconnect': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
63
68
  'ic-discord-fill': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
64
69
  'ic-dockerhub': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
70
+ 'ic-download': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
65
71
  'ic-ecr': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
66
72
  'ic-edit': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
67
73
  'ic-email': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -75,6 +81,7 @@ export declare const iconMap: {
75
81
  'ic-expand-sm': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
76
82
  'ic-failure': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
77
83
  'ic-fast-forward': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
84
+ 'ic-file-code': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
78
85
  'ic-file-edit': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
79
86
  'ic-file-key': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
80
87
  'ic-file': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -84,6 +91,7 @@ export declare const iconMap: {
84
91
  'ic-flask': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
85
92
  'ic-folder-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
86
93
  'ic-folder-user': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
94
+ 'ic-gavel': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
87
95
  'ic-gear': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
88
96
  'ic-gift-gradient': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
89
97
  'ic-gift': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -105,6 +113,7 @@ export declare const iconMap: {
105
113
  'ic-hibernate-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
106
114
  'ic-hibernate': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
107
115
  'ic-in-progress': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
116
+ 'ic-info-filled-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
108
117
  'ic-info-filled': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
109
118
  'ic-info-outline': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
110
119
  'ic-install': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -121,6 +130,7 @@ export declare const iconMap: {
121
130
  'ic-lightning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
122
131
  'ic-livspace': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
123
132
  'ic-logout': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
133
+ 'ic-logs': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
124
134
  'ic-magnifying-glass': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
125
135
  'ic-medium-delete': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
126
136
  'ic-medium-paintbucket': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -145,6 +155,7 @@ export declare const iconMap: {
145
155
  'ic-paper-plane-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
146
156
  'ic-paper-plane': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
147
157
  'ic-path': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
158
+ 'ic-pause-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
148
159
  'ic-pencil': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
149
160
  'ic-play-outline': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
150
161
  'ic-quay': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -160,6 +171,7 @@ export declare const iconMap: {
160
171
  'ic-sortable': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
161
172
  'ic-sparkle-ai-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
162
173
  'ic-sparkle-color': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
174
+ 'ic-speedometer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
163
175
  'ic-spinny': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
164
176
  'ic-spray-can': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
165
177
  'ic-stack': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -186,6 +198,7 @@ export declare const iconMap: {
186
198
  'ic-timer': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
187
199
  'ic-traffic-signal': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
188
200
  'ic-travclan': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
201
+ 'ic-two-cubes': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
189
202
  'ic-ubuntu': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
190
203
  'ic-unknown': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
191
204
  'ic-user-circle': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -4,4 +4,5 @@ import { InfoBlockProps } from './types';
4
4
  export declare const VARIANT_TO_ICON_MAP: Record<InfoBlockVariant, InfoBlockProps['customIcon']>;
5
5
  export declare const CONTAINER_SIZE_TO_CLASS_MAP: Record<InfoBlockProps['size'], string>;
6
6
  export declare const SIZE_TO_ICON_CLASS_MAP: Record<InfoBlockProps['size'], string>;
7
- export declare const CONTAINER_SIZE_TO_BUTTON_SIZE: Record<InfoBlockProps['size'], ButtonProps['size']>;
7
+ export declare const CONTAINER_SIZE_TO_TEXT_BUTTON_SIZE: Record<InfoBlockProps['size'], ButtonProps['size']>;
8
+ export declare const CONTAINER_SIZE_TO_ICON_BUTTON_SIZE: Record<InfoBlockProps['size'], ButtonProps['size']>;
@@ -1,3 +1,3 @@
1
1
  import { BulkSelectionActionWidgetProps } from './types';
2
- declare const BulkSelectionActionWidget: ({ count, handleClearBulkSelection, parentRef, BulkActionsComponent, }: BulkSelectionActionWidgetProps) => JSX.Element;
2
+ declare const BulkSelectionActionWidget: ({ count, handleClearBulkSelection, parentRef, BulkActionsComponent, bulkActionsData, setBulkActionState, }: BulkSelectionActionWidgetProps) => JSX.Element;
3
3
  export default BulkSelectionActionWidget;
@@ -1,3 +1,3 @@
1
1
  import { InternalTableProps } from './types';
2
- declare const InternalTable: ({ filtersVariant, filterData, rows, getRows, columns, ViewWrapper, resizableConfig, emptyStateConfig, additionalProps, areColumnsConfigurable, filter, setVisibleColumns, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, RowActionsOnHoverComponent, }: InternalTableProps) => JSX.Element;
2
+ declare const InternalTable: ({ filtersVariant, filterData, rows, getRows, columns, ViewWrapper, resizableConfig, emptyStateConfig, additionalProps, areColumnsConfigurable, filter, setVisibleColumns, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, RowActionsOnHoverComponent, pageSizeOptions, clearFilters: userGivenUrlClearFilters, }: InternalTableProps) => JSX.Element;
3
3
  export default InternalTable;
@@ -0,0 +1,3 @@
1
+ import { TableContentProps } from './types';
2
+ declare const TableContent: ({ filterData, rows, resizableConfig, additionalProps, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, RowActionsOnHoverComponent, pageSizeOptions, filteredRows, areFilteredRowsLoading, }: TableContentProps) => JSX.Element;
3
+ export default TableContent;
@@ -5,3 +5,4 @@ export declare const BULK_ACTION_GUTTER_LABEL = "bulk-action-gutter";
5
5
  export declare const EVENT_TARGET: EventTarget;
6
6
  export declare const DRAG_SELECTOR_IDENTIFIER = "table-drag-selector";
7
7
  export declare const SHIMMER_DUMMY_ARRAY: number[];
8
+ export declare const NO_ROWS_OR_GET_ROWS_ERROR: Error;
@@ -1,3 +1,3 @@
1
1
  export { default as Table } from './Table.component';
2
- export type { CellComponentProps as TableCellComponentProps, Column as TableColumnType, TableProps, ViewWrapperProps as TableViewWrapperProps, } from './types';
2
+ export type { BulkActionsComponentProps as TableBulkActionsComponentProps, BulkOperationModalProps as TableBulkOperationModalProps, CellComponentProps as TableCellComponentProps, Column as TableColumnType, TableProps, ViewWrapperProps as TableViewWrapperProps, } from './types';
3
3
  export { FiltersTypeEnum, PaginationEnum, SignalEnum as TableSignalEnum } from './types';
@@ -1,7 +1,8 @@
1
- import { Dispatch, FunctionComponent, PropsWithChildren, SetStateAction } from 'react';
1
+ import { Dispatch, FunctionComponent, MouseEvent, PropsWithChildren, SetStateAction } from 'react';
2
2
  import { GenericFilterEmptyStateProps } from '../../../Common/EmptyState/types';
3
- import { UseStateFiltersProps, UseStateFiltersReturnType, UseUrlFiltersProps } from '../../../Common/Hooks';
3
+ import { UseStateFiltersProps, UseStateFiltersReturnType, UseUrlFiltersProps, UseUrlFiltersReturnType } from '../../../Common/Hooks';
4
4
  import { GenericEmptyStateType } from '../../../Common/index';
5
+ import { PageSizeOption } from '../../../Common/Pagination/types';
5
6
  import { SortableTableHeaderCellProps, useResizableTableConfig } from '../../../Common/SortableTableHeaderCell';
6
7
  import { useBulkSelection, UseBulkSelectionProps } from '../BulkSelection';
7
8
  export interface UseFiltersReturnType extends UseStateFiltersReturnType<string> {
@@ -50,11 +51,16 @@ export type RowType = {
50
51
  data: Record<string, unknown>;
51
52
  };
52
53
  export type RowsType = RowType[];
53
- export interface CellComponentProps extends Pick<BaseColumnType, 'field'>, AdditionalProps {
54
+ export declare enum FiltersTypeEnum {
55
+ STATE = "state",
56
+ URL = "url",
57
+ NONE = "none"
58
+ }
59
+ export interface CellComponentProps<T = FiltersTypeEnum.NONE> extends Pick<BaseColumnType, 'field'>, AdditionalProps {
54
60
  signals: SignalsType;
55
61
  value: unknown;
56
62
  row: RowType;
57
- filterData: UseFiltersReturnType;
63
+ filterData: T extends FiltersTypeEnum.NONE ? null : T extends FiltersTypeEnum.STATE ? UseFiltersReturnType : UseUrlFiltersReturnType<string>;
58
64
  isRowActive: boolean;
59
65
  }
60
66
  export type Column = Pick<SortableTableHeaderCellProps, 'showTippyOnTruncate'> & BaseColumnType & {
@@ -71,21 +77,26 @@ export type Column = Pick<SortableTableHeaderCellProps, 'showTippyOnTruncate'> &
71
77
  isSortable?: false;
72
78
  comparator?: never;
73
79
  });
80
+ export interface BulkActionsComponentProps {
81
+ onActionClick: (event: MouseEvent<HTMLButtonElement>) => void;
82
+ bulkActionsData: unknown;
83
+ }
84
+ type BulkSelectionReturnValueType = ReturnType<typeof useBulkSelection>;
85
+ export interface BulkOperationModalProps<T = string> extends Pick<BulkSelectionReturnValueType, 'isBulkSelectionApplied'> {
86
+ action: T;
87
+ onClose: () => void;
88
+ selections: RowsType | null;
89
+ bulkOperationModalData: unknown;
90
+ }
74
91
  type BulkSelectionConfigType = Pick<UseBulkSelectionProps<unknown>, 'getSelectAllDialogStatus'> & {
75
- /** Make sure to wrap it in useCallback */
76
- onBulkSelectionChanged: (selectedRows: RowsType) => void;
77
- BulkActionsComponent: FunctionComponent<{}>;
78
- };
92
+ BulkActionsComponent: FunctionComponent<BulkActionsComponentProps>;
93
+ BulkOperationModal: FunctionComponent<BulkOperationModalProps>;
94
+ } & Pick<BulkActionsComponentProps, 'bulkActionsData'> & Pick<BulkOperationModalProps, 'bulkOperationModalData'>;
79
95
  export declare enum PaginationEnum {
80
96
  PAGINATED = "paginated",
81
97
  INFINITE = "infinite",
82
98
  NOT_PAGINATED = "not-paginated"
83
99
  }
84
- export declare enum FiltersTypeEnum {
85
- STATE = "state",
86
- URL = "url",
87
- NONE = "none"
88
- }
89
100
  export interface ConfigurableColumnsType {
90
101
  allColumns: Column[];
91
102
  visibleColumns: Column[];
@@ -93,14 +104,14 @@ export interface ConfigurableColumnsType {
93
104
  }
94
105
  interface GetRowsProps extends Pick<UseFiltersReturnType, 'offset' | 'pageSize' | 'searchKey' | 'sortBy' | 'sortOrder'> {
95
106
  }
96
- type AdditionalFilterPropsType<T extends Exclude<FiltersTypeEnum, FiltersTypeEnum.NONE>> = T extends FiltersTypeEnum.URL ? Pick<UseUrlFiltersProps<string, unknown>, 'parseSearchParams' | 'localStorageKey' | 'redirectionMethod' | 'initialSortKey'> : Pick<UseStateFiltersProps<string>, 'initialSortKey'>;
97
- export type ViewWrapperProps = PropsWithChildren<Pick<UseFiltersReturnType, 'offset' | 'handleSearch' | 'searchKey' | 'sortBy' | 'sortOrder' | 'clearFilters'> & AdditionalProps & Partial<ConfigurableColumnsType> & {
107
+ type AdditionalFilterPropsType<T extends Exclude<FiltersTypeEnum, FiltersTypeEnum.NONE>> = T extends FiltersTypeEnum.URL ? Pick<UseUrlFiltersProps<string, unknown>, 'parseSearchParams' | 'localStorageKey' | 'redirectionMethod' | 'initialSortKey' | 'defaultPageSize'> : Pick<UseStateFiltersProps<string>, 'initialSortKey' | 'defaultPageSize'>;
108
+ export type ViewWrapperProps<T = FiltersTypeEnum.STATE> = PropsWithChildren<(T extends FiltersTypeEnum.NONE ? {} : Pick<UseFiltersReturnType, 'offset' | 'handleSearch' | 'searchKey' | 'sortBy' | 'sortOrder' | 'clearFilters'>) & AdditionalProps & Partial<ConfigurableColumnsType> & {
98
109
  areRowsLoading: boolean;
99
- }>;
110
+ filteredRows: RowsType | null;
111
+ } & (T extends FiltersTypeEnum.URL ? Pick<UseUrlFiltersReturnType<string>, 'updateSearchParams'> : {})>;
100
112
  export type InternalTableProps = Required<Pick<ConfigurableColumnsType, 'visibleColumns' | 'setVisibleColumns'>> & {
101
113
  id: `table__${string}`;
102
114
  loading?: boolean;
103
- paginationVariant: PaginationEnum;
104
115
  /**
105
116
  * Memoize columns before passing as props.
106
117
  *
@@ -136,7 +147,7 @@ export type InternalTableProps = Required<Pick<ConfigurableColumnsType, 'visible
136
147
  RowActionsOnHoverComponent?: FunctionComponent<{
137
148
  row: RowType;
138
149
  }>;
139
- bulkSelectionReturnValue: ReturnType<typeof useBulkSelection> | null;
150
+ bulkSelectionReturnValue: BulkSelectionReturnValueType | null;
140
151
  handleClearBulkSelection: () => void;
141
152
  handleToggleBulkSelectionOnRow: (row: RowType) => void;
142
153
  ViewWrapper?: FunctionComponent<ViewWrapperProps>;
@@ -166,28 +177,44 @@ export type InternalTableProps = Required<Pick<ConfigurableColumnsType, 'visible
166
177
  * If filter is only being used for sorting, then send `noop` in this prop
167
178
  */
168
179
  filter: (row: RowType, filterData: UseFiltersReturnType) => boolean;
180
+ clearFilters?: () => void;
169
181
  } | {
170
182
  filtersVariant: FiltersTypeEnum.STATE;
171
183
  additionalFilterProps?: AdditionalFilterPropsType<FiltersTypeEnum.STATE>;
172
184
  filter: (row: RowType, filterData: UseFiltersReturnType) => boolean;
185
+ clearFilters?: never;
173
186
  } | {
174
187
  filtersVariant: FiltersTypeEnum.NONE;
175
188
  additionalFilterProps?: never;
176
189
  filter?: never;
190
+ clearFilters?: never;
191
+ }) & ({
192
+ paginationVariant: PaginationEnum.PAGINATED;
193
+ pageSizeOptions?: PageSizeOption[];
194
+ } | {
195
+ paginationVariant: Omit<PaginationEnum, 'PAGINATED'>;
196
+ pageSizeOptions?: never;
177
197
  });
178
198
  export type UseResizableTableConfigWrapperProps = Omit<InternalTableProps, 'resizableConfig'>;
179
199
  export type TableWithBulkSelectionProps = Omit<UseResizableTableConfigWrapperProps, 'bulkSelectionReturnValue' | 'handleClearBulkSelection' | 'handleToggleBulkSelectionOnRow'>;
180
200
  export type VisibleColumnsWrapperProps = Omit<TableWithBulkSelectionProps, 'visibleColumns' | 'setVisibleColumns'>;
181
201
  export type FilterWrapperProps = Omit<VisibleColumnsWrapperProps, 'filterData'>;
182
- export type TableProps = Pick<FilterWrapperProps, 'additionalFilterProps' | 'bulkSelectionConfig' | 'areColumnsConfigurable' | 'emptyStateConfig' | 'filtersVariant' | 'filter' | 'additionalProps' | 'columns' | 'getRows' | 'rows' | 'paginationVariant' | 'stylesConfig' | 'id' | 'RowActionsOnHoverComponent' | 'loading' | 'ViewWrapper'>;
183
- export interface BulkSelectionActionWidgetProps extends Pick<BulkSelectionConfigType, 'BulkActionsComponent'> {
202
+ export type TableProps = Pick<FilterWrapperProps, 'additionalFilterProps' | 'bulkSelectionConfig' | 'areColumnsConfigurable' | 'emptyStateConfig' | 'filtersVariant' | 'filter' | 'additionalProps' | 'columns' | 'getRows' | 'rows' | 'paginationVariant' | 'stylesConfig' | 'id' | 'RowActionsOnHoverComponent' | 'loading' | 'ViewWrapper' | 'pageSizeOptions' | 'clearFilters'>;
203
+ export type BulkActionStateType = string | null;
204
+ export interface BulkSelectionActionWidgetProps extends Pick<BulkSelectionConfigType, 'BulkActionsComponent' | 'bulkActionsData'> {
184
205
  count: number;
185
206
  handleClearBulkSelection: () => void;
186
207
  parentRef: React.RefObject<HTMLDivElement>;
208
+ /** If it is null, we can say no bulk action has been selected yet */
209
+ setBulkActionState: Dispatch<SetStateAction<BulkActionStateType>>;
187
210
  }
188
211
  export type ConfigurableColumnsConfigType = Record<string, ConfigurableColumnsType['visibleColumns']>;
189
212
  export interface GetFilteringPromiseProps {
190
213
  searchSortTimeoutRef: React.MutableRefObject<number>;
191
214
  callback: () => Promise<RowsType> | RowsType;
192
215
  }
216
+ export interface TableContentProps extends Pick<InternalTableProps, 'filterData' | 'rows' | 'resizableConfig' | 'additionalProps' | 'visibleColumns' | 'stylesConfig' | 'loading' | 'bulkSelectionConfig' | 'bulkSelectionReturnValue' | 'handleClearBulkSelection' | 'handleToggleBulkSelectionOnRow' | 'paginationVariant' | 'RowActionsOnHoverComponent' | 'pageSizeOptions'> {
217
+ filteredRows: RowsType;
218
+ areFilteredRowsLoading: boolean;
219
+ }
193
220
  export {};
@@ -1,5 +1,5 @@
1
1
  import { InternalTableProps, RowsType } from './types';
2
- declare const useTableWithKeyboardShortcuts: ({ bulkSelectionConfig, handleToggleBulkSelectionOnRow, bulkSelectionReturnValue, }: Pick<InternalTableProps, "bulkSelectionConfig" | "bulkSelectionReturnValue" | "handleToggleBulkSelectionOnRow">, visibleRows: RowsType) => {
2
+ declare const useTableWithKeyboardShortcuts: ({ bulkSelectionConfig, handleToggleBulkSelectionOnRow, bulkSelectionReturnValue, }: Pick<InternalTableProps, "bulkSelectionConfig" | "bulkSelectionReturnValue" | "handleToggleBulkSelectionOnRow">, visibleRows: RowsType, showPagination: boolean, bulkSelectionButtonRef: React.RefObject<HTMLButtonElement>) => {
3
3
  activeRowIndex: number;
4
4
  setActiveRowIndex: import('react').Dispatch<import('react').SetStateAction<number>>;
5
5
  };
@@ -4,3 +4,8 @@ export declare const getVisibleColumnsFromLocalStorage: ({ allColumns, id, }: Pi
4
4
  export declare const setVisibleColumnsToLocalStorage: ({ id, visibleColumns, }: Pick<ConfigurableColumnsType, "visibleColumns"> & Pick<TableProps, "id">) => void;
5
5
  export declare const getVisibleColumns: ({ areColumnsConfigurable, columns, id, }: Pick<TableProps, "areColumnsConfigurable" | "columns" | "id">) => Column[];
6
6
  export declare const getFilteringPromise: ({ searchSortTimeoutRef, callback }: GetFilteringPromiseProps) => Promise<RowsType>;
7
+ export declare const getStickyColumnConfig: (gridTemplateColumns: string, columnIndex: number) => {
8
+ className: string;
9
+ left: string;
10
+ };
11
+ export declare const scrollToShowActiveElementIfNeeded: (activeElement: HTMLDivElement, parent: HTMLDivElement, topMargin: number) => void;
@@ -64,6 +64,7 @@ export * from './ModalSidebarPanel';
64
64
  export * from './NumbersCount';
65
65
  export * from './PhoneInput';
66
66
  export * from './Plugin';
67
+ export * from './Popover';
67
68
  export * from './ProgressBar';
68
69
  export { default as QRCode } from './QRCode';
69
70
  export * from './ReactSelect';
@@ -5,7 +5,7 @@ import { Pair } from 'yaml';
5
5
  import { MaterialHistoryType } from './Services/app.types';
6
6
  import { ApprovalConfigDataType, MaterialInfo, SortingOrder, UserApprovalConfigType, UserApprovalInfo } from '../Common';
7
7
  import { AggregatedNodes, PodMetadatum } from './Components';
8
- import { BorderConfigType, GetTimeDifferenceParamsType, GitTriggers, IntersectionChangeHandler, IntersectionOptions, PreventOutsideFocusProps, TargetPlatformItemDTO, TargetPlatformsDTO, WebhookEventNameType } from './types';
8
+ import { BorderConfigType, GetTimeDifferenceParamsType, GitTriggers, IntersectionChangeHandler, IntersectionOptions, Node, PreventOutsideFocusProps, TargetPlatformItemDTO, TargetPlatformsDTO, WebhookEventNameType } from './types';
9
9
  interface HighlightSearchTextProps {
10
10
  /**
11
11
  * The text to be highlighted
@@ -102,4 +102,5 @@ export declare const getClassNameForStickyHeaderWithShadow: (isStuck: boolean, t
102
102
  export declare const clearCookieOnLogout: () => void;
103
103
  export declare const getAppDetailsURL: (appId: number | string, envId?: number | string) => string;
104
104
  export declare const smoothScrollToTop: (scrollContainer: HTMLElement, targetPosition: number) => import('framer-motion').AnimationPlaybackControls;
105
+ export declare const getGroupVersionFromApiVersion: (apiVersion: string) => Pick<Node, "group" | "version">;
105
106
  export {};
@@ -5,4 +5,4 @@ import { UserPreferenceResourceProps, UserPreferencesType } from './types';
5
5
  * @throws Will throw an error if the request fails or if the result is not in the expected format.
6
6
  */
7
7
  export declare const getUserPreferences: () => Promise<UserPreferencesType>;
8
- export declare const updateUserPreferences: ({ path, value, resourceKind, shouldThrowError, userPreferencesResponse, }: UserPreferenceResourceProps) => Promise<boolean>;
8
+ export declare const updateUserPreferences: ({ path, value, shouldThrowError, }: UserPreferenceResourceProps) => Promise<boolean>;