@linzjs/step-ag-grid 23.0.1 → 24.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/dist/src/components/ComponentLoadingWrapper.d.ts +1 -1
  2. package/dist/src/components/Grid.d.ts +17 -17
  3. package/dist/src/components/GridCell.d.ts +9 -9
  4. package/dist/src/components/GridCellFiller.d.ts +2 -2
  5. package/dist/src/components/GridCellMultiEditor.d.ts +6 -6
  6. package/dist/src/components/GridCellMultiSelectClassRules.d.ts +1 -1
  7. package/dist/src/components/GridIcon.d.ts +2 -2
  8. package/dist/src/components/GridNoRowsOverlay.d.ts +1 -1
  9. package/dist/src/components/GridPopoverHook.d.ts +2 -2
  10. package/dist/src/components/GridWrapper.d.ts +1 -1
  11. package/dist/src/components/PostSortRowsHook.d.ts +1 -1
  12. package/dist/src/components/clickInputWhenContainingCellClicked.d.ts +1 -1
  13. package/dist/src/components/gridFilter/GridFilterButtons.d.ts +5 -5
  14. package/dist/src/components/gridFilter/GridFilterColumnsToggle.d.ts +1 -1
  15. package/dist/src/components/gridFilter/GridFilterDownloadCsvButton.d.ts +1 -1
  16. package/dist/src/components/gridFilter/GridFilterHeaderIconButton.d.ts +2 -2
  17. package/dist/src/components/gridFilter/GridFilters.d.ts +1 -1
  18. package/dist/src/components/gridFilter/index.d.ts +7 -7
  19. package/dist/src/components/gridFilter/useGridFilter.d.ts +2 -2
  20. package/dist/src/components/gridForm/GridFormDropDown.d.ts +8 -8
  21. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +2 -2
  22. package/dist/src/components/gridForm/GridFormMessage.d.ts +3 -3
  23. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +4 -4
  24. package/dist/src/components/gridForm/GridFormMultiSelectGrid.d.ts +4 -4
  25. package/dist/src/components/gridForm/GridFormPopoverMenu.d.ts +5 -5
  26. package/dist/src/components/gridForm/GridFormSubComponentTextArea.d.ts +4 -4
  27. package/dist/src/components/gridForm/GridFormSubComponentTextInput.d.ts +4 -4
  28. package/dist/src/components/gridForm/GridFormTextArea.d.ts +4 -4
  29. package/dist/src/components/gridForm/GridFormTextInput.d.ts +3 -3
  30. package/dist/src/components/gridForm/index.d.ts +10 -10
  31. package/dist/src/components/gridHeader/GridHeaderSelect.d.ts +1 -1
  32. package/dist/src/components/gridHeader/index.d.ts +1 -1
  33. package/dist/src/components/gridHook/index.d.ts +1 -1
  34. package/dist/src/components/gridHook/useGridContextMenu.d.ts +4 -4
  35. package/dist/src/components/gridPopoverEdit/GridButton.d.ts +5 -5
  36. package/dist/src/components/gridPopoverEdit/GridEditBoolean.d.ts +4 -4
  37. package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.d.ts +4 -4
  38. package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelectGrid.d.ts +4 -4
  39. package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +4 -4
  40. package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +4 -4
  41. package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +4 -4
  42. package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +4 -4
  43. package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +4 -4
  44. package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +4 -4
  45. package/dist/src/components/gridPopoverEdit/index.d.ts +11 -11
  46. package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +5 -5
  47. package/dist/src/components/gridRender/GridRenderPopoutMenuCell.d.ts +1 -1
  48. package/dist/src/components/gridRender/index.d.ts +2 -2
  49. package/dist/src/components/gridUtil.d.ts +1 -1
  50. package/dist/src/components/index.d.ts +19 -19
  51. package/dist/src/contexts/GridContext.d.ts +4 -4
  52. package/dist/src/contexts/GridContextProvider.d.ts +3 -3
  53. package/dist/src/contexts/GridPopoverContext.d.ts +3 -3
  54. package/dist/src/contexts/GridPopoverContextProvider.d.ts +4 -4
  55. package/dist/src/contexts/GridUpdatingContextProvider.d.ts +1 -1
  56. package/dist/src/index.d.ts +17 -17
  57. package/dist/src/lui/ActionButton.d.ts +9 -9
  58. package/dist/src/lui/FormError.d.ts +2 -2
  59. package/dist/src/lui/TextAreaInput.d.ts +1 -1
  60. package/dist/src/lui/TextInputFormatted.d.ts +2 -2
  61. package/dist/src/lui/reactUtils.d.ts +1 -1
  62. package/dist/src/lui/stateDeferredHook.d.ts +1 -1
  63. package/dist/src/react-menu3/components/ControlledMenu.d.ts +2 -2
  64. package/dist/src/react-menu3/components/FocusableItem.d.ts +3 -3
  65. package/dist/src/react-menu3/components/Menu.d.ts +3 -3
  66. package/dist/src/react-menu3/components/MenuButton.d.ts +2 -2
  67. package/dist/src/react-menu3/components/MenuDivider.d.ts +1 -1
  68. package/dist/src/react-menu3/components/MenuGroup.d.ts +2 -2
  69. package/dist/src/react-menu3/components/MenuHeader.d.ts +2 -2
  70. package/dist/src/react-menu3/components/MenuItem.d.ts +3 -3
  71. package/dist/src/react-menu3/components/MenuList.d.ts +1 -1
  72. package/dist/src/react-menu3/components/MenuRadioGroup.d.ts +2 -2
  73. package/dist/src/react-menu3/components/SubMenu.d.ts +5 -5
  74. package/dist/src/react-menu3/contexts/EventHandlersContext.d.ts +1 -1
  75. package/dist/src/react-menu3/contexts/MenuListContext.d.ts +2 -2
  76. package/dist/src/react-menu3/contexts/MenuListItemContext.d.ts +1 -1
  77. package/dist/src/react-menu3/contexts/RadioGroupContext.d.ts +1 -1
  78. package/dist/src/react-menu3/contexts/SettingsContext.d.ts +2 -2
  79. package/dist/src/react-menu3/hooks/index.d.ts +9 -9
  80. package/dist/src/react-menu3/hooks/useBEM.d.ts +1 -1
  81. package/dist/src/react-menu3/hooks/useCombinedRef.d.ts +1 -1
  82. package/dist/src/react-menu3/hooks/useIsomorphicLayoutEffect.d.ts +1 -1
  83. package/dist/src/react-menu3/hooks/useItemEffect.d.ts +1 -1
  84. package/dist/src/react-menu3/hooks/useItemState.d.ts +1 -1
  85. package/dist/src/react-menu3/hooks/useItems.d.ts +2 -2
  86. package/dist/src/react-menu3/hooks/useMenuChange.d.ts +1 -1
  87. package/dist/src/react-menu3/hooks/useMenuState.d.ts +1 -1
  88. package/dist/src/react-menu3/hooks/useMenuStateAndFocus.d.ts +1 -1
  89. package/dist/src/react-menu3/index.d.ts +11 -11
  90. package/dist/src/react-menu3/positionUtils/getPositionHelpers.d.ts +1 -1
  91. package/dist/src/react-menu3/positionUtils/index.d.ts +3 -3
  92. package/dist/src/react-menu3/positionUtils/placeArrowHorizontal.d.ts +1 -1
  93. package/dist/src/react-menu3/positionUtils/placeArrowVertical.d.ts +1 -1
  94. package/dist/src/react-menu3/positionUtils/placeLeftorRight.d.ts +4 -4
  95. package/dist/src/react-menu3/positionUtils/placeToporBottom.d.ts +5 -5
  96. package/dist/src/react-menu3/positionUtils/positionContextMenu.d.ts +2 -2
  97. package/dist/src/react-menu3/positionUtils/positionMenu.d.ts +5 -5
  98. package/dist/src/react-menu3/style-utils/index.d.ts +1 -1
  99. package/dist/src/react-menu3/types.d.ts +15 -15
  100. package/dist/src/react-menu3/utils/constants.d.ts +1 -1
  101. package/dist/src/react-menu3/utils/index.d.ts +3 -3
  102. package/dist/src/react-menu3/utils/utils.d.ts +5 -5
  103. package/dist/src/react-menu3/utils/withHovering.d.ts +1 -1
  104. package/dist/src/utils/testQuick.d.ts +2 -2
  105. package/dist/src/utils/testUtil.d.ts +2 -2
  106. package/dist/src/utils/textValidator.d.ts +2 -2
  107. package/dist/step-ag-grid.cjs.js +966 -952
  108. package/dist/step-ag-grid.cjs.js.map +1 -1
  109. package/dist/step-ag-grid.esm.js +968 -954
  110. package/dist/step-ag-grid.esm.js.map +1 -1
  111. package/package.json +26 -41
  112. package/src/components/ComponentLoadingWrapper.tsx +5 -6
  113. package/src/components/Grid.tsx +85 -83
  114. package/src/components/GridCell.test.tsx +15 -15
  115. package/src/components/GridCell.tsx +46 -44
  116. package/src/components/GridCellFiller.tsx +5 -4
  117. package/src/components/GridCellMultiEditor.tsx +7 -7
  118. package/src/components/GridCellMultiSelectClassRules.tsx +3 -3
  119. package/src/components/GridIcon.tsx +6 -7
  120. package/src/components/GridLoadableCell.tsx +2 -2
  121. package/src/components/GridNoRowsOverlay.tsx +8 -8
  122. package/src/components/GridPopoverHook.tsx +16 -16
  123. package/src/components/GridWrapper.tsx +2 -2
  124. package/src/components/PostSortRowsHook.ts +11 -11
  125. package/src/components/clickInputWhenContainingCellClicked.tsx +5 -5
  126. package/src/components/gridFilter/GridFilterButtons.tsx +8 -9
  127. package/src/components/gridFilter/GridFilterColumnsToggle.tsx +25 -26
  128. package/src/components/gridFilter/GridFilterDownloadCsvButton.tsx +12 -13
  129. package/src/components/gridFilter/GridFilterHeaderIconButton.tsx +9 -10
  130. package/src/components/gridFilter/GridFilterQuick.tsx +6 -6
  131. package/src/components/gridFilter/GridFilters.tsx +1 -1
  132. package/src/components/gridFilter/index.ts +7 -7
  133. package/src/components/gridFilter/useGridFilter.ts +3 -3
  134. package/src/components/gridForm/GridFormDropDown.tsx +56 -52
  135. package/src/components/gridForm/GridFormEditBearing.tsx +12 -12
  136. package/src/components/gridForm/GridFormMessage.tsx +10 -10
  137. package/src/components/gridForm/GridFormMultiSelect.tsx +53 -51
  138. package/src/components/gridForm/GridFormMultiSelectGrid.tsx +25 -26
  139. package/src/components/gridForm/GridFormPopoverMenu.tsx +32 -29
  140. package/src/components/gridForm/GridFormSubComponentTextArea.tsx +10 -10
  141. package/src/components/gridForm/GridFormSubComponentTextInput.tsx +8 -8
  142. package/src/components/gridForm/GridFormTextArea.tsx +11 -11
  143. package/src/components/gridForm/GridFormTextInput.tsx +11 -11
  144. package/src/components/gridForm/index.ts +10 -10
  145. package/src/components/gridHeader/GridHeaderSelect.tsx +9 -9
  146. package/src/components/gridHeader/index.ts +1 -1
  147. package/src/components/gridHook/index.ts +1 -1
  148. package/src/components/gridHook/useGridContextMenu.tsx +7 -7
  149. package/src/components/gridPopoverEdit/GridButton.tsx +13 -12
  150. package/src/components/gridPopoverEdit/GridEditBoolean.tsx +19 -18
  151. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +7 -6
  152. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelectGrid.ts +7 -6
  153. package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +9 -9
  154. package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +8 -7
  155. package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +6 -6
  156. package/src/components/gridPopoverEdit/GridPopoverMessage.ts +4 -4
  157. package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +4 -4
  158. package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +4 -4
  159. package/src/components/gridPopoverEdit/index.ts +11 -11
  160. package/src/components/gridRender/GridRenderGenericCell.tsx +5 -5
  161. package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +8 -9
  162. package/src/components/gridRender/index.ts +2 -2
  163. package/src/components/gridUtil.ts +3 -3
  164. package/src/components/index.ts +19 -19
  165. package/src/contexts/GridContext.tsx +52 -46
  166. package/src/contexts/GridContextProvider.test.tsx +14 -14
  167. package/src/contexts/GridContextProvider.tsx +42 -41
  168. package/src/contexts/GridPopoverContext.tsx +10 -7
  169. package/src/contexts/GridPopoverContextProvider.tsx +12 -10
  170. package/src/contexts/GridSubComponentContext.ts +6 -5
  171. package/src/contexts/GridUpdatingContext.tsx +5 -4
  172. package/src/contexts/GridUpdatingContextProvider.tsx +3 -3
  173. package/src/index.ts +17 -21
  174. package/src/lui/ActionButton.tsx +42 -41
  175. package/src/lui/FormError.tsx +4 -4
  176. package/src/lui/TextAreaInput.tsx +9 -9
  177. package/src/lui/TextInputFormatted.tsx +11 -11
  178. package/src/lui/reactUtils.test.tsx +8 -8
  179. package/src/lui/reactUtils.tsx +2 -2
  180. package/src/lui/stateDeferredHook.tsx +3 -5
  181. package/src/lui/timeoutHook.test.tsx +5 -5
  182. package/src/lui/timeoutHook.tsx +1 -1
  183. package/src/react-app-env.d.ts +1 -1
  184. package/src/react-menu3/components/ControlledMenu.tsx +48 -48
  185. package/src/react-menu3/components/FocusableItem.tsx +7 -7
  186. package/src/react-menu3/components/Menu.tsx +11 -11
  187. package/src/react-menu3/components/MenuButton.tsx +4 -4
  188. package/src/react-menu3/components/MenuDivider.tsx +4 -4
  189. package/src/react-menu3/components/MenuGroup.tsx +5 -5
  190. package/src/react-menu3/components/MenuHeader.tsx +4 -4
  191. package/src/react-menu3/components/MenuItem.tsx +14 -14
  192. package/src/react-menu3/components/MenuList.tsx +55 -55
  193. package/src/react-menu3/components/MenuRadioGroup.tsx +7 -7
  194. package/src/react-menu3/components/SubMenu.tsx +24 -24
  195. package/src/react-menu3/contexts/EventHandlersContext.ts +2 -2
  196. package/src/react-menu3/contexts/HoverItemContext.ts +1 -1
  197. package/src/react-menu3/contexts/ItemSettingsContext.ts +1 -1
  198. package/src/react-menu3/contexts/MenuListContext.ts +2 -2
  199. package/src/react-menu3/contexts/MenuListItemContext.ts +2 -2
  200. package/src/react-menu3/contexts/RadioGroupContext.ts +2 -2
  201. package/src/react-menu3/contexts/SettingsContext.ts +2 -2
  202. package/src/react-menu3/hooks/index.ts +9 -9
  203. package/src/react-menu3/hooks/useBEM.ts +4 -4
  204. package/src/react-menu3/hooks/useCombinedRef.ts +2 -2
  205. package/src/react-menu3/hooks/useIsomorphicLayoutEffect.ts +4 -4
  206. package/src/react-menu3/hooks/useItemEffect.ts +3 -3
  207. package/src/react-menu3/hooks/useItemState.ts +5 -5
  208. package/src/react-menu3/hooks/useItems.ts +8 -8
  209. package/src/react-menu3/hooks/useMenuChange.ts +3 -3
  210. package/src/react-menu3/hooks/useMenuState.ts +5 -5
  211. package/src/react-menu3/hooks/useMenuStateAndFocus.ts +4 -4
  212. package/src/react-menu3/index.ts +11 -11
  213. package/src/react-menu3/positionUtils/getPositionHelpers.ts +2 -2
  214. package/src/react-menu3/positionUtils/index.ts +3 -3
  215. package/src/react-menu3/positionUtils/placeArrowHorizontal.ts +1 -1
  216. package/src/react-menu3/positionUtils/placeArrowVertical.ts +1 -1
  217. package/src/react-menu3/positionUtils/placeLeftorRight.ts +13 -13
  218. package/src/react-menu3/positionUtils/placeToporBottom.ts +15 -15
  219. package/src/react-menu3/positionUtils/positionContextMenu.ts +4 -4
  220. package/src/react-menu3/positionUtils/positionMenu.ts +14 -14
  221. package/src/react-menu3/style-utils/index.ts +24 -24
  222. package/src/react-menu3/types.ts +15 -15
  223. package/src/react-menu3/utils/constants.ts +33 -33
  224. package/src/react-menu3/utils/index.ts +3 -4
  225. package/src/react-menu3/utils/propTypes2.ts +10 -10
  226. package/src/react-menu3/utils/utils.ts +14 -14
  227. package/src/react-menu3/utils/withHovering.tsx +3 -3
  228. package/src/stories/components/ActionButton.stories.tsx +23 -24
  229. package/src/stories/grid/FormTest.tsx +15 -16
  230. package/src/stories/grid/GridDragRow.stories.tsx +33 -34
  231. package/src/stories/grid/GridFilterButtons.stories.tsx +32 -33
  232. package/src/stories/grid/GridNoRowsOverlay.stories.tsx +9 -10
  233. package/src/stories/grid/GridNonEditableRow.stories.tsx +40 -41
  234. package/src/stories/grid/GridPinnedRow.stories.tsx +25 -26
  235. package/src/stories/grid/GridPopoutContextMenu.stories.tsx +33 -32
  236. package/src/stories/grid/GridPopoutEditBoolean.stories.tsx +21 -22
  237. package/src/stories/grid/GridPopoutEditGeneric.stories.tsx +18 -19
  238. package/src/stories/grid/GridPopoutEditGenericTextArea.stories.tsx +50 -49
  239. package/src/stories/grid/GridPopoverEditBearing.stories.tsx +25 -26
  240. package/src/stories/grid/GridPopoverEditDropDown.stories.tsx +93 -94
  241. package/src/stories/grid/GridPopoverEditMultiSelect.stories.tsx +62 -63
  242. package/src/stories/grid/GridPopoverEditMultiSelectGrid.stories.tsx +28 -28
  243. package/src/stories/grid/GridReadOnly.stories.tsx +66 -67
  244. package/src/stories/grid/GridViewList.stories.tsx +37 -38
  245. package/src/stories/grid/gridFormInteraction/GridFormDropDownInteraction.stories.tsx +37 -38
  246. package/src/stories/grid/gridFormInteraction/GridFormEditBearingCorrectionInteraction.stories.tsx +25 -26
  247. package/src/stories/grid/gridFormInteraction/GridFormEditBearingInteraction.stories.tsx +25 -26
  248. package/src/stories/grid/gridFormInteraction/GridFormMultiSelectGridInteraction.stories.tsx +31 -31
  249. package/src/stories/grid/gridFormInteraction/GridFormMultiSelectInteraction.stories.tsx +47 -48
  250. package/src/stories/grid/gridFormInteraction/GridFormPopoverMenuInteraction.stories.tsx +44 -45
  251. package/src/stories/grid/gridFormInteraction/GridFormTextAreaInteraction.stories.tsx +19 -20
  252. package/src/stories/grid/gridFormInteraction/GridFormTextInputInteraction.stories.tsx +21 -22
  253. package/src/stories/grid/gridFormStatic/GridFormDropDown.stories.tsx +40 -41
  254. package/src/stories/grid/gridFormStatic/GridFormEditBearing.stories.tsx +14 -15
  255. package/src/stories/grid/gridFormStatic/GridFormEditBearingCorrection.stories.tsx +14 -15
  256. package/src/stories/grid/gridFormStatic/GridFormMessage.stories.tsx +10 -11
  257. package/src/stories/grid/gridFormStatic/GridFormMultiSelect.stories.tsx +20 -21
  258. package/src/stories/grid/gridFormStatic/GridFormPopoverMenu.stories.tsx +16 -17
  259. package/src/stories/grid/gridFormStatic/GridFormTextArea.stories.tsx +13 -14
  260. package/src/stories/grid/gridFormStatic/GridFormTextInput.stories.tsx +13 -14
  261. package/src/stories/grid/interactions/GridKeyboardInteractions.stories.tsx +68 -71
  262. package/src/stories/react-menu/ReactMenu.stories.tsx +26 -26
  263. package/src/utils/bearing.test.ts +44 -44
  264. package/src/utils/bearing.ts +20 -20
  265. package/src/utils/deferredPromise.ts +1 -1
  266. package/src/utils/storybookTestUtil.ts +2 -2
  267. package/src/utils/testQuick.ts +15 -14
  268. package/src/utils/testUtil.ts +31 -36
  269. package/src/utils/textMatcher.test.ts +9 -9
  270. package/src/utils/textMatcher.ts +8 -8
  271. package/src/utils/textValidator.test.ts +56 -56
  272. package/src/utils/textValidator.ts +11 -11
  273. package/src/utils/util.test.ts +20 -20
  274. package/src/utils/util.ts +7 -7
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@linzjs/step-ag-grid",
3
3
  "repository": "github:linz/step-ag-grid.git",
4
4
  "license": "MIT",
5
- "version": "23.0.1",
5
+ "version": "24.0.0",
6
6
  "keywords": [
7
7
  "aggrid",
8
8
  "ag-grid",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@linzjs/lui": ">=21",
31
- "ag-grid-community": "^32.2.0",
32
- "ag-grid-react": "^32.2.0",
31
+ "ag-grid-community": "^32.3.3",
32
+ "ag-grid-react": "^32.3.3",
33
33
  "lodash-es": ">=4",
34
34
  "react": ">=18",
35
35
  "react-dom": ">=18"
@@ -50,12 +50,14 @@
50
50
  "stylelint": "stylelint src/**/*.scss src/**/*.css --fix",
51
51
  "css": "sass ./src/styles/index.scss:dist/index.css --no-source-map",
52
52
  "test": "jest",
53
- "lint": "eslint ./src --ext .js,.ts,.tsx --fix --cache --ignore-path .gitignore",
53
+ "lint": "eslint ./src --ext .js,.ts,.tsx --cache --ignore-path .gitignore",
54
+ "lint:fix": "eslint ./src --ext .js,.ts,.tsx --fix --cache --ignore-path .gitignore",
54
55
  "storybook": "storybook dev -p 6006",
55
56
  "build-storybook": "storybook build",
56
57
  "deploy-storybook": "npx --yes -p @storybook/storybook-deployer storybook-to-ghpages",
57
58
  "chromatic": "chromatic --exit-zero-on-changes",
58
- "semantic-release": "semantic-release"
59
+ "semantic-release": "semantic-release",
60
+ "upgrade": "npx ncu -i --format group"
59
61
  },
60
62
  "eslintConfig": {
61
63
  "extends": [
@@ -78,53 +80,37 @@
78
80
  "devDependencies": {
79
81
  "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
80
82
  "@chromatic-com/storybook": "^3.2.4",
81
- "@linzjs/lui": "^22.2.1",
82
- "@rollup/plugin-commonjs": "^26.0.1",
83
+ "@linzjs/lui": "^22.4.2",
84
+ "@linzjs/style": "^5.4.0",
85
+ "@rollup/plugin-commonjs": "^26.0.3",
83
86
  "@rollup/plugin-json": "^6.1.0",
84
- "@rollup/plugin-node-resolve": "^15.2.4",
85
- "@semantic-release/changelog": "^6.0.3",
87
+ "@rollup/plugin-node-resolve": "^15.3.1",
86
88
  "@semantic-release/git": "^10.0.1",
87
- "@storybook/addon-essentials": "^8.5.0",
88
- "@storybook/addon-interactions": "^8.5.0",
89
- "@storybook/addon-links": "^8.5.0",
90
- "@storybook/react": "^8.5.0",
91
- "@storybook/react-vite": "^8.5.0",
92
- "@storybook/test": "^8.5.0",
89
+ "@storybook/addon-essentials": "^8.5.2",
90
+ "@storybook/addon-interactions": "^8.5.2",
91
+ "@storybook/addon-links": "^8.5.2",
92
+ "@storybook/react": "^8.5.2",
93
+ "@storybook/react-vite": "^8.5.2",
94
+ "@storybook/test": "^8.5.2",
93
95
  "@storybook/test-runner": "^0.21.0",
94
96
  "@testing-library/dom": "^10.4.0",
95
97
  "@testing-library/jest-dom": "^6.6.3",
96
98
  "@testing-library/react": "^16.2.0",
97
- "@testing-library/user-event": "^14.6.0",
98
- "@trivago/prettier-plugin-sort-imports": "^4.3.0",
99
+ "@testing-library/user-event": "^14.6.1",
99
100
  "@types/debounce-promise": "^3.1.9",
100
101
  "@types/jest": "^29.5.14",
101
102
  "@types/lodash-es": "^4.17.12",
102
- "@types/node": "^22.10.7",
103
+ "@types/node": "^22.12.0",
103
104
  "@types/react": "^18.3.8",
104
- "@types/react-dom": "^18.3.0",
105
+ "@types/react-dom": "^18.3.5",
105
106
  "@types/uuid": "^10.0.0",
106
- "@typescript-eslint/eslint-plugin": "^7.15.0",
107
- "@typescript-eslint/parser": "^7.15.0",
108
107
  "@vitejs/plugin-react-swc": "^3.7.2",
109
- "ag-grid-community": "^32.2.0",
110
- "ag-grid-react": "^32.2.0",
108
+ "ag-grid-community": "^32.3.3",
109
+ "ag-grid-react": "^32.3.3",
111
110
  "babel-jest": "^29.7.0",
112
111
  "babel-preset-react-app": "^10.0.1",
113
- "chromatic": "^11.25.0",
112
+ "chromatic": "^11.25.1",
114
113
  "css-loader": "^7.1.2",
115
- "esbuild": "^0.24.2",
116
- "eslint": "^8.57.0",
117
- "eslint-config-prettier": "^9.1.0",
118
- "eslint-config-react-app": "^7.0.1",
119
- "eslint-plugin-deprecation": "^2.0.0",
120
- "eslint-plugin-import": "^2.31.0",
121
- "eslint-plugin-jest": "^28.11.0",
122
- "eslint-plugin-jsx-a11y": "^6.10.2",
123
- "eslint-plugin-prettier": "^5.2.3",
124
- "eslint-plugin-react": "^7.37.4",
125
- "eslint-plugin-react-hooks": "^4.6.2",
126
- "eslint-plugin-storybook": "^0.11.2",
127
- "eslint-plugin-testing-library": "^6.3.0",
128
114
  "jest": "^29.7.0",
129
115
  "jest-canvas-mock": "^2.5.2",
130
116
  "jest-environment-jsdom": "^29.7.0",
@@ -134,11 +120,10 @@
134
120
  "postcss": "^8.5.1",
135
121
  "postcss-loader": "^7.3.4",
136
122
  "postcss-scss": "^4.0.9",
137
- "prettier": "^3.4.2",
138
123
  "react": ">=18",
139
124
  "react-app-polyfill": "^3.0.0",
140
125
  "react-dom": "^18.3.1",
141
- "rollup": "^4.31.0",
126
+ "rollup": "^4.32.1",
142
127
  "rollup-plugin-copy": "^3.5.0",
143
128
  "rollup-plugin-peer-deps-external": "^2.2.4",
144
129
  "rollup-plugin-postcss": "^4.0.2",
@@ -146,7 +131,7 @@
146
131
  "sass": "^1.83.4",
147
132
  "sass-loader": "^14.2.1",
148
133
  "semantic-release": "^22.0.12",
149
- "storybook": "^8.5.0",
134
+ "storybook": "^8.5.2",
150
135
  "storybook-css-modules-preset": "^1.1.1",
151
136
  "style-loader": "^4.0.0",
152
137
  "stylelint": "^15.11.0",
@@ -155,7 +140,7 @@
155
140
  "stylelint-prettier": "^4.1.0",
156
141
  "stylelint-scss": "^5.3.2",
157
142
  "typescript": "^5.7.3",
158
- "vite": "^6.0.10",
143
+ "vite": "^6.0.11",
159
144
  "vite-plugin-html": "^3.2.2",
160
145
  "vite-tsconfig-paths": "^5.1.4"
161
146
  },
@@ -1,6 +1,5 @@
1
- import { PropsWithChildren, ReactElement } from "react";
2
-
3
- import { LuiMiniSpinner } from "@linzjs/lui";
1
+ import { LuiMiniSpinner } from '@linzjs/lui';
2
+ import { PropsWithChildren, ReactElement } from 'react';
4
3
 
5
4
  /**
6
5
  * If loading is true this returns a loading spinner, otherwise it returns its children.
@@ -13,10 +12,10 @@ export const ComponentLoadingWrapper = (
13
12
  }>,
14
13
  ): ReactElement => {
15
14
  return props.loading ? (
16
- <LuiMiniSpinner size={22} divProps={{ role: "status", ["aria-label"]: "Loading", style: { padding: 16 } }} />
15
+ <LuiMiniSpinner size={22} divProps={{ role: 'status', ['aria-label']: 'Loading', style: { padding: 16 } }} />
17
16
  ) : (
18
- <div style={{ pointerEvents: props.saving ? "none" : "inherit" }} className={props.className}>
19
- {props.saving && <div className={"ComponentLoadingWrapper-saveOverlay"} />}
17
+ <div style={{ pointerEvents: props.saving ? 'none' : 'inherit' }} className={props.className}>
18
+ {props.saving && <div className={'ComponentLoadingWrapper-saveOverlay'} />}
20
19
  {props.children}
21
20
  </div>
22
21
  );
@@ -20,21 +20,21 @@ import {
20
20
  RowHighlightPosition,
21
21
  RowNode,
22
22
  SelectionChangedEvent,
23
- } from "ag-grid-community";
24
- import { AgGridReact } from "ag-grid-react";
25
- import clsx from "clsx";
26
- import { defer, difference, isEmpty, last, omit, xorBy } from "lodash-es";
27
- import { ReactElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
28
- import { useInterval } from "usehooks-ts";
29
-
30
- import { GridContext } from "../contexts/GridContext";
31
- import { GridUpdatingContext } from "../contexts/GridUpdatingContext";
32
- import { fnOrVar, isNotEmpty } from "../utils/util";
33
- import { GridNoRowsOverlay } from "./GridNoRowsOverlay";
34
- import { usePostSortRowsHook } from "./PostSortRowsHook";
35
- import { GridHeaderSelect } from "./gridHeader";
36
- import { GridContextMenuComponent, useGridContextMenu } from "./gridHook";
37
- import { clickInputWhenContainingCellClicked } from "./clickInputWhenContainingCellClicked";
23
+ } from 'ag-grid-community';
24
+ import { AgGridReact } from 'ag-grid-react';
25
+ import clsx from 'clsx';
26
+ import { defer, difference, isEmpty, last, omit, xorBy } from 'lodash-es';
27
+ import { ReactElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
28
+ import { useInterval } from 'usehooks-ts';
29
+
30
+ import { GridContext } from '../contexts/GridContext';
31
+ import { GridUpdatingContext } from '../contexts/GridUpdatingContext';
32
+ import { fnOrVar, isNotEmpty } from '../utils/util';
33
+ import { clickInputWhenContainingCellClicked } from './clickInputWhenContainingCellClicked';
34
+ import { GridHeaderSelect } from './gridHeader';
35
+ import { GridContextMenuComponent, useGridContextMenu } from './gridHook';
36
+ import { GridNoRowsOverlay } from './GridNoRowsOverlay';
37
+ import { usePostSortRowsHook } from './PostSortRowsHook';
38
38
 
39
39
  export interface GridBaseRow {
40
40
  id: string | number;
@@ -45,29 +45,29 @@ export interface GridProps {
45
45
  defaultPostSort?: boolean; // Retain sort order after edit, Defaults to true.
46
46
  selectable?: boolean;
47
47
  theme?: string; // should have prefix ag-theme-
48
- ["data-testid"]?: string;
49
- domLayout?: GridOptions["domLayout"];
48
+ ['data-testid']?: string;
49
+ domLayout?: GridOptions['domLayout'];
50
50
  externalSelectedItems?: any[];
51
51
  setExternalSelectedItems?: (items: any[]) => void;
52
- defaultColDef?: GridOptions["defaultColDef"];
52
+ defaultColDef?: GridOptions['defaultColDef'];
53
53
  columnDefs: ColDef[];
54
- rowData: GridOptions["rowData"];
54
+ rowData: GridOptions['rowData'];
55
55
  /**
56
56
  * Whether select column is pinned. Defaults to "left".
57
57
  */
58
- selectColumnPinned?: ColDef["pinned"];
58
+ selectColumnPinned?: ColDef['pinned'];
59
59
  noRowsOverlayText?: string;
60
60
  noRowsMatchingOverlayText?: string;
61
61
  animateRows?: boolean;
62
62
  rowHeight?: number;
63
- rowClassRules?: GridOptions["rowClassRules"];
64
- rowSelection?: "single" | "multiple";
63
+ rowClassRules?: GridOptions['rowClassRules'];
64
+ rowSelection?: 'single' | 'multiple';
65
65
  autoSelectFirstRow?: boolean;
66
- onColumnMoved?: GridOptions["onColumnMoved"];
67
- rowDragText?: GridOptions["rowDragText"];
68
- onRowDragEnd?: (movedRow: any, targetRow: any, targetIndex: number) => Promise<void>;
66
+ onColumnMoved?: GridOptions['onColumnMoved'];
67
+ rowDragText?: GridOptions['rowDragText'];
68
+ onRowDragEnd?: (movedRow: any, targetRow: any, targetIndex: number) => Promise<void> | void;
69
69
  alwaysShowVerticalScroll?: boolean;
70
- suppressColumnVirtualization?: GridOptions["suppressColumnVirtualisation"];
70
+ suppressColumnVirtualization?: GridOptions['suppressColumnVirtualisation'];
71
71
  /**
72
72
  * When the grid is rendered using sizeColumns=="auto" this is called initially with the required container size to fit all content.
73
73
  * This allows you set the size of the panel to fit perfectly.
@@ -85,7 +85,7 @@ export interface GridProps {
85
85
  *
86
86
  * If you want to stretch to container width if width is greater than the container add a flex column.
87
87
  */
88
- sizeColumns?: "fit" | "auto" | "auto-skip-headers" | "none";
88
+ sizeColumns?: 'fit' | 'auto' | 'auto-skip-headers' | 'none';
89
89
  /**
90
90
  * When pressing tab whilst editing the grid will select and edit the next cell if available.
91
91
  * Once the last cell to edit closes this callback is called.
@@ -109,25 +109,25 @@ export interface GridProps {
109
109
 
110
110
  loading?: boolean;
111
111
  suppressCellFocus?: boolean;
112
- pinnedTopRowData?: GridOptions["pinnedTopRowData"];
113
- pinnedBottomRowData?: GridOptions["pinnedBottomRowData"];
112
+ pinnedTopRowData?: GridOptions['pinnedTopRowData'];
113
+ pinnedBottomRowData?: GridOptions['pinnedBottomRowData'];
114
114
  }
115
115
 
116
116
  /**
117
117
  * Wrapper for AgGrid to add commonly used functionality.
118
118
  */
119
119
  export const Grid = ({
120
- "data-testid": dataTestId,
120
+ 'data-testid': dataTestId,
121
121
  defaultPostSort = true,
122
- rowSelection = "multiple",
122
+ rowSelection = 'multiple',
123
123
  suppressColumnVirtualization = true,
124
- theme = "ag-theme-step-default",
125
- sizeColumns = "auto",
124
+ theme = 'ag-theme-step-default',
125
+ sizeColumns = 'auto',
126
126
  selectColumnPinned = null,
127
127
  contextMenuSelectRow = false,
128
128
  singleClickEdit = false,
129
129
  rowData,
130
- rowHeight = theme === "ag-theme-step-default" ? 40 : theme === "ag-theme-step-compact" ? 36 : 40,
130
+ rowHeight = theme === 'ag-theme-step-default' ? 40 : theme === 'ag-theme-step-compact' ? 36 : 40,
131
131
  ...params
132
132
  }: GridProps): ReactElement => {
133
133
  const {
@@ -186,19 +186,19 @@ export const Grid = ({
186
186
  return;
187
187
  }
188
188
 
189
- const skipHeader = sizeColumns === "auto-skip-headers" && gridRendered === "rows-visible";
190
- if (sizeColumns === "auto" || skipHeader) {
189
+ const skipHeader = sizeColumns === 'auto-skip-headers' && gridRendered === 'rows-visible';
190
+ if (sizeColumns === 'auto' || skipHeader) {
191
191
  const result = autoSizeColumns({ skipHeader, userSizedColIds: userSizedColIds.current, includeFlex: true });
192
192
  if (!result) {
193
193
  needsAutoSize.current = true;
194
194
  return;
195
195
  }
196
- if (gridRendered === "empty") {
196
+ if (gridRendered === 'empty') {
197
197
  if (!hasSetContentSizeEmpty.current && !hasSetContentSize.current) {
198
198
  hasSetContentSizeEmpty.current = true;
199
199
  params.onContentSize?.(result);
200
200
  }
201
- } else if (gridRendered === "rows-visible") {
201
+ } else if (gridRendered === 'rows-visible') {
202
202
  if (!hasSetContentSize.current) {
203
203
  if (lastFullResize.current === result.width) {
204
204
  hasSetContentSize.current = true;
@@ -210,11 +210,11 @@ export const Grid = ({
210
210
  }
211
211
  } else {
212
212
  // It should be impossible to get here
213
- console.error("Unknown value returned from hasGridRendered");
213
+ console.error('Unknown value returned from hasGridRendered');
214
214
  }
215
215
  }
216
216
 
217
- if (sizeColumns !== "none") {
217
+ if (sizeColumns !== 'none') {
218
218
  sizeColumnsToFit();
219
219
  }
220
220
  setAutoSized(true);
@@ -235,7 +235,7 @@ export const Grid = ({
235
235
  needsAutoSize.current = true;
236
236
  }
237
237
  }
238
- if (needsAutoSize.current || (!hasSetContentSize.current && sizeColumns === "auto")) {
238
+ if (needsAutoSize.current || (!hasSetContentSize.current && sizeColumns === 'auto')) {
239
239
  needsAutoSize.current = false;
240
240
  setInitialContentSize();
241
241
  }
@@ -280,7 +280,7 @@ export const Grid = ({
280
280
  const selectedRows = api.getSelectedRows();
281
281
  // We don't want to update selected Items if it hasn't changed to prevent excess renders
282
282
  if (
283
- params.externalSelectedItems.length != selectedRows.length ||
283
+ params.externalSelectedItems.length !== selectedRows.length ||
284
284
  isNotEmpty(xorBy(selectedRows, params.externalSelectedItems, (row) => row.id))
285
285
  ) {
286
286
  setExternallySelectedItemsAreInSync(false);
@@ -347,7 +347,7 @@ export const Grid = ({
347
347
  editable,
348
348
  cellClassRules: {
349
349
  ...colDef.cellClassRules,
350
- "GridCell-readonly": (ccp: CellClassParams) => !editable(ccp as any as EditableCallbackParams),
350
+ 'GridCell-readonly': (ccp: CellClassParams) => !editable(ccp as any as EditableCallbackParams),
351
351
  },
352
352
  };
353
353
  });
@@ -355,7 +355,7 @@ export const Grid = ({
355
355
  return params.selectable || params.onRowDragEnd
356
356
  ? [
357
357
  {
358
- colId: "selection",
358
+ colId: 'selection',
359
359
  editable: false,
360
360
  rowDrag: !!params.onRowDragEnd,
361
361
  minWidth: params.selectable && params.onRowDragEnd ? 76 : 48,
@@ -365,11 +365,11 @@ export const Grid = ({
365
365
  exportable: false,
366
366
  },
367
367
  checkboxSelection: params.selectable,
368
- headerClass: params.onRowDragEnd ? "ag-header-select-draggable" : undefined,
369
- headerComponent: rowSelection === "multiple" ? GridHeaderSelect : null,
368
+ headerClass: params.onRowDragEnd ? 'ag-header-select-draggable' : undefined,
369
+ headerComponent: rowSelection === 'multiple' ? GridHeaderSelect : null,
370
370
  suppressHeaderKeyboardEvent: (e) => {
371
371
  if (!params.selectable) return false;
372
- if ((e.event.key === "Enter" || e.event.key === " ") && !e.event.repeat) {
372
+ if ((e.event.key === 'Enter' || e.event.key === ' ') && !e.event.repeat) {
373
373
  if (isEmpty(e.api.getSelectedRows())) {
374
374
  e.api.selectAllFiltered();
375
375
  } else {
@@ -426,7 +426,7 @@ export const Grid = ({
426
426
  // Don't update while there are spinners
427
427
  if (!isEmpty(updatingCols())) return;
428
428
 
429
- const skipHeader = sizeColumns === "auto-skip-headers";
429
+ const skipHeader = sizeColumns === 'auto-skip-headers';
430
430
  if (hasSetContentSize.current) {
431
431
  autoSizeColumns({ skipHeader, userSizedColIds: userSizedColIds.current, colIds: colIdsEdited.current });
432
432
  }
@@ -460,7 +460,7 @@ export const Grid = ({
460
460
  event.node.setSelected(true, true);
461
461
  }
462
462
  // Cell already being edited, so don't re-edit until finished
463
- if (checkUpdating([event.colDef.field ?? ""], event.data.id)) {
463
+ if (checkUpdating([event.colDef.field ?? ''], event.data.id)) {
464
464
  return;
465
465
  }
466
466
 
@@ -519,10 +519,10 @@ export const Grid = ({
519
519
  const onCellKeyPress = useCallback(
520
520
  (e: CellKeyDownEvent) => {
521
521
  const kbe = e.event as KeyboardEvent;
522
- if (kbe.key === "Enter") {
522
+ if (kbe.key === 'Enter') {
523
523
  if (!invokeEditAction(e)) startCellEditing(e);
524
524
  }
525
- if (kbe.key === "Tab") {
525
+ if (kbe.key === 'Tab') {
526
526
  // eslint-disable-next-line
527
527
  prePopupOps();
528
528
  }
@@ -536,7 +536,7 @@ export const Grid = ({
536
536
  */
537
537
  const columnDefsAdjusted = useMemo(() => {
538
538
  const adjustColDefOrGroup = (colDef: ColDef | ColGroupDef) =>
539
- "children" in colDef ? adjustGroupColDef(colDef) : adjustColDef(colDef);
539
+ 'children' in colDef ? adjustGroupColDef(colDef) : adjustColDef(colDef);
540
540
 
541
541
  const adjustGroupColDef = (colDef: ColGroupDef): ColGroupDef => ({
542
542
  ...colDef,
@@ -545,7 +545,7 @@ export const Grid = ({
545
545
 
546
546
  const adjustColDef = (colDef: ColDef): ColDef => ({
547
547
  ...colDef,
548
- suppressSizeToFit: (sizeColumns === "auto" || sizeColumns === "auto-skip-headers") && !colDef.flex,
548
+ suppressSizeToFit: (sizeColumns === 'auto' || sizeColumns === 'auto-skip-headers') && !colDef.flex,
549
549
  sortable: colDef.sortable && params.defaultColDef?.sortable !== false,
550
550
  });
551
551
 
@@ -570,8 +570,8 @@ export const Grid = ({
570
570
  if (isEmpty(colIds)) {
571
571
  // Columns to resize?
572
572
  if (!isEmpty(colIdsEdited.current)) {
573
- const skipHeader = sizeColumns === "auto-skip-headers";
574
- if (sizeColumns === "auto" || skipHeader) {
573
+ const skipHeader = sizeColumns === 'auto-skip-headers';
574
+ if (sizeColumns === 'auto' || skipHeader) {
575
575
  defer(() => {
576
576
  if (hasSetContentSize.current) {
577
577
  autoSizeColumns({
@@ -608,7 +608,7 @@ export const Grid = ({
608
608
  * Resize columns to fit if required on window/container resize
609
609
  */
610
610
  const onGridSizeChanged = useCallback(() => {
611
- if (sizeColumns !== "none") {
611
+ if (sizeColumns !== 'none') {
612
612
  sizeColumnsToFit();
613
613
  }
614
614
  }, [sizeColumns, sizeColumnsToFit]);
@@ -625,10 +625,10 @@ export const Grid = ({
625
625
  const colId = e.column?.getColId();
626
626
  if (colId == null) return;
627
627
  switch (e.source) {
628
- case "uiColumnDragged":
628
+ case 'uiColumnDragged':
629
629
  userSizedColIds.current.add(colId);
630
630
  break;
631
- case "autosizeColumns":
631
+ case 'autosizeColumns':
632
632
  userSizedColIds.current.delete(colId);
633
633
  break;
634
634
  }
@@ -657,27 +657,29 @@ export const Grid = ({
657
657
  }, []);
658
658
 
659
659
  const onRowDragEnd = useCallback(
660
- async (event: RowDragEndEvent) => {
661
- const clientSideRowModel = event.api.getModel() as IClientSideRowModel;
662
- if (event.node.rowIndex != null) {
663
- const lastHighlightedRowNode = clientSideRowModel.getLastHighlightedRowNode();
664
- const isBelow = lastHighlightedRowNode && lastHighlightedRowNode.highlighted === RowHighlightPosition.Below;
665
-
666
- let targetIndex = event.overIndex;
667
- if (event.node.rowIndex > event.overIndex) {
668
- targetIndex += isBelow ? 1 : 0;
669
- } else {
670
- targetIndex += isBelow ? 0 : -1;
671
- }
660
+ (event: RowDragEndEvent) => {
661
+ void (async () => {
662
+ const clientSideRowModel = event.api.getModel() as IClientSideRowModel;
663
+ if (event.node.rowIndex != null) {
664
+ const lastHighlightedRowNode = clientSideRowModel.getLastHighlightedRowNode();
665
+ const isBelow = lastHighlightedRowNode && lastHighlightedRowNode.highlighted === RowHighlightPosition.Below;
666
+
667
+ let targetIndex = event.overIndex;
668
+ if (event.node.rowIndex > event.overIndex) {
669
+ targetIndex += isBelow ? 1 : 0;
670
+ } else {
671
+ targetIndex += isBelow ? 0 : -1;
672
+ }
672
673
 
673
- const moved = event.node.data;
674
- const target = event.overNode?.data;
675
- moved.id !== target?.id && //moved over a different row
676
- event.node.rowIndex != targetIndex && //moved to a different index
677
- params.onRowDragEnd &&
678
- (await params.onRowDragEnd(moved, target, targetIndex));
679
- }
680
- clientSideRowModel.highlightRowAtPixel(null);
674
+ const moved = event.node.data;
675
+ const target = event.overNode?.data;
676
+ moved.id !== target?.id && //moved over a different row
677
+ event.node.rowIndex != targetIndex && //moved to a different index
678
+ params.onRowDragEnd &&
679
+ (await params.onRowDragEnd(moved, target, targetIndex));
680
+ }
681
+ clientSideRowModel.highlightRowAtPixel(null);
682
+ })();
681
683
  },
682
684
  [params],
683
685
  );
@@ -691,11 +693,11 @@ export const Grid = ({
691
693
  <div
692
694
  data-testid={dataTestId}
693
695
  className={clsx(
694
- "Grid-container",
696
+ 'Grid-container',
695
697
  theme,
696
- "theme-specific",
697
- staleGrid && "Grid-sortIsStale",
698
- gridReady && rowData && autoSized && "Grid-ready",
698
+ 'theme-specific',
699
+ staleGrid && 'Grid-sortIsStale',
700
+ gridReady && rowData && autoSized && 'Grid-ready',
699
701
  )}
700
702
  >
701
703
  {gridContextMenu.component}
@@ -721,7 +723,7 @@ export const Grid = ({
721
723
  onCellEditingStarted={refreshSelectedRows}
722
724
  domLayout={params.domLayout}
723
725
  onColumnResized={onColumnResized}
724
- defaultColDef={{ minWidth: 48, ...omit(params.defaultColDef, ["editable"]) }}
726
+ defaultColDef={{ minWidth: 48, ...omit(params.defaultColDef, ['editable']) }}
725
727
  columnDefs={columnDefsAdjusted}
726
728
  rowData={rowData}
727
729
  noRowsOverlayComponent={(event: AgGridEvent) => {
@@ -1,29 +1,29 @@
1
- import { GridBaseRow } from "./Grid";
2
- import { generateFilterGetter, SAValueGetterParams } from "./GridCell";
1
+ import { GridBaseRow } from './Grid';
2
+ import { generateFilterGetter, SAValueGetterParams } from './GridCell';
3
3
 
4
- describe("GridCell", () => {
5
- test("generateFilterGetter returns passed filterValueGetter", () => {
6
- const filterValueGetter = () => "a";
7
- expect(generateFilterGetter(undefined, filterValueGetter, () => "b")).toBe(filterValueGetter);
8
- expect(generateFilterGetter("xxx", filterValueGetter, undefined)).toBe(filterValueGetter);
4
+ describe('GridCell', () => {
5
+ test('generateFilterGetter returns passed filterValueGetter', () => {
6
+ const filterValueGetter = () => 'a';
7
+ expect(generateFilterGetter(undefined, filterValueGetter, () => 'b')).toBe(filterValueGetter);
8
+ expect(generateFilterGetter('xxx', filterValueGetter, undefined)).toBe(filterValueGetter);
9
9
  expect(generateFilterGetter(undefined, filterValueGetter, undefined)).toBe(filterValueGetter);
10
10
  });
11
11
 
12
- test("generateFilterGetter", () => {
13
- expect(generateFilterGetter("xxx", undefined, undefined)).toBeUndefined();
12
+ test('generateFilterGetter', () => {
13
+ expect(generateFilterGetter('xxx', undefined, undefined)).toBeUndefined();
14
14
 
15
15
  const tests = [
16
- { formatted: "f1", value: "v1", expected: "f1 v1" },
17
- { formatted: "f2", value: {}, expected: "f2" },
18
- { formatted: "", value: "v3", expected: "v3" },
16
+ { formatted: 'f1', value: 'v1', expected: 'f1 v1' },
17
+ { formatted: 'f2', value: {}, expected: 'f2' },
18
+ { formatted: '', value: 'v3', expected: 'v3' },
19
19
  ];
20
20
 
21
21
  tests.forEach((test) => {
22
- const field = "xxx";
22
+ const field = 'xxx';
23
23
  const valueFormatter = test.formatted == null ? undefined : () => test.formatted;
24
24
  const filterGetter = generateFilterGetter(field, undefined, valueFormatter);
25
- expect(typeof filterGetter).toBe("function");
26
- if (typeof filterGetter !== "function") return;
25
+ expect(typeof filterGetter).toBe('function');
26
+ if (typeof filterGetter !== 'function') return;
27
27
  expect(filterGetter({ getValue: () => test.value } as any as SAValueGetterParams<GridBaseRow>)).toBe(
28
28
  test.expected,
29
29
  );