@salt-ds/data-grid 1.0.5 → 1.0.7

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 (277) hide show
  1. package/CHANGELOG.md +216 -0
  2. package/dist-cjs/BaseCell.js +50 -48
  3. package/dist-cjs/BaseCell.js.map +1 -1
  4. package/dist-cjs/CellEditor.js +0 -2
  5. package/dist-cjs/CellEditor.js.map +1 -1
  6. package/dist-cjs/CellFrame.js +25 -33
  7. package/dist-cjs/CellFrame.js.map +1 -1
  8. package/dist-cjs/ColumnDataContext.js +1 -3
  9. package/dist-cjs/ColumnDataContext.js.map +1 -1
  10. package/dist-cjs/ColumnDragContext.js +1 -3
  11. package/dist-cjs/ColumnDragContext.js.map +1 -1
  12. package/dist-cjs/ColumnGroup.js +2 -6
  13. package/dist-cjs/ColumnGroup.js.map +1 -1
  14. package/dist-cjs/ColumnSortContext.js +1 -3
  15. package/dist-cjs/ColumnSortContext.js.map +1 -1
  16. package/dist-cjs/CornerTag.js +7 -6
  17. package/dist-cjs/CornerTag.js.map +1 -1
  18. package/dist-cjs/CursorContext.js +1 -3
  19. package/dist-cjs/CursorContext.js.map +1 -1
  20. package/dist-cjs/DropdownCellEditor.js +25 -28
  21. package/dist-cjs/DropdownCellEditor.js.map +1 -1
  22. package/dist-cjs/EditorContext.js +1 -3
  23. package/dist-cjs/EditorContext.js.map +1 -1
  24. package/dist-cjs/Grid.css.js +1 -1
  25. package/dist-cjs/Grid.js +174 -183
  26. package/dist-cjs/Grid.js.map +1 -1
  27. package/dist-cjs/GridColumn.js +4 -8
  28. package/dist-cjs/GridColumn.js.map +1 -1
  29. package/dist-cjs/GridContext.js +1 -3
  30. package/dist-cjs/GridContext.js.map +1 -1
  31. package/dist-cjs/GroupHeaderCell.js +29 -30
  32. package/dist-cjs/GroupHeaderCell.js.map +1 -1
  33. package/dist-cjs/GroupHeaderCellValue.js +1 -5
  34. package/dist-cjs/GroupHeaderCellValue.js.map +1 -1
  35. package/dist-cjs/HeaderCell.js +94 -90
  36. package/dist-cjs/HeaderCell.js.map +1 -1
  37. package/dist-cjs/HeaderCellValue.js +1 -6
  38. package/dist-cjs/HeaderCellValue.js.map +1 -1
  39. package/dist-cjs/LayoutContext.js +0 -2
  40. package/dist-cjs/LayoutContext.js.map +1 -1
  41. package/dist-cjs/NumberRange.js +2 -4
  42. package/dist-cjs/NumberRange.js.map +1 -1
  43. package/dist-cjs/NumericColumn.css.js +1 -1
  44. package/dist-cjs/NumericColumn.js +31 -30
  45. package/dist-cjs/NumericColumn.js.map +1 -1
  46. package/dist-cjs/RowSelectionCheckboxCellValue.js +7 -10
  47. package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -1
  48. package/dist-cjs/RowSelectionCheckboxColumn.js +14 -13
  49. package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -1
  50. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +22 -18
  51. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
  52. package/dist-cjs/RowSelectionRadioCellValue.js +6 -8
  53. package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -1
  54. package/dist-cjs/RowSelectionRadioColumn.js +12 -11
  55. package/dist-cjs/RowSelectionRadioColumn.js.map +1 -1
  56. package/dist-cjs/RowSelectionRadioHeaderCell.js +2 -10
  57. package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -1
  58. package/dist-cjs/RowValidationStatus.js +0 -2
  59. package/dist-cjs/RowValidationStatus.js.map +1 -1
  60. package/dist-cjs/SelectionContext.js +1 -3
  61. package/dist-cjs/SelectionContext.js.map +1 -1
  62. package/dist-cjs/SizingContext.js +1 -3
  63. package/dist-cjs/SizingContext.js.map +1 -1
  64. package/dist-cjs/TextCellEditor.css.js +1 -1
  65. package/dist-cjs/TextCellEditor.js +14 -20
  66. package/dist-cjs/TextCellEditor.js.map +1 -1
  67. package/dist-cjs/index.js +0 -2
  68. package/dist-cjs/index.js.map +1 -1
  69. package/dist-cjs/internal/CellMeasure.css.js +1 -1
  70. package/dist-cjs/internal/CellMeasure.js +3 -18
  71. package/dist-cjs/internal/CellMeasure.js.map +1 -1
  72. package/dist-cjs/internal/CellStatusIcons.js +41 -37
  73. package/dist-cjs/internal/CellStatusIcons.js.map +1 -1
  74. package/dist-cjs/internal/ColumnDropTarget.js +3 -8
  75. package/dist-cjs/internal/ColumnDropTarget.js.map +1 -1
  76. package/dist-cjs/internal/ColumnGhost.js +17 -29
  77. package/dist-cjs/internal/ColumnGhost.js.map +1 -1
  78. package/dist-cjs/internal/Cursor.js +3 -7
  79. package/dist-cjs/internal/Cursor.js.map +1 -1
  80. package/dist-cjs/internal/DefaultCellValue.js +11 -10
  81. package/dist-cjs/internal/DefaultCellValue.js.map +1 -1
  82. package/dist-cjs/internal/FakeCell.js +8 -16
  83. package/dist-cjs/internal/FakeCell.js.map +1 -1
  84. package/dist-cjs/internal/FakeGroupCell.js +0 -2
  85. package/dist-cjs/internal/FakeGroupCell.js.map +1 -1
  86. package/dist-cjs/internal/FakeHeaderCell.js +1 -5
  87. package/dist-cjs/internal/FakeHeaderCell.js.map +1 -1
  88. package/dist-cjs/internal/GroupHeaderRow.js +9 -20
  89. package/dist-cjs/internal/GroupHeaderRow.js.map +1 -1
  90. package/dist-cjs/internal/HeaderRow.js +17 -23
  91. package/dist-cjs/internal/HeaderRow.js.map +1 -1
  92. package/dist-cjs/internal/LeftPart.js +21 -27
  93. package/dist-cjs/internal/LeftPart.js.map +1 -1
  94. package/dist-cjs/internal/MiddlePart.js +19 -25
  95. package/dist-cjs/internal/MiddlePart.js.map +1 -1
  96. package/dist-cjs/internal/RightPart.js +21 -26
  97. package/dist-cjs/internal/RightPart.js.map +1 -1
  98. package/dist-cjs/internal/Scrollable.js +12 -13
  99. package/dist-cjs/internal/Scrollable.js.map +1 -1
  100. package/dist-cjs/internal/TableBody.js +17 -19
  101. package/dist-cjs/internal/TableBody.js.map +1 -1
  102. package/dist-cjs/internal/TableColGroup.js +7 -17
  103. package/dist-cjs/internal/TableColGroup.js.map +1 -1
  104. package/dist-cjs/internal/TableRow.js +87 -79
  105. package/dist-cjs/internal/TableRow.js.map +1 -1
  106. package/dist-cjs/internal/TopLeftPart.js +20 -31
  107. package/dist-cjs/internal/TopLeftPart.js.map +1 -1
  108. package/dist-cjs/internal/TopPart.js +20 -37
  109. package/dist-cjs/internal/TopPart.js.map +1 -1
  110. package/dist-cjs/internal/TopRightPart.js +26 -30
  111. package/dist-cjs/internal/TopRightPart.js.map +1 -1
  112. package/dist-cjs/internal/gridHooks.js +23 -25
  113. package/dist-cjs/internal/gridHooks.js.map +1 -1
  114. package/dist-cjs/internal/utils.js +5 -7
  115. package/dist-cjs/internal/utils.js.map +1 -1
  116. package/dist-es/BaseCell.js +50 -46
  117. package/dist-es/BaseCell.js.map +1 -1
  118. package/dist-es/CellEditor.js.map +1 -1
  119. package/dist-es/CellFrame.js +25 -31
  120. package/dist-es/CellFrame.js.map +1 -1
  121. package/dist-es/ColumnDataContext.js +1 -1
  122. package/dist-es/ColumnDataContext.js.map +1 -1
  123. package/dist-es/ColumnDragContext.js +1 -1
  124. package/dist-es/ColumnDragContext.js.map +1 -1
  125. package/dist-es/ColumnGroup.js +2 -4
  126. package/dist-es/ColumnGroup.js.map +1 -1
  127. package/dist-es/ColumnSortContext.js +1 -1
  128. package/dist-es/ColumnSortContext.js.map +1 -1
  129. package/dist-es/CornerTag.js +7 -4
  130. package/dist-es/CornerTag.js.map +1 -1
  131. package/dist-es/CursorContext.js +1 -1
  132. package/dist-es/CursorContext.js.map +1 -1
  133. package/dist-es/DropdownCellEditor.js +25 -26
  134. package/dist-es/DropdownCellEditor.js.map +1 -1
  135. package/dist-es/EditorContext.js +1 -1
  136. package/dist-es/EditorContext.js.map +1 -1
  137. package/dist-es/Grid.css.js +1 -1
  138. package/dist-es/Grid.js +174 -181
  139. package/dist-es/Grid.js.map +1 -1
  140. package/dist-es/GridColumn.js +4 -6
  141. package/dist-es/GridColumn.js.map +1 -1
  142. package/dist-es/GridContext.js +1 -1
  143. package/dist-es/GridContext.js.map +1 -1
  144. package/dist-es/GroupHeaderCell.js +29 -28
  145. package/dist-es/GroupHeaderCell.js.map +1 -1
  146. package/dist-es/GroupHeaderCellValue.js +1 -3
  147. package/dist-es/GroupHeaderCellValue.js.map +1 -1
  148. package/dist-es/HeaderCell.js +94 -88
  149. package/dist-es/HeaderCell.js.map +1 -1
  150. package/dist-es/HeaderCellValue.js +1 -4
  151. package/dist-es/HeaderCellValue.js.map +1 -1
  152. package/dist-es/LayoutContext.js.map +1 -1
  153. package/dist-es/NumberRange.js +2 -2
  154. package/dist-es/NumberRange.js.map +1 -1
  155. package/dist-es/NumericColumn.css.js +1 -1
  156. package/dist-es/NumericColumn.js +31 -28
  157. package/dist-es/NumericColumn.js.map +1 -1
  158. package/dist-es/RowSelectionCheckboxCellValue.js +7 -8
  159. package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -1
  160. package/dist-es/RowSelectionCheckboxColumn.js +14 -11
  161. package/dist-es/RowSelectionCheckboxColumn.js.map +1 -1
  162. package/dist-es/RowSelectionCheckboxHeaderCellValue.js +22 -16
  163. package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
  164. package/dist-es/RowSelectionRadioCellValue.js +6 -6
  165. package/dist-es/RowSelectionRadioCellValue.js.map +1 -1
  166. package/dist-es/RowSelectionRadioColumn.js +12 -9
  167. package/dist-es/RowSelectionRadioColumn.js.map +1 -1
  168. package/dist-es/RowSelectionRadioHeaderCell.js +2 -8
  169. package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -1
  170. package/dist-es/RowValidationStatus.js.map +1 -1
  171. package/dist-es/SelectionContext.js +1 -1
  172. package/dist-es/SelectionContext.js.map +1 -1
  173. package/dist-es/SizingContext.js +1 -1
  174. package/dist-es/SizingContext.js.map +1 -1
  175. package/dist-es/TextCellEditor.css.js +1 -1
  176. package/dist-es/TextCellEditor.js +14 -18
  177. package/dist-es/TextCellEditor.js.map +1 -1
  178. package/dist-es/internal/CellMeasure.css.js +1 -1
  179. package/dist-es/internal/CellMeasure.js +3 -16
  180. package/dist-es/internal/CellMeasure.js.map +1 -1
  181. package/dist-es/internal/CellStatusIcons.js +41 -35
  182. package/dist-es/internal/CellStatusIcons.js.map +1 -1
  183. package/dist-es/internal/ColumnDropTarget.js +3 -6
  184. package/dist-es/internal/ColumnDropTarget.js.map +1 -1
  185. package/dist-es/internal/ColumnGhost.js +17 -27
  186. package/dist-es/internal/ColumnGhost.js.map +1 -1
  187. package/dist-es/internal/Cursor.js +3 -5
  188. package/dist-es/internal/Cursor.js.map +1 -1
  189. package/dist-es/internal/DefaultCellValue.js +11 -8
  190. package/dist-es/internal/DefaultCellValue.js.map +1 -1
  191. package/dist-es/internal/FakeCell.js +8 -14
  192. package/dist-es/internal/FakeCell.js.map +1 -1
  193. package/dist-es/internal/FakeGroupCell.js.map +1 -1
  194. package/dist-es/internal/FakeHeaderCell.js +1 -3
  195. package/dist-es/internal/FakeHeaderCell.js.map +1 -1
  196. package/dist-es/internal/GroupHeaderRow.js +9 -18
  197. package/dist-es/internal/GroupHeaderRow.js.map +1 -1
  198. package/dist-es/internal/HeaderRow.js +17 -21
  199. package/dist-es/internal/HeaderRow.js.map +1 -1
  200. package/dist-es/internal/LeftPart.js +21 -25
  201. package/dist-es/internal/LeftPart.js.map +1 -1
  202. package/dist-es/internal/MiddlePart.js +19 -23
  203. package/dist-es/internal/MiddlePart.js.map +1 -1
  204. package/dist-es/internal/RightPart.js +21 -24
  205. package/dist-es/internal/RightPart.js.map +1 -1
  206. package/dist-es/internal/Scrollable.js +12 -11
  207. package/dist-es/internal/Scrollable.js.map +1 -1
  208. package/dist-es/internal/TableBody.js +17 -17
  209. package/dist-es/internal/TableBody.js.map +1 -1
  210. package/dist-es/internal/TableColGroup.js +7 -15
  211. package/dist-es/internal/TableColGroup.js.map +1 -1
  212. package/dist-es/internal/TableRow.js +87 -77
  213. package/dist-es/internal/TableRow.js.map +1 -1
  214. package/dist-es/internal/TopLeftPart.js +20 -29
  215. package/dist-es/internal/TopLeftPart.js.map +1 -1
  216. package/dist-es/internal/TopPart.js +20 -35
  217. package/dist-es/internal/TopPart.js.map +1 -1
  218. package/dist-es/internal/TopRightPart.js +26 -28
  219. package/dist-es/internal/TopRightPart.js.map +1 -1
  220. package/dist-es/internal/gridHooks.js +23 -23
  221. package/dist-es/internal/gridHooks.js.map +1 -1
  222. package/dist-es/internal/utils.js +5 -5
  223. package/dist-es/internal/utils.js.map +1 -1
  224. package/dist-types/BaseCell.d.ts +3 -3
  225. package/dist-types/CellEditor.d.ts +1 -1
  226. package/dist-types/CellFrame.d.ts +2 -2
  227. package/dist-types/ColumnDragContext.d.ts +1 -1
  228. package/dist-types/ColumnGroup.d.ts +4 -4
  229. package/dist-types/ColumnSortContext.d.ts +5 -5
  230. package/dist-types/CornerTag.d.ts +1 -1
  231. package/dist-types/DropdownCellEditor.d.ts +2 -2
  232. package/dist-types/Grid.d.ts +4 -4
  233. package/dist-types/GridColumn.d.ts +3 -3
  234. package/dist-types/GridContext.d.ts +2 -2
  235. package/dist-types/GroupHeaderCell.d.ts +3 -3
  236. package/dist-types/GroupHeaderCellValue.d.ts +2 -2
  237. package/dist-types/HeaderCell.d.ts +5 -5
  238. package/dist-types/HeaderCellValue.d.ts +2 -2
  239. package/dist-types/NumericColumn.d.ts +6 -6
  240. package/dist-types/RowSelectionCheckboxCellValue.d.ts +2 -2
  241. package/dist-types/RowSelectionCheckboxColumn.d.ts +2 -2
  242. package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +2 -2
  243. package/dist-types/RowSelectionRadioCellValue.d.ts +2 -2
  244. package/dist-types/RowSelectionRadioColumn.d.ts +2 -2
  245. package/dist-types/RowSelectionRadioHeaderCell.d.ts +2 -2
  246. package/dist-types/RowValidationStatus.d.ts +2 -2
  247. package/dist-types/SelectionContext.d.ts +1 -1
  248. package/dist-types/SizingContext.d.ts +3 -3
  249. package/dist-types/TextCellEditor.d.ts +2 -2
  250. package/dist-types/internal/CellMeasure.d.ts +1 -1
  251. package/dist-types/internal/CellStatusIcons.d.ts +3 -3
  252. package/dist-types/internal/ColumnDropTarget.d.ts +1 -1
  253. package/dist-types/internal/ColumnGhost.d.ts +3 -3
  254. package/dist-types/internal/Cursor.d.ts +1 -3
  255. package/dist-types/internal/DefaultCellValue.d.ts +2 -2
  256. package/dist-types/internal/FakeCell.d.ts +2 -2
  257. package/dist-types/internal/FakeGroupCell.d.ts +1 -1
  258. package/dist-types/internal/FakeHeaderCell.d.ts +1 -1
  259. package/dist-types/internal/GroupHeaderRow.d.ts +2 -2
  260. package/dist-types/internal/HeaderRow.d.ts +2 -2
  261. package/dist-types/internal/LeftPart.d.ts +4 -4
  262. package/dist-types/internal/MiddlePart.d.ts +4 -4
  263. package/dist-types/internal/RightPart.d.ts +4 -4
  264. package/dist-types/internal/Scrollable.d.ts +2 -2
  265. package/dist-types/internal/TableBody.d.ts +3 -3
  266. package/dist-types/internal/TableColGroup.d.ts +3 -3
  267. package/dist-types/internal/TableRow.d.ts +4 -4
  268. package/dist-types/internal/TopLeftPart.d.ts +2 -2
  269. package/dist-types/internal/TopPart.d.ts +3 -3
  270. package/dist-types/internal/TopRightPart.d.ts +2 -2
  271. package/dist-types/internal/gridHooks.d.ts +13 -13
  272. package/dist-types/internal/utils.d.ts +1 -1
  273. package/package.json +11 -8
  274. package/dist-cjs/internal/FakeCell.css.js +0 -6
  275. package/dist-cjs/internal/FakeCell.css.js.map +0 -1
  276. package/dist-es/internal/FakeCell.css.js +0 -4
  277. package/dist-es/internal/FakeCell.css.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,216 @@
1
+ # @salt-ds/data-grid
2
+
3
+ ## 1.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [ae6e5c9]
8
+ - Updated dependencies [b395246]
9
+ - Updated dependencies [3cf8d99]
10
+ - Updated dependencies [aced985]
11
+ - Updated dependencies [7432f62]
12
+ - Updated dependencies [0730eb0]
13
+ - Updated dependencies [91973ac]
14
+ - Updated dependencies [1a29b4e]
15
+ - Updated dependencies [6b1f109]
16
+ - Updated dependencies [26bf747]
17
+ - Updated dependencies [6a08b82]
18
+ - Updated dependencies [dc5b3b3]
19
+ - @salt-ds/core@1.37.2
20
+ - @salt-ds/lab@1.0.0-alpha.55
21
+ - @salt-ds/icons@1.13.0
22
+
23
+ ## 1.0.6
24
+
25
+ ### Patch Changes
26
+
27
+ - bfe0f84: Cleaned up TypeScript types in multiple components.
28
+
29
+ ## 1.0.5
30
+
31
+ ### Patch Changes
32
+
33
+ - 4b35339: Exported `EditorContext` and `CellFrame` to create custom cell and cell editors
34
+
35
+ ## 1.0.4-alpha.10
36
+
37
+ ### Patch Changes
38
+
39
+ - 8ebd9138: Fixed deprecated `--salt-size-accent` references to `--salt-size-bar`. Fixed deprecated `--salt-size-unit` references to `--salt-spacing-100`.
40
+
41
+ ## 1.0.4-alpha.9
42
+
43
+ ### Patch Changes
44
+
45
+ - 51a1e9e7: Fixed text properties not set to use values from Salt theme
46
+
47
+ ## 1.0.4-alpha.8
48
+
49
+ ### Patch Changes
50
+
51
+ - f7fcbd11: Fixed issue where components are not injecting their styles.
52
+
53
+ ## 1.0.4-alpha.7
54
+
55
+ ### Patch Changes
56
+
57
+ - 3a22eefe: Fixed the Data Grid crashing when a user scrolls to the bottom and uses the pagination to navigate to the last page. #2065
58
+
59
+ ## 1.0.4-alpha.6
60
+
61
+ ### Patch Changes
62
+
63
+ - 6a95567c: Fixed overscroll behaviour when reaching end of scroll and hovering over the grid
64
+
65
+ ## 1.0.4-alpha.5
66
+
67
+ ### Patch Changes
68
+
69
+ - abfc4364: Corrected the minimum supported version of React. It has been updated to 16.14.0 due to the support for the new [JSX transform](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html)
70
+
71
+ ## 1.0.4-alpha.4
72
+
73
+ ### Minor Changes
74
+
75
+ - b636a99c: Condition dropdown in data-grid to only render if the array of options is not empty
76
+
77
+ ### Patch Changes
78
+
79
+ - de5ab33b: Dropdown will now close when the already selected item is selected.
80
+ - f3ebfa48: When using the DropdownCellEditor with the Data Grid, hovering a grid row then hovering over a Dropdown list no longer crashes the Data Grid.
81
+
82
+ ## 1.0.4-alpha.3
83
+
84
+ ### Minor Changes
85
+
86
+ - af22b756: DropdownCellEditor accepts reandonly array
87
+
88
+ ## 1.0.4-alpha.2
89
+
90
+ ### Patch Changes
91
+
92
+ - 1e9ef1a2: Fix duplicate Salt libraries being installed when multiple libraries are installed
93
+
94
+ ## 1.0.4-alpha.1
95
+
96
+ ### Minor Changes
97
+
98
+ - c4c9d4f3: Add column sorting to the Data Grid
99
+
100
+ ```tsx
101
+ <GridColumn
102
+ sortable
103
+ onSortOrderChange={({ sortOrder }) => {}}
104
+ customSort={({ rowData, sortOrder }) => {}}
105
+ />
106
+ ```
107
+
108
+ - 3be48882: Add cell validation.
109
+
110
+ ```tsx
111
+ <GridColumn
112
+ getValidationStatus={({ row }) => validationStatus[row.index].name}
113
+ validationType="strong"
114
+ >
115
+ ```
116
+
117
+ Add row validation.
118
+
119
+ ```tsx
120
+ <Grid getRowValidationStatus={(row) => row.data.status}>
121
+ <RowValidationStatusColumn
122
+ id="status"
123
+ aria-label="Row status"
124
+ defaultWidth={30}
125
+ />
126
+ </Grid>
127
+ ```
128
+
129
+ ## 1.0.4-alpha.0
130
+
131
+ ### Minor Changes
132
+
133
+ - 9bee69f4: Move `Checkbox` from lab to core
134
+
135
+ ### Patch Changes
136
+
137
+ - 102501cb: Fix a bug where the Data Grid cell editor value is dismissed when the user clicks away
138
+ - 3c740de4: Fix a bug where the Data Grid cell editor value is dismissed when the user clicks away
139
+ - 3e7a1b0f: Checkbox
140
+
141
+ Removed `CheckboxBase` and replaced with `Checkbox`
142
+ Added `error` prop for error state styling.
143
+
144
+ CheckboxGroup
145
+
146
+ Removed `legend` and `LegendProps` prop; will be implemented by FormField.
147
+ Replaced `row` prop with `direction` prop.
148
+ Added `wrap` prop.
149
+
150
+ CheckboxIcon
151
+
152
+ Added `error` prop for error state styling.
153
+ Added `disabled` prop for disabled state styling.
154
+
155
+ ## 1.0.3
156
+
157
+ ### Patch Changes
158
+
159
+ - b0e390c5: RadioButton
160
+
161
+ Removed `RadioButtonBase` and replaced with `RadioButton`
162
+ Removed `icon` prop; icon is not customizable any more.
163
+ Added `inputProps` prop to be passed to the radio input.
164
+ Added `error` prop for error state styling.
165
+
166
+ RadioButtonGroup
167
+
168
+ Removed `icon` prop; icon is not customizable any more.
169
+ Removed `legend` prop; will be implemented by FormField.
170
+ Removed `radios` prop; should be the users' responsibility to provide the nested RadioButtons as children.
171
+ Replaced `row` prop with `direction` prop.
172
+ Added `wrap` prop.
173
+
174
+ RadioButtonIcon
175
+
176
+ Added `error` prop for error state styling.
177
+ Added `disabled` prop for disabled state styling.
178
+
179
+ ## 1.0.2
180
+
181
+ ### Patch Changes
182
+
183
+ - 1ad02da3: Deprecated `--salt-overlayable-shadow-scroll-color`, use `--salt-shadow-1-color` instead
184
+
185
+ ## 1.0.1
186
+
187
+ ### Patch Changes
188
+
189
+ - a0724642: Fix SSR support
190
+ - 03a5d0e1: Made Grid dimension measurements more reliable
191
+ - 00b53661: Fixed row selection not being announced by screenreaders
192
+
193
+ ## 1.0.0
194
+
195
+ ### Major Changes
196
+
197
+ - c1bc7479: Salt is the J.P. Morgan design system, an open-source solution for building exceptional products and digital experiences in financial services and other industries. It offers you well-documented, accessible components as well as comprehensive design templates, style libraries and assets.
198
+
199
+ With this initial release we're providing:
200
+
201
+ - AG Grid Theme
202
+ - Border Layout
203
+ - Button
204
+ - Data Grid
205
+ - Flex Layout
206
+ - Flow Layout
207
+ - Grid Layout
208
+ - Icon
209
+ - Link
210
+ - Salt Provider
211
+ - Stack Layout
212
+ - Status Indicator
213
+ - Text
214
+ - Theme
215
+
216
+ And a number of other lab components.
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var core = require('@salt-ds/core');
7
5
  var styles = require('@salt-ds/styles');
@@ -18,10 +16,10 @@ require('./internal/MiddlePart.js');
18
16
  require('./internal/RightPart.js');
19
17
  require('./internal/Scrollable.js');
20
18
  require('react');
21
- require('./internal/TableRow.js');
22
- require('./SelectionContext.js');
23
- require('./EditorContext.js');
24
19
  require('./CursorContext.js');
20
+ require('./EditorContext.js');
21
+ require('./SelectionContext.js');
22
+ require('./internal/TableRow.js');
25
23
  var gridHooks = require('./internal/gridHooks.js');
26
24
  require('./internal/TopLeftPart.js');
27
25
  require('./internal/TopPart.js');
@@ -65,50 +63,54 @@ function BaseCell(props) {
65
63
  const hasValidation = !!validationStatus;
66
64
  const hasValidationMessage = !!validationMessage || hasValidation;
67
65
  const validationMessageId = `${cellId}-statusMessage`;
68
- return /* @__PURE__ */ jsxRuntime.jsxs(CellFrame.CellFrame, {
69
- ref,
70
- id: cellId,
71
- "data-row-index": row.index,
72
- "data-column-index": column.index,
73
- "data-testid": isFocused ? "grid-cell-focused" : void 0,
74
- "aria-colindex": column.index + 1,
75
- role: "gridcell",
76
- separator: column.separator,
77
- isSelected,
78
- isEditable,
79
- className: clsx.clsx(className, {
80
- [withBaseName("hasValidation")]: hasValidation,
81
- [withBaseName(`status-${validationStatus}`)]: validationStatus
82
- }),
83
- style,
84
- tabIndex: isFocused && !isFocusableContent ? 0 : -1,
85
- onFocus,
86
- "aria-invalid": validationStatus === "error" || void 0,
87
- "aria-describedby": hasValidationMessage ? validationMessageId : void 0,
88
- children: [
89
- hasValidationMessage ? /* @__PURE__ */ jsxRuntime.jsx("div", {
90
- id: validationMessageId,
91
- className: "salt-visuallyHidden",
92
- "aria-hidden": true,
93
- role: "status",
94
- children: validationMessage ? validationMessage : `Cell validation state is ${validationStatus}`
95
- }) : null,
96
- /* @__PURE__ */ jsxRuntime.jsx("div", {
97
- className: clsx.clsx(withBaseName("valueContainer")),
98
- children
99
- }),
100
- hasValidation && validationType === "strong" ? /* @__PURE__ */ jsxRuntime.jsx("div", {
101
- className: clsx.clsx(withBaseName("statusContainer"), {
102
- [withBaseName(`statusContainer-align-${align}`)]: align
103
- }),
104
- children: icons[validationStatus]
105
- }) : null,
106
- isFocused && isEditable && /* @__PURE__ */ jsxRuntime.jsx(CornerTag.CornerTag, {
107
- focusOnly: true
66
+ return /* @__PURE__ */ jsxRuntime.jsxs(
67
+ CellFrame.CellFrame,
68
+ {
69
+ ref,
70
+ id: cellId,
71
+ "data-row-index": row.index,
72
+ "data-column-index": column.index,
73
+ "data-testid": isFocused ? "grid-cell-focused" : void 0,
74
+ "aria-colindex": column.index + 1,
75
+ role: "gridcell",
76
+ separator: column.separator,
77
+ isSelected,
78
+ isEditable,
79
+ className: clsx.clsx(className, {
80
+ [withBaseName("hasValidation")]: hasValidation,
81
+ [withBaseName(`status-${validationStatus}`)]: validationStatus
108
82
  }),
109
- isFocused && !isFocusableContent && /* @__PURE__ */ jsxRuntime.jsx(Cursor.Cursor, {})
110
- ]
111
- });
83
+ style,
84
+ tabIndex: isFocused && !isFocusableContent ? 0 : -1,
85
+ onFocus,
86
+ "aria-invalid": validationStatus === "error" || void 0,
87
+ "aria-describedby": hasValidationMessage ? validationMessageId : void 0,
88
+ children: [
89
+ hasValidationMessage ? /* @__PURE__ */ jsxRuntime.jsx(
90
+ "div",
91
+ {
92
+ id: validationMessageId,
93
+ className: "salt-visuallyHidden",
94
+ "aria-hidden": true,
95
+ role: "status",
96
+ children: validationMessage ? validationMessage : `Cell validation state is ${validationStatus}`
97
+ }
98
+ ) : null,
99
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(withBaseName("valueContainer")), children }),
100
+ hasValidation && validationType === "strong" ? /* @__PURE__ */ jsxRuntime.jsx(
101
+ "div",
102
+ {
103
+ className: clsx.clsx(withBaseName("statusContainer"), {
104
+ [withBaseName(`statusContainer-align-${align}`)]: align
105
+ }),
106
+ children: icons[validationStatus]
107
+ }
108
+ ) : null,
109
+ isFocused && isEditable && /* @__PURE__ */ jsxRuntime.jsx(CornerTag.CornerTag, { focusOnly: true }),
110
+ isFocused && !isFocusableContent && /* @__PURE__ */ jsxRuntime.jsx(Cursor.Cursor, {})
111
+ ]
112
+ }
113
+ );
112
114
  }
113
115
 
114
116
  exports.BaseCell = BaseCell;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCell.js","sources":["../src/BaseCell.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\n\nimport { CellFrame } from \"./CellFrame\";\nimport { CornerTag } from \"./CornerTag\";\nimport { GridColumnModel } from \"./Grid\";\nimport { GridCellProps } from \"./GridColumn\";\nimport { Cursor, useFocusableContent } from \"./internal\";\nimport {\n CellErrorIcon,\n CellSuccessIcon,\n CellWarningIcon,\n} from \"./internal/CellStatusIcons\";\n\nimport baseCellCss from \"./BaseCell.css\";\n\nconst withBaseName = makePrefixer(\"saltGridBaseCell\");\n\nexport function getCellId<T>(rowKey: string, column: GridColumnModel<T>) {\n return `R${rowKey}C${column.info.props.id}`;\n}\n\nconst icons = {\n warning: CellWarningIcon,\n error: CellErrorIcon,\n success: CellSuccessIcon,\n};\n\n// Default component for grid cells. Provides selection, on-hover highlighting,\n// cursor etc.\nexport function BaseCell<T>(props: GridCellProps<T>) {\n const {\n column,\n className,\n row,\n style,\n isFocused,\n isSelected,\n isEditable,\n children,\n validationStatus,\n validationMessage,\n validationType = \"light\",\n align,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-base-cell\",\n css: baseCellCss,\n window: targetWindow,\n });\n\n const { ref, isFocusableContent, onFocus } =\n useFocusableContent<HTMLTableCellElement>();\n const cellId = getCellId(row.key, column);\n const hasValidation = !!validationStatus;\n const hasValidationMessage = !!validationMessage || hasValidation;\n const validationMessageId = `${cellId}-statusMessage`;\n return (\n <CellFrame\n ref={ref}\n id={cellId}\n data-row-index={row.index}\n data-column-index={column.index}\n data-testid={isFocused ? \"grid-cell-focused\" : undefined}\n // aria-colindex uses one-based array indexing\n aria-colindex={column.index + 1}\n role=\"gridcell\"\n separator={column.separator}\n isSelected={isSelected}\n isEditable={isEditable}\n className={clsx(className, {\n [withBaseName(\"hasValidation\")]: hasValidation,\n [withBaseName(`status-${validationStatus as string}`)]:\n validationStatus,\n })}\n style={style}\n tabIndex={isFocused && !isFocusableContent ? 0 : -1}\n onFocus={onFocus}\n aria-invalid={validationStatus === \"error\" || undefined}\n aria-describedby={hasValidationMessage ? validationMessageId : undefined}\n >\n {hasValidationMessage ? (\n <div\n id={validationMessageId}\n className=\"salt-visuallyHidden\"\n aria-hidden\n role=\"status\"\n >\n {validationMessage\n ? validationMessage\n : `Cell validation state is ${validationStatus as string}`}\n </div>\n ) : null}\n <div className={clsx(withBaseName(\"valueContainer\"))}>{children}</div>\n {hasValidation && validationType === \"strong\" ? (\n <div\n className={clsx(withBaseName(\"statusContainer\"), {\n [withBaseName(`statusContainer-align-${align as string}`)]: align,\n })}\n >\n {icons[validationStatus]}\n </div>\n ) : null}\n {isFocused && isEditable && <CornerTag focusOnly={true} />}\n {isFocused && !isFocusableContent && <Cursor />}\n </CellFrame>\n );\n}\n"],"names":["makePrefixer","CellWarningIcon","CellErrorIcon","CellSuccessIcon","useWindow","useComponentCssInjection","baseCellCss","useFocusableContent","jsxs","CellFrame","clsx","jsx","CornerTag","Cursor"],"mappings":"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"}
1
+ {"version":3,"file":"BaseCell.js","sources":["../src/BaseCell.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\n\nimport { CellFrame } from \"./CellFrame\";\nimport { CornerTag } from \"./CornerTag\";\nimport type { GridColumnModel } from \"./Grid\";\nimport type { GridCellProps } from \"./GridColumn\";\nimport { Cursor, useFocusableContent } from \"./internal\";\nimport {\n CellErrorIcon,\n CellSuccessIcon,\n CellWarningIcon,\n} from \"./internal/CellStatusIcons\";\n\nimport baseCellCss from \"./BaseCell.css\";\n\nconst withBaseName = makePrefixer(\"saltGridBaseCell\");\n\nexport function getCellId<T>(rowKey: string, column: GridColumnModel<T>) {\n return `R${rowKey}C${column.info.props.id}`;\n}\n\nconst icons = {\n warning: CellWarningIcon,\n error: CellErrorIcon,\n success: CellSuccessIcon,\n};\n\n// Default component for grid cells. Provides selection, on-hover highlighting,\n// cursor etc.\nexport function BaseCell<T>(props: GridCellProps<T>) {\n const {\n column,\n className,\n row,\n style,\n isFocused,\n isSelected,\n isEditable,\n children,\n validationStatus,\n validationMessage,\n validationType = \"light\",\n align,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-base-cell\",\n css: baseCellCss,\n window: targetWindow,\n });\n\n const { ref, isFocusableContent, onFocus } =\n useFocusableContent<HTMLTableCellElement>();\n const cellId = getCellId(row.key, column);\n const hasValidation = !!validationStatus;\n const hasValidationMessage = !!validationMessage || hasValidation;\n const validationMessageId = `${cellId}-statusMessage`;\n return (\n <CellFrame\n ref={ref}\n id={cellId}\n data-row-index={row.index}\n data-column-index={column.index}\n data-testid={isFocused ? \"grid-cell-focused\" : undefined}\n // aria-colindex uses one-based array indexing\n aria-colindex={column.index + 1}\n role=\"gridcell\"\n separator={column.separator}\n isSelected={isSelected}\n isEditable={isEditable}\n className={clsx(className, {\n [withBaseName(\"hasValidation\")]: hasValidation,\n [withBaseName(`status-${validationStatus as string}`)]:\n validationStatus,\n })}\n style={style}\n tabIndex={isFocused && !isFocusableContent ? 0 : -1}\n onFocus={onFocus}\n aria-invalid={validationStatus === \"error\" || undefined}\n aria-describedby={hasValidationMessage ? validationMessageId : undefined}\n >\n {hasValidationMessage ? (\n <div\n id={validationMessageId}\n className=\"salt-visuallyHidden\"\n aria-hidden\n role=\"status\"\n >\n {validationMessage\n ? validationMessage\n : `Cell validation state is ${validationStatus as string}`}\n </div>\n ) : null}\n <div className={clsx(withBaseName(\"valueContainer\"))}>{children}</div>\n {hasValidation && validationType === \"strong\" ? (\n <div\n className={clsx(withBaseName(\"statusContainer\"), {\n [withBaseName(`statusContainer-align-${align as string}`)]: align,\n })}\n >\n {icons[validationStatus]}\n </div>\n ) : null}\n {isFocused && isEditable && <CornerTag focusOnly={true} />}\n {isFocused && !isFocusableContent && <Cursor />}\n </CellFrame>\n );\n}\n"],"names":["makePrefixer","CellWarningIcon","CellErrorIcon","CellSuccessIcon","useWindow","useComponentCssInjection","baseCellCss","useFocusableContent","jsxs","CellFrame","clsx","jsx","CornerTag","Cursor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA;AAEpC,SAAA,SAAA,CAAa,QAAgB,MAA4B,EAAA;AACvE,EAAA,OAAO,IAAI,MAAM,CAAA,CAAA,EAAI,MAAO,CAAA,IAAA,CAAK,MAAM,EAAE,CAAA,CAAA;AAC3C;AAEA,MAAM,KAAQ,GAAA;AAAA,EACZ,OAAS,EAAAC,+BAAA;AAAA,EACT,KAAO,EAAAC,6BAAA;AAAA,EACP,OAAS,EAAAC;AACX,CAAA;AAIO,SAAS,SAAY,KAAyB,EAAA;AACnD,EAAM,MAAA;AAAA,IACJ,MAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAiB,GAAA,OAAA;AAAA,IACjB;AAAA,GACE,GAAA,KAAA;AAEJ,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,GAAA,EAAK,kBAAoB,EAAA,OAAA,KAC/BC,6BAA0C,EAAA;AAC5C,EAAA,MAAM,MAAS,GAAA,SAAA,CAAU,GAAI,CAAA,GAAA,EAAK,MAAM,CAAA;AACxC,EAAM,MAAA,aAAA,GAAgB,CAAC,CAAC,gBAAA;AACxB,EAAM,MAAA,oBAAA,GAAuB,CAAC,CAAC,iBAAqB,IAAA,aAAA;AACpD,EAAM,MAAA,mBAAA,GAAsB,GAAG,MAAM,CAAA,cAAA,CAAA;AACrC,EACE,uBAAAC,eAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,EAAI,EAAA,MAAA;AAAA,MACJ,kBAAgB,GAAI,CAAA,KAAA;AAAA,MACpB,qBAAmB,MAAO,CAAA,KAAA;AAAA,MAC1B,aAAA,EAAa,YAAY,mBAAsB,GAAA,KAAA,CAAA;AAAA,MAE/C,eAAA,EAAe,OAAO,KAAQ,GAAA,CAAA;AAAA,MAC9B,IAAK,EAAA,UAAA;AAAA,MACL,WAAW,MAAO,CAAA,SAAA;AAAA,MAClB,UAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAWC,UAAK,SAAW,EAAA;AAAA,QACzB,CAAC,YAAA,CAAa,eAAe,CAAC,GAAG,aAAA;AAAA,QACjC,CAAC,YAAa,CAAA,CAAA,OAAA,EAAU,gBAA0B,CAAA,CAAE,CAAC,GACnD;AAAA,OACH,CAAA;AAAA,MACD,KAAA;AAAA,MACA,QAAU,EAAA,SAAA,IAAa,CAAC,kBAAA,GAAqB,CAAI,GAAA,CAAA,CAAA;AAAA,MACjD,OAAA;AAAA,MACA,cAAA,EAAc,qBAAqB,OAAW,IAAA,KAAA,CAAA;AAAA,MAC9C,kBAAA,EAAkB,uBAAuB,mBAAsB,GAAA,KAAA,CAAA;AAAA,MAE9D,QAAA,EAAA;AAAA,QACC,oBAAA,mBAAAC,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAI,EAAA,mBAAA;AAAA,YACJ,SAAU,EAAA,qBAAA;AAAA,YACV,aAAW,EAAA,IAAA;AAAA,YACX,IAAK,EAAA,QAAA;AAAA,YAEJ,QAAA,EAAA,iBAAA,GACG,iBACA,GAAA,CAAA,yBAAA,EAA4B,gBAA0B,CAAA;AAAA;AAAA,SAE1D,GAAA,IAAA;AAAA,wBACJA,cAAA,CAAC,SAAI,SAAW,EAAAD,SAAA,CAAK,aAAa,gBAAgB,CAAC,GAAI,QAAS,EAAA,CAAA;AAAA,QAC/D,aAAA,IAAiB,mBAAmB,QACnC,mBAAAC,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAW,EAAAD,SAAA,CAAK,YAAa,CAAA,iBAAiB,CAAG,EAAA;AAAA,cAC/C,CAAC,YAAa,CAAA,CAAA,sBAAA,EAAyB,KAAe,CAAA,CAAE,CAAC,GAAG;AAAA,aAC7D,CAAA;AAAA,YAEA,gBAAM,gBAAgB;AAAA;AAAA,SAEvB,GAAA,IAAA;AAAA,QACH,SAAa,IAAA,UAAA,oBAAeC,cAAA,CAAAC,mBAAA,EAAA,EAAU,WAAW,IAAM,EAAA,CAAA;AAAA,QACvD,SAAa,IAAA,CAAC,kBAAsB,oBAAAD,cAAA,CAACE,aAAO,EAAA,EAAA;AAAA;AAAA;AAAA,GAC/C;AAEJ;;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('react');
6
4
  var GridContext = require('./GridContext.js');
7
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"CellEditor.js","sources":["../src/CellEditor.tsx"],"sourcesContent":["import { ReactNode, useEffect, useMemo } from \"react\";\nimport { useGridContext } from \"./GridContext\";\n\nexport interface CellEditorInfo<T> {\n columnId: string;\n children: ReactNode;\n}\n\nexport interface CellEditorProps<T> {\n columnId?: string;\n children: ReactNode;\n}\n\n// Non-rendered component. Used as a child of GridColumn. Children prop is\n// expected to be a specific implementation of cell editor (text, dropdown etc)\n// Registers the editor in the grid. The grid then renders the editor when\n// edit mode is activated.\n// TODO This feature is experimental.\nexport function CellEditor<T>(props: CellEditorProps<T>) {\n const { children } = props;\n const columnId = props.columnId!;\n const grid = useGridContext();\n\n const info = useMemo(\n () => ({\n columnId,\n children,\n }),\n [columnId, children]\n );\n\n useEffect(() => {\n grid.onEditorAdded(info);\n return () => {\n grid.onEditorRemoved(info);\n };\n }, [info]);\n\n return null;\n}\n"],"names":["useGridContext","useMemo","useEffect"],"mappings":";;;;;;;AAkBO,SAAS,WAAc,KAA2B,EAAA;AACvD,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA,CAAA;AACrB,EAAA,MAAM,WAAW,KAAM,CAAA,QAAA,CAAA;AACvB,EAAA,MAAM,OAAOA,0BAAe,EAAA,CAAA;AAE5B,EAAA,MAAM,IAAO,GAAAC,aAAA;AAAA,IACX,OAAO;AAAA,MACL,QAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,UAAU,QAAQ,CAAA;AAAA,GACrB,CAAA;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAA,CAAK,cAAc,IAAI,CAAA,CAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAET,EAAO,OAAA,IAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"CellEditor.js","sources":["../src/CellEditor.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useMemo } from \"react\";\nimport { useGridContext } from \"./GridContext\";\n\nexport interface CellEditorInfo<T> {\n columnId: string;\n children: ReactNode;\n}\n\nexport interface CellEditorProps<T> {\n columnId?: string;\n children: ReactNode;\n}\n\n// Non-rendered component. Used as a child of GridColumn. Children prop is\n// expected to be a specific implementation of cell editor (text, dropdown etc)\n// Registers the editor in the grid. The grid then renders the editor when\n// edit mode is activated.\n// TODO This feature is experimental.\nexport function CellEditor<T>(props: CellEditorProps<T>) {\n const { children } = props;\n const columnId = props.columnId!;\n const grid = useGridContext();\n\n const info = useMemo(\n () => ({\n columnId,\n children,\n }),\n [columnId, children],\n );\n\n useEffect(() => {\n grid.onEditorAdded(info);\n return () => {\n grid.onEditorRemoved(info);\n };\n }, [info]);\n\n return null;\n}\n"],"names":["useGridContext","useMemo","useEffect"],"mappings":";;;;;AAkBO,SAAS,WAAc,KAA2B,EAAA;AACvD,EAAM,MAAA,EAAE,UAAa,GAAA,KAAA;AACrB,EAAA,MAAM,WAAW,KAAM,CAAA,QAAA;AACvB,EAAA,MAAM,OAAOA,0BAAe,EAAA;AAE5B,EAAA,MAAM,IAAO,GAAAC,aAAA;AAAA,IACX,OAAO;AAAA,MACL,QAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,UAAU,QAAQ;AAAA,GACrB;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAA,CAAK,cAAc,IAAI,CAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,gBAAgB,IAAI,CAAA;AAAA,KAC3B;AAAA,GACF,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAO,OAAA,IAAA;AACT;;;;"}
@@ -1,13 +1,11 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var core = require('@salt-ds/core');
7
- var window = require('@salt-ds/window');
8
5
  var styles = require('@salt-ds/styles');
9
- var react = require('react');
6
+ var window = require('@salt-ds/window');
10
7
  var clsx = require('clsx');
8
+ var react = require('react');
11
9
  var CellFrame$1 = require('./CellFrame.css.js');
12
10
 
13
11
  const withBaseName = core.makePrefixer("saltGridCell");
@@ -27,35 +25,29 @@ const CellFrame = react.forwardRef(
27
25
  css: CellFrame$1,
28
26
  window: targetWindow
29
27
  });
30
- return /* @__PURE__ */ jsxRuntime.jsxs("td", {
31
- ref,
32
- className: clsx.clsx(
33
- withBaseName(),
34
- {
35
- [withBaseName("selected")]: isSelected,
36
- [withBaseName("editable")]: isEditable,
37
- [withBaseName("regularSeparator")]: separator === "regular" || separator === "groupEdge",
38
- [withBaseName("pinnedSeparator")]: separator === "pinned"
39
- },
40
- className
41
- ),
42
- ...tdProps,
43
- children: [
44
- /* @__PURE__ */ jsxRuntime.jsx("div", {
45
- className: withBaseName("body"),
46
- children
47
- }),
48
- /* @__PURE__ */ jsxRuntime.jsx("div", {
49
- className: withBaseName("columnSeparator")
50
- }),
51
- /* @__PURE__ */ jsxRuntime.jsx("div", {
52
- className: withBaseName("rowSeparator")
53
- }),
54
- /* @__PURE__ */ jsxRuntime.jsx("div", {
55
- className: withBaseName("topSeparator")
56
- })
57
- ]
58
- });
28
+ return /* @__PURE__ */ jsxRuntime.jsxs(
29
+ "td",
30
+ {
31
+ ref,
32
+ className: clsx.clsx(
33
+ withBaseName(),
34
+ {
35
+ [withBaseName("selected")]: isSelected,
36
+ [withBaseName("editable")]: isEditable,
37
+ [withBaseName("regularSeparator")]: separator === "regular" || separator === "groupEdge",
38
+ [withBaseName("pinnedSeparator")]: separator === "pinned"
39
+ },
40
+ className
41
+ ),
42
+ ...tdProps,
43
+ children: [
44
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("body"), children }),
45
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("columnSeparator") }),
46
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("rowSeparator") }),
47
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("topSeparator") })
48
+ ]
49
+ }
50
+ );
59
51
  }
60
52
  );
61
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"CellFrame.js","sources":["../src/CellFrame.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport { ColumnSeparatorType } from \"./Grid\";\n\nimport cellCss from \"./CellFrame.css\";\n\nexport interface CellProps extends HTMLAttributes<HTMLTableCellElement> {\n isSelected?: boolean;\n isEditable?: boolean;\n separator?: ColumnSeparatorType;\n}\n\n// TODO: rename the prefix in next major version to match component name.\nconst withBaseName = makePrefixer(\"saltGridCell\");\n\n/** Cell frame used for creating custom cells and editors */\nexport const CellFrame = forwardRef<HTMLTableCellElement, CellProps>(\n function CellFrame(props, ref) {\n const {\n children,\n separator,\n isSelected,\n isEditable,\n className,\n ...tdProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cell\",\n css: cellCss,\n window: targetWindow,\n });\n\n return (\n <td\n ref={ref}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"selected\")]: isSelected,\n [withBaseName(\"editable\")]: isEditable,\n [withBaseName(\"regularSeparator\")]:\n separator === \"regular\" || separator === \"groupEdge\",\n [withBaseName(\"pinnedSeparator\")]: separator === \"pinned\",\n },\n className\n )}\n {...tdProps}\n >\n <div className={withBaseName(\"body\")}>{children}</div>\n <div className={withBaseName(\"columnSeparator\")} />\n <div className={withBaseName(\"rowSeparator\")} />\n <div className={withBaseName(\"topSeparator\")} />\n </td>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","CellFrame","useWindow","useComponentCssInjection","cellCss","jsxs","clsx","jsx"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAGzC,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACG,GAAA,OAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,WAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACGC,eAAA,CAAA,IAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,UAC5B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,UAAA;AAAA,UAC5B,CAAC,YAAa,CAAA,kBAAkB,CAC9B,GAAA,SAAA,KAAc,aAAa,SAAc,KAAA,WAAA;AAAA,UAC3C,CAAC,YAAA,CAAa,iBAAiB,CAAA,GAAI,SAAc,KAAA,QAAA;AAAA,SACnD;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACC,GAAG,OAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,UAAI,QAAA;AAAA,SAAS,CAAA;AAAA,wBAC/CA,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,SAAG,CAAA;AAAA,wBAChDA,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,SAAG,CAAA;AAAA,wBAC7CA,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,SAAG,CAAA;AAAA,OAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"CellFrame.js","sources":["../src/CellFrame.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type HTMLAttributes, forwardRef } from \"react\";\n\nimport type { ColumnSeparatorType } from \"./Grid\";\n\nimport cellCss from \"./CellFrame.css\";\n\nexport interface CellProps extends HTMLAttributes<HTMLTableCellElement> {\n isSelected?: boolean;\n isEditable?: boolean;\n separator?: ColumnSeparatorType;\n}\n\n// TODO: rename the prefix in next major version to match component name.\nconst withBaseName = makePrefixer(\"saltGridCell\");\n\n/** Cell frame used for creating custom cells and editors */\nexport const CellFrame = forwardRef<HTMLTableCellElement, CellProps>(\n function CellFrame(props, ref) {\n const {\n children,\n separator,\n isSelected,\n isEditable,\n className,\n ...tdProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cell\",\n css: cellCss,\n window: targetWindow,\n });\n\n return (\n <td\n ref={ref}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"selected\")]: isSelected,\n [withBaseName(\"editable\")]: isEditable,\n [withBaseName(\"regularSeparator\")]:\n separator === \"regular\" || separator === \"groupEdge\",\n [withBaseName(\"pinnedSeparator\")]: separator === \"pinned\",\n },\n className,\n )}\n {...tdProps}\n >\n <div className={withBaseName(\"body\")}>{children}</div>\n <div className={withBaseName(\"columnSeparator\")} />\n <div className={withBaseName(\"rowSeparator\")} />\n <div className={withBaseName(\"topSeparator\")} />\n </td>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","CellFrame","useWindow","useComponentCssInjection","cellCss","jsxs","clsx","jsx"],"mappings":";;;;;;;;;;AAiBA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA;AAGzC,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,WAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IACE,uBAAAC,eAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAW,EAAAC,SAAA;AAAA,UACT,YAAa,EAAA;AAAA,UACb;AAAA,YACE,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG,UAAA;AAAA,YAC5B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG,UAAA;AAAA,YAC5B,CAAC,YAAa,CAAA,kBAAkB,CAAC,GAC/B,SAAA,KAAc,aAAa,SAAc,KAAA,WAAA;AAAA,YAC3C,CAAC,YAAA,CAAa,iBAAiB,CAAC,GAAG,SAAc,KAAA;AAAA,WACnD;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,OAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,MAAM,GAAI,QAAS,EAAA,CAAA;AAAA,0BAC/CA,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,iBAAiB,CAAG,EAAA,CAAA;AAAA,0BAChDA,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,cAAc,CAAG,EAAA,CAAA;AAAA,0BAC7CA,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,cAAc,CAAG,EAAA;AAAA;AAAA;AAAA,KAChD;AAAA;AAGN;;;;"}
@@ -1,14 +1,12 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('react');
6
4
 
7
5
  const ColumnDataContext = react.createContext(void 0);
8
6
  const useColumnDataContext = () => {
9
7
  const c = react.useContext(ColumnDataContext);
10
8
  if (!c) {
11
- throw new Error(`useColumnDataContext invoked outside of a Grid`);
9
+ throw new Error("useColumnDataContext invoked outside of a Grid");
12
10
  }
13
11
  return c;
14
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDataContext.js","sources":["../src/ColumnDataContext.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { GridColumnModel } from \"./Grid\";\n\nexport interface ColumnDataContext<T> {\n getColById: (id: string) => GridColumnModel<T> | undefined;\n}\n\nexport const ColumnDataContext = createContext<\n ColumnDataContext<any> | undefined\n>(undefined);\n\nexport const useColumnDataContext = () => {\n const c = useContext(ColumnDataContext);\n if (!c) {\n throw new Error(`useColumnDataContext invoked outside of a Grid`);\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAOa,MAAA,iBAAA,GAAoBA,oBAE/B,KAAS,CAAA,EAAA;AAEJ,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,CAAgD,8CAAA,CAAA,CAAA,CAAA;AAAA,GAClE;AACA,EAAO,OAAA,CAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"ColumnDataContext.js","sources":["../src/ColumnDataContext.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { GridColumnModel } from \"./Grid\";\n\nexport interface ColumnDataContext<T> {\n getColById: (id: string) => GridColumnModel<T> | undefined;\n}\n\nexport const ColumnDataContext = createContext<\n ColumnDataContext<any> | undefined\n>(undefined);\n\nexport const useColumnDataContext = () => {\n const c = useContext(ColumnDataContext);\n if (!c) {\n throw new Error(\"useColumnDataContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;AAOa,MAAA,iBAAA,GAAoBA,oBAE/B,KAAS,CAAA;AAEJ,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,gDAAgD,CAAA;AAAA;AAElE,EAAO,OAAA,CAAA;AACT;;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('react');
6
4
 
7
5
  const ColumnDragContext = react.createContext(
@@ -10,7 +8,7 @@ const ColumnDragContext = react.createContext(
10
8
  const useColumnDragContext = () => {
11
9
  const c = react.useContext(ColumnDragContext);
12
10
  if (!c) {
13
- throw new Error(`useColumnDragContext invoked outside of a Grid`);
11
+ throw new Error("useColumnDragContext invoked outside of a Grid");
14
12
  }
15
13
  return c;
16
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnDragContext.js","sources":["../src/ColumnDragContext.ts"],"sourcesContent":["import { createContext, MouseEventHandler, useContext } from \"react\";\n\nexport interface ColumnDragContext {\n columnMove?: boolean;\n onColumnMoveHandleMouseDown: MouseEventHandler<HTMLDivElement>;\n}\n\nexport const ColumnDragContext = createContext<ColumnDragContext | undefined>(\n undefined\n);\n\nexport const useColumnDragContext = () => {\n const c = useContext(ColumnDragContext);\n if (!c) {\n throw new Error(`useColumnDragContext invoked outside of a Grid`);\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAOO,MAAM,iBAAoB,GAAAA,mBAAA;AAAA,EAC/B,KAAA,CAAA;AACF,EAAA;AAEO,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,CAAgD,8CAAA,CAAA,CAAA,CAAA;AAAA,GAClE;AACA,EAAO,OAAA,CAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"ColumnDragContext.js","sources":["../src/ColumnDragContext.ts"],"sourcesContent":["import { type MouseEventHandler, createContext, useContext } from \"react\";\n\nexport interface ColumnDragContext {\n columnMove?: boolean;\n onColumnMoveHandleMouseDown: MouseEventHandler<HTMLDivElement>;\n}\n\nexport const ColumnDragContext = createContext<ColumnDragContext | undefined>(\n undefined,\n);\n\nexport const useColumnDragContext = () => {\n const c = useContext(ColumnDragContext);\n if (!c) {\n throw new Error(\"useColumnDragContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;AAOO,MAAM,iBAAoB,GAAAA,mBAAA;AAAA,EAC/B,KAAA;AACF;AAEO,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,gDAAgD,CAAA;AAAA;AAElE,EAAO,OAAA,CAAA;AACT;;;;;"}
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
- var GridContext = require('./GridContext.js');
7
4
  var react = require('react');
5
+ var GridContext = require('./GridContext.js');
8
6
 
9
7
  function ColumnGroup(props) {
10
8
  const pinned = props.pinned || null;
@@ -23,9 +21,7 @@ function ColumnGroup(props) {
23
21
  }
24
22
  return child;
25
23
  });
26
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
27
- children: childrenWithPinnedOverridden
28
- });
24
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: childrenWithPinnedOverridden });
29
25
  }
30
26
 
31
27
  exports.ColumnGroup = ColumnGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGroup.js","sources":["../src/ColumnGroup.tsx"],"sourcesContent":["import { useGridContext } from \"./GridContext\";\nimport {\n Children,\n cloneElement,\n ComponentType,\n isValidElement,\n ReactNode,\n useEffect,\n useRef,\n} from \"react\";\nimport { GridColumnPin } from \"./GridColumn\";\nimport { GridColumnGroupModel } from \"./Grid\";\n\nexport interface ColumnGroupCellProps {\n group: GridColumnGroupModel;\n}\n\nexport interface ColumnGroupCellValueProps {\n group: GridColumnGroupModel;\n}\n\nexport interface ColumnGroupProps {\n children: ReactNode;\n name: string;\n id: string;\n pinned?: GridColumnPin;\n headerComponent?: ComponentType<ColumnGroupCellProps>;\n headerValueComponent?: ComponentType<ColumnGroupCellValueProps>;\n}\n\nexport function ColumnGroup(props: ColumnGroupProps) {\n const pinned = props.pinned || null;\n const indexRef = useRef<number>();\n const grid = useGridContext();\n useEffect(() => {\n indexRef.current = grid.getChildIndex(props.id);\n grid.onColumnGroupAdded(props);\n return () => {\n grid.onColumnGroupRemoved(indexRef.current!, props);\n };\n });\n const childrenWithPinnedOverridden = Children.map(props.children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, { pinned });\n }\n return child;\n });\n return <>{childrenWithPinnedOverridden}</>;\n}\n"],"names":["useRef","useGridContext","useEffect","Children","isValidElement","cloneElement","jsx","Fragment"],"mappings":";;;;;;;;AA8BO,SAAS,YAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,MAAM,MAAU,IAAA,IAAA,CAAA;AAC/B,EAAA,MAAM,WAAWA,YAAe,EAAA,CAAA;AAChC,EAAA,MAAM,OAAOC,0BAAe,EAAA,CAAA;AAC5B,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,OAAU,GAAA,IAAA,CAAK,aAAc,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AAC9C,IAAA,IAAA,CAAK,mBAAmB,KAAK,CAAA,CAAA;AAC7B,IAAA,OAAO,MAAM;AACX,MAAK,IAAA,CAAA,oBAAA,CAAqB,QAAS,CAAA,OAAA,EAAU,KAAK,CAAA,CAAA;AAAA,KACpD,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,+BAA+BC,cAAS,CAAA,GAAA,CAAI,KAAM,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC3E,IAAI,IAAAC,oBAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,OAAOC,kBAAa,CAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,CAAA;AAAA,KACvC;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACR,CAAA,CAAA;AACD,EAAO,uBAAAC,cAAA,CAAAC,mBAAA,EAAA;AAAA,IAAG,QAAA,EAAA,4BAAA;AAAA,GAA6B,CAAA,CAAA;AACzC;;;;"}
1
+ {"version":3,"file":"ColumnGroup.js","sources":["../src/ColumnGroup.tsx"],"sourcesContent":["import {\n Children,\n type ComponentType,\n type ReactNode,\n cloneElement,\n isValidElement,\n useEffect,\n useRef,\n} from \"react\";\nimport type { GridColumnGroupModel } from \"./Grid\";\nimport type { GridColumnPin } from \"./GridColumn\";\nimport { useGridContext } from \"./GridContext\";\n\nexport interface ColumnGroupCellProps {\n group: GridColumnGroupModel;\n}\n\nexport interface ColumnGroupCellValueProps {\n group: GridColumnGroupModel;\n}\n\nexport interface ColumnGroupProps {\n children: ReactNode;\n name: string;\n id: string;\n pinned?: GridColumnPin;\n headerComponent?: ComponentType<ColumnGroupCellProps>;\n headerValueComponent?: ComponentType<ColumnGroupCellValueProps>;\n}\n\nexport function ColumnGroup(props: ColumnGroupProps) {\n const pinned = props.pinned || null;\n const indexRef = useRef<number>();\n const grid = useGridContext();\n useEffect(() => {\n indexRef.current = grid.getChildIndex(props.id);\n grid.onColumnGroupAdded(props);\n return () => {\n grid.onColumnGroupRemoved(indexRef.current!, props);\n };\n });\n const childrenWithPinnedOverridden = Children.map(props.children, (child) => {\n if (isValidElement(child)) {\n return cloneElement(child, { pinned });\n }\n return child;\n });\n return <>{childrenWithPinnedOverridden}</>;\n}\n"],"names":["useRef","useGridContext","useEffect","Children","isValidElement","cloneElement"],"mappings":";;;;;;AA8BO,SAAS,YAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,MAAA,GAAS,MAAM,MAAU,IAAA,IAAA;AAC/B,EAAA,MAAM,WAAWA,YAAe,EAAA;AAChC,EAAA,MAAM,OAAOC,0BAAe,EAAA;AAC5B,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,QAAA,CAAS,OAAU,GAAA,IAAA,CAAK,aAAc,CAAA,KAAA,CAAM,EAAE,CAAA;AAC9C,IAAA,IAAA,CAAK,mBAAmB,KAAK,CAAA;AAC7B,IAAA,OAAO,MAAM;AACX,MAAK,IAAA,CAAA,oBAAA,CAAqB,QAAS,CAAA,OAAA,EAAU,KAAK,CAAA;AAAA,KACpD;AAAA,GACD,CAAA;AACD,EAAA,MAAM,+BAA+BC,cAAS,CAAA,GAAA,CAAI,KAAM,CAAA,QAAA,EAAU,CAAC,KAAU,KAAA;AAC3E,IAAI,IAAAC,oBAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,OAAOC,kBAAa,CAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA;AAAA;AAEvC,IAAO,OAAA,KAAA;AAAA,GACR,CAAA;AACD,EAAA,6DAAU,QAA6B,EAAA,4BAAA,EAAA,CAAA;AACzC;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var react = require('react');
6
4
 
7
5
  const ColumnSortContext = react.createContext(
@@ -10,7 +8,7 @@ const ColumnSortContext = react.createContext(
10
8
  const useColumnSortContext = () => {
11
9
  const c = react.useContext(ColumnSortContext);
12
10
  if (!c) {
13
- throw new Error(`useColumnSortContext invoked outside of a Grid`);
11
+ throw new Error("useColumnSortContext invoked outside of a Grid");
14
12
  }
15
13
  return c;
16
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSortContext.js","sources":["../src/ColumnSortContext.ts"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\nimport { SortOrder } from \"./Grid\";\nimport { GridColumnProps } from \"./GridColumn\";\n\nexport interface ColumnSortContext {\n sortByColumnId?: GridColumnProps[\"id\"];\n setSortByColumnId: (c: React.SetStateAction<GridColumnProps[\"id\"]>) => void;\n sortOrder: SortOrder;\n setSortOrder: (o: SortOrder) => void;\n onClickSortColumn: (colHeaderId: GridColumnProps[\"id\"]) => void;\n}\n\nexport const ColumnSortContext = createContext<ColumnSortContext | undefined>(\n undefined\n);\n\nexport const useColumnSortContext = () => {\n const c = useContext(ColumnSortContext);\n if (!c) {\n throw new Error(`useColumnSortContext invoked outside of a Grid`);\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAYO,MAAM,iBAAoB,GAAAA,mBAAA;AAAA,EAC/B,KAAA,CAAA;AACF,EAAA;AAEO,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,CAAgD,8CAAA,CAAA,CAAA,CAAA;AAAA,GAClE;AACA,EAAO,OAAA,CAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"ColumnSortContext.js","sources":["../src/ColumnSortContext.ts"],"sourcesContent":["import type { SetStateAction } from \"react\";\nimport { createContext, useContext } from \"react\";\nimport type { SortOrder } from \"./Grid\";\nimport type { GridColumnProps } from \"./GridColumn\";\n\nexport interface ColumnSortContext {\n sortByColumnId?: GridColumnProps[\"id\"];\n setSortByColumnId: (c: SetStateAction<GridColumnProps[\"id\"]>) => void;\n sortOrder: SortOrder;\n setSortOrder: (o: SortOrder) => void;\n onClickSortColumn: (colHeaderId: GridColumnProps[\"id\"]) => void;\n}\n\nexport const ColumnSortContext = createContext<ColumnSortContext | undefined>(\n undefined,\n);\n\nexport const useColumnSortContext = () => {\n const c = useContext(ColumnSortContext);\n if (!c) {\n throw new Error(\"useColumnSortContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;AAaO,MAAM,iBAAoB,GAAAA,mBAAA;AAAA,EAC/B,KAAA;AACF;AAEO,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,CAAA,GAAIC,iBAAW,iBAAiB,CAAA;AACtC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,gDAAgD,CAAA;AAAA;AAElE,EAAO,OAAA,CAAA;AACT;;;;;"}
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
- var window = require('@salt-ds/window');
7
4
  var styles = require('@salt-ds/styles');
5
+ var window = require('@salt-ds/window');
8
6
  var CornerTag$1 = require('./CornerTag.css.js');
9
7
 
10
8
  function CornerTag(props) {
@@ -14,9 +12,12 @@ function CornerTag(props) {
14
12
  css: CornerTag$1,
15
13
  window: targetWindow
16
14
  });
17
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
18
- className: props.focusOnly ? "saltGridCornerTag-focusOnly" : "saltGridCornerTag"
19
- });
15
+ return /* @__PURE__ */ jsxRuntime.jsx(
16
+ "div",
17
+ {
18
+ className: props.focusOnly ? "saltGridCornerTag-focusOnly" : "saltGridCornerTag"
19
+ }
20
+ );
20
21
  }
21
22
 
22
23
  exports.CornerTag = CornerTag;
@@ -1 +1 @@
1
- {"version":3,"file":"CornerTag.js","sources":["../src/CornerTag.tsx"],"sourcesContent":["import { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport cornerTagCss from \"./CornerTag.css\";\n\nexport interface CornerTagProps {\n focusOnly?: boolean; // Show when the parent is focused, hide when not\n}\n\nexport function CornerTag(props: CornerTagProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-corner-tag\",\n css: cornerTagCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={\n props.focusOnly ? \"saltGridCornerTag-focusOnly\" : \"saltGridCornerTag\"\n }\n />\n );\n}\n"],"names":["useWindow","useComponentCssInjection","cornerTagCss","jsx"],"mappings":";;;;;;;;;AASO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EACE,KAAM,CAAA,SAAA,GAAY,6BAAgC,GAAA,mBAAA;AAAA,GAEtD,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CornerTag.js","sources":["../src/CornerTag.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport cornerTagCss from \"./CornerTag.css\";\n\nexport interface CornerTagProps {\n focusOnly?: boolean; // Show when the parent is focused, hide when not\n}\n\nexport function CornerTag(props: CornerTagProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-corner-tag\",\n css: cornerTagCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={\n props.focusOnly ? \"saltGridCornerTag-focusOnly\" : \"saltGridCornerTag\"\n }\n />\n );\n}\n"],"names":["useWindow","useComponentCssInjection","cornerTagCss","jsx"],"mappings":";;;;;;;AASO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EACE,KAAM,CAAA,SAAA,GAAY,6BAAgC,GAAA;AAAA;AAAA,GAEtD;AAEJ;;;;"}