@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.
Files changed (228) hide show
  1. package/lib/cjs/common/classes.d.ts +28 -0
  2. package/lib/cjs/common/classes.js +34 -0
  3. package/lib/cjs/common/classes.js.map +1 -0
  4. package/lib/cjs/common/index.d.ts +3 -0
  5. package/lib/cjs/common/index.js +9 -0
  6. package/lib/cjs/common/index.js.map +1 -0
  7. package/lib/cjs/components/pagination/index.d.ts +1 -0
  8. package/lib/cjs/components/pagination/index.js +5 -0
  9. package/lib/cjs/components/pagination/index.js.map +1 -0
  10. package/lib/cjs/components/pagination/pagination.d.ts +46 -0
  11. package/lib/cjs/components/pagination/pagination.js +46 -0
  12. package/lib/cjs/components/pagination/pagination.js.map +1 -0
  13. package/lib/cjs/components/table/columnFilter.d.ts +7 -0
  14. package/lib/cjs/components/table/columnFilter.js +23 -0
  15. package/lib/cjs/components/table/columnFilter.js.map +1 -0
  16. package/lib/cjs/components/table/columnHelpers.d.ts +340 -0
  17. package/lib/cjs/components/table/columnHelpers.js +39 -0
  18. package/lib/cjs/components/table/columnHelpers.js.map +1 -0
  19. package/lib/cjs/components/table/headerGroup.d.ts +8 -0
  20. package/lib/cjs/components/table/headerGroup.js +42 -0
  21. package/lib/cjs/components/table/headerGroup.js.map +1 -0
  22. package/lib/cjs/components/table/index.d.ts +9 -0
  23. package/lib/cjs/components/table/index.js +20 -0
  24. package/lib/cjs/components/table/index.js.map +1 -0
  25. package/lib/cjs/components/table/reactTableBase.d.ts +2 -0
  26. package/lib/cjs/components/table/reactTableBase.js +8 -0
  27. package/lib/cjs/components/table/reactTableBase.js.map +1 -0
  28. package/lib/cjs/components/table/table.d.ts +123 -0
  29. package/lib/cjs/components/table/table.js +229 -0
  30. package/lib/cjs/components/table/table.js.map +1 -0
  31. package/lib/cjs/components/table/tableMessages.d.ts +6 -0
  32. package/lib/cjs/components/table/tableMessages.js +11 -0
  33. package/lib/cjs/components/table/tableMessages.js.map +1 -0
  34. package/lib/cjs/components/table/theme.d.ts +4 -0
  35. package/lib/cjs/components/table/theme.js +9 -0
  36. package/lib/cjs/components/table/theme.js.map +1 -0
  37. package/lib/cjs/components/table/useAutoColumnSizer.d.ts +7 -0
  38. package/lib/cjs/components/table/useAutoColumnSizer.js +51 -0
  39. package/lib/cjs/components/table/useAutoColumnSizer.js.map +1 -0
  40. package/lib/cjs/components/table/useAutoHeight.d.ts +4 -0
  41. package/lib/cjs/components/table/useAutoHeight.js +69 -0
  42. package/lib/cjs/components/table/useAutoHeight.js.map +1 -0
  43. package/lib/cjs/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
  44. package/lib/cjs/components/table/useGroupedHeaderColumnSizer.js +57 -0
  45. package/lib/cjs/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
  46. package/lib/cjs/components/table/useTable.d.ts +122 -0
  47. package/lib/cjs/components/table/useTable.js +31 -0
  48. package/lib/cjs/components/table/useTable.js.map +1 -0
  49. package/lib/cjs/components/table/useTableExport.d.ts +6 -0
  50. package/lib/cjs/components/table/useTableExport.js +41 -0
  51. package/lib/cjs/components/table/useTableExport.js.map +1 -0
  52. package/lib/cjs/components/table/useTableState.d.ts +3 -0
  53. package/lib/cjs/components/table/useTableState.js +14 -0
  54. package/lib/cjs/components/table/useTableState.js.map +1 -0
  55. package/lib/cjs/components/table/utils.d.ts +1 -0
  56. package/lib/cjs/components/table/utils.js +8 -0
  57. package/lib/cjs/components/table/utils.js.map +1 -0
  58. package/lib/cjs/index.d.ts +7 -0
  59. package/lib/cjs/index.js +16 -0
  60. package/lib/cjs/index.js.map +1 -0
  61. package/lib/cjs/theme/baseTheme.d.ts +39 -0
  62. package/lib/cjs/theme/baseTheme.js +47 -0
  63. package/lib/cjs/theme/baseTheme.js.map +1 -0
  64. package/lib/cjs/theme/blueprintTheme.d.ts +26 -0
  65. package/lib/cjs/theme/blueprintTheme.js +99 -0
  66. package/lib/cjs/theme/blueprintTheme.js.map +1 -0
  67. package/lib/cjs/theme/index.d.ts +6 -0
  68. package/lib/cjs/theme/index.js +13 -0
  69. package/lib/cjs/theme/index.js.map +1 -0
  70. package/lib/cjs/theme/spacing.d.ts +2 -0
  71. package/lib/cjs/theme/spacing.js +13 -0
  72. package/lib/cjs/theme/spacing.js.map +1 -0
  73. package/lib/cjs/theme/useBlueprintTheme.d.ts +2 -0
  74. package/lib/cjs/theme/useBlueprintTheme.js +12 -0
  75. package/lib/cjs/theme/useBlueprintTheme.js.map +1 -0
  76. package/lib/css/blueprintjs.css +402 -0
  77. package/lib/css/blueprintjs.css.map +1 -0
  78. package/lib/esm/common/classes.d.ts +28 -0
  79. package/lib/esm/common/classes.js +31 -0
  80. package/lib/esm/common/classes.js.map +1 -0
  81. package/lib/esm/common/index.d.ts +3 -0
  82. package/lib/esm/common/index.js +4 -0
  83. package/lib/esm/common/index.js.map +1 -0
  84. package/lib/esm/components/pagination/index.d.ts +1 -0
  85. package/lib/esm/components/pagination/index.js +2 -0
  86. package/lib/esm/components/pagination/index.js.map +1 -0
  87. package/lib/esm/components/pagination/pagination.d.ts +46 -0
  88. package/lib/esm/components/pagination/pagination.js +42 -0
  89. package/lib/esm/components/pagination/pagination.js.map +1 -0
  90. package/lib/esm/components/table/columnFilter.d.ts +7 -0
  91. package/lib/esm/components/table/columnFilter.js +18 -0
  92. package/lib/esm/components/table/columnFilter.js.map +1 -0
  93. package/lib/esm/components/table/columnHelpers.d.ts +340 -0
  94. package/lib/esm/components/table/columnHelpers.js +36 -0
  95. package/lib/esm/components/table/columnHelpers.js.map +1 -0
  96. package/lib/esm/components/table/headerGroup.d.ts +8 -0
  97. package/lib/esm/components/table/headerGroup.js +39 -0
  98. package/lib/esm/components/table/headerGroup.js.map +1 -0
  99. package/lib/esm/components/table/index.d.ts +9 -0
  100. package/lib/esm/components/table/index.js +10 -0
  101. package/lib/esm/components/table/index.js.map +1 -0
  102. package/lib/esm/components/table/reactTableBase.d.ts +2 -0
  103. package/lib/esm/components/table/reactTableBase.js +3 -0
  104. package/lib/esm/components/table/reactTableBase.js.map +1 -0
  105. package/lib/esm/components/table/table.d.ts +123 -0
  106. package/lib/esm/components/table/table.js +225 -0
  107. package/lib/esm/components/table/table.js.map +1 -0
  108. package/lib/esm/components/table/tableMessages.d.ts +6 -0
  109. package/lib/esm/components/table/tableMessages.js +6 -0
  110. package/lib/esm/components/table/tableMessages.js.map +1 -0
  111. package/lib/esm/components/table/theme.d.ts +4 -0
  112. package/lib/esm/components/table/theme.js +6 -0
  113. package/lib/esm/components/table/theme.js.map +1 -0
  114. package/lib/esm/components/table/useAutoColumnSizer.d.ts +7 -0
  115. package/lib/esm/components/table/useAutoColumnSizer.js +46 -0
  116. package/lib/esm/components/table/useAutoColumnSizer.js.map +1 -0
  117. package/lib/esm/components/table/useAutoHeight.d.ts +4 -0
  118. package/lib/esm/components/table/useAutoHeight.js +65 -0
  119. package/lib/esm/components/table/useAutoHeight.js.map +1 -0
  120. package/lib/esm/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
  121. package/lib/esm/components/table/useGroupedHeaderColumnSizer.js +53 -0
  122. package/lib/esm/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
  123. package/lib/esm/components/table/useTable.d.ts +122 -0
  124. package/lib/esm/components/table/useTable.js +28 -0
  125. package/lib/esm/components/table/useTable.js.map +1 -0
  126. package/lib/esm/components/table/useTableExport.d.ts +6 -0
  127. package/lib/esm/components/table/useTableExport.js +37 -0
  128. package/lib/esm/components/table/useTableExport.js.map +1 -0
  129. package/lib/esm/components/table/useTableState.d.ts +3 -0
  130. package/lib/esm/components/table/useTableState.js +11 -0
  131. package/lib/esm/components/table/useTableState.js.map +1 -0
  132. package/lib/esm/components/table/utils.d.ts +1 -0
  133. package/lib/esm/components/table/utils.js +5 -0
  134. package/lib/esm/components/table/utils.js.map +1 -0
  135. package/lib/esm/index.d.ts +7 -0
  136. package/lib/esm/index.js +11 -0
  137. package/lib/esm/index.js.map +1 -0
  138. package/lib/esm/theme/baseTheme.d.ts +39 -0
  139. package/lib/esm/theme/baseTheme.js +44 -0
  140. package/lib/esm/theme/baseTheme.js.map +1 -0
  141. package/lib/esm/theme/blueprintTheme.d.ts +26 -0
  142. package/lib/esm/theme/blueprintTheme.js +96 -0
  143. package/lib/esm/theme/blueprintTheme.js.map +1 -0
  144. package/lib/esm/theme/index.d.ts +6 -0
  145. package/lib/esm/theme/index.js +5 -0
  146. package/lib/esm/theme/index.js.map +1 -0
  147. package/lib/esm/theme/spacing.d.ts +2 -0
  148. package/lib/esm/theme/spacing.js +9 -0
  149. package/lib/esm/theme/spacing.js.map +1 -0
  150. package/lib/esm/theme/useBlueprintTheme.d.ts +2 -0
  151. package/lib/esm/theme/useBlueprintTheme.js +9 -0
  152. package/lib/esm/theme/useBlueprintTheme.js.map +1 -0
  153. package/lib/esnext/common/classes.d.ts +28 -0
  154. package/lib/esnext/common/classes.js +31 -0
  155. package/lib/esnext/common/classes.js.map +1 -0
  156. package/lib/esnext/common/index.d.ts +3 -0
  157. package/lib/esnext/common/index.js +4 -0
  158. package/lib/esnext/common/index.js.map +1 -0
  159. package/lib/esnext/components/pagination/index.d.ts +1 -0
  160. package/lib/esnext/components/pagination/index.js +2 -0
  161. package/lib/esnext/components/pagination/index.js.map +1 -0
  162. package/lib/esnext/components/pagination/pagination.d.ts +46 -0
  163. package/lib/esnext/components/pagination/pagination.js +42 -0
  164. package/lib/esnext/components/pagination/pagination.js.map +1 -0
  165. package/lib/esnext/components/table/columnFilter.d.ts +7 -0
  166. package/lib/esnext/components/table/columnFilter.js +18 -0
  167. package/lib/esnext/components/table/columnFilter.js.map +1 -0
  168. package/lib/esnext/components/table/columnHelpers.d.ts +340 -0
  169. package/lib/esnext/components/table/columnHelpers.js +36 -0
  170. package/lib/esnext/components/table/columnHelpers.js.map +1 -0
  171. package/lib/esnext/components/table/headerGroup.d.ts +8 -0
  172. package/lib/esnext/components/table/headerGroup.js +39 -0
  173. package/lib/esnext/components/table/headerGroup.js.map +1 -0
  174. package/lib/esnext/components/table/index.d.ts +9 -0
  175. package/lib/esnext/components/table/index.js +10 -0
  176. package/lib/esnext/components/table/index.js.map +1 -0
  177. package/lib/esnext/components/table/reactTableBase.d.ts +2 -0
  178. package/lib/esnext/components/table/reactTableBase.js +3 -0
  179. package/lib/esnext/components/table/reactTableBase.js.map +1 -0
  180. package/lib/esnext/components/table/table.d.ts +123 -0
  181. package/lib/esnext/components/table/table.js +225 -0
  182. package/lib/esnext/components/table/table.js.map +1 -0
  183. package/lib/esnext/components/table/tableMessages.d.ts +6 -0
  184. package/lib/esnext/components/table/tableMessages.js +6 -0
  185. package/lib/esnext/components/table/tableMessages.js.map +1 -0
  186. package/lib/esnext/components/table/theme.d.ts +4 -0
  187. package/lib/esnext/components/table/theme.js +6 -0
  188. package/lib/esnext/components/table/theme.js.map +1 -0
  189. package/lib/esnext/components/table/useAutoColumnSizer.d.ts +7 -0
  190. package/lib/esnext/components/table/useAutoColumnSizer.js +46 -0
  191. package/lib/esnext/components/table/useAutoColumnSizer.js.map +1 -0
  192. package/lib/esnext/components/table/useAutoHeight.d.ts +4 -0
  193. package/lib/esnext/components/table/useAutoHeight.js +65 -0
  194. package/lib/esnext/components/table/useAutoHeight.js.map +1 -0
  195. package/lib/esnext/components/table/useGroupedHeaderColumnSizer.d.ts +2 -0
  196. package/lib/esnext/components/table/useGroupedHeaderColumnSizer.js +53 -0
  197. package/lib/esnext/components/table/useGroupedHeaderColumnSizer.js.map +1 -0
  198. package/lib/esnext/components/table/useTable.d.ts +122 -0
  199. package/lib/esnext/components/table/useTable.js +28 -0
  200. package/lib/esnext/components/table/useTable.js.map +1 -0
  201. package/lib/esnext/components/table/useTableExport.d.ts +6 -0
  202. package/lib/esnext/components/table/useTableExport.js +37 -0
  203. package/lib/esnext/components/table/useTableExport.js.map +1 -0
  204. package/lib/esnext/components/table/useTableState.d.ts +3 -0
  205. package/lib/esnext/components/table/useTableState.js +11 -0
  206. package/lib/esnext/components/table/useTableState.js.map +1 -0
  207. package/lib/esnext/components/table/utils.d.ts +1 -0
  208. package/lib/esnext/components/table/utils.js +5 -0
  209. package/lib/esnext/components/table/utils.js.map +1 -0
  210. package/lib/esnext/index.d.ts +7 -0
  211. package/lib/esnext/index.js +11 -0
  212. package/lib/esnext/index.js.map +1 -0
  213. package/lib/esnext/theme/baseTheme.d.ts +39 -0
  214. package/lib/esnext/theme/baseTheme.js +44 -0
  215. package/lib/esnext/theme/baseTheme.js.map +1 -0
  216. package/lib/esnext/theme/blueprintTheme.d.ts +26 -0
  217. package/lib/esnext/theme/blueprintTheme.js +96 -0
  218. package/lib/esnext/theme/blueprintTheme.js.map +1 -0
  219. package/lib/esnext/theme/index.d.ts +6 -0
  220. package/lib/esnext/theme/index.js +5 -0
  221. package/lib/esnext/theme/index.js.map +1 -0
  222. package/lib/esnext/theme/spacing.d.ts +2 -0
  223. package/lib/esnext/theme/spacing.js +9 -0
  224. package/lib/esnext/theme/spacing.js.map +1 -0
  225. package/lib/esnext/theme/useBlueprintTheme.d.ts +2 -0
  226. package/lib/esnext/theme/useBlueprintTheme.js +9 -0
  227. package/lib/esnext/theme/useBlueprintTheme.js.map +1 -0
  228. 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,6 @@
1
+ import type { Table as TableAPI } from './reactTableBase';
2
+ export interface TableExport {
3
+ createCsv: () => string;
4
+ downloadCsvAsBlob: (fileName: string) => void;
5
+ }
6
+ export declare function useTableExport(table: TableAPI<any>): TableExport;
@@ -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,3 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { Table, TableState } from './reactTableBase';
3
+ export declare function useTableState<T>(table: Table<T>): [TableState, Dispatch<SetStateAction<TableState>>];
@@ -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,5 @@
1
+ export function stopPropagation(event) {
2
+ event.stopPropagation();
3
+ event.preventDefault();
4
+ }
5
+ //# sourceMappingURL=utils.js.map
@@ -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,7 @@
1
+ export * from './common';
2
+ export * from './components/pagination';
3
+ export * from './components/table';
4
+ export * from './theme';
5
+ export { Classes } from './common';
6
+ export * from '@blueprintjs/core';
7
+ export * from '@blueprintjs/select';
@@ -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,5 @@
1
+ export { applyBlueprintTheme } from './blueprintTheme';
2
+ export { useBlueprintTheme } from './useBlueprintTheme';
3
+ export { blueprintBaseTheme } from './baseTheme';
4
+ export { spacing, GAP } from './spacing';
5
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export declare function spacing(multiplier: number): string;
2
+ export declare const GAP: string;
@@ -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,2 @@
1
+ import type { BlueprintTheme } from './blueprintTheme';
2
+ export declare function useBlueprintTheme(theme: BlueprintTheme): void;
@@ -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.0",
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": "workspace:^",
25
+ "@ekz/react-utils": "^1.0.2",
26
26
  "@tanstack/react-table": "^8.21.3",
27
- "@tanstack/react-virtual": "^3.14.3",
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.1",
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
- "prepublish": "yarn clean && yarn lint && yarn compile"
58
+ "prepack": "yarn clean && yarn lint && yarn compile"
59
59
  }
60
60
  }