@elliemae/ds-shared 1.60.0 → 2.0.0-alpha.12

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 (264) hide show
  1. package/cjs/Animations/BaseAnimation.js +19 -27
  2. package/cjs/Animations/Grow.js +17 -22
  3. package/cjs/Animations/GrowRight.js +17 -23
  4. package/cjs/Animations/GrowVertical.js +3 -2
  5. package/cjs/CheckableGroup.js +40 -46
  6. package/cjs/DeferRenderAfterComputation.js +12 -21
  7. package/cjs/FocusGroup/FocusGrid.js +91 -92
  8. package/cjs/FocusGroup/FocusGroup.js +225 -262
  9. package/cjs/FocusGroup/FocusGroupContext.js +1 -2
  10. package/cjs/FocusGroup/FocusGroupManager.js +88 -126
  11. package/cjs/FocusGroup/focusGroupManagerHoc.js +28 -27
  12. package/cjs/FocusGroup/index.js +14 -28
  13. package/cjs/FocusGroup/useFocusGroupItem.js +27 -24
  14. package/cjs/FocusGroup/utils/getNextCellPosition.js +14 -15
  15. package/cjs/GroupContext/Group.js +81 -103
  16. package/cjs/GroupContext/GroupContext.js +1 -2
  17. package/cjs/GroupContext/GroupItem.js +12 -10
  18. package/cjs/GroupContext/index.js +6 -15
  19. package/cjs/ScrollSync/ScrollSync.js +90 -112
  20. package/cjs/ScrollSync/ScrollSyncPane.js +58 -90
  21. package/cjs/ScrollSync/ScrollSyncProvider.js +36 -26
  22. package/cjs/ScrollSync/index.js +4 -13
  23. package/cjs/ScrollSync/useScrollSync.js +0 -1
  24. package/cjs/constants.js +43 -4
  25. package/cjs/createDataInstance/createInstancePlugin.js +11 -10
  26. package/cjs/createDataInstance/createInstanceRef.js +41 -42
  27. package/cjs/createDataInstance/utils.js +56 -58
  28. package/cjs/defer-render-hoc/index.js +26 -61
  29. package/cjs/dimsum.config.js +7 -0
  30. package/cjs/index.js +10 -20
  31. package/cjs/prop-types.js +59 -0
  32. package/cjs/react-spring/index.js +3 -6
  33. package/cjs/react-spring/renderprops.js +3 -6
  34. package/cjs/toolbar/ToolbarProvider.js +65 -77
  35. package/cjs/useDataGrid/VolatileRowsListener.js +13 -27
  36. package/cjs/useDataGrid/index.js +2 -17
  37. package/cjs/useDataGrid/initColumnDefinition.js +46 -47
  38. package/cjs/useDataGrid/useDataGrid.js +104 -144
  39. package/cjs/useDataList/index.js +2 -15
  40. package/cjs/useDataList/recordIterator.js +9 -10
  41. package/cjs/useDataList/useDataList.js +51 -59
  42. package/cjs/utils.js +46 -59
  43. package/cjs/virtualization/AutoHeightList.js +31 -22
  44. package/cjs/virtualization/FluidHeightList.js +26 -12
  45. package/cjs/virtualization/index.js +12 -17
  46. package/esm/Animations/BaseAnimation.js +18 -26
  47. package/esm/Animations/Grow.js +15 -20
  48. package/esm/Animations/GrowRight.js +15 -21
  49. package/esm/Animations/GrowVertical.js +3 -2
  50. package/esm/CheckableGroup.js +38 -42
  51. package/esm/DeferRenderAfterComputation.js +12 -20
  52. package/esm/FocusGroup/FocusGrid.js +87 -89
  53. package/esm/FocusGroup/FocusGroup.js +222 -257
  54. package/esm/FocusGroup/FocusGroupContext.js +0 -1
  55. package/esm/FocusGroup/FocusGroupManager.js +82 -114
  56. package/esm/FocusGroup/focusGroupManagerHoc.js +24 -22
  57. package/esm/FocusGroup/index.js +0 -14
  58. package/esm/FocusGroup/useFocusGroupItem.js +25 -22
  59. package/esm/FocusGroup/utils/getNextCellPosition.js +14 -15
  60. package/esm/GroupContext/Group.js +80 -95
  61. package/esm/GroupContext/GroupContext.js +1 -2
  62. package/esm/GroupContext/GroupItem.js +10 -8
  63. package/esm/GroupContext/index.js +0 -9
  64. package/esm/ScrollSync/ScrollSync.js +88 -105
  65. package/esm/ScrollSync/ScrollSyncPane.js +56 -83
  66. package/esm/ScrollSync/ScrollSyncProvider.js +35 -26
  67. package/esm/ScrollSync/index.js +0 -9
  68. package/esm/ScrollSync/useScrollSync.js +0 -1
  69. package/esm/constants.js +31 -5
  70. package/esm/createDataInstance/createInstancePlugin.js +10 -8
  71. package/esm/createDataInstance/createInstanceRef.js +36 -36
  72. package/esm/createDataInstance/utils.js +55 -57
  73. package/esm/defer-render-hoc/index.js +25 -55
  74. package/esm/dimsum.config.js +5 -0
  75. package/esm/index.js +0 -10
  76. package/esm/prop-types.js +43 -0
  77. package/esm/react-spring/index.js +1 -2
  78. package/esm/react-spring/renderprops.js +1 -2
  79. package/esm/toolbar/ToolbarProvider.js +60 -71
  80. package/esm/useDataGrid/VolatileRowsListener.js +14 -23
  81. package/esm/useDataGrid/index.js +0 -15
  82. package/esm/useDataGrid/initColumnDefinition.js +43 -43
  83. package/esm/useDataGrid/useDataGrid.js +90 -127
  84. package/esm/useDataList/index.js +0 -13
  85. package/esm/useDataList/recordIterator.js +9 -10
  86. package/esm/useDataList/useDataList.js +39 -46
  87. package/esm/utils.js +44 -57
  88. package/esm/virtualization/AutoHeightList.js +28 -18
  89. package/esm/virtualization/FluidHeightList.js +24 -10
  90. package/esm/virtualization/index.js +6 -11
  91. package/package.json +201 -8
  92. package/types/Animations/BaseAnimation.d.ts +12 -0
  93. package/types/Animations/Grow.d.ts +11 -0
  94. package/types/Animations/GrowRight.d.ts +11 -0
  95. package/types/Animations/GrowVertical.d.ts +1 -0
  96. package/types/CheckableGroup.d.ts +20 -0
  97. package/types/DeferRenderAfterComputation.d.ts +6 -0
  98. package/types/FocusGroup/FocusGrid.d.ts +10 -0
  99. package/types/FocusGroup/FocusGroup.d.ts +36 -0
  100. package/types/FocusGroup/FocusGroupContext.d.ts +3 -0
  101. package/types/FocusGroup/FocusGroupManager.d.ts +24 -0
  102. package/types/FocusGroup/focusGroupManagerHoc.d.ts +7 -0
  103. package/types/FocusGroup/index.d.ts +6 -0
  104. package/types/FocusGroup/useFocusGroupItem.d.ts +2 -0
  105. package/types/FocusGroup/utils/getNextCellPosition.d.ts +12 -0
  106. package/types/GroupContext/Group.d.ts +14 -0
  107. package/types/GroupContext/GroupContext.d.ts +2 -0
  108. package/types/GroupContext/GroupItem.d.ts +5 -0
  109. package/types/GroupContext/index.d.ts +3 -0
  110. package/types/ScrollSync/ScrollSync.d.ts +21 -0
  111. package/types/ScrollSync/ScrollSyncPane.d.ts +3 -0
  112. package/types/ScrollSync/ScrollSyncProvider.d.ts +12 -0
  113. package/types/ScrollSync/index.d.ts +2 -0
  114. package/types/ScrollSync/useScrollSync.d.ts +6 -0
  115. package/types/constants.d.ts +30 -0
  116. package/types/createDataInstance/createInstancePlugin.d.ts +1 -0
  117. package/types/createDataInstance/createInstanceRef.d.ts +12 -0
  118. package/types/createDataInstance/tests/createInstanceRef.test.d.ts +0 -0
  119. package/types/createDataInstance/utils.d.ts +9 -0
  120. package/types/dimsum.config.d.ts +4 -0
  121. package/types/index.d.ts +2 -0
  122. package/types/prop-types.d.ts +41 -0
  123. package/types/react-spring/index.d.ts +1 -0
  124. package/types/react-spring/renderprops.d.ts +1 -0
  125. package/types/toolbar/ToolbarProvider.d.ts +10 -0
  126. package/types/useDataGrid/VolatileRowsListener.d.ts +5 -0
  127. package/types/useDataGrid/index.d.ts +1 -0
  128. package/types/useDataGrid/initColumnDefinition.d.ts +5 -0
  129. package/types/useDataGrid/useDataGrid.d.ts +8 -0
  130. package/types/useDataList/index.d.ts +1 -0
  131. package/types/useDataList/recordIterator.d.ts +1 -0
  132. package/types/useDataList/useDataList.d.ts +13 -0
  133. package/types/utils.d.ts +22 -0
  134. package/types/virtualization/AutoHeightList.d.ts +2 -0
  135. package/types/virtualization/FluidHeightList.d.ts +2 -0
  136. package/types/virtualization/index.d.ts +9 -0
  137. package/Animations/BaseAnimation/package.json +0 -10
  138. package/Animations/Grow/package.json +0 -10
  139. package/Animations/GrowRight/package.json +0 -10
  140. package/Animations/GrowVertical/package.json +0 -10
  141. package/CheckableGroup/package.json +0 -10
  142. package/DeferRenderAfterComputation/package.json +0 -10
  143. package/FocusGroup/FocusGrid/package.json +0 -10
  144. package/FocusGroup/FocusGroup/package.json +0 -10
  145. package/FocusGroup/FocusGroupContext/package.json +0 -10
  146. package/FocusGroup/FocusGroupManager/package.json +0 -10
  147. package/FocusGroup/focusGroupManagerHoc/package.json +0 -10
  148. package/FocusGroup/package.json +0 -10
  149. package/FocusGroup/useFocusGroupItem/package.json +0 -10
  150. package/FocusGroup/utils/getNextCellPosition/package.json +0 -10
  151. package/GroupContext/Group/package.json +0 -10
  152. package/GroupContext/GroupContext/package.json +0 -10
  153. package/GroupContext/GroupItem/package.json +0 -10
  154. package/GroupContext/package.json +0 -10
  155. package/ScrollSync/ScrollSync/package.json +0 -10
  156. package/ScrollSync/ScrollSyncPane/package.json +0 -10
  157. package/ScrollSync/ScrollSyncProvider/package.json +0 -10
  158. package/ScrollSync/package.json +0 -10
  159. package/ScrollSync/useScrollSync/package.json +0 -10
  160. package/cjs/Animations/BaseAnimation.js.map +0 -1
  161. package/cjs/Animations/Grow.js.map +0 -1
  162. package/cjs/Animations/GrowRight.js.map +0 -1
  163. package/cjs/Animations/GrowVertical.js.map +0 -1
  164. package/cjs/CheckableGroup.js.map +0 -1
  165. package/cjs/DeferRenderAfterComputation.js.map +0 -1
  166. package/cjs/FocusGroup/FocusGrid.js.map +0 -1
  167. package/cjs/FocusGroup/FocusGroup.js.map +0 -1
  168. package/cjs/FocusGroup/FocusGroupContext.js.map +0 -1
  169. package/cjs/FocusGroup/FocusGroupManager.js.map +0 -1
  170. package/cjs/FocusGroup/focusGroupManagerHoc.js.map +0 -1
  171. package/cjs/FocusGroup/index.js.map +0 -1
  172. package/cjs/FocusGroup/useFocusGroupItem.js.map +0 -1
  173. package/cjs/FocusGroup/utils/getNextCellPosition.js.map +0 -1
  174. package/cjs/GroupContext/Group.js.map +0 -1
  175. package/cjs/GroupContext/GroupContext.js.map +0 -1
  176. package/cjs/GroupContext/GroupItem.js.map +0 -1
  177. package/cjs/GroupContext/index.js.map +0 -1
  178. package/cjs/ScrollSync/ScrollSync.js.map +0 -1
  179. package/cjs/ScrollSync/ScrollSyncPane.js.map +0 -1
  180. package/cjs/ScrollSync/ScrollSyncProvider.js.map +0 -1
  181. package/cjs/ScrollSync/index.js.map +0 -1
  182. package/cjs/ScrollSync/useScrollSync.js.map +0 -1
  183. package/cjs/constants.js.map +0 -1
  184. package/cjs/createDataInstance/createInstancePlugin.js.map +0 -1
  185. package/cjs/createDataInstance/createInstanceRef.js.map +0 -1
  186. package/cjs/createDataInstance/utils.js.map +0 -1
  187. package/cjs/defer-render-hoc/index.js.map +0 -1
  188. package/cjs/index.js.map +0 -1
  189. package/cjs/react-spring/index.js.map +0 -1
  190. package/cjs/react-spring/renderprops.js.map +0 -1
  191. package/cjs/toolbar/ToolbarProvider.js.map +0 -1
  192. package/cjs/useDataGrid/VolatileRowsListener.js.map +0 -1
  193. package/cjs/useDataGrid/index.js.map +0 -1
  194. package/cjs/useDataGrid/initColumnDefinition.js.map +0 -1
  195. package/cjs/useDataGrid/useDataGrid.js.map +0 -1
  196. package/cjs/useDataList/index.js.map +0 -1
  197. package/cjs/useDataList/recordIterator.js.map +0 -1
  198. package/cjs/useDataList/useDataList.js.map +0 -1
  199. package/cjs/utils.js.map +0 -1
  200. package/cjs/virtualization/AutoHeightList.js.map +0 -1
  201. package/cjs/virtualization/FluidHeightList.js.map +0 -1
  202. package/cjs/virtualization/index.js.map +0 -1
  203. package/constants/package.json +0 -10
  204. package/createDataInstance/createInstancePlugin/package.json +0 -10
  205. package/createDataInstance/createInstanceRef/package.json +0 -10
  206. package/createDataInstance/utils/package.json +0 -10
  207. package/defer-render-hoc/package.json +0 -10
  208. package/esm/Animations/BaseAnimation.js.map +0 -1
  209. package/esm/Animations/Grow.js.map +0 -1
  210. package/esm/Animations/GrowRight.js.map +0 -1
  211. package/esm/Animations/GrowVertical.js.map +0 -1
  212. package/esm/CheckableGroup.js.map +0 -1
  213. package/esm/DeferRenderAfterComputation.js.map +0 -1
  214. package/esm/FocusGroup/FocusGrid.js.map +0 -1
  215. package/esm/FocusGroup/FocusGroup.js.map +0 -1
  216. package/esm/FocusGroup/FocusGroupContext.js.map +0 -1
  217. package/esm/FocusGroup/FocusGroupManager.js.map +0 -1
  218. package/esm/FocusGroup/focusGroupManagerHoc.js.map +0 -1
  219. package/esm/FocusGroup/index.js.map +0 -1
  220. package/esm/FocusGroup/useFocusGroupItem.js.map +0 -1
  221. package/esm/FocusGroup/utils/getNextCellPosition.js.map +0 -1
  222. package/esm/GroupContext/Group.js.map +0 -1
  223. package/esm/GroupContext/GroupContext.js.map +0 -1
  224. package/esm/GroupContext/GroupItem.js.map +0 -1
  225. package/esm/GroupContext/index.js.map +0 -1
  226. package/esm/ScrollSync/ScrollSync.js.map +0 -1
  227. package/esm/ScrollSync/ScrollSyncPane.js.map +0 -1
  228. package/esm/ScrollSync/ScrollSyncProvider.js.map +0 -1
  229. package/esm/ScrollSync/index.js.map +0 -1
  230. package/esm/ScrollSync/useScrollSync.js.map +0 -1
  231. package/esm/constants.js.map +0 -1
  232. package/esm/createDataInstance/createInstancePlugin.js.map +0 -1
  233. package/esm/createDataInstance/createInstanceRef.js.map +0 -1
  234. package/esm/createDataInstance/utils.js.map +0 -1
  235. package/esm/defer-render-hoc/index.js.map +0 -1
  236. package/esm/index.js.map +0 -1
  237. package/esm/react-spring/index.js.map +0 -1
  238. package/esm/react-spring/renderprops.js.map +0 -1
  239. package/esm/toolbar/ToolbarProvider.js.map +0 -1
  240. package/esm/useDataGrid/VolatileRowsListener.js.map +0 -1
  241. package/esm/useDataGrid/index.js.map +0 -1
  242. package/esm/useDataGrid/initColumnDefinition.js.map +0 -1
  243. package/esm/useDataGrid/useDataGrid.js.map +0 -1
  244. package/esm/useDataList/index.js.map +0 -1
  245. package/esm/useDataList/recordIterator.js.map +0 -1
  246. package/esm/useDataList/useDataList.js.map +0 -1
  247. package/esm/utils.js.map +0 -1
  248. package/esm/virtualization/AutoHeightList.js.map +0 -1
  249. package/esm/virtualization/FluidHeightList.js.map +0 -1
  250. package/esm/virtualization/index.js.map +0 -1
  251. package/react-spring/package.json +0 -10
  252. package/react-spring/renderprops/package.json +0 -10
  253. package/toolbar/ToolbarProvider/package.json +0 -10
  254. package/useDataGrid/VolatileRowsListener/package.json +0 -10
  255. package/useDataGrid/initColumnDefinition/package.json +0 -10
  256. package/useDataGrid/package.json +0 -10
  257. package/useDataGrid/useDataGrid/package.json +0 -10
  258. package/useDataList/package.json +0 -10
  259. package/useDataList/recordIterator/package.json +0 -10
  260. package/useDataList/useDataList/package.json +0 -10
  261. package/utils/package.json +0 -10
  262. package/virtualization/AutoHeightList/package.json +0 -10
  263. package/virtualization/FluidHeightList/package.json +0 -10
  264. package/virtualization/package.json +0 -10
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/createDataInstance/utils.tsx"],"sourcesContent":["export const reducePropsGetter = (decorators = [], grid) => (\n props = {},\n extraParams,\n) => {\n let nextProps = props;\n decorators.forEach((decorator) => {\n nextProps = decorator(nextProps, grid, extraParams);\n });\n return nextProps;\n};\n\n/* eslint-disable-next-line max-params */\nexport function evaluateTransforms(\n transforms,\n value,\n extraParams = {},\n props = {},\n grid,\n) {\n let nextProps = props;\n transforms.forEach((transform) => {\n nextProps = transform(value, extraParams, nextProps, grid);\n });\n return nextProps;\n}\n\n/* eslint-disable-next-line max-params */\nexport function evaluateFormatters(formatters, value, extraParams = {}, grid) {\n return formatters.reduce(\n (result, formatter) => formatter(result, extraParams, grid),\n value,\n );\n}\n\nexport function composeFormatters(\n formatters,\n instance,\n getItemValue = (record) => record.data.name,\n) {\n // todo: make the formatters subscribe to the item props instead of getting the whole instance\n // todo: addd should formatter update to memoize specific ones\n return (props) =>\n formatters.reduce(\n (result, formatter) => formatter(result, props, instance),\n getItemValue(props.record),\n );\n}\n\nexport const applyDecorators = (subject, decorators = [], ...args) =>\n decorators.reduce(\n (nextSubject, decorator) => decorator(nextSubject, ...args),\n subject,\n );\n\nexport const decorateColumns = (columns, decorators, grid) => {\n const nextColumns = applyDecorators(\n columns,\n decorators.decorateColumns,\n grid,\n );\n return nextColumns.map((column, index) =>\n applyDecorators(column, decorators.decorateColumn, grid, index),\n );\n};\n\nexport const mergeInstance = (instance, instanceHook) => ({\n ...instance,\n ...instanceHook(instance),\n});\n\nexport const registerStateHookToInstance = (instance, stateHook) => {\n const { state, actions } = stateHook(instance);\n return {\n ...instance,\n state: {\n ...instance.state,\n ...state,\n },\n actions: {\n ...instance.actions,\n ...actions,\n },\n };\n};\n\nconst reduceHotKey = (\n instance,\n { key, handler, options, allowDocumentHandler },\n) => ({\n ...instance,\n hotKeys: {\n ...instance.hotKeys,\n [key]: { handler, options, allowDocumentHandler },\n },\n});\n\nexport const registerHotKeysHookToInstance = (instance, hotKeysHook) => {\n const hotKeys = hotKeysHook(instance);\n if (Array.isArray(hotKeys)) {\n return hotKeys.reduce(reduceHotKey, instance);\n }\n return reduceHotKey(instance, hotKeys);\n};\n"],"names":["reducePropsGetter","decorators","grid","props","extraParams","nextProps","forEach","decorator","evaluateTransforms","transforms","value","transform","evaluateFormatters","formatters","reduce","result","formatter","composeFormatters","instance","getItemValue","record","data","name","applyDecorators","subject","args","nextSubject","decorateColumns","columns","nextColumns","map","column","index","decorateColumn","mergeInstance","instanceHook","registerStateHookToInstance","stateHook","state","actions","reduceHotKey","key","handler","options","allowDocumentHandler","hotKeys","registerHotKeysHookToInstance","hotKeysHook","Array","isArray"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/defer-render-hoc/index.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport raf from 'raf';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\n\n/**\n * Allows two animation frames to complete to allow other components to update\n * and re-render before mounting and rendering an expensive `WrappedComponent`.\n *\n * @param WrappedComponent\n * @param fallback\n */\nexport default function deferComponentRender(WrappedComponent, fallback) {\n class DeferredRenderWrapper extends PureComponent {\n state = { shouldRender: false };\n\n componentDidMount() {\n raf(() => raf(() => this.setState({ shouldRender: true })));\n }\n\n render() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.state.shouldRender ? (\n <WrappedComponent {...this.props} />\n ) : (\n fallback\n );\n }\n }\n\n return hoistNonReactStatic(DeferredRenderWrapper, WrappedComponent);\n}\n"],"names":["deferComponentRender","WrappedComponent","fallback","DeferredRenderWrapper","state","shouldRender","raf","setState","props","PureComponent","hoistNonReactStatic"],"mappings":";;;;;;;;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASA,oBAAT,CAA8BC,gBAA9B,EAAgDC,QAAhD,EAA0D;AAAA,MACjEC,qBADiE;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,YAErEC,KAFqE,GAE7D;AAAEC,QAAAA,YAAY,EAAE;AAAhB,OAF6D;AAAA;AAAA;;AAAA;AAAA;AAAA,aAIrE,6BAAoB;AAAA;;AAClBC,QAAAA,GAAG,CAAC;AAAA,iBAAMA,GAAG,CAAC;AAAA,mBAAM,MAAI,CAACC,QAAL,CAAc;AAAEF,cAAAA,YAAY,EAAE;AAAhB,aAAd,CAAN;AAAA,WAAD,CAAT;AAAA,SAAD,CAAH;AACD;AANoE;AAAA;AAAA,aAQrE,kBAAS;AACP;AACA,eAAO,KAAKD,KAAL,CAAWC,YAAX,gBACL,oBAAC,gBAAD,EAAsB,KAAKG,KAA3B,CADK,GAGLN,QAHF;AAKD;AAfoE;;AAAA;AAAA,IACnCO,aADmC;;AAkBvE,SAAOC,mBAAmB,CAACP,qBAAD,EAAwBF,gBAAxB,CAA1B;AACD;;;;"}
package/esm/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderprops.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarProvider.js","sources":["../../../src/toolbar/ToolbarProvider.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState, useEffect } from 'react';\nimport DSPopover from '@elliemae/ds-popper';\nimport { useOnClickOutside } from '@elliemae/ds-utilities';\n\nexport const ToolbarContext = React.createContext();\n\nconst { Provider } = ToolbarContext;\n\nconst useScrollListener = (callback, dependencies) => {\n useEffect(() => {\n window.addEventListener('scroll', callback, true);\n return () => {\n window.removeEventListener('scroll', callback, true);\n };\n }, [dependencies]);\n};\n\nconst noop = () => null;\nfunction ToolbarProvider({ delay = 200, children, onHide = noop, onShow = noop }) {\n const showTimer = useRef();\n const hideTimer = useRef();\n const toolbarRef = useRef();\n const [tooltipState, setTooltipState] = useState({});\n\n const show = (state) => {\n if (state.reference === tooltipState.reference) clearTimeout(hideTimer.current);\n showTimer.current = setTimeout(\n () =>\n setTooltipState({\n ...state,\n visible: true,\n }),\n delay,\n );\n onShow();\n };\n\n const hide = (e, force) => {\n if (!force) clearTimeout(showTimer.current);\n hideTimer.current = setTimeout(\n () =>\n setTooltipState((prevState) => ({\n ...prevState,\n visible: false,\n })),\n 100,\n );\n onHide(tooltipState, e);\n };\n\n useScrollListener((e) => hide(e, true), tooltipState.visible);\n useOnClickOutside(toolbarRef, () => hide());\n\n const keyDownHandler = (e) => {\n if (e.key === 'Escape') {\n hide(e);\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyDownHandler);\n return () => {\n window.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n const value = useMemo(\n () => ({\n state: tooltipState,\n show,\n hide,\n }),\n [tooltipState.reference],\n );\n\n return (\n <Provider value={value}>\n {children}\n <DSPopover\n boundaries=\"scrollParent\"\n {...(tooltipState.options || {})}\n content={tooltipState.renderer}\n placement=\"left\"\n referenceEl={tooltipState.reference}\n renderer={({ as: Component, style, children: Content }) => (\n <div ref={toolbarRef} onMouseEnter={(e) => show(tooltipState, e)} onMouseLeave={hide}>\n <Component style={style}>{Content}</Component>\n </div>\n )}\n style={tooltipState.style}\n visible={tooltipState.visible}\n />\n </Provider>\n );\n}\n\nexport default React.memo(ToolbarProvider);\n"],"names":["ToolbarContext","React","createContext","Provider","useScrollListener","callback","dependencies","useEffect","window","addEventListener","removeEventListener","noop","ToolbarProvider","delay","children","onHide","onShow","showTimer","useRef","hideTimer","toolbarRef","useState","tooltipState","setTooltipState","show","state","reference","clearTimeout","current","setTimeout","visible","hide","e","force","prevState","useOnClickOutside","keyDownHandler","key","value","useMemo","options","renderer","Component","as","style","Content","memo"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VolatileRowsListener.js","sources":["../../../src/useDataGrid/VolatileRowsListener.tsx"],"sourcesContent":["import { safeCall } from '@elliemae/ds-utilities';\n\nexport default class VolatileRowsListener {\n observers = [];\n\n observe(listener) {\n this.observers.push(listener);\n }\n\n notify(nextRows) {\n this.observers.forEach(observer => safeCall(observer, nextRows));\n this.observers = [];\n }\n}\n"],"names":["VolatileRowsListener","observers","listener","push","nextRows","forEach","observer","safeCall"],"mappings":";;;;IAEqBA;;;;SACnBC,YAAY;;;;;WAEZ,iBAAQC,QAAR,EAAkB;AAChB,WAAKD,SAAL,CAAeE,IAAf,CAAoBD,QAApB;AACD;;;WAED,gBAAOE,QAAP,EAAiB;AACf,WAAKH,SAAL,CAAeI,OAAf,CAAuB,UAAAC,QAAQ;AAAA,eAAIC,QAAQ,CAACD,QAAD,EAAWF,QAAX,CAAZ;AAAA,OAA/B;AACA,WAAKH,SAAL,GAAiB,EAAjB;AACD;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"initColumnDefinition.js","sources":["../../../src/useDataGrid/initColumnDefinition.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable react/display-name */\nimport React from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n get,\n curry,\n set,\n cloneDeep,\n isFunction,\n} from '@elliemae/ds-utilities';\n\n// TODO: use lenses to access nested fields\n\nexport const appendHeaderFormatter = curry((formatter, column) => ({\n ...column,\n header: {\n ...column.header,\n formatters: [...get(column, 'header.formatters', []), formatter],\n },\n}));\n\nexport const appendCellFormatter = curry(\n (formatter, column, path = 'formatters') => {\n const nextColumn = cloneDeep(column);\n const formatters = get(nextColumn, ['cell', path], []);\n const scrollingFormatters = get(nextColumn, 'cell.scrollingFormatters', []);\n if (Array.isArray(formatter)) {\n if (formatter[1]) scrollingFormatters.push(formatter[1]);\n formatters.push(formatter[0]);\n } else {\n formatters.push(formatter);\n scrollingFormatters.push(formatter);\n }\n set(nextColumn, ['cell', path], formatters);\n set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);\n return nextColumn;\n },\n);\n\nconst defaultColumnDefinitionOptions = {\n normalize: false,\n useTextTruncation: true,\n isUserColumn: true,\n visible: true,\n};\n\nexport const mergeClassNameToColumnHeader = curry((className, column) => {\n const headerProps = get(column, ['header', 'props'], {});\n const headerClassName = headerProps.className || '';\n return {\n ...column,\n header: {\n ...column.header,\n props: {\n ...headerProps,\n className: `${headerClassName} ${className}`,\n },\n },\n };\n});\n\nexport default function initColumnDefinition(options = {}) {\n // eslint-disable-next-line complexity\n return (column) => {\n // todo: clean this\n if (column.type === 'number') {\n // eslint-disable-next-line no-param-reassign\n column.cellStyle = {\n textAlign: 'right',\n };\n }\n const { useTextTruncation = true, isUserColumn, visible, normalize } = {\n ...defaultColumnDefinitionOptions,\n ...options,\n };\n\n if (normalize) {\n // eslint-disable-next-line no-param-reassign\n column.originalProperty = column.property;\n // eslint-disable-next-line no-param-reassign\n column.property = column.property.replace(/\\s+/g, '');\n }\n\n // eslint-disable-next-line no-param-reassign\n column.props = {\n ...column.props,\n style: {},\n };\n // eslint-disable-next-line no-param-reassign\n column.header = {\n ...column.header,\n label: column.label,\n formatters: [...get(column, ['header', 'formatters'], [])],\n props: {\n style: column.headerStyle || {},\n },\n };\n if (\n useTextTruncation &&\n !(\n isFunction(column.customHeaderRenderer) ||\n column.header.formatters.length\n )\n ) {\n column.header.formatters.push((value) => (\n <span className=\"cell-value\">{value}</span>\n ));\n }\n\n // eslint-disable-next-line no-param-reassign\n column.cell = {\n ...column.cell,\n transforms: [],\n formatters: [...get(column, ['cell', 'formatters'], [])],\n scrollingFormatters: [...get(column, ['cell', 'formatters'], [])],\n props: {\n style: column.cellStyle || {},\n },\n };\n\n if (\n useTextTruncation &&\n !(isFunction(column.customRenderer) || column.cell.formatters.length)\n ) {\n column.cell.formatters.push((value) => (\n <span\n className=\"cell-value\"\n style={{\n justifyContent:\n column.type === 'number' ? 'flex-end' : 'flex-start',\n }}\n >\n {value}\n </span>\n ));\n }\n // eslint-disable-next-line no-param-reassign\n column.uuid = column.uuid || uuidv4();\n // eslint-disable-next-line no-param-reassign\n column.visible = column.visible === undefined ? visible : column.visible;\n // eslint-disable-next-line no-param-reassign, max-lines\n column.isUserColumn = column.isUserColumn || isUserColumn;\n // eslint-disable-next-line no-param-reassign\n column.headerHookEffects = [];\n return column;\n };\n}\n"],"names":["appendHeaderFormatter","curry","formatter","column","header","formatters","get","appendCellFormatter","path","nextColumn","cloneDeep","scrollingFormatters","Array","isArray","push","set","defaultColumnDefinitionOptions","normalize","useTextTruncation","isUserColumn","visible","mergeClassNameToColumnHeader","className","headerProps","headerClassName","props","initColumnDefinition","options","type","cellStyle","textAlign","originalProperty","property","replace","style","label","headerStyle","isFunction","customHeaderRenderer","length","value","cell","transforms","customRenderer","justifyContent","uuid","uuidv4","undefined","headerHookEffects"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDataGrid.js","sources":["../../../src/useDataGrid/useDataGrid.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport {\n cloneDeep,\n compose,\n isEqual,\n isObject,\n setRef, \n usePrevious, \n useDerivedStateFromProps \n} from '@elliemae/ds-utilities';\nimport { useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport * as resolve from 'table-resolver';\nimport initColumnDefinition from './initColumnDefinition';\nimport {\n applyDecorators,\n decorateColumns,\n reducePropsGetter,\n} from '../createDataInstance/utils';\nimport VolatileRowsListener from './VolatileRowsListener';\nimport { isInternetExplorer } from '../utils';\n\nconst IS_INTERNET_EXPLORER = isInternetExplorer();\n\n// TODO: Reuse createDataInstance for the grid the same\n// way as the list does ex: packages/ds-shared/src/useDataList/useDataList.js\n// eslint-disable-next-line max-statements\nexport default function useDataGrid({\n uuid: uuidProp,\n plugins: pluginsFromProps,\n rows,\n columns,\n renderers = {},\n ...props\n}) {\n const plugins = pluginsFromProps;\n const instance = useRef();\n const tableRef = useRef();\n const headerRef = useRef();\n const bodyRef = useRef();\n const bodyInnerRef = useRef();\n const [uuid] = useState(uuidProp || (() => uuidv4()));\n const [hasScroll, setHasScroll] = useState(false);\n const [isRowDragging, setIsRowDragging] = useState(false);\n const isScrolling = useRef();\n const shouldRefocus = useRef(); // todo: we probably need a plugin for focus related stuff\n const [RowsObserver] = useState(() => new VolatileRowsListener());\n\n // todo move this with rows composition\n const [originalRows, updateRows] = useDerivedStateFromProps(rows, {\n onUpdate: resolve.resolve({\n columns,\n method: (extra) =>\n compose(\n resolve.byFunction('valueTransformation')(extra),\n resolve.nested(extra),\n ),\n }),\n updateOnStateChange: true,\n });\n\n instance.current = {\n decoratedRenderers: cloneDeep(renderers),\n decoratedColumns: columns,\n columns,\n rows,\n composedRows: originalRows,\n getRowProps: [],\n getHeaderRowProps: [],\n getBodyProps: [],\n getTableProps: [],\n effects: [],\n uuid,\n props,\n refs: {\n table: tableRef,\n body: bodyRef,\n header: headerRef,\n innerBody: bodyInnerRef,\n },\n state: {\n hasScroll,\n },\n actions: {\n updateRows,\n },\n updateRows,\n // eslint-disable-next-line no-return-assign\n enableEvents: () =>\n (document.body.style.pointerEvents = IS_INTERNET_EXPLORER ? '' : null),\n // eslint-disable-next-line no-return-assign\n disableEvents: () => (document.body.style.pointerEvents = 'none'),\n observeRows: (observer) => RowsObserver.observe(observer),\n hotKeys: {},\n shouldRefocus,\n isScrolling,\n setHasScroll,\n setIsRowDragging,\n isRowDragging,\n plugins,\n };\n instance.current.getState = () => instance.current.state;\n instance.current.getInstance = () => instance.current;\n\n const defaultDecorators = {\n decorateGrid: [],\n registerStateHook: [],\n registerHotKeys: [],\n decorateColumn: [],\n decorateColumns: [\n (cols) =>\n cols.map((col) =>\n initColumnDefinition({\n useTextTruncation: col.useTextTruncation,\n wrapText: props.wrapText,\n normalize: props.normalizeDataKeys,\n })(col),\n ),\n ],\n decorateRenderers: [],\n getRowProps: [],\n getHeaderRowProps: [],\n getBodyProps: [],\n getTableProps: [],\n getHeaderProps: [],\n composeRows: [],\n };\n\n const decorators = useMemo(() => {\n let nextDecorators = defaultDecorators;\n // eslint-disable-next-line no-return-assign\n plugins.forEach((plugin) => (nextDecorators = plugin(nextDecorators)));\n return nextDecorators;\n }, [plugins]);\n\n instance.current = decorators.decorateGrid.reduce(\n (nextInstance, decorator) => ({\n ...nextInstance,\n ...decorator(instance.current),\n }),\n instance.current,\n );\n\n instance.current = decorators.registerStateHook.reduce(\n (nextInstance, decorator) => {\n const { state, actions } = decorator(instance.current);\n return {\n ...nextInstance,\n state: {\n ...nextInstance.state,\n ...state,\n },\n actions: {\n ...nextInstance.actions,\n ...actions,\n },\n };\n },\n instance.current,\n );\n\n const reduceHotKey = (nextInstance, { key, handler, options }) => ({\n ...nextInstance,\n hotKeys: {\n ...nextInstance.hotKeys,\n [key]: { handler, options },\n },\n });\n instance.current = decorators.registerHotKeys.reduce(\n (nextInstance, decorator) => {\n const hotKeys = decorator(nextInstance);\n if (Array.isArray(hotKeys)) {\n return hotKeys.reduce(reduceHotKey, nextInstance);\n }\n return reduceHotKey(nextInstance, hotKeys);\n },\n instance.current,\n );\n\n instance.current.decoratedRenderers = applyDecorators(\n instance.current.decoratedRenderers,\n decorators.decorateRenderers,\n instance.current,\n );\n\n instance.current.decoratedColumns = useMemo(() => {\n const visibleColumns = cloneDeep(columns).filter(\n (column) => typeof column.visible === 'undefined' || column.visible,\n );\n return visibleColumns.length\n ? decorateColumns(visibleColumns, decorators, instance.current)\n : [];\n }, [columns]);\n\n instance.current.getBodyProps = reducePropsGetter(\n decorators.getBodyProps,\n instance.current,\n );\n instance.current.getHeaderProps = reducePropsGetter(\n decorators.getHeaderProps,\n instance.current,\n );\n instance.current.getRowProps = reducePropsGetter(\n decorators.getRowProps,\n instance.current,\n );\n instance.current.getHeaderRowProps = reducePropsGetter(\n decorators.getHeaderRowProps,\n instance.current,\n );\n instance.current.getTableProps = reducePropsGetter(\n decorators.getTableProps,\n instance.current,\n );\n\n instance.current.composedRows = decorators.composeRows.reduce(\n (nextRows, getter) => getter(nextRows, instance.current),\n instance.current.composedRows,\n );\n\n RowsObserver.notify(instance.current.composedRows);\n\n const currentShouldRefocus = instance.current.shouldRefocus.current;\n const prevState = usePrevious(instance.current.state);\n if (isObject(currentShouldRefocus) && currentShouldRefocus.forced) {\n instance.current.shouldRefocus.current = currentShouldRefocus.value;\n } else {\n instance.current.shouldRefocus.current = !isEqual(\n prevState,\n instance.current.state,\n );\n }\n\n if (props.instanceRef) setRef(props.instanceRef, instance.current);\n\n return {\n ...instance.current,\n decorators,\n };\n}\n"],"names":["IS_INTERNET_EXPLORER","isInternetExplorer","useDataGrid","uuidProp","uuid","pluginsFromProps","plugins","rows","columns","renderers","props","instance","useRef","tableRef","headerRef","bodyRef","bodyInnerRef","useState","uuidv4","hasScroll","setHasScroll","isRowDragging","setIsRowDragging","isScrolling","shouldRefocus","VolatileRowsListener","RowsObserver","useDerivedStateFromProps","onUpdate","resolve","method","extra","compose","byFunction","nested","updateOnStateChange","originalRows","updateRows","current","decoratedRenderers","cloneDeep","decoratedColumns","composedRows","getRowProps","getHeaderRowProps","getBodyProps","getTableProps","effects","refs","table","body","header","innerBody","state","actions","enableEvents","document","style","pointerEvents","disableEvents","observeRows","observer","observe","hotKeys","getState","getInstance","defaultDecorators","decorateGrid","registerStateHook","registerHotKeys","decorateColumn","decorateColumns","cols","map","col","initColumnDefinition","useTextTruncation","wrapText","normalize","normalizeDataKeys","decorateRenderers","getHeaderProps","composeRows","decorators","useMemo","nextDecorators","forEach","plugin","reduce","nextInstance","decorator","reduceHotKey","key","handler","options","Array","isArray","applyDecorators","visibleColumns","filter","column","visible","length","reducePropsGetter","nextRows","getter","notify","currentShouldRefocus","prevState","usePrevious","isObject","forced","value","isEqual","instanceRef","setRef"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"recordIterator.js","sources":["../../../src/useDataList/recordIterator.tsx"],"sourcesContent":["const defaultStrategy = () => {\n throw Error('Implement an iterator strategy for record iterator');\n};\n\nexport function recordIterator(\n records,\n strategy = defaultStrategy,\n decorators = [],\n instance,\n) {\n const nextRows = [];\n\n strategy({\n data: records,\n cb: row => {\n let nextRow = row;\n\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let i = 0; i < decorators.length; i++) {\n nextRow = decorators[i](nextRow, instance);\n if (!nextRow) break;\n }\n\n if (nextRow) nextRows.push(nextRow);\n },\n instance,\n });\n\n return nextRows;\n}\n"],"names":["defaultStrategy","Error","recordIterator","records","strategy","decorators","instance","nextRows","data","cb","row","nextRow","i","length","push"],"mappings":"AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAMC,KAAK,CAAC,oDAAD,CAAX;AACD,CAFD;;AAIO,SAASC,cAAT,CACLC,OADK,EAKL;AAAA,MAHAC,QAGA,uEAHWJ,eAGX;AAAA,MAFAK,UAEA,uEAFa,EAEb;AAAA,MADAC,QACA;AACA,MAAMC,QAAQ,GAAG,EAAjB;AAEAH,EAAAA,QAAQ,CAAC;AACPI,IAAAA,IAAI,EAAEL,OADC;AAEPM,IAAAA,EAAE,EAAE,YAAAC,GAAG,EAAI;AACT,UAAIC,OAAO,GAAGD,GAAd,CADS;;AAIT,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,UAAU,CAACQ,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;AAC1CD,QAAAA,OAAO,GAAGN,UAAU,CAACO,CAAD,CAAV,CAAcD,OAAd,EAAuBL,QAAvB,CAAV;AACA,YAAI,CAACK,OAAL,EAAc;AACf;;AAED,UAAIA,OAAJ,EAAaJ,QAAQ,CAACO,IAAT,CAAcH,OAAd;AACd,KAZM;AAaPL,IAAAA,QAAQ,EAARA;AAbO,GAAD,CAAR;AAgBA,SAAOC,QAAP;AACD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDataList.js","sources":["../../../src/useDataList/useDataList.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react';\nimport { setRef } from '@elliemae/ds-utilities';\nimport get from 'lodash/get';\nimport {\n composeFormatters,\n reducePropsGetter,\n} from '../createDataInstance/utils';\nimport { recordIterator } from './recordIterator';\nimport createInstanceRef from '../createDataInstance/createInstanceRef';\n\nexport const getItemLabel = (record, nameKey = 'name') =>\n get(record, ['data', nameKey]);\nexport const getItemChildren = (record, childrenKey = 'children') =>\n get(record, ['data', childrenKey]);\n\nconst listRenderers = {\n list: 'ul',\n item: 'li',\n};\n\n// todo: check if a plugin is a LIST plugin rather than GRID\nexport default function useDataList({\n data = [],\n plugins = [],\n renderers = listRenderers,\n itemRenderer = [],\n customDecorators,\n ...props\n}) {\n const listRef = useRef();\n const { instance, decorators } = createInstanceRef({\n data,\n renderers,\n plugins,\n customDecorators: {\n ...customDecorators,\n recordIterator,\n getListProps: [],\n getItemProps: [],\n itemRenderer: [...itemRenderer], // components reduce to compose item content\n record: [],\n records: [],\n },\n ...props,\n });\n instance.current.getListRef = () => listRef;\n instance.current.setListRef = (ref) => {\n listRef.current = ref;\n };\n instance.current.getItemLabel = (record) =>\n getItemLabel(record, props.nameKey);\n instance.current.getItemChildren = (record) =>\n getItemChildren(record, props.childrenKey);\n\n instance.current.decorators = decorators;\n instance.current.getListProps = reducePropsGetter(\n decorators.getListProps,\n instance.current,\n );\n instance.current.getItemProps = reducePropsGetter(\n decorators.getItemProps,\n instance.current,\n );\n instance.current.itemRenderer = composeFormatters(\n instance.current.decorators.itemRenderer,\n instance.current,\n );\n\n instance.current.records = useMemo(() => {\n // record iterator TREE / Simple\n let nextRecords = recordIterator(\n data,\n instance.current.decorators.recordIterator,\n decorators.record,\n instance.current,\n );\n\n // compose all records\n nextRecords = decorators.records.reduce(\n (nextRows, getter) => getter(nextRows, instance.current),\n nextRecords,\n );\n\n return nextRecords;\n });\n\n if (props.instanceRef) setRef(props.instanceRef, instance.current);\n\n return instance.current;\n}\n"],"names":["getItemLabel","record","nameKey","get","getItemChildren","childrenKey","listRenderers","list","item","useDataList","data","plugins","renderers","itemRenderer","customDecorators","props","listRef","useRef","createInstanceRef","recordIterator","getListProps","getItemProps","records","instance","decorators","current","getListRef","setListRef","ref","reducePropsGetter","composeFormatters","useMemo","nextRecords","reduce","nextRows","getter","instanceRef","setRef"],"mappings":"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"}
package/esm/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["/* eslint-disable no-cond-assign */\nexport const objectType = (obj) =>\n Object.prototype.toString.call(obj).slice(8, -1);\nexport const isDefined = (param) => typeof param !== 'undefined';\nexport const isUndefined = (param) => typeof param === 'undefined';\nexport const isFunction = (param) => typeof param === 'function';\nexport const isNumber = param => typeof param === 'number' && !isNaN(param); // eslint-disable-line\nexport const isString = (str) => objectType(str) === 'String';\nexport const isArray = (arr) => objectType(arr) === 'Array';\n\nexport const closest = (target, selector) => {\n // closest(e.target, '.field')\n while (target) {\n // eslint-disable-line\n if (target.matches && target.matches(selector)) return target;\n if (target.msMatchesSelector && target.msMatchesSelector(selector))\n return target;\n // eslint-disable-next-line no-param-reassign\n target = target.parentNode;\n }\n return null;\n};\n\nexport const getOffsetRect = (elem) => {\n // (1)\n const box = elem.getBoundingClientRect();\n\n const { body, documentElement } = document;\n\n // (2)\n const scrollTop =\n window.pageYOffset || documentElement.scrollTop || body.scrollTop;\n const scrollLeft =\n window.pageXOffset || documentElement.scrollLeft || body.scrollLeft;\n\n // (3)\n const clientTop = documentElement.clientTop || body.clientTop || 0;\n const clientLeft = documentElement.clientLeft || body.clientLeft || 0;\n\n // (4)\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return { top: Math.round(top), left: Math.round(left) };\n};\n\nexport const getTotalScroll = (elem) => {\n let top = 0;\n let left = 0;\n\n // eslint-disable-next-line no-param-reassign\n while ((elem = elem.parentNode)) {\n top += elem.scrollTop || 0;\n left += elem.scrollLeft || 0;\n }\n\n return { top, left };\n};\n\nexport const getTransformProps = (x, y) => ({\n transform: `translate(${x}px, ${y}px)`,\n});\n\nexport const listWithChildren = (list, childrenProp) =>\n list.map((item) => ({\n ...item,\n [childrenProp]: item[childrenProp]\n ? listWithChildren(item[childrenProp], childrenProp)\n : [],\n }));\n\nexport const getAllNonEmptyNodesIds = (items, childrenProp) => {\n let childrenIds = [];\n const ids = items\n .filter((item) => item[childrenProp].length)\n .map((item) => {\n childrenIds = childrenIds.concat(\n getAllNonEmptyNodesIds(item[childrenProp], childrenProp),\n );\n return item.id;\n });\n\n return ids.concat(childrenIds);\n};\n\nexport const isInternetExplorer = () => {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n // If Internet Explorer, return version number\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11\\./)) {\n return true;\n }\n return false;\n};\n"],"names":["objectType","obj","Object","prototype","toString","call","slice","isDefined","param","isUndefined","isFunction","isNumber","isNaN","isString","str","isArray","arr","closest","target","selector","matches","msMatchesSelector","parentNode","getOffsetRect","elem","box","getBoundingClientRect","document","body","documentElement","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","top","left","Math","round","getTotalScroll","getTransformProps","x","y","transform","listWithChildren","list","childrenProp","map","item","getAllNonEmptyNodesIds","items","childrenIds","ids","filter","length","concat","id","isInternetExplorer","ua","navigator","userAgent","msie","indexOf","match"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoHeightList.js","sources":["../../../src/virtualization/AutoHeightList.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { FixedSizeList as List } from 'react-window';\nimport { cx, useWindowScrollerList, mergeRefs } from '@elliemae/ds-utilities';\n\nexport const AutoHeightList = forwardRef(\n (\n {\n itemCount,\n className,\n innerRef,\n itemData,\n itemKey,\n itemSize,\n outerRef,\n component: ListComponent = List,\n ...otherProps\n },\n ref,\n ) => {\n const listRef = useRef();\n const outerListRef = useRef();\n\n useWindowScrollerList({\n listInstance: listRef,\n outerListRef,\n });\n\n return (\n <ListComponent\n {...otherProps}\n ref={mergeRefs(ref, listRef)}\n className={cx(className, 'window-scroller-override')}\n height={window.innerHeight}\n innerRef={innerRef}\n itemCount={itemCount}\n itemData={itemData}\n itemKey={itemKey}\n itemSize={itemSize}\n outerRef={mergeRefs(outerListRef, outerRef)}\n overscanCount={10}\n useIsScrolling\n />\n );\n },\n);\n"],"names":["AutoHeightList","forwardRef","ref","itemCount","className","innerRef","itemData","itemKey","itemSize","outerRef","component","ListComponent","List","otherProps","listRef","useRef","outerListRef","useWindowScrollerList","listInstance","mergeRefs","cx","window","innerHeight"],"mappings":";;;;;;;IAIaA,cAAc,gBAAGC,UAAU,CACtC,gBAYEC,GAZF,EAaK;AAAA,MAXDC,SAWC,QAXDA,SAWC;AAAA,MAVDC,SAUC,QAVDA,SAUC;AAAA,MATDC,QASC,QATDA,QASC;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,MAPDC,OAOC,QAPDA,OAOC;AAAA,MANDC,QAMC,QANDA,QAMC;AAAA,MALDC,QAKC,QALDA,QAKC;AAAA,4BAJDC,SAIC;AAAA,MAJUC,aAIV,+BAJ0BC,aAI1B;AAAA,MAHEC,UAGF;;AACH,MAAMC,OAAO,GAAGC,MAAM,EAAtB;AACA,MAAMC,YAAY,GAAGD,MAAM,EAA3B;AAEAE,EAAAA,qBAAqB,CAAC;AACpBC,IAAAA,YAAY,EAAEJ,OADM;AAEpBE,IAAAA,YAAY,EAAZA;AAFoB,GAAD,CAArB;AAKA,sBACE,oBAAC,aAAD,eACMH,UADN;AAEE,IAAA,GAAG,EAAEM,SAAS,CAACjB,GAAD,EAAMY,OAAN,CAFhB;AAGE,IAAA,SAAS,EAAEM,EAAE,CAAChB,SAAD,EAAY,0BAAZ,CAHf;AAIE,IAAA,MAAM,EAAEiB,MAAM,CAACC,WAJjB;AAKE,IAAA,QAAQ,EAAEjB,QALZ;AAME,IAAA,SAAS,EAAEF,SANb;AAOE,IAAA,QAAQ,EAAEG,QAPZ;AAQE,IAAA,OAAO,EAAEC,OARX;AASE,IAAA,QAAQ,EAAEC,QATZ;AAUE,IAAA,QAAQ,EAAEW,SAAS,CAACH,YAAD,EAAeP,QAAf,CAVrB;AAWE,IAAA,aAAa,EAAE,EAXjB;AAYE,IAAA,cAAc;AAZhB,KADF;AAgBD,CAvCqC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FluidHeightList.js","sources":["../../../src/virtualization/FluidHeightList.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport AutoSizer from 'react-virtualized-auto-sizer';\n\nexport const FluidHeightList = forwardRef(\n ({ component: Component, ...props }, ref) => (\n <AutoSizer disableWidth>\n {({ height: fluidHeight }) => (\n <Component\n {...props}\n ref={ref}\n height={fluidHeight - 32} // taking in count the margins of the list\n />\n )}\n </AutoSizer>\n ),\n);\n"],"names":["FluidHeightList","forwardRef","ref","Component","component","props","fluidHeight","height"],"mappings":";;;;;;IAGaA,eAAe,gBAAGC,UAAU,CACvC,gBAAqCC,GAArC;AAAA,MAAcC,SAAd,QAAGC,SAAH;AAAA,MAA4BC,KAA5B;;AAAA,sBACE,oBAAC,SAAD;AAAW,IAAA,YAAY;AAAvB,KACG;AAAA,QAAWC,WAAX,SAAGC,MAAH;AAAA,wBACC,oBAAC,SAAD,eACMF,KADN;AAEE,MAAA,GAAG,EAAEH,GAFP;AAGE,MAAA,MAAM,EAAEI,WAAW,GAAG,EAHxB;;AAAA,OADD;AAAA,GADH,CADF;AAAA,CADuC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/virtualization/index.tsx"],"sourcesContent":["import { FluidHeightList } from './FluidHeightList';\nimport { AutoHeightList } from './AutoHeightList';\n\nexport { FluidHeightList, AutoHeightList };\n\nexport function getVirtualListComponent({\n component: Component,\n fluid,\n height,\n autoHeight,\n}) {\n if (autoHeight) return AutoHeightList;\n if (fluid) return FluidHeightList;\n return Component;\n}\n"],"names":["getVirtualListComponent","Component","component","fluid","height","autoHeight","AutoHeightList","FluidHeightList"],"mappings":";;;;;;;;;;;AAKO,SAASA,uBAAT,OAKJ;AAAA,MAJUC,SAIV,QAJDC,SAIC;AAAA,MAHDC,KAGC,QAHDA,KAGC;AAAA,WAFDC,MAEC;AAAA,UADDC,UACC,QADDA;AAEA,MAAIA,UAAJ,EAAgB,OAAOC,cAAP;AAChB,MAAIH,KAAJ,EAAW,OAAOI,eAAP;AACX,SAAON,SAAP;AACD;;;;"}
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/react-spring",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../cjs/react-spring/index.js",
9
- "module": "../esm/react-spring/index.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/react-spring/renderprops",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/react-spring/renderprops.js",
9
- "module": "../../esm/react-spring/renderprops.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/toolbar/ToolbarProvider",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/toolbar/ToolbarProvider.js",
9
- "module": "../../esm/toolbar/ToolbarProvider.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataGrid/VolatileRowsListener",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/useDataGrid/VolatileRowsListener.js",
9
- "module": "../../esm/useDataGrid/VolatileRowsListener.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataGrid/initColumnDefinition",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/useDataGrid/initColumnDefinition.js",
9
- "module": "../../esm/useDataGrid/initColumnDefinition.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataGrid",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../cjs/useDataGrid/index.js",
9
- "module": "../esm/useDataGrid/index.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataGrid/useDataGrid",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/useDataGrid/useDataGrid.js",
9
- "module": "../../esm/useDataGrid/useDataGrid.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataList",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../cjs/useDataList/index.js",
9
- "module": "../esm/useDataList/index.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataList/recordIterator",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/useDataList/recordIterator.js",
9
- "module": "../../esm/useDataList/recordIterator.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/useDataList/useDataList",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/useDataList/useDataList.js",
9
- "module": "../../esm/useDataList/useDataList.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/utils",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../cjs/utils.js",
9
- "module": "../esm/utils.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/virtualization/AutoHeightList",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/virtualization/AutoHeightList.js",
9
- "module": "../../esm/virtualization/AutoHeightList.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/virtualization/FluidHeightList",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../../cjs/virtualization/FluidHeightList.js",
9
- "module": "../../esm/virtualization/FluidHeightList.js"
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "@elliemae/ds-shared/virtualization",
3
- "sideEffects": [
4
- "*.css",
5
- "*.scss"
6
- ],
7
- "private": true,
8
- "main": "../cjs/virtualization/index.js",
9
- "module": "../esm/virtualization/index.js"
10
- }