@elliemae/ds-shared 3.0.0-next.2 → 3.0.0-next.6

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 (312) hide show
  1. package/dist/cjs/Animations/BaseAnimation.js +56 -0
  2. package/dist/cjs/Animations/BaseAnimation.js.map +7 -0
  3. package/dist/cjs/Animations/Grow.js +55 -0
  4. package/dist/cjs/Animations/Grow.js.map +7 -0
  5. package/dist/cjs/Animations/GrowRight.js +64 -0
  6. package/dist/cjs/Animations/GrowRight.js.map +7 -0
  7. package/dist/cjs/Animations/GrowVertical.js +47 -0
  8. package/dist/cjs/Animations/GrowVertical.js.map +7 -0
  9. package/dist/cjs/CheckableGroup.js +92 -0
  10. package/dist/cjs/CheckableGroup.js.map +7 -0
  11. package/dist/cjs/DeferRenderAfterComputation.js +52 -0
  12. package/dist/cjs/DeferRenderAfterComputation.js.map +7 -0
  13. package/dist/cjs/FocusGroup/FocusGrid.js +193 -0
  14. package/dist/cjs/FocusGroup/FocusGrid.js.map +7 -0
  15. package/dist/cjs/FocusGroup/FocusGroup.js +262 -0
  16. package/dist/cjs/FocusGroup/FocusGroup.js.map +7 -0
  17. package/dist/cjs/FocusGroup/FocusGroupContext.js +38 -0
  18. package/dist/cjs/FocusGroup/FocusGroupContext.js.map +7 -0
  19. package/dist/cjs/FocusGroup/FocusGroupManager.js +126 -0
  20. package/dist/cjs/FocusGroup/FocusGroupManager.js.map +7 -0
  21. package/dist/cjs/FocusGroup/focusGroupManagerHoc.js +82 -0
  22. package/dist/cjs/FocusGroup/focusGroupManagerHoc.js.map +7 -0
  23. package/dist/cjs/FocusGroup/index.js +47 -0
  24. package/dist/cjs/FocusGroup/index.js.map +7 -0
  25. package/dist/cjs/FocusGroup/useFocusGroupItem.js +81 -0
  26. package/dist/cjs/FocusGroup/useFocusGroupItem.js.map +7 -0
  27. package/dist/cjs/FocusGroup/utils/getNextCellPosition.js +80 -0
  28. package/dist/cjs/FocusGroup/utils/getNextCellPosition.js.map +7 -0
  29. package/dist/cjs/GroupContext/Group.js +115 -0
  30. package/dist/cjs/GroupContext/Group.js.map +7 -0
  31. package/dist/cjs/GroupContext/GroupContext.js +36 -0
  32. package/dist/cjs/GroupContext/GroupContext.js.map +7 -0
  33. package/dist/cjs/GroupContext/GroupItem.js +40 -0
  34. package/dist/cjs/GroupContext/GroupItem.js.map +7 -0
  35. package/dist/cjs/GroupContext/index.js +39 -0
  36. package/dist/cjs/GroupContext/index.js.map +7 -0
  37. package/dist/cjs/ScrollSync/ScrollSync.js +138 -0
  38. package/dist/cjs/ScrollSync/ScrollSync.js.map +7 -0
  39. package/dist/cjs/ScrollSync/ScrollSyncPane.js +89 -0
  40. package/dist/cjs/ScrollSync/ScrollSyncPane.js.map +7 -0
  41. package/dist/cjs/ScrollSync/ScrollSyncProvider.js +120 -0
  42. package/dist/cjs/ScrollSync/ScrollSyncProvider.js.map +7 -0
  43. package/dist/cjs/ScrollSync/index.js +37 -0
  44. package/dist/cjs/ScrollSync/index.js.map +7 -0
  45. package/dist/cjs/ScrollSync/useScrollSync.js +41 -0
  46. package/dist/cjs/ScrollSync/useScrollSync.js.map +7 -0
  47. package/dist/cjs/constants.js +70 -0
  48. package/dist/cjs/constants.js.map +7 -0
  49. package/dist/cjs/createDataInstance/createInstancePlugin.js +62 -0
  50. package/dist/cjs/createDataInstance/createInstancePlugin.js.map +7 -0
  51. package/dist/cjs/createDataInstance/createInstanceRef.js +124 -0
  52. package/dist/cjs/createDataInstance/createInstanceRef.js.map +7 -0
  53. package/dist/cjs/createDataInstance/utils.js +104 -0
  54. package/dist/cjs/createDataInstance/utils.js.map +7 -0
  55. package/dist/cjs/defer-render-hoc/index.js +68 -0
  56. package/dist/cjs/defer-render-hoc/index.js.map +7 -0
  57. package/dist/cjs/dimsum.config.js +39 -0
  58. package/dist/cjs/dimsum.config.js.map +7 -0
  59. package/dist/cjs/index.js +40 -0
  60. package/dist/cjs/index.js.map +7 -0
  61. package/dist/cjs/prop-types.js +116 -0
  62. package/dist/cjs/prop-types.js.map +7 -0
  63. package/dist/cjs/react-spring/index.js +28 -0
  64. package/dist/cjs/react-spring/index.js.map +7 -0
  65. package/dist/cjs/react-spring/renderprops.js +28 -0
  66. package/dist/cjs/react-spring/renderprops.js.map +7 -0
  67. package/dist/cjs/toolbar/ToolbarProvider.js +126 -0
  68. package/dist/cjs/toolbar/ToolbarProvider.js.map +7 -0
  69. package/dist/cjs/useDataGrid/VolatileRowsListener.js +49 -0
  70. package/dist/cjs/useDataGrid/VolatileRowsListener.js.map +7 -0
  71. package/dist/cjs/useDataGrid/index.js +36 -0
  72. package/dist/cjs/useDataGrid/index.js.map +7 -0
  73. package/dist/cjs/useDataGrid/initColumnDefinition.js +147 -0
  74. package/dist/cjs/useDataGrid/initColumnDefinition.js.map +7 -0
  75. package/dist/cjs/useDataGrid/useDataGrid.js +216 -0
  76. package/dist/cjs/useDataGrid/useDataGrid.js.map +7 -0
  77. package/dist/cjs/useDataList/index.js +36 -0
  78. package/dist/cjs/useDataList/index.js.map +7 -0
  79. package/dist/cjs/useDataList/recordIterator.js +55 -0
  80. package/dist/cjs/useDataList/recordIterator.js.map +7 -0
  81. package/dist/cjs/useDataList/useDataList.js +126 -0
  82. package/dist/cjs/useDataList/useDataList.js.map +7 -0
  83. package/dist/cjs/utils.js +123 -0
  84. package/dist/cjs/utils.js.map +7 -0
  85. package/dist/cjs/virtualization/AutoHeightList.js +106 -0
  86. package/dist/cjs/virtualization/AutoHeightList.js.map +7 -0
  87. package/dist/cjs/virtualization/FluidHeightList.js +74 -0
  88. package/dist/cjs/virtualization/FluidHeightList.js.map +7 -0
  89. package/dist/cjs/virtualization/index.js +50 -0
  90. package/dist/cjs/virtualization/index.js.map +7 -0
  91. package/dist/esm/Animations/BaseAnimation.js +27 -0
  92. package/dist/esm/Animations/BaseAnimation.js.map +7 -0
  93. package/dist/esm/Animations/Grow.js +26 -0
  94. package/dist/esm/Animations/Grow.js.map +7 -0
  95. package/dist/esm/Animations/GrowRight.js +35 -0
  96. package/dist/esm/Animations/GrowRight.js.map +7 -0
  97. package/dist/esm/Animations/GrowVertical.js +29 -0
  98. package/dist/esm/Animations/GrowVertical.js.map +7 -0
  99. package/dist/esm/CheckableGroup.js +65 -0
  100. package/dist/esm/CheckableGroup.js.map +7 -0
  101. package/dist/esm/DeferRenderAfterComputation.js +23 -0
  102. package/dist/esm/DeferRenderAfterComputation.js.map +7 -0
  103. package/dist/esm/FocusGroup/FocusGrid.js +166 -0
  104. package/dist/esm/FocusGroup/FocusGrid.js.map +7 -0
  105. package/{esm → dist/esm}/FocusGroup/FocusGroup.js +70 -136
  106. package/dist/esm/FocusGroup/FocusGroup.js.map +7 -0
  107. package/dist/esm/FocusGroup/FocusGroupContext.js +9 -0
  108. package/dist/esm/FocusGroup/FocusGroupContext.js.map +7 -0
  109. package/{esm → dist/esm}/FocusGroup/FocusGroupManager.js +24 -38
  110. package/dist/esm/FocusGroup/FocusGroupManager.js.map +7 -0
  111. package/dist/esm/FocusGroup/focusGroupManagerHoc.js +55 -0
  112. package/dist/esm/FocusGroup/focusGroupManagerHoc.js.map +7 -0
  113. package/dist/esm/FocusGroup/index.js +18 -0
  114. package/dist/esm/FocusGroup/index.js.map +7 -0
  115. package/dist/esm/FocusGroup/useFocusGroupItem.js +53 -0
  116. package/dist/esm/FocusGroup/useFocusGroupItem.js.map +7 -0
  117. package/{esm → dist/esm}/FocusGroup/utils/getNextCellPosition.js +18 -25
  118. package/dist/esm/FocusGroup/utils/getNextCellPosition.js.map +7 -0
  119. package/dist/esm/GroupContext/Group.js +86 -0
  120. package/dist/esm/GroupContext/Group.js.map +7 -0
  121. package/dist/esm/GroupContext/GroupContext.js +7 -0
  122. package/dist/esm/GroupContext/GroupContext.js.map +7 -0
  123. package/dist/esm/GroupContext/GroupItem.js +11 -0
  124. package/dist/esm/GroupContext/GroupItem.js.map +7 -0
  125. package/dist/esm/GroupContext/index.js +10 -0
  126. package/dist/esm/GroupContext/index.js.map +7 -0
  127. package/{esm → dist/esm}/ScrollSync/ScrollSync.js +30 -64
  128. package/dist/esm/ScrollSync/ScrollSync.js.map +7 -0
  129. package/dist/esm/ScrollSync/ScrollSyncPane.js +62 -0
  130. package/dist/esm/ScrollSync/ScrollSyncPane.js.map +7 -0
  131. package/dist/esm/ScrollSync/ScrollSyncProvider.js +91 -0
  132. package/dist/esm/ScrollSync/ScrollSyncProvider.js.map +7 -0
  133. package/dist/esm/ScrollSync/index.js +8 -0
  134. package/dist/esm/ScrollSync/index.js.map +7 -0
  135. package/dist/esm/ScrollSync/useScrollSync.js +12 -0
  136. package/dist/esm/ScrollSync/useScrollSync.js.map +7 -0
  137. package/dist/esm/constants.js +41 -0
  138. package/dist/esm/constants.js.map +7 -0
  139. package/dist/esm/createDataInstance/createInstancePlugin.js +35 -0
  140. package/dist/esm/createDataInstance/createInstancePlugin.js.map +7 -0
  141. package/dist/esm/createDataInstance/createInstanceRef.js +101 -0
  142. package/dist/esm/createDataInstance/createInstanceRef.js.map +7 -0
  143. package/dist/esm/createDataInstance/utils.js +77 -0
  144. package/dist/esm/createDataInstance/utils.js.map +7 -0
  145. package/dist/esm/defer-render-hoc/index.js +41 -0
  146. package/dist/esm/defer-render-hoc/index.js.map +7 -0
  147. package/dist/esm/dimsum.config.js +10 -0
  148. package/dist/esm/dimsum.config.js.map +7 -0
  149. package/dist/esm/index.js +11 -0
  150. package/dist/esm/index.js.map +7 -0
  151. package/dist/esm/prop-types.js +87 -0
  152. package/dist/esm/prop-types.js.map +7 -0
  153. package/dist/esm/react-spring/index.js +3 -0
  154. package/dist/esm/react-spring/index.js.map +7 -0
  155. package/dist/esm/react-spring/renderprops.js +3 -0
  156. package/dist/esm/react-spring/renderprops.js.map +7 -0
  157. package/dist/esm/toolbar/ToolbarProvider.js +99 -0
  158. package/dist/esm/toolbar/ToolbarProvider.js.map +7 -0
  159. package/dist/esm/useDataGrid/VolatileRowsListener.js +20 -0
  160. package/dist/esm/useDataGrid/VolatileRowsListener.js.map +7 -0
  161. package/dist/esm/useDataGrid/index.js +7 -0
  162. package/dist/esm/useDataGrid/index.js.map +7 -0
  163. package/dist/esm/useDataGrid/initColumnDefinition.js +126 -0
  164. package/dist/esm/useDataGrid/initColumnDefinition.js.map +7 -0
  165. package/dist/esm/useDataGrid/useDataGrid.js +201 -0
  166. package/dist/esm/useDataGrid/useDataGrid.js.map +7 -0
  167. package/dist/esm/useDataList/index.js +7 -0
  168. package/dist/esm/useDataList/index.js.map +7 -0
  169. package/dist/esm/useDataList/recordIterator.js +26 -0
  170. package/dist/esm/useDataList/recordIterator.js.map +7 -0
  171. package/dist/esm/useDataList/useDataList.js +102 -0
  172. package/dist/esm/useDataList/useDataList.js.map +7 -0
  173. package/dist/esm/utils.js +96 -0
  174. package/dist/esm/utils.js.map +7 -0
  175. package/dist/esm/virtualization/AutoHeightList.js +79 -0
  176. package/dist/esm/virtualization/AutoHeightList.js.map +7 -0
  177. package/dist/esm/virtualization/FluidHeightList.js +47 -0
  178. package/dist/esm/virtualization/FluidHeightList.js.map +7 -0
  179. package/dist/esm/virtualization/index.js +21 -0
  180. package/dist/esm/virtualization/index.js.map +7 -0
  181. package/package.json +116 -107
  182. package/cjs/Animations/BaseAnimation.js +0 -36
  183. package/cjs/Animations/Grow.js +0 -42
  184. package/cjs/Animations/GrowRight.js +0 -42
  185. package/cjs/Animations/GrowVertical.js +0 -7
  186. package/cjs/CheckableGroup.js +0 -74
  187. package/cjs/DeferRenderAfterComputation.js +0 -28
  188. package/cjs/FocusGroup/FocusGrid.js +0 -215
  189. package/cjs/FocusGroup/FocusGroup.js +0 -308
  190. package/cjs/FocusGroup/FocusGroupContext.js +0 -11
  191. package/cjs/FocusGroup/FocusGroupManager.js +0 -117
  192. package/cjs/FocusGroup/focusGroupManagerHoc.js +0 -44
  193. package/cjs/FocusGroup/index.js +0 -21
  194. package/cjs/FocusGroup/useFocusGroupItem.js +0 -59
  195. package/cjs/FocusGroup/utils/getNextCellPosition.js +0 -60
  196. package/cjs/GroupContext/Group.js +0 -124
  197. package/cjs/GroupContext/GroupContext.js +0 -13
  198. package/cjs/GroupContext/GroupItem.js +0 -22
  199. package/cjs/GroupContext/index.js +0 -13
  200. package/cjs/ScrollSync/ScrollSync.js +0 -153
  201. package/cjs/ScrollSync/ScrollSyncPane.js +0 -81
  202. package/cjs/ScrollSync/ScrollSyncProvider.js +0 -67
  203. package/cjs/ScrollSync/index.js +0 -11
  204. package/cjs/ScrollSync/useScrollSync.js +0 -10
  205. package/cjs/constants.js +0 -51
  206. package/cjs/createDataInstance/createInstancePlugin.js +0 -36
  207. package/cjs/createDataInstance/createInstanceRef.js +0 -97
  208. package/cjs/createDataInstance/utils.js +0 -123
  209. package/cjs/defer-render-hoc/index.js +0 -49
  210. package/cjs/dimsum.config.js +0 -7
  211. package/cjs/index.js +0 -17
  212. package/cjs/prop-types.js +0 -59
  213. package/cjs/react-spring/index.js +0 -14
  214. package/cjs/react-spring/renderprops.js +0 -14
  215. package/cjs/toolbar/ToolbarProvider.js +0 -123
  216. package/cjs/useDataGrid/VolatileRowsListener.js +0 -24
  217. package/cjs/useDataGrid/index.js +0 -7
  218. package/cjs/useDataGrid/initColumnDefinition.js +0 -146
  219. package/cjs/useDataGrid/useDataGrid.js +0 -220
  220. package/cjs/useDataList/index.js +0 -7
  221. package/cjs/useDataList/recordIterator.js +0 -31
  222. package/cjs/useDataList/useDataList.js +0 -102
  223. package/cjs/utils.js +0 -116
  224. package/cjs/virtualization/AutoHeightList.js +0 -61
  225. package/cjs/virtualization/FluidHeightList.js +0 -49
  226. package/cjs/virtualization/index.js +0 -22
  227. package/esm/Animations/BaseAnimation.js +0 -30
  228. package/esm/Animations/Grow.js +0 -36
  229. package/esm/Animations/GrowRight.js +0 -36
  230. package/esm/Animations/GrowVertical.js +0 -4
  231. package/esm/CheckableGroup.js +0 -64
  232. package/esm/DeferRenderAfterComputation.js +0 -22
  233. package/esm/FocusGroup/FocusGrid.js +0 -204
  234. package/esm/FocusGroup/FocusGroupContext.js +0 -5
  235. package/esm/FocusGroup/focusGroupManagerHoc.js +0 -37
  236. package/esm/FocusGroup/index.js +0 -6
  237. package/esm/FocusGroup/useFocusGroupItem.js +0 -50
  238. package/esm/GroupContext/Group.js +0 -118
  239. package/esm/GroupContext/GroupContext.js +0 -5
  240. package/esm/GroupContext/GroupItem.js +0 -16
  241. package/esm/GroupContext/index.js +0 -3
  242. package/esm/ScrollSync/ScrollSyncPane.js +0 -74
  243. package/esm/ScrollSync/ScrollSyncProvider.js +0 -59
  244. package/esm/ScrollSync/index.js +0 -2
  245. package/esm/ScrollSync/useScrollSync.js +0 -8
  246. package/esm/constants.js +0 -32
  247. package/esm/createDataInstance/createInstancePlugin.js +0 -30
  248. package/esm/createDataInstance/createInstanceRef.js +0 -90
  249. package/esm/createDataInstance/utils.js +0 -107
  250. package/esm/defer-render-hoc/index.js +0 -41
  251. package/esm/dimsum.config.js +0 -5
  252. package/esm/index.js +0 -5
  253. package/esm/prop-types.js +0 -43
  254. package/esm/react-spring/index.js +0 -1
  255. package/esm/react-spring/renderprops.js +0 -1
  256. package/esm/toolbar/ToolbarProvider.js +0 -111
  257. package/esm/useDataGrid/VolatileRowsListener.js +0 -22
  258. package/esm/useDataGrid/index.js +0 -1
  259. package/esm/useDataGrid/initColumnDefinition.js +0 -134
  260. package/esm/useDataGrid/useDataGrid.js +0 -194
  261. package/esm/useDataList/index.js +0 -1
  262. package/esm/useDataList/recordIterator.js +0 -27
  263. package/esm/useDataList/useDataList.js +0 -90
  264. package/esm/utils.js +0 -95
  265. package/esm/virtualization/AutoHeightList.js +0 -52
  266. package/esm/virtualization/FluidHeightList.js +0 -38
  267. package/esm/virtualization/index.js +0 -18
  268. package/types/Animations/BaseAnimation.d.ts +0 -12
  269. package/types/Animations/Grow.d.ts +0 -11
  270. package/types/Animations/GrowRight.d.ts +0 -11
  271. package/types/Animations/GrowVertical.d.ts +0 -1
  272. package/types/CheckableGroup.d.ts +0 -20
  273. package/types/DeferRenderAfterComputation.d.ts +0 -6
  274. package/types/FocusGroup/FocusGrid.d.ts +0 -10
  275. package/types/FocusGroup/FocusGroup.d.ts +0 -36
  276. package/types/FocusGroup/FocusGroupContext.d.ts +0 -3
  277. package/types/FocusGroup/FocusGroupManager.d.ts +0 -24
  278. package/types/FocusGroup/focusGroupManagerHoc.d.ts +0 -7
  279. package/types/FocusGroup/index.d.ts +0 -6
  280. package/types/FocusGroup/useFocusGroupItem.d.ts +0 -2
  281. package/types/FocusGroup/utils/getNextCellPosition.d.ts +0 -12
  282. package/types/GroupContext/Group.d.ts +0 -14
  283. package/types/GroupContext/GroupContext.d.ts +0 -2
  284. package/types/GroupContext/GroupItem.d.ts +0 -5
  285. package/types/GroupContext/index.d.ts +0 -3
  286. package/types/ScrollSync/ScrollSync.d.ts +0 -21
  287. package/types/ScrollSync/ScrollSyncPane.d.ts +0 -3
  288. package/types/ScrollSync/ScrollSyncProvider.d.ts +0 -12
  289. package/types/ScrollSync/index.d.ts +0 -2
  290. package/types/ScrollSync/useScrollSync.d.ts +0 -6
  291. package/types/constants.d.ts +0 -30
  292. package/types/createDataInstance/createInstancePlugin.d.ts +0 -1
  293. package/types/createDataInstance/createInstanceRef.d.ts +0 -12
  294. package/types/createDataInstance/tests/createInstanceRef.test.d.ts +0 -0
  295. package/types/createDataInstance/utils.d.ts +0 -9
  296. package/types/dimsum.config.d.ts +0 -4
  297. package/types/index.d.ts +0 -2
  298. package/types/prop-types.d.ts +0 -41
  299. package/types/react-spring/index.d.ts +0 -1
  300. package/types/react-spring/renderprops.d.ts +0 -1
  301. package/types/toolbar/ToolbarProvider.d.ts +0 -10
  302. package/types/useDataGrid/VolatileRowsListener.d.ts +0 -5
  303. package/types/useDataGrid/index.d.ts +0 -1
  304. package/types/useDataGrid/initColumnDefinition.d.ts +0 -5
  305. package/types/useDataGrid/useDataGrid.d.ts +0 -8
  306. package/types/useDataList/index.d.ts +0 -1
  307. package/types/useDataList/recordIterator.d.ts +0 -1
  308. package/types/useDataList/useDataList.d.ts +0 -13
  309. package/types/utils.d.ts +0 -22
  310. package/types/virtualization/AutoHeightList.d.ts +0 -2
  311. package/types/virtualization/FluidHeightList.d.ts +0 -2
  312. package/types/virtualization/index.d.ts +0 -9
@@ -1,85 +1,65 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
- import 'core-js/modules/web.dom-collections.iterator.js';
5
- import 'core-js/modules/esnext.async-iterator.for-each.js';
6
- import 'core-js/modules/esnext.iterator.constructor.js';
7
- import 'core-js/modules/esnext.iterator.for-each.js';
8
- import 'core-js/modules/esnext.async-iterator.map.js';
9
- import 'core-js/modules/esnext.iterator.map.js';
10
- import { get, isFunction } from '@elliemae/ds-utilities';
11
- import hotkeys from 'hotkeys-js';
12
-
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import * as React from "react";
18
+ import { isFunction, get } from "@elliemae/ds-utilities";
19
+ import hotkeys from "hotkeys-js";
16
20
  const defaultOptions = {
17
- orientation: 'vertical'
21
+ orientation: "vertical"
18
22
  };
19
-
20
- const safeCallAction = function (e, fun) {
23
+ const safeCallAction = (e, fun, ...args) => {
21
24
  if (isFunction(fun)) {
22
25
  e.preventDefault();
23
-
24
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
25
- args[_key - 2] = arguments[_key];
26
- }
27
-
28
26
  fun(...args);
29
27
  }
30
28
  };
31
-
32
- const registerHotkeys = function () {
33
- let hotKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
- let params = arguments.length > 1 ? arguments[1] : undefined;
35
- let getContainer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => document;
36
- Object.keys(hotKeys).forEach(hotkey => {
37
- const {
38
- options,
39
- handler,
40
- allowDocumentHandler = false
41
- } = hotKeys[hotkey];
42
-
43
- const parameterizedHandler = e => {
29
+ const registerHotkeys = (hotKeys = {}, params, getContainer = () => document) => {
30
+ Object.keys(hotKeys).forEach((hotkey) => {
31
+ const { options, handler, allowDocumentHandler = false } = hotKeys[hotkey];
32
+ const parameterizedHandler = (e) => {
44
33
  const handlerParams = isFunction(params) ? params() : params;
45
- if (!allowDocumentHandler && handlerParams.item !== document.activeElement) return;
34
+ if (!allowDocumentHandler && handlerParams.item !== document.activeElement)
35
+ return;
46
36
  e.preventDefault();
47
37
  handler(handlerParams);
48
38
  };
49
-
50
- hotkeys(hotkey, _objectSpread({
51
- element: getContainer()
52
- }, options), parameterizedHandler);
39
+ hotkeys(hotkey, __spreadValues({ element: getContainer() }, options), parameterizedHandler);
53
40
  });
54
41
  };
55
-
56
- const unregisterHotKeys = function () {
57
- let hotKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
- Object.keys(hotKeys).forEach(hotkey => {
42
+ const unregisterHotKeys = (hotKeys = {}) => {
43
+ Object.keys(hotKeys).forEach((hotkey) => {
59
44
  hotkeys.unbind(hotkey);
60
45
  });
61
46
  };
62
-
63
47
  const noop = () => null;
64
-
65
48
  class FocusGroup {
66
- constructor() {
67
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
+ constructor(options = {}) {
68
50
  this.items = [];
69
- this.options = _objectSpread(_objectSpread({}, defaultOptions), options);
70
- const {
71
- orientation
72
- } = this.options;
73
- this.keyBindings = _objectSpread({
74
- ArrowUp: orientation !== 'horizontal' && 'previous',
75
- ArrowRight: orientation !== 'vertical' && 'next',
76
- ArrowDown: orientation !== 'horizontal' && 'next',
77
- ArrowLeft: orientation !== 'vertical' && 'previous',
78
- Home: 'first',
79
- End: 'last',
80
- PageUp: 'first',
81
- PageDown: 'last',
82
- Escape: 'exit'
51
+ this.options = __spreadValues(__spreadValues({}, defaultOptions), options);
52
+ const { orientation } = this.options;
53
+ this.keyBindings = __spreadValues({
54
+ ArrowUp: orientation !== "horizontal" && "previous",
55
+ ArrowRight: orientation !== "vertical" && "next",
56
+ ArrowDown: orientation !== "horizontal" && "next",
57
+ ArrowLeft: orientation !== "vertical" && "previous",
58
+ Home: "first",
59
+ End: "last",
60
+ PageUp: "first",
61
+ PageDown: "last",
62
+ Escape: "exit"
83
63
  }, options.keyBindings);
84
64
  this.currentFocusedItem = null;
85
65
  this.currIndex = null;
@@ -102,200 +82,154 @@ class FocusGroup {
102
82
  this.focusCurrent = this.focusCurrent.bind(this);
103
83
  this.getHotKeysParams = this.getHotKeysParams.bind(this);
104
84
  }
105
-
106
85
  getHotKeysParams() {
107
86
  const item = this.currentFocusedItem;
108
- const {
109
- index
110
- } = get(item, ['dataset'], {});
87
+ const { index } = get(item, ["dataset"], {});
111
88
  return {
112
89
  item,
113
90
  index
114
91
  };
115
92
  }
116
-
117
93
  activate() {
118
- const {
119
- getContainer
120
- } = this.options;
121
- document.addEventListener('keydown', this.handleKeyDown, true);
94
+ const { getContainer } = this.options;
95
+ document.addEventListener("keydown", this.handleKeyDown, true);
122
96
  registerHotkeys(this.options.hotKeys, this.getHotKeysParams, getContainer);
123
97
  }
124
-
125
98
  deactivate() {
126
- document.removeEventListener('keydown', this.handleKeyDown, true);
99
+ document.removeEventListener("keydown", this.handleKeyDown, true);
127
100
  unregisterHotKeys(this.options.hotKeys);
128
101
  }
129
-
130
102
  handleKeyDown(e) {
131
- if (!this.isGroupActive()) return;
103
+ if (!this.isGroupActive())
104
+ return;
132
105
  this.executeActionByEvent(e);
133
106
  }
134
-
135
107
  executeActionByEvent(e) {
136
108
  const actions = Array.isArray(this.keyBindings[e.key]) ? this.keyBindings[e.key] : [this.keyBindings[e.key]];
137
- return actions.map(action => typeof action === 'string' ? safeCallAction(e, this.mapActions[action]) : safeCallAction(e, action));
109
+ return actions.map((action) => typeof action === "string" ? safeCallAction(e, this.mapActions[action]) : safeCallAction(e, action));
138
110
  }
139
-
140
- register(node) {
141
- let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
142
- const afterIndex = this.items.findIndex(item => item.compareDocumentPosition(node) === Node.DOCUMENT_POSITION_PRECEDING);
111
+ register(node, props = {}) {
112
+ const afterIndex = this.items.findIndex((item) => item.compareDocumentPosition(node) === Node.DOCUMENT_POSITION_PRECEDING);
143
113
  node.specialOnFocus = props.onFocus || noop;
144
114
  node.specialOnBlur = props.onBlur || noop;
145
-
146
115
  node.onclick = () => this.focusItem(node);
147
-
148
116
  node.onfocus = () => {
149
117
  this.focusItem(node);
150
118
  };
151
-
152
119
  if (afterIndex === -1) {
153
120
  this.items.push(node);
154
121
  } else {
155
122
  this.items.splice(afterIndex, 0, node);
156
123
  }
157
124
  }
158
-
159
125
  unregister(node) {
160
126
  const index = this.getItemIndexByNode(node);
161
- if (index > -1) this.items.splice(index, 1);
127
+ if (index > -1)
128
+ this.items.splice(index, 1);
162
129
  }
163
-
164
130
  exit() {
165
- const {
166
- onExitFocusGroup
167
- } = this.options;
131
+ const { onExitFocusGroup } = this.options;
168
132
  onExitFocusGroup();
169
133
  }
170
-
171
134
  focusItem(node) {
172
135
  if (this.currentFocusedItem && this.currentFocusedItem !== node) {
173
136
  this.currentFocusedItem.specialOnBlur();
174
- this.currentFocusedItem.setAttribute('tabindex', -1);
137
+ this.currentFocusedItem.setAttribute("tabindex", -1);
175
138
  }
176
-
177
- if (!node) return;
139
+ if (!node)
140
+ return;
178
141
  this.currentFocusedItem = node;
179
- node.setAttribute('tabindex', 0);
142
+ node.setAttribute("tabindex", 0);
180
143
  node.focus();
181
144
  node.specialOnFocus();
182
145
  }
183
-
184
146
  focusNext() {
185
147
  const item = this.getNextItem();
186
148
  this.focusItem(item);
187
149
  }
188
-
189
150
  focusByNode(node) {
190
151
  const index = this.getItemIndexByNode(node);
191
152
  this.focusByIndex(index);
192
153
  }
193
-
194
154
  focusByIndex(index) {
195
155
  const item = this.getItemByIndex(index);
196
156
  this.focusItem(item);
197
157
  }
198
-
199
158
  focusPrevious() {
200
159
  const prevItem = this.getPreviousItem();
201
160
  this.focusItem(prevItem);
202
161
  }
203
-
204
162
  focusFirst() {
205
163
  const item = this.getFirstItem();
206
164
  this.focusItem(item);
207
165
  }
208
-
209
166
  focusLast() {
210
167
  const item = this.getLastItem();
211
168
  this.focusItem(item);
212
169
  }
213
-
214
170
  focusCurrent() {
215
171
  this.focusItem(this.currentFocusedItem);
216
172
  }
217
-
218
173
  focusNextGroup() {
219
- const {
220
- onFocusNextGroup
221
- } = this.options;
174
+ const { onFocusNextGroup } = this.options;
222
175
  this.exit();
223
176
  onFocusNextGroup();
224
177
  }
225
-
226
178
  focusPreviousGroup() {
227
- const {
228
- onFocusPreviousGroup
229
- } = this.options;
179
+ const { onFocusPreviousGroup } = this.options;
230
180
  this.exit();
231
181
  onFocusPreviousGroup();
232
182
  }
233
-
234
183
  getNextItem() {
235
- const {
236
- loop
237
- } = this.options;
184
+ const { loop } = this.options;
238
185
  const currentIndex = this.getFocusedIndex();
239
186
  const supposedNextIndex = currentIndex + 1;
240
-
241
187
  if (!this.checkCanFocusNext(supposedNextIndex)) {
242
188
  return loop ? this.getFirstItem() : this.focusNextGroup();
243
189
  }
244
-
245
190
  return this.getItemByIndex(supposedNextIndex);
246
191
  }
247
-
248
192
  getPreviousItem() {
249
- const {
250
- loop
251
- } = this.options;
193
+ const { loop } = this.options;
252
194
  const currentIndex = this.getFocusedIndex();
253
195
  const supposedPrevIndex = currentIndex - 1;
254
-
255
196
  if (!this.checkCanFocusPrev(supposedPrevIndex)) {
256
197
  return loop ? this.getLastItem() : this.focusPreviousGroup();
257
198
  }
258
-
259
199
  return this.getItemByIndex(supposedPrevIndex);
260
200
  }
261
-
262
201
  checkCanFocusNext(index) {
263
202
  return this.items.length > index;
264
203
  }
265
-
266
204
  checkCanFocusPrev(index) {
267
205
  return index >= 0;
268
206
  }
269
-
270
207
  getItemByIndex(index) {
271
208
  return this.items[index];
272
209
  }
273
-
274
210
  getItemIndexByNode(node) {
275
- return this.items.findIndex(item => item === node);
211
+ return this.items.findIndex((item) => item === node);
276
212
  }
277
-
278
213
  getFocusedIndex() {
279
214
  return this.getItemIndexByNode(document.activeElement);
280
215
  }
281
-
282
216
  getFocusedItem() {
283
217
  const index = this.getFocusedIndex();
284
218
  return index > -1 && this.items[index];
285
219
  }
286
-
287
220
  isGroupActive() {
288
221
  return this.getFocusedIndex() !== -1;
289
222
  }
290
-
291
223
  getFirstItem() {
292
224
  return !!this.items.length && this.items[0];
293
225
  }
294
-
295
226
  getLastItem() {
296
227
  return !!this.items.length && this.items[this.items.length - 1];
297
228
  }
298
-
299
229
  }
300
-
301
- export { FocusGroup as default };
230
+ var FocusGroup_default = FocusGroup;
231
+ export {
232
+ FocusGroup,
233
+ FocusGroup_default as default
234
+ };
235
+ //# sourceMappingURL=FocusGroup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/FocusGroup.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { isFunction, get } from '@elliemae/ds-utilities';\nimport hotkeys from 'hotkeys-js';\n\nconst defaultOptions = {\n orientation: 'vertical',\n};\n\nconst safeCallAction = (e, fun, ...args) => {\n if (isFunction(fun)) {\n e.preventDefault();\n fun(...args);\n }\n};\n\nconst registerHotkeys = (\n hotKeys = {},\n params,\n getContainer = () => document,\n) => {\n Object.keys(hotKeys).forEach((hotkey) => {\n const { options, handler, allowDocumentHandler = false } = hotKeys[hotkey];\n const parameterizedHandler = (e) => {\n const handlerParams = isFunction(params) ? params() : params;\n if (\n !allowDocumentHandler &&\n handlerParams.item !== document.activeElement\n )\n return;\n e.preventDefault();\n handler(handlerParams);\n };\n hotkeys(\n hotkey,\n { element: getContainer(), ...options },\n parameterizedHandler,\n );\n });\n};\n\nconst unregisterHotKeys = (hotKeys = {}) => {\n Object.keys(hotKeys).forEach((hotkey) => {\n hotkeys.unbind(hotkey);\n });\n};\n\nconst noop = () => null;\n\nclass FocusGroup {\n items = [];\n\n constructor(options = {}) {\n this.options = { ...defaultOptions, ...options };\n\n const { orientation } = this.options;\n\n this.keyBindings = {\n ArrowUp: orientation !== 'horizontal' && 'previous',\n ArrowRight: orientation !== 'vertical' && 'next',\n ArrowDown: orientation !== 'horizontal' && 'next',\n ArrowLeft: orientation !== 'vertical' && 'previous',\n Home: 'first',\n End: 'last',\n PageUp: 'first',\n PageDown: 'last',\n Escape: 'exit',\n ...options.keyBindings,\n };\n\n this.currentFocusedItem = null;\n this.currIndex = null;\n\n this.mapActions = {\n previous: this.focusPrevious.bind(this),\n next: this.focusNext.bind(this),\n first: this.focusFirst.bind(this),\n last: this.focusLast.bind(this),\n exit: this.exit.bind(this),\n enter: () => null,\n };\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.register = this.register.bind(this);\n this.focusFirst = this.focusFirst.bind(this);\n this.focusLast = this.focusLast.bind(this);\n this.isGroupActive = this.isGroupActive.bind(this);\n this.focusNext = this.focusNext.bind(this);\n this.focusPrevious = this.focusPrevious.bind(this);\n this.focusItem = this.focusItem.bind(this);\n this.focusCurrent = this.focusCurrent.bind(this);\n this.getHotKeysParams = this.getHotKeysParams.bind(this);\n }\n\n getHotKeysParams() {\n const item = this.currentFocusedItem;\n const { index } = get(item, ['dataset'], {});\n return {\n item,\n index,\n };\n }\n\n activate() {\n const { getContainer } = this.options;\n document.addEventListener('keydown', this.handleKeyDown, true);\n registerHotkeys(this.options.hotKeys, this.getHotKeysParams, getContainer);\n }\n\n deactivate() {\n document.removeEventListener('keydown', this.handleKeyDown, true);\n unregisterHotKeys(this.options.hotKeys);\n }\n\n handleKeyDown(e) {\n if (!this.isGroupActive()) return;\n this.executeActionByEvent(e);\n }\n\n executeActionByEvent(e) {\n const actions = Array.isArray(this.keyBindings[e.key])\n ? this.keyBindings[e.key]\n : [this.keyBindings[e.key]];\n return actions.map((action) =>\n typeof action === 'string'\n ? safeCallAction(e, this.mapActions[action])\n : safeCallAction(e, action),\n );\n }\n\n register(node, props = {}) {\n const afterIndex = this.items.findIndex(\n (item) =>\n item.compareDocumentPosition(node) === Node.DOCUMENT_POSITION_PRECEDING,\n );\n node.specialOnFocus = props.onFocus || noop;\n node.specialOnBlur = props.onBlur || noop;\n node.onclick = () => this.focusItem(node);\n node.onfocus = () => {\n this.focusItem(node);\n };\n if (afterIndex === -1) {\n this.items.push(node);\n } else {\n this.items.splice(afterIndex, 0, node);\n }\n }\n\n unregister(node) {\n const index = this.getItemIndexByNode(node);\n if (index > -1) this.items.splice(index, 1);\n }\n\n exit() {\n const { onExitFocusGroup } = this.options;\n onExitFocusGroup();\n }\n\n focusItem(node) {\n if (this.currentFocusedItem && this.currentFocusedItem !== node) {\n this.currentFocusedItem.specialOnBlur();\n this.currentFocusedItem.setAttribute('tabindex', -1);\n }\n if (!node) return;\n this.currentFocusedItem = node;\n node.setAttribute('tabindex', 0);\n node.focus();\n node.specialOnFocus();\n }\n\n focusNext() {\n const item = this.getNextItem();\n this.focusItem(item);\n }\n\n focusByNode(node) {\n const index = this.getItemIndexByNode(node);\n this.focusByIndex(index);\n }\n\n focusByIndex(index) {\n const item = this.getItemByIndex(index);\n this.focusItem(item);\n }\n\n focusPrevious() {\n const prevItem = this.getPreviousItem();\n this.focusItem(prevItem);\n }\n\n focusFirst() {\n const item = this.getFirstItem();\n this.focusItem(item);\n }\n\n focusLast() {\n const item = this.getLastItem();\n this.focusItem(item);\n }\n\n focusCurrent() {\n this.focusItem(this.currentFocusedItem);\n }\n\n focusNextGroup() {\n const { onFocusNextGroup } = this.options;\n this.exit();\n onFocusNextGroup();\n }\n\n focusPreviousGroup() {\n const { onFocusPreviousGroup } = this.options;\n this.exit();\n onFocusPreviousGroup();\n }\n\n getNextItem() {\n const { loop } = this.options;\n const currentIndex = this.getFocusedIndex();\n const supposedNextIndex = currentIndex + 1;\n if (!this.checkCanFocusNext(supposedNextIndex)) {\n return loop ? this.getFirstItem() : this.focusNextGroup();\n }\n return this.getItemByIndex(supposedNextIndex);\n }\n\n getPreviousItem() {\n const { loop } = this.options;\n const currentIndex = this.getFocusedIndex();\n const supposedPrevIndex = currentIndex - 1;\n if (!this.checkCanFocusPrev(supposedPrevIndex)) {\n return loop ? this.getLastItem() : this.focusPreviousGroup();\n }\n return this.getItemByIndex(supposedPrevIndex);\n }\n\n checkCanFocusNext(index) {\n return this.items.length > index;\n }\n\n checkCanFocusPrev(index) {\n return index >= 0;\n }\n\n getItemByIndex(index) {\n return this.items[index];\n }\n\n getItemIndexByNode(node) {\n return this.items.findIndex((item) => item === node);\n }\n\n getFocusedIndex() {\n return this.getItemIndexByNode(document.activeElement);\n }\n\n getFocusedItem() {\n const index = this.getFocusedIndex();\n return index > -1 && this.items[index];\n }\n\n isGroupActive() {\n return this.getFocusedIndex() !== -1;\n }\n\n getFirstItem() {\n return !!this.items.length && this.items[0];\n }\n\n getLastItem() {\n return !!this.items.length && this.items[this.items.length - 1];\n }\n}\n\nexport { FocusGroup };\nexport default FocusGroup;"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;ACGA;AACA;AAEA,MAAM,iBAAiB;AAAA,EACrB,aAAa;AAAA;AAGf,MAAM,iBAAiB,CAAC,GAAG,QAAQ,SAAS;AAC1C,MAAI,WAAW,MAAM;AACnB,MAAE;AACF,QAAI,GAAG;AAAA;AAAA;AAIX,MAAM,kBAAkB,CACtB,UAAU,IACV,QACA,eAAe,MAAM,aAClB;AACH,SAAO,KAAK,SAAS,QAAQ,CAAC,WAAW;AACvC,UAAM,EAAE,SAAS,SAAS,uBAAuB,UAAU,QAAQ;AACnE,UAAM,uBAAuB,CAAC,MAAM;AAClC,YAAM,gBAAgB,WAAW,UAAU,WAAW;AACtD,UACE,CAAC,wBACD,cAAc,SAAS,SAAS;AAEhC;AACF,QAAE;AACF,cAAQ;AAAA;AAEV,YACE,QACA,iBAAE,SAAS,kBAAmB,UAC9B;AAAA;AAAA;AAKN,MAAM,oBAAoB,CAAC,UAAU,OAAO;AAC1C,SAAO,KAAK,SAAS,QAAQ,CAAC,WAAW;AACvC,YAAQ,OAAO;AAAA;AAAA;AAInB,MAAM,OAAO,MAAM;AAEnB,iBAAiB;AAAA,EAGf,YAAY,UAAU,IAAI;AAF1B,iBAAQ;AAGN,SAAK,UAAU,kCAAK,iBAAmB;AAEvC,UAAM,EAAE,gBAAgB,KAAK;AAE7B,SAAK,cAAc;AAAA,MACjB,SAAS,gBAAgB,gBAAgB;AAAA,MACzC,YAAY,gBAAgB,cAAc;AAAA,MAC1C,WAAW,gBAAgB,gBAAgB;AAAA,MAC3C,WAAW,gBAAgB,cAAc;AAAA,MACzC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,OACL,QAAQ;AAGb,SAAK,qBAAqB;AAC1B,SAAK,YAAY;AAEjB,SAAK,aAAa;AAAA,MAChB,UAAU,KAAK,cAAc,KAAK;AAAA,MAClC,MAAM,KAAK,UAAU,KAAK;AAAA,MAC1B,OAAO,KAAK,WAAW,KAAK;AAAA,MAC5B,MAAM,KAAK,UAAU,KAAK;AAAA,MAC1B,MAAM,KAAK,KAAK,KAAK;AAAA,MACrB,OAAO,MAAM;AAAA;AAEf,SAAK,gBAAgB,KAAK,cAAc,KAAK;AAC7C,SAAK,WAAW,KAAK,SAAS,KAAK;AACnC,SAAK,aAAa,KAAK,WAAW,KAAK;AACvC,SAAK,YAAY,KAAK,UAAU,KAAK;AACrC,SAAK,gBAAgB,KAAK,cAAc,KAAK;AAC7C,SAAK,YAAY,KAAK,UAAU,KAAK;AACrC,SAAK,gBAAgB,KAAK,cAAc,KAAK;AAC7C,SAAK,YAAY,KAAK,UAAU,KAAK;AACrC,SAAK,eAAe,KAAK,aAAa,KAAK;AAC3C,SAAK,mBAAmB,KAAK,iBAAiB,KAAK;AAAA;AAAA,EAGrD,mBAAmB;AACjB,UAAM,OAAO,KAAK;AAClB,UAAM,EAAE,UAAU,IAAI,MAAM,CAAC,YAAY;AACzC,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA,EAIJ,WAAW;AACT,UAAM,EAAE,iBAAiB,KAAK;AAC9B,aAAS,iBAAiB,WAAW,KAAK,eAAe;AACzD,oBAAgB,KAAK,QAAQ,SAAS,KAAK,kBAAkB;AAAA;AAAA,EAG/D,aAAa;AACX,aAAS,oBAAoB,WAAW,KAAK,eAAe;AAC5D,sBAAkB,KAAK,QAAQ;AAAA;AAAA,EAGjC,cAAc,GAAG;AACf,QAAI,CAAC,KAAK;AAAiB;AAC3B,SAAK,qBAAqB;AAAA;AAAA,EAG5B,qBAAqB,GAAG;AACtB,UAAM,UAAU,MAAM,QAAQ,KAAK,YAAY,EAAE,QAC7C,KAAK,YAAY,EAAE,OACnB,CAAC,KAAK,YAAY,EAAE;AACxB,WAAO,QAAQ,IAAI,CAAC,WAClB,OAAO,WAAW,WACd,eAAe,GAAG,KAAK,WAAW,WAClC,eAAe,GAAG;AAAA;AAAA,EAI1B,SAAS,MAAM,QAAQ,IAAI;AACzB,UAAM,aAAa,KAAK,MAAM,UAC5B,CAAC,SACC,KAAK,wBAAwB,UAAU,KAAK;AAEhD,SAAK,iBAAiB,MAAM,WAAW;AACvC,SAAK,gBAAgB,MAAM,UAAU;AACrC,SAAK,UAAU,MAAM,KAAK,UAAU;AACpC,SAAK,UAAU,MAAM;AACnB,WAAK,UAAU;AAAA;AAEjB,QAAI,eAAe,IAAI;AACrB,WAAK,MAAM,KAAK;AAAA,WACX;AACL,WAAK,MAAM,OAAO,YAAY,GAAG;AAAA;AAAA;AAAA,EAIrC,WAAW,MAAM;AACf,UAAM,QAAQ,KAAK,mBAAmB;AACtC,QAAI,QAAQ;AAAI,WAAK,MAAM,OAAO,OAAO;AAAA;AAAA,EAG3C,OAAO;AACL,UAAM,EAAE,qBAAqB,KAAK;AAClC;AAAA;AAAA,EAGF,UAAU,MAAM;AACd,QAAI,KAAK,sBAAsB,KAAK,uBAAuB,MAAM;AAC/D,WAAK,mBAAmB;AACxB,WAAK,mBAAmB,aAAa,YAAY;AAAA;AAEnD,QAAI,CAAC;AAAM;AACX,SAAK,qBAAqB;AAC1B,SAAK,aAAa,YAAY;AAC9B,SAAK;AACL,SAAK;AAAA;AAAA,EAGP,YAAY;AACV,UAAM,OAAO,KAAK;AAClB,SAAK,UAAU;AAAA;AAAA,EAGjB,YAAY,MAAM;AAChB,UAAM,QAAQ,KAAK,mBAAmB;AACtC,SAAK,aAAa;AAAA;AAAA,EAGpB,aAAa,OAAO;AAClB,UAAM,OAAO,KAAK,eAAe;AACjC,SAAK,UAAU;AAAA;AAAA,EAGjB,gBAAgB;AACd,UAAM,WAAW,KAAK;AACtB,SAAK,UAAU;AAAA;AAAA,EAGjB,aAAa;AACX,UAAM,OAAO,KAAK;AAClB,SAAK,UAAU;AAAA;AAAA,EAGjB,YAAY;AACV,UAAM,OAAO,KAAK;AAClB,SAAK,UAAU;AAAA;AAAA,EAGjB,eAAe;AACb,SAAK,UAAU,KAAK;AAAA;AAAA,EAGtB,iBAAiB;AACf,UAAM,EAAE,qBAAqB,KAAK;AAClC,SAAK;AACL;AAAA;AAAA,EAGF,qBAAqB;AACnB,UAAM,EAAE,yBAAyB,KAAK;AACtC,SAAK;AACL;AAAA;AAAA,EAGF,cAAc;AACZ,UAAM,EAAE,SAAS,KAAK;AACtB,UAAM,eAAe,KAAK;AAC1B,UAAM,oBAAoB,eAAe;AACzC,QAAI,CAAC,KAAK,kBAAkB,oBAAoB;AAC9C,aAAO,OAAO,KAAK,iBAAiB,KAAK;AAAA;AAE3C,WAAO,KAAK,eAAe;AAAA;AAAA,EAG7B,kBAAkB;AAChB,UAAM,EAAE,SAAS,KAAK;AACtB,UAAM,eAAe,KAAK;AAC1B,UAAM,oBAAoB,eAAe;AACzC,QAAI,CAAC,KAAK,kBAAkB,oBAAoB;AAC9C,aAAO,OAAO,KAAK,gBAAgB,KAAK;AAAA;AAE1C,WAAO,KAAK,eAAe;AAAA;AAAA,EAG7B,kBAAkB,OAAO;AACvB,WAAO,KAAK,MAAM,SAAS;AAAA;AAAA,EAG7B,kBAAkB,OAAO;AACvB,WAAO,SAAS;AAAA;AAAA,EAGlB,eAAe,OAAO;AACpB,WAAO,KAAK,MAAM;AAAA;AAAA,EAGpB,mBAAmB,MAAM;AACvB,WAAO,KAAK,MAAM,UAAU,CAAC,SAAS,SAAS;AAAA;AAAA,EAGjD,kBAAkB;AAChB,WAAO,KAAK,mBAAmB,SAAS;AAAA;AAAA,EAG1C,iBAAiB;AACf,UAAM,QAAQ,KAAK;AACnB,WAAO,QAAQ,MAAM,KAAK,MAAM;AAAA;AAAA,EAGlC,gBAAgB;AACd,WAAO,KAAK,sBAAsB;AAAA;AAAA,EAGpC,eAAe;AACb,WAAO,CAAC,CAAC,KAAK,MAAM,UAAU,KAAK,MAAM;AAAA;AAAA,EAG3C,cAAc;AACZ,WAAO,CAAC,CAAC,KAAK,MAAM,UAAU,KAAK,MAAM,KAAK,MAAM,SAAS;AAAA;AAAA;AAKjE,IAAO,qBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ const FocusGroupContext = React2.createContext();
4
+ var FocusGroupContext_default = FocusGroupContext;
5
+ export {
6
+ FocusGroupContext,
7
+ FocusGroupContext_default as default
8
+ };
9
+ //# sourceMappingURL=FocusGroupContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/FocusGroupContext.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nconst FocusGroupContext = React.createContext();\nexport { FocusGroupContext };\nexport default FocusGroupContext;\n"],
5
+ "mappings": "AAAA;ACAA;AAEA,MAAM,oBAAoB,OAAM;AAEhC,IAAO,4BAAQ;",
6
+ "names": []
7
+ }
@@ -1,11 +1,9 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import { Component } from 'react';
3
- import { isFunction } from '@elliemae/ds-utilities';
4
- import FocusGroup from './FocusGroup.js';
5
- import FocusGroupContext from './FocusGroupContext.js';
6
-
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ import { isFunction } from "@elliemae/ds-utilities";
4
+ import { FocusGroup } from "./FocusGroup";
5
+ import { FocusGroupContext } from "./FocusGroupContext";
7
6
  const noop = () => null;
8
-
9
7
  class FocusGroupProvider extends Component {
10
8
  constructor(props) {
11
9
  super(props);
@@ -27,75 +25,58 @@ class FocusGroupProvider extends Component {
27
25
  focusPrevious: this.focusGroup.focusPrevious
28
26
  };
29
27
  }
30
-
31
28
  componentDidMount() {
32
- const {
33
- autoFocusOnMount
34
- } = this.props;
29
+ const { autoFocusOnMount } = this.props;
35
30
  this.activate();
36
-
37
31
  if (autoFocusOnMount) {
38
32
  setTimeout(() => {
39
33
  this.actions.focusFirst();
40
34
  }, 0);
41
35
  }
42
36
  }
43
-
44
37
  componentWillUnmount() {
45
38
  this.deactivate();
46
39
  }
47
-
48
40
  activate() {
49
- const {
50
- onActivate
51
- } = this.props;
41
+ const { onActivate } = this.props;
52
42
  this.focusGroup.activate();
53
43
  this.activated = true;
54
- if (isFunction(onActivate)) onActivate();
44
+ if (isFunction(onActivate))
45
+ onActivate();
55
46
  }
56
-
57
47
  deactivate() {
58
- const {
59
- onExitFocusGroup
60
- } = this.props;
48
+ const { onExitFocusGroup } = this.props;
61
49
  this.activated = false;
62
50
  this.focusGroup.deactivate();
63
-
64
51
  if (isFunction(onExitFocusGroup)) {
65
52
  onExitFocusGroup();
66
53
  }
67
54
  }
68
-
69
55
  register(item) {
70
56
  this.focusGroup.register(item);
71
57
  }
72
-
73
58
  unregister(item) {
74
59
  this.focusGroup.unregister(item);
75
60
  }
76
-
77
61
  focusItemByIndex(index) {
78
- if (!this.activated) this.activate();
62
+ if (!this.activated)
63
+ this.activate();
79
64
  setTimeout(() => {
80
65
  this.focusGroup.focusByIndex(index);
81
66
  }, 200);
82
67
  }
83
-
84
68
  focusItemByNode(node) {
85
- if (!this.activated) this.activate();
69
+ if (!this.activated)
70
+ this.activate();
86
71
  const index = this.focusGroup.getItemIndexByNode(node);
87
72
  this.focusItemByIndex(index);
88
73
  }
89
-
90
74
  render() {
91
- const {
92
- children
93
- } = this.props;
94
- return /*#__PURE__*/_jsx(FocusGroupContext.Provider, {
75
+ const { children } = this.props;
76
+ return /* @__PURE__ */ React2.createElement(FocusGroupContext.Provider, {
95
77
  value: this.actions
96
- }, void 0, children);
78
+ }, children);
97
79
  }
98
-
99
80
  }
100
81
  FocusGroupProvider.defaultProps = {
101
82
  exitWhenNoPrevious: false,
@@ -107,5 +88,10 @@ FocusGroupProvider.defaultProps = {
107
88
  onFocusNextGroup: noop,
108
89
  onFocusGroupSet: noop
109
90
  };
110
-
111
- export { FocusGroupProvider as default };
91
+ var FocusGroupManager_default = FocusGroupProvider;
92
+ export {
93
+ FocusGroupProvider as FocusGroupManager,
94
+ FocusGroupProvider,
95
+ FocusGroupManager_default as default
96
+ };
97
+ //# sourceMappingURL=FocusGroupManager.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/FocusGroupManager.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component, useEffect } from 'react';\nimport { isFunction } from '@elliemae/ds-utilities';\nimport { FocusGroup } from './FocusGroup';\nimport { FocusGroupContext } from './FocusGroupContext';\n\nconst noop = () => null;\n\nclass FocusGroupProvider extends Component {\n activated = false;\n\n static defaultProps = {\n exitWhenNoPrevious: false,\n exitWhenNoNext: false,\n keyBindings: {},\n onFocus: noop,\n onExitFocusGroup: noop,\n onFocusPreviousGroup: noop,\n onFocusNextGroup: noop,\n onFocusGroupSet: noop,\n };\n\n constructor(props) {\n super(props);\n\n this.focusGroup = new FocusGroup(props);\n\n props.onFocusGroupSet(this);\n\n this.actions = {\n activate: this.activate.bind(this),\n deactivate: this.deactivate.bind(this),\n register: this.focusGroup.register,\n unregister: this.unregister.bind(this),\n focusFirst: this.focusGroup.focusFirst,\n focusLast: this.focusGroup.focusLast,\n focusItemByIndex: this.focusItemByIndex.bind(this),\n focusItemByNode: this.focusItemByNode.bind(this),\n focus: this.focusGroup.focusCurrent,\n isGroupActive: this.focusGroup.isGroupActive,\n focusNext: this.focusGroup.focusNext,\n focusPrevious: this.focusGroup.focusPrevious,\n };\n }\n\n componentDidMount() {\n const { autoFocusOnMount } = this.props;\n\n this.activate();\n\n if (autoFocusOnMount) {\n setTimeout(() => {\n this.actions.focusFirst();\n }, 0);\n }\n }\n\n componentWillUnmount() {\n this.deactivate();\n }\n\n activate() {\n const { onActivate } = this.props;\n this.focusGroup.activate();\n this.activated = true;\n if (isFunction(onActivate)) onActivate();\n }\n\n deactivate() {\n const { onExitFocusGroup } = this.props;\n this.activated = false;\n this.focusGroup.deactivate();\n if (isFunction(onExitFocusGroup)) {\n onExitFocusGroup();\n }\n }\n\n register(item) {\n this.focusGroup.register(item);\n }\n\n unregister(item) {\n this.focusGroup.unregister(item);\n }\n\n focusItemByIndex(index) {\n if (!this.activated) this.activate();\n setTimeout(() => {\n this.focusGroup.focusByIndex(index);\n }, 200);\n }\n\n focusItemByNode(node) {\n if (!this.activated) this.activate();\n const index = this.focusGroup.getItemIndexByNode(node);\n this.focusItemByIndex(index);\n }\n\n render() {\n const { children } = this.props;\n return (\n <FocusGroupContext.Provider value={this.actions}>\n {children}\n </FocusGroupContext.Provider>\n );\n }\n}\n\nexport { FocusGroupProvider, FocusGroupProvider as FocusGroupManager };\nexport default FocusGroupProvider;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,OAAO,MAAM;AAEnB,iCAAiC,UAAU;AAAA,EAczC,YAAY,OAAO;AACjB,UAAM;AAdR,qBAAY;AAgBV,SAAK,aAAa,IAAI,WAAW;AAEjC,UAAM,gBAAgB;AAEtB,SAAK,UAAU;AAAA,MACb,UAAU,KAAK,SAAS,KAAK;AAAA,MAC7B,YAAY,KAAK,WAAW,KAAK;AAAA,MACjC,UAAU,KAAK,WAAW;AAAA,MAC1B,YAAY,KAAK,WAAW,KAAK;AAAA,MACjC,YAAY,KAAK,WAAW;AAAA,MAC5B,WAAW,KAAK,WAAW;AAAA,MAC3B,kBAAkB,KAAK,iBAAiB,KAAK;AAAA,MAC7C,iBAAiB,KAAK,gBAAgB,KAAK;AAAA,MAC3C,OAAO,KAAK,WAAW;AAAA,MACvB,eAAe,KAAK,WAAW;AAAA,MAC/B,WAAW,KAAK,WAAW;AAAA,MAC3B,eAAe,KAAK,WAAW;AAAA;AAAA;AAAA,EAInC,oBAAoB;AAClB,UAAM,EAAE,qBAAqB,KAAK;AAElC,SAAK;AAEL,QAAI,kBAAkB;AACpB,iBAAW,MAAM;AACf,aAAK,QAAQ;AAAA,SACZ;AAAA;AAAA;AAAA,EAIP,uBAAuB;AACrB,SAAK;AAAA;AAAA,EAGP,WAAW;AACT,UAAM,EAAE,eAAe,KAAK;AAC5B,SAAK,WAAW;AAChB,SAAK,YAAY;AACjB,QAAI,WAAW;AAAa;AAAA;AAAA,EAG9B,aAAa;AACX,UAAM,EAAE,qBAAqB,KAAK;AAClC,SAAK,YAAY;AACjB,SAAK,WAAW;AAChB,QAAI,WAAW,mBAAmB;AAChC;AAAA;AAAA;AAAA,EAIJ,SAAS,MAAM;AACb,SAAK,WAAW,SAAS;AAAA;AAAA,EAG3B,WAAW,MAAM;AACf,SAAK,WAAW,WAAW;AAAA;AAAA,EAG7B,iBAAiB,OAAO;AACtB,QAAI,CAAC,KAAK;AAAW,WAAK;AAC1B,eAAW,MAAM;AACf,WAAK,WAAW,aAAa;AAAA,OAC5B;AAAA;AAAA,EAGL,gBAAgB,MAAM;AACpB,QAAI,CAAC,KAAK;AAAW,WAAK;AAC1B,UAAM,QAAQ,KAAK,WAAW,mBAAmB;AACjD,SAAK,iBAAiB;AAAA;AAAA,EAGxB,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,WACE,qCAAC,kBAAkB,UAAnB;AAAA,MAA4B,OAAO,KAAK;AAAA,OACrC;AAAA;AAAA;AA3FA,AAHT,mBAGS,eAAe;AAAA,EACpB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA;AA0FrB,IAAO,4BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __objRest = (source, exclude) => {
18
+ var target = {};
19
+ for (var prop in source)
20
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
21
+ target[prop] = source[prop];
22
+ if (source != null && __getOwnPropSymbols)
23
+ for (var prop of __getOwnPropSymbols(source)) {
24
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
25
+ target[prop] = source[prop];
26
+ }
27
+ return target;
28
+ };
29
+ import * as React from "react";
30
+ import React2 from "react";
31
+ import { FocusGroupProvider } from "./FocusGroupManager";
32
+ function FocusGroupHoc(WrappedComponent, options = {}) {
33
+ return (_a) => {
34
+ var _b = _a, {
35
+ onExitFocusGroup,
36
+ onFocusPrevGroup,
37
+ focusKeyBindings
38
+ } = _b, props = __objRest(_b, [
39
+ "onExitFocusGroup",
40
+ "onFocusPrevGroup",
41
+ "focusKeyBindings"
42
+ ]);
43
+ return /* @__PURE__ */ React2.createElement(FocusGroupProvider, __spreadValues({
44
+ keyBindings: focusKeyBindings,
45
+ onExitFocusGroup,
46
+ onFocusPrevGroup
47
+ }, options), /* @__PURE__ */ React2.createElement(WrappedComponent, __spreadValues(__spreadValues({}, props), options)));
48
+ };
49
+ }
50
+ var focusGroupManagerHoc_default = FocusGroupHoc;
51
+ export {
52
+ FocusGroupHoc,
53
+ focusGroupManagerHoc_default as default
54
+ };
55
+ //# sourceMappingURL=focusGroupManagerHoc.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/focusGroupManagerHoc.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/display-name */\nimport React from 'react';\nimport { FocusGroupProvider } from './FocusGroupManager';\n\nfunction FocusGroupHoc(WrappedComponent, options = {}) {\n return ({\n onExitFocusGroup,\n onFocusPrevGroup,\n focusKeyBindings,\n ...props\n }) => (\n <FocusGroupProvider\n keyBindings={focusKeyBindings}\n onExitFocusGroup={onExitFocusGroup}\n onFocusPrevGroup={onFocusPrevGroup}\n {...options}\n >\n <WrappedComponent {...props} {...options} />\n </FocusGroupProvider>\n );\n}\n\nexport { FocusGroupHoc };\nexport default FocusGroupHoc;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AAEA,uBAAuB,kBAAkB,UAAU,IAAI;AACrD,SAAO,CAAC,OAKL;AALK,iBACN;AAAA;AAAA,MACA;AAAA,MACA;AAAA,QAHM,IAIH,kBAJG,IAIH;AAAA,MAHH;AAAA,MACA;AAAA,MACA;AAAA;AAGA,gDAAC,oBAAD;AAAA,MACE,aAAa;AAAA,MACb;AAAA,MACA;AAAA,OACI,UAEJ,qCAAC,kBAAD,kCAAsB,QAAW;AAAA;AAAA;AAMvC,IAAO,+BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { FocusGroup } from "./FocusGroup";
3
+ import { FocusGroupContext } from "./FocusGroupContext";
4
+ import { FocusGroupManager } from "./FocusGroupManager";
5
+ import { useFocusGroupItem, useFocusGroupWithState } from "./useFocusGroupItem";
6
+ import { FocusGroupHoc } from "./focusGroupManagerHoc";
7
+ import { FocusGridProvider, FocusGridContext } from "./FocusGrid";
8
+ export {
9
+ FocusGridProvider as FocusGrid,
10
+ FocusGridContext,
11
+ FocusGroup,
12
+ FocusGroupContext,
13
+ FocusGroupManager,
14
+ FocusGroupHoc as focusGroupManagerHoc,
15
+ useFocusGroupItem,
16
+ useFocusGroupWithState
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { FocusGroup } from './FocusGroup';\nexport { FocusGroupContext } from './FocusGroupContext';\nexport { FocusGroupManager } from './FocusGroupManager';\nexport { useFocusGroupItem, useFocusGroupWithState } from './useFocusGroupItem';\nexport { FocusGroupHoc as focusGroupManagerHoc } from './focusGroupManagerHoc';\nexport { FocusGridProvider as FocusGrid, FocusGridContext } from './FocusGrid';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;",
6
+ "names": []
7
+ }