@linzjs/step-ag-grid 23.0.1 → 25.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 (292) hide show
  1. package/dist/GridTheme.scss +1 -1
  2. package/dist/index.css +0 -13
  3. package/dist/src/components/ComponentLoadingWrapper.d.ts +1 -1
  4. package/dist/src/components/Grid.d.ts +17 -17
  5. package/dist/src/components/GridCell.d.ts +9 -9
  6. package/dist/src/components/GridCellFiller.d.ts +2 -2
  7. package/dist/src/components/GridCellMultiEditor.d.ts +6 -6
  8. package/dist/src/components/GridCellMultiSelectClassRules.d.ts +1 -1
  9. package/dist/src/components/GridIcon.d.ts +2 -2
  10. package/dist/src/components/GridNoRowsOverlay.d.ts +1 -1
  11. package/dist/src/components/GridPopoverHook.d.ts +2 -2
  12. package/dist/src/components/GridWrapper.d.ts +1 -1
  13. package/dist/src/components/PostSortRowsHook.d.ts +1 -1
  14. package/dist/src/components/clickInputWhenContainingCellClicked.d.ts +1 -1
  15. package/dist/src/components/gridFilter/GridFilterButtons.d.ts +5 -5
  16. package/dist/src/components/gridFilter/GridFilterColumnsToggle.d.ts +1 -1
  17. package/dist/src/components/gridFilter/GridFilterDownloadCsvButton.d.ts +1 -1
  18. package/dist/src/components/gridFilter/GridFilterHeaderIconButton.d.ts +2 -2
  19. package/dist/src/components/gridFilter/GridFilters.d.ts +1 -1
  20. package/dist/src/components/gridFilter/index.d.ts +7 -7
  21. package/dist/src/components/gridFilter/useGridFilter.d.ts +2 -2
  22. package/dist/src/components/gridForm/GridFormDropDown.d.ts +8 -8
  23. package/dist/src/components/gridForm/GridFormEditBearing.d.ts +2 -2
  24. package/dist/src/components/gridForm/GridFormMessage.d.ts +3 -3
  25. package/dist/src/components/gridForm/GridFormMultiSelect.d.ts +4 -4
  26. package/dist/src/components/gridForm/GridFormMultiSelectGrid.d.ts +4 -4
  27. package/dist/src/components/gridForm/GridFormPopoverMenu.d.ts +5 -5
  28. package/dist/src/components/gridForm/GridFormSubComponentTextArea.d.ts +4 -4
  29. package/dist/src/components/gridForm/GridFormSubComponentTextInput.d.ts +4 -4
  30. package/dist/src/components/gridForm/GridFormTextArea.d.ts +4 -4
  31. package/dist/src/components/gridForm/GridFormTextInput.d.ts +3 -3
  32. package/dist/src/components/gridForm/index.d.ts +10 -10
  33. package/dist/src/components/gridHeader/GridHeaderSelect.d.ts +1 -1
  34. package/dist/src/components/gridHeader/index.d.ts +1 -1
  35. package/dist/src/components/gridHook/index.d.ts +1 -1
  36. package/dist/src/components/gridHook/useGridContextMenu.d.ts +4 -4
  37. package/dist/src/components/gridPopoverEdit/GridButton.d.ts +5 -5
  38. package/dist/src/components/gridPopoverEdit/GridEditBoolean.d.ts +4 -4
  39. package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.d.ts +4 -4
  40. package/dist/src/components/gridPopoverEdit/GridPopoutEditMultiSelectGrid.d.ts +4 -4
  41. package/dist/src/components/gridPopoverEdit/GridPopoverEditBearing.d.ts +4 -4
  42. package/dist/src/components/gridPopoverEdit/GridPopoverEditDropDown.d.ts +4 -4
  43. package/dist/src/components/gridPopoverEdit/GridPopoverMenu.d.ts +4 -4
  44. package/dist/src/components/gridPopoverEdit/GridPopoverMessage.d.ts +4 -4
  45. package/dist/src/components/gridPopoverEdit/GridPopoverTextArea.d.ts +4 -4
  46. package/dist/src/components/gridPopoverEdit/GridPopoverTextInput.d.ts +4 -4
  47. package/dist/src/components/gridPopoverEdit/index.d.ts +11 -11
  48. package/dist/src/components/gridRender/GridRenderGenericCell.d.ts +5 -5
  49. package/dist/src/components/gridRender/GridRenderPopoutMenuCell.d.ts +1 -1
  50. package/dist/src/components/gridRender/index.d.ts +2 -2
  51. package/dist/src/components/gridUtil.d.ts +1 -1
  52. package/dist/src/components/index.d.ts +19 -19
  53. package/dist/src/contexts/GridContext.d.ts +4 -4
  54. package/dist/src/contexts/GridContextProvider.d.ts +3 -3
  55. package/dist/src/contexts/GridPopoverContext.d.ts +3 -3
  56. package/dist/src/contexts/GridPopoverContextProvider.d.ts +4 -4
  57. package/dist/src/contexts/GridUpdatingContextProvider.d.ts +1 -1
  58. package/dist/src/index.d.ts +19 -17
  59. package/dist/src/lui/ActionButton.d.ts +9 -9
  60. package/dist/src/lui/FormError.d.ts +2 -2
  61. package/dist/src/lui/TextAreaInput.d.ts +1 -1
  62. package/dist/src/lui/TextInputFormatted.d.ts +2 -2
  63. package/dist/src/lui/reactUtils.d.ts +1 -1
  64. package/dist/src/lui/stateDeferredHook.d.ts +1 -1
  65. package/dist/src/react-menu3/components/ControlledMenu.d.ts +2 -2
  66. package/dist/src/react-menu3/components/FocusableItem.d.ts +3 -3
  67. package/dist/src/react-menu3/components/Menu.d.ts +3 -3
  68. package/dist/src/react-menu3/components/MenuButton.d.ts +2 -2
  69. package/dist/src/react-menu3/components/MenuDivider.d.ts +1 -1
  70. package/dist/src/react-menu3/components/MenuGroup.d.ts +2 -2
  71. package/dist/src/react-menu3/components/MenuHeader.d.ts +2 -2
  72. package/dist/src/react-menu3/components/MenuItem.d.ts +3 -3
  73. package/dist/src/react-menu3/components/MenuList.d.ts +1 -1
  74. package/dist/src/react-menu3/components/MenuRadioGroup.d.ts +2 -2
  75. package/dist/src/react-menu3/components/SubMenu.d.ts +5 -5
  76. package/dist/src/react-menu3/contexts/EventHandlersContext.d.ts +1 -1
  77. package/dist/src/react-menu3/contexts/MenuListContext.d.ts +2 -2
  78. package/dist/src/react-menu3/contexts/MenuListItemContext.d.ts +1 -1
  79. package/dist/src/react-menu3/contexts/RadioGroupContext.d.ts +1 -1
  80. package/dist/src/react-menu3/contexts/SettingsContext.d.ts +2 -2
  81. package/dist/src/react-menu3/hooks/index.d.ts +9 -9
  82. package/dist/src/react-menu3/hooks/useBEM.d.ts +1 -1
  83. package/dist/src/react-menu3/hooks/useCombinedRef.d.ts +1 -1
  84. package/dist/src/react-menu3/hooks/useIsomorphicLayoutEffect.d.ts +1 -1
  85. package/dist/src/react-menu3/hooks/useItemEffect.d.ts +1 -1
  86. package/dist/src/react-menu3/hooks/useItemState.d.ts +1 -1
  87. package/dist/src/react-menu3/hooks/useItems.d.ts +2 -2
  88. package/dist/src/react-menu3/hooks/useMenuChange.d.ts +1 -1
  89. package/dist/src/react-menu3/hooks/useMenuState.d.ts +1 -1
  90. package/dist/src/react-menu3/hooks/useMenuStateAndFocus.d.ts +1 -1
  91. package/dist/src/react-menu3/index.d.ts +11 -11
  92. package/dist/src/react-menu3/positionUtils/getPositionHelpers.d.ts +1 -1
  93. package/dist/src/react-menu3/positionUtils/index.d.ts +3 -3
  94. package/dist/src/react-menu3/positionUtils/placeArrowHorizontal.d.ts +1 -1
  95. package/dist/src/react-menu3/positionUtils/placeArrowVertical.d.ts +1 -1
  96. package/dist/src/react-menu3/positionUtils/placeLeftorRight.d.ts +4 -4
  97. package/dist/src/react-menu3/positionUtils/placeToporBottom.d.ts +5 -5
  98. package/dist/src/react-menu3/positionUtils/positionContextMenu.d.ts +2 -2
  99. package/dist/src/react-menu3/positionUtils/positionMenu.d.ts +5 -5
  100. package/dist/src/react-menu3/style-utils/index.d.ts +1 -1
  101. package/dist/src/react-menu3/types.d.ts +15 -15
  102. package/dist/src/react-menu3/utils/constants.d.ts +1 -1
  103. package/dist/src/react-menu3/utils/index.d.ts +3 -3
  104. package/dist/src/react-menu3/utils/utils.d.ts +5 -5
  105. package/dist/src/react-menu3/utils/withHovering.d.ts +1 -1
  106. package/{src/utils → dist/src/utils/__tests__}/storybookTestUtil.ts +2 -2
  107. package/{src/utils → dist/src/utils/__tests__}/testQuick.ts +15 -14
  108. package/{src/utils → dist/src/utils/__tests__}/testUtil.ts +31 -36
  109. package/dist/src/utils/__tests__/vitestUtil.ts +295 -0
  110. package/dist/src/utils/textValidator.d.ts +2 -2
  111. package/dist/{step-ag-grid.cjs.js → step-ag-grid.cjs} +969 -955
  112. package/dist/step-ag-grid.cjs.map +1 -0
  113. package/dist/step-ag-grid.esm.js +970 -958
  114. package/dist/step-ag-grid.esm.js.map +1 -1
  115. package/dist/vite.config.d.ts +1 -1
  116. package/package.json +38 -57
  117. package/src/components/ComponentLoadingWrapper.tsx +5 -6
  118. package/src/components/Grid.tsx +85 -83
  119. package/src/components/GridCell.test.tsx +17 -15
  120. package/src/components/GridCell.tsx +46 -44
  121. package/src/components/GridCellFiller.tsx +5 -4
  122. package/src/components/GridCellMultiEditor.tsx +7 -7
  123. package/src/components/GridCellMultiSelectClassRules.tsx +3 -3
  124. package/src/components/GridIcon.tsx +6 -7
  125. package/src/components/GridLoadableCell.tsx +2 -2
  126. package/src/components/GridNoRowsOverlay.tsx +8 -8
  127. package/src/components/GridPopoverHook.tsx +16 -16
  128. package/src/components/GridWrapper.tsx +2 -2
  129. package/src/components/PostSortRowsHook.ts +11 -11
  130. package/src/components/clickInputWhenContainingCellClicked.tsx +5 -5
  131. package/src/components/gridFilter/GridFilterButtons.tsx +8 -9
  132. package/src/components/gridFilter/GridFilterColumnsToggle.tsx +25 -26
  133. package/src/components/gridFilter/GridFilterDownloadCsvButton.tsx +12 -13
  134. package/src/components/gridFilter/GridFilterHeaderIconButton.tsx +9 -10
  135. package/src/components/gridFilter/GridFilterQuick.tsx +6 -6
  136. package/src/components/gridFilter/GridFilters.tsx +1 -1
  137. package/src/components/gridFilter/index.ts +7 -7
  138. package/src/components/gridFilter/useGridFilter.ts +3 -3
  139. package/src/components/gridForm/GridFormDropDown.tsx +56 -52
  140. package/src/components/gridForm/GridFormEditBearing.tsx +12 -12
  141. package/src/components/gridForm/GridFormMessage.tsx +10 -10
  142. package/src/components/gridForm/GridFormMultiSelect.tsx +53 -51
  143. package/src/components/gridForm/GridFormMultiSelectGrid.tsx +25 -26
  144. package/src/components/gridForm/GridFormPopoverMenu.tsx +32 -29
  145. package/src/components/gridForm/GridFormSubComponentTextArea.tsx +10 -10
  146. package/src/components/gridForm/GridFormSubComponentTextInput.tsx +8 -8
  147. package/src/components/gridForm/GridFormTextArea.tsx +11 -11
  148. package/src/components/gridForm/GridFormTextInput.tsx +11 -11
  149. package/src/components/gridForm/index.ts +10 -10
  150. package/src/components/gridHeader/GridHeaderSelect.tsx +9 -9
  151. package/src/components/gridHeader/index.ts +1 -1
  152. package/src/components/gridHook/index.ts +1 -1
  153. package/src/components/gridHook/useGridContextMenu.tsx +7 -7
  154. package/src/components/gridPopoverEdit/GridButton.tsx +13 -12
  155. package/src/components/gridPopoverEdit/GridEditBoolean.tsx +19 -18
  156. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelect.ts +7 -6
  157. package/src/components/gridPopoverEdit/GridPopoutEditMultiSelectGrid.ts +7 -6
  158. package/src/components/gridPopoverEdit/GridPopoverEditBearing.ts +9 -9
  159. package/src/components/gridPopoverEdit/GridPopoverEditDropDown.ts +8 -7
  160. package/src/components/gridPopoverEdit/GridPopoverMenu.tsx +6 -6
  161. package/src/components/gridPopoverEdit/GridPopoverMessage.ts +4 -4
  162. package/src/components/gridPopoverEdit/GridPopoverTextArea.ts +4 -4
  163. package/src/components/gridPopoverEdit/GridPopoverTextInput.ts +4 -4
  164. package/src/components/gridPopoverEdit/index.ts +11 -11
  165. package/src/components/gridRender/GridRenderGenericCell.tsx +5 -5
  166. package/src/components/gridRender/GridRenderPopoutMenuCell.tsx +8 -9
  167. package/src/components/gridRender/index.ts +2 -2
  168. package/src/components/gridUtil.ts +3 -3
  169. package/src/components/index.ts +19 -19
  170. package/src/contexts/GridContext.tsx +52 -46
  171. package/src/contexts/GridContextProvider.test.tsx +15 -14
  172. package/src/contexts/GridContextProvider.tsx +42 -42
  173. package/src/contexts/GridPopoverContext.tsx +10 -7
  174. package/src/contexts/GridPopoverContextProvider.tsx +12 -10
  175. package/src/contexts/GridSubComponentContext.ts +6 -5
  176. package/src/contexts/GridUpdatingContext.tsx +5 -4
  177. package/src/contexts/GridUpdatingContextProvider.tsx +3 -3
  178. package/src/index.ts +19 -21
  179. package/src/lui/ActionButton.scss +2 -2
  180. package/src/lui/ActionButton.tsx +42 -41
  181. package/src/lui/FormError.scss +3 -4
  182. package/src/lui/FormError.tsx +4 -4
  183. package/src/lui/TextAreaInput.tsx +9 -9
  184. package/src/lui/TextInputFormatted.scss +1 -1
  185. package/src/lui/TextInputFormatted.tsx +11 -11
  186. package/src/lui/reactUtils.test.tsx +9 -8
  187. package/src/lui/reactUtils.tsx +2 -2
  188. package/src/lui/stateDeferredHook.tsx +3 -5
  189. package/src/lui/timeoutHook.test.tsx +12 -11
  190. package/src/lui/timeoutHook.tsx +1 -1
  191. package/src/react-app-env.d.ts +1 -1
  192. package/src/react-menu3/components/ControlledMenu.tsx +48 -48
  193. package/src/react-menu3/components/FocusableItem.tsx +7 -7
  194. package/src/react-menu3/components/Menu.tsx +11 -11
  195. package/src/react-menu3/components/MenuButton.tsx +4 -4
  196. package/src/react-menu3/components/MenuDivider.tsx +4 -4
  197. package/src/react-menu3/components/MenuGroup.tsx +5 -5
  198. package/src/react-menu3/components/MenuHeader.tsx +4 -4
  199. package/src/react-menu3/components/MenuItem.tsx +14 -14
  200. package/src/react-menu3/components/MenuList.tsx +55 -55
  201. package/src/react-menu3/components/MenuRadioGroup.tsx +7 -7
  202. package/src/react-menu3/components/SubMenu.tsx +24 -24
  203. package/src/react-menu3/contexts/EventHandlersContext.ts +2 -2
  204. package/src/react-menu3/contexts/HoverItemContext.ts +1 -1
  205. package/src/react-menu3/contexts/ItemSettingsContext.ts +1 -1
  206. package/src/react-menu3/contexts/MenuListContext.ts +2 -2
  207. package/src/react-menu3/contexts/MenuListItemContext.ts +2 -2
  208. package/src/react-menu3/contexts/RadioGroupContext.ts +2 -2
  209. package/src/react-menu3/contexts/SettingsContext.ts +2 -2
  210. package/src/react-menu3/hooks/index.ts +9 -9
  211. package/src/react-menu3/hooks/useBEM.ts +4 -4
  212. package/src/react-menu3/hooks/useCombinedRef.ts +2 -2
  213. package/src/react-menu3/hooks/useIsomorphicLayoutEffect.ts +4 -4
  214. package/src/react-menu3/hooks/useItemEffect.ts +3 -3
  215. package/src/react-menu3/hooks/useItemState.ts +5 -5
  216. package/src/react-menu3/hooks/useItems.ts +8 -8
  217. package/src/react-menu3/hooks/useMenuChange.ts +3 -3
  218. package/src/react-menu3/hooks/useMenuState.ts +5 -5
  219. package/src/react-menu3/hooks/useMenuStateAndFocus.ts +4 -4
  220. package/src/react-menu3/index.ts +11 -11
  221. package/src/react-menu3/positionUtils/getPositionHelpers.ts +2 -2
  222. package/src/react-menu3/positionUtils/index.ts +3 -3
  223. package/src/react-menu3/positionUtils/placeArrowHorizontal.ts +1 -1
  224. package/src/react-menu3/positionUtils/placeArrowVertical.ts +1 -1
  225. package/src/react-menu3/positionUtils/placeLeftorRight.ts +13 -13
  226. package/src/react-menu3/positionUtils/placeToporBottom.ts +15 -15
  227. package/src/react-menu3/positionUtils/positionContextMenu.ts +4 -4
  228. package/src/react-menu3/positionUtils/positionMenu.ts +14 -14
  229. package/src/react-menu3/style-utils/index.ts +24 -24
  230. package/src/react-menu3/types.ts +15 -15
  231. package/src/react-menu3/utils/constants.ts +33 -33
  232. package/src/react-menu3/utils/index.ts +3 -4
  233. package/src/react-menu3/utils/propTypes2.ts +10 -10
  234. package/src/react-menu3/utils/utils.ts +14 -14
  235. package/src/react-menu3/utils/withHovering.tsx +3 -3
  236. package/src/stories/components/ActionButton.stories.tsx +23 -24
  237. package/src/stories/grid/FormTest.tsx +15 -16
  238. package/src/stories/grid/GridDragRow.stories.tsx +33 -34
  239. package/src/stories/grid/GridFilterButtons.stories.tsx +32 -33
  240. package/src/stories/grid/GridNoRowsOverlay.stories.tsx +9 -10
  241. package/src/stories/grid/GridNonEditableRow.stories.tsx +40 -41
  242. package/src/stories/grid/GridPinnedRow.stories.tsx +25 -26
  243. package/src/stories/grid/GridPopoutContextMenu.stories.tsx +33 -32
  244. package/src/stories/grid/GridPopoutEditBoolean.stories.tsx +21 -22
  245. package/src/stories/grid/GridPopoutEditGeneric.stories.tsx +18 -19
  246. package/src/stories/grid/GridPopoutEditGenericTextArea.stories.tsx +50 -49
  247. package/src/stories/grid/GridPopoverEditBearing.stories.tsx +25 -26
  248. package/src/stories/grid/GridPopoverEditDropDown.stories.tsx +93 -94
  249. package/src/stories/grid/GridPopoverEditMultiSelect.stories.tsx +62 -63
  250. package/src/stories/grid/GridPopoverEditMultiSelectGrid.stories.tsx +28 -28
  251. package/src/stories/grid/GridReadOnly.stories.tsx +66 -67
  252. package/src/stories/grid/GridViewList.stories.tsx +37 -38
  253. package/src/stories/grid/gridFormInteraction/GridFormDropDownInteraction.stories.tsx +37 -38
  254. package/src/stories/grid/gridFormInteraction/GridFormEditBearingCorrectionInteraction.stories.tsx +25 -26
  255. package/src/stories/grid/gridFormInteraction/GridFormEditBearingInteraction.stories.tsx +25 -26
  256. package/src/stories/grid/gridFormInteraction/GridFormMultiSelectGridInteraction.stories.tsx +31 -31
  257. package/src/stories/grid/gridFormInteraction/GridFormMultiSelectInteraction.stories.tsx +47 -48
  258. package/src/stories/grid/gridFormInteraction/GridFormPopoverMenuInteraction.stories.tsx +44 -45
  259. package/src/stories/grid/gridFormInteraction/GridFormTextAreaInteraction.stories.tsx +19 -20
  260. package/src/stories/grid/gridFormInteraction/GridFormTextInputInteraction.stories.tsx +21 -22
  261. package/src/stories/grid/gridFormStatic/GridFormDropDown.stories.tsx +40 -41
  262. package/src/stories/grid/gridFormStatic/GridFormEditBearing.stories.tsx +14 -15
  263. package/src/stories/grid/gridFormStatic/GridFormEditBearingCorrection.stories.tsx +14 -15
  264. package/src/stories/grid/gridFormStatic/GridFormMessage.stories.tsx +10 -11
  265. package/src/stories/grid/gridFormStatic/GridFormMultiSelect.stories.tsx +20 -21
  266. package/src/stories/grid/gridFormStatic/GridFormPopoverMenu.stories.tsx +16 -17
  267. package/src/stories/grid/gridFormStatic/GridFormTextArea.stories.tsx +13 -14
  268. package/src/stories/grid/gridFormStatic/GridFormTextInput.stories.tsx +13 -14
  269. package/src/stories/grid/interactions/GridKeyboardInteractions.stories.tsx +68 -71
  270. package/src/stories/react-menu/ReactMenu.stories.tsx +26 -26
  271. package/src/styles/Grid.scss +9 -9
  272. package/src/styles/GridIcon.scss +6 -6
  273. package/src/styles/GridPopoverMenu.scss +3 -3
  274. package/src/styles/GridTheme.scss +1 -1
  275. package/src/styles/react-menu-customisations.scss +26 -41
  276. package/src/utils/__tests__/storybookTestUtil.ts +4 -0
  277. package/src/utils/__tests__/testQuick.ts +157 -0
  278. package/src/utils/__tests__/testUtil.ts +294 -0
  279. package/src/utils/__tests__/vitestUtil.ts +295 -0
  280. package/src/utils/bearing.test.ts +47 -45
  281. package/src/utils/bearing.ts +20 -20
  282. package/src/utils/deferredPromise.ts +1 -1
  283. package/src/utils/textMatcher.test.ts +10 -9
  284. package/src/utils/textMatcher.ts +8 -8
  285. package/src/utils/textValidator.test.ts +61 -62
  286. package/src/utils/textValidator.ts +11 -11
  287. package/src/utils/util.test.ts +21 -20
  288. package/src/utils/util.ts +7 -7
  289. package/dist/src/utils/storybookTestUtil.d.ts +0 -3
  290. package/dist/src/utils/testQuick.d.ts +0 -62
  291. package/dist/src/utils/testUtil.d.ts +0 -46
  292. package/dist/step-ag-grid.cjs.js.map +0 -1
package/src/index.ts CHANGED
@@ -1,21 +1,19 @@
1
- export * from "./components";
2
-
3
- export * from "./contexts/GridContext";
4
- export * from "./contexts/GridContextProvider";
5
- export * from "./contexts/GridUpdatingContext";
6
- export * from "./contexts/GridUpdatingContextProvider";
7
- export * from "./contexts/GridPopoverContext";
8
- export * from "./contexts/GridPopoverContextProvider";
9
- export * from "./contexts/GridSubComponentContext";
10
-
11
- export * from "./lui/ActionButton";
12
- export * from "./lui/FormError";
13
- export * from "./lui/TextAreaInput";
14
- export * from "./lui/TextInputFormatted";
15
-
16
- export * from "./react-menu3/index";
17
- export * from "./react-menu3/types";
18
-
19
- export * from "./utils/bearing";
20
- export * from "./utils/util";
21
- export * from "./utils/deferredPromise";
1
+ export * from './components';
2
+ export * from './contexts/GridContext';
3
+ export * from './contexts/GridContextProvider';
4
+ export * from './contexts/GridPopoverContext';
5
+ export * from './contexts/GridPopoverContextProvider';
6
+ export * from './contexts/GridSubComponentContext';
7
+ export * from './contexts/GridUpdatingContext';
8
+ export * from './contexts/GridUpdatingContextProvider';
9
+ export * from './lui/ActionButton';
10
+ export * from './lui/FormError';
11
+ export * from './lui/TextAreaInput';
12
+ export * from './lui/TextInputFormatted';
13
+ export * from './react-menu3/index';
14
+ export * from './react-menu3/types';
15
+ export * from './utils/bearing';
16
+ export * from './utils/deferredPromise';
17
+ export * from './utils/textMatcher';
18
+ export * from './utils/textValidator';
19
+ export * from './utils/util';
@@ -1,4 +1,4 @@
1
- @use "../../node_modules/@linzjs/lui/dist/scss/Foundation/Variables/ColorVars" as colors;
1
+ @use "../../node_modules/@linzjs/lui/dist/scss/Core" as lui;
2
2
 
3
3
  .ActionButton {
4
4
  display: flex;
@@ -44,7 +44,7 @@
44
44
  .ActionButton-inProgress.lui-button-lg.lui-button-icon-right {
45
45
  cursor: progress;
46
46
  color: #007198;
47
- background-color: colors.$polar;
47
+ background-color: lui.$polar;
48
48
  }
49
49
 
50
50
  .ActionButton-fill {
@@ -1,27 +1,27 @@
1
- import "./ActionButton.scss";
1
+ import './ActionButton.scss';
2
2
 
3
- import clsx from "clsx";
4
- import { CSSProperties, ReactElement, useEffect, useState } from "react";
3
+ import { LuiButton, LuiIcon, LuiMiniSpinner } from '@linzjs/lui';
4
+ import { LuiButtonProps } from '@linzjs/lui/dist/components/LuiButton/LuiButton';
5
+ import { IconName } from '@linzjs/lui/dist/components/LuiIcon/LuiIcon';
6
+ import clsx from 'clsx';
7
+ import { CSSProperties, ReactElement, useEffect, useState } from 'react';
5
8
 
6
- import { LuiButton, LuiIcon, LuiMiniSpinner } from "@linzjs/lui";
7
- import { LuiButtonProps } from "@linzjs/lui/dist/components/LuiButton/LuiButton";
8
- import { IconName } from "@linzjs/lui/dist/components/LuiIcon/LuiIcon";
9
-
10
- import { usePrevious } from "./reactUtils";
11
- import { useStateDeferred } from "./stateDeferredHook";
9
+ import { usePrevious } from './reactUtils';
10
+ import { useStateDeferred } from './stateDeferredHook';
12
11
 
13
12
  export interface ActionButtonProps {
14
13
  icon: IconName;
15
14
  name?: string;
16
- "aria-label"?: string;
15
+ 'aria-label'?: string;
17
16
  inProgressName?: string;
18
17
  title?: string;
19
18
  dataTestId?: string;
20
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "ns";
21
- iconPosition?: "left" | "right";
22
- className?: "ActionButton-fill" | "ActionButton-tight" | string;
19
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'ns';
20
+ iconPosition?: 'left' | 'right';
21
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
22
+ className?: 'ActionButton-fill' | 'ActionButton-tight' | string;
23
23
  onClick: () => Promise<void> | void;
24
- level?: LuiButtonProps["level"];
24
+ level?: LuiButtonProps['level'];
25
25
  style?: CSSProperties;
26
26
  disabled?: boolean;
27
27
  }
@@ -39,10 +39,10 @@ export const ActionButton = ({
39
39
  className,
40
40
  title,
41
41
  onClick,
42
- size = "sm",
43
- iconPosition = "left",
44
- level = "tertiary",
45
- "aria-label": ariaLabel,
42
+ size = 'sm',
43
+ iconPosition = 'left',
44
+ level = 'tertiary',
45
+ 'aria-label': ariaLabel,
46
46
  }: ActionButtonProps): ReactElement => {
47
47
  const [inProgress, setInProgress] = useState(false);
48
48
  const lastInProgress = usePrevious(inProgress ?? false);
@@ -54,63 +54,64 @@ export const ActionButton = ({
54
54
  }, [inProgress, lastInProgress, setLocalInProgress, setLocalInProgressDeferred]);
55
55
 
56
56
  const buttonText = (
57
- <span className={"ActionButton-minimalArea"}>
58
- <span className={"ActionButton-minimalAreaDisplay"}>{(localInProgress ? inProgressName : name) ?? name}</span>
57
+ <span className={'ActionButton-minimalArea'}>
58
+ <span className={'ActionButton-minimalAreaDisplay'}>{(localInProgress ? inProgressName : name) ?? name}</span>
59
59
  {/* This makes sure the button expands to fill maximum length text at all times */}
60
- <span className={"ActionButton-minimalAreaExpand"}>{name}</span>
60
+ <span className={'ActionButton-minimalAreaExpand'}>{name}</span>
61
61
  </span>
62
62
  );
63
63
 
64
64
  return (
65
65
  <LuiButton
66
66
  data-testid={dataTestId}
67
- type={"button"}
67
+ type={'button'}
68
68
  level={level}
69
69
  title={title ?? ariaLabel ?? name}
70
- buttonProps={{ "aria-label": ariaLabel ?? name }}
70
+ buttonProps={{ 'aria-label': ariaLabel ?? name }}
71
71
  className={clsx(
72
- "lui-button-icon-right",
73
- "ActionButton",
72
+ 'lui-button-icon-right',
73
+ 'ActionButton',
74
74
  className,
75
- localInProgress && "ActionButton-inProgress",
76
- name != null && !className?.includes("ActionButton-fill") && "ActionButton-minimal",
77
- name == null && "ActionButton-iconOnly",
75
+ localInProgress && 'ActionButton-inProgress',
76
+ name != null && !className?.includes('ActionButton-fill') && 'ActionButton-minimal',
77
+ name == null && 'ActionButton-iconOnly',
78
78
  )}
79
- size={"lg"}
79
+ size={'lg'}
80
80
  style={style}
81
- onClick={async () => {
81
+ onClick={() => {
82
82
  const promise = onClick();
83
- const isPromise = typeof promise !== "undefined";
83
+ const isPromise = typeof promise !== 'undefined';
84
84
  if (isPromise) {
85
85
  setInProgress(true);
86
- if (isPromise) await promise;
87
- setInProgress(false);
86
+ void promise.finally(() => {
87
+ setInProgress(false);
88
+ });
88
89
  }
89
90
  }}
90
91
  disabled={localInProgress || disabled}
91
92
  >
92
- {iconPosition === "right" && buttonText}
93
+ {iconPosition === 'right' && buttonText}
93
94
  {localInProgress && (
94
- <div style={{ position: "relative" }}>
95
+ <div style={{ position: 'relative' }}>
95
96
  <LuiMiniSpinner
96
97
  size={14}
97
98
  divProps={{
98
- "data-testid": "loading-spinner",
99
+ 'data-testid': 'loading-spinner',
99
100
  style: {
100
- position: "absolute",
101
+ position: 'absolute',
101
102
  left: 4,
102
103
  top: -10,
103
104
  bottom: 10,
104
105
  right: -4,
105
106
  },
106
- role: "status",
107
- "aria-label": "Loading",
107
+ role: 'status',
108
+ 'aria-label': 'Loading',
108
109
  }}
109
110
  />
110
111
  </div>
111
112
  )}
112
- <LuiIcon name={icon} alt={ariaLabel ?? name ?? ""} size={size} />
113
- {iconPosition === "left" && buttonText}
113
+ <LuiIcon name={icon} alt={ariaLabel ?? name ?? ''} size={size} />
114
+ {iconPosition === 'left' && buttonText}
114
115
  </LuiButton>
115
116
  );
116
117
  };
@@ -1,12 +1,11 @@
1
- @use "../../node_modules/@linzjs/lui/dist/scss/Foundation/Variables/ColorVars" as colors;
2
-
1
+ @use "../../node_modules/@linzjs/lui/dist/scss/Core" as lui;
3
2
 
4
3
  .FormError {
5
4
  display: flex;
6
5
 
7
6
  &-helpText {
8
7
  font-size: 0.75rem;
9
- color: colors.$fuscous;
8
+ color: lui.$fuscous;
10
9
  font-weight: 400;
11
10
  }
12
11
 
@@ -19,7 +18,7 @@
19
18
  padding-left: 0;
20
19
  font-size: 14px;
21
20
  font-weight: 600;
22
- color: colors.$charcoal;
21
+ color: lui.$charcoal;
23
22
  align-items: center;
24
23
  }
25
24
  }
@@ -1,7 +1,7 @@
1
- import "./FormError.scss";
1
+ import './FormError.scss';
2
2
 
3
- import { ReactElement } from "react";
4
- import { LuiIcon } from "@linzjs/lui";
3
+ import { LuiIcon } from '@linzjs/lui';
4
+ import { ReactElement } from 'react';
5
5
 
6
6
  export interface FormErrorProps {
7
7
  helpText?: string;
@@ -18,7 +18,7 @@ export const FormError = (props: FormErrorProps) => {
18
18
  </div>
19
19
  )}
20
20
 
21
- {props.helpText && !props.error && <span className={"FormError-helpText"}>{props.helpText}</span>}
21
+ {props.helpText && !props.error && <span className={'FormError-helpText'}>{props.helpText}</span>}
22
22
  </>
23
23
  );
24
24
  };
@@ -1,8 +1,8 @@
1
- import clsx from "clsx";
2
- import { omit } from "lodash-es";
3
- import { InputHTMLAttributes, ReactElement, useId } from "react";
1
+ import clsx from 'clsx';
2
+ import { omit } from 'lodash-es';
3
+ import { InputHTMLAttributes, ReactElement, useId } from 'react';
4
4
 
5
- import { FormError } from "./FormError";
5
+ import { FormError } from './FormError';
6
6
 
7
7
  export interface LuiTextAreaInputProps extends InputHTMLAttributes<HTMLTextAreaElement> {
8
8
  // overrides value in base class to be string type only
@@ -23,9 +23,9 @@ export const TextAreaInput = (props: LuiTextAreaInputProps) => {
23
23
  return (
24
24
  <div
25
25
  className={clsx(
26
- "LuiTextAreaInput Grid-popoverContainer",
27
- props.disabled ? "isDisabled" : "",
28
- props.error ? "hasError" : "",
26
+ 'LuiTextAreaInput Grid-popoverContainer',
27
+ props.disabled ? 'isDisabled' : '',
28
+ props.error ? 'hasError' : '',
29
29
  props.className,
30
30
  )}
31
31
  >
@@ -36,9 +36,9 @@ export const TextAreaInput = (props: LuiTextAreaInputProps) => {
36
36
  {/* wrapper div used for error styling */}
37
37
  <textarea
38
38
  rows={5}
39
- {...omit(props, ["error", "value", "helpText", "formatted", "className", "allowTabToSave"])}
39
+ {...omit(props, ['error', 'value', 'helpText', 'formatted', 'className', 'allowTabToSave'])}
40
40
  id={id}
41
- value={props.value ?? ""}
41
+ value={props.value ?? ''}
42
42
  spellCheck={true}
43
43
  onMouseEnter={(e) => {
44
44
  if (document.activeElement != e.currentTarget) {
@@ -1,4 +1,4 @@
1
- @use "@linzjs/lui/dist/scss/Core" as lui;
1
+ @use "../../node_modules/@linzjs/lui/dist/scss/Core" as lui;
2
2
 
3
3
  .LuiTextInput.GridLuiTextInput {
4
4
  margin-bottom: 0;
@@ -1,10 +1,10 @@
1
- import "./TextInputFormatted.scss";
1
+ import './TextInputFormatted.scss';
2
2
 
3
- import clsx from "clsx";
4
- import { omit } from "lodash-es";
5
- import { DetailedHTMLProps, InputHTMLAttributes, ReactElement } from "react";
3
+ import clsx from 'clsx';
4
+ import { omit } from 'lodash-es';
5
+ import { DetailedHTMLProps, InputHTMLAttributes, ReactElement } from 'react';
6
6
 
7
- import { FormError } from "./FormError";
7
+ import { FormError } from './FormError';
8
8
 
9
9
  export interface LuiTextInputProps extends DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> {
10
10
  // overrides value in base class to be string type only
@@ -21,26 +21,26 @@ export const TextInputFormatted = (props: LuiTextInputProps): ReactElement => {
21
21
  return (
22
22
  <div
23
23
  className={clsx(
24
- "LuiTextInput GridLuiTextInput Grid-popoverContainer",
25
- props.error && "hasError",
24
+ 'LuiTextInput GridLuiTextInput Grid-popoverContainer',
25
+ props.error && 'hasError',
26
26
  props.className,
27
27
  )}
28
28
  >
29
29
  <span className="LuiTextInput-inputWrapper">
30
30
  {/* wrapper div used for error styling */}
31
31
  <input
32
- type={"text"}
32
+ type={'text'}
33
33
  spellCheck={true}
34
34
  defaultValue={props.value}
35
- {...omit(props, ["error", "value", "helpText", "formatted", "className", "allowTabToSave"])}
36
- className={"LuiTextInput-input"}
35
+ {...omit(props, ['error', 'value', 'helpText', 'formatted', 'className', 'allowTabToSave'])}
36
+ className={'LuiTextInput-input'}
37
37
  onMouseEnter={(e) => {
38
38
  e.currentTarget.focus();
39
39
  props.onMouseEnter && props.onMouseEnter(e);
40
40
  }}
41
41
  data-allowtabtosave={props.allowTabToSave}
42
42
  />
43
- <span className={"LuiTextInput-formatted"}>{props.formatted}</span>
43
+ <span className={'LuiTextInput-formatted'}>{props.formatted}</span>
44
44
  </span>
45
45
 
46
46
  <FormError error={props.error} helpText={props.helpText} />
@@ -1,9 +1,10 @@
1
- import { screen } from "@testing-library/dom";
2
- import { render } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import { ReactElement, useEffect, useState } from "react";
1
+ import { screen } from '@testing-library/dom';
2
+ import { render } from '@testing-library/react';
3
+ import userEvent from '@testing-library/user-event';
4
+ import { ReactElement, useEffect, useState } from 'react';
5
+ import { describe, expect, test } from 'vitest';
5
6
 
6
- import { usePrevious } from "./reactUtils";
7
+ import { usePrevious } from './reactUtils';
7
8
 
8
9
  interface WrapperProps {
9
10
  value: boolean;
@@ -33,10 +34,10 @@ const TestComponent = (): ReactElement => {
33
34
  );
34
35
  };
35
36
 
36
- describe("usePrevious", () => {
37
- test("usePrevious", async () => {
37
+ describe('usePrevious', () => {
38
+ test('usePrevious', async () => {
38
39
  render(<TestComponent />);
39
- const button = await screen.findByText("Change value");
40
+ const button = await screen.findByText('Change value');
40
41
 
41
42
  expect(extPrevious).toBeUndefined();
42
43
 
@@ -1,11 +1,11 @@
1
- import { useEffect, useRef } from "react";
1
+ import { useEffect, useRef } from 'react';
2
2
 
3
3
  /**
4
4
  * Track previous values of states.
5
5
  *
6
6
  * @param value Value to track.
7
7
  */
8
- export const usePrevious = <T extends unknown>(value: T): T | undefined => {
8
+ export const usePrevious = <T,>(value: T): T | undefined => {
9
9
  const ref = useRef<T>();
10
10
  useEffect(() => {
11
11
  ref.current = value;
@@ -1,13 +1,11 @@
1
- import { useCallback, useRef, useState } from "react";
1
+ import { useCallback, useRef, useState } from 'react';
2
2
 
3
- import { useTimeoutHook } from "./timeoutHook";
3
+ import { useTimeoutHook } from './timeoutHook';
4
4
 
5
5
  /**
6
6
  * Defers state change up to a minimum time since last state change.
7
7
  */
8
- export const useStateDeferred = <T extends unknown>(
9
- initialValue: T,
10
- ): [T, (v: T) => void, (v: T, w: number) => void] => {
8
+ export const useStateDeferred = <T,>(initialValue: T): [T, (v: T) => void, (v: T, w: number) => void] => {
11
9
  const startTime = useRef<number>(0);
12
10
  const timeoutHook = useTimeoutHook();
13
11
 
@@ -1,14 +1,15 @@
1
- import { render } from "@testing-library/react";
1
+ import { render } from '@testing-library/react';
2
+ import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
2
3
 
3
- import { useTimeoutHook } from "./timeoutHook";
4
+ import { useTimeoutHook } from './timeoutHook';
4
5
 
5
- describe("useTimeoutHook", () => {
6
+ describe('useTimeoutHook', () => {
6
7
  beforeEach(() => {
7
- jest.useFakeTimers();
8
+ vi.useFakeTimers();
8
9
  });
9
10
 
10
11
  afterEach(() => {
11
- jest.useRealTimers();
12
+ vi.useRealTimers();
12
13
  });
13
14
 
14
15
  const TestComponent = (props: { callback: () => void; repeat?: number }) => {
@@ -19,21 +20,21 @@ describe("useTimeoutHook", () => {
19
20
  return <div />;
20
21
  };
21
22
 
22
- test("invokes on timeout", async () => {
23
- const callback = jest.fn();
23
+ test('invokes on timeout', () => {
24
+ const callback = vi.fn();
24
25
 
25
26
  render(<TestComponent callback={callback} />);
26
27
  expect(callback).toHaveBeenCalledTimes(0);
27
- jest.runAllTimers();
28
+ vi.runAllTimers();
28
29
  expect(callback).toHaveBeenCalledTimes(1);
29
30
  });
30
31
 
31
- test("invokes once on double invocation", async () => {
32
- const callback = jest.fn();
32
+ test('invokes once on double invocation', () => {
33
+ const callback = vi.fn();
33
34
 
34
35
  render(<TestComponent callback={callback} repeat={2} />);
35
36
  expect(callback).toHaveBeenCalledTimes(0);
36
- jest.runAllTimers();
37
+ vi.runAllTimers();
37
38
  expect(callback).toHaveBeenCalledTimes(1);
38
39
  });
39
40
  });
@@ -1,4 +1,4 @@
1
- import { useCallback, useEffect, useRef } from "react";
1
+ import { useCallback, useEffect, useRef } from 'react';
2
2
 
3
3
  /**
4
4
  * Cancels timeouts on scope being destroyed.
@@ -1 +1 @@
1
- /// <reference types="react-scripts" />
1
+ /// <reference types="react-scripts" />