@procore/data-table 14.4.2 → 14.4.3-next.0

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 (122) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/Analytics/Analytics.d.ts +18 -0
  3. package/dist/Analytics/Client.d.ts +10 -0
  4. package/dist/Analytics/index.d.ts +2 -0
  5. package/dist/Analytics/types.d.ts +21 -0
  6. package/dist/BulkActions/BulkActions.d.ts +10 -0
  7. package/dist/BulkActions/BulkEditActionButton.d.ts +6 -0
  8. package/dist/CellRenderers/AutoGroupCell.d.ts +15 -0
  9. package/dist/CellRenderers/BooleanCell.d.ts +18 -0
  10. package/dist/CellRenderers/ButtonsCell.d.ts +8 -0
  11. package/dist/CellRenderers/Cells.d.ts +19 -0
  12. package/dist/CellRenderers/CompanyCell.d.ts +15 -0
  13. package/dist/CellRenderers/CurrencyCell.d.ts +23 -0
  14. package/dist/CellRenderers/DataTableCell.d.ts +67 -0
  15. package/dist/CellRenderers/DateCell.d.ts +23 -0
  16. package/dist/CellRenderers/DateTimeCell.d.ts +21 -0
  17. package/dist/CellRenderers/FullWidthCell.d.ts +5 -0
  18. package/dist/CellRenderers/GrandTotalsLabel.d.ts +5 -0
  19. package/dist/CellRenderers/GroupCell.d.ts +34 -0
  20. package/dist/CellRenderers/InlineEditWrapper.d.ts +35 -0
  21. package/dist/CellRenderers/InlineError.d.ts +10 -0
  22. package/dist/CellRenderers/LinkCell.d.ts +13 -0
  23. package/dist/CellRenderers/MultiSelectCell.d.ts +20 -0
  24. package/dist/CellRenderers/NumberCell.d.ts +21 -0
  25. package/dist/CellRenderers/PeopleCell.d.ts +18 -0
  26. package/dist/CellRenderers/PercentCell.d.ts +23 -0
  27. package/dist/CellRenderers/PersonCell.d.ts +17 -0
  28. package/dist/CellRenderers/PillCell.d.ts +22 -0
  29. package/dist/CellRenderers/RowActionsCell.d.ts +16 -0
  30. package/dist/CellRenderers/RowCheckbox.d.ts +9 -0
  31. package/dist/CellRenderers/SelectCell.d.ts +27 -0
  32. package/dist/CellRenderers/TextAreaCell.d.ts +18 -0
  33. package/dist/CellRenderers/TextCell.d.ts +18 -0
  34. package/dist/CellRenderers/index.d.ts +16 -0
  35. package/dist/ClientSideDataTable.d.ts +25 -0
  36. package/dist/DataTable.d.ts +36 -0
  37. package/dist/EmptyState.d.ts +12 -0
  38. package/dist/FilterRenderers/ClientSideFilter.d.ts +11 -0
  39. package/dist/FilterRenderers/DateFilterRenderer.d.ts +47 -0
  40. package/dist/FilterRenderers/LocationFilterRenderer.d.ts +9 -0
  41. package/dist/FilterRenderers/MultiSelectFilterRenderer.d.ts +7 -0
  42. package/dist/FilterRenderers/NumberFilterRenderer.d.ts +23 -0
  43. package/dist/FilterRenderers/ServerSideFilter.d.ts +3 -0
  44. package/dist/FilterRenderers/index.d.ts +114 -0
  45. package/dist/FilterRenderers/useServerSideFilter.d.ts +16 -0
  46. package/dist/FilterRenderers/useServerSideFilterStorage.d.ts +3 -0
  47. package/dist/FilterRenderers/utils.d.ts +7 -0
  48. package/dist/GenericHeader/GenericColumnGroupHeader.d.ts +15 -0
  49. package/dist/GenericHeader/GenericHeader.d.ts +27 -0
  50. package/dist/Panels/BulkEdit.d.ts +65 -0
  51. package/dist/Panels/Configuration.d.ts +8 -0
  52. package/dist/Panels/Filters.d.ts +10 -0
  53. package/dist/Panels/StyledPanelSection.d.ts +4 -0
  54. package/dist/Panels/helpers.d.ts +12 -0
  55. package/dist/Panels/useContextPanel.d.ts +2 -0
  56. package/dist/QuickControls/ConfigPanelButton.d.ts +2 -0
  57. package/dist/QuickControls/EmptyResultsControlTooltip.d.ts +6 -0
  58. package/dist/QuickControls/FiltersPanelToggleButton.d.ts +9 -0
  59. package/dist/QuickControls/QuickControls.d.ts +8 -0
  60. package/dist/QuickControls/QuickFilters.d.ts +12 -0
  61. package/dist/QuickControls/RowGroupSelector.d.ts +5 -0
  62. package/dist/QuickControls/Search.d.ts +9 -0
  63. package/dist/QuickControls/ServerSideSearch.d.ts +13 -0
  64. package/dist/QuickFilterRenderers/DateQuickFilterRenderer.d.ts +30 -0
  65. package/dist/QuickFilterRenderers/LocationQuickFilterRenderer.d.ts +4 -0
  66. package/dist/QuickFilterRenderers/MultiSelectQuickFilterRenderer.d.ts +7 -0
  67. package/dist/QuickFilterRenderers/QuickFilterLabel.d.ts +13 -0
  68. package/dist/QuickFilterRenderers/SingleSelectQuickFilterRenderer.d.ts +19 -0
  69. package/dist/QuickFilterRenderers/SuperSelectFilterPreset.d.ts +8 -0
  70. package/dist/QuickFilterRenderers/index.d.ts +4 -0
  71. package/dist/QuickFilterRenderers/types.d.ts +16 -0
  72. package/dist/QuickFilterRenderers/utils.d.ts +6 -0
  73. package/dist/ServerSideDataTable.d.ts +25 -0
  74. package/dist/constants.d.ts +21 -0
  75. package/dist/icons.d.ts +1 -0
  76. package/dist/index.d.ts +24 -0
  77. package/dist/index.js +220 -0
  78. package/dist/index.js.LICENSE.txt +60 -0
  79. package/dist/state/useFilterState.d.ts +36 -0
  80. package/dist/state/useRowSelectionState.d.ts +8 -0
  81. package/dist/types.d.ts +684 -0
  82. package/dist/utils/ContactItem.d.ts +12 -0
  83. package/dist/utils/RadioList.d.ts +12 -0
  84. package/dist/utils/addSubcomponents.d.ts +3 -0
  85. package/dist/utils/adjustRowDragIcon.d.ts +2 -0
  86. package/dist/utils/aggData.d.ts +3 -0
  87. package/dist/utils/aggregationFunctions.d.ts +2 -0
  88. package/dist/utils/buildDetailRows.d.ts +14 -0
  89. package/dist/utils/cellHelpers.d.ts +25 -0
  90. package/dist/utils/columnDefHelpers.d.ts +10 -0
  91. package/dist/utils/columnMenuHelpers.d.ts +11 -0
  92. package/dist/utils/companyOptionRenderer.d.ts +3 -0
  93. package/dist/utils/findNode.d.ts +6 -0
  94. package/dist/utils/generateHTMLString.d.ts +23 -0
  95. package/dist/utils/genericAnalyticsClient.d.ts +19 -0
  96. package/dist/utils/getCellValueTypographyProps.d.ts +5 -0
  97. package/dist/utils/getRootRowNode.d.ts +2 -0
  98. package/dist/utils/helpers.d.ts +14 -0
  99. package/dist/utils/internalTableContext.d.ts +45 -0
  100. package/dist/utils/isEmptyValue.d.ts +1 -0
  101. package/dist/utils/logger.d.ts +5 -0
  102. package/dist/utils/pagination.d.ts +5 -0
  103. package/dist/utils/personOptionRenderer.d.ts +3 -0
  104. package/dist/utils/rowSelectionHelpers.d.ts +54 -0
  105. package/dist/utils/serverSideSharedTestHelpers.d.ts +237 -0
  106. package/dist/utils/setSiblingGroupsRowSelection.d.ts +2 -0
  107. package/dist/utils/sort.d.ts +7 -0
  108. package/dist/utils/sortFilters.d.ts +2 -0
  109. package/dist/utils/test/i18n.d.ts +4 -0
  110. package/dist/utils/transformers.d.ts +25 -0
  111. package/dist/utils/translations.d.ts +1990 -0
  112. package/dist/utils/useTableApi.d.ts +14 -0
  113. package/dist/utils/waitForAsyncCondition.d.ts +1 -0
  114. package/package.json +9 -9
  115. package/dist/legacy/index.d.mts +0 -1399
  116. package/dist/legacy/index.d.ts +0 -1399
  117. package/dist/legacy/index.js +0 -88330
  118. package/dist/legacy/index.mjs +0 -88271
  119. package/dist/modern/index.d.mts +0 -1399
  120. package/dist/modern/index.d.ts +0 -1399
  121. package/dist/modern/index.js +0 -88100
  122. package/dist/modern/index.mjs +0 -88041
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Change Log
2
2
 
3
+ ## 14.4.3-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 79bcfac013: Switch from tsup back to webpack for DataTable builds in order to resolve build issues in consuming clients and a bug that broke SSRM filters from @procore/labs-configurable-field-sets-data-table
8
+ - d813df8e7c: Only call console.log/warn/error in development to prevent possible performance issues with Bugsnag breadcrumb creation
9
+
3
10
  ## 14.4.2
4
11
 
5
12
  ### Patch Changes
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import Analytics from '../utils/genericAnalyticsClient';
3
+ type AnalyticsProviderProps = React.PropsWithChildren<{
4
+ analytics?: Analytics;
5
+ }>;
6
+ type HydratedContextValue = Pick<Analytics, 'trackEvent'>;
7
+ type DefaultContextValue = {};
8
+ type ContextValue = HydratedContextValue | DefaultContextValue;
9
+ export declare const AnalyticsContext: React.Context<ContextValue>;
10
+ export declare function AnalyticsProvider({ analytics, children, }: AnalyticsProviderProps): React.JSX.Element;
11
+ export declare const useAnalyticsContext: () => HydratedContextValue;
12
+ declare const _default: {
13
+ Client: typeof Analytics;
14
+ Consumer: React.Consumer<ContextValue>;
15
+ Provider: typeof AnalyticsProvider;
16
+ Context: React.Context<ContextValue>;
17
+ };
18
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import CoreAnalytics from './Analytics';
2
+ import type { AnalyticsBulkConfig } from './types';
3
+ export declare class AnalyticsBulkClient extends CoreAnalytics.Client {
4
+ private events;
5
+ private projectId;
6
+ private bulkEndpoint;
7
+ constructor({ projectId, bulkEndpoint, bodyParams, headers, ...coreAnalyticsConfig }: AnalyticsBulkConfig);
8
+ addEvent(event: string, properties: Record<string, any>): void;
9
+ sendAllEvents(): Promise<void>;
10
+ }
@@ -0,0 +1,2 @@
1
+ export { default as Analytics, useAnalyticsContext } from './Analytics';
2
+ export { AnalyticsBulkClient } from './Client';
@@ -0,0 +1,21 @@
1
+ import type { AnalyticsConfig as CoreAnalyticsConfig } from '../utils/genericAnalyticsClient';
2
+ export interface AnalyticEvent {
3
+ key: string;
4
+ properties: Record<string, any>;
5
+ timestamp: Date;
6
+ project_id: number;
7
+ event_id: string;
8
+ page_id: string;
9
+ }
10
+ export interface AnalyticsClient extends CoreAnalyticsConfig {
11
+ sendAllEvents: () => Promise<void>;
12
+ addEvent: CoreAnalyticsConfig['trackEvent'];
13
+ }
14
+ export interface AnalyticsConfig {
15
+ client: AnalyticsClient;
16
+ clientName: string;
17
+ }
18
+ export interface AnalyticsBulkConfig extends CoreAnalyticsConfig {
19
+ projectId: number;
20
+ bulkEndpoint: string;
21
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface BulkActionProps {
3
+ /** To not hide the bulk actions bar,
4
+ * even when the row selection is empty it should be displayed. */
5
+ showAlways?: boolean;
6
+ showEditButtonLabel?: boolean;
7
+ editButtonText?: string;
8
+ style?: React.CSSProperties;
9
+ }
10
+ export declare const BulkActions: React.FunctionComponent<React.PropsWithChildren<BulkActionProps>>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface ActionButtonProps {
3
+ showLabel?: boolean;
4
+ actionText?: string;
5
+ }
6
+ export declare const BulkEditActionButton: React.FunctionComponent<ActionButtonProps>;
@@ -0,0 +1,15 @@
1
+ import { GroupCellRendererParams } from '@ag-grid-community/core';
2
+ import React from 'react';
3
+ type LevelIndentsProps = {
4
+ level: number;
5
+ lastRowInGroup: boolean;
6
+ };
7
+ export interface AutoGroupCellRendererParams extends GroupCellRendererParams {
8
+ siblingGroupsRowSelectionDisabled?: boolean;
9
+ checkboxDisabled?: boolean;
10
+ }
11
+ export declare const LevelIndents: (props: LevelIndentsProps) => React.JSX.Element | null;
12
+ export interface AutoGroupCellRendererParams extends GroupCellRendererParams {
13
+ }
14
+ export declare const AutoGroupCellRenderer: (props: AutoGroupCellRendererParams) => React.JSX.Element;
15
+ export {};
@@ -0,0 +1,18 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition } from '../types';
4
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
5
+ export interface BooleanCellRendererParams {
6
+ typographyProps?: TypographyProps;
7
+ }
8
+ export interface BooleanCellEditorParams {
9
+ }
10
+ export type BooleanCellColumnDefinition<TValue = boolean> = ColumnDefinition<TValue, typeof BooleanCellRenderer, BooleanCellRendererParams>;
11
+ export interface BooleanCellRendererProps<TValue = boolean> extends DataTableCellRendererProps<TValue, BooleanCellColumnDefinition<TValue>> {
12
+ }
13
+ export declare const InternalBooleanCellRenderer: React.FunctionComponent<BooleanCellRendererProps>;
14
+ export declare const BooleanCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
15
+ export interface BooleanCellEditorProps<TValue = boolean> extends DataTableCellEditorProps<TValue, BooleanCellColumnDefinition<TValue>> {
16
+ }
17
+ export declare const InternalBooleanCellEditor: React.ForwardRefExoticComponent<Omit<BooleanCellEditorProps<boolean>, "ref"> & React.RefAttributes<HTMLInputElement>>;
18
+ export declare const BooleanCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ColumnDefinition, GranularRequired } from '../types';
3
+ import { DataTableCellRendererProps } from './DataTableCell';
4
+ export interface ButtonsCellRendererParams {
5
+ buttons: React.FunctionComponent<DataTableCellRendererProps>[];
6
+ }
7
+ export type ButtonsCellColumnDefinition<TValue = undefined> = GranularRequired<ColumnDefinition<TValue, typeof ButtonsCellRenderer, ButtonsCellRendererParams>, 'cellRendererParams'>;
8
+ export declare const ButtonsCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,19 @@
1
+ export * from './AutoGroupCell';
2
+ export * from './BooleanCell';
3
+ export * from './ButtonsCell';
4
+ export * from './CompanyCell';
5
+ export * from './CurrencyCell';
6
+ export * from './DateCell';
7
+ export * from './GrandTotalsLabel';
8
+ export * from './GroupCell';
9
+ export * from './LinkCell';
10
+ export * from './MultiSelectCell';
11
+ export * from './NumberCell';
12
+ export * from './PeopleCell';
13
+ export * from './PercentCell';
14
+ export * from './PersonCell';
15
+ export * from './PillCell';
16
+ export * from './RowActionsCell';
17
+ export * from './SelectCell';
18
+ export * from './TextAreaCell';
19
+ export * from './TextCell';
@@ -0,0 +1,15 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition } from '../types';
4
+ import { DataTableCellRendererProps } from './DataTableCell';
5
+ export interface CompanyCellRendererParams<TValue> {
6
+ typographyProps?: TypographyProps;
7
+ getCompanyName?: (companyInfo: TValue) => string;
8
+ getImageURL?: (companyInfo: TValue) => string;
9
+ }
10
+ export type CompanyCellColumnDefinition<TValue = any, TFilterOption = any, TFilterValue = number | string> = ColumnDefinition<TValue, typeof CompanyCellRenderer, CompanyCellRendererParams<TValue>, never, // editor does not exist
11
+ never, // editor does not exist
12
+ TFilterOption, TFilterValue>;
13
+ export interface CompanyCellRendererProps<TValue = any> extends DataTableCellRendererProps<TValue, CompanyCellColumnDefinition> {
14
+ }
15
+ export declare const CompanyCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,23 @@
1
+ import { InputProps, TypographyProps } from '@procore/core-react';
2
+ import { FormatConfig } from '@procore/labs-financials-utils/dist/configs';
3
+ import React from 'react';
4
+ import { CurrencyBulkEditorParams } from '../Panels/BulkEdit';
5
+ import { ColumnDefinition } from '../types';
6
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
7
+ export interface CurrencyCellRendererParams {
8
+ typographyProps?: TypographyProps;
9
+ formatConfig?: Partial<FormatConfig>;
10
+ }
11
+ export type CurrencyCellColumnDefinition<TValue = any> = ColumnDefinition<TValue, typeof CurrencyCellRenderer, CurrencyCellRendererParams, typeof CurrencyCellEditor, CurrencyCellEditorParams, '', '', 'currency', CurrencyBulkEditorParams> & {
12
+ rightAlign: true;
13
+ };
14
+ export interface CurrencyCellRendererProps<TValue = string> extends DataTableCellRendererProps<TValue, CurrencyCellColumnDefinition<TValue>> {
15
+ }
16
+ export declare const CurrencyCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
17
+ export interface CurrencyCellEditorParams {
18
+ inputProps?: InputProps;
19
+ formatConfig?: Partial<FormatConfig>;
20
+ }
21
+ export interface CurrencyCellEditorProps<TValue = string> extends DataTableCellEditorProps<TValue, CurrencyCellColumnDefinition<TValue>> {
22
+ }
23
+ export declare const CurrencyCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,67 @@
1
+ import { ICellEditorParams, ICellRendererParams } from '@ag-grid-community/core';
2
+ import React from 'react';
3
+ import { RowSize } from '../constants';
4
+ import { ColumnDefinition, ExtendedColDef, TableApi } from '../types';
5
+ export interface DataTableCellRendererProps<TValue = any, TColumnDefinition extends ColumnDefinition = ColumnDefinition<TValue>> {
6
+ columnDefinition: TColumnDefinition;
7
+ /**
8
+ * Array of data for the row, keyed by field
9
+ */
10
+ data: any;
11
+ /**
12
+ * Field name for the cell being rendered
13
+ */
14
+ field: string;
15
+ /**
16
+ * Boolean for if the cell is a group cell
17
+ */
18
+ isGroup: boolean;
19
+ /**
20
+ * If rendering in a nested table, this is the data for the parent row
21
+ */
22
+ parentData: any | undefined;
23
+ /**
24
+ * If rendering in a nested table, this is the id of the parent row
25
+ */
26
+ parentId: string | undefined;
27
+ /**
28
+ * The height of the row in pixels
29
+ */
30
+ rowHeight: RowSize;
31
+ /**
32
+ * Will be "top" or "bottom" if the row is pinned, otherwise undefined
33
+ */
34
+ rowPinned: string | undefined;
35
+ /**
36
+ * The api for working with and modifying the table data
37
+ */
38
+ tableApi: TableApi;
39
+ /**
40
+ * The individual cell's value
41
+ */
42
+ value: TValue;
43
+ /**
44
+ * Row index of current row
45
+ */
46
+ rowIndex?: number;
47
+ }
48
+ type EditorType = 'input' | 'select' | 'date' | 'textarea';
49
+ export interface DataTableCellEditorProps<TValue = any, TColumnDefinition extends ColumnDefinition = ColumnDefinition<TValue>> extends DataTableCellRendererProps<TValue, TColumnDefinition> {
50
+ eventKey: string | null;
51
+ ref?: ((instance: HTMLElement | null) => void) | React.MutableRefObject<HTMLElement | null> | null;
52
+ setDataValue: (field: string, newValue: TValue) => void;
53
+ stopEditing: () => void;
54
+ }
55
+ export interface CellRendererProps extends ICellRendererParams {
56
+ colDef: ExtendedColDef;
57
+ Component: React.ComponentType<any>;
58
+ editorType?: EditorType;
59
+ }
60
+ export interface CellEditorProps extends ICellEditorParams {
61
+ colDef: ExtendedColDef;
62
+ Component: React.ForwardRefExoticComponent<any>;
63
+ editorType: EditorType;
64
+ }
65
+ export declare const DataTableCellRenderer: React.FC<CellRendererProps>;
66
+ export declare const DataTableCellEditor: React.ForwardRefExoticComponent<CellEditorProps & React.RefAttributes<HTMLElement>>;
67
+ export {};
@@ -0,0 +1,23 @@
1
+ import { DateTimeFormatTypes, TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { DateTimeCellColumnDefinition } from '../types';
4
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
5
+ type PickedDateTimeFormatTypes = Extract<DateTimeFormatTypes, 'abbr-weekday-abbr-date' | 'date' | 'numeric-date' | 'weekday-date'>;
6
+ export interface DateCellRendererParams {
7
+ dateFormatType?: PickedDateTimeFormatTypes;
8
+ typographyProps?: TypographyProps;
9
+ timeZone?: string;
10
+ }
11
+ export interface DateCellColumnDefinition<TValue = string | Date | undefined> extends DateTimeCellColumnDefinition<TValue, typeof DateCellRenderer, DateCellRendererParams, typeof DateCellEditor, DateCellEditorParams> {
12
+ }
13
+ export interface DateCellRendererProps<TValue = string | Date | undefined> extends DataTableCellRendererProps<TValue, DateCellColumnDefinition<TValue>> {
14
+ }
15
+ export declare const DateCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
16
+ export interface DateCellEditorParams {
17
+ disabledDate?: ((date: Date, today: Date) => boolean) | undefined;
18
+ timeZone?: string;
19
+ }
20
+ export interface DateCellEditorProps<TValue = string | Date | undefined> extends DataTableCellEditorProps<TValue, DateCellColumnDefinition<TValue>> {
21
+ }
22
+ export declare const DateCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
23
+ export {};
@@ -0,0 +1,21 @@
1
+ import { DateTimeFormatTypes, TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { DateTimeCellColumnDefinition as DateTimeCellColumnDefinitionType } from '../types';
4
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
5
+ export interface DateTimeCellRendererParams {
6
+ dateFormatType?: DateTimeFormatTypes;
7
+ typographyProps?: TypographyProps;
8
+ timeZone?: string;
9
+ }
10
+ export interface DateTimeCellColumnDefinition<TValue = string | Date | undefined> extends DateTimeCellColumnDefinitionType<TValue, typeof DateTimeCellRenderer, DateTimeCellRendererParams, typeof DateTimeCellEditor, DateTimeCellEditorParams> {
11
+ }
12
+ export interface DateTimeCellRendererProps<TValue = string | Date | undefined> extends DataTableCellRendererProps<TValue, DateTimeCellColumnDefinition<TValue>> {
13
+ }
14
+ export declare const DateTimeCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
15
+ export interface DateTimeCellEditorParams {
16
+ disabledDate?: ((date: Date, today: Date) => boolean) | undefined;
17
+ timeZone?: string;
18
+ }
19
+ export interface DateTimeCellEditorProps<TValue = string | Date | undefined> extends DataTableCellEditorProps<TValue, DateTimeCellColumnDefinition<TValue>> {
20
+ }
21
+ export declare const DateTimeCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,5 @@
1
+ import { ICellRendererParams } from '@ag-grid-community/core';
2
+ import React from 'react';
3
+ type FullWidthCellRendererType = React.FunctionComponent<ICellRendererParams> | undefined;
4
+ export declare const FullWidthCellRenderer: (FullWidthInnerCellRenderer: FullWidthCellRendererType) => (props: ICellRendererParams) => React.JSX.Element;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { ICellRendererParams } from '@ag-grid-community/core';
2
+ import React from 'react';
3
+ export interface GrandTotalsLabelRendererProps extends ICellRendererParams {
4
+ }
5
+ export declare const GrandTotalsLabelRenderer: React.FunctionComponent<GrandTotalsLabelRendererProps>;
@@ -0,0 +1,34 @@
1
+ /// <reference types="react" />
2
+ import { ColumnDefinition } from '../types';
3
+ export type GroupCellRendererParams<TInnerRendererParams> = {
4
+ /**
5
+ * turn off the row count
6
+ */
7
+ suppressCount?: boolean;
8
+ /**
9
+ * enable checkbox selection
10
+ */
11
+ checkbox?: boolean;
12
+ /**
13
+ * set to true to node including any padding (indentation) in the child rows
14
+ */
15
+ suppressPadding?: boolean;
16
+ /**
17
+ * turn off double click for expand
18
+ */
19
+ suppressDoubleClickExpand?: boolean;
20
+ /**
21
+ * suppress expand on Enter key
22
+ */
23
+ suppressEnterExpand?: boolean;
24
+ /**
25
+ * the renderer to use inside the cell (after grouping functions are added)
26
+ */
27
+ innerRenderer?: string;
28
+ /**
29
+ * provide a footer value getter
30
+ */
31
+ footerValueGetter?: string | ((value: any) => string);
32
+ } & TInnerRendererParams;
33
+ export type GroupCellColumnDefinition<TValue = any, TInnerRendererParams = object> = ColumnDefinition<TValue, typeof GroupCellRenderer, GroupCellRendererParams<TInnerRendererParams>>;
34
+ export declare const GroupCellRenderer: import("react").FC<any>;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { InlineEditErrorRef as InlineEditorErrorRef } from './InlineError';
3
+ interface PseudoInlineEditorWrapperProps {
4
+ alwaysShowEditors?: boolean;
5
+ rightAligned?: boolean;
6
+ showArrow?: boolean;
7
+ onClick?: () => void | undefined;
8
+ onClear?: () => void | undefined;
9
+ showCalendar?: boolean;
10
+ errorMessage?: string | string[];
11
+ isRequired?: boolean;
12
+ isValid: boolean;
13
+ hasValue: boolean;
14
+ children?: React.ReactNode;
15
+ }
16
+ export declare function PseudoInlineEditorWrapper({ alwaysShowEditors, rightAligned, showArrow, onClear, showCalendar, errorMessage, isRequired, isValid, hasValue, children, ...props }: PseudoInlineEditorWrapperProps): React.JSX.Element;
17
+ interface InlineEditorWrapperProps {
18
+ rightAligned: boolean;
19
+ errorMessage?: string | string[];
20
+ isRequired?: boolean;
21
+ isValid: boolean;
22
+ children: React.ReactNode;
23
+ }
24
+ export declare const InlineEditorWrapper: React.ForwardRefExoticComponent<InlineEditorWrapperProps & React.RefAttributes<InlineEditorErrorRef>>;
25
+ interface NonEditorWrapperProps {
26
+ rightAligned?: boolean;
27
+ errorMessage?: string | string[];
28
+ isRequired?: boolean;
29
+ isValid: boolean;
30
+ children: React.ReactNode;
31
+ rowPinned?: boolean;
32
+ isGroup?: boolean;
33
+ }
34
+ export declare const NonEditorWrapper: React.ForwardRefExoticComponent<NonEditorWrapperProps & React.RefAttributes<InlineEditorErrorRef>>;
35
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface InlineEditErrorRef {
3
+ hide: () => void;
4
+ show: () => void;
5
+ }
6
+ interface InlineEditErrorProps {
7
+ errorMessage: string | string[];
8
+ }
9
+ export declare const InlineEditError: React.ForwardRefExoticComponent<InlineEditErrorProps & React.RefAttributes<InlineEditErrorRef>>;
10
+ export {};
@@ -0,0 +1,13 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition, GranularRequired } from '../types';
4
+ import { DataTableCellRendererProps } from './DataTableCell';
5
+ export interface LinkCellRendererParams<TValue> {
6
+ typographyProps?: TypographyProps;
7
+ getURL: (value: TValue, data: any) => string;
8
+ }
9
+ export type LinkCellColumnDefinition<TValue = any> = GranularRequired<ColumnDefinition<TValue, typeof LinkCellRenderer, LinkCellRendererParams<TValue>>, 'cellRendererParams'>;
10
+ export interface LinkCellRendererProps<TValue = any> extends DataTableCellRendererProps<TValue, LinkCellColumnDefinition> {
11
+ }
12
+ export declare const InternalLinkCellRenderer: React.FunctionComponent<LinkCellRendererProps>;
13
+ export declare const LinkCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,20 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { MultiSelectBulkEditorParams } from '../Panels/BulkEdit';
4
+ import { ColumnDefinition } from '../types';
5
+ import { DataTableCellRendererProps } from './DataTableCell';
6
+ export interface MultiSelectCellRendererParams<TValue, OptionValue> {
7
+ getId?: (cellValue: OptionValue) => string | number;
8
+ getLabel?: (cellValue: OptionValue) => string;
9
+ getValue?: (cellValue: TValue) => OptionValue[];
10
+ typographyProps?: TypographyProps;
11
+ }
12
+ export type MultiSelectCellColumnDefinition<TValue = any[], OptionValue = any, TFilterOption = any, TFilterValue = number | string> = ColumnDefinition<TValue, typeof MultiSelectCellRenderer, MultiSelectCellRendererParams<TValue, OptionValue>, never, // editor does not exist
13
+ never, // editor does not exist
14
+ TFilterOption, TFilterValue, 'multiSelect', MultiSelectBulkEditorParams>;
15
+ export interface MultiSelectCellRendererProps<TValue = any[], OptionValue = any> extends DataTableCellRendererProps<TValue, MultiSelectCellColumnDefinition<TValue, OptionValue>> {
16
+ }
17
+ export declare function getLabel(func: any, option: any): string;
18
+ export declare function getId(func: any, option: any): string | number;
19
+ export declare const InternalMultiSelectCellRenderer: React.FunctionComponent<MultiSelectCellRendererProps>;
20
+ export declare const MultiSelectCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,21 @@
1
+ import { InputProps, TypographyProps } from '@procore/core-react';
2
+ import { FormatConfig } from '@procore/labs-financials-utils/dist/configs';
3
+ import React from 'react';
4
+ import { ColumnDefinition } from '../types';
5
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
6
+ export interface NumberCellRendererParams {
7
+ typographyProps?: TypographyProps;
8
+ formatConfig?: Partial<FormatConfig>;
9
+ }
10
+ export type NumberCellColumnDefinition<TValue = number> = ColumnDefinition<TValue, typeof NumberCellRenderer, NumberCellRendererParams, typeof NumberCellEditor, NumberCellEditorParams>;
11
+ export interface NumberCellRendererProps<TValue = number | string> extends DataTableCellRendererProps<TValue, NumberCellColumnDefinition<TValue>> {
12
+ }
13
+ export declare const InternalNumberCellRenderer: React.FunctionComponent<NumberCellRendererProps>;
14
+ export declare const NumberCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
15
+ export interface NumberCellEditorParams {
16
+ inputProps?: InputProps;
17
+ }
18
+ export interface NumberCellEditorProps<TValue = number> extends DataTableCellEditorProps<TValue, NumberCellColumnDefinition<TValue>> {
19
+ }
20
+ export declare const InternalNumberCellEditor: React.ForwardRefExoticComponent<Omit<NumberCellEditorProps<number>, "ref"> & React.RefAttributes<HTMLInputElement>>;
21
+ export declare const NumberCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,18 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { AvatarStackItemFilter, ColumnDefinition } from '../types';
4
+ import { DataTableCellRendererProps } from './DataTableCell';
5
+ export interface PeopleCellRendererParams<TValue, PersonValue> extends AvatarStackItemFilter {
6
+ getCompanyName?: (person: PersonValue) => string;
7
+ getImageURL?: (person: PersonValue) => string;
8
+ getInitials?: (person: PersonValue) => string;
9
+ getPersonName?: (person: PersonValue) => string;
10
+ getValue?: (cellValue: TValue) => PersonValue[];
11
+ typographyProps?: TypographyProps;
12
+ }
13
+ export type PeopleCellColumnDefinition<TValue = any[], PersonValue = any, TFilterOption = any, TFilterValue = number | string> = ColumnDefinition<TValue, typeof PeopleCellRenderer, PeopleCellRendererParams<TValue, PersonValue>, never, // editor does not exist
14
+ never, // editor does not exist
15
+ TFilterOption, TFilterValue>;
16
+ export interface PeopleCellRendererProps<TValue = any[], PersonValue = any> extends DataTableCellRendererProps<TValue, PeopleCellColumnDefinition<TValue, PersonValue>> {
17
+ }
18
+ export declare const PeopleCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,23 @@
1
+ import { InputProps, TypographyProps } from '@procore/core-react';
2
+ import { FormatConfig } from '@procore/labs-financials-utils/dist/configs';
3
+ import React from 'react';
4
+ import { ColumnDefinition } from '../types';
5
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
6
+ export interface PercentCellRendererParams {
7
+ typographyProps?: TypographyProps;
8
+ formatConfig?: Partial<FormatConfig>;
9
+ }
10
+ export interface PercentCellEditorParams {
11
+ inputProps?: InputProps;
12
+ formatConfig?: Partial<FormatConfig>;
13
+ }
14
+ export type PercentCellColumnDefinition<TValue = any> = ColumnDefinition<TValue, typeof PercentCellRenderer, PercentCellRendererParams, typeof PercentCellEditor, PercentCellEditorParams> & {
15
+ rightAlign: true;
16
+ };
17
+ export interface PercentCellRendererProps<TValue = string> extends DataTableCellRendererProps<TValue, PercentCellColumnDefinition<TValue>> {
18
+ }
19
+ export declare const PercentCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
20
+ export interface PercentCellEditorProps<TValue = string> extends DataTableCellEditorProps<TValue, PercentCellColumnDefinition<TValue>> {
21
+ }
22
+ export declare const Editor: React.ForwardRefExoticComponent<Omit<PercentCellEditorProps<string>, "ref"> & React.RefAttributes<HTMLInputElement>>;
23
+ export declare const PercentCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,17 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition } from '../types';
4
+ import { DataTableCellRendererProps } from './DataTableCell';
5
+ export interface PersonCellRendererParams<TValue> {
6
+ getCompanyName?: (person: TValue) => string;
7
+ getImageURL?: (person: TValue) => string;
8
+ getInitials?: (person: TValue) => string;
9
+ getPersonName?: (person: TValue) => string;
10
+ typographyProps?: TypographyProps;
11
+ }
12
+ export type PersonCellColumnDefinition<TValue = any, TFilterOption = any, TFilterValue = number | string> = ColumnDefinition<TValue, typeof PersonCellRenderer, PersonCellRendererParams<TValue>, never, // editor does not exist
13
+ never, // editor does not exist
14
+ TFilterOption, TFilterValue>;
15
+ export interface PersonCellRendererProps<TValue = any> extends DataTableCellRendererProps<TValue, PersonCellColumnDefinition> {
16
+ }
17
+ export declare const PersonCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,22 @@
1
+ import { PillColor, TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition, GranularRequired } from '../types';
4
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
5
+ export interface PillCellRendererParams<TValue> {
6
+ getColor: (item: TValue) => PillColor;
7
+ typographyProps?: TypographyProps;
8
+ }
9
+ export type PillCellColumnDefinition<TValue = any, TFilterOption = any, TFilterValue = number | string> = GranularRequired<ColumnDefinition<TValue, typeof PillCellRenderer, PillCellRendererParams<TValue>, typeof PillSelectCellEditor, PillCellEditorParams<TValue>, TFilterOption, TFilterValue>, 'cellRendererParams'>;
10
+ export interface PillCellRendererProps<TValue = any> extends DataTableCellRendererProps<TValue, PillCellColumnDefinition<TValue>> {
11
+ }
12
+ export declare const PillCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
13
+ export interface PillCellEditorParams<TValue> {
14
+ clearable?: boolean;
15
+ getId?: (item: TValue) => number | string;
16
+ getColor?: (item: TValue) => PillColor;
17
+ placeholder?: string;
18
+ selectOptions: TValue[] | ((rowData: Record<string, any>) => TValue[]) | ((rowData: Record<string, any>) => Promise<TValue[]>);
19
+ }
20
+ export interface PillSelectCellEditorProps<TValue = any> extends DataTableCellEditorProps<TValue, PillCellColumnDefinition<TValue>> {
21
+ }
22
+ export declare const PillSelectCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { ColumnDefinition, GranularRequired } from '../types';
3
+ import { DataTableCellRendererProps } from './DataTableCell';
4
+ import './rowActionsCellStyles.scss';
5
+ export interface RowActionProps extends DataTableCellRendererProps {
6
+ }
7
+ export type RowAction = React.FunctionComponent<RowActionProps>;
8
+ export interface RowActionsCellRendererParams {
9
+ actions: RowAction[];
10
+ hideActionsOnGroupedRow: boolean;
11
+ }
12
+ export type RowActionsCellColumnDefinition<TValue = undefined> = GranularRequired<ColumnDefinition<TValue, typeof RowActionsCellRenderer, RowActionsCellRendererParams>, 'cellRendererParams'>;
13
+ export interface RowActionsCellRendererProps<TValue = undefined> extends DataTableCellRendererProps<TValue, RowActionsCellColumnDefinition<TValue>> {
14
+ }
15
+ export declare const InternalRowActionsCellRenderer: React.FC<RowActionsCellRendererProps>;
16
+ export declare const RowActionsCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
@@ -0,0 +1,9 @@
1
+ import { GridApi, IRowNode } from '@ag-grid-community/core';
2
+ import React from 'react';
3
+ type CheckboxProps = {
4
+ api: GridApi;
5
+ data: any;
6
+ node: IRowNode;
7
+ };
8
+ export default function RowCheckbox(props: CheckboxProps): React.JSX.Element;
9
+ export {};
@@ -0,0 +1,27 @@
1
+ import { TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { SelectBulkEditorParams } from '../Panels/BulkEdit';
4
+ import { ColumnDefinition, GranularRequired } from '../types';
5
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
6
+ export type SelectCellColumnDefinition<TValue = any, TFilterOption = any, TFilterValue = number | string> = GranularRequired<ColumnDefinition<TValue, typeof SelectCellRenderer, {
7
+ typographyProps?: TypographyProps;
8
+ }, typeof SelectCellEditor, SelectCellEditorParams<TValue>, TFilterOption, TFilterValue, 'select', SelectBulkEditorParams>, 'cellEditor' | 'cellEditorParams'>;
9
+ export interface SelectCellRendererProps<TValue = any> extends DataTableCellRendererProps<TValue, SelectCellColumnDefinition<TValue>> {
10
+ }
11
+ export declare const SelectCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;
12
+ type OnSearchParams = {
13
+ data: SelectCellEditorProps['data'];
14
+ event: React.ChangeEvent<HTMLInputElement>;
15
+ };
16
+ export interface SelectCellEditorParams<TValue> {
17
+ clearable?: boolean;
18
+ getId?: (item: TValue) => number | string;
19
+ getOptionLabel?: (option: any) => string;
20
+ placeholder?: string;
21
+ selectOptions: TValue[] | ((rowData: Record<string, any>) => TValue[]) | ((rowData: Record<string, any>) => Promise<TValue[]>);
22
+ onSearch?: (params: OnSearchParams) => TValue[] | Promise<TValue[]>;
23
+ }
24
+ export interface SelectCellEditorProps<TValue = any> extends DataTableCellEditorProps<TValue, SelectCellColumnDefinition<TValue>> {
25
+ }
26
+ export declare const SelectCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
27
+ export {};
@@ -0,0 +1,18 @@
1
+ import { TextAreaProps, TypographyProps } from '@procore/core-react';
2
+ import React from 'react';
3
+ import { ColumnDefinition, RowNode } from '../types';
4
+ import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
5
+ export interface TextAreaCellRendererParams {
6
+ typographyProps?: TypographyProps;
7
+ }
8
+ export interface TextAreaCellEditorParams {
9
+ textAreaProps?: TextAreaProps;
10
+ }
11
+ export type TextAreaCellColumnDefinition<TValue = string, TFilterOption = any, TFilterValue = number | string> = ColumnDefinition<TValue, typeof TextAreaCellRenderer, TextAreaCellRendererParams, typeof TextAreaCellEditor, TextAreaCellEditorParams, TFilterOption, TFilterValue>;
12
+ export interface TextAreaCellRendererProps<TValue = string> extends DataTableCellRendererProps<TValue, TextAreaCellColumnDefinition<TValue>> {
13
+ node?: RowNode;
14
+ }
15
+ export interface TextAreaCellEditorProps<TValue = string> extends DataTableCellEditorProps<TValue, TextAreaCellColumnDefinition<TValue>> {
16
+ }
17
+ export declare const TextAreaCellEditor: React.ForwardRefExoticComponent<import("@ag-grid-community/core").ICellEditorParams<any, any, any>>;
18
+ export declare const TextAreaCellRenderer: React.FC<import("@ag-grid-community/core").ICellRendererParams<any, any, any>>;