@ekz/blueprintjs 0.2.0 → 0.2.1
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/lib/cjs/common/classes.d.ts +28 -0
- package/lib/cjs/common/classes.js +34 -0
- package/lib/cjs/common/classes.js.map +1 -0
- package/lib/cjs/common/index.d.ts +3 -0
- package/lib/cjs/common/index.js +9 -0
- package/lib/cjs/common/index.js.map +1 -0
- package/lib/cjs/components/pagination/index.d.ts +1 -0
- package/lib/cjs/components/pagination/index.js +5 -0
- package/lib/cjs/components/pagination/index.js.map +1 -0
- package/lib/cjs/components/pagination/pagination.d.ts +46 -0
- package/lib/cjs/components/pagination/pagination.js +46 -0
- package/lib/cjs/components/pagination/pagination.js.map +1 -0
- package/lib/cjs/components/table/columnFilter.d.ts +7 -0
- package/lib/cjs/components/table/columnFilter.js +23 -0
- package/lib/cjs/components/table/columnFilter.js.map +1 -0
- package/lib/cjs/components/table/columnHelpers.d.ts +340 -0
- package/lib/cjs/components/table/columnHelpers.js +39 -0
- package/lib/cjs/components/table/columnHelpers.js.map +1 -0
- package/lib/cjs/components/table/headerGroup.d.ts +8 -0
- package/lib/cjs/components/table/headerGroup.js +42 -0
- package/lib/cjs/components/table/headerGroup.js.map +1 -0
- package/lib/cjs/components/table/index.d.ts +9 -0
- package/lib/cjs/components/table/index.js +20 -0
- package/lib/cjs/components/table/index.js.map +1 -0
- package/lib/cjs/components/table/reactTableBase.d.ts +2 -0
- package/lib/cjs/components/table/reactTableBase.js +8 -0
- package/lib/cjs/components/table/reactTableBase.js.map +1 -0
- package/lib/cjs/components/table/table.d.ts +123 -0
- package/lib/cjs/components/table/table.js +229 -0
- package/lib/cjs/components/table/table.js.map +1 -0
- package/lib/cjs/components/table/tableMessages.d.ts +6 -0
- package/lib/cjs/components/table/tableMessages.js +11 -0
- package/lib/cjs/components/table/tableMessages.js.map +1 -0
- package/lib/cjs/components/table/theme.d.ts +4 -0
- package/lib/cjs/components/table/theme.js +9 -0
- package/lib/cjs/components/table/theme.js.map +1 -0
- package/lib/cjs/components/table/useAutoColumnSizer.d.ts +7 -0
- package/lib/cjs/components/table/useAutoColumnSizer.js +51 -0
- package/lib/cjs/components/table/useAutoColumnSizer.js.map +1 -0
- package/lib/cjs/components/table/useAutoHeight.d.ts +4 -0
- package/lib/cjs/components/table/useAutoHeight.js +69 -0
- package/lib/cjs/components/table/useAutoHeight.js.map +1 -0
- package/lib/cjs/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
- package/lib/cjs/components/table/useGroupedHeaderColumnSizer.js +57 -0
- package/lib/cjs/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
- package/lib/cjs/components/table/useTable.d.ts +122 -0
- package/lib/cjs/components/table/useTable.js +31 -0
- package/lib/cjs/components/table/useTable.js.map +1 -0
- package/lib/cjs/components/table/useTableExport.d.ts +6 -0
- package/lib/cjs/components/table/useTableExport.js +41 -0
- package/lib/cjs/components/table/useTableExport.js.map +1 -0
- package/lib/cjs/components/table/useTableState.d.ts +3 -0
- package/lib/cjs/components/table/useTableState.js +14 -0
- package/lib/cjs/components/table/useTableState.js.map +1 -0
- package/lib/cjs/components/table/utils.d.ts +1 -0
- package/lib/cjs/components/table/utils.js +8 -0
- package/lib/cjs/components/table/utils.js.map +1 -0
- package/lib/cjs/index.d.ts +7 -0
- package/lib/cjs/index.js +16 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/theme/baseTheme.d.ts +39 -0
- package/lib/cjs/theme/baseTheme.js +47 -0
- package/lib/cjs/theme/baseTheme.js.map +1 -0
- package/lib/cjs/theme/blueprintTheme.d.ts +26 -0
- package/lib/cjs/theme/blueprintTheme.js +99 -0
- package/lib/cjs/theme/blueprintTheme.js.map +1 -0
- package/lib/cjs/theme/index.d.ts +6 -0
- package/lib/cjs/theme/index.js +13 -0
- package/lib/cjs/theme/index.js.map +1 -0
- package/lib/cjs/theme/spacing.d.ts +2 -0
- package/lib/cjs/theme/spacing.js +13 -0
- package/lib/cjs/theme/spacing.js.map +1 -0
- package/lib/cjs/theme/useBlueprintTheme.d.ts +2 -0
- package/lib/cjs/theme/useBlueprintTheme.js +12 -0
- package/lib/cjs/theme/useBlueprintTheme.js.map +1 -0
- package/lib/css/blueprintjs.css +402 -0
- package/lib/css/blueprintjs.css.map +1 -0
- package/lib/esm/common/classes.d.ts +28 -0
- package/lib/esm/common/classes.js +31 -0
- package/lib/esm/common/classes.js.map +1 -0
- package/lib/esm/common/index.d.ts +3 -0
- package/lib/esm/common/index.js +4 -0
- package/lib/esm/common/index.js.map +1 -0
- package/lib/esm/components/pagination/index.d.ts +1 -0
- package/lib/esm/components/pagination/index.js +2 -0
- package/lib/esm/components/pagination/index.js.map +1 -0
- package/lib/esm/components/pagination/pagination.d.ts +46 -0
- package/lib/esm/components/pagination/pagination.js +42 -0
- package/lib/esm/components/pagination/pagination.js.map +1 -0
- package/lib/esm/components/table/columnFilter.d.ts +7 -0
- package/lib/esm/components/table/columnFilter.js +18 -0
- package/lib/esm/components/table/columnFilter.js.map +1 -0
- package/lib/esm/components/table/columnHelpers.d.ts +340 -0
- package/lib/esm/components/table/columnHelpers.js +36 -0
- package/lib/esm/components/table/columnHelpers.js.map +1 -0
- package/lib/esm/components/table/headerGroup.d.ts +8 -0
- package/lib/esm/components/table/headerGroup.js +39 -0
- package/lib/esm/components/table/headerGroup.js.map +1 -0
- package/lib/esm/components/table/index.d.ts +9 -0
- package/lib/esm/components/table/index.js +10 -0
- package/lib/esm/components/table/index.js.map +1 -0
- package/lib/esm/components/table/reactTableBase.d.ts +2 -0
- package/lib/esm/components/table/reactTableBase.js +3 -0
- package/lib/esm/components/table/reactTableBase.js.map +1 -0
- package/lib/esm/components/table/table.d.ts +123 -0
- package/lib/esm/components/table/table.js +225 -0
- package/lib/esm/components/table/table.js.map +1 -0
- package/lib/esm/components/table/tableMessages.d.ts +6 -0
- package/lib/esm/components/table/tableMessages.js +6 -0
- package/lib/esm/components/table/tableMessages.js.map +1 -0
- package/lib/esm/components/table/theme.d.ts +4 -0
- package/lib/esm/components/table/theme.js +6 -0
- package/lib/esm/components/table/theme.js.map +1 -0
- package/lib/esm/components/table/useAutoColumnSizer.d.ts +7 -0
- package/lib/esm/components/table/useAutoColumnSizer.js +46 -0
- package/lib/esm/components/table/useAutoColumnSizer.js.map +1 -0
- package/lib/esm/components/table/useAutoHeight.d.ts +4 -0
- package/lib/esm/components/table/useAutoHeight.js +65 -0
- package/lib/esm/components/table/useAutoHeight.js.map +1 -0
- package/lib/esm/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
- package/lib/esm/components/table/useGroupedHeaderColumnSizer.js +53 -0
- package/lib/esm/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
- package/lib/esm/components/table/useTable.d.ts +122 -0
- package/lib/esm/components/table/useTable.js +28 -0
- package/lib/esm/components/table/useTable.js.map +1 -0
- package/lib/esm/components/table/useTableExport.d.ts +6 -0
- package/lib/esm/components/table/useTableExport.js +37 -0
- package/lib/esm/components/table/useTableExport.js.map +1 -0
- package/lib/esm/components/table/useTableState.d.ts +3 -0
- package/lib/esm/components/table/useTableState.js +11 -0
- package/lib/esm/components/table/useTableState.js.map +1 -0
- package/lib/esm/components/table/utils.d.ts +1 -0
- package/lib/esm/components/table/utils.js +5 -0
- package/lib/esm/components/table/utils.js.map +1 -0
- package/lib/esm/index.d.ts +7 -0
- package/lib/esm/index.js +11 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/theme/baseTheme.d.ts +39 -0
- package/lib/esm/theme/baseTheme.js +44 -0
- package/lib/esm/theme/baseTheme.js.map +1 -0
- package/lib/esm/theme/blueprintTheme.d.ts +26 -0
- package/lib/esm/theme/blueprintTheme.js +96 -0
- package/lib/esm/theme/blueprintTheme.js.map +1 -0
- package/lib/esm/theme/index.d.ts +6 -0
- package/lib/esm/theme/index.js +5 -0
- package/lib/esm/theme/index.js.map +1 -0
- package/lib/esm/theme/spacing.d.ts +2 -0
- package/lib/esm/theme/spacing.js +9 -0
- package/lib/esm/theme/spacing.js.map +1 -0
- package/lib/esm/theme/useBlueprintTheme.d.ts +2 -0
- package/lib/esm/theme/useBlueprintTheme.js +9 -0
- package/lib/esm/theme/useBlueprintTheme.js.map +1 -0
- package/lib/esnext/common/classes.d.ts +28 -0
- package/lib/esnext/common/classes.js +31 -0
- package/lib/esnext/common/classes.js.map +1 -0
- package/lib/esnext/common/index.d.ts +3 -0
- package/lib/esnext/common/index.js +4 -0
- package/lib/esnext/common/index.js.map +1 -0
- package/lib/esnext/components/pagination/index.d.ts +1 -0
- package/lib/esnext/components/pagination/index.js +2 -0
- package/lib/esnext/components/pagination/index.js.map +1 -0
- package/lib/esnext/components/pagination/pagination.d.ts +46 -0
- package/lib/esnext/components/pagination/pagination.js +42 -0
- package/lib/esnext/components/pagination/pagination.js.map +1 -0
- package/lib/esnext/components/table/columnFilter.d.ts +7 -0
- package/lib/esnext/components/table/columnFilter.js +18 -0
- package/lib/esnext/components/table/columnFilter.js.map +1 -0
- package/lib/esnext/components/table/columnHelpers.d.ts +340 -0
- package/lib/esnext/components/table/columnHelpers.js +36 -0
- package/lib/esnext/components/table/columnHelpers.js.map +1 -0
- package/lib/esnext/components/table/headerGroup.d.ts +8 -0
- package/lib/esnext/components/table/headerGroup.js +39 -0
- package/lib/esnext/components/table/headerGroup.js.map +1 -0
- package/lib/esnext/components/table/index.d.ts +9 -0
- package/lib/esnext/components/table/index.js +10 -0
- package/lib/esnext/components/table/index.js.map +1 -0
- package/lib/esnext/components/table/reactTableBase.d.ts +2 -0
- package/lib/esnext/components/table/reactTableBase.js +3 -0
- package/lib/esnext/components/table/reactTableBase.js.map +1 -0
- package/lib/esnext/components/table/table.d.ts +123 -0
- package/lib/esnext/components/table/table.js +225 -0
- package/lib/esnext/components/table/table.js.map +1 -0
- package/lib/esnext/components/table/tableMessages.d.ts +6 -0
- package/lib/esnext/components/table/tableMessages.js +6 -0
- package/lib/esnext/components/table/tableMessages.js.map +1 -0
- package/lib/esnext/components/table/theme.d.ts +4 -0
- package/lib/esnext/components/table/theme.js +6 -0
- package/lib/esnext/components/table/theme.js.map +1 -0
- package/lib/esnext/components/table/useAutoColumnSizer.d.ts +7 -0
- package/lib/esnext/components/table/useAutoColumnSizer.js +46 -0
- package/lib/esnext/components/table/useAutoColumnSizer.js.map +1 -0
- package/lib/esnext/components/table/useAutoHeight.d.ts +4 -0
- package/lib/esnext/components/table/useAutoHeight.js +65 -0
- package/lib/esnext/components/table/useAutoHeight.js.map +1 -0
- package/lib/esnext/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
- package/lib/esnext/components/table/useGroupedHeaderColumnSizer.js +53 -0
- package/lib/esnext/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
- package/lib/esnext/components/table/useTable.d.ts +122 -0
- package/lib/esnext/components/table/useTable.js +28 -0
- package/lib/esnext/components/table/useTable.js.map +1 -0
- package/lib/esnext/components/table/useTableExport.d.ts +6 -0
- package/lib/esnext/components/table/useTableExport.js +37 -0
- package/lib/esnext/components/table/useTableExport.js.map +1 -0
- package/lib/esnext/components/table/useTableState.d.ts +3 -0
- package/lib/esnext/components/table/useTableState.js +11 -0
- package/lib/esnext/components/table/useTableState.js.map +1 -0
- package/lib/esnext/components/table/utils.d.ts +1 -0
- package/lib/esnext/components/table/utils.js +5 -0
- package/lib/esnext/components/table/utils.js.map +1 -0
- package/lib/esnext/index.d.ts +7 -0
- package/lib/esnext/index.js +11 -0
- package/lib/esnext/index.js.map +1 -0
- package/lib/esnext/theme/baseTheme.d.ts +39 -0
- package/lib/esnext/theme/baseTheme.js +44 -0
- package/lib/esnext/theme/baseTheme.js.map +1 -0
- package/lib/esnext/theme/blueprintTheme.d.ts +26 -0
- package/lib/esnext/theme/blueprintTheme.js +96 -0
- package/lib/esnext/theme/blueprintTheme.js.map +1 -0
- package/lib/esnext/theme/index.d.ts +6 -0
- package/lib/esnext/theme/index.js +5 -0
- package/lib/esnext/theme/index.js.map +1 -0
- package/lib/esnext/theme/spacing.d.ts +2 -0
- package/lib/esnext/theme/spacing.js +9 -0
- package/lib/esnext/theme/spacing.js.map +1 -0
- package/lib/esnext/theme/useBlueprintTheme.d.ts +2 -0
- package/lib/esnext/theme/useBlueprintTheme.js +9 -0
- package/lib/esnext/theme/useBlueprintTheme.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { type InitialTableState, type Row, type Table as TableAPI, type TableOptions } from './reactTableBase';
|
|
2
|
+
/**
|
|
3
|
+
* `UseTableOptions` is a reexport of `TableOptions` with more options and relevant documentation.
|
|
4
|
+
* Not all properties supported by `@tanstack/react-table` have been documented here.
|
|
5
|
+
*/
|
|
6
|
+
export interface UseTableOptions<T = unknown> extends Omit<TableOptions<T>, 'getCoreRowModel' | 'state' | 'onStateChange'> {
|
|
7
|
+
/**
|
|
8
|
+
* The typed column definitions. Every column in the table must have its own definition.
|
|
9
|
+
*/
|
|
10
|
+
columns: TableOptions<T>['columns'];
|
|
11
|
+
/**
|
|
12
|
+
* The table data. Each row will receive an instance of this element.
|
|
13
|
+
*/
|
|
14
|
+
data: TableOptions<T>['data'];
|
|
15
|
+
/**
|
|
16
|
+
* The table state can be provided to make the it controlled. See the documentation regarding recommended usage
|
|
17
|
+
* of this property.
|
|
18
|
+
*/
|
|
19
|
+
state?: TableOptions<T>['state'];
|
|
20
|
+
/**
|
|
21
|
+
* Use this option to optionally pass initial state to the table. This state will be used
|
|
22
|
+
* when resetting various table states either automatically by the table (eg. `options.autoResetPageIndex`)
|
|
23
|
+
* or via functions like `table.resetRowSelection()`.
|
|
24
|
+
* */
|
|
25
|
+
initialState?: InitialTableState;
|
|
26
|
+
/**
|
|
27
|
+
* Allows row selection. An optional function can be provided to conditionally allow row selection.
|
|
28
|
+
*
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
enableRowSelection?: TableOptions<T>['enableRowSelection'];
|
|
32
|
+
/**
|
|
33
|
+
* Allows row expansion.
|
|
34
|
+
*
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
enableExpanding?: TableOptions<T>['enableExpanding'];
|
|
38
|
+
/**
|
|
39
|
+
* Allows column sorting.
|
|
40
|
+
*
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
enableSorting?: TableOptions<T>['enableSorting'];
|
|
44
|
+
/**
|
|
45
|
+
* Allows general filtering.
|
|
46
|
+
*
|
|
47
|
+
* @default true
|
|
48
|
+
*/
|
|
49
|
+
enableFilters?: TableOptions<T>['enableFilters'];
|
|
50
|
+
/**
|
|
51
|
+
* Allows global filter in top toolbar.
|
|
52
|
+
*
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
enableGlobalFilter?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Set true to display table loading indicator.
|
|
58
|
+
*
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
isLoading?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* When set, the provided component will be used instead of the original `<Spinner />`.
|
|
64
|
+
*/
|
|
65
|
+
loadingIndicator?: React.ReactNode;
|
|
66
|
+
/**
|
|
67
|
+
* When defined, the callback can return an optional class name that will be added to the specific row.
|
|
68
|
+
* Depending on the CSS properties in the class, it might be needed to use `!important` to take higher
|
|
69
|
+
* precedence.
|
|
70
|
+
*/
|
|
71
|
+
getRowClassName?: (originalRow: T, index: number) => string | null | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* When defined, callback is called to determine if the row is clickable. Return `false` to disable clicking.
|
|
74
|
+
*/
|
|
75
|
+
getRowClickable?: (originalRow: T, index: number) => boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Callback is called when row is clicked.
|
|
78
|
+
*/
|
|
79
|
+
onRowClick?: (originalRow: T, row: Row<T>, event: React.MouseEvent<HTMLDivElement>) => void;
|
|
80
|
+
/**
|
|
81
|
+
* Callback is called when there are changes to the `pagination` property of the table `state`.
|
|
82
|
+
*/
|
|
83
|
+
onPaginationChange?: TableOptions<T>['onPaginationChange'];
|
|
84
|
+
/**
|
|
85
|
+
* Callback is called when there are changes to the `rowSelection` property of the table `state`.
|
|
86
|
+
*/
|
|
87
|
+
onRowSelectionChange?: TableOptions<T>['onRowSelectionChange'];
|
|
88
|
+
/**
|
|
89
|
+
* Callback is called when there are changes to the `expanded` property of the table `state`.
|
|
90
|
+
*/
|
|
91
|
+
onExpandedChange?: TableOptions<T>['onExpandedChange'];
|
|
92
|
+
/**
|
|
93
|
+
* Callback is called when there are changes to the `globalFilter` property of the table `state`.
|
|
94
|
+
*/
|
|
95
|
+
onGlobalFilterChange?: TableOptions<T>['onGlobalFilterChange'];
|
|
96
|
+
/**
|
|
97
|
+
* The callback might return an optional list of sub-rows to be rendered when the parent row
|
|
98
|
+
* is expanded.
|
|
99
|
+
*/
|
|
100
|
+
getSubRows?: (originalRow: T, index: number) => undefined | T[];
|
|
101
|
+
/**
|
|
102
|
+
* The callback might return an optional `React.ReactNode` to be rendered below the expanded row.
|
|
103
|
+
*/
|
|
104
|
+
getSubComponent?: (originalRow: T, index: number) => undefined | React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Normally, the sub-components can be controlled using the standard `state.expanded` and its related
|
|
107
|
+
* event handlers. When that is not desirable, provide this callback which will override the `expanded`
|
|
108
|
+
* state. When using this callback, the column helper `expansion` only controls sub-rows.
|
|
109
|
+
*/
|
|
110
|
+
getSubComponentExpanded?: (originalRow: T, index: number) => boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface TableMetadata {
|
|
113
|
+
enableGlobalFilter: UseTableOptions['enableGlobalFilter'];
|
|
114
|
+
getRowClickable: UseTableOptions['getRowClickable'];
|
|
115
|
+
getSubComponent: UseTableOptions['getSubComponent'];
|
|
116
|
+
getSubComponentExpanded: UseTableOptions['getSubComponentExpanded'];
|
|
117
|
+
getRowClassName: UseTableOptions['getRowClassName'];
|
|
118
|
+
isLoading: UseTableOptions['isLoading'];
|
|
119
|
+
loadingIndicator: UseTableOptions['loadingIndicator'];
|
|
120
|
+
onRowClick: UseTableOptions['onRowClick'];
|
|
121
|
+
}
|
|
122
|
+
export declare function useTable<T>(options: UseTableOptions<T>): TableAPI<T>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useReactTable } from '@tanstack/react-table';
|
|
2
|
+
import { getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getPaginationRowModel, getSortedRowModel } from './reactTableBase';
|
|
3
|
+
export function useTable(options) {
|
|
4
|
+
return useReactTable({
|
|
5
|
+
columnResizeMode: 'onChange',
|
|
6
|
+
getCoreRowModel: getCoreRowModel(),
|
|
7
|
+
getExpandedRowModel: getExpandedRowModel(),
|
|
8
|
+
getFacetedMinMaxValues: getFacetedMinMaxValues(),
|
|
9
|
+
getFacetedRowModel: getFacetedRowModel(),
|
|
10
|
+
getFacetedUniqueValues: getFacetedUniqueValues(),
|
|
11
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
12
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
13
|
+
getSortedRowModel: getSortedRowModel(),
|
|
14
|
+
...options,
|
|
15
|
+
meta: {
|
|
16
|
+
...options.meta,
|
|
17
|
+
enableGlobalFilter: options.enableGlobalFilter ?? true,
|
|
18
|
+
getRowClickable: options.getRowClickable,
|
|
19
|
+
getSubComponent: options.getSubComponent,
|
|
20
|
+
getSubComponentExpanded: options.getSubComponentExpanded,
|
|
21
|
+
getRowClassName: options.getRowClassName,
|
|
22
|
+
isLoading: options.isLoading,
|
|
23
|
+
loadingIndicator: options.loadingIndicator,
|
|
24
|
+
onRowClick: options.onRowClick
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTable.js","sourceRoot":"","sources":["../../../../src/main/web/components/table/useTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EAKpB,MAAM,kBAAkB,CAAC;AAmJ1B,MAAM,UAAU,QAAQ,CAAI,OAA2B;IACnD,OAAO,aAAa,CAAC;QACjB,gBAAgB,EAAE,UAAU;QAC5B,eAAe,EAAE,eAAe,EAAE;QAClC,mBAAmB,EAAE,mBAAmB,EAAE;QAC1C,sBAAsB,EAAE,sBAAsB,EAAE;QAChD,kBAAkB,EAAE,kBAAkB,EAAE;QACxC,sBAAsB,EAAE,sBAAsB,EAAE;QAChD,mBAAmB,EAAE,mBAAmB,EAAE;QAC1C,qBAAqB,EAAE,qBAAqB,EAAE;QAC9C,iBAAiB,EAAE,iBAAiB,EAAE;QACtC,GAAG,OAAO;QACV,IAAI,EAAE;YACF,GAAG,OAAO,CAAC,IAAI;YACf,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,IAAI;YACtD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
+
export function useTableExport(table) {
|
|
4
|
+
const createCsv = React.useCallback(() => {
|
|
5
|
+
return [
|
|
6
|
+
table
|
|
7
|
+
.getVisibleFlatColumns()
|
|
8
|
+
.filter((column) => column.accessorFn != null)
|
|
9
|
+
.map((column) => column.id)
|
|
10
|
+
.map((value) => `"${value.toString().replace(/"/g, '""')}"`)
|
|
11
|
+
.join(',')
|
|
12
|
+
]
|
|
13
|
+
.concat(table.getPrePaginationRowModel().flatRows.map((row) => row
|
|
14
|
+
.getVisibleCells()
|
|
15
|
+
.filter((cell) => cell.column.accessorFn != null)
|
|
16
|
+
.map((cell) => cell.getValue())
|
|
17
|
+
.map((value) => typeof value === 'string' ? `"${value.replace(/"/g, '""')}"` : value)
|
|
18
|
+
.join(',')))
|
|
19
|
+
.join('\n');
|
|
20
|
+
}, [table]);
|
|
21
|
+
const downloadCsvAsBlob = React.useCallback((fileName) => {
|
|
22
|
+
const blob = new Blob([createCsv()], { type: 'text/csv' });
|
|
23
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
24
|
+
const element = document.createElement('a', {});
|
|
25
|
+
element.href = blobUrl;
|
|
26
|
+
element.target = '_blank';
|
|
27
|
+
element.download = `${fileName}.csv`;
|
|
28
|
+
document.body.append(element);
|
|
29
|
+
element.click();
|
|
30
|
+
element.remove();
|
|
31
|
+
}, [createCsv]);
|
|
32
|
+
return React.useMemo(() => ({
|
|
33
|
+
createCsv,
|
|
34
|
+
downloadCsvAsBlob
|
|
35
|
+
}), [createCsv, downloadCsvAsBlob]);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=useTableExport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableExport.js","sourceRoot":"","sources":["../../../../src/main/web/components/table/useTableExport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,KAAoB;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACrC,OAAO;YACH,KAAK;iBACA,qBAAqB,EAAE;iBACvB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC;SACjB;aACI,MAAM,CACH,KAAK,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,GAAG;aACE,eAAe,EAAE;aACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;aAChD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACX,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CACvE;aACA,IAAI,CAAC,GAAG,CAAC,CACjB,CACJ;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,QAAgB,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,OAAO,CAAC,QAAQ,GAAG,GAAG,QAAQ,MAAM,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,EACD,CAAC,SAAS,CAAC,CACd,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAChB,GAAG,EAAE,CAAC,CAAC;QACH,SAAS;QACT,iBAAiB;KACpB,CAAC,EACF,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACjC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
export function useTableState(table) {
|
|
3
|
+
const state = useState(table.initialState);
|
|
4
|
+
table.setOptions((previous) => ({
|
|
5
|
+
...previous,
|
|
6
|
+
onStateChange: state[1],
|
|
7
|
+
state: state[0]
|
|
8
|
+
}));
|
|
9
|
+
return state;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useTableState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableState.js","sourceRoot":"","sources":["../../../../src/main/web/components/table/useTableState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIrE,MAAM,UAAU,aAAa,CACzB,KAAe;IAEf,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3C,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,QAAQ;QACX,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;KAClB,CAAC,CAAC,CAAC;IACJ,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function stopPropagation(event: React.SyntheticEvent): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/main/web/components/table/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAA2B;IACvD,KAAK,CAAC,eAAe,EAAE,CAAC;IACxB,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './common';
|
|
2
|
+
export * from './components/pagination';
|
|
3
|
+
export * from './components/table';
|
|
4
|
+
export * from './theme';
|
|
5
|
+
// @blueprintjs/core and @blueprintjs/select both export their own `Classes`
|
|
6
|
+
// namespace, ambiguous with ours from ./common — pin ours explicitly so the
|
|
7
|
+
// star exports below don't collide.
|
|
8
|
+
export { Classes } from './common';
|
|
9
|
+
export * from '@blueprintjs/core';
|
|
10
|
+
export * from '@blueprintjs/select';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/web/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AAExB,4EAA4E;AAC5E,4EAA4E;AAC5E,oCAAoC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const blueprintBaseTheme: {
|
|
2
|
+
white: string;
|
|
3
|
+
gray1: string;
|
|
4
|
+
gray2: string;
|
|
5
|
+
gray3: string;
|
|
6
|
+
gray4: string;
|
|
7
|
+
gray5: string;
|
|
8
|
+
lightGray1: string;
|
|
9
|
+
lightGray2: string;
|
|
10
|
+
lightGray3: string;
|
|
11
|
+
lightGray4: string;
|
|
12
|
+
lightGray5: string;
|
|
13
|
+
darkGray1: string;
|
|
14
|
+
darkGray2: string;
|
|
15
|
+
darkGray3: string;
|
|
16
|
+
darkGray4: string;
|
|
17
|
+
darkGray5: string;
|
|
18
|
+
blue1: string;
|
|
19
|
+
blue2: string;
|
|
20
|
+
blue3: string;
|
|
21
|
+
blue4: string;
|
|
22
|
+
blue5: string;
|
|
23
|
+
green1: string;
|
|
24
|
+
green2: string;
|
|
25
|
+
green3: string;
|
|
26
|
+
green4: string;
|
|
27
|
+
green5: string;
|
|
28
|
+
orange1: string;
|
|
29
|
+
orange2: string;
|
|
30
|
+
orange3: string;
|
|
31
|
+
orange4: string;
|
|
32
|
+
orange5: string;
|
|
33
|
+
red1: string;
|
|
34
|
+
red2: string;
|
|
35
|
+
red3: string;
|
|
36
|
+
red4: string;
|
|
37
|
+
red5: string;
|
|
38
|
+
};
|
|
39
|
+
export type BlueprintBaseTheme = typeof blueprintBaseTheme;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Colors } from '@blueprintjs/core';
|
|
2
|
+
// Blueprint's own neutral/semantic color scale, reshaped for spreading into a
|
|
3
|
+
// styled-components theme. Apps add their own brand-specific tokens (primary,
|
|
4
|
+
// accent, ...) on top — this only covers colors Blueprint already defines, so
|
|
5
|
+
// there's nothing here for an app to get "wrong" or drift on.
|
|
6
|
+
export const blueprintBaseTheme = {
|
|
7
|
+
white: Colors.WHITE,
|
|
8
|
+
gray1: Colors.GRAY1,
|
|
9
|
+
gray2: Colors.GRAY2,
|
|
10
|
+
gray3: Colors.GRAY3,
|
|
11
|
+
gray4: Colors.GRAY4,
|
|
12
|
+
gray5: Colors.GRAY5,
|
|
13
|
+
lightGray1: Colors.LIGHT_GRAY1,
|
|
14
|
+
lightGray2: Colors.LIGHT_GRAY2,
|
|
15
|
+
lightGray3: Colors.LIGHT_GRAY3,
|
|
16
|
+
lightGray4: Colors.LIGHT_GRAY4,
|
|
17
|
+
lightGray5: Colors.LIGHT_GRAY5,
|
|
18
|
+
darkGray1: Colors.DARK_GRAY1,
|
|
19
|
+
darkGray2: Colors.DARK_GRAY2,
|
|
20
|
+
darkGray3: Colors.DARK_GRAY3,
|
|
21
|
+
darkGray4: Colors.DARK_GRAY4,
|
|
22
|
+
darkGray5: Colors.DARK_GRAY5,
|
|
23
|
+
blue1: Colors.BLUE1,
|
|
24
|
+
blue2: Colors.BLUE2,
|
|
25
|
+
blue3: Colors.BLUE3,
|
|
26
|
+
blue4: Colors.BLUE4,
|
|
27
|
+
blue5: Colors.BLUE5,
|
|
28
|
+
green1: Colors.GREEN1,
|
|
29
|
+
green2: Colors.GREEN2,
|
|
30
|
+
green3: Colors.GREEN3,
|
|
31
|
+
green4: Colors.GREEN4,
|
|
32
|
+
green5: Colors.GREEN5,
|
|
33
|
+
orange1: Colors.ORANGE1,
|
|
34
|
+
orange2: Colors.ORANGE2,
|
|
35
|
+
orange3: Colors.ORANGE3,
|
|
36
|
+
orange4: Colors.ORANGE4,
|
|
37
|
+
orange5: Colors.ORANGE5,
|
|
38
|
+
red1: Colors.RED1,
|
|
39
|
+
red2: Colors.RED2,
|
|
40
|
+
red3: Colors.RED3,
|
|
41
|
+
red4: Colors.RED4,
|
|
42
|
+
red5: Colors.RED5
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=baseTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseTheme.js","sourceRoot":"","sources":["../../../src/main/web/theme/baseTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,UAAU,EAAE,MAAM,CAAC,WAAW;IAC9B,UAAU,EAAE,MAAM,CAAC,WAAW;IAC9B,UAAU,EAAE,MAAM,CAAC,WAAW;IAC9B,UAAU,EAAE,MAAM,CAAC,WAAW;IAC9B,UAAU,EAAE,MAAM,CAAC,WAAW;IAC9B,SAAS,EAAE,MAAM,CAAC,UAAU;IAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;IAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;IAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;IAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;IAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC,IAAI;CACpB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type IntentName = 'primary' | 'success' | 'warning' | 'danger' | 'default';
|
|
2
|
+
export type IntentShades = {
|
|
3
|
+
rest: string;
|
|
4
|
+
hover?: string;
|
|
5
|
+
active?: string;
|
|
6
|
+
disabled?: string;
|
|
7
|
+
foreground?: string;
|
|
8
|
+
};
|
|
9
|
+
export type SurfaceShadows = Partial<Record<0 | 1 | 2 | 3 | 4, string>>;
|
|
10
|
+
export type SurfaceText = {
|
|
11
|
+
default?: string;
|
|
12
|
+
hover?: string;
|
|
13
|
+
disabled?: string;
|
|
14
|
+
muted?: string;
|
|
15
|
+
};
|
|
16
|
+
export type BlueprintTheme = Partial<Record<IntentName, IntentShades>> & {
|
|
17
|
+
spacing?: string;
|
|
18
|
+
borderRadius?: string;
|
|
19
|
+
borderWidth?: string;
|
|
20
|
+
borderColorDefault?: string;
|
|
21
|
+
borderColorStrong?: string;
|
|
22
|
+
layerOpacity?: string;
|
|
23
|
+
shadows?: SurfaceShadows;
|
|
24
|
+
text?: SurfaceText;
|
|
25
|
+
};
|
|
26
|
+
export declare function applyBlueprintTheme(theme: BlueprintTheme, target?: HTMLElement): void;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Blueprint 6 themes its compiled CSS via custom properties on :root (see
|
|
2
|
+
// @blueprintjs/core/lib/css/blueprint.css: --bp-intent-<name>-rest/hover/active/disabled/foreground).
|
|
3
|
+
// This lets an app drive those variables straight from its own design tokens (e.g. a
|
|
4
|
+
// styled-components theme), instead of hand-overriding compiled component selectors
|
|
5
|
+
// (which only covers the components you remembered to patch, and breaks on Blueprint
|
|
6
|
+
// upgrades) or hardcoding the same brand hex a second time in Sass.
|
|
7
|
+
function clampByte(value) {
|
|
8
|
+
return Math.min(255, Math.max(0, Math.round(value)));
|
|
9
|
+
}
|
|
10
|
+
function hexToRgb(hex) {
|
|
11
|
+
const value = hex.replace('#', '');
|
|
12
|
+
const parts = value.length === 3
|
|
13
|
+
? value.split('').map((c) => c + c)
|
|
14
|
+
: [value.slice(0, 2), value.slice(2, 4), value.slice(4, 6)];
|
|
15
|
+
const [r, g, b] = parts.map((part) => parseInt(part, 16));
|
|
16
|
+
return [r, g, b];
|
|
17
|
+
}
|
|
18
|
+
function byteToHex(c) {
|
|
19
|
+
const hex = clampByte(c).toString(16);
|
|
20
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
21
|
+
}
|
|
22
|
+
function rgbToHex([r, g, b]) {
|
|
23
|
+
return '#' + byteToHex(r) + byteToHex(g) + byteToHex(b);
|
|
24
|
+
}
|
|
25
|
+
// Mixes `hex` toward black (target 0) or white (target 255) by `weight` (0-1),
|
|
26
|
+
// approximating what a design tool's "darken/lighten" slider would produce.
|
|
27
|
+
function mix(hex, target, weight) {
|
|
28
|
+
const rgb = hexToRgb(hex);
|
|
29
|
+
return rgbToHex(rgb.map((c) => c + (target - c) * weight));
|
|
30
|
+
}
|
|
31
|
+
function cssPropsForIntent(intent, shades) {
|
|
32
|
+
return {
|
|
33
|
+
[`--bp-intent-${intent}-rest`]: shades.rest,
|
|
34
|
+
[`--bp-intent-${intent}-hover`]: shades.hover ?? mix(shades.rest, 0, 0.15),
|
|
35
|
+
[`--bp-intent-${intent}-active`]: shades.active ?? mix(shades.rest, 0, 0.3),
|
|
36
|
+
[`--bp-intent-${intent}-disabled`]: shades.disabled ?? mix(shades.rest, 255, 0.45),
|
|
37
|
+
[`--bp-intent-${intent}-foreground`]: shades.foreground ?? '#ffffff'
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const intentNames = ['primary', 'success', 'warning', 'danger', 'default'];
|
|
41
|
+
export function applyBlueprintTheme(theme, target = document.documentElement) {
|
|
42
|
+
for (const intent of intentNames) {
|
|
43
|
+
const shades = theme[intent];
|
|
44
|
+
if (!shades) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const cssProps = cssPropsForIntent(intent, shades);
|
|
48
|
+
for (const prop of Object.keys(cssProps)) {
|
|
49
|
+
target.style.setProperty(prop, cssProps[prop]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (theme.primary) {
|
|
53
|
+
target.style.setProperty('--bp-emphasis-focus-color', theme.primary.rest);
|
|
54
|
+
}
|
|
55
|
+
if (theme.spacing != null) {
|
|
56
|
+
target.style.setProperty('--bp-surface-spacing', theme.spacing);
|
|
57
|
+
}
|
|
58
|
+
if (theme.borderRadius != null) {
|
|
59
|
+
target.style.setProperty('--bp-surface-border-radius', theme.borderRadius);
|
|
60
|
+
}
|
|
61
|
+
if (theme.borderWidth != null) {
|
|
62
|
+
target.style.setProperty('--bp-surface-border-width', theme.borderWidth);
|
|
63
|
+
}
|
|
64
|
+
if (theme.borderColorDefault != null) {
|
|
65
|
+
target.style.setProperty('--bp-surface-border-color-default', theme.borderColorDefault);
|
|
66
|
+
}
|
|
67
|
+
if (theme.borderColorStrong != null) {
|
|
68
|
+
target.style.setProperty('--bp-surface-border-color-strong', theme.borderColorStrong);
|
|
69
|
+
}
|
|
70
|
+
if (theme.layerOpacity != null) {
|
|
71
|
+
target.style.setProperty('--bp-surface-layer-opacity', theme.layerOpacity);
|
|
72
|
+
}
|
|
73
|
+
if (theme.shadows) {
|
|
74
|
+
for (const level of Object.keys(theme.shadows)) {
|
|
75
|
+
const value = theme.shadows[level];
|
|
76
|
+
if (value != null) {
|
|
77
|
+
target.style.setProperty(`--bp-surface-shadow-${level}`, value);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (theme.text) {
|
|
82
|
+
if (theme.text.default != null) {
|
|
83
|
+
target.style.setProperty('--bp-typography-color-default-rest', theme.text.default);
|
|
84
|
+
}
|
|
85
|
+
if (theme.text.hover != null) {
|
|
86
|
+
target.style.setProperty('--bp-typography-color-default-hover', theme.text.hover);
|
|
87
|
+
}
|
|
88
|
+
if (theme.text.disabled != null) {
|
|
89
|
+
target.style.setProperty('--bp-typography-color-default-disabled', theme.text.disabled);
|
|
90
|
+
}
|
|
91
|
+
if (theme.text.muted != null) {
|
|
92
|
+
target.style.setProperty('--bp-typography-color-muted', theme.text.muted);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=blueprintTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprintTheme.js","sourceRoot":"","sources":["../../../src/main/web/theme/blueprintTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { applyBlueprintTheme } from './blueprintTheme';
|
|
2
|
+
export type { BlueprintTheme, IntentName, IntentShades } from './blueprintTheme';
|
|
3
|
+
export { useBlueprintTheme } from './useBlueprintTheme';
|
|
4
|
+
export { blueprintBaseTheme } from './baseTheme';
|
|
5
|
+
export type { BlueprintBaseTheme } from './baseTheme';
|
|
6
|
+
export { spacing, GAP } from './spacing';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/main/web/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Derives app spacing from Blueprint's own --bp-surface-spacing custom property
|
|
2
|
+
// (see blueprintTheme.ts's `theme.spacing` override) instead of hardcoding pixel
|
|
3
|
+
// values, so app-wide gaps/padding stay in lockstep if that variable ever changes.
|
|
4
|
+
export function spacing(multiplier) {
|
|
5
|
+
return `calc(var(--bp-surface-spacing) * ${multiplier})`;
|
|
6
|
+
}
|
|
7
|
+
// The app's standard gap/padding unit — 12px at Blueprint's default 4px surface spacing.
|
|
8
|
+
export const GAP = spacing(3);
|
|
9
|
+
//# sourceMappingURL=spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../../src/main/web/theme/spacing.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,UAAkB;IACtC,OAAO,oCAAoC,UAAU,GAAG,CAAC;AAC7D,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useLayoutEffect } from 'react';
|
|
2
|
+
import { applyBlueprintTheme } from './blueprintTheme';
|
|
3
|
+
export function useBlueprintTheme(theme) {
|
|
4
|
+
useLayoutEffect(() => {
|
|
5
|
+
applyBlueprintTheme(theme);
|
|
6
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7
|
+
}, [JSON.stringify(theme)]);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=useBlueprintTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBlueprintTheme.js","sourceRoot":"","sources":["../../../src/main/web/theme/useBlueprintTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACnD,eAAe,CAAC,GAAG,EAAE;QACjB,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,uDAAuD;IAC3D,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ekz/blueprintjs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"@blueprintjs/core": "^6.16.0",
|
|
23
23
|
"@blueprintjs/icons": "^6.11.0",
|
|
24
24
|
"@blueprintjs/select": "^6.3.0",
|
|
25
|
-
"@ekz/react-utils": "
|
|
25
|
+
"@ekz/react-utils": "^1.0.2",
|
|
26
26
|
"@tanstack/react-table": "^8.21.3",
|
|
27
|
-
"@tanstack/react-virtual": "^3.14.
|
|
27
|
+
"@tanstack/react-virtual": "^3.14.4",
|
|
28
28
|
"@tanstack/table-core": "^8.21.3",
|
|
29
29
|
"classnames": "^2.5.1",
|
|
30
30
|
"invariant": "^2.2.4"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@testing-library/react": "^16.3.2",
|
|
35
35
|
"@types/bluebird": "^3.5.42",
|
|
36
36
|
"@types/jest": "^30.0.0",
|
|
37
|
-
"@types/luxon": "^3.7.
|
|
37
|
+
"@types/luxon": "^3.7.2",
|
|
38
38
|
"npm-run-all": "^4.1.5",
|
|
39
39
|
"react": "^19.2.7",
|
|
40
40
|
"react-dom": "^19.2.7",
|
|
@@ -55,6 +55,6 @@
|
|
|
55
55
|
"compile:esnext": "tsc -p ./src/main/web -t esnext --outDir ./lib/esnext",
|
|
56
56
|
"compile:css": "sass --load-path=node_modules --load-path=../node_modules --load-path=../../../node_modules src/main/web:lib/css",
|
|
57
57
|
"dev": "yarn compile:esm --watch",
|
|
58
|
-
"
|
|
58
|
+
"prepack": "yarn clean && yarn lint && yarn compile"
|
|
59
59
|
}
|
|
60
60
|
}
|