@elliemae/ds-shared 2.3.0-next.0 → 3.0.0-alpha.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 (330) 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 +76 -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 +180 -0
  14. package/dist/cjs/FocusGroup/FocusGrid.js.map +7 -0
  15. package/dist/cjs/FocusGroup/FocusGroup.js +249 -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 +54 -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 +67 -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 +73 -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 +48 -0
  50. package/dist/cjs/createDataInstance/createInstancePlugin.js.map +7 -0
  51. package/dist/cjs/createDataInstance/createInstanceRef.js +92 -0
  52. package/dist/cjs/createDataInstance/createInstanceRef.js.map +7 -0
  53. package/dist/cjs/createDataInstance/utils.js +99 -0
  54. package/dist/cjs/createDataInstance/utils.js.map +7 -0
  55. package/dist/cjs/defer-render-hoc/index.js +56 -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 +111 -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 +141 -0
  74. package/dist/cjs/useDataGrid/initColumnDefinition.js.map +7 -0
  75. package/dist/cjs/useDataGrid/useDataGrid.js +194 -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 +93 -0
  82. package/dist/cjs/useDataList/useDataList.js.map +7 -0
  83. package/dist/cjs/utils.js +107 -0
  84. package/dist/cjs/utils.js.map +7 -0
  85. package/dist/cjs/virtualization/AutoHeightList.js +69 -0
  86. package/dist/cjs/virtualization/AutoHeightList.js.map +7 -0
  87. package/dist/cjs/virtualization/FluidHeightList.js +43 -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 +47 -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 +151 -0
  104. package/dist/esm/FocusGroup/FocusGrid.js.map +7 -0
  105. package/{esm → dist/esm}/FocusGroup/FocusGroup.js +56 -137
  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 +25 -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 +38 -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 +44 -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 +19 -0
  140. package/dist/esm/createDataInstance/createInstancePlugin.js.map +7 -0
  141. package/dist/esm/createDataInstance/createInstanceRef.js +67 -0
  142. package/dist/esm/createDataInstance/createInstanceRef.js.map +7 -0
  143. package/dist/esm/createDataInstance/utils.js +70 -0
  144. package/dist/esm/createDataInstance/utils.js.map +7 -0
  145. package/dist/esm/defer-render-hoc/index.js +27 -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 +82 -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 +118 -0
  164. package/dist/esm/useDataGrid/initColumnDefinition.js.map +7 -0
  165. package/dist/esm/useDataGrid/useDataGrid.js +177 -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 +67 -0
  172. package/dist/esm/useDataList/useDataList.js.map +7 -0
  173. package/dist/esm/utils.js +78 -0
  174. package/dist/esm/utils.js.map +7 -0
  175. package/dist/esm/virtualization/AutoHeightList.js +40 -0
  176. package/dist/esm/virtualization/AutoHeightList.js.map +7 -0
  177. package/dist/esm/virtualization/FluidHeightList.js +14 -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/{types → dist/types}/Animations/BaseAnimation.d.ts +1 -0
  182. package/{types → dist/types}/Animations/Grow.d.ts +1 -0
  183. package/{types → dist/types}/Animations/GrowRight.d.ts +1 -0
  184. package/{types → dist/types}/Animations/GrowVertical.d.ts +0 -0
  185. package/{types → dist/types}/CheckableGroup.d.ts +1 -0
  186. package/dist/types/DeferRenderAfterComputation.d.ts +7 -0
  187. package/dist/types/FocusGroup/FocusGrid.d.ts +12 -0
  188. package/{types → dist/types}/FocusGroup/FocusGroup.d.ts +3 -1
  189. package/dist/types/FocusGroup/FocusGroupContext.d.ts +4 -0
  190. package/{types → dist/types}/FocusGroup/FocusGroupManager.d.ts +3 -1
  191. package/dist/types/FocusGroup/focusGroupManagerHoc.d.ts +9 -0
  192. package/dist/types/FocusGroup/index.d.ts +6 -0
  193. package/dist/types/FocusGroup/useFocusGroupItem.d.ts +4 -0
  194. package/{types → dist/types}/FocusGroup/utils/getNextCellPosition.d.ts +3 -1
  195. package/{types → dist/types}/GroupContext/Group.d.ts +1 -0
  196. package/{types → dist/types}/GroupContext/GroupContext.d.ts +0 -0
  197. package/{types → dist/types}/GroupContext/GroupItem.d.ts +1 -0
  198. package/dist/types/GroupContext/index.d.ts +3 -0
  199. package/{types → dist/types}/ScrollSync/ScrollSync.d.ts +4 -2
  200. package/dist/types/ScrollSync/ScrollSyncPane.d.ts +3 -0
  201. package/{types → dist/types}/ScrollSync/ScrollSyncProvider.d.ts +0 -0
  202. package/dist/types/ScrollSync/index.d.ts +2 -0
  203. package/dist/types/ScrollSync/useScrollSync.d.ts +7 -0
  204. package/{types → dist/types}/constants.d.ts +0 -0
  205. package/dist/types/createDataInstance/createInstancePlugin.d.ts +2 -0
  206. package/{types → dist/types}/createDataInstance/createInstanceRef.d.ts +3 -1
  207. package/{types → dist/types}/createDataInstance/tests/createInstanceRef.test.d.ts +0 -0
  208. package/{types → dist/types}/createDataInstance/utils.d.ts +0 -0
  209. package/dist/types/dimsum.config.d.ts +5 -0
  210. package/dist/types/index.d.ts +2 -0
  211. package/{types → dist/types}/prop-types.d.ts +0 -0
  212. package/{types → dist/types}/react-spring/index.d.ts +0 -0
  213. package/{types → dist/types}/react-spring/renderprops.d.ts +0 -0
  214. package/dist/types/toolbar/ToolbarProvider.d.ts +5 -0
  215. package/dist/types/useDataGrid/VolatileRowsListener.d.ts +7 -0
  216. package/dist/types/useDataGrid/index.d.ts +1 -0
  217. package/{types → dist/types}/useDataGrid/initColumnDefinition.d.ts +2 -1
  218. package/dist/types/useDataGrid/useDataGrid.d.ts +9 -0
  219. package/dist/types/useDataList/index.d.ts +1 -0
  220. package/{types → dist/types}/useDataList/recordIterator.d.ts +0 -0
  221. package/{types → dist/types}/useDataList/useDataList.d.ts +3 -2
  222. package/{types → dist/types}/utils.d.ts +0 -0
  223. package/{types → dist/types}/virtualization/AutoHeightList.d.ts +0 -0
  224. package/{types → dist/types}/virtualization/FluidHeightList.d.ts +0 -0
  225. package/{types → dist/types}/virtualization/index.d.ts +0 -0
  226. package/package.json +115 -107
  227. package/cjs/Animations/BaseAnimation.js +0 -36
  228. package/cjs/Animations/Grow.js +0 -42
  229. package/cjs/Animations/GrowRight.js +0 -42
  230. package/cjs/Animations/GrowVertical.js +0 -7
  231. package/cjs/CheckableGroup.js +0 -74
  232. package/cjs/DeferRenderAfterComputation.js +0 -28
  233. package/cjs/FocusGroup/FocusGrid.js +0 -215
  234. package/cjs/FocusGroup/FocusGroup.js +0 -308
  235. package/cjs/FocusGroup/FocusGroupContext.js +0 -11
  236. package/cjs/FocusGroup/FocusGroupManager.js +0 -117
  237. package/cjs/FocusGroup/focusGroupManagerHoc.js +0 -44
  238. package/cjs/FocusGroup/index.js +0 -21
  239. package/cjs/FocusGroup/useFocusGroupItem.js +0 -59
  240. package/cjs/FocusGroup/utils/getNextCellPosition.js +0 -60
  241. package/cjs/GroupContext/Group.js +0 -124
  242. package/cjs/GroupContext/GroupContext.js +0 -13
  243. package/cjs/GroupContext/GroupItem.js +0 -22
  244. package/cjs/GroupContext/index.js +0 -13
  245. package/cjs/ScrollSync/ScrollSync.js +0 -153
  246. package/cjs/ScrollSync/ScrollSyncPane.js +0 -81
  247. package/cjs/ScrollSync/ScrollSyncProvider.js +0 -67
  248. package/cjs/ScrollSync/index.js +0 -11
  249. package/cjs/ScrollSync/useScrollSync.js +0 -10
  250. package/cjs/constants.js +0 -51
  251. package/cjs/createDataInstance/createInstancePlugin.js +0 -36
  252. package/cjs/createDataInstance/createInstanceRef.js +0 -97
  253. package/cjs/createDataInstance/utils.js +0 -123
  254. package/cjs/defer-render-hoc/index.js +0 -49
  255. package/cjs/dimsum.config.js +0 -7
  256. package/cjs/index.js +0 -17
  257. package/cjs/prop-types.js +0 -59
  258. package/cjs/react-spring/index.js +0 -14
  259. package/cjs/react-spring/renderprops.js +0 -14
  260. package/cjs/toolbar/ToolbarProvider.js +0 -123
  261. package/cjs/useDataGrid/VolatileRowsListener.js +0 -24
  262. package/cjs/useDataGrid/index.js +0 -7
  263. package/cjs/useDataGrid/initColumnDefinition.js +0 -146
  264. package/cjs/useDataGrid/useDataGrid.js +0 -220
  265. package/cjs/useDataList/index.js +0 -7
  266. package/cjs/useDataList/recordIterator.js +0 -31
  267. package/cjs/useDataList/useDataList.js +0 -102
  268. package/cjs/utils.js +0 -116
  269. package/cjs/virtualization/AutoHeightList.js +0 -61
  270. package/cjs/virtualization/FluidHeightList.js +0 -49
  271. package/cjs/virtualization/index.js +0 -22
  272. package/esm/Animations/BaseAnimation.js +0 -30
  273. package/esm/Animations/Grow.js +0 -36
  274. package/esm/Animations/GrowRight.js +0 -36
  275. package/esm/Animations/GrowVertical.js +0 -4
  276. package/esm/CheckableGroup.js +0 -64
  277. package/esm/DeferRenderAfterComputation.js +0 -22
  278. package/esm/FocusGroup/FocusGrid.js +0 -204
  279. package/esm/FocusGroup/FocusGroupContext.js +0 -5
  280. package/esm/FocusGroup/focusGroupManagerHoc.js +0 -37
  281. package/esm/FocusGroup/index.js +0 -6
  282. package/esm/FocusGroup/useFocusGroupItem.js +0 -50
  283. package/esm/GroupContext/Group.js +0 -118
  284. package/esm/GroupContext/GroupContext.js +0 -5
  285. package/esm/GroupContext/GroupItem.js +0 -16
  286. package/esm/GroupContext/index.js +0 -3
  287. package/esm/ScrollSync/ScrollSyncPane.js +0 -74
  288. package/esm/ScrollSync/ScrollSyncProvider.js +0 -59
  289. package/esm/ScrollSync/index.js +0 -2
  290. package/esm/ScrollSync/useScrollSync.js +0 -8
  291. package/esm/constants.js +0 -32
  292. package/esm/createDataInstance/createInstancePlugin.js +0 -30
  293. package/esm/createDataInstance/createInstanceRef.js +0 -90
  294. package/esm/createDataInstance/utils.js +0 -107
  295. package/esm/defer-render-hoc/index.js +0 -41
  296. package/esm/dimsum.config.js +0 -5
  297. package/esm/index.js +0 -5
  298. package/esm/prop-types.js +0 -43
  299. package/esm/react-spring/index.js +0 -1
  300. package/esm/react-spring/renderprops.js +0 -1
  301. package/esm/toolbar/ToolbarProvider.js +0 -111
  302. package/esm/useDataGrid/VolatileRowsListener.js +0 -22
  303. package/esm/useDataGrid/index.js +0 -1
  304. package/esm/useDataGrid/initColumnDefinition.js +0 -134
  305. package/esm/useDataGrid/useDataGrid.js +0 -194
  306. package/esm/useDataList/index.js +0 -1
  307. package/esm/useDataList/recordIterator.js +0 -27
  308. package/esm/useDataList/useDataList.js +0 -90
  309. package/esm/utils.js +0 -95
  310. package/esm/virtualization/AutoHeightList.js +0 -52
  311. package/esm/virtualization/FluidHeightList.js +0 -38
  312. package/esm/virtualization/index.js +0 -18
  313. package/types/DeferRenderAfterComputation.d.ts +0 -6
  314. package/types/FocusGroup/FocusGrid.d.ts +0 -10
  315. package/types/FocusGroup/FocusGroupContext.d.ts +0 -3
  316. package/types/FocusGroup/focusGroupManagerHoc.d.ts +0 -7
  317. package/types/FocusGroup/index.d.ts +0 -6
  318. package/types/FocusGroup/useFocusGroupItem.d.ts +0 -2
  319. package/types/GroupContext/index.d.ts +0 -3
  320. package/types/ScrollSync/ScrollSyncPane.d.ts +0 -3
  321. package/types/ScrollSync/index.d.ts +0 -2
  322. package/types/ScrollSync/useScrollSync.d.ts +0 -6
  323. package/types/createDataInstance/createInstancePlugin.d.ts +0 -1
  324. package/types/dimsum.config.d.ts +0 -4
  325. package/types/index.d.ts +0 -2
  326. package/types/toolbar/ToolbarProvider.d.ts +0 -10
  327. package/types/useDataGrid/VolatileRowsListener.d.ts +0 -5
  328. package/types/useDataGrid/index.d.ts +0 -1
  329. package/types/useDataGrid/useDataGrid.d.ts +0 -8
  330. package/types/useDataList/index.d.ts +0 -1
@@ -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,25 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { FocusGroupProvider } from "./FocusGroupManager";
4
+ function FocusGroupHoc(WrappedComponent, options = {}) {
5
+ return ({
6
+ onExitFocusGroup,
7
+ onFocusPrevGroup,
8
+ focusKeyBindings,
9
+ ...props
10
+ }) => /* @__PURE__ */ React2.createElement(FocusGroupProvider, {
11
+ keyBindings: focusKeyBindings,
12
+ onExitFocusGroup,
13
+ onFocusPrevGroup,
14
+ ...options
15
+ }, /* @__PURE__ */ React2.createElement(WrappedComponent, {
16
+ ...props,
17
+ ...options
18
+ }));
19
+ }
20
+ var focusGroupManagerHoc_default = FocusGroupHoc;
21
+ export {
22
+ FocusGroupHoc,
23
+ focusGroupManagerHoc_default as default
24
+ };
25
+ //# 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;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,OACG;AAAA,QAEH,qCAAC,oBAAD;AAAA,IACE,aAAa;AAAA,IACb;AAAA,IACA;AAAA,OACI;AAAA,KAEJ,qCAAC,kBAAD;AAAA,OAAsB;AAAA,OAAW;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
+ }
@@ -0,0 +1,38 @@
1
+ import * as React from "react";
2
+ import { useContext, useEffect } from "react";
3
+ import { FocusGroupContext } from "./FocusGroupContext";
4
+ function useFocusGroupItem(ref = {}, props) {
5
+ const { register, unregister, ...otherActions } = useContext(FocusGroupContext) || {};
6
+ useEffect(() => {
7
+ if (ref.current && register)
8
+ register(ref.current, props);
9
+ return () => {
10
+ if (ref.current && unregister)
11
+ unregister(ref.current);
12
+ };
13
+ });
14
+ if (!register)
15
+ return {};
16
+ return otherActions;
17
+ }
18
+ const useFocusGroupWithState = (ref = {}, props) => {
19
+ const { register, unregister, ...otherActions } = useContext(FocusGroupContext) || {};
20
+ useEffect(() => {
21
+ if (ref && register)
22
+ register(ref, props);
23
+ return () => {
24
+ if (ref && unregister)
25
+ unregister(ref);
26
+ };
27
+ }, [ref]);
28
+ if (!register)
29
+ return {};
30
+ return otherActions;
31
+ };
32
+ var useFocusGroupItem_default = useFocusGroupItem;
33
+ export {
34
+ useFocusGroupItem_default as default,
35
+ useFocusGroupItem,
36
+ useFocusGroupWithState
37
+ };
38
+ //# sourceMappingURL=useFocusGroupItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/FocusGroup/useFocusGroupItem.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useEffect } from 'react';\nimport { FocusGroupContext } from './FocusGroupContext';\n\nfunction useFocusGroupItem(ref = {}, props) {\n const { register, unregister, ...otherActions } =\n useContext(FocusGroupContext) || {};\n\n useEffect(() => {\n if (ref.current && register) register(ref.current, props);\n return () => {\n if (ref.current && unregister) unregister(ref.current);\n };\n });\n\n // if the focus item is not wrapped with the focus provider then return null\n if (!register) return {};\n return otherActions;\n}\n\nexport const useFocusGroupWithState = (ref = {}, props) => {\n const { register, unregister, ...otherActions } =\n useContext(FocusGroupContext) || {};\n\n useEffect(() => {\n if (ref && register) register(ref, props);\n return () => {\n if (ref && unregister) unregister(ref);\n };\n }, [ref]);\n\n // if the focus item is not wrapped with the focus provider then return null\n if (!register) return {};\n return otherActions;\n};\n\nexport { useFocusGroupItem };\nexport default useFocusGroupItem;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEA,2BAA2B,MAAM,IAAI,OAAO;AAC1C,QAAM,EAAE,UAAU,eAAe,iBAC/B,WAAW,sBAAsB;AAEnC,YAAU,MAAM;AACd,QAAI,IAAI,WAAW;AAAU,eAAS,IAAI,SAAS;AACnD,WAAO,MAAM;AACX,UAAI,IAAI,WAAW;AAAY,mBAAW,IAAI;AAAA;AAAA;AAKlD,MAAI,CAAC;AAAU,WAAO;AACtB,SAAO;AAAA;AAGF,MAAM,yBAAyB,CAAC,MAAM,IAAI,UAAU;AACzD,QAAM,EAAE,UAAU,eAAe,iBAC/B,WAAW,sBAAsB;AAEnC,YAAU,MAAM;AACd,QAAI,OAAO;AAAU,eAAS,KAAK;AACnC,WAAO,MAAM;AACX,UAAI,OAAO;AAAY,mBAAW;AAAA;AAAA,KAEnC,CAAC;AAGJ,MAAI,CAAC;AAAU,WAAO;AACtB,SAAO;AAAA;AAIT,IAAO,4BAAQ;",
6
+ "names": []
7
+ }
@@ -1,45 +1,35 @@
1
- // eslint-disable-next-line max-statements
2
- function getNextCellPosition(_ref) {
3
- let {
4
- grid,
5
- currentRow = 0,
6
- currentCell = 0,
7
- directionY,
8
- directionX,
9
- shouldWrapCells,
10
- shouldWrapRows
11
- } = _ref;
1
+ import * as React from "react";
2
+ function getNextCellPosition({
3
+ grid,
4
+ currentRow = 0,
5
+ currentCell = 0,
6
+ directionY,
7
+ directionX,
8
+ shouldWrapCells,
9
+ shouldWrapRows
10
+ }) {
12
11
  let nextRow = currentRow + directionY;
13
12
  let nextCell = currentCell + directionX;
14
13
  const rowCount = grid.length;
15
14
  const isLeftRight = directionX !== 0;
16
-
17
15
  if (!rowCount) {
18
16
  return false;
19
17
  }
20
-
21
- const cellsLength = grid[0].length; // moving horizontally
22
-
18
+ const cellsLength = grid[0].length;
23
19
  if (shouldWrapCells && isLeftRight) {
24
- // to left
25
20
  if (nextCell < 0) {
26
21
  nextCell = cellsLength - 1;
27
22
  nextRow -= 1;
28
23
  }
29
-
30
24
  if (nextCell >= cellsLength) {
31
25
  nextCell = 0;
32
26
  nextRow += 1;
33
27
  }
34
- } // moving vertically
35
-
36
-
28
+ }
37
29
  if (shouldWrapRows && !isLeftRight) {
38
- // to top
39
30
  if (nextRow < 0) {
40
31
  nextCell -= 1;
41
32
  nextRow = rowCount - 1;
42
-
43
33
  if (grid[nextRow] && nextCell >= 0 && !grid[nextRow][nextCell]) {
44
34
  nextRow -= 1;
45
35
  }
@@ -48,11 +38,14 @@ function getNextCellPosition(_ref) {
48
38
  nextCell += 1;
49
39
  }
50
40
  }
51
-
52
41
  return {
53
42
  cellIndex: nextCell,
54
43
  rowIndex: nextRow
55
44
  };
56
45
  }
57
-
58
- export { getNextCellPosition as default };
46
+ var getNextCellPosition_default = getNextCellPosition;
47
+ export {
48
+ getNextCellPosition_default as default,
49
+ getNextCellPosition
50
+ };
51
+ //# sourceMappingURL=getNextCellPosition.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/FocusGroup/utils/getNextCellPosition.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// eslint-disable-next-line max-statements\nfunction getNextCellPosition({\n grid,\n currentRow = 0,\n currentCell = 0,\n directionY,\n directionX,\n shouldWrapCells,\n shouldWrapRows,\n}) {\n let nextRow = currentRow + directionY;\n let nextCell = currentCell + directionX;\n const rowCount = grid.length;\n const isLeftRight = directionX !== 0;\n\n if (!rowCount) {\n return false;\n }\n\n const cellsLength = grid[0].length;\n\n // moving horizontally\n if (shouldWrapCells && isLeftRight) {\n // to left\n if (nextCell < 0) {\n nextCell = cellsLength - 1;\n nextRow -= 1;\n }\n\n if (nextCell >= cellsLength) {\n nextCell = 0;\n nextRow += 1;\n }\n }\n\n // moving vertically\n if (shouldWrapRows && !isLeftRight) {\n // to top\n if (nextRow < 0) {\n nextCell -= 1;\n nextRow = rowCount - 1;\n if (grid[nextRow] && nextCell >= 0 && !grid[nextRow][nextCell]) {\n nextRow -= 1;\n }\n } else if (nextRow >= rowCount || !grid[nextRow][nextCell]) {\n nextRow = 0;\n nextCell += 1;\n }\n }\n\n return {\n cellIndex: nextCell,\n rowIndex: nextRow,\n };\n}\n\nexport { getNextCellPosition };\nexport default getNextCellPosition;"],
5
+ "mappings": "AAAA;ACCA,6BAA6B;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,EACb,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACC;AACD,MAAI,UAAU,aAAa;AAC3B,MAAI,WAAW,cAAc;AAC7B,QAAM,WAAW,KAAK;AACtB,QAAM,cAAc,eAAe;AAEnC,MAAI,CAAC,UAAU;AACb,WAAO;AAAA;AAGT,QAAM,cAAc,KAAK,GAAG;AAG5B,MAAI,mBAAmB,aAAa;AAElC,QAAI,WAAW,GAAG;AAChB,iBAAW,cAAc;AACzB,iBAAW;AAAA;AAGb,QAAI,YAAY,aAAa;AAC3B,iBAAW;AACX,iBAAW;AAAA;AAAA;AAKf,MAAI,kBAAkB,CAAC,aAAa;AAElC,QAAI,UAAU,GAAG;AACf,kBAAY;AACZ,gBAAU,WAAW;AACrB,UAAI,KAAK,YAAY,YAAY,KAAK,CAAC,KAAK,SAAS,WAAW;AAC9D,mBAAW;AAAA;AAAA,eAEJ,WAAW,YAAY,CAAC,KAAK,SAAS,WAAW;AAC1D,gBAAU;AACV,kBAAY;AAAA;AAAA;AAIhB,SAAO;AAAA,IACL,WAAW;AAAA,IACX,UAAU;AAAA;AAAA;AAKd,IAAO,8BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,86 @@
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ import PropTypes from "prop-types";
4
+ import { GroupContext } from "./GroupContext";
5
+ const getValueItem = (e) => {
6
+ const { target, currentTarget } = e;
7
+ if (target) {
8
+ const { value } = target;
9
+ return value;
10
+ }
11
+ if (currentTarget) {
12
+ const { value } = currentTarget;
13
+ return value;
14
+ }
15
+ return e;
16
+ };
17
+ const toggleItemValue = (array, e) => {
18
+ const newvalue = getValueItem(e);
19
+ const res = array;
20
+ const index = array.indexOf(newvalue);
21
+ if (index === -1) {
22
+ res.push(newvalue);
23
+ } else {
24
+ res.splice(index, 1);
25
+ }
26
+ return res;
27
+ };
28
+ const { Provider } = GroupContext;
29
+ class Group extends Component {
30
+ constructor(props) {
31
+ super(props);
32
+ const { activeValue, disabled } = props;
33
+ this.state = {
34
+ activeValue,
35
+ disabled,
36
+ prevValue: null,
37
+ onChange: this.handleChange.bind(this)
38
+ };
39
+ }
40
+ static getDerivedStateFromProps(nextProps, { prevValue }) {
41
+ if (nextProps.activeValue === prevValue)
42
+ return null;
43
+ return {
44
+ activeValue: nextProps.activeValue,
45
+ prevValue: nextProps.activeValue
46
+ };
47
+ }
48
+ handleChange(e, ...rest) {
49
+ const { multiple, onChange } = this.props;
50
+ const { activeValue } = this.state;
51
+ const value = getValueItem(e);
52
+ let newValue;
53
+ if (multiple) {
54
+ newValue = toggleItemValue(activeValue || [], value);
55
+ } else if (activeValue !== value) {
56
+ newValue = value;
57
+ }
58
+ this.setState({
59
+ activeValue: newValue
60
+ });
61
+ if (onChange)
62
+ onChange(newValue, ...rest);
63
+ }
64
+ render() {
65
+ const { children } = this.props;
66
+ return /* @__PURE__ */ React2.createElement(Provider, {
67
+ value: this.state
68
+ }, children);
69
+ }
70
+ }
71
+ Group.defaultProps = {
72
+ multiple: false
73
+ };
74
+ Group.propTypes = {
75
+ children: PropTypes.array,
76
+ multiple: PropTypes.bool,
77
+ onChange: PropTypes.func,
78
+ activeValue: PropTypes.oneOfType([PropTypes.array, PropTypes.number]),
79
+ disabled: PropTypes.bool
80
+ };
81
+ var Group_default = Group;
82
+ export {
83
+ Group,
84
+ Group_default as default
85
+ };
86
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/GroupContext/Group.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { GroupContext } from './GroupContext';\n\nconst getValueItem = (e) => {\n const { target, currentTarget } = e;\n if (target) {\n const { value } = target;\n return value;\n }\n if (currentTarget) {\n const { value } = currentTarget;\n return value;\n }\n return e;\n};\n\nconst toggleItemValue = (array, e) => {\n const newvalue = getValueItem(e);\n const res = array;\n const index = array.indexOf(newvalue);\n\n if (index === -1) {\n res.push(newvalue);\n } else {\n res.splice(index, 1);\n }\n\n return res;\n};\n\nconst { Provider } = GroupContext;\n/** deprecated use CheckableGroup instead */\nclass Group extends Component {\n constructor(props) {\n super(props);\n const { activeValue, disabled } = props;\n this.state = {\n activeValue,\n disabled,\n prevValue: null,\n onChange: this.handleChange.bind(this),\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevValue }) {\n if (nextProps.activeValue === prevValue) return null;\n return {\n activeValue: nextProps.activeValue,\n prevValue: nextProps.activeValue,\n };\n }\n\n handleChange(e, ...rest) {\n const { multiple, onChange } = this.props;\n const { activeValue } = this.state;\n const value = getValueItem(e);\n let newValue;\n if (multiple) {\n newValue = toggleItemValue(activeValue || [], value);\n } else if (activeValue !== value) {\n // default behaviour it will be toggle the active value\n newValue = value;\n }\n\n this.setState({\n activeValue: newValue,\n });\n\n if (onChange) onChange(newValue, ...rest);\n }\n\n render() {\n const { children } = this.props;\n return <Provider value={this.state}>{children}</Provider>;\n }\n}\n\nGroup.defaultProps = {\n multiple: false,\n};\n\nGroup.propTypes = {\n children: PropTypes.array,\n multiple: PropTypes.bool,\n onChange: PropTypes.func,\n activeValue: PropTypes.oneOfType([PropTypes.array, PropTypes.number]),\n disabled: PropTypes.bool,\n};\n\nexport { Group };\nexport default Group;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AAEA,MAAM,eAAe,CAAC,MAAM;AAC1B,QAAM,EAAE,QAAQ,kBAAkB;AAClC,MAAI,QAAQ;AACV,UAAM,EAAE,UAAU;AAClB,WAAO;AAAA;AAET,MAAI,eAAe;AACjB,UAAM,EAAE,UAAU;AAClB,WAAO;AAAA;AAET,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,OAAO,MAAM;AACpC,QAAM,WAAW,aAAa;AAC9B,QAAM,MAAM;AACZ,QAAM,QAAQ,MAAM,QAAQ;AAE5B,MAAI,UAAU,IAAI;AAChB,QAAI,KAAK;AAAA,SACJ;AACL,QAAI,OAAO,OAAO;AAAA;AAGpB,SAAO;AAAA;AAGT,MAAM,EAAE,aAAa;AAErB,oBAAoB,UAAU;AAAA,EAC5B,YAAY,OAAO;AACjB,UAAM;AACN,UAAM,EAAE,aAAa,aAAa;AAClC,SAAK,QAAQ;AAAA,MACX;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,UAAU,KAAK,aAAa,KAAK;AAAA;AAAA;AAAA,SAI9B,yBAAyB,WAAW,EAAE,aAAa;AACxD,QAAI,UAAU,gBAAgB;AAAW,aAAO;AAChD,WAAO;AAAA,MACL,aAAa,UAAU;AAAA,MACvB,WAAW,UAAU;AAAA;AAAA;AAAA,EAIzB,aAAa,MAAM,MAAM;AACvB,UAAM,EAAE,UAAU,aAAa,KAAK;AACpC,UAAM,EAAE,gBAAgB,KAAK;AAC7B,UAAM,QAAQ,aAAa;AAC3B,QAAI;AACJ,QAAI,UAAU;AACZ,iBAAW,gBAAgB,eAAe,IAAI;AAAA,eACrC,gBAAgB,OAAO;AAEhC,iBAAW;AAAA;AAGb,SAAK,SAAS;AAAA,MACZ,aAAa;AAAA;AAGf,QAAI;AAAU,eAAS,UAAU,GAAG;AAAA;AAAA,EAGtC,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,WAAO,qCAAC,UAAD;AAAA,MAAU,OAAO,KAAK;AAAA,OAAQ;AAAA;AAAA;AAIzC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA;AAGZ,MAAM,YAAY;AAAA,EAChB,UAAU,UAAU;AAAA,EACpB,UAAU,UAAU;AAAA,EACpB,UAAU,UAAU;AAAA,EACpB,aAAa,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU;AAAA,EAC7D,UAAU,UAAU;AAAA;AAItB,IAAO,gBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ const GroupContext = React2.createContext();
4
+ export {
5
+ GroupContext
6
+ };
7
+ //# sourceMappingURL=GroupContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/GroupContext/GroupContext.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nexport const GroupContext = React.createContext();\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,eAAe,OAAM;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { GroupContext } from "./GroupContext";
4
+ const { Consumer } = GroupContext;
5
+ const GroupItem = ({ render }) => /* @__PURE__ */ React2.createElement(Consumer, null, (context) => render(context));
6
+ var GroupItem_default = GroupItem;
7
+ export {
8
+ GroupItem,
9
+ GroupItem_default as default
10
+ };
11
+ //# sourceMappingURL=GroupItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/GroupContext/GroupItem.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { GroupContext } from './GroupContext';\n\nconst { Consumer } = GroupContext;\n\nconst GroupItem = ({ render }) => (\n <Consumer>{context => render(context)}</Consumer>\n);\n\nexport { GroupItem };\nexport default GroupItem;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEA,MAAM,EAAE,aAAa;AAErB,MAAM,YAAY,CAAC,EAAE,aACnB,qCAAC,UAAD,MAAW,aAAW,OAAO;AAI/B,IAAO,oBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { Group } from "./Group";
3
+ import { GroupContext } from "./GroupContext";
4
+ import { GroupItem } from "./GroupItem";
5
+ export {
6
+ Group,
7
+ GroupContext,
8
+ GroupItem
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/GroupContext/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { Group } from './Group';\nexport { GroupContext } from './GroupContext';\nexport { GroupItem } from './GroupItem';\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;",
6
+ "names": []
7
+ }
@@ -1,83 +1,59 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/esnext.async-iterator.for-each.js';
3
- import 'core-js/modules/esnext.iterator.constructor.js';
4
- import 'core-js/modules/esnext.iterator.for-each.js';
5
- import 'core-js/modules/esnext.async-iterator.find.js';
6
- import 'core-js/modules/esnext.iterator.find.js';
7
- import React, { Component } from 'react';
8
-
9
- const ScrollSyncContext = /*#__PURE__*/React.createContext();
10
- const {
11
- Provider
12
- } = ScrollSyncContext;
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ const ScrollSyncContext = React2.createContext();
4
+ const { Provider } = ScrollSyncContext;
13
5
  class ScrollSync extends Component {
14
6
  constructor(props) {
15
7
  super(props);
16
8
  this.panes = {};
17
-
18
9
  this.registerPane = (node, groups) => {
19
- groups.forEach(group => {
10
+ groups.forEach((group) => {
20
11
  if (!this.panes[group]) {
21
12
  this.panes[group] = [];
22
13
  }
23
-
24
14
  if (this.panes[group].length > 0) {
25
15
  this.syncScrollPosition(this.panes[group][0], node);
26
16
  }
27
-
28
17
  this.panes[group].push(node);
29
18
  });
30
19
  this.addEvents(node, groups);
31
20
  };
32
-
33
21
  this.unregisterPane = (node, groups) => {
34
- groups.forEach(group => {
22
+ groups.forEach((group) => {
35
23
  if (this.findPane(node, group)) {
36
24
  this.removeEvents(node);
37
25
  this.panes[group].splice(this.panes[group].indexOf(node), 1);
38
26
  }
39
27
  });
40
28
  };
41
-
42
29
  this.addEvents = (node, groups) => {
43
- /* For some reason element.addEventListener doesnt work with document.body */
44
- node.onscroll = this.handlePaneScroll.bind(this, node, groups); // eslint-disable-line
30
+ node.onscroll = this.handlePaneScroll.bind(this, node, groups);
45
31
  };
46
-
47
- this.removeEvents = node => {
48
- /* For some reason element.removeEventListener doesnt work with document.body */
49
- node.onscroll = null; // eslint-disable-line
32
+ this.removeEvents = (node) => {
33
+ node.onscroll = null;
50
34
  };
51
-
52
35
  this.findPane = (node, group) => {
53
36
  if (!this.panes[group]) {
54
37
  return false;
55
38
  }
56
-
57
- return this.panes[group].find(pane => pane === node);
39
+ return this.panes[group].find((pane) => pane === node);
58
40
  };
59
-
60
41
  this.handlePaneScroll = (node, groups, e) => {
61
- const {
62
- enabled
63
- } = this.props;
64
- if (this.props.onScroll) this.props.onScroll(e);
65
- if (!enabled) return;
42
+ const { enabled } = this.props;
43
+ if (this.props.onScroll)
44
+ this.props.onScroll(e);
45
+ if (!enabled)
46
+ return;
66
47
  window.requestAnimationFrame(() => {
67
48
  this.syncScrollPositions(node, groups);
68
49
  });
69
50
  };
70
-
71
51
  this.syncScrollPositions = (scrolledPane, groups) => {
72
- groups.forEach(group => {
73
- this.panes[group].forEach(pane => {
74
- /* For all panes beside the currently scrolling one */
52
+ groups.forEach((group) => {
53
+ this.panes[group].forEach((pane) => {
75
54
  if (scrolledPane !== pane) {
76
- /* Remove event listeners from the node that we'll manipulate */
77
55
  this.removeEvents(pane, group);
78
56
  this.syncScrollPosition(scrolledPane, pane);
79
- /* Re-attach event listeners after we're done scrolling */
80
-
81
57
  window.requestAnimationFrame(() => {
82
58
  this.addEvents(pane, groups);
83
59
  });
@@ -85,13 +61,11 @@ class ScrollSync extends Component {
85
61
  });
86
62
  });
87
63
  };
88
-
89
64
  this.syncContext = {
90
65
  registerPane: this.registerPane,
91
66
  unregisterPane: this.unregisterPane
92
67
  };
93
68
  }
94
-
95
69
  syncScrollPosition(scrolledPane, pane) {
96
70
  const {
97
71
  scrollTop,
@@ -103,35 +77,22 @@ class ScrollSync extends Component {
103
77
  } = scrolledPane;
104
78
  const scrollTopOffset = scrollHeight - clientHeight;
105
79
  const scrollLeftOffset = scrollWidth - clientWidth;
106
- const {
107
- proportional,
108
- vertical,
109
- horizontal
110
- } = this.props;
111
- /* Calculate the actual pane height */
112
-
80
+ const { proportional, vertical, horizontal } = this.props;
113
81
  const paneHeight = pane.scrollHeight - clientHeight;
114
82
  const paneWidth = pane.scrollWidth - clientWidth;
115
- /* Adjust the scrollTop position of it accordingly */
116
-
117
83
  if (vertical && scrollTopOffset > 0) {
118
- pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop; // eslint-disable-line
84
+ pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop;
119
85
  }
120
-
121
86
  if (horizontal && scrollLeftOffset > 0) {
122
- pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft; // eslint-disable-line
87
+ pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft;
123
88
  }
124
89
  }
125
-
126
90
  render() {
127
- const {
128
- children
129
- } = this.props;
130
- return /*#__PURE__*/_jsx(Provider, {
91
+ const { children } = this.props;
92
+ return /* @__PURE__ */ React2.createElement(Provider, {
131
93
  value: this.syncContext
132
- }, void 0, React.Children.only(children));
94
+ }, React2.Children.only(children));
133
95
  }
134
-
135
96
  }
136
97
  ScrollSync.defaultProps = {
137
98
  proportional: true,
@@ -139,5 +100,10 @@ ScrollSync.defaultProps = {
139
100
  horizontal: true,
140
101
  enabled: true
141
102
  };
142
-
143
- export { ScrollSyncContext, ScrollSync as default };
103
+ var ScrollSync_default = ScrollSync;
104
+ export {
105
+ ScrollSync,
106
+ ScrollSyncContext,
107
+ ScrollSync_default as default
108
+ };
109
+ //# sourceMappingURL=ScrollSync.js.map