@devtron-labs/devtron-fe-common-lib 1.22.0-alpha-11 → 1.22.0-alpha-12

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, aM as v, aO as J, aN as K } from "./@vendor-BsABdDGm.js";
2
2
  import V, { useState as q, useEffect as Y, forwardRef as G, useMemo as E } from "react";
3
3
  import z, { getDefaultRegistry as Q } from "@rjsf/core";
4
- import { T as O, j as w, c as N, b as F, S as X, i as Z, g as ee, a as te, d as R, e as ne } from "./@code-editor-CfRcLXZj.js";
4
+ import { T as O, j as w, c as N, b as F, S as X, i as Z, g as ee, a as te, d as R, e as ne } from "./@code-editor-DJMYIeUc.js";
5
5
  import { getUiOptions as B, getTemplate as $, getSubmitButtonOptions as re, ADDITIONAL_PROPERTY_FLAG as L, errorId as se, englishStringTranslator as ae, TranslatableString as oe, titleId as le, canExpand as ie, deepEquals as ce } from "@rjsf/utils";
6
6
  import { ReactComponent as de } from "./assets/ic-add.cfaa779b.svg";
7
7
  import { ReactComponent as ue } from "./assets/ic-warning.ecf7ff97.svg";
@@ -30,5 +30,5 @@ import { SortableTableHeaderCellProps } from './types';
30
30
  * />
31
31
  * ```
32
32
  */
33
- declare const SortableTableHeaderCell: ({ isSorted, triggerSorting, sortOrder, title, disabled, isSortable, showTippyOnTruncate, id, handleResize, isResizable, }: SortableTableHeaderCellProps) => JSX.Element;
33
+ declare const SortableTableHeaderCell: ({ isSorted, triggerSorting, sortOrder, title, disabled, isSortable, showTippyOnTruncate, id, handleResize, isResizable, infoTooltipText, }: SortableTableHeaderCellProps) => JSX.Element;
34
34
  export default SortableTableHeaderCell;
@@ -9,6 +9,10 @@ export type SortableTableHeaderCellProps = {
9
9
  * @default false
10
10
  */
11
11
  showTippyOnTruncate?: boolean;
12
+ /**
13
+ * If provided, shown in a tooltip on info-icon-outline beside the label
14
+ */
15
+ infoTooltipText?: string;
12
16
  } & ({
13
17
  /**
14
18
  * Unique identifier for the column
@@ -252,9 +252,12 @@ export declare const iconMap: {
252
252
  'ic-security-scan': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
253
253
  'ic-security-vulnerability': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
254
254
  'ic-selected': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
255
+ 'ic-ses': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
255
256
  'ic-shapes': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
256
257
  'ic-shield-check': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
258
+ 'ic-slack': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
257
259
  'ic-sliders-vertical': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
260
+ 'ic-smtp': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
258
261
  'ic-software-release-management': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
259
262
  'ic-sort-ascending': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
260
263
  'ic-sort-descending': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -307,6 +310,7 @@ export declare const iconMap: {
307
310
  'ic-warning-fill': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
308
311
  'ic-warning-stroke': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
309
312
  'ic-warning': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
313
+ 'ic-webhook-config': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
310
314
  'ic-webhook': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
311
315
  'ic-wifi-slash': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
312
316
  'ic-world-globe': import('react').FunctionComponent<import('react').SVGProps<SVGSVGElement>>;
@@ -1,3 +1,3 @@
1
1
  import { FiltersTypeEnum, InternalTableProps } from './types';
2
- declare const InternalTable: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ filtersVariant, filterData, rows, getRows, columns, ViewWrapper, resizableConfig, emptyStateConfig, additionalProps, areColumnsConfigurable, filter, setVisibleColumns, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, id, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, rowActionOnHoverConfig, pageSizeOptions, clearFilters: userGivenUrlClearFilters, }: InternalTableProps<RowData, FilterVariant, AdditionalProps>) => JSX.Element;
2
+ declare const InternalTable: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ filtersVariant, filterData, rows, getRows, columns, ViewWrapper, resizableConfig, emptyStateConfig, additionalProps, areColumnsConfigurable, filter, setVisibleColumns, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, id, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, rowActionOnHoverConfig, pageSizeOptions, clearFilters: userGivenUrlClearFilters, rowStartIconConfig, onRowClick, areFiltersApplied: userProvidedAreFiltersApplied, }: InternalTableProps<RowData, FilterVariant, AdditionalProps>) => JSX.Element;
3
3
  export default InternalTable;
@@ -1,3 +1,3 @@
1
1
  import { FiltersTypeEnum, TableContentProps } from './types';
2
- declare const TableContent: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ filterData, rows, resizableConfig, additionalProps, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, rowActionOnHoverConfig, pageSizeOptions, filteredRows, areFilteredRowsLoading, getRows, totalRows, }: TableContentProps<RowData, FilterVariant, AdditionalProps>) => JSX.Element;
2
+ declare const TableContent: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ filterData, rows, resizableConfig, additionalProps, visibleColumns, stylesConfig, loading, bulkSelectionConfig, bulkSelectionReturnValue, handleClearBulkSelection, handleToggleBulkSelectionOnRow, paginationVariant, rowActionOnHoverConfig, pageSizeOptions, filteredRows, areFilteredRowsLoading, getRows, totalRows, rowStartIconConfig, onRowClick, }: TableContentProps<RowData, FilterVariant, AdditionalProps>) => JSX.Element;
3
3
  export default TableContent;
@@ -6,3 +6,4 @@ 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
8
  export declare const NO_ROWS_OR_GET_ROWS_ERROR: Error;
9
+ export declare const ACTION_GUTTER_SIZE = 24;
@@ -4,10 +4,13 @@ import { UseStateFiltersProps, UseStateFiltersReturnType, UseUrlFiltersProps, Us
4
4
  import { GenericEmptyStateType } from '../../../Common/index';
5
5
  import { PageSizeOption } from '../../../Common/Pagination/types';
6
6
  import { SortableTableHeaderCellProps, useResizableTableConfig } from '../../../Common/SortableTableHeaderCell';
7
+ import { IconsProps } from '../Icon';
7
8
  import { useBulkSelection, UseBulkSelectionProps } from '../BulkSelection';
8
9
  export interface UseFiltersReturnType extends UseStateFiltersReturnType<string> {
9
10
  }
10
11
  export declare enum SignalEnum {
12
+ COLLAPSE_ROW = "collapse-row",
13
+ EXPAND_ROW = "expand-row",
11
14
  ENTER_PRESSED = "enter-pressed",
12
15
  DELETE_PRESSED = "delete-pressed",
13
16
  ESCAPE_PRESSED = "escape-pressed",
@@ -42,11 +45,18 @@ type BaseColumnType = {
42
45
  */
43
46
  size: SizeType;
44
47
  horizontallySticky?: boolean;
45
- };
46
- export type RowType<Data extends unknown> = {
48
+ } & Pick<SortableTableHeaderCellProps, 'infoTooltipText'>;
49
+ type CommonRowType<Data extends unknown> = {
47
50
  id: string;
48
51
  data: Data;
49
52
  };
53
+ export type ExpandedRowPrefixType = 'expanded-row-';
54
+ export type ExpandedRowType<Data extends unknown> = CommonRowType<Data> & {
55
+ id: `${ExpandedRowPrefixType}${string}`;
56
+ };
57
+ export type RowType<Data extends unknown> = CommonRowType<Data> & {
58
+ expandableRows?: Array<ExpandedRowType<Data>>;
59
+ };
50
60
  export type RowsType<Data extends unknown> = RowType<Data>[];
51
61
  export declare enum FiltersTypeEnum {
52
62
  STATE = "state",
@@ -59,6 +69,9 @@ export type CellComponentProps<RowData extends unknown = unknown, FilterVariant
59
69
  row: RowType<RowData>;
60
70
  filterData: FilterVariant extends FiltersTypeEnum.NONE ? null : FilterVariant extends FiltersTypeEnum.STATE ? UseFiltersReturnType : UseUrlFiltersReturnType<string>;
61
71
  isRowActive: boolean;
72
+ isExpandedRow: boolean;
73
+ isRowInExpandState: boolean;
74
+ expandRowCallback: (e: MouseEvent<HTMLButtonElement>) => void;
62
75
  };
63
76
  export type RowActionsOnHoverComponentProps<RowData extends unknown = unknown, AdditionalProps extends Record<string, any> = {}> = {
64
77
  row: RowType<RowData>;
@@ -111,7 +124,7 @@ export type ViewWrapperProps<RowData extends unknown = unknown, FilterVariant ex
111
124
  filteredRows: RowsType<RowData> | null;
112
125
  rows: RowsType<RowData> | null;
113
126
  } & (FilterVariant extends FiltersTypeEnum.URL ? Pick<UseUrlFiltersReturnType<string>, 'updateSearchParams'> : {})>;
114
- type FilterConfig<FilterVariant extends FiltersTypeEnum, RowData extends unknown> = {
127
+ type FilterConfig<FilterVariant extends FiltersTypeEnum, RowData extends unknown, AdditionalProps extends Record<string, any>> = {
115
128
  filtersVariant: FilterVariant;
116
129
  /**
117
130
  * Props for useUrlFilters/useStateFilters hooks
@@ -123,8 +136,9 @@ type FilterConfig<FilterVariant extends FiltersTypeEnum, RowData extends unknown
123
136
  *
124
137
  * If filter is only being used for sorting, then send `noop` in this prop
125
138
  */
126
- filter: FilterVariant extends FiltersTypeEnum.NONE ? null : (row: RowType<RowData>, filterData: UseFiltersReturnType) => boolean;
139
+ filter: FilterVariant extends FiltersTypeEnum.NONE ? null : (row: RowType<RowData>, filterData: UseFiltersReturnType, additionalProps: AdditionalProps) => boolean;
127
140
  clearFilters?: FilterVariant extends FiltersTypeEnum.URL ? () => void : FilterVariant extends FiltersTypeEnum.STATE ? never : never;
141
+ areFiltersApplied?: FilterVariant extends FiltersTypeEnum.NONE ? never : boolean;
128
142
  };
129
143
  export type InternalTableProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> = Required<Pick<ConfigurableColumnsType<RowData, FilterVariant, AdditionalProps>, 'visibleColumns' | 'setVisibleColumns'>> & {
130
144
  id: `table__${string}`;
@@ -169,6 +183,12 @@ export type InternalTableProps<RowData extends unknown, FilterVariant extends Fi
169
183
  handleClearBulkSelection: () => void;
170
184
  handleToggleBulkSelectionOnRow: (row: RowType<RowData>) => void;
171
185
  ViewWrapper?: FunctionComponent<ViewWrapperProps<RowData, FilterVariant, AdditionalProps>>;
186
+ /**
187
+ * An icon as the first element of the row, that hides actions like expand or bulk select icons
188
+ * until user hovers over the row or the row has focus from keyboard navigation
189
+ */
190
+ rowStartIconConfig?: Omit<IconsProps, 'dataTestId'>;
191
+ onRowClick?: (row: RowType<RowData>, isExpandedRow: boolean) => void;
172
192
  } & ({
173
193
  /**
174
194
  * Direct rows data for frontend-only datasets like resource browser.
@@ -191,12 +211,12 @@ export type InternalTableProps<RowData extends unknown, FilterVariant extends Fi
191
211
  } | {
192
212
  paginationVariant: Omit<PaginationEnum, 'PAGINATED'>;
193
213
  pageSizeOptions?: never;
194
- }) & FilterConfig<FilterVariant, RowData>;
214
+ }) & FilterConfig<FilterVariant, RowData, AdditionalProps>;
195
215
  export type UseResizableTableConfigWrapperProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> = Omit<InternalTableProps<RowData, FilterVariant, AdditionalProps>, 'resizableConfig'>;
196
216
  export type TableWithBulkSelectionProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> = Omit<UseResizableTableConfigWrapperProps<RowData, FilterVariant, AdditionalProps>, 'bulkSelectionReturnValue' | 'handleClearBulkSelection' | 'handleToggleBulkSelectionOnRow'>;
197
217
  export type VisibleColumnsWrapperProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> = Omit<TableWithBulkSelectionProps<RowData, FilterVariant, AdditionalProps>, 'visibleColumns' | 'setVisibleColumns'>;
198
218
  export type FilterWrapperProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> = Omit<VisibleColumnsWrapperProps<RowData, FilterVariant, AdditionalProps>, 'filterData'>;
199
- export type TableProps<RowData extends unknown = unknown, FilterVariant extends FiltersTypeEnum = FiltersTypeEnum.NONE, AdditionalProps extends Record<string, any> = {}> = Pick<FilterWrapperProps<RowData, FilterVariant, AdditionalProps>, 'additionalFilterProps' | 'bulkSelectionConfig' | 'areColumnsConfigurable' | 'emptyStateConfig' | 'filtersVariant' | 'filter' | 'additionalProps' | 'columns' | 'getRows' | 'rows' | 'paginationVariant' | 'stylesConfig' | 'id' | 'rowActionOnHoverConfig' | 'loading' | 'ViewWrapper' | 'pageSizeOptions' | 'clearFilters'>;
219
+ export type TableProps<RowData extends unknown = unknown, FilterVariant extends FiltersTypeEnum = FiltersTypeEnum.NONE, AdditionalProps extends Record<string, any> = {}> = Pick<FilterWrapperProps<RowData, FilterVariant, AdditionalProps>, 'additionalFilterProps' | 'bulkSelectionConfig' | 'areColumnsConfigurable' | 'emptyStateConfig' | 'filtersVariant' | 'filter' | 'additionalProps' | 'columns' | 'getRows' | 'rows' | 'paginationVariant' | 'stylesConfig' | 'id' | 'rowActionOnHoverConfig' | 'loading' | 'ViewWrapper' | 'pageSizeOptions' | 'clearFilters' | 'rowStartIconConfig' | 'onRowClick' | 'areFiltersApplied'>;
200
220
  export type BulkActionStateType = string | null;
201
221
  export interface BulkSelectionActionWidgetProps extends Pick<BulkSelectionConfigType, 'BulkActionsComponent' | 'bulkActionsData'> {
202
222
  count: number;
@@ -214,7 +234,7 @@ export interface RowsResultType<RowData extends unknown> {
214
234
  filteredRows: RowsType<RowData>;
215
235
  totalRows: number;
216
236
  }
217
- export interface TableContentProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> extends Pick<InternalTableProps<RowData, FilterVariant, AdditionalProps>, 'filterData' | 'rows' | 'resizableConfig' | 'additionalProps' | 'visibleColumns' | 'stylesConfig' | 'loading' | 'bulkSelectionConfig' | 'bulkSelectionReturnValue' | 'handleClearBulkSelection' | 'handleToggleBulkSelectionOnRow' | 'paginationVariant' | 'rowActionOnHoverConfig' | 'pageSizeOptions' | 'getRows'>, RowsResultType<RowData> {
237
+ export interface TableContentProps<RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>> extends Pick<InternalTableProps<RowData, FilterVariant, AdditionalProps>, 'filterData' | 'rows' | 'resizableConfig' | 'additionalProps' | 'visibleColumns' | 'stylesConfig' | 'loading' | 'bulkSelectionConfig' | 'bulkSelectionReturnValue' | 'handleClearBulkSelection' | 'handleToggleBulkSelectionOnRow' | 'paginationVariant' | 'rowActionOnHoverConfig' | 'pageSizeOptions' | 'getRows' | 'rowStartIconConfig' | 'onRowClick'>, RowsResultType<RowData> {
218
238
  areFilteredRowsLoading: boolean;
219
239
  }
220
240
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Column, ConfigurableColumnsType, FiltersTypeEnum, GetFilteringPromiseProps, RowsType, TableProps, UseFiltersReturnType } from './types';
2
- export declare const searchAndSortRows: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>(rows: TableProps<RowData, FilterVariant, AdditionalProps>["rows"], filter: TableProps<RowData, FilterVariant, AdditionalProps>["filter"], filterData: UseFiltersReturnType, comparator?: Column<RowData, FilterVariant, AdditionalProps>["comparator"]) => Awaited<ReturnType<TableProps<RowData>["getRows"]>>;
2
+ export declare const searchAndSortRows: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>(rows: TableProps<RowData, FilterVariant, AdditionalProps>["rows"], filter: TableProps<RowData, FilterVariant, AdditionalProps>["filter"], filterData: UseFiltersReturnType, additionalProps: AdditionalProps, comparator?: Column<RowData, FilterVariant, AdditionalProps>["comparator"]) => Awaited<ReturnType<TableProps<RowData>["getRows"]>>;
3
3
  export declare const getVisibleColumnsFromLocalStorage: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ allColumns, id, }: Pick<ConfigurableColumnsType<RowData, FilterVariant, AdditionalProps>, "allColumns"> & Pick<TableProps<RowData, FilterVariant, AdditionalProps>, "id">) => Column<RowData, FilterVariant, AdditionalProps>[];
4
4
  export declare const setVisibleColumnsToLocalStorage: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ id, visibleColumns, }: Pick<ConfigurableColumnsType<RowData, FilterVariant, AdditionalProps>, "visibleColumns"> & Pick<TableProps<RowData, FilterVariant, AdditionalProps>, "id">) => void;
5
5
  export declare const getVisibleColumns: <RowData extends unknown, FilterVariant extends FiltersTypeEnum, AdditionalProps extends Record<string, any>>({ areColumnsConfigurable, columns, id, }: Pick<TableProps<RowData, FilterVariant, AdditionalProps>, "areColumnsConfigurable" | "columns" | "id">) => Column<RowData, FilterVariant, AdditionalProps>[];