@salt-ds/data-grid 0.0.0-snapshot-20230620094559

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 (381) hide show
  1. package/dist-cjs/BaseCell.css.js +6 -0
  2. package/dist-cjs/BaseCell.css.js.map +1 -0
  3. package/dist-cjs/BaseCell.js +116 -0
  4. package/dist-cjs/BaseCell.js.map +1 -0
  5. package/dist-cjs/CellEditor.js +29 -0
  6. package/dist-cjs/CellEditor.js.map +1 -0
  7. package/dist-cjs/CheckboxCell.css.js +6 -0
  8. package/dist-cjs/CheckboxCell.css.js.map +1 -0
  9. package/dist-cjs/ColumnDataContext.js +18 -0
  10. package/dist-cjs/ColumnDataContext.js.map +1 -0
  11. package/dist-cjs/ColumnDragContext.js +20 -0
  12. package/dist-cjs/ColumnDragContext.js.map +1 -0
  13. package/dist-cjs/ColumnGroup.js +32 -0
  14. package/dist-cjs/ColumnGroup.js.map +1 -0
  15. package/dist-cjs/ColumnSortContext.js +20 -0
  16. package/dist-cjs/ColumnSortContext.js.map +1 -0
  17. package/dist-cjs/CornerTag.css.js +6 -0
  18. package/dist-cjs/CornerTag.css.js.map +1 -0
  19. package/dist-cjs/CornerTag.js +23 -0
  20. package/dist-cjs/CornerTag.js.map +1 -0
  21. package/dist-cjs/CursorContext.js +20 -0
  22. package/dist-cjs/CursorContext.js.map +1 -0
  23. package/dist-cjs/DropdownCellEditor.css.js +6 -0
  24. package/dist-cjs/DropdownCellEditor.css.js.map +1 -0
  25. package/dist-cjs/DropdownCellEditor.js +82 -0
  26. package/dist-cjs/DropdownCellEditor.js.map +1 -0
  27. package/dist-cjs/EditorContext.js +20 -0
  28. package/dist-cjs/EditorContext.js.map +1 -0
  29. package/dist-cjs/Grid.css.js +6 -0
  30. package/dist-cjs/Grid.css.js.map +1 -0
  31. package/dist-cjs/Grid.js +1026 -0
  32. package/dist-cjs/Grid.js.map +1 -0
  33. package/dist-cjs/GridColumn.js +43 -0
  34. package/dist-cjs/GridColumn.js.map +1 -0
  35. package/dist-cjs/GridContext.js +20 -0
  36. package/dist-cjs/GridContext.js.map +1 -0
  37. package/dist-cjs/GroupHeaderCell.css.js +6 -0
  38. package/dist-cjs/GroupHeaderCell.css.js.map +1 -0
  39. package/dist-cjs/GroupHeaderCell.js +54 -0
  40. package/dist-cjs/GroupHeaderCell.js.map +1 -0
  41. package/dist-cjs/GroupHeaderCellValue.js +16 -0
  42. package/dist-cjs/GroupHeaderCellValue.js.map +1 -0
  43. package/dist-cjs/HeaderCell.css.js +6 -0
  44. package/dist-cjs/HeaderCell.css.js.map +1 -0
  45. package/dist-cjs/HeaderCell.js +187 -0
  46. package/dist-cjs/HeaderCell.js.map +1 -0
  47. package/dist-cjs/HeaderCellValue.js +19 -0
  48. package/dist-cjs/HeaderCellValue.js.map +1 -0
  49. package/dist-cjs/LayoutContext.js +12 -0
  50. package/dist-cjs/LayoutContext.js.map +1 -0
  51. package/dist-cjs/NumberRange.js +63 -0
  52. package/dist-cjs/NumberRange.js.map +1 -0
  53. package/dist-cjs/NumericColumn.css.js +6 -0
  54. package/dist-cjs/NumericColumn.css.js.map +1 -0
  55. package/dist-cjs/NumericColumn.js +127 -0
  56. package/dist-cjs/NumericColumn.js.map +1 -0
  57. package/dist-cjs/RowSelectionCheckboxCellValue.js +45 -0
  58. package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -0
  59. package/dist-cjs/RowSelectionCheckboxColumn.js +39 -0
  60. package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -0
  61. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +56 -0
  62. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
  63. package/dist-cjs/RowSelectionRadioCellValue.js +33 -0
  64. package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -0
  65. package/dist-cjs/RowSelectionRadioColumn.js +34 -0
  66. package/dist-cjs/RowSelectionRadioColumn.js.map +1 -0
  67. package/dist-cjs/RowSelectionRadioHeaderCell.js +30 -0
  68. package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -0
  69. package/dist-cjs/RowValidationStatus.js +13 -0
  70. package/dist-cjs/RowValidationStatus.js.map +1 -0
  71. package/dist-cjs/SelectionContext.js +20 -0
  72. package/dist-cjs/SelectionContext.js.map +1 -0
  73. package/dist-cjs/SizingContext.js +20 -0
  74. package/dist-cjs/SizingContext.js.map +1 -0
  75. package/dist-cjs/TextCellEditor.css.js +6 -0
  76. package/dist-cjs/TextCellEditor.css.js.map +1 -0
  77. package/dist-cjs/TextCellEditor.js +104 -0
  78. package/dist-cjs/TextCellEditor.js.map +1 -0
  79. package/dist-cjs/index.js +60 -0
  80. package/dist-cjs/index.js.map +1 -0
  81. package/dist-cjs/internal/Cell.css.js +6 -0
  82. package/dist-cjs/internal/Cell.css.js.map +1 -0
  83. package/dist-cjs/internal/Cell.js +63 -0
  84. package/dist-cjs/internal/Cell.js.map +1 -0
  85. package/dist-cjs/internal/CellMeasure.css.js +6 -0
  86. package/dist-cjs/internal/CellMeasure.css.js.map +1 -0
  87. package/dist-cjs/internal/CellMeasure.js +49 -0
  88. package/dist-cjs/internal/CellMeasure.js.map +1 -0
  89. package/dist-cjs/internal/CellStatusIcons.js +46 -0
  90. package/dist-cjs/internal/CellStatusIcons.js.map +1 -0
  91. package/dist-cjs/internal/ColumnDropTarget.css.js +6 -0
  92. package/dist-cjs/internal/ColumnDropTarget.css.js.map +1 -0
  93. package/dist-cjs/internal/ColumnDropTarget.js +36 -0
  94. package/dist-cjs/internal/ColumnDropTarget.js.map +1 -0
  95. package/dist-cjs/internal/ColumnGhost.css.js +6 -0
  96. package/dist-cjs/internal/ColumnGhost.css.js.map +1 -0
  97. package/dist-cjs/internal/ColumnGhost.js +59 -0
  98. package/dist-cjs/internal/ColumnGhost.js.map +1 -0
  99. package/dist-cjs/internal/Cursor.css.js +6 -0
  100. package/dist-cjs/internal/Cursor.css.js.map +1 -0
  101. package/dist-cjs/internal/Cursor.js +25 -0
  102. package/dist-cjs/internal/Cursor.js.map +1 -0
  103. package/dist-cjs/internal/DefaultCellValue.css.js +6 -0
  104. package/dist-cjs/internal/DefaultCellValue.css.js.map +1 -0
  105. package/dist-cjs/internal/DefaultCellValue.js +30 -0
  106. package/dist-cjs/internal/DefaultCellValue.js.map +1 -0
  107. package/dist-cjs/internal/FakeCell.css.js +6 -0
  108. package/dist-cjs/internal/FakeCell.css.js.map +1 -0
  109. package/dist-cjs/internal/FakeCell.js +27 -0
  110. package/dist-cjs/internal/FakeCell.js.map +1 -0
  111. package/dist-cjs/internal/FakeGroupCell.js +12 -0
  112. package/dist-cjs/internal/FakeGroupCell.js.map +1 -0
  113. package/dist-cjs/internal/FakeHeaderCell.js +14 -0
  114. package/dist-cjs/internal/FakeHeaderCell.js.map +1 -0
  115. package/dist-cjs/internal/GroupHeaderRow.css.js +6 -0
  116. package/dist-cjs/internal/GroupHeaderRow.css.js.map +1 -0
  117. package/dist-cjs/internal/GroupHeaderRow.js +46 -0
  118. package/dist-cjs/internal/GroupHeaderRow.js.map +1 -0
  119. package/dist-cjs/internal/HeaderRow.css.js +6 -0
  120. package/dist-cjs/internal/HeaderRow.css.js.map +1 -0
  121. package/dist-cjs/internal/HeaderRow.js +50 -0
  122. package/dist-cjs/internal/HeaderRow.js.map +1 -0
  123. package/dist-cjs/internal/LeftPart.css.js +6 -0
  124. package/dist-cjs/internal/LeftPart.css.js.map +1 -0
  125. package/dist-cjs/internal/LeftPart.js +68 -0
  126. package/dist-cjs/internal/LeftPart.js.map +1 -0
  127. package/dist-cjs/internal/MiddlePart.css.js +6 -0
  128. package/dist-cjs/internal/MiddlePart.css.js.map +1 -0
  129. package/dist-cjs/internal/MiddlePart.js +64 -0
  130. package/dist-cjs/internal/MiddlePart.js.map +1 -0
  131. package/dist-cjs/internal/RightPart.css.js +6 -0
  132. package/dist-cjs/internal/RightPart.css.js.map +1 -0
  133. package/dist-cjs/internal/RightPart.js +68 -0
  134. package/dist-cjs/internal/RightPart.js.map +1 -0
  135. package/dist-cjs/internal/Scrollable.css.js +6 -0
  136. package/dist-cjs/internal/Scrollable.css.js.map +1 -0
  137. package/dist-cjs/internal/Scrollable.js +103 -0
  138. package/dist-cjs/internal/Scrollable.js.map +1 -0
  139. package/dist-cjs/internal/TableBody.js +77 -0
  140. package/dist-cjs/internal/TableBody.js.map +1 -0
  141. package/dist-cjs/internal/TableColGroup.js +37 -0
  142. package/dist-cjs/internal/TableColGroup.js.map +1 -0
  143. package/dist-cjs/internal/TableRow.css.js +6 -0
  144. package/dist-cjs/internal/TableRow.css.js.map +1 -0
  145. package/dist-cjs/internal/TableRow.js +125 -0
  146. package/dist-cjs/internal/TableRow.js.map +1 -0
  147. package/dist-cjs/internal/TopLeftPart.css.js +6 -0
  148. package/dist-cjs/internal/TopLeftPart.css.js.map +1 -0
  149. package/dist-cjs/internal/TopLeftPart.js +58 -0
  150. package/dist-cjs/internal/TopLeftPart.js.map +1 -0
  151. package/dist-cjs/internal/TopPart.css.js +6 -0
  152. package/dist-cjs/internal/TopPart.css.js.map +1 -0
  153. package/dist-cjs/internal/TopPart.js +61 -0
  154. package/dist-cjs/internal/TopPart.js.map +1 -0
  155. package/dist-cjs/internal/TopRightPart.css.js +6 -0
  156. package/dist-cjs/internal/TopRightPart.css.js.map +1 -0
  157. package/dist-cjs/internal/TopRightPart.js +59 -0
  158. package/dist-cjs/internal/TopRightPart.js.map +1 -0
  159. package/dist-cjs/internal/gridHooks.js +916 -0
  160. package/dist-cjs/internal/gridHooks.js.map +1 -0
  161. package/dist-cjs/internal/utils.js +71 -0
  162. package/dist-cjs/internal/utils.js.map +1 -0
  163. package/dist-es/BaseCell.css.js +4 -0
  164. package/dist-es/BaseCell.css.js.map +1 -0
  165. package/dist-es/BaseCell.js +111 -0
  166. package/dist-es/BaseCell.js.map +1 -0
  167. package/dist-es/CellEditor.js +25 -0
  168. package/dist-es/CellEditor.js.map +1 -0
  169. package/dist-es/CheckboxCell.css.js +4 -0
  170. package/dist-es/CheckboxCell.css.js.map +1 -0
  171. package/dist-es/ColumnDataContext.js +13 -0
  172. package/dist-es/ColumnDataContext.js.map +1 -0
  173. package/dist-es/ColumnDragContext.js +15 -0
  174. package/dist-es/ColumnDragContext.js.map +1 -0
  175. package/dist-es/ColumnGroup.js +28 -0
  176. package/dist-es/ColumnGroup.js.map +1 -0
  177. package/dist-es/ColumnSortContext.js +15 -0
  178. package/dist-es/ColumnSortContext.js.map +1 -0
  179. package/dist-es/CornerTag.css.js +4 -0
  180. package/dist-es/CornerTag.css.js.map +1 -0
  181. package/dist-es/CornerTag.js +19 -0
  182. package/dist-es/CornerTag.js.map +1 -0
  183. package/dist-es/CursorContext.js +15 -0
  184. package/dist-es/CursorContext.js.map +1 -0
  185. package/dist-es/DropdownCellEditor.css.js +4 -0
  186. package/dist-es/DropdownCellEditor.css.js.map +1 -0
  187. package/dist-es/DropdownCellEditor.js +78 -0
  188. package/dist-es/DropdownCellEditor.js.map +1 -0
  189. package/dist-es/EditorContext.js +15 -0
  190. package/dist-es/EditorContext.js.map +1 -0
  191. package/dist-es/Grid.css.js +4 -0
  192. package/dist-es/Grid.css.js.map +1 -0
  193. package/dist-es/Grid.js +1021 -0
  194. package/dist-es/Grid.js.map +1 -0
  195. package/dist-es/GridColumn.js +39 -0
  196. package/dist-es/GridColumn.js.map +1 -0
  197. package/dist-es/GridContext.js +15 -0
  198. package/dist-es/GridContext.js.map +1 -0
  199. package/dist-es/GroupHeaderCell.css.js +4 -0
  200. package/dist-es/GroupHeaderCell.css.js.map +1 -0
  201. package/dist-es/GroupHeaderCell.js +50 -0
  202. package/dist-es/GroupHeaderCell.js.map +1 -0
  203. package/dist-es/GroupHeaderCellValue.js +12 -0
  204. package/dist-es/GroupHeaderCellValue.js.map +1 -0
  205. package/dist-es/HeaderCell.css.js +4 -0
  206. package/dist-es/HeaderCell.css.js.map +1 -0
  207. package/dist-es/HeaderCell.js +181 -0
  208. package/dist-es/HeaderCell.js.map +1 -0
  209. package/dist-es/HeaderCellValue.js +15 -0
  210. package/dist-es/HeaderCellValue.js.map +1 -0
  211. package/dist-es/LayoutContext.js +8 -0
  212. package/dist-es/LayoutContext.js.map +1 -0
  213. package/dist-es/NumberRange.js +58 -0
  214. package/dist-es/NumberRange.js.map +1 -0
  215. package/dist-es/NumericColumn.css.js +4 -0
  216. package/dist-es/NumericColumn.css.js.map +1 -0
  217. package/dist-es/NumericColumn.js +121 -0
  218. package/dist-es/NumericColumn.js.map +1 -0
  219. package/dist-es/RowSelectionCheckboxCellValue.js +41 -0
  220. package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -0
  221. package/dist-es/RowSelectionCheckboxColumn.js +35 -0
  222. package/dist-es/RowSelectionCheckboxColumn.js.map +1 -0
  223. package/dist-es/RowSelectionCheckboxHeaderCellValue.js +52 -0
  224. package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
  225. package/dist-es/RowSelectionRadioCellValue.js +29 -0
  226. package/dist-es/RowSelectionRadioCellValue.js.map +1 -0
  227. package/dist-es/RowSelectionRadioColumn.js +30 -0
  228. package/dist-es/RowSelectionRadioColumn.js.map +1 -0
  229. package/dist-es/RowSelectionRadioHeaderCell.js +26 -0
  230. package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -0
  231. package/dist-es/RowValidationStatus.js +9 -0
  232. package/dist-es/RowValidationStatus.js.map +1 -0
  233. package/dist-es/SelectionContext.js +15 -0
  234. package/dist-es/SelectionContext.js.map +1 -0
  235. package/dist-es/SizingContext.js +15 -0
  236. package/dist-es/SizingContext.js.map +1 -0
  237. package/dist-es/TextCellEditor.css.js +4 -0
  238. package/dist-es/TextCellEditor.css.js.map +1 -0
  239. package/dist-es/TextCellEditor.js +100 -0
  240. package/dist-es/TextCellEditor.js.map +1 -0
  241. package/dist-es/index.js +22 -0
  242. package/dist-es/index.js.map +1 -0
  243. package/dist-es/internal/Cell.css.js +4 -0
  244. package/dist-es/internal/Cell.css.js.map +1 -0
  245. package/dist-es/internal/Cell.js +59 -0
  246. package/dist-es/internal/Cell.js.map +1 -0
  247. package/dist-es/internal/CellMeasure.css.js +4 -0
  248. package/dist-es/internal/CellMeasure.css.js.map +1 -0
  249. package/dist-es/internal/CellMeasure.js +45 -0
  250. package/dist-es/internal/CellMeasure.js.map +1 -0
  251. package/dist-es/internal/CellStatusIcons.js +40 -0
  252. package/dist-es/internal/CellStatusIcons.js.map +1 -0
  253. package/dist-es/internal/ColumnDropTarget.css.js +4 -0
  254. package/dist-es/internal/ColumnDropTarget.css.js.map +1 -0
  255. package/dist-es/internal/ColumnDropTarget.js +32 -0
  256. package/dist-es/internal/ColumnDropTarget.js.map +1 -0
  257. package/dist-es/internal/ColumnGhost.css.js +4 -0
  258. package/dist-es/internal/ColumnGhost.css.js.map +1 -0
  259. package/dist-es/internal/ColumnGhost.js +55 -0
  260. package/dist-es/internal/ColumnGhost.js.map +1 -0
  261. package/dist-es/internal/Cursor.css.js +4 -0
  262. package/dist-es/internal/Cursor.css.js.map +1 -0
  263. package/dist-es/internal/Cursor.js +21 -0
  264. package/dist-es/internal/Cursor.js.map +1 -0
  265. package/dist-es/internal/DefaultCellValue.css.js +4 -0
  266. package/dist-es/internal/DefaultCellValue.css.js.map +1 -0
  267. package/dist-es/internal/DefaultCellValue.js +26 -0
  268. package/dist-es/internal/DefaultCellValue.js.map +1 -0
  269. package/dist-es/internal/FakeCell.css.js +4 -0
  270. package/dist-es/internal/FakeCell.css.js.map +1 -0
  271. package/dist-es/internal/FakeCell.js +23 -0
  272. package/dist-es/internal/FakeCell.js.map +1 -0
  273. package/dist-es/internal/FakeGroupCell.js +8 -0
  274. package/dist-es/internal/FakeGroupCell.js.map +1 -0
  275. package/dist-es/internal/FakeHeaderCell.js +10 -0
  276. package/dist-es/internal/FakeHeaderCell.js.map +1 -0
  277. package/dist-es/internal/GroupHeaderRow.css.js +4 -0
  278. package/dist-es/internal/GroupHeaderRow.css.js.map +1 -0
  279. package/dist-es/internal/GroupHeaderRow.js +42 -0
  280. package/dist-es/internal/GroupHeaderRow.js.map +1 -0
  281. package/dist-es/internal/HeaderRow.css.js +4 -0
  282. package/dist-es/internal/HeaderRow.css.js.map +1 -0
  283. package/dist-es/internal/HeaderRow.js +46 -0
  284. package/dist-es/internal/HeaderRow.js.map +1 -0
  285. package/dist-es/internal/LeftPart.css.js +4 -0
  286. package/dist-es/internal/LeftPart.css.js.map +1 -0
  287. package/dist-es/internal/LeftPart.js +64 -0
  288. package/dist-es/internal/LeftPart.js.map +1 -0
  289. package/dist-es/internal/MiddlePart.css.js +4 -0
  290. package/dist-es/internal/MiddlePart.css.js.map +1 -0
  291. package/dist-es/internal/MiddlePart.js +60 -0
  292. package/dist-es/internal/MiddlePart.js.map +1 -0
  293. package/dist-es/internal/RightPart.css.js +4 -0
  294. package/dist-es/internal/RightPart.css.js.map +1 -0
  295. package/dist-es/internal/RightPart.js +64 -0
  296. package/dist-es/internal/RightPart.js.map +1 -0
  297. package/dist-es/internal/Scrollable.css.js +4 -0
  298. package/dist-es/internal/Scrollable.css.js.map +1 -0
  299. package/dist-es/internal/Scrollable.js +99 -0
  300. package/dist-es/internal/Scrollable.js.map +1 -0
  301. package/dist-es/internal/TableBody.js +73 -0
  302. package/dist-es/internal/TableBody.js.map +1 -0
  303. package/dist-es/internal/TableColGroup.js +32 -0
  304. package/dist-es/internal/TableColGroup.js.map +1 -0
  305. package/dist-es/internal/TableRow.css.js +4 -0
  306. package/dist-es/internal/TableRow.css.js.map +1 -0
  307. package/dist-es/internal/TableRow.js +121 -0
  308. package/dist-es/internal/TableRow.js.map +1 -0
  309. package/dist-es/internal/TopLeftPart.css.js +4 -0
  310. package/dist-es/internal/TopLeftPart.css.js.map +1 -0
  311. package/dist-es/internal/TopLeftPart.js +54 -0
  312. package/dist-es/internal/TopLeftPart.js.map +1 -0
  313. package/dist-es/internal/TopPart.css.js +4 -0
  314. package/dist-es/internal/TopPart.css.js.map +1 -0
  315. package/dist-es/internal/TopPart.js +57 -0
  316. package/dist-es/internal/TopPart.js.map +1 -0
  317. package/dist-es/internal/TopRightPart.css.js +4 -0
  318. package/dist-es/internal/TopRightPart.css.js.map +1 -0
  319. package/dist-es/internal/TopRightPart.js +55 -0
  320. package/dist-es/internal/TopRightPart.js.map +1 -0
  321. package/dist-es/internal/gridHooks.js +886 -0
  322. package/dist-es/internal/gridHooks.js.map +1 -0
  323. package/dist-es/internal/utils.js +61 -0
  324. package/dist-es/internal/utils.js.map +1 -0
  325. package/dist-types/BaseCell.d.ts +5 -0
  326. package/dist-types/CellEditor.d.ts +10 -0
  327. package/dist-types/ColumnDataContext.d.ts +7 -0
  328. package/dist-types/ColumnDragContext.d.ts +7 -0
  329. package/dist-types/ColumnGroup.d.ts +18 -0
  330. package/dist-types/ColumnSortContext.d.ts +12 -0
  331. package/dist-types/CornerTag.d.ts +5 -0
  332. package/dist-types/CursorContext.d.ts +12 -0
  333. package/dist-types/DropdownCellEditor.d.ts +8 -0
  334. package/dist-types/EditorContext.d.ts +10 -0
  335. package/dist-types/Grid.d.ts +104 -0
  336. package/dist-types/GridColumn.d.ts +165 -0
  337. package/dist-types/GridContext.d.ts +16 -0
  338. package/dist-types/GroupHeaderCell.d.ts +7 -0
  339. package/dist-types/GroupHeaderCellValue.d.ts +3 -0
  340. package/dist-types/HeaderCell.d.ts +9 -0
  341. package/dist-types/HeaderCellValue.d.ts +3 -0
  342. package/dist-types/LayoutContext.d.ts +9 -0
  343. package/dist-types/NumberRange.d.ts +15 -0
  344. package/dist-types/NumericColumn.d.ts +14 -0
  345. package/dist-types/RowSelectionCheckboxCellValue.d.ts +3 -0
  346. package/dist-types/RowSelectionCheckboxColumn.d.ts +4 -0
  347. package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +3 -0
  348. package/dist-types/RowSelectionRadioCellValue.d.ts +3 -0
  349. package/dist-types/RowSelectionRadioColumn.d.ts +4 -0
  350. package/dist-types/RowSelectionRadioHeaderCell.d.ts +3 -0
  351. package/dist-types/RowValidationStatus.d.ts +7 -0
  352. package/dist-types/SelectionContext.d.ts +13 -0
  353. package/dist-types/SizingContext.d.ts +8 -0
  354. package/dist-types/TextCellEditor.d.ts +7 -0
  355. package/dist-types/index.d.ts +21 -0
  356. package/dist-types/internal/Cell.d.ts +8 -0
  357. package/dist-types/internal/CellMeasure.d.ts +5 -0
  358. package/dist-types/internal/CellStatusIcons.d.ts +4 -0
  359. package/dist-types/internal/ColumnDropTarget.d.ts +5 -0
  360. package/dist-types/internal/ColumnGhost.d.ts +10 -0
  361. package/dist-types/internal/Cursor.d.ts +4 -0
  362. package/dist-types/internal/DefaultCellValue.d.ts +3 -0
  363. package/dist-types/internal/FakeCell.d.ts +4 -0
  364. package/dist-types/internal/FakeGroupCell.d.ts +2 -0
  365. package/dist-types/internal/FakeHeaderCell.d.ts +2 -0
  366. package/dist-types/internal/GroupHeaderRow.d.ts +7 -0
  367. package/dist-types/internal/HeaderRow.d.ts +7 -0
  368. package/dist-types/internal/LeftPart.d.ts +15 -0
  369. package/dist-types/internal/MiddlePart.d.ts +15 -0
  370. package/dist-types/internal/RightPart.d.ts +15 -0
  371. package/dist-types/internal/Scrollable.d.ts +20 -0
  372. package/dist-types/internal/TableBody.d.ts +13 -0
  373. package/dist-types/internal/TableColGroup.d.ts +11 -0
  374. package/dist-types/internal/TableRow.d.ts +19 -0
  375. package/dist-types/internal/TopLeftPart.d.ts +10 -0
  376. package/dist-types/internal/TopPart.d.ts +11 -0
  377. package/dist-types/internal/TopRightPart.d.ts +10 -0
  378. package/dist-types/internal/gridHooks.d.ts +91 -0
  379. package/dist-types/internal/index.d.ts +21 -0
  380. package/dist-types/internal/utils.d.ts +13 -0
  381. package/package.json +42 -0
@@ -0,0 +1,100 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { makePrefixer } from '@salt-ds/core';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { useComponentCssInjection } from '@salt-ds/styles';
6
+ import { useEditorContext } from './EditorContext.js';
7
+ import { CornerTag } from './CornerTag.js';
8
+ import { Cell } from './internal/Cell.js';
9
+ import './internal/CellMeasure.js';
10
+ import './internal/Cursor.js';
11
+ import './internal/GroupHeaderRow.js';
12
+ import './internal/HeaderRow.js';
13
+ import './internal/LeftPart.js';
14
+ import './internal/MiddlePart.js';
15
+ import './internal/RightPart.js';
16
+ import './internal/Scrollable.js';
17
+ import './internal/TableRow.js';
18
+ import './SelectionContext.js';
19
+ import './CursorContext.js';
20
+ import './NumberRange.js';
21
+ import './internal/TopLeftPart.js';
22
+ import './internal/TopPart.js';
23
+ import './internal/TopRightPart.js';
24
+ import './internal/DefaultCellValue.js';
25
+ import css_248z from './TextCellEditor.css.js';
26
+
27
+ const withBaseName = makePrefixer("saltGridTextCellEditor");
28
+ function TextCellEditor(props) {
29
+ const { column, row } = props;
30
+ const targetWindow = useWindow();
31
+ useComponentCssInjection({
32
+ testId: "salt-text-cell-editor",
33
+ css: css_248z,
34
+ window: targetWindow
35
+ });
36
+ const inputRef = useRef(null);
37
+ const { endEditMode, cancelEditMode, initialText } = useEditorContext();
38
+ const [editorText, setEditorText] = useState(
39
+ initialText != null ? initialText : column.info.props.getValue(row.data)
40
+ );
41
+ const initialSelectionRef = useRef(!!initialText);
42
+ const onChange = (e) => {
43
+ setEditorText(e.target.value);
44
+ };
45
+ const onKeyDown = (event) => {
46
+ if (event.key === "Enter") {
47
+ endEditMode(editorText);
48
+ return;
49
+ }
50
+ if (event.key === "Escape") {
51
+ cancelEditMode();
52
+ return;
53
+ }
54
+ if (event.key === "Tab") {
55
+ endEditMode(editorText);
56
+ event.preventDefault();
57
+ return;
58
+ }
59
+ event.stopPropagation();
60
+ };
61
+ useEffect(() => {
62
+ if (inputRef.current && !initialSelectionRef.current) {
63
+ inputRef.current.select();
64
+ initialSelectionRef.current = true;
65
+ }
66
+ }, [inputRef.current]);
67
+ useEffect(() => {
68
+ const input = inputRef.current;
69
+ const focusOut = (event) => {
70
+ if (!(input == null ? void 0 : input.contains(event.target))) {
71
+ endEditMode(editorText);
72
+ }
73
+ };
74
+ document == null ? void 0 : document.addEventListener("mousedown", focusOut, true);
75
+ return () => {
76
+ document == null ? void 0 : document.removeEventListener("mousedown", focusOut, true);
77
+ };
78
+ }, [endEditMode, editorText]);
79
+ return /* @__PURE__ */ jsxs(Cell, {
80
+ separator: column == null ? void 0 : column.separator,
81
+ className: withBaseName(),
82
+ children: [
83
+ /* @__PURE__ */ jsx("div", {
84
+ className: withBaseName("inputContainer"),
85
+ children: /* @__PURE__ */ jsx("input", {
86
+ "data-testid": "grid-cell-editor-input",
87
+ ref: inputRef,
88
+ autoFocus: true,
89
+ value: editorText,
90
+ onChange,
91
+ onKeyDown
92
+ })
93
+ }),
94
+ /* @__PURE__ */ jsx(CornerTag, {})
95
+ ]
96
+ });
97
+ }
98
+
99
+ export { TextCellEditor };
100
+ //# sourceMappingURL=TextCellEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextCellEditor.js","sources":["../src/TextCellEditor.tsx"],"sourcesContent":["import {\n ChangeEventHandler,\n KeyboardEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { useEditorContext } from \"./EditorContext\";\nimport { GridColumnModel, GridRowModel } from \"./Grid\";\nimport { CornerTag } from \"./CornerTag\";\nimport { Cell } from \"./internal\";\n\nimport textCellEditorCss from \"./TextCellEditor.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTextCellEditor\");\n\nexport interface TextCellEditorProps<T> {\n row?: GridRowModel<T>;\n column?: GridColumnModel<T>;\n}\n\nexport function TextCellEditor<T>(props: TextCellEditorProps<T>) {\n const { column, row } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-text-cell-editor\",\n css: textCellEditorCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const { endEditMode, cancelEditMode, initialText } = useEditorContext();\n\n const [editorText, setEditorText] = useState<string>(\n initialText != null ? initialText : column!.info.props.getValue!(row!.data)\n );\n\n const initialSelectionRef = useRef(!!initialText);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n setEditorText(e.target.value);\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n if (event.key === \"Enter\") {\n endEditMode(editorText);\n return;\n }\n if (event.key === \"Escape\") {\n cancelEditMode();\n return;\n }\n if (event.key === \"Tab\") {\n endEditMode(editorText);\n event.preventDefault();\n return;\n }\n event.stopPropagation();\n };\n\n useEffect(() => {\n if (inputRef.current && !initialSelectionRef.current) {\n inputRef.current.select();\n initialSelectionRef.current = true;\n }\n }, [inputRef.current]);\n\n useEffect(() => {\n const input = inputRef.current;\n const focusOut = (event: FocusEvent) => {\n if (!input?.contains(event.target as Node)) {\n endEditMode(editorText);\n }\n };\n\n // This uses the capture phase to detect clicks outside the input to avoid a race condition where the component gets unmounted when edit mode ends.\n document?.addEventListener(\"mousedown\", focusOut, true);\n\n return () => {\n document?.removeEventListener(\"mousedown\", focusOut, true);\n };\n }, [endEditMode, editorText]);\n\n return (\n <Cell separator={column?.separator} className={withBaseName()}>\n <div className={withBaseName(\"inputContainer\")}>\n <input\n data-testid=\"grid-cell-editor-input\"\n ref={inputRef}\n autoFocus={true}\n value={editorText}\n onChange={onChange}\n onKeyDown={onKeyDown}\n />\n </div>\n <CornerTag />\n </Cell>\n );\n}\n"],"names":["textCellEditorCss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAe,aAAa,wBAAwB,CAAA,CAAA;AAOnD,SAAS,eAAkB,KAA+B,EAAA;AAC/D,EAAM,MAAA,EAAE,MAAQ,EAAA,GAAA,EAAQ,GAAA,KAAA,CAAA;AAExB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAE9C,EAAA,MAAM,EAAE,WAAA,EAAa,cAAgB,EAAA,WAAA,KAAgB,gBAAiB,EAAA,CAAA;AAEtE,EAAM,MAAA,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA;AAAA,IAClC,WAAA,IAAe,OAAO,WAAc,GAAA,MAAA,CAAQ,KAAK,KAAM,CAAA,QAAA,CAAU,IAAK,IAAI,CAAA;AAAA,GAC5E,CAAA;AAEA,EAAA,MAAM,mBAAsB,GAAA,MAAA,CAAO,CAAC,CAAC,WAAW,CAAA,CAAA;AAEhD,EAAM,MAAA,QAAA,GAAiD,CAAC,CAAM,KAAA;AAC5D,IAAc,aAAA,CAAA,CAAA,CAAE,OAAO,KAAK,CAAA,CAAA;AAAA,GAC9B,CAAA;AAEA,EAAM,MAAA,SAAA,GAAoD,CAAC,KAAU,KAAA;AACnE,IAAI,IAAA,KAAA,CAAM,QAAQ,OAAS,EAAA;AACzB,MAAA,WAAA,CAAY,UAAU,CAAA,CAAA;AACtB,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,KAAA,CAAM,QAAQ,QAAU,EAAA;AAC1B,MAAe,cAAA,EAAA,CAAA;AACf,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,KAAA,CAAM,QAAQ,KAAO,EAAA;AACvB,MAAA,WAAA,CAAY,UAAU,CAAA,CAAA;AACtB,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAA,OAAA;AAAA,KACF;AACA,IAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AAAA,GACxB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,QAAS,CAAA,OAAA,IAAW,CAAC,mBAAA,CAAoB,OAAS,EAAA;AACpD,MAAA,QAAA,CAAS,QAAQ,MAAO,EAAA,CAAA;AACxB,MAAA,mBAAA,CAAoB,OAAU,GAAA,IAAA,CAAA;AAAA,KAChC;AAAA,GACC,EAAA,CAAC,QAAS,CAAA,OAAO,CAAC,CAAA,CAAA;AAErB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,QAAQ,QAAS,CAAA,OAAA,CAAA;AACvB,IAAM,MAAA,QAAA,GAAW,CAAC,KAAsB,KAAA;AACtC,MAAA,IAAI,EAAC,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,QAAS,CAAA,KAAA,CAAM,MAAiB,CAAA,CAAA,EAAA;AAC1C,QAAA,WAAA,CAAY,UAAU,CAAA,CAAA;AAAA,OACxB;AAAA,KACF,CAAA;AAGA,IAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,gBAAA,CAAiB,aAAa,QAAU,EAAA,IAAA,CAAA,CAAA;AAElD,IAAA,OAAO,MAAM;AACX,MAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,mBAAA,CAAoB,aAAa,QAAU,EAAA,IAAA,CAAA,CAAA;AAAA,KACvD,CAAA;AAAA,GACC,EAAA,CAAC,WAAa,EAAA,UAAU,CAAC,CAAA,CAAA;AAE5B,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IAAK,WAAW,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,SAAA;AAAA,IAAW,WAAW,YAAa,EAAA;AAAA,IAC1D,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,gBAAgB,CAAA;AAAA,QAC3C,QAAC,kBAAA,GAAA,CAAA,OAAA,EAAA;AAAA,UACC,aAAY,EAAA,wBAAA;AAAA,UACZ,GAAK,EAAA,QAAA;AAAA,UACL,SAAW,EAAA,IAAA;AAAA,UACX,KAAO,EAAA,UAAA;AAAA,UACP,QAAA;AAAA,UACA,SAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,0BACC,SAAU,EAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GACb,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,22 @@
1
+ export { BaseCell, getCellId } from './BaseCell.js';
2
+ export { ColumnGroup } from './ColumnGroup.js';
3
+ export { CellEditor } from './CellEditor.js';
4
+ export { CornerTag } from './CornerTag.js';
5
+ export { GroupHeaderCell } from './GroupHeaderCell.js';
6
+ export { GroupHeaderCellValue } from './GroupHeaderCellValue.js';
7
+ export { AutoSizeHeaderCell, HeaderCell, HeaderCellSeparator } from './HeaderCell.js';
8
+ export { HeaderCellValue } from './HeaderCellValue.js';
9
+ export { NumberRange, range } from './NumberRange.js';
10
+ export { RowSelectionCheckboxHeaderCellValue } from './RowSelectionCheckboxHeaderCellValue.js';
11
+ export { RowSelectionCheckboxCellValue } from './RowSelectionCheckboxCellValue.js';
12
+ export { RowSelectionRadioColumn } from './RowSelectionRadioColumn.js';
13
+ export { SelectionContext, useSelectionContext } from './SelectionContext.js';
14
+ export { SizingContext, useSizingContext } from './SizingContext.js';
15
+ export { Grid, SortOrder } from './Grid.js';
16
+ export { GridColumn } from './GridColumn.js';
17
+ export { GridContext, useGridContext } from './GridContext.js';
18
+ export { RowSelectionCheckboxColumn } from './RowSelectionCheckboxColumn.js';
19
+ export { TextCellEditor } from './TextCellEditor.js';
20
+ export { DropdownCellEditor } from './DropdownCellEditor.js';
21
+ export { NumericCellEditor, NumericCellValue, NumericColumn } from './NumericColumn.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridCell {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n\n white-space: nowrap;\n position: relative;\n font-size: var(--grid-fontSize);\n font-weight: normal;\n\n outline: 0;\n}\n\n.saltGridCell-selected {\n background: var(--grid-cell-background-selected);\n}\n\n.saltGridCell-rowSeparator {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 1px;\n background-color: var(--grid-row-borderColor);\n}\n\n.saltGridCell-topSeparator {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n height: 1px;\n background-color: transparent;\n display: none;\n}\n\n.saltGridTableRow-first .saltGridCell-topSeparator {\n display: unset;\n}\n\n.saltGridCell-columnSeparator {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 1px;\n background-color: var(--grid-row-background);\n}\n\n.saltGrid-columnSeparators .saltGridCell-regularSeparator .saltGridCell-columnSeparator {\n background-color: var(--grid-columnSeparator-color);\n}\n\n.saltGrid-columnSeparators .saltGridCell-pinnedSeparator .saltGridCell-columnSeparator {\n background-color: var(--grid-columnSeparator-color);\n}\n\n.saltGrid-pinnedSeparators .saltGridCell-pinnedSeparator .saltGridCell-columnSeparator {\n background-color: var(--grid-pinnedSeparator-color);\n}\n\n.saltGridTableRow-selected.saltGridTableRow-first .saltGridCell-topSeparator {\n background-color: var(--grid-row-borderColor);\n}\n\n.saltGridCell-body {\n box-sizing: border-box;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 1px;\n left: 0;\n background: var(--grid-row-background);\n border-right: solid 1px transparent;\n}\n\n.saltGridTableRow-first .saltGridCell-body {\n top: 1px;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=Cell.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,59 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { makePrefixer } from '@salt-ds/core';
3
+ import { useWindow } from '@salt-ds/window';
4
+ import { useComponentCssInjection } from '@salt-ds/styles';
5
+ import { forwardRef } from 'react';
6
+ import { clsx } from 'clsx';
7
+ import css_248z from './Cell.css.js';
8
+
9
+ const withBaseName = makePrefixer("saltGridCell");
10
+ const Cell = forwardRef(
11
+ function CellFrame(props, ref) {
12
+ const {
13
+ children,
14
+ separator,
15
+ isSelected,
16
+ isEditable,
17
+ className,
18
+ ...tdProps
19
+ } = props;
20
+ const targetWindow = useWindow();
21
+ useComponentCssInjection({
22
+ testId: "salt-cell",
23
+ css: css_248z,
24
+ window: targetWindow
25
+ });
26
+ return /* @__PURE__ */ jsxs("td", {
27
+ ref,
28
+ className: clsx(
29
+ withBaseName(),
30
+ {
31
+ [withBaseName("selected")]: isSelected,
32
+ [withBaseName("editable")]: isEditable,
33
+ [withBaseName("regularSeparator")]: separator === "regular" || separator === "groupEdge",
34
+ [withBaseName("pinnedSeparator")]: separator === "pinned"
35
+ },
36
+ className
37
+ ),
38
+ ...tdProps,
39
+ children: [
40
+ /* @__PURE__ */ jsx("div", {
41
+ className: withBaseName("body"),
42
+ children: props.children
43
+ }),
44
+ /* @__PURE__ */ jsx("div", {
45
+ className: withBaseName("columnSeparator")
46
+ }),
47
+ /* @__PURE__ */ jsx("div", {
48
+ className: withBaseName("rowSeparator")
49
+ }),
50
+ /* @__PURE__ */ jsx("div", {
51
+ className: withBaseName("topSeparator")
52
+ })
53
+ ]
54
+ });
55
+ }
56
+ );
57
+
58
+ export { Cell };
59
+ //# sourceMappingURL=Cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cell.js","sources":["../src/internal/Cell.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 \"./Cell.css\";\n\nexport interface CellProps extends HTMLAttributes<HTMLTableCellElement> {\n isSelected?: boolean;\n isEditable?: boolean;\n separator?: ColumnSeparatorType;\n}\n\nconst withBaseName = makePrefixer(\"saltGridCell\");\n\nexport const Cell = 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\")}>{props.children}</div>\n <div className={withBaseName(\"columnSeparator\")} />\n <div className={withBaseName(\"rowSeparator\")} />\n <div className={withBaseName(\"topSeparator\")} />\n </td>\n );\n }\n);\n"],"names":["cellCss"],"mappings":";;;;;;;;AAgBA,MAAM,YAAA,GAAe,aAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,IAAO,GAAA,UAAA;AAAA,EAClB,SAAS,SAAU,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,eAAe,SAAU,EAAA,CAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,WAAA;AAAA,MACR,GAAK,EAAAA,QAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,IAAA;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,wBAAC,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,UAAI,QAAM,EAAA,KAAA,CAAA,QAAA;AAAA,SAAS,CAAA;AAAA,wBACrD,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,SAAG,CAAA;AAAA,wBAChD,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,SAAG,CAAA;AAAA,wBAC7C,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,SAAG,CAAA;AAAA,OAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridCellMeasure {\n position: fixed;\n top: -1000px;\n left: 0;\n}\n\n.saltGridCellMeasure table {\n}\n\n.saltGridCellMeasure tr {\n height: var(--grid-row-height);\n}\n\n.saltGridCellMeasure th {\n box-sizing: border-box;\n overflow: hidden;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=CellMeasure.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellMeasure.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,45 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useRef, useEffect } from 'react';
3
+ import { makePrefixer } from '@salt-ds/core';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { useComponentCssInjection } from '@salt-ds/styles';
6
+ import css_248z from './CellMeasure.css.js';
7
+
8
+ const withBaseName = makePrefixer("saltGridCellMeasure");
9
+ function CellMeasure(props) {
10
+ const targetWindow = useWindow();
11
+ useComponentCssInjection({
12
+ testId: "salt-cell-measure",
13
+ css: css_248z,
14
+ window: targetWindow
15
+ });
16
+ const rowRef = useRef(null);
17
+ const heightRef = useRef(-1);
18
+ const { setRowHeight } = props;
19
+ useEffect(() => {
20
+ if (rowRef.current) {
21
+ const height = rowRef.current.getBoundingClientRect().height;
22
+ if (heightRef.current !== height) {
23
+ heightRef.current = height;
24
+ setRowHeight(height);
25
+ }
26
+ }
27
+ });
28
+ return /* @__PURE__ */ jsx("div", {
29
+ className: withBaseName(),
30
+ children: /* @__PURE__ */ jsx("table", {
31
+ "aria-hidden": true,
32
+ children: /* @__PURE__ */ jsx("thead", {
33
+ children: /* @__PURE__ */ jsx("tr", {
34
+ ref: rowRef,
35
+ children: /* @__PURE__ */ jsx("th", {
36
+ children: "Invisible Cell"
37
+ })
38
+ })
39
+ })
40
+ })
41
+ });
42
+ }
43
+
44
+ export { CellMeasure };
45
+ //# sourceMappingURL=CellMeasure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellMeasure.js","sources":["../src/internal/CellMeasure.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport cellMeasureCss from \"./CellMeasure.css\";\n\nconst withBaseName = makePrefixer(\"saltGridCellMeasure\");\n\nexport interface CellMeasureProps<T> {\n setRowHeight: (rowHeight: number) => void;\n}\n\n// Renders a cell in invisible location, measures its height and provides it to\n// the grid.\nexport function CellMeasure<T>(props: CellMeasureProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cell-measure\",\n css: cellMeasureCss,\n window: targetWindow,\n });\n\n const rowRef = useRef<HTMLTableRowElement>(null);\n const heightRef = useRef<number>(-1);\n\n const { setRowHeight } = props;\n\n useEffect(() => {\n if (rowRef.current) {\n const height = rowRef.current.getBoundingClientRect().height;\n if (heightRef.current !== height) {\n // console.log(`Row height changing to ${height}px`);\n heightRef.current = height;\n setRowHeight(height);\n }\n }\n });\n\n return (\n <div className={withBaseName()}>\n <table aria-hidden>\n <thead>\n <tr ref={rowRef}>\n <th>Invisible Cell</th>\n </tr>\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["cellMeasureCss"],"mappings":";;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAQhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,MAAA,GAAS,OAA4B,IAAI,CAAA,CAAA;AAC/C,EAAM,MAAA,SAAA,GAAY,OAAe,CAAE,CAAA,CAAA,CAAA;AAEnC,EAAM,MAAA,EAAE,cAAiB,GAAA,KAAA,CAAA;AAEzB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,MAAM,MAAS,GAAA,MAAA,CAAO,OAAQ,CAAA,qBAAA,EAAwB,CAAA,MAAA,CAAA;AACtD,MAAI,IAAA,SAAA,CAAU,YAAY,MAAQ,EAAA;AAEhC,QAAA,SAAA,CAAU,OAAU,GAAA,MAAA,CAAA;AACpB,QAAA,YAAA,CAAa,MAAM,CAAA,CAAA;AAAA,OACrB;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAC3B,QAAC,kBAAA,GAAA,CAAA,OAAA,EAAA;AAAA,MAAM,aAAW,EAAA,IAAA;AAAA,MAChB,QAAC,kBAAA,GAAA,CAAA,OAAA,EAAA;AAAA,QACC,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,UAAG,GAAK,EAAA,MAAA;AAAA,UACP,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,YAAG,QAAA,EAAA,gBAAA;AAAA,WAAc,CAAA;AAAA,SACpB,CAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,40 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ const CellWarningIcon = /* @__PURE__ */ jsx("svg", {
4
+ "aria-hidden": true,
5
+ height: "1em",
6
+ viewBox: "0 0 10 8",
7
+ fill: "none",
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ children: /* @__PURE__ */ jsx("path", {
10
+ d: "M4.6188 0L9.2376 8H0L4.6188 0Z"
11
+ })
12
+ });
13
+ const CellErrorIcon = /* @__PURE__ */ jsx("svg", {
14
+ "aria-hidden": true,
15
+ width: "1em",
16
+ height: "1em",
17
+ viewBox: "0 0 8 8",
18
+ fill: "none",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ children: /* @__PURE__ */ jsx("circle", {
21
+ cx: "4",
22
+ cy: "4",
23
+ r: "4"
24
+ })
25
+ });
26
+ const CellSuccessIcon = /* @__PURE__ */ jsx("svg", {
27
+ xmlns: "http://www.w3.org/2000/svg",
28
+ width: "1em",
29
+ viewBox: "0 0 14 14",
30
+ fill: "none",
31
+ children: /* @__PURE__ */ jsx("path", {
32
+ fillRule: "evenodd",
33
+ clipRule: "evenodd",
34
+ d: "M13.7668 2.63645L5.06034 12.0309L0.277532 7.56074L1.47248 6.28223L4.97136 9.55242L12.4832 1.4469L13.7668 2.63645Z",
35
+ fill: "#24874B"
36
+ })
37
+ });
38
+
39
+ export { CellErrorIcon, CellSuccessIcon, CellWarningIcon };
40
+ //# sourceMappingURL=CellStatusIcons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellStatusIcons.js","sources":["../src/internal/CellStatusIcons.tsx"],"sourcesContent":["export const CellWarningIcon = (\n <svg\n aria-hidden\n height=\"1em\"\n viewBox=\"0 0 10 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.6188 0L9.2376 8H0L4.6188 0Z\" />\n </svg>\n);\n\nexport const CellErrorIcon = (\n <svg\n aria-hidden\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 8 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"4\" cy=\"4\" r=\"4\" />\n </svg>\n);\n\nexport const CellSuccessIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.7668 2.63645L5.06034 12.0309L0.277532 7.56074L1.47248 6.28223L4.97136 9.55242L12.4832 1.4469L13.7668 2.63645Z\"\n fill=\"#24874B\"\n />\n </svg>\n);\n"],"names":[],"mappings":";;AAAO,MAAM,kCACV,GAAA,CAAA,KAAA,EAAA;AAAA,EACC,aAAW,EAAA,IAAA;AAAA,EACX,MAAO,EAAA,KAAA;AAAA,EACP,OAAQ,EAAA,UAAA;AAAA,EACR,IAAK,EAAA,MAAA;AAAA,EACL,KAAM,EAAA,4BAAA;AAAA,EAEN,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,IAAK,CAAE,EAAA,gCAAA;AAAA,GAAiC,CAAA;AAAA,CAC3C,EAAA;AAGK,MAAM,gCACV,GAAA,CAAA,KAAA,EAAA;AAAA,EACC,aAAW,EAAA,IAAA;AAAA,EACX,KAAM,EAAA,KAAA;AAAA,EACN,MAAO,EAAA,KAAA;AAAA,EACP,OAAQ,EAAA,SAAA;AAAA,EACR,IAAK,EAAA,MAAA;AAAA,EACL,KAAM,EAAA,4BAAA;AAAA,EAEN,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA;AAAA,IAAO,EAAG,EAAA,GAAA;AAAA,IAAI,EAAG,EAAA,GAAA;AAAA,IAAI,CAAE,EAAA,GAAA;AAAA,GAAI,CAAA;AAAA,CAC9B,EAAA;AAGK,MAAM,kCACV,GAAA,CAAA,KAAA,EAAA;AAAA,EACC,KAAM,EAAA,4BAAA;AAAA,EACN,KAAM,EAAA,KAAA;AAAA,EACN,OAAQ,EAAA,WAAA;AAAA,EACR,IAAK,EAAA,MAAA;AAAA,EAEL,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA;AAAA,IACC,QAAS,EAAA,SAAA;AAAA,IACT,QAAS,EAAA,SAAA;AAAA,IACT,CAAE,EAAA,mHAAA;AAAA,IACF,IAAK,EAAA,SAAA;AAAA,GACP,CAAA;AAAA,CACF;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridColumnDropTarget {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 3px;\n border: var(--grid-columnDropTarget-color);\n border-width: 0 1px 0 1px;\n border-style: solid;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=ColumnDropTarget.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnDropTarget.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,32 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useMemo } from 'react';
3
+ import { makePrefixer } from '@salt-ds/core';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { useComponentCssInjection } from '@salt-ds/styles';
6
+ import css_248z from './ColumnDropTarget.css.js';
7
+
8
+ const withBaseName = makePrefixer("saltGridColumnDropTarget");
9
+ function ColumnDropTarget(props) {
10
+ const targetWindow = useWindow();
11
+ useComponentCssInjection({
12
+ testId: "salt-column-drop-target",
13
+ css: css_248z,
14
+ window: targetWindow
15
+ });
16
+ const { x = 0 } = props;
17
+ const style = useMemo(() => {
18
+ return {
19
+ left: `${x - 2}px`
20
+ };
21
+ }, [x]);
22
+ if (props.x === void 0) {
23
+ return null;
24
+ }
25
+ return /* @__PURE__ */ jsx("div", {
26
+ className: withBaseName(),
27
+ style
28
+ });
29
+ }
30
+
31
+ export { ColumnDropTarget };
32
+ //# sourceMappingURL=ColumnDropTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnDropTarget.js","sources":["../src/internal/ColumnDropTarget.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport columDropTargetCss from \"./ColumnDropTarget.css\";\n\nconst withBaseName = makePrefixer(\"saltGridColumnDropTarget\");\n\nexport interface ColumnDropTargetProps {\n x?: number;\n}\n\n// When the user drags a column, this component is used to show the potential\n// drop target. Experimental feature. No UX yet.\nexport function ColumnDropTarget(props: ColumnDropTargetProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-column-drop-target\",\n css: columDropTargetCss,\n window: targetWindow,\n });\n\n const { x = 0 } = props;\n\n const style = useMemo(() => {\n return {\n left: `${x - 2}px`,\n };\n }, [x]);\n\n if (props.x === undefined) {\n return null;\n }\n\n return <div className={withBaseName()} style={style} />;\n}\n"],"names":["columDropTargetCss"],"mappings":";;;;;;;AAOA,MAAM,YAAA,GAAe,aAAa,0BAA0B,CAAA,CAAA;AAQrD,SAAS,iBAAiB,KAA8B,EAAA;AAC7D,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,yBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,CAAI,GAAA,CAAA,EAAM,GAAA,KAAA,CAAA;AAElB,EAAM,MAAA,KAAA,GAAQ,QAAQ,MAAM;AAC1B,IAAO,OAAA;AAAA,MACL,IAAA,EAAM,GAAG,CAAI,GAAA,CAAA,CAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAAA,GACF,EAAG,CAAC,CAAC,CAAC,CAAA,CAAA;AAEN,EAAI,IAAA,KAAA,CAAM,MAAM,KAAW,CAAA,EAAA;AACzB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,KAAA;AAAA,GAAc,CAAA,CAAA;AACvD;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridColumnGhost {\n background: var(--grid-background);\n position: absolute;\n border: solid var(--grid-columnGhost-borderWidth) var(--grid-columnGhost-borderColor);\n box-shadow: var(--grid-columnGhost-boxShadow);\n opacity: 0.85;\n}\n\n.saltGridColumnGhost table {\n table-layout: fixed;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=ColumnGhost.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnGhost.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,55 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useWindow } from '@salt-ds/window';
3
+ import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { makePrefixer } from '@salt-ds/core';
5
+ import { TableColGroup } from './TableColGroup.js';
6
+ import { HeaderRow } from './HeaderRow.js';
7
+ import { TableBody } from './TableBody.js';
8
+ import css_248z from './ColumnGhost.css.js';
9
+
10
+ const withBaseName = makePrefixer("saltGridColumnGhost");
11
+ function ColumnGhost(props) {
12
+ const targetWindow = useWindow();
13
+ useComponentCssInjection({
14
+ testId: "salt-column-ghost",
15
+ css: css_248z,
16
+ window: targetWindow
17
+ });
18
+ if (!props.dragState) {
19
+ return null;
20
+ }
21
+ const { columnIndex, x, y } = props.dragState;
22
+ const { columns, rows, zebra } = props;
23
+ const movingColumn = columns[columnIndex];
24
+ const style = {
25
+ left: x,
26
+ top: y
27
+ };
28
+ return /* @__PURE__ */ jsx("div", {
29
+ className: withBaseName(),
30
+ style,
31
+ children: /* @__PURE__ */ jsxs("table", {
32
+ "aria-hidden": true,
33
+ children: [
34
+ /* @__PURE__ */ jsx(TableColGroup, {
35
+ columns: [movingColumn]
36
+ }),
37
+ /* @__PURE__ */ jsx("thead", {
38
+ children: /* @__PURE__ */ jsx(HeaderRow, {
39
+ columns: [movingColumn]
40
+ })
41
+ }),
42
+ /* @__PURE__ */ jsx(TableBody, {
43
+ columns: [movingColumn],
44
+ rows,
45
+ setHoverRowKey: () => {
46
+ },
47
+ zebra
48
+ })
49
+ ]
50
+ })
51
+ });
52
+ }
53
+
54
+ export { ColumnGhost };
55
+ //# sourceMappingURL=ColumnGhost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnGhost.js","sources":["../src/internal/ColumnGhost.tsx"],"sourcesContent":["import { CSSProperties } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\n\nimport { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { TableBody } from \"./TableBody\";\nimport { ColumnDragState } from \"./gridHooks\";\n\nimport columnGhostCss from \"./ColumnGhost.css\";\n\nconst withBaseName = makePrefixer(\"saltGridColumnGhost\");\n\nexport interface ColumnGhostProps<T> {\n dragState?: ColumnDragState;\n columns: GridColumnModel<T>[];\n rows: GridRowModel<T>[];\n zebra?: boolean;\n}\n\n// When the user drags a column this component renders a partially transparent\n// copy of the dragged column.\nexport function ColumnGhost<T = any>(props: ColumnGhostProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-column-ghost\",\n css: columnGhostCss,\n window: targetWindow,\n });\n\n if (!props.dragState) {\n return null;\n }\n\n const { columnIndex, x, y } = props.dragState;\n const { columns, rows, zebra } = props;\n const movingColumn = columns[columnIndex];\n\n const style: CSSProperties = {\n left: x,\n top: y,\n };\n\n return (\n <div className={withBaseName()} style={style}>\n <table aria-hidden>\n <TableColGroup columns={[movingColumn]} />\n <thead>\n <HeaderRow columns={[movingColumn]} />\n </thead>\n <TableBody\n columns={[movingColumn]}\n rows={rows}\n setHoverRowKey={() => {}}\n zebra={zebra}\n />\n </table>\n </div>\n );\n}\n"],"names":["columnGhostCss"],"mappings":";;;;;;;;;AAcA,MAAM,YAAA,GAAe,aAAa,qBAAqB,CAAA,CAAA;AAWhD,SAAS,YAAqB,KAA4B,EAAA;AAC/D,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAI,IAAA,CAAC,MAAM,SAAW,EAAA;AACpB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,EAAE,WAAA,EAAa,CAAG,EAAA,CAAA,KAAM,KAAM,CAAA,SAAA,CAAA;AACpC,EAAA,MAAM,EAAE,OAAA,EAAS,IAAM,EAAA,KAAA,EAAU,GAAA,KAAA,CAAA;AACjC,EAAA,MAAM,eAAe,OAAQ,CAAA,WAAA,CAAA,CAAA;AAE7B,EAAA,MAAM,KAAuB,GAAA;AAAA,IAC3B,IAAM,EAAA,CAAA;AAAA,IACN,GAAK,EAAA,CAAA;AAAA,GACP,CAAA;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,IAAG,KAAA;AAAA,IAC9B,QAAC,kBAAA,IAAA,CAAA,OAAA,EAAA;AAAA,MAAM,aAAW,EAAA,IAAA;AAAA,MAChB,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,aAAA,EAAA;AAAA,UAAc,OAAA,EAAS,CAAC,YAAY,CAAA;AAAA,SAAG,CAAA;AAAA,wBACvC,GAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA;AAAA,YAAU,OAAA,EAAS,CAAC,YAAY,CAAA;AAAA,WAAG,CAAA;AAAA,SACtC,CAAA;AAAA,wBACC,GAAA,CAAA,SAAA,EAAA;AAAA,UACC,OAAA,EAAS,CAAC,YAAY,CAAA;AAAA,UACtB,IAAA;AAAA,UACA,gBAAgB,MAAM;AAAA,WAAC;AAAA,UACvB,KAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridCursor {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n}\n\n:focus .saltGridCursor {\n border-style: var(--grid-cursor-border-style);\n border-width: var(--grid-cursor-border-width);\n border-color: var(--grid-cursor-borderColor);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=Cursor.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cursor.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,21 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { makePrefixer } from '@salt-ds/core';
3
+ import { useWindow } from '@salt-ds/window';
4
+ import { useComponentCssInjection } from '@salt-ds/styles';
5
+ import css_248z from './Cursor.css.js';
6
+
7
+ const withBaseName = makePrefixer("saltGridCursor");
8
+ function Cursor(props) {
9
+ const targetWindow = useWindow();
10
+ useComponentCssInjection({
11
+ testId: "salt-cursor",
12
+ css: css_248z,
13
+ window: targetWindow
14
+ });
15
+ return /* @__PURE__ */ jsx("div", {
16
+ className: withBaseName()
17
+ });
18
+ }
19
+
20
+ export { Cursor };
21
+ //# sourceMappingURL=Cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cursor.js","sources":["../src/internal/Cursor.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport cursorCss from \"./Cursor.css\";\n\nconst withBaseName = makePrefixer(\"saltGridCursor\");\n\nexport interface CursorProps {}\n\n// This is probably obsolete. Cursor is rendered using cell borders now.\nexport function Cursor(props: CursorProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cursor\",\n css: cursorCss,\n window: targetWindow,\n });\n\n return <div className={withBaseName()} />;\n}\n"],"names":["cursorCss"],"mappings":";;;;;;AAMA,MAAM,YAAA,GAAe,aAAa,gBAAgB,CAAA,CAAA;AAK3C,SAAS,OAAO,KAAoB,EAAA;AACzC,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,aAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,YAAa,EAAA;AAAA,GAAG,CAAA,CAAA;AACzC;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridDefaultCellValue {\n overflow: hidden;\n text-overflow: ellipsis;\n padding: var(--grid-cell-padding);\n}\n\n.saltGridDefaultCellValue-alignRight {\n text-align: right;\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=DefaultCellValue.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultCellValue.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,26 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { makePrefixer } from '@salt-ds/core';
3
+ import { clsx } from 'clsx';
4
+ import { useWindow } from '@salt-ds/window';
5
+ import { useComponentCssInjection } from '@salt-ds/styles';
6
+ import css_248z from './DefaultCellValue.css.js';
7
+
8
+ const withBaseName = makePrefixer("saltGridDefaultCellValue");
9
+ function DefaultCellValue(props) {
10
+ const { value } = props;
11
+ const targetWindow = useWindow();
12
+ useComponentCssInjection({
13
+ testId: "salt-default-cell-value",
14
+ css: css_248z,
15
+ window: targetWindow
16
+ });
17
+ return /* @__PURE__ */ jsx("div", {
18
+ className: clsx(withBaseName(), {
19
+ [withBaseName("alignRight")]: props.column.info.props.align === "right"
20
+ }),
21
+ children: value
22
+ });
23
+ }
24
+
25
+ export { DefaultCellValue };
26
+ //# sourceMappingURL=DefaultCellValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultCellValue.js","sources":["../src/internal/DefaultCellValue.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridCellValueProps } from \"../GridColumn\";\n\nimport defaultCellValueCss from \"./DefaultCellValue.css\";\n\nconst withBaseName = makePrefixer(\"saltGridDefaultCellValue\");\n\n// Default component for cell value wrappers. Rendered as a child of cell\n// components (<td>s)\nexport function DefaultCellValue<T>(props: GridCellValueProps<T>) {\n const { value } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-default-cell-value\",\n css: defaultCellValueCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={clsx(withBaseName(), {\n [withBaseName(\"alignRight\")]: props.column.info.props.align === \"right\",\n })}\n >\n {value as ReactNode}\n </div>\n );\n}\n"],"names":["defaultCellValueCss"],"mappings":";;;;;;;AAUA,MAAM,YAAA,GAAe,aAAa,0BAA0B,CAAA,CAAA;AAIrD,SAAS,iBAAoB,KAA8B,EAAA;AAChE,EAAM,MAAA,EAAE,OAAU,GAAA,KAAA,CAAA;AAElB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,yBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,IAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,aAAa,YAAY,CAAA,GAAI,MAAM,MAAO,CAAA,IAAA,CAAK,MAAM,KAAU,KAAA,OAAA;AAAA,KACjE,CAAA;AAAA,IAEA,QAAA,EAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridFakeCell {\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=FakeCell.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,23 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { useWindow } from '@salt-ds/window';
3
+ import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { Cell } from './Cell.js';
5
+ import css_248z from './FakeCell.css.js';
6
+
7
+ function FakeCell(props) {
8
+ const { row } = props;
9
+ const targetWindow = useWindow();
10
+ useComponentCssInjection({
11
+ testId: "salt-fake-cell",
12
+ css: css_248z,
13
+ window: targetWindow
14
+ });
15
+ return /* @__PURE__ */ jsx(Cell, {
16
+ className: "saltGridFakeCell",
17
+ "data-row-index": row.index,
18
+ "data-column-index": -1
19
+ });
20
+ }
21
+
22
+ export { FakeCell };
23
+ //# sourceMappingURL=FakeCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeCell.js","sources":["../src/internal/FakeCell.tsx"],"sourcesContent":["import { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridCellProps } from \"../GridColumn\";\n\nimport { Cell } from \"./Cell\";\n\nimport fakeCellCss from \"./FakeCell.css\";\n\nexport type FakeCellProps<T> = Pick<GridCellProps<T>, \"row\">;\n\n// When there is unused space (total width of all columns is less than the\n// available client width of the grid) a column with fake cells is rendered to\n// fill this space. Zebra and row selection/hover highlighting is applied to\n// this column. Fake cells can't have keyboard focus or render any values.\nexport function FakeCell<T>(props: FakeCellProps<T>) {\n const { row } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-fake-cell\",\n css: fakeCellCss,\n window: targetWindow,\n });\n\n return (\n <Cell\n className=\"saltGridFakeCell\"\n data-row-index={row.index}\n data-column-index={-1}\n />\n );\n}\n"],"names":["fakeCellCss"],"mappings":";;;;;;AAeO,SAAS,SAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,EAAE,KAAQ,GAAA,KAAA,CAAA;AAEhB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAA,QAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,IAAA,EAAA;AAAA,IACC,SAAU,EAAA,kBAAA;AAAA,IACV,kBAAgB,GAAI,CAAA,KAAA;AAAA,IACpB,mBAAmB,EAAA,CAAA,CAAA;AAAA,GACrB,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,8 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function FakeGroupCell() {
4
+ return /* @__PURE__ */ jsx("th", {});
5
+ }
6
+
7
+ export { FakeGroupCell };
8
+ //# sourceMappingURL=FakeGroupCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeGroupCell.js","sources":["../src/internal/FakeGroupCell.tsx"],"sourcesContent":["export function FakeGroupCell() {\n return <th />;\n}\n"],"names":[],"mappings":";;AAAO,SAAS,aAAgB,GAAA;AAC9B,EAAA,2BAAQ,IAAG,EAAA,EAAA,CAAA,CAAA;AACb;;;;"}
@@ -0,0 +1,10 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ function FakeHeaderCell() {
4
+ return /* @__PURE__ */ jsx("th", {
5
+ "data-testid": "grid-fake-column-header"
6
+ });
7
+ }
8
+
9
+ export { FakeHeaderCell };
10
+ //# sourceMappingURL=FakeHeaderCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeHeaderCell.js","sources":["../src/internal/FakeHeaderCell.tsx"],"sourcesContent":["// See FakeCell.tsx\nexport function FakeHeaderCell() {\n return <th data-testid=\"grid-fake-column-header\" />;\n}\n"],"names":[],"mappings":";;AACO,SAAS,cAAiB,GAAA;AAC/B,EAAA,uBAAQ,GAAA,CAAA,IAAA,EAAA;AAAA,IAAG,aAAY,EAAA,yBAAA;AAAA,GAA0B,CAAA,CAAA;AACnD;;;;"}
@@ -0,0 +1,4 @@
1
+ var css_248z = ".saltGridGroupHeaderRow {\n height: var(--grid-row-height);\n}\n";
2
+
3
+ export { css_248z as default };
4
+ //# sourceMappingURL=GroupHeaderRow.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupHeaderRow.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}