@absreim/react-bootstrap-data-grid-pro 3.0.0 → 4.0.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.
- package/common/constants.d.ts +2 -0
- package/common/constants.js +2 -0
- package/common/editing/types.d.ts +7 -0
- package/{grid → common}/filtering/FilterOptionsTable.d.ts +4 -4
- package/{grid → common}/filtering/types.d.ts +6 -6
- package/common/filtering/useFilterFormState.d.ts +3 -0
- package/common/index.d.ts +11 -0
- package/common/index.js +11 -0
- package/{grid → common}/pagination/PageSelector.d.ts +1 -1
- package/{grid → common}/pagination/PageSizeSelector.d.ts +1 -1
- package/{grid → common}/pagination/types.d.ts +2 -1
- package/{grid → common}/pipeline/useAugFormattedRows.d.ts +1 -1
- package/common/pipeline/useColNameToWidth.d.ts +3 -0
- package/common/pipeline/useColNameToWidth.js +7 -0
- package/{grid → common}/pipeline/useCombinedPipeline/index.d.ts +4 -4
- package/{grid → common}/pipeline/useCombinedPipeline/useCurrentPageRows.d.ts +1 -1
- package/{grid → common}/pipeline/useCombinedPipeline/useDisplayRows.d.ts +1 -1
- package/{grid → common}/pipeline/useCombinedPipeline/useDisplayRows.js +1 -2
- package/common/pipeline/useCombinedPipeline/useFilter.d.ts +4 -0
- package/common/pipeline/useCombinedPipeline/useFilterStateFromEditable.d.ts +4 -0
- package/{grid → common}/pipeline/useCombinedPipeline/useSortedRows.d.ts +2 -2
- package/{grid → common}/pipeline/useGridSelectionFns.d.ts +2 -2
- package/{grid → common}/sorting/types.d.ts +3 -3
- package/{grid/main/ColHeaderCell → common/sorting}/useSortHeaderStates.d.ts +2 -2
- package/{grid/main/ColHeaderCell → common/sorting}/useSortHeaderStates.js +4 -4
- package/common/styling/types.d.ts +21 -0
- package/{grid → common}/types.d.ts +21 -30
- package/common/util/index.d.ts +5 -0
- package/common/util/index.js +5 -0
- package/grid/constants.d.ts +2 -0
- package/grid/constants.js +2 -0
- package/grid/index.d.ts +3 -10
- package/grid/index.js +3 -10
- package/grid/{Grid.d.ts → main/Grid.d.ts} +0 -1
- package/grid/main/Grid.js +59 -0
- package/grid/main/GridBody.d.ts +4 -0
- package/grid/main/GridBody.js +13 -0
- package/grid/main/GridHeader.d.ts +4 -0
- package/grid/main/GridHeader.js +11 -0
- package/grid/main/getWidthStyles.d.ts +3 -0
- package/grid/main/getWidthStyles.js +6 -0
- package/grid/main/types.d.ts +32 -0
- package/grid.css +1 -0
- package/grid.scss +231 -0
- package/package.json +1 -1
- package/pro/index.d.ts +5 -0
- package/pro/index.js +5 -0
- package/{grid/InternalGrid.d.ts → table/InternalTable.d.ts} +6 -6
- package/{grid/InternalGrid.js → table/InternalTable.js} +7 -7
- package/table/Table.d.ts +5 -0
- package/{grid/Grid.js → table/Table.js} +10 -14
- package/{grid → table}/editing/EditableRow.d.ts +1 -2
- package/{grid → table}/editing/EditableRow.js +2 -2
- package/table/index.d.ts +5 -0
- package/table/index.js +5 -0
- package/{grid → table}/main/BodyRows.d.ts +7 -7
- package/{grid → table}/main/BodyRows.js +1 -1
- package/{grid → table}/main/ColHeaderCell/index.js +3 -3
- package/{grid → table}/selection/SelectAllHeaderCell.d.ts +1 -1
- package/table/style.scss +3 -0
- package/{grid → table}/styling/types.d.ts +1 -21
- package/table/styling/types.js +1 -0
- package/table/types.d.ts +19 -0
- package/table/types.js +1 -0
- package/{grid-pro → table-pro}/ColHeaderCellPro.js +4 -4
- package/table-pro/TablePro.d.ts +4 -0
- package/{grid-pro/GridPro.js → table-pro/TablePro.js} +9 -9
- package/{grid-pro → table-pro}/index.d.ts +2 -2
- package/{grid-pro → table-pro}/index.js +2 -2
- package/{grid-pro → table-pro}/reorder/ReorderHandleCell.js +1 -1
- package/{grid-pro → table-pro}/reorder/useKeyboardReorder.js +1 -1
- package/{grid-pro → table-pro}/resize/useResizeModel.d.ts +1 -1
- package/table-pro/style.scss +69 -0
- package/{grid-pro → table-pro}/types.d.ts +3 -3
- package/table-pro/types.js +1 -0
- package/table-pro.scss +1 -0
- package/grid/editing/types.d.ts +0 -16
- package/grid/filtering/useFilterFormState.d.ts +0 -3
- package/grid/pipeline/useCombinedPipeline/useFilter.d.ts +0 -4
- package/grid/pipeline/useCombinedPipeline/useFilterStateFromEditable.d.ts +0 -4
- package/grid-pro/GridPro.d.ts +0 -4
- /package/{grid → common}/editing/inputStrsToRowData.d.ts +0 -0
- /package/{grid → common}/editing/inputStrsToRowData.js +0 -0
- /package/{grid-pro/reorder → common/editing}/types.js +0 -0
- /package/{grid → common}/export/ExportForm.d.ts +0 -0
- /package/{grid → common}/export/ExportForm.js +0 -0
- /package/{grid → common}/export/types.d.ts +0 -0
- /package/{grid-pro/resize → common/export}/types.js +0 -0
- /package/{grid → common}/export/useExportFn.d.ts +0 -0
- /package/{grid → common}/export/useExportFn.js +0 -0
- /package/{grid → common}/filtering/DateFilterRow.d.ts +0 -0
- /package/{grid → common}/filtering/DateFilterRow.js +0 -0
- /package/{grid → common}/filtering/FilterOptionsTable.js +0 -0
- /package/{grid → common}/filtering/FilterRow.d.ts +0 -0
- /package/{grid → common}/filtering/FilterRow.js +0 -0
- /package/{grid → common}/filtering/NumberFilterRow.d.ts +0 -0
- /package/{grid → common}/filtering/NumberFilterRow.js +0 -0
- /package/{grid → common}/filtering/StringFilterRow.d.ts +0 -0
- /package/{grid → common}/filtering/StringFilterRow.js +0 -0
- /package/{grid → common}/filtering/types.js +0 -0
- /package/{grid → common}/filtering/useFilterFormState.js +0 -0
- /package/{grid → common}/pagination/PageSelector.js +0 -0
- /package/{grid → common}/pagination/PageSizeSelector.js +0 -0
- /package/{grid → common}/pagination/Pagination.d.ts +0 -0
- /package/{grid → common}/pagination/Pagination.js +0 -0
- /package/{grid-pro → common/pagination}/types.js +0 -0
- /package/{grid → common}/pipeline/types.d.ts +0 -0
- /package/{grid-pro/util → common/pipeline}/types.js +0 -0
- /package/{grid → common}/pipeline/useAugFormattedRows.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/index.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useCurrentPageRows.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useFilter.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useFilterStateFromEditable.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useFilterStateStore.d.ts +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useFilterStateStore.js +0 -0
- /package/{grid → common}/pipeline/useCombinedPipeline/useSortedRows.js +0 -0
- /package/{grid → common}/pipeline/useGetInputStrSubmitCallback.d.ts +0 -0
- /package/{grid → common}/pipeline/useGetInputStrSubmitCallback.js +0 -0
- /package/{grid → common}/pipeline/useGridSelectionFns.js +0 -0
- /package/{grid → common}/selection/types.d.ts +0 -0
- /package/{grid → common}/selection/types.js +0 -0
- /package/{grid → common}/sorting/arrowPlaceholder.d.ts +0 -0
- /package/{grid → common}/sorting/arrowPlaceholder.js +0 -0
- /package/{grid → common}/sorting/downArrow.d.ts +0 -0
- /package/{grid → common}/sorting/downArrow.js +0 -0
- /package/{grid → common}/sorting/sortOrderToAriaSort.d.ts +0 -0
- /package/{grid → common}/sorting/sortOrderToAriaSort.js +0 -0
- /package/{grid/editing → common/sorting}/types.js +0 -0
- /package/{grid → common}/sorting/upArrow.d.ts +0 -0
- /package/{grid → common}/sorting/upArrow.js +0 -0
- /package/{grid/export → common/styling}/types.js +0 -0
- /package/{grid → common}/toolbar/Toolbar.d.ts +0 -0
- /package/{grid → common}/toolbar/Toolbar.js +0 -0
- /package/{grid → common}/toolbar/ToolbarContainer.d.ts +0 -0
- /package/{grid → common}/toolbar/ToolbarContainer.js +0 -0
- /package/{grid → common}/toolbar/types.d.ts +0 -0
- /package/{grid/pagination → common/toolbar}/types.js +0 -0
- /package/{grid → common}/toolbar/useInterfaces.d.ts +0 -0
- /package/{grid → common}/toolbar/useInterfaces.js +0 -0
- /package/{grid/pipeline → common}/types.js +0 -0
- /package/{grid → common}/util/datetime.d.ts +0 -0
- /package/{grid → common}/util/datetime.js +0 -0
- /package/{grid → common}/util/getWidthStyle.d.ts +0 -0
- /package/{grid → common}/util/getWidthStyle.js +0 -0
- /package/{grid → common}/util/isSubset.d.ts +0 -0
- /package/{grid → common}/util/isSubset.js +0 -0
- /package/{grid → common}/util/trueModulo.d.ts +0 -0
- /package/{grid → common}/util/trueModulo.js +0 -0
- /package/{grid → common}/util/useControlledHover.d.ts +0 -0
- /package/{grid → common}/util/useControlledHover.js +0 -0
- /package/grid/{sorting → main}/types.js +0 -0
- /package/{grid → table}/editing/EditControlsCell.d.ts +0 -0
- /package/{grid → table}/editing/EditControlsCell.js +0 -0
- /package/{grid → table}/main/ColHeaderCell/index.d.ts +0 -0
- /package/{grid → table}/selection/SelectAllHeaderCell.js +0 -0
- /package/{grid → table}/selection/SelectionInput.d.ts +0 -0
- /package/{grid → table}/selection/SelectionInput.js +0 -0
- /package/{grid-pro → table-pro}/ColHeaderCellPro.d.ts +0 -0
- /package/{grid-pro → table-pro}/assets/HorizontalGrip.d.ts +0 -0
- /package/{grid-pro → table-pro}/assets/HorizontalGrip.js +0 -0
- /package/{grid-pro → table-pro}/assets/VerticalGrip.d.ts +0 -0
- /package/{grid-pro → table-pro}/assets/VerticalGrip.js +0 -0
- /package/{grid-pro/util → table-pro/lib}/regDragCleanup.d.ts +0 -0
- /package/{grid-pro/util → table-pro/lib}/regDragCleanup.js +0 -0
- /package/{grid-pro/util → table-pro/lib}/types.d.ts +0 -0
- /package/{grid/styling → table-pro/lib}/types.js +0 -0
- /package/{grid-pro → table-pro}/reorder/ReorderHandleCell.d.ts +0 -0
- /package/{grid-pro → table-pro}/reorder/ReorderHeaderCell.d.ts +0 -0
- /package/{grid-pro → table-pro}/reorder/ReorderHeaderCell.js +0 -0
- /package/{grid-pro → table-pro}/reorder/types.d.ts +0 -0
- /package/{grid/toolbar → table-pro/reorder}/types.js +0 -0
- /package/{grid-pro → table-pro}/reorder/useKeyboardReorder.d.ts +0 -0
- /package/{grid-pro → table-pro}/reorder/useKeyboardReorderListener.d.ts +0 -0
- /package/{grid-pro → table-pro}/reorder/useKeyboardReorderListener.js +0 -0
- /package/{grid-pro → table-pro}/reorder/useReorderStyles.d.ts +0 -0
- /package/{grid-pro → table-pro}/reorder/useReorderStyles.js +0 -0
- /package/{grid-pro → table-pro}/resize/types.d.ts +0 -0
- /package/{grid → table-pro/resize}/types.js +0 -0
- /package/{grid-pro → table-pro}/resize/useResizeModel.js +0 -0
- /package/{grid-pro → table-pro}/util/index.d.ts +0 -0
- /package/{grid-pro → table-pro}/util/index.js +0 -0
- /package/{grid-pro → table-pro}/util/reorderRows.d.ts +0 -0
- /package/{grid-pro → table-pro}/util/reorderRows.js +0 -0
- /package/{style.css → table-pro.css} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RowData, RowId } from "../types";
|
|
2
|
+
export type UpdateCallbackGenerator = (id: RowId) => (rowData: RowData) => void;
|
|
3
|
+
export interface EditModel {
|
|
4
|
+
getUpdateCallback: UpdateCallbackGenerator;
|
|
5
|
+
getDeleteCallback?: (id: RowId) => () => void;
|
|
6
|
+
editColWidth?: number;
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FC } from "react";
|
|
2
|
-
import {
|
|
3
|
-
import { FilterInputTableStyleModel } from "
|
|
2
|
+
import { EditableFilterState, FilterState } from "./types";
|
|
3
|
+
import { FilterInputTableStyleModel } from "../../table/styling/types";
|
|
4
4
|
export interface FilterOptionsTableProps {
|
|
5
|
-
filterState:
|
|
6
|
-
setFilterState: (filterState:
|
|
5
|
+
filterState: FilterState;
|
|
6
|
+
setFilterState: (filterState: EditableFilterState) => void;
|
|
7
7
|
closeFormCallback: () => void;
|
|
8
8
|
caption?: string;
|
|
9
9
|
styleModel?: FilterInputTableStyleModel;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export type
|
|
1
|
+
export type FilterState = Record<string, ColFilterState>;
|
|
2
|
+
export type EditableFilterState = Record<string, EditableColFilterState>;
|
|
3
3
|
export interface ColFilterState {
|
|
4
|
-
editableState:
|
|
4
|
+
editableState: EditableColFilterState;
|
|
5
5
|
label: string;
|
|
6
6
|
}
|
|
7
7
|
export interface AbstractFilterState {
|
|
@@ -44,11 +44,11 @@ export interface BetweenDatesFilterState extends AbstractDateFilterState {
|
|
|
44
44
|
endDate: Date | null;
|
|
45
45
|
}
|
|
46
46
|
export type DateFilterState = StartDateFilterState | EndDateFilterState | BetweenDatesFilterState;
|
|
47
|
-
export type
|
|
47
|
+
export type EditableColFilterState = StringFilterState | NumberFilterState | DateFilterState;
|
|
48
48
|
export interface ControlledFilterModel {
|
|
49
49
|
type?: "controlled";
|
|
50
|
-
tableFilterState:
|
|
51
|
-
setTableFilterState: (state:
|
|
50
|
+
tableFilterState: EditableFilterState;
|
|
51
|
+
setTableFilterState: (state: EditableFilterState) => void;
|
|
52
52
|
filterTableCaption?: string;
|
|
53
53
|
}
|
|
54
54
|
export type UncontrolledFilterModel = Partial<Pick<ControlledFilterModel, "tableFilterState" | "filterTableCaption">> & {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./editing/types";
|
|
2
|
+
export * from "./export/types";
|
|
3
|
+
export * from "./filtering/types";
|
|
4
|
+
export * from "./pagination/types";
|
|
5
|
+
export * from "./pipeline/types";
|
|
6
|
+
export * from "./sorting/types";
|
|
7
|
+
export * from "./styling/types";
|
|
8
|
+
export * from "./toolbar/types";
|
|
9
|
+
export * from "./selection/types";
|
|
10
|
+
export * from "./types";
|
|
11
|
+
export * from "./util";
|
package/common/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./editing/types";
|
|
2
|
+
export * from "./export/types";
|
|
3
|
+
export * from "./filtering/types";
|
|
4
|
+
export * from "./pagination/types";
|
|
5
|
+
export * from "./pipeline/types";
|
|
6
|
+
export * from "./sorting/types";
|
|
7
|
+
export * from "./styling/types";
|
|
8
|
+
export * from "./toolbar/types";
|
|
9
|
+
export * from "./selection/types";
|
|
10
|
+
export * from "./types";
|
|
11
|
+
export * from "./util";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
export type JustifyContentSetting = "start" | "end" | "center" | "between" | "around" | "evenly";
|
|
2
|
+
export type Size = "small" | "medium" | "large";
|
|
2
3
|
export interface PaginationOptions {
|
|
3
4
|
pageSizeOptions?: number[];
|
|
4
5
|
maxPageButtons?: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AugFormattedRow, FormattedRow } from "../types";
|
|
2
1
|
import { ColNameToWidth } from "./types";
|
|
2
|
+
import { AugFormattedRow, FormattedRow } from "../";
|
|
3
3
|
declare const useAugFormattedRows: (colNameToWidth: ColNameToWidth, rows: FormattedRow[]) => AugFormattedRow[];
|
|
4
4
|
export default useAugFormattedRows;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { SortedRowsOutput } from "./useSortedRows";
|
|
2
2
|
import { CurrentPageRowsOutput } from "./useCurrentPageRows";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
export type CombinedPipelineParams = Pick<
|
|
3
|
+
import { NormalizedTableFilterModel, FilterState } from "../../";
|
|
4
|
+
import { ColDefBase, FormattedRow, MainComponentSharedProps, RowDef } from "../../types";
|
|
5
|
+
export type CombinedPipelineParams = Pick<MainComponentSharedProps, "rows" | "filterModel" | "sortModel" | "pagination" | "selectModel"> & {
|
|
6
6
|
cols: ColDefBase[];
|
|
7
7
|
};
|
|
8
8
|
export interface UseCombinedPipelineHook {
|
|
9
9
|
normalizedTableFilterModel: NormalizedTableFilterModel | null;
|
|
10
10
|
filteredRows: RowDef[];
|
|
11
|
-
filterState:
|
|
11
|
+
filterState: FilterState | null;
|
|
12
12
|
sortedRowsOutput: SortedRowsOutput;
|
|
13
13
|
currentPageRowsOutput: CurrentPageRowsOutput;
|
|
14
14
|
showSelectCol: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AugRowDef, PostPaginationRowDef } from "../../types";
|
|
2
1
|
import { NormalizedPaginationModel, PaginationModel } from "../../pagination/types";
|
|
2
|
+
import { AugRowDef, PostPaginationRowDef } from "../../";
|
|
3
3
|
export interface CurrentPageRowsOutput {
|
|
4
4
|
paginatedRows: PostPaginationRowDef[];
|
|
5
5
|
normalizedModel: NormalizedPaginationModel | null;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ColDef, FormattedRow, PostPaginationRowDef } from "../../types";
|
|
2
2
|
declare const useDisplayRows: (currentPageRows: PostPaginationRowDef[], cols: ColDef[], ariaColIndexOffset: number) => FormattedRow[];
|
|
3
3
|
export default useDisplayRows;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
|
-
import { dateToDatetimeInputStr, dateToInputStr } from "../../util
|
|
2
|
+
import { dateToDatetimeInputStr, dateToInputStr } from "../../util";
|
|
3
3
|
const getFormattedValue = (value, formatter, typeString) => {
|
|
4
4
|
if (formatter) {
|
|
5
5
|
return formatter(value);
|
|
@@ -31,7 +31,6 @@ const useDisplayRows = (currentPageRows, cols, ariaColIndexOffset) => useMemo(()
|
|
|
31
31
|
const displayRow = [];
|
|
32
32
|
Object.keys(row.data).forEach((name) => {
|
|
33
33
|
if (!nameToIndex.has(name)) {
|
|
34
|
-
console.error(`Warning: row data contains a property named "${name}", but it was not found among the column definitions.`);
|
|
35
34
|
return;
|
|
36
35
|
}
|
|
37
36
|
const index = nameToIndex.get(name);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { EditableFilterState, FilterState } from "../../filtering/types";
|
|
2
|
+
import { ColDef } from "../../types";
|
|
3
|
+
declare const useFilterStateFromEditable: (colDefs: ColDef[], editableFilterState: EditableFilterState | null) => FilterState | null;
|
|
4
|
+
export default useFilterStateFromEditable;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { SortColDef, SortModel } from "../../sorting/types";
|
|
1
2
|
import { AugRowDef, ColDefBase } from "../../types";
|
|
2
|
-
import { SortColDef, TableSortModel } from "../../sorting/types";
|
|
3
3
|
export interface SortedRowsOutput {
|
|
4
4
|
sortedRows: AugRowDef[];
|
|
5
5
|
sortingEnabled: boolean;
|
|
6
6
|
sortColDef: SortColDef | null | undefined;
|
|
7
7
|
setSortColDef: ((sortColDef: SortColDef | null) => void) | undefined;
|
|
8
8
|
}
|
|
9
|
-
declare const useSortedRows: (rows: AugRowDef[], cols: ColDefBase[], sortModel:
|
|
9
|
+
declare const useSortedRows: (rows: AugRowDef[], cols: ColDefBase[], sortModel: SortModel | undefined) => SortedRowsOutput;
|
|
10
10
|
export default useSortedRows;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RowDef, RowId } from "../types";
|
|
2
1
|
import { MouseEventHandler } from "react";
|
|
3
2
|
import { SelectionInfo, SelectModel } from "../selection/types";
|
|
4
|
-
import { SelectionInputModel } from "
|
|
3
|
+
import { SelectionInputModel } from "../../table/selection/SelectionInput";
|
|
4
|
+
import { RowDef, RowId } from "../types";
|
|
5
5
|
export interface UseGridSelectionFnsHook {
|
|
6
6
|
selectedSet: Set<RowId>;
|
|
7
7
|
rowsAreSelectable: boolean | undefined;
|
|
@@ -7,13 +7,13 @@ export interface ColSortModel {
|
|
|
7
7
|
sortOrder: SortOrder | null;
|
|
8
8
|
setSortOrder: (order: SortOrder | null) => void;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface ControlledSortModel {
|
|
11
11
|
type?: "controlled";
|
|
12
12
|
sortColDef: SortColDef | null;
|
|
13
13
|
setSortColDef: (sortColDef: SortColDef | null) => void;
|
|
14
14
|
}
|
|
15
|
-
export interface
|
|
15
|
+
export interface UncontrolledSortModel {
|
|
16
16
|
type: "uncontrolled";
|
|
17
17
|
initialSortColDef: SortColDef | null;
|
|
18
18
|
}
|
|
19
|
-
export type
|
|
19
|
+
export type SortModel = ControlledSortModel | UncontrolledSortModel;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { UseControlledHoverHook } from "
|
|
1
|
+
import { UseControlledHoverHook } from "../util/useControlledHover";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
import { ColSortModel } from "
|
|
3
|
+
import { ColSortModel } from "./types";
|
|
4
4
|
export type UseSortHeaderStatesHook = UseControlledHoverHook<HTMLTableCellElement> & {
|
|
5
5
|
handleClick: () => void;
|
|
6
6
|
sortSymbol: ReactNode;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import useControlledHover from "
|
|
1
|
+
import useControlledHover from "../util/useControlledHover";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
import upArrow from "
|
|
4
|
-
import arrowPlaceholder from "
|
|
5
|
-
import downArrow from "
|
|
3
|
+
import upArrow from "./upArrow";
|
|
4
|
+
import arrowPlaceholder from "./arrowPlaceholder";
|
|
5
|
+
import downArrow from "./downArrow";
|
|
6
6
|
const useSortHeaderStates = (sortModel) => {
|
|
7
7
|
const { isHovering, setIsHovering, handleMouseOver, handleMouseOut } = useControlledHover();
|
|
8
8
|
const handleClick = () => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AdditionalComponentsStyleModel, FilterInputTableStyleModel, TableStyleModel } from "../../table";
|
|
2
|
+
export interface ToolbarStyleModel {
|
|
3
|
+
activeButton?: string[];
|
|
4
|
+
inactiveButton?: string[];
|
|
5
|
+
toolbar?: string[];
|
|
6
|
+
interfaceContainer?: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface ExportFormStyleModel {
|
|
9
|
+
legend?: string[];
|
|
10
|
+
radioContainer?: string[];
|
|
11
|
+
radioInput?: string[];
|
|
12
|
+
radioLabel?: string[];
|
|
13
|
+
submitButton?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface StyleModel {
|
|
16
|
+
mainTableStyleModel?: TableStyleModel;
|
|
17
|
+
filterInputTableStyleModel?: FilterInputTableStyleModel;
|
|
18
|
+
additionalComponentsStyleModel?: AdditionalComponentsStyleModel;
|
|
19
|
+
toolbarStyleModel?: ToolbarStyleModel;
|
|
20
|
+
exportFormStyleModel?: ExportFormStyleModel;
|
|
21
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EditModel } from "./editing/types";
|
|
2
2
|
import { PaginationModel } from "./pagination/types";
|
|
3
|
-
import {
|
|
3
|
+
import { SortModel } from "./sorting/types";
|
|
4
4
|
import { FilterModel } from "./filtering/types";
|
|
5
5
|
import { SelectModel } from "./selection/types";
|
|
6
6
|
import { StyleModel } from "./styling/types";
|
|
@@ -23,44 +23,35 @@ export interface RowDef<Data extends ValidRowData = ValidRowData> {
|
|
|
23
23
|
id: RowId;
|
|
24
24
|
data: RowData<Data>;
|
|
25
25
|
}
|
|
26
|
-
export
|
|
27
|
-
origIndex: number;
|
|
28
|
-
};
|
|
29
|
-
export type PostPaginationRowDef<Data extends ValidRowData = ValidRowData> = AugRowDef<Data> & {
|
|
30
|
-
prePaginationIndex: number;
|
|
31
|
-
};
|
|
32
|
-
export type FormattedRow = {
|
|
33
|
-
contents: CellData[];
|
|
34
|
-
} & Omit<PostPaginationRowDef, "data">;
|
|
35
|
-
export type AugCellData = CellData & {
|
|
36
|
-
width?: number;
|
|
37
|
-
};
|
|
38
|
-
export type AugFormattedRow = Omit<FormattedRow, "contents"> & {
|
|
39
|
-
contents: AugCellData[];
|
|
40
|
-
};
|
|
41
|
-
export type JustifyContentSetting = "start" | "end" | "center" | "between" | "around" | "evenly";
|
|
42
|
-
export type Size = "small" | "medium" | "large";
|
|
43
|
-
export type DisplayMode = "table" | "block";
|
|
44
|
-
export interface GridProps {
|
|
26
|
+
export interface MainComponentSharedProps {
|
|
45
27
|
rows: RowDef[];
|
|
46
28
|
cols: ColDef[];
|
|
47
29
|
pagination?: PaginationModel;
|
|
48
|
-
sortModel?:
|
|
30
|
+
sortModel?: SortModel;
|
|
49
31
|
filterModel?: FilterModel;
|
|
50
32
|
selectModel?: SelectModel;
|
|
51
33
|
editModel?: EditModel;
|
|
52
|
-
caption?: string;
|
|
53
34
|
styleModel?: StyleModel;
|
|
54
|
-
displayMode?: DisplayMode;
|
|
55
35
|
allowExport?: boolean;
|
|
56
36
|
}
|
|
57
|
-
export type
|
|
58
|
-
|
|
37
|
+
export type AugRowDef<Data extends ValidRowData = ValidRowData> = RowDef<Data> & {
|
|
38
|
+
origIndex: number;
|
|
59
39
|
};
|
|
60
|
-
export
|
|
61
|
-
|
|
62
|
-
|
|
40
|
+
export type PostPaginationRowDef<Data extends ValidRowData = ValidRowData> = AugRowDef<Data> & {
|
|
41
|
+
prePaginationIndex: number;
|
|
42
|
+
};
|
|
43
|
+
export interface CellData {
|
|
44
|
+
fieldName: string;
|
|
45
|
+
value: ColDataType;
|
|
46
|
+
type: ColDataTypeStrings;
|
|
63
47
|
ariaColIndex: number;
|
|
64
|
-
|
|
48
|
+
formattedValue: string;
|
|
49
|
+
label: string;
|
|
65
50
|
width?: number;
|
|
66
51
|
}
|
|
52
|
+
export type FormattedRow = {
|
|
53
|
+
contents: Omit<CellData, "width">[];
|
|
54
|
+
} & Omit<PostPaginationRowDef, "data">;
|
|
55
|
+
export type AugFormattedRow = {
|
|
56
|
+
contents: CellData[];
|
|
57
|
+
} & Omit<PostPaginationRowDef, "data">;
|
package/grid/index.d.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
export * from "./types";
|
|
2
|
-
export * from "
|
|
3
|
-
export
|
|
4
|
-
export * from "./selection/types";
|
|
5
|
-
export * from "./filtering/types";
|
|
6
|
-
export * from "./sorting/types";
|
|
7
|
-
export * from "./pagination/types";
|
|
8
|
-
export * from "./Grid";
|
|
9
|
-
export * from "./util/datetime";
|
|
10
|
-
export { default } from "./Grid";
|
|
1
|
+
export * from "./main/types";
|
|
2
|
+
export * from "../common";
|
|
3
|
+
export { default } from "./main/Grid";
|
package/grid/index.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
export * from "./types";
|
|
2
|
-
export * from "
|
|
3
|
-
export
|
|
4
|
-
export * from "./selection/types";
|
|
5
|
-
export * from "./filtering/types";
|
|
6
|
-
export * from "./sorting/types";
|
|
7
|
-
export * from "./pagination/types";
|
|
8
|
-
export * from "./Grid";
|
|
9
|
-
export * from "./util/datetime";
|
|
10
|
-
export { default } from "./Grid";
|
|
1
|
+
export * from "./main/types";
|
|
2
|
+
export * from "../common";
|
|
3
|
+
export { default } from "./main/Grid";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import useCombinedPipeline from "../../common/pipeline/useCombinedPipeline";
|
|
5
|
+
import useAugFormattedRows from "../../common/pipeline/useAugFormattedRows";
|
|
6
|
+
import useColNameToWidth from "../../common/pipeline/useColNameToWidth";
|
|
7
|
+
import GridHeader from "./GridHeader";
|
|
8
|
+
import GridBody from "./GridBody";
|
|
9
|
+
import classNames from "classnames";
|
|
10
|
+
import { CSS_PREFIX } from "../../common/constants";
|
|
11
|
+
const Grid = ({ rows, cols, filterModel, sortModel, pagination, selectModel, width, height, variant, stripes, hover, borders, small, divider, borderVariant, headerCellVariant, headerRowVariant, bodyCellVariant, bodyRowVariant, }) => {
|
|
12
|
+
const { displayRows, filteredRows } = useCombinedPipeline({
|
|
13
|
+
rows,
|
|
14
|
+
cols,
|
|
15
|
+
filterModel,
|
|
16
|
+
sortModel,
|
|
17
|
+
pagination,
|
|
18
|
+
selectModel,
|
|
19
|
+
});
|
|
20
|
+
const colNameToWidth = useColNameToWidth(cols);
|
|
21
|
+
const augFormattedRows = useAugFormattedRows(colNameToWidth, displayRows);
|
|
22
|
+
const gridStyle = useMemo(() => {
|
|
23
|
+
function getWidthProperty(width) {
|
|
24
|
+
if (width === "parent") {
|
|
25
|
+
return "100%";
|
|
26
|
+
}
|
|
27
|
+
if (typeof width === "number") {
|
|
28
|
+
return width;
|
|
29
|
+
}
|
|
30
|
+
return "min-content";
|
|
31
|
+
}
|
|
32
|
+
function getHeightProperty(height) {
|
|
33
|
+
if (height === "parent") {
|
|
34
|
+
return "100%";
|
|
35
|
+
}
|
|
36
|
+
if (typeof height === "number") {
|
|
37
|
+
return height;
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
width: getWidthProperty(width),
|
|
43
|
+
height: getHeightProperty(height),
|
|
44
|
+
};
|
|
45
|
+
}, [width, height]);
|
|
46
|
+
const vertScrollable = height !== undefined && height !== "auto";
|
|
47
|
+
return (_jsxs("div", { style: gridStyle, className: classNames({
|
|
48
|
+
"overflow-x-auto": width !== undefined && width !== "auto",
|
|
49
|
+
"overflow-y-auto": vertScrollable,
|
|
50
|
+
"rbdg-grid-striped": stripes === "rows",
|
|
51
|
+
"rbdg-grid-striped-columns": stripes === "columns",
|
|
52
|
+
"rbdg-grid-hover": !!hover,
|
|
53
|
+
"rbdg-grid-bordered": borders === "full",
|
|
54
|
+
"rbdg-grid-borderless": borders === "none",
|
|
55
|
+
"rbdg-grid-sm": !!small,
|
|
56
|
+
"rbdg-grid-group-divider": !!divider,
|
|
57
|
+
}, "rbdg-grid", variant && `${CSS_PREFIX}-${variant}`, borderVariant && `border-${borderVariant}`), role: "grid", "aria-colcount": cols.length, "aria-rowcount": filteredRows.length + 1, children: [_jsx(GridHeader, { cols: cols, rowVariant: headerRowVariant, cellVariant: headerCellVariant, vertScrollable: vertScrollable }), _jsx(GridBody, { augFormattedRows: augFormattedRows, cols: cols, rowVariant: bodyRowVariant, cellVariant: bodyCellVariant })] }));
|
|
58
|
+
};
|
|
59
|
+
export default Grid;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import getWidthStyles from "./getWidthStyles";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { CSS_PREFIX, DEFAULT_COL_WIDTH } from "../../common/constants";
|
|
5
|
+
import { GRID_BODY_DATA_TEST_ID } from "../constants";
|
|
6
|
+
const GridBody = ({ augFormattedRows, cols, rowVariant, cellVariant, }) => {
|
|
7
|
+
return (_jsx("div", { role: "rowgroup", "data-testid": GRID_BODY_DATA_TEST_ID, children: augFormattedRows.map((row, rowDisplayIndex) => (_jsx("div", { role: "row", "aria-rowindex": row.prePaginationIndex + 2, className: classNames("d-flex", "flex-row", rowVariant &&
|
|
8
|
+
rowVariant(row, rowDisplayIndex) &&
|
|
9
|
+
`${CSS_PREFIX}-${rowVariant(row, rowDisplayIndex)}`), children: row.contents.map(({ formattedValue, width }, index) => (_jsx("div", { style: getWidthStyles(width || DEFAULT_COL_WIDTH), role: "gridcell", className: classNames("rbdg-grid-cell", cellVariant &&
|
|
10
|
+
cellVariant(row.contents[index], row, index, rowDisplayIndex) &&
|
|
11
|
+
`${CSS_PREFIX}-${cellVariant(row.contents[index], row, index, rowDisplayIndex)}`), "aria-colindex": index + 1, children: formattedValue }, cols[index].name))) }, row.id))) }));
|
|
12
|
+
};
|
|
13
|
+
export default GridBody;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import getWidthStyles from "./getWidthStyles";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { CSS_PREFIX, DEFAULT_COL_WIDTH } from "../../common/constants";
|
|
5
|
+
import { GRID_HEADER_DATA_TEST_ID } from "../constants";
|
|
6
|
+
const GridHeader = ({ cols, vertScrollable, rowVariant, cellVariant, }) => {
|
|
7
|
+
return (_jsx("div", { "data-testid": GRID_HEADER_DATA_TEST_ID, role: "rowgroup", className: classNames(vertScrollable ? ["position-sticky", "z-1", "top-0"] : []), children: _jsx("div", { role: "row", className: classNames("d-flex", "flex-row", rowVariant && `${CSS_PREFIX}-${rowVariant}`), "aria-rowindex": 1, children: cols.map((col, index) => (_jsx("div", { className: classNames("rbdg-grid-cell", "fw-bold", cellVariant &&
|
|
8
|
+
cellVariant(col, index) &&
|
|
9
|
+
`${CSS_PREFIX}-${cellVariant(col, index)}`), role: "columnheader", "aria-colindex": index + 1, style: getWidthStyles(col.width || DEFAULT_COL_WIDTH), children: col.label }, col.name))) }) }));
|
|
10
|
+
};
|
|
11
|
+
export default GridHeader;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AugFormattedRow, CellData, ColDef, FormattedRow, MainComponentSharedProps } from "../../common";
|
|
2
|
+
export type GridProps = MainComponentSharedProps & {
|
|
3
|
+
height?: GridHeightSetting;
|
|
4
|
+
width?: GridWidthSetting;
|
|
5
|
+
variant?: string;
|
|
6
|
+
stripes?: GridStripeSetting;
|
|
7
|
+
hover?: boolean;
|
|
8
|
+
borders?: GridBorderSetting;
|
|
9
|
+
borderVariant?: string;
|
|
10
|
+
small?: boolean;
|
|
11
|
+
divider?: boolean;
|
|
12
|
+
headerRowVariant?: string;
|
|
13
|
+
headerCellVariant?: (col: ColDef, colIndex: number) => string | null;
|
|
14
|
+
bodyRowVariant?: (row: FormattedRow, displayIndex: number) => string | null;
|
|
15
|
+
bodyCellVariant?: (cell: CellData, row: FormattedRow, colIndex: number, displayIndex: number) => string | null;
|
|
16
|
+
};
|
|
17
|
+
export interface GridHeaderProps {
|
|
18
|
+
cols: GridProps["cols"];
|
|
19
|
+
vertScrollable: boolean;
|
|
20
|
+
rowVariant?: GridProps["headerRowVariant"];
|
|
21
|
+
cellVariant?: GridProps["headerCellVariant"];
|
|
22
|
+
}
|
|
23
|
+
export type GridBodyProps = {
|
|
24
|
+
augFormattedRows: AugFormattedRow[];
|
|
25
|
+
cols: GridProps["cols"];
|
|
26
|
+
rowVariant?: GridProps["bodyRowVariant"];
|
|
27
|
+
cellVariant?: GridProps["bodyCellVariant"];
|
|
28
|
+
};
|
|
29
|
+
export type GridHeightSetting = number | "auto" | "parent";
|
|
30
|
+
export type GridWidthSetting = number | "auto" | "parent";
|
|
31
|
+
export type GridStripeSetting = "rows" | "columns" | "none";
|
|
32
|
+
export type GridBorderSetting = "horizontal" | "full" | "none";
|
package/grid.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.rbdg-grid>div,.rbdg-grid>div>div,.rbdg-grid>div>div>div{border-color:inherit;border-style:solid;border-width:0}.rbdg-grid{--rbdg-grid-color: var(--bs-emphasis-color);--rbdg-grid-bg: var(--bs-body-bg);--rbdg-grid-border-color: var(--bs-border-color);--rbdg-grid-accent-bg: transparent;--rbdg-grid-striped-color: var(--bs-emphasis-color);--rbdg-grid-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--rbdg-grid-active-color: var(--bs-emphasis-color);--rbdg-grid-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--rbdg-grid-hover-color: var(--bs-emphasis-color);--rbdg-grid-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);border-color:var(--rbdg-grid-border-color)}.rbdg-grid>div{width:min-content}.rbdg-grid>div>div>div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:.5rem .5rem;color:var(--rbdg-grid-color-state, var(--rbdg-grid-color-type, var(--rbdg-grid-color)));background-color:var(--rbdg-grid-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--rbdg-grid-bg-state, var(--rbdg-grid-bg-type, var(--rbdg-grid-accent-bg)))}.rbdg-grid>div:first-child>div>div{border-bottom-width:var(--rbdg-grid-divider-border-width, var(--rbdg-grid-divider-borderless-width, var(--bs-border-width)));border-bottom-style:var(--rbdg-grid-divider-border-style, inherit);border-bottom-color:var(--rbdg-grid-divider-border-color, inherit)}.rbdg-grid-group-divider{--rbdg-grid-divider-border-width: calc(var(--bs-border-width) * 2);--rbdg-grid-divider-border-style: solid;--rbdg-grid-divider-border-color: currentcolor}.rbdg-grid-sm>div>div>div{padding:.25rem .25rem}.rbdg-grid-bordered{border-width:var(--bs-border-width);border-style:solid}.rbdg-grid-bordered>div>div>div:not(:last-child){border-width:0 var(--bs-border-width) 0 0}.rbdg-grid-bordered>div>div>div:last-child{border-width:0}.rbdg-grid-bordered>div:first-child>div{border-top-width:0;border-right-width:0;border-left-width:0;border-bottom-width:var(--rbdg-grid-divider-border-width, var(--rbdg-grid-divider-borderless-width, var(--bs-border-width)));border-bottom-style:var(--rbdg-grid-divider-border-style, inherit);border-bottom-color:var(--rbdg-grid-divider-border-color, inherit)}.rbdg-grid-bordered>div:last-child>div:not(:last-child){border-width:0 0 var(--bs-border-width) 0}.rbdg-grid-borderless{--rbdg-grid-divider-borderless-width: 0}.rbdg-grid-borderless>div>div>div{border-bottom-width:0}.rbdg-grid-borderless>:not(:first-child){border-top-width:0}.rbdg-grid-striped>div:nth-of-type(2)>div:nth-of-type(odd)>div{--rbdg-grid-color-type: var(--rbdg-grid-striped-color);--rbdg-grid-bg-type: var(--rbdg-grid-striped-bg)}.rbdg-grid-striped-columns>div>div>:nth-child(even){--rbdg-grid-color-type: var(--rbdg-grid-striped-color);--rbdg-grid-bg-type: var(--rbdg-grid-striped-bg)}.rbdg-grid-active{--rbdg-grid-color-state: var(--bs-grid-active-color);--rbdg-grid-bg-state: var(--rbdg-grid-active-bg)}.rbdg-grid-hover>div:nth-of-type(2)>div:hover>div{--rbdg-grid-color-state: var(--rbdg-grid-hover-color);--rbdg-grid-bg-state: var(--rbdg-grid-hover-bg)}.rbdg-grid-primary{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(206.6, 226, 254.6);--rbdg-grid-border-color: rgb(165.28, 180.8, 203.68);--rbdg-grid-striped-bg: rgb(196.27, 214.7, 241.87);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(185.94, 203.4, 229.14);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(191.105, 209.05, 235.505);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-secondary{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(225.6, 227.4, 229);--rbdg-grid-border-color: rgb(180.48, 181.92, 183.2);--rbdg-grid-striped-bg: rgb(214.32, 216.03, 217.55);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(203.04, 204.66, 206.1);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(208.68, 210.345, 211.825);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-success{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(209, 231, 220.8);--rbdg-grid-border-color: rgb(167.2, 184.8, 176.64);--rbdg-grid-striped-bg: rgb(198.55, 219.45, 209.76);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(188.1, 207.9, 198.72);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(193.325, 213.675, 204.24);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-info{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(206.6, 244.4, 252);--rbdg-grid-border-color: rgb(165.28, 195.52, 201.6);--rbdg-grid-striped-bg: rgb(196.27, 232.18, 239.4);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(185.94, 219.96, 226.8);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(191.105, 226.07, 233.1);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-warning{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(255, 242.6, 205.4);--rbdg-grid-border-color: rgb(204, 194.08, 164.32);--rbdg-grid-striped-bg: rgb(242.25, 230.47, 195.13);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(229.5, 218.34, 184.86);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(235.875, 224.405, 189.995);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-danger{--rbdg-grid-color: #000;--rbdg-grid-bg: rgb(248, 214.6, 217.8);--rbdg-grid-border-color: rgb(198.4, 171.68, 174.24);--rbdg-grid-striped-bg: rgb(235.6, 203.87, 206.91);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(223.2, 193.14, 196.02);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(229.4, 198.505, 201.465);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-light{--rbdg-grid-color: #000;--rbdg-grid-bg: #f8f9fa;--rbdg-grid-border-color: rgb(198.4, 199.2, 200);--rbdg-grid-striped-bg: rgb(235.6, 236.55, 237.5);--rbdg-grid-striped-color: #000;--rbdg-grid-active-bg: rgb(223.2, 224.1, 225);--rbdg-grid-active-color: #000;--rbdg-grid-hover-bg: rgb(229.4, 230.325, 231.25);--rbdg-grid-hover-color: #000;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}.rbdg-grid-dark{--rbdg-grid-color: #fff;--rbdg-grid-bg: #212529;--rbdg-grid-border-color: rgb(77.4, 80.6, 83.8);--rbdg-grid-striped-bg: rgb(44.1, 47.9, 51.7);--rbdg-grid-striped-color: #fff;--rbdg-grid-active-bg: rgb(55.2, 58.8, 62.4);--rbdg-grid-active-color: #fff;--rbdg-grid-hover-bg: rgb(49.65, 53.35, 57.05);--rbdg-grid-hover-color: #fff;color:var(--rbdg-grid-color);border-color:var(--rbdg-grid-border-color)}
|