@elyra/canvas 12.9.0 → 12.10.2

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 (445) hide show
  1. package/.eslintrc.js +1 -1
  2. package/README.md +1 -1
  3. package/build.sh +1 -1
  4. package/dist/canvas-constants-af93267a.js +2 -0
  5. package/dist/canvas-constants-af93267a.js.map +1 -0
  6. package/dist/canvas-constants-ffce3b78.js +2 -0
  7. package/dist/canvas-constants-ffce3b78.js.map +1 -0
  8. package/dist/canvas-controller-3f67c4fb.js +2 -0
  9. package/dist/canvas-controller-3f67c4fb.js.map +1 -0
  10. package/dist/canvas-controller-cee447d2.js +2 -0
  11. package/dist/canvas-controller-cee447d2.js.map +1 -0
  12. package/dist/common-canvas-e212a9c1.js +2 -0
  13. package/dist/common-canvas-e212a9c1.js.map +1 -0
  14. package/dist/common-canvas-e98191b3.js +2 -0
  15. package/dist/common-canvas-e98191b3.js.map +1 -0
  16. package/dist/common-canvas.es.js +1 -1
  17. package/dist/common-canvas.es.js.map +1 -1
  18. package/dist/common-canvas.js +1 -1
  19. package/dist/common-canvas.js.map +1 -1
  20. package/dist/common-properties-653e50e3.js +2 -0
  21. package/dist/common-properties-653e50e3.js.map +1 -0
  22. package/dist/common-properties-e2c6def7.js +2 -0
  23. package/dist/common-properties-e2c6def7.js.map +1 -0
  24. package/dist/datarecord-metadata-v3-schema-10ddafaf.js +2 -0
  25. package/dist/datarecord-metadata-v3-schema-10ddafaf.js.map +1 -0
  26. package/dist/datarecord-metadata-v3-schema-1504c843.js +2 -0
  27. package/dist/datarecord-metadata-v3-schema-1504c843.js.map +1 -0
  28. package/dist/{en-3f6094d9.js → en-517f38fc.js} +2 -2
  29. package/dist/{en-3f6094d9.js.map → en-517f38fc.js.map} +1 -1
  30. package/dist/{en-8e5bfa1b.js → en-dc6f2e9f.js} +2 -2
  31. package/dist/{en-8e5bfa1b.js.map → en-dc6f2e9f.js.map} +1 -1
  32. package/dist/extends-5a45f92e.js +7 -0
  33. package/dist/extends-5a45f92e.js.map +1 -0
  34. package/dist/extends-a52336ca.js +8 -0
  35. package/dist/extends-a52336ca.js.map +1 -0
  36. package/dist/flexible-table-e6ccbe58.js +2 -0
  37. package/dist/flexible-table-e6ccbe58.js.map +1 -0
  38. package/dist/flexible-table-f60c1680.js +2 -0
  39. package/dist/flexible-table-f60c1680.js.map +1 -0
  40. package/dist/index-567978da.js +2 -0
  41. package/dist/{index-c21aec1b.js.map → index-567978da.js.map} +1 -1
  42. package/dist/index-59486e9a.js +2 -0
  43. package/dist/{index-7e2e5c97.js.map → index-59486e9a.js.map} +1 -1
  44. package/dist/isEmpty-def8f509.js +2 -0
  45. package/dist/{isEmpty-5d2981b6.js.map → isEmpty-def8f509.js.map} +1 -1
  46. package/dist/isEmpty-e171b734.js +2 -0
  47. package/dist/{isEmpty-6528e7c8.js.map → isEmpty-e171b734.js.map} +1 -1
  48. package/dist/lib/canvas-controller.es.js +2 -0
  49. package/dist/lib/canvas-controller.es.js.map +1 -0
  50. package/dist/lib/canvas-controller.js +2 -0
  51. package/dist/lib/canvas-controller.js.map +1 -0
  52. package/dist/lib/canvas.es.js +1 -1
  53. package/dist/lib/canvas.js +1 -1
  54. package/dist/lib/command-stack.es.js.map +1 -1
  55. package/dist/lib/command-stack.js.map +1 -1
  56. package/dist/lib/context-menu.es.js +1 -1
  57. package/dist/lib/context-menu.es.js.map +1 -1
  58. package/dist/lib/context-menu.js +1 -1
  59. package/dist/lib/context-menu.js.map +1 -1
  60. package/dist/lib/properties/field-picker.es.js +1 -1
  61. package/dist/lib/properties/field-picker.js +1 -1
  62. package/dist/lib/properties/flexible-table.es.js +1 -1
  63. package/dist/lib/properties/flexible-table.js +1 -1
  64. package/dist/lib/properties.es.js +1 -1
  65. package/dist/lib/properties.js +1 -1
  66. package/dist/lib/tooltip.es.js +1 -1
  67. package/dist/lib/tooltip.es.js.map +1 -1
  68. package/dist/lib/tooltip.js +1 -1
  69. package/dist/lib/tooltip.js.map +1 -1
  70. package/dist/styles/common-canvas.min.css +1 -1
  71. package/dist/styles/common-canvas.min.css.map +1 -1
  72. package/dist/toolbar-404bf690.js +2 -0
  73. package/dist/toolbar-404bf690.js.map +1 -0
  74. package/dist/toolbar-611d8ab9.js +2 -0
  75. package/dist/toolbar-611d8ab9.js.map +1 -0
  76. package/locales/command-actions/locales/index.js +1 -1
  77. package/locales/common-canvas/locales/index.js +1 -1
  78. package/locales/common-properties/locales/index.js +1 -1
  79. package/locales/palette/locales/index.js +1 -1
  80. package/locales/toolbar/locales/index.js +1 -1
  81. package/package.json +7 -4
  82. package/rollup.config.js +11 -8
  83. package/src/.eslintrc.js +1 -1
  84. package/src/command-actions/arrangeLayoutAction.js +1 -1
  85. package/src/command-actions/attachNodeToLinksAction.js +1 -1
  86. package/src/command-actions/collapseSuperNodeInPlaceAction.js +1 -1
  87. package/src/command-actions/commonPropertiesAction.js +1 -1
  88. package/src/command-actions/convertSuperNodeExternalToLocalAction.js +1 -1
  89. package/src/command-actions/convertSuperNodeLocalToExternalAction.js +1 -1
  90. package/src/command-actions/createAutoNodeAction.js +1 -1
  91. package/src/command-actions/createCommentAction.js +1 -1
  92. package/src/command-actions/createCommentLinkAction.js +1 -1
  93. package/src/command-actions/createNodeAction.js +1 -1
  94. package/src/command-actions/createNodeAttachLinksAction.js +1 -1
  95. package/src/command-actions/createNodeLinkAction.js +1 -1
  96. package/src/command-actions/createNodeLinkDetachedAction.js +1 -1
  97. package/src/command-actions/createNodeOnLinkAction.js +1 -1
  98. package/src/command-actions/createSuperNodeAction.js +1 -1
  99. package/src/command-actions/deconstructSuperNodeAction.js +1 -1
  100. package/src/command-actions/deleteLinkAction.js +1 -1
  101. package/src/command-actions/deleteObjectsAction.js +1 -1
  102. package/src/command-actions/disconnectObjectsAction.js +1 -1
  103. package/src/command-actions/displayPreviousPipelineAction.js +1 -1
  104. package/src/command-actions/displaySubPipelineAction.js +1 -1
  105. package/src/command-actions/editCommentAction.js +1 -1
  106. package/src/command-actions/editDecorationLabelAction.js +1 -1
  107. package/src/command-actions/expandSuperNodeInPlaceAction.js +1 -1
  108. package/src/command-actions/insertNodeIntoLinkAction.js +1 -1
  109. package/src/command-actions/moveObjectsAction.js +1 -1
  110. package/src/command-actions/pasteAction.js +1 -1
  111. package/src/command-actions/saveToPaletteAction.js +1 -1
  112. package/src/command-actions/setLinksStyleAction.js +2 -2
  113. package/src/command-actions/setNodeLabelAction.js +1 -1
  114. package/src/command-actions/setObjectsStyleAction.js +2 -2
  115. package/src/command-actions/sizeAndPositionObjectsAction.js +1 -1
  116. package/src/command-actions/updateLinkAction.js +1 -1
  117. package/src/command-stack/action.js +1 -1
  118. package/src/command-stack/command-stack.js +1 -1
  119. package/src/common-canvas/canvas-controller.js +79 -10
  120. package/src/common-canvas/cc-bottom-panel.jsx +28 -37
  121. package/src/common-canvas/cc-central-items.jsx +1 -1
  122. package/src/common-canvas/cc-contents.jsx +12 -4
  123. package/src/common-canvas/cc-context-menu.jsx +1 -1
  124. package/src/common-canvas/cc-right-flyout.jsx +1 -1
  125. package/src/common-canvas/cc-toolbar.jsx +14 -9
  126. package/src/common-canvas/common-canvas-utils.js +1 -1
  127. package/src/common-canvas/common-canvas.jsx +25 -5
  128. package/src/common-canvas/common-canvas.scss +24 -10
  129. package/src/common-canvas/d3-zoom-extension/.eslintrc.js +1 -1
  130. package/src/common-canvas/index.js +1 -1
  131. package/src/common-canvas/label-util.js +1 -1
  132. package/src/common-canvas/local-storage.js +1 -1
  133. package/src/common-canvas/svg-canvas-d3.js +40 -33
  134. package/src/common-canvas/svg-canvas-d3.scss +2 -3
  135. package/src/common-canvas/svg-canvas-renderer.js +56 -35
  136. package/src/common-canvas/svg-canvas-utils-comments.js +1 -1
  137. package/src/common-canvas/svg-canvas-utils-decs.js +1 -1
  138. package/src/common-canvas/svg-canvas-utils-display.js +1 -1
  139. package/src/common-canvas/svg-canvas-utils-links.js +1 -1
  140. package/src/common-canvas/svg-canvas-utils-nodes.js +1 -1
  141. package/src/common-properties/actions/action-factory.js +1 -1
  142. package/src/common-properties/actions/actions.scss +1 -1
  143. package/src/common-properties/actions/button/button.jsx +1 -1
  144. package/src/common-properties/actions/button/button.scss +1 -1
  145. package/src/common-properties/actions/button/index.js +1 -1
  146. package/src/common-properties/actions/image/image.jsx +1 -1
  147. package/src/common-properties/actions/image/image.scss +1 -1
  148. package/src/common-properties/actions/image/index.js +1 -1
  149. package/src/common-properties/actions.js +1 -1
  150. package/src/common-properties/common-properties.jsx +1 -1
  151. package/src/common-properties/components/components.scss +1 -1
  152. package/src/common-properties/components/control-item/control-item.jsx +1 -1
  153. package/src/common-properties/components/control-item/control-item.scss +1 -1
  154. package/src/common-properties/components/control-item/index.js +1 -1
  155. package/src/common-properties/components/editor-form/editor-form.jsx +1 -1
  156. package/src/common-properties/components/editor-form/editor-form.scss +1 -1
  157. package/src/common-properties/components/editor-form/index.js +1 -1
  158. package/src/common-properties/components/empty-table/empty-table.jsx +1 -1
  159. package/src/common-properties/components/empty-table/empty-table.scss +1 -1
  160. package/src/common-properties/components/empty-table/index.js +1 -1
  161. package/src/common-properties/components/field-picker/field-picker.jsx +1 -1
  162. package/src/common-properties/components/field-picker/field-picker.scss +1 -1
  163. package/src/common-properties/components/field-picker/index.js +1 -1
  164. package/src/common-properties/components/flexible-table/flexible-table.jsx +1 -1
  165. package/src/common-properties/components/flexible-table/index.js +1 -1
  166. package/src/common-properties/components/main-editor-properties-buttons/index.js +1 -1
  167. package/src/common-properties/components/main-editor-properties-buttons/main-editor-properties-buttons.jsx +1 -1
  168. package/src/common-properties/components/moveable-table-rows/index.js +1 -1
  169. package/src/common-properties/components/moveable-table-rows/moveable-table-rows.jsx +1 -1
  170. package/src/common-properties/components/moveable-table-rows/moveable-table-rows.scss +1 -1
  171. package/src/common-properties/components/properties-buttons/index.js +1 -1
  172. package/src/common-properties/components/properties-buttons/properties-buttons.jsx +1 -1
  173. package/src/common-properties/components/properties-buttons/properties-buttons.scss +1 -1
  174. package/src/common-properties/components/properties-editor/index.js +1 -1
  175. package/src/common-properties/components/properties-editor/properties-editor.jsx +1 -1
  176. package/src/common-properties/components/properties-modal/index.js +1 -1
  177. package/src/common-properties/components/properties-modal/properties-modal.jsx +1 -1
  178. package/src/common-properties/components/properties-modal/properties-modal.scss +1 -1
  179. package/src/common-properties/components/title-editor/index.js +1 -1
  180. package/src/common-properties/components/title-editor/title-editor.jsx +1 -1
  181. package/src/common-properties/components/title-editor/title-editor.scss +1 -1
  182. package/src/common-properties/components/truncated-content-tooltip/index.js +1 -1
  183. package/src/common-properties/components/truncated-content-tooltip/truncated-content-tooltip.jsx +7 -2
  184. package/src/common-properties/components/truncated-content-tooltip/truncated-content-tooltip.scss +1 -1
  185. package/src/common-properties/components/validation-message/index.js +1 -1
  186. package/src/common-properties/components/validation-message/validation-message.jsx +1 -1
  187. package/src/common-properties/components/validation-message/validation-message.scss +1 -1
  188. package/src/common-properties/components/virtualized-table/index.js +1 -1
  189. package/src/common-properties/components/virtualized-table/virtualized-table.jsx +2 -3
  190. package/src/common-properties/components/virtualized-table/virtualized-table.scss +1 -1
  191. package/src/common-properties/components/wide-flyout/index.js +1 -1
  192. package/src/common-properties/components/wide-flyout/wide-flyout.jsx +1 -1
  193. package/src/common-properties/components/wide-flyout/wide-flyout.scss +1 -1
  194. package/src/common-properties/constants/constants.js +2 -2
  195. package/src/common-properties/constants/form-constants.js +1 -1
  196. package/src/common-properties/controls/abstract-table.jsx +1 -1
  197. package/src/common-properties/controls/abstract-table.scss +1 -1
  198. package/src/common-properties/controls/checkbox/checkbox.jsx +1 -1
  199. package/src/common-properties/controls/checkbox/checkbox.scss +1 -1
  200. package/src/common-properties/controls/checkbox/index.js +1 -1
  201. package/src/common-properties/controls/checkboxset/checkboxset.jsx +1 -1
  202. package/src/common-properties/controls/checkboxset/checkboxset.scss +1 -1
  203. package/src/common-properties/controls/checkboxset/index.js +1 -1
  204. package/src/common-properties/controls/control-factory.js +1 -1
  205. package/src/common-properties/controls/controls.scss +1 -1
  206. package/src/common-properties/controls/datefield/datefield.jsx +32 -32
  207. package/src/common-properties/controls/datefield/index.js +1 -1
  208. package/src/common-properties/controls/dropdown/dropdown.jsx +1 -1
  209. package/src/common-properties/controls/dropdown/dropdown.scss +1 -1
  210. package/src/common-properties/controls/dropdown/index.js +1 -1
  211. package/src/common-properties/controls/expression/expression-builder/expression-builder.jsx +1 -1
  212. package/src/common-properties/controls/expression/expression-builder/expression-builder.scss +1 -1
  213. package/src/common-properties/controls/expression/expression-builder/expression-select-field-function.jsx +1 -1
  214. package/src/common-properties/controls/expression/expression-builder/expression-select-operator.jsx +1 -1
  215. package/src/common-properties/controls/expression/expression-builder/expression-selection-panel.jsx +1 -1
  216. package/src/common-properties/controls/expression/expression.jsx +1 -1
  217. package/src/common-properties/controls/expression/expression.scss +1 -1
  218. package/src/common-properties/controls/expression/expressionInfo-parser.js +1 -1
  219. package/src/common-properties/controls/expression/index.js +1 -1
  220. package/src/common-properties/controls/expression/languages/CLEM-hint.js +1 -1
  221. package/src/common-properties/controls/expression/languages/python-hint.js +1 -1
  222. package/src/common-properties/controls/expression/languages/r-hint.js +1 -1
  223. package/src/common-properties/controls/list/index.js +1 -1
  224. package/src/common-properties/controls/list/list.jsx +1 -1
  225. package/src/common-properties/controls/multiselect/index.js +1 -1
  226. package/src/common-properties/controls/multiselect/multiselect.jsx +1 -1
  227. package/src/common-properties/controls/multiselect/multiselect.scss +1 -1
  228. package/src/common-properties/controls/numberfield/index.js +1 -1
  229. package/src/common-properties/controls/numberfield/numberfield.jsx +1 -1
  230. package/src/common-properties/controls/numberfield/numberfield.scss +1 -1
  231. package/src/common-properties/controls/passwordfield/index.js +1 -1
  232. package/src/common-properties/controls/passwordfield/passwordfield.jsx +1 -1
  233. package/src/common-properties/controls/radioset/index.js +1 -1
  234. package/src/common-properties/controls/radioset/radioset.jsx +1 -1
  235. package/src/common-properties/controls/radioset/radioset.scss +1 -1
  236. package/src/common-properties/controls/readonly/index.js +1 -1
  237. package/src/common-properties/controls/readonly/readonly.jsx +13 -8
  238. package/src/common-properties/controls/readonly/readonly.scss +1 -1
  239. package/src/common-properties/controls/readonlytable/index.js +1 -1
  240. package/src/common-properties/controls/readonlytable/readonlytable.jsx +1 -1
  241. package/src/common-properties/controls/selectcolumns/index.js +1 -1
  242. package/src/common-properties/controls/selectcolumns/selectcolumns.jsx +1 -1
  243. package/src/common-properties/controls/selectcolumns/selectcolumns.scss +1 -1
  244. package/src/common-properties/controls/someofselect/index.js +1 -1
  245. package/src/common-properties/controls/someofselect/someofselect.jsx +1 -1
  246. package/src/common-properties/controls/someofselect/someofselect.scss +1 -1
  247. package/src/common-properties/controls/structureeditor/index.js +1 -1
  248. package/src/common-properties/controls/structureeditor/structureeditor.jsx +1 -1
  249. package/src/common-properties/controls/structureeditor/structureeditor.scss +1 -1
  250. package/src/common-properties/controls/structurelisteditor/index.js +1 -1
  251. package/src/common-properties/controls/structurelisteditor/structurelisteditor.jsx +1 -1
  252. package/src/common-properties/controls/structuretable/index.js +1 -1
  253. package/src/common-properties/controls/structuretable/structuretable.jsx +1 -1
  254. package/src/common-properties/controls/textarea/index.js +1 -1
  255. package/src/common-properties/controls/textarea/textarea.jsx +1 -1
  256. package/src/common-properties/controls/textarea/textarea.scss +1 -1
  257. package/src/common-properties/controls/textfield/index.js +1 -1
  258. package/src/common-properties/controls/textfield/textfield.jsx +1 -1
  259. package/src/common-properties/controls/textfield/textfield.scss +1 -1
  260. package/src/common-properties/controls/timefield/index.js +1 -1
  261. package/src/common-properties/controls/timefield/timefield.jsx +32 -33
  262. package/src/common-properties/controls/toggletext/index.js +1 -1
  263. package/src/common-properties/controls/toggletext/toggletext.jsx +1 -1
  264. package/src/common-properties/controls/toggletext/toggletext.scss +1 -1
  265. package/src/common-properties/form/ActionInfo.js +1 -1
  266. package/src/common-properties/form/Conditions.js +1 -1
  267. package/src/common-properties/form/ControlInfo.js +1 -1
  268. package/src/common-properties/form/EditorForm.js +1 -1
  269. package/src/common-properties/form/Form.js +1 -1
  270. package/src/common-properties/form/GroupInfo.js +1 -1
  271. package/src/common-properties/form/ParameterInfo.js +1 -1
  272. package/src/common-properties/form/PropertyDef.js +1 -1
  273. package/src/common-properties/form/StructureInfo.js +1 -1
  274. package/src/common-properties/form/UIItem.js +1 -1
  275. package/src/common-properties/index.js +1 -1
  276. package/src/common-properties/index.scss +1 -1
  277. package/src/common-properties/panels/action-panel/action-panel.jsx +1 -1
  278. package/src/common-properties/panels/action-panel/action-panel.scss +1 -1
  279. package/src/common-properties/panels/action-panel/index.js +1 -1
  280. package/src/common-properties/panels/column/column.jsx +1 -1
  281. package/src/common-properties/panels/column/column.scss +1 -1
  282. package/src/common-properties/panels/column/index.js +1 -1
  283. package/src/common-properties/panels/control/control.jsx +1 -1
  284. package/src/common-properties/panels/control/control.scss +1 -1
  285. package/src/common-properties/panels/control/index.js +1 -1
  286. package/src/common-properties/panels/panels.scss +1 -1
  287. package/src/common-properties/panels/selector/index.js +1 -1
  288. package/src/common-properties/panels/selector/selector.jsx +1 -1
  289. package/src/common-properties/panels/sub-panel/button.jsx +1 -1
  290. package/src/common-properties/panels/sub-panel/cell.jsx +1 -1
  291. package/src/common-properties/panels/sub-panel/invoker.jsx +1 -1
  292. package/src/common-properties/panels/sub-panel/sub-panel.scss +1 -1
  293. package/src/common-properties/panels/subtabs/index.js +1 -1
  294. package/src/common-properties/panels/subtabs/subtabs.jsx +1 -1
  295. package/src/common-properties/panels/subtabs/subtabs.scss +1 -1
  296. package/src/common-properties/panels/summary/index.js +1 -1
  297. package/src/common-properties/panels/summary/summary.jsx +1 -1
  298. package/src/common-properties/panels/summary/summary.scss +1 -1
  299. package/src/common-properties/panels/text-panel/index.js +1 -1
  300. package/src/common-properties/panels/text-panel/text-panel.jsx +1 -1
  301. package/src/common-properties/panels/text-panel/text-panel.scss +1 -1
  302. package/src/common-properties/panels/twisty/index.js +1 -1
  303. package/src/common-properties/panels/twisty/twisty.jsx +1 -1
  304. package/src/common-properties/panels/twisty/twisty.scss +1 -1
  305. package/src/common-properties/properties-controller.js +1 -1
  306. package/src/common-properties/properties-main/index.js +1 -1
  307. package/src/common-properties/properties-main/properties-main-widths.scss +1 -1
  308. package/src/common-properties/properties-main/properties-main.jsx +1 -1
  309. package/src/common-properties/properties-main/properties-main.scss +1 -1
  310. package/src/common-properties/properties-store.js +1 -1
  311. package/src/common-properties/reducers/action-states.js +1 -1
  312. package/src/common-properties/reducers/component-metadata.js +1 -1
  313. package/src/common-properties/reducers/control-states.js +1 -1
  314. package/src/common-properties/reducers/dataset-metadata.js +1 -1
  315. package/src/common-properties/reducers/disable-row-move-buttons.js +1 -1
  316. package/src/common-properties/reducers/error-messages.js +1 -1
  317. package/src/common-properties/reducers/panel-states.js +1 -1
  318. package/src/common-properties/reducers/properties.js +1 -1
  319. package/src/common-properties/reducers/row-selections.js +1 -1
  320. package/src/common-properties/reducers/row-static.js +1 -1
  321. package/src/common-properties/reducers/save-button-disable.jsx +1 -1
  322. package/src/common-properties/schema-validator/properties-schema-validator.js +2 -2
  323. package/src/common-properties/ui-conditions/condition-ops/cellNotEmpty.js +1 -1
  324. package/src/common-properties/ui-conditions/condition-ops/colDoesExists.js +1 -1
  325. package/src/common-properties/ui-conditions/condition-ops/colNotExists.js +1 -1
  326. package/src/common-properties/ui-conditions/condition-ops/condition-ops.js +1 -1
  327. package/src/common-properties/ui-conditions/condition-ops/contains.js +1 -1
  328. package/src/common-properties/ui-conditions/condition-ops/dmMeasurementEquals.js +1 -1
  329. package/src/common-properties/ui-conditions/condition-ops/dmMeasurementNotEquals.js +1 -1
  330. package/src/common-properties/ui-conditions/condition-ops/dmRoleEquals.js +1 -1
  331. package/src/common-properties/ui-conditions/condition-ops/dmRoleNotEquals.js +1 -1
  332. package/src/common-properties/ui-conditions/condition-ops/dmTypeEquals.js +1 -1
  333. package/src/common-properties/ui-conditions/condition-ops/dmTypeNotEquals.js +1 -1
  334. package/src/common-properties/ui-conditions/condition-ops/equals.js +1 -1
  335. package/src/common-properties/ui-conditions/condition-ops/greaterThan.js +1 -1
  336. package/src/common-properties/ui-conditions/condition-ops/isDateTime.js +7 -5
  337. package/src/common-properties/ui-conditions/condition-ops/isEmpty.js +1 -1
  338. package/src/common-properties/ui-conditions/condition-ops/isNotEmpty.js +1 -1
  339. package/src/common-properties/ui-conditions/condition-ops/lengthEquals.js +1 -1
  340. package/src/common-properties/ui-conditions/condition-ops/lengthGreaterThan.js +1 -1
  341. package/src/common-properties/ui-conditions/condition-ops/lengthLessThan.js +1 -1
  342. package/src/common-properties/ui-conditions/condition-ops/lessThan.js +1 -1
  343. package/src/common-properties/ui-conditions/condition-ops/matches.js +1 -1
  344. package/src/common-properties/ui-conditions/condition-ops/notContains.js +1 -1
  345. package/src/common-properties/ui-conditions/condition-ops/notEquals.js +1 -1
  346. package/src/common-properties/ui-conditions/condition-ops/notMatches.js +1 -1
  347. package/src/common-properties/ui-conditions/conditions-utils.js +1 -1
  348. package/src/common-properties/ui-conditions/ui-conditions-parser.js +1 -1
  349. package/src/common-properties/ui-conditions/ui-conditions.js +1 -1
  350. package/src/common-properties/ui-conditions/ui-groups-parser.js +1 -1
  351. package/src/common-properties/util/L10nProvider.js +1 -1
  352. package/src/common-properties/util/control-utils.js +1 -1
  353. package/src/common-properties/util/property-utils.js +1 -1
  354. package/src/context-menu/common-context-menu.jsx +12 -3
  355. package/src/context-menu/context-menu-wrapper.jsx +1 -1
  356. package/src/context-menu/context-menu.scss +1 -1
  357. package/src/flow-validation/validate-flow.js +2 -2
  358. package/src/icons/icon.jsx +1 -1
  359. package/src/icons/icon.scss +1 -1
  360. package/src/index.js +1 -1
  361. package/src/index.scss +1 -1
  362. package/src/logging/canvas-logger.js +1 -1
  363. package/src/notification-panel/notification-panel.jsx +1 -1
  364. package/src/notification-panel/notification-panel.scss +1 -1
  365. package/src/object-model/api-pipeline.js +9 -37
  366. package/src/object-model/canvas-in-handler.js +2 -2
  367. package/src/object-model/canvas-out-handler.js +1 -1
  368. package/src/object-model/config-utils.js +2 -2
  369. package/src/object-model/layout-dimensions.js +1 -1
  370. package/src/object-model/object-model.js +1 -1
  371. package/src/object-model/pipeline-in-handler.js +2 -3
  372. package/src/object-model/pipeline-out-handler.js +1 -1
  373. package/src/object-model/redux/canvas-store.js +69 -1
  374. package/src/object-model/redux/reducers/bottompanel.js +1 -1
  375. package/src/object-model/redux/reducers/breadcrumbs.js +1 -1
  376. package/src/object-model/redux/reducers/canvasconfig.js +1 -1
  377. package/src/object-model/redux/reducers/canvasinfo.js +1 -1
  378. package/src/object-model/redux/reducers/canvastoolbar.js +1 -1
  379. package/src/object-model/redux/reducers/categories.js +1 -1
  380. package/src/object-model/redux/reducers/comments.js +1 -1
  381. package/src/object-model/redux/reducers/contextmenu.js +1 -1
  382. package/src/object-model/redux/reducers/externalpipelineflows.js +1 -1
  383. package/src/object-model/redux/reducers/links.js +1 -1
  384. package/src/object-model/redux/reducers/nodes.js +1 -1
  385. package/src/object-model/redux/reducers/nodetypes.js +1 -1
  386. package/src/object-model/redux/reducers/notificationpanel.js +1 -1
  387. package/src/object-model/redux/reducers/notifications.js +1 -1
  388. package/src/object-model/redux/reducers/palette.js +1 -1
  389. package/src/object-model/redux/reducers/ports.js +1 -1
  390. package/src/object-model/redux/reducers/rightflyout.js +1 -1
  391. package/src/object-model/redux/reducers/selectioninfo.js +1 -1
  392. package/src/object-model/redux/reducers/tooltip.js +1 -1
  393. package/src/object-model/schemas-utils/schema-validator.js +2 -2
  394. package/src/object-model/schemas-utils/upgrade-palette.js +1 -1
  395. package/src/palette/palette-content-list-item.jsx +7 -6
  396. package/src/palette/palette-content-list.jsx +4 -2
  397. package/src/palette/palette-dialog-content-categories.jsx +1 -1
  398. package/src/palette/palette-dialog-content-category.jsx +1 -1
  399. package/src/palette/palette-dialog-content-grid-node.jsx +8 -7
  400. package/src/palette/palette-dialog-content-grid.jsx +4 -1
  401. package/src/palette/palette-dialog-content.jsx +5 -2
  402. package/src/palette/palette-dialog-topbar-three-way-icon.jsx +1 -1
  403. package/src/palette/palette-dialog-topbar.jsx +1 -1
  404. package/src/palette/palette-dialog.jsx +4 -2
  405. package/src/palette/palette-flyout-content-category.jsx +1 -1
  406. package/src/palette/palette-flyout-content-filtered-list.jsx +3 -1
  407. package/src/palette/palette-flyout-content-search.jsx +1 -1
  408. package/src/palette/palette-flyout-content.jsx +6 -3
  409. package/src/palette/palette-flyout-utils.js +5 -5
  410. package/src/palette/palette-flyout.jsx +4 -2
  411. package/src/palette/palette.jsx +6 -2
  412. package/src/palette/palette.scss +1 -1
  413. package/src/toolbar/toolbar-action-item.jsx +19 -6
  414. package/src/toolbar/toolbar-divider-item.jsx +1 -1
  415. package/src/toolbar/toolbar-overflow-item.jsx +1 -1
  416. package/src/toolbar/toolbar.jsx +2 -6
  417. package/src/toolbar/toolbar.scss +2 -2
  418. package/src/tooltip/tooltip.jsx +1 -1
  419. package/src/tooltip/tooltip.scss +1 -1
  420. package/stats.html +1 -1
  421. package/utils/logger.js +1 -1
  422. package/dist/canvas-controller-6f6b6511.js +0 -2
  423. package/dist/canvas-controller-6f6b6511.js.map +0 -1
  424. package/dist/canvas-controller-bf6c2800.js +0 -2
  425. package/dist/canvas-controller-bf6c2800.js.map +0 -1
  426. package/dist/common-properties-20877208.js +0 -2
  427. package/dist/common-properties-20877208.js.map +0 -1
  428. package/dist/common-properties-ea686c1c.js +0 -2
  429. package/dist/common-properties-ea686c1c.js.map +0 -1
  430. package/dist/datarecord-metadata-v3-schema-b4ad907c.js +0 -2
  431. package/dist/datarecord-metadata-v3-schema-b4ad907c.js.map +0 -1
  432. package/dist/datarecord-metadata-v3-schema-bf4483dd.js +0 -2
  433. package/dist/datarecord-metadata-v3-schema-bf4483dd.js.map +0 -1
  434. package/dist/extends-112ec8af.js +0 -8
  435. package/dist/extends-112ec8af.js.map +0 -1
  436. package/dist/extends-51fe578d.js +0 -7
  437. package/dist/extends-51fe578d.js.map +0 -1
  438. package/dist/flexible-table-13570aa9.js +0 -2
  439. package/dist/flexible-table-13570aa9.js.map +0 -1
  440. package/dist/flexible-table-20276887.js +0 -2
  441. package/dist/flexible-table-20276887.js.map +0 -1
  442. package/dist/index-7e2e5c97.js +0 -2
  443. package/dist/index-c21aec1b.js +0 -2
  444. package/dist/isEmpty-5d2981b6.js +0 -2
  445. package/dist/isEmpty-6528e7c8.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"flexible-table-20276887.js","sources":["../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/react-virtualized/dist/commonjs/vendor/detectElementResize.js","../node_modules/react-virtualized/dist/commonjs/AutoSizer/AutoSizer.js","../node_modules/react-virtualized/dist/commonjs/AutoSizer/index.js","../node_modules/react-virtualized/dist/commonjs/Table/createMultiSort.js","../node_modules/react-virtualized/dist/commonjs/Table/types.js","../node_modules/react-virtualized/dist/commonjs/Table/defaultCellDataGetter.js","../node_modules/react-virtualized/dist/commonjs/Table/defaultCellRenderer.js","../node_modules/react-virtualized/dist/commonjs/Table/defaultHeaderRowRenderer.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/react-virtualized/dist/commonjs/Table/SortDirection.js","../node_modules/react-virtualized/dist/commonjs/Table/SortIndicator.js","../node_modules/react-virtualized/dist/commonjs/Table/defaultHeaderRenderer.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/react-virtualized/dist/commonjs/Table/defaultRowRenderer.js","../node_modules/react-virtualized/dist/commonjs/Table/Column.js","../node_modules/react-virtualized/dist/commonjs/Grid/utils/calculateSizeAndPositionDataAndUpdateScrollOffset.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/react-virtualized/dist/commonjs/Grid/types.js","../node_modules/react-virtualized/dist/commonjs/Grid/utils/CellSizeAndPositionManager.js","../node_modules/react-virtualized/dist/commonjs/Grid/utils/maxElementSize.js","../node_modules/react-virtualized/dist/commonjs/Grid/utils/ScalingCellSizeAndPositionManager.js","../node_modules/react-virtualized/dist/commonjs/utils/createCallbackMemoizer.js","../node_modules/react-virtualized/dist/commonjs/Grid/defaultOverscanIndicesGetter.js","../node_modules/react-virtualized/dist/commonjs/Grid/utils/updateScrollIndexHelper.js","../node_modules/react-virtualized/dist/commonjs/Grid/defaultCellRangeRenderer.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-virtualized/dist/commonjs/utils/animationFrame.js","../node_modules/react-virtualized/dist/commonjs/utils/requestAnimationTimeout.js","../node_modules/react-virtualized/dist/commonjs/Grid/Grid.js","../node_modules/react-virtualized/dist/commonjs/Grid/accessibilityOverscanIndicesGetter.js","../node_modules/react-virtualized/dist/commonjs/Grid/index.js","../node_modules/react-virtualized/dist/commonjs/Table/Table.js","../node_modules/react-virtualized/dist/commonjs/Table/index.js","../src/common-properties/components/virtualized-table/virtualized-table.jsx","../src/common-properties/components/flexible-table/flexible-table.jsx"],"sourcesContent":["function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createDetectElementResize;\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n * 5) Added support for injecting custom window object\n **/\nfunction createDetectElementResize(nonce, hostWindow) {\n // Check `document` and `window` in case of server-side rendering\n var _window;\n\n if (typeof hostWindow !== 'undefined') {\n _window = hostWindow;\n } else if (typeof window !== 'undefined') {\n _window = window;\n } else if (typeof self !== 'undefined') {\n _window = self;\n } else {\n _window = global;\n }\n\n var attachEvent = typeof _window.document !== 'undefined' && _window.document.attachEvent;\n\n if (!attachEvent) {\n var requestFrame = function () {\n var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || function (fn) {\n return _window.setTimeout(fn, 20);\n };\n\n return function (fn) {\n return raf(fn);\n };\n }();\n\n var cancelFrame = function () {\n var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || _window.clearTimeout;\n return function (id) {\n return cancel(id);\n };\n }();\n\n var resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function checkTriggers(element) {\n return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;\n };\n\n var scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n /* Detect CSS Animations support to detect element display/re-attach */\n\n\n var animation = false,\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),\n pfx = '';\n {\n var elm = _window.document.createElement('fakeelement');\n\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n var animationName = 'resizeanim';\n var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n\n var elementStyle = _window.getComputedStyle(element);\n\n if (elementStyle && elementStyle.position == 'static') {\n element.style.position = 'relative';\n }\n\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var resizeTriggersHtml = '<div class=\"expand-trigger\"><div></div></div>' + '<div class=\"contract-trigger\"></div>';\n\n if (window.trustedTypes) {\n var staticPolicy = trustedTypes.createPolicy('react-virtualized-auto-sizer', {\n createHTML: function createHTML() {\n return resizeTriggersHtml;\n }\n });\n element.__resizeTriggers__.innerHTML = staticPolicy.createHTML('');\n } else {\n element.__resizeTriggers__.innerHTML = resizeTriggersHtml;\n }\n\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n /* Listen for a css animation to detect element display/re-attach */\n\n if (animationstartevent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName == animationName) {\n resetTriggers(element);\n }\n };\n\n element.__resizeTriggers__.addEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);\n }\n }\n\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationstartevent, element.__resizeTriggers__.__animationListener__);\n\n element.__resizeTriggers__.__animationListener__ = null;\n }\n\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {// Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf3 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _detectElementResize = _interopRequireDefault(require(\"../vendor/detectElementResize\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _class, _temp;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar AutoSizer = (_temp = _class =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2[\"default\"])(AutoSizer, _React$Component);\n\n function AutoSizer() {\n var _getPrototypeOf2;\n\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, AutoSizer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3[\"default\"])(AutoSizer)).call.apply(_getPrototypeOf2, [this].concat(args)));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_parentNode\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_autoSizer\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_window\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_detectElementResize\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_onResize\", function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n var height = _this._parentNode.offsetHeight || 0;\n var width = _this._parentNode.offsetWidth || 0;\n var win = _this._window || window;\n var style = win.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(style.paddingRight, 10) || 0;\n var paddingTop = parseInt(style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(style.paddingBottom, 10) || 0;\n var newHeight = height - paddingTop - paddingBottom;\n var newWidth = width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: height - paddingTop - paddingBottom,\n width: width - paddingLeft - paddingRight\n });\n\n onResize({\n height: height,\n width: width\n });\n }\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_setRef\", function (autoSizer) {\n _this._autoSizer = autoSizer;\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(AutoSizer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n this._window = this._autoSizer.parentNode.ownerDocument.defaultView; // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n\n this._detectElementResize = (0, _detectElementResize[\"default\"])(nonce, this._window);\n\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n disableHeight = _this$props2.disableHeight,\n disableWidth = _this$props2.disableWidth,\n style = _this$props2.style;\n var _this$state = this.state,\n height = _this$state.height,\n width = _this$state.width; // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = {\n overflow: 'visible'\n };\n var childParams = {};\n\n if (!disableHeight) {\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n outerStyle.width = 0;\n childParams.width = width;\n }\n /**\n * TODO: Avoid rendering children before the initial measurements have been collected.\n * At best this would just be wasting cycles.\n * Add this check into version 10 though as it could break too many ref callbacks in version 9.\n * Note that if default width/height props were provided this would still work with SSR.\n if (\n height !== 0 &&\n width !== 0\n ) {\n child = children({ height, width })\n }\n */\n\n\n return React.createElement(\"div\", {\n className: className,\n ref: this._setRef,\n style: _objectSpread({}, outerStyle, {}, style)\n }, children(childParams));\n }\n }]);\n return AutoSizer;\n}(React.Component), (0, _defineProperty2[\"default\"])(_class, \"propTypes\", process.env.NODE_ENV === 'production' ? null : {\n /** Function responsible for rendering children.*/\n \"children\": _propTypes[\"default\"].func.isRequired,\n\n /** Optional custom CSS class name to attach to root AutoSizer element. */\n \"className\": _propTypes[\"default\"].string,\n\n /** Default height to use for initial render; useful for SSR */\n \"defaultHeight\": _propTypes[\"default\"].number,\n\n /** Default width to use for initial render; useful for SSR */\n \"defaultWidth\": _propTypes[\"default\"].number,\n\n /** Disable dynamic :height property */\n \"disableHeight\": _propTypes[\"default\"].bool.isRequired,\n\n /** Disable dynamic :width property */\n \"disableWidth\": _propTypes[\"default\"].bool.isRequired,\n\n /** Nonce of the inlined stylesheet for Content Security Policy */\n \"nonce\": _propTypes[\"default\"].string,\n\n /** Callback to be invoked on-resize */\n \"onResize\": _propTypes[\"default\"].func.isRequired,\n\n /** Optional inline style */\n \"style\": _propTypes[\"default\"].object\n}), _temp);\nexports[\"default\"] = AutoSizer;\n(0, _defineProperty2[\"default\"])(AutoSizer, \"defaultProps\", {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _AutoSizer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"AutoSizer\", {\n enumerable: true,\n get: function get() {\n return _AutoSizer[\"default\"];\n }\n});\n\nvar _AutoSizer = _interopRequireDefault(require(\"./AutoSizer\"));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createMultiSort;\n\nfunction createMultiSort(sortCallback) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n defaultSortBy = _ref.defaultSortBy,\n _ref$defaultSortDirec = _ref.defaultSortDirection,\n defaultSortDirection = _ref$defaultSortDirec === void 0 ? {} : _ref$defaultSortDirec;\n\n if (!sortCallback) {\n throw Error(\"Required parameter \\\"sortCallback\\\" not specified\");\n }\n\n var sortBy = defaultSortBy || [];\n var sortDirection = {};\n sortBy.forEach(function (dataKey) {\n sortDirection[dataKey] = defaultSortDirection[dataKey] !== undefined ? defaultSortDirection[dataKey] : 'ASC';\n });\n\n function sort(_ref2) {\n var defaultSortDirection = _ref2.defaultSortDirection,\n event = _ref2.event,\n dataKey = _ref2.sortBy;\n\n if (event.shiftKey) {\n // Shift + click appends a column to existing criteria\n if (sortDirection[dataKey] !== undefined) {\n sortDirection[dataKey] = sortDirection[dataKey] === 'ASC' ? 'DESC' : 'ASC';\n } else {\n sortDirection[dataKey] = defaultSortDirection;\n sortBy.push(dataKey);\n }\n } else if (event.ctrlKey || event.metaKey) {\n // Control + click removes column from sort (if pressent)\n var index = sortBy.indexOf(dataKey);\n\n if (index >= 0) {\n sortBy.splice(index, 1);\n delete sortDirection[dataKey];\n }\n } else {\n // Clear sortBy array of all non-selected keys\n sortBy.length = 0;\n sortBy.push(dataKey); // Clear sortDirection object of all non-selected keys\n\n var sortDirectionKeys = Object.keys(sortDirection);\n sortDirectionKeys.forEach(function (key) {\n if (key !== dataKey) delete sortDirection[key];\n }); // If key is already selected, reverse sort direction.\n // Else, set sort direction to default direction.\n\n if (sortDirection[dataKey] !== undefined) {\n sortDirection[dataKey] = sortDirection[dataKey] === 'ASC' ? 'DESC' : 'ASC';\n } else {\n sortDirection[dataKey] = defaultSortDirection;\n }\n } // Notify application code\n\n\n sortCallback({\n sortBy: sortBy,\n sortDirection: sortDirection\n });\n }\n\n return {\n sort: sort,\n sortBy: sortBy,\n sortDirection: sortDirection\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bpfrpt_proptype_RowRendererParams = exports.bpfrpt_proptype_HeaderRendererParams = exports.bpfrpt_proptype_HeaderRowRendererParams = exports.bpfrpt_proptype_CellRendererParams = exports.bpfrpt_proptype_CellDataGetterParams = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar bpfrpt_proptype_CellDataGetterParams = process.env.NODE_ENV === 'production' ? null : {\n \"columnData\": _propTypes[\"default\"].any,\n \"dataKey\": _propTypes[\"default\"].string.isRequired,\n \"rowData\": function rowData(props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n }\n};\nexports.bpfrpt_proptype_CellDataGetterParams = bpfrpt_proptype_CellDataGetterParams;\nvar bpfrpt_proptype_CellRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"cellData\": _propTypes[\"default\"].any,\n \"columnData\": _propTypes[\"default\"].any,\n \"dataKey\": _propTypes[\"default\"].string.isRequired,\n \"rowData\": function rowData(props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n },\n \"rowIndex\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_CellRendererParams = bpfrpt_proptype_CellRendererParams;\nvar bpfrpt_proptype_HeaderRowRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"className\": _propTypes[\"default\"].string.isRequired,\n \"columns\": _propTypes[\"default\"].arrayOf(function (props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n }).isRequired,\n \"style\": function style(props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n }\n};\nexports.bpfrpt_proptype_HeaderRowRendererParams = bpfrpt_proptype_HeaderRowRendererParams;\nvar bpfrpt_proptype_HeaderRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"columnData\": _propTypes[\"default\"].any,\n \"dataKey\": _propTypes[\"default\"].string.isRequired,\n \"disableSort\": _propTypes[\"default\"].bool,\n \"label\": _propTypes[\"default\"].any,\n \"sortBy\": _propTypes[\"default\"].string,\n \"sortDirection\": _propTypes[\"default\"].string\n};\nexports.bpfrpt_proptype_HeaderRendererParams = bpfrpt_proptype_HeaderRendererParams;\nvar bpfrpt_proptype_RowRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"className\": _propTypes[\"default\"].string.isRequired,\n \"columns\": _propTypes[\"default\"].arrayOf(function (props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n }).isRequired,\n \"index\": _propTypes[\"default\"].number.isRequired,\n \"isScrolling\": _propTypes[\"default\"].bool.isRequired,\n \"onRowClick\": _propTypes[\"default\"].func,\n \"onRowDoubleClick\": _propTypes[\"default\"].func,\n \"onRowMouseOver\": _propTypes[\"default\"].func,\n \"onRowMouseOut\": _propTypes[\"default\"].func,\n \"rowData\": function rowData(props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n },\n \"style\": function style(props, propName, componentName) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n throw new Error(\"Prop `\".concat(propName, \"` has type 'any' or 'mixed', but was not provided to `\").concat(componentName, \"`. Pass undefined or any other value.\"));\n }\n },\n \"key\": _propTypes[\"default\"].string.isRequired\n};\nexports.bpfrpt_proptype_RowRendererParams = bpfrpt_proptype_RowRendererParams;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultCellDataGetter;\n\nvar _types = require(\"./types\");\n\n/**\n * Default accessor for returning a cell value for a given attribute.\n * This function expects to operate on either a vanilla Object or an Immutable Map.\n * You should override the column's cellDataGetter if your data is some other type of object.\n */\nfunction defaultCellDataGetter(_ref) {\n var dataKey = _ref.dataKey,\n rowData = _ref.rowData;\n\n if (typeof rowData.get === 'function') {\n return rowData.get(dataKey);\n } else {\n return rowData[dataKey];\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultCellRenderer;\n\nvar _types = require(\"./types\");\n\n/**\n * Default cell renderer that displays an attribute as a simple string\n * You should override the column's cellRenderer if your data is some other type of object.\n */\nfunction defaultCellRenderer(_ref) {\n var cellData = _ref.cellData;\n\n if (cellData == null) {\n return '';\n } else {\n return String(cellData);\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultHeaderRowRenderer;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _types = require(\"./types\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction defaultHeaderRowRenderer(_ref) {\n var className = _ref.className,\n columns = _ref.columns,\n style = _ref.style;\n return React.createElement(\"div\", {\n className: className,\n role: \"row\",\n style: style\n }, columns);\n}\n\ndefaultHeaderRowRenderer.propTypes = process.env.NODE_ENV === 'production' ? null : _types.bpfrpt_proptype_HeaderRowRendererParams === _propTypes[\"default\"].any ? {} : _types.bpfrpt_proptype_HeaderRowRendererParams;","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar SortDirection = {\n /**\n * Sort items in ascending order.\n * This means arranging from the lowest value to the highest (e.g. a-z, 0-9).\n */\n ASC: 'ASC',\n\n /**\n * Sort items in descending order.\n * This means arranging from the highest value to the lowest (e.g. z-a, 9-0).\n */\n DESC: 'DESC'\n};\nvar _default = SortDirection;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = SortIndicator;\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _SortDirection = _interopRequireDefault(require(\"./SortDirection\"));\n\n/**\n * Displayed beside a header to indicate that a Table is currently sorted by this column.\n */\nfunction SortIndicator(_ref) {\n var sortDirection = _ref.sortDirection;\n var classNames = (0, _clsx[\"default\"])('ReactVirtualized__Table__sortableHeaderIcon', {\n 'ReactVirtualized__Table__sortableHeaderIcon--ASC': sortDirection === _SortDirection[\"default\"].ASC,\n 'ReactVirtualized__Table__sortableHeaderIcon--DESC': sortDirection === _SortDirection[\"default\"].DESC\n });\n return React.createElement(\"svg\", {\n className: classNames,\n width: 18,\n height: 18,\n viewBox: \"0 0 24 24\"\n }, sortDirection === _SortDirection[\"default\"].ASC ? React.createElement(\"path\", {\n d: \"M7 14l5-5 5 5z\"\n }) : React.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n }), React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n }));\n}\n\nSortIndicator.propTypes = process.env.NODE_ENV !== \"production\" ? {\n sortDirection: _propTypes[\"default\"].oneOf([_SortDirection[\"default\"].ASC, _SortDirection[\"default\"].DESC])\n} : {};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultHeaderRenderer;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _SortIndicator = _interopRequireDefault(require(\"./SortIndicator\"));\n\nvar _types = require(\"./types\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n/**\n * Default table header renderer.\n */\nfunction defaultHeaderRenderer(_ref) {\n var dataKey = _ref.dataKey,\n label = _ref.label,\n sortBy = _ref.sortBy,\n sortDirection = _ref.sortDirection;\n var showSortIndicator = sortBy === dataKey;\n var children = [React.createElement(\"span\", {\n className: \"ReactVirtualized__Table__headerTruncatedText\",\n key: \"label\",\n title: typeof label === 'string' ? label : null\n }, label)];\n\n if (showSortIndicator) {\n children.push(React.createElement(_SortIndicator[\"default\"], {\n key: \"SortIndicator\",\n sortDirection: sortDirection\n }));\n }\n\n return children;\n}\n\ndefaultHeaderRenderer.propTypes = process.env.NODE_ENV === 'production' ? null : _types.bpfrpt_proptype_HeaderRendererParams === _propTypes[\"default\"].any ? {} : _types.bpfrpt_proptype_HeaderRendererParams;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultRowRenderer;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _types = require(\"./types\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n/**\n * Default row renderer for Table.\n */\nfunction defaultRowRenderer(_ref) {\n var className = _ref.className,\n columns = _ref.columns,\n index = _ref.index,\n key = _ref.key,\n onRowClick = _ref.onRowClick,\n onRowDoubleClick = _ref.onRowDoubleClick,\n onRowMouseOut = _ref.onRowMouseOut,\n onRowMouseOver = _ref.onRowMouseOver,\n onRowRightClick = _ref.onRowRightClick,\n rowData = _ref.rowData,\n style = _ref.style;\n var a11yProps = {\n 'aria-rowindex': index + 1\n };\n\n if (onRowClick || onRowDoubleClick || onRowMouseOut || onRowMouseOver || onRowRightClick) {\n a11yProps['aria-label'] = 'row';\n a11yProps.tabIndex = 0;\n\n if (onRowClick) {\n a11yProps.onClick = function (event) {\n return onRowClick({\n event: event,\n index: index,\n rowData: rowData\n });\n };\n }\n\n if (onRowDoubleClick) {\n a11yProps.onDoubleClick = function (event) {\n return onRowDoubleClick({\n event: event,\n index: index,\n rowData: rowData\n });\n };\n }\n\n if (onRowMouseOut) {\n a11yProps.onMouseOut = function (event) {\n return onRowMouseOut({\n event: event,\n index: index,\n rowData: rowData\n });\n };\n }\n\n if (onRowMouseOver) {\n a11yProps.onMouseOver = function (event) {\n return onRowMouseOver({\n event: event,\n index: index,\n rowData: rowData\n });\n };\n }\n\n if (onRowRightClick) {\n a11yProps.onContextMenu = function (event) {\n return onRowRightClick({\n event: event,\n index: index,\n rowData: rowData\n });\n };\n }\n }\n\n return React.createElement(\"div\", (0, _extends2[\"default\"])({}, a11yProps, {\n className: className,\n key: key,\n role: \"row\",\n style: style\n }), columns);\n}\n\ndefaultRowRenderer.propTypes = process.env.NODE_ENV === 'production' ? null : _types.bpfrpt_proptype_RowRendererParams === _propTypes[\"default\"].any ? {} : _types.bpfrpt_proptype_RowRendererParams;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _defaultHeaderRenderer = _interopRequireDefault(require(\"./defaultHeaderRenderer\"));\n\nvar _defaultCellRenderer = _interopRequireDefault(require(\"./defaultCellRenderer\"));\n\nvar _defaultCellDataGetter = _interopRequireDefault(require(\"./defaultCellDataGetter\"));\n\nvar _SortDirection = _interopRequireDefault(require(\"./SortDirection\"));\n\n/**\n * Describes the header and cell contents of a table column.\n */\nvar Column =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2[\"default\"])(Column, _React$Component);\n\n function Column() {\n (0, _classCallCheck2[\"default\"])(this, Column);\n return (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Column).apply(this, arguments));\n }\n\n return Column;\n}(React.Component);\n\nexports[\"default\"] = Column;\n(0, _defineProperty2[\"default\"])(Column, \"defaultProps\", {\n cellDataGetter: _defaultCellDataGetter[\"default\"],\n cellRenderer: _defaultCellRenderer[\"default\"],\n defaultSortDirection: _SortDirection[\"default\"].ASC,\n flexGrow: 0,\n flexShrink: 1,\n headerRenderer: _defaultHeaderRenderer[\"default\"],\n style: {}\n});\nColumn.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Optional aria-label value to set on the column header */\n 'aria-label': _propTypes[\"default\"].string,\n\n /**\n * Callback responsible for returning a cell's data, given its :dataKey\n * ({ columnData: any, dataKey: string, rowData: any }): any\n */\n cellDataGetter: _propTypes[\"default\"].func,\n\n /**\n * Callback responsible for rendering a cell's contents.\n * ({ cellData: any, columnData: any, dataKey: string, rowData: any, rowIndex: number }): node\n */\n cellRenderer: _propTypes[\"default\"].func,\n\n /** Optional CSS class to apply to cell */\n className: _propTypes[\"default\"].string,\n\n /** Optional additional data passed to this column's :cellDataGetter */\n columnData: _propTypes[\"default\"].object,\n\n /** Uniquely identifies the row-data attribute corresponding to this cell */\n dataKey: _propTypes[\"default\"].any.isRequired,\n\n /** Optional direction to be used when clicked the first time */\n defaultSortDirection: _propTypes[\"default\"].oneOf([_SortDirection[\"default\"].ASC, _SortDirection[\"default\"].DESC]),\n\n /** If sort is enabled for the table at large, disable it for this column */\n disableSort: _propTypes[\"default\"].bool,\n\n /** Flex grow style; defaults to 0 */\n flexGrow: _propTypes[\"default\"].number,\n\n /** Flex shrink style; defaults to 1 */\n flexShrink: _propTypes[\"default\"].number,\n\n /** Optional CSS class to apply to this column's header */\n headerClassName: _propTypes[\"default\"].string,\n\n /**\n * Optional callback responsible for rendering a column header contents.\n * ({ columnData: object, dataKey: string, disableSort: boolean, label: node, sortBy: string, sortDirection: string }): PropTypes.node\n */\n headerRenderer: _propTypes[\"default\"].func.isRequired,\n\n /** Optional inline style to apply to this column's header */\n headerStyle: _propTypes[\"default\"].object,\n\n /** Optional id to set on the column header */\n id: _propTypes[\"default\"].string,\n\n /** Header label for this column */\n label: _propTypes[\"default\"].node,\n\n /** Maximum width of column; this property will only be used if :flexGrow is > 0. */\n maxWidth: _propTypes[\"default\"].number,\n\n /** Minimum width of column. */\n minWidth: _propTypes[\"default\"].number,\n\n /** Optional inline style to apply to cell */\n style: _propTypes[\"default\"].object,\n\n /** Flex basis (width) for this column; This value can grow or shrink based on :flexGrow and :flexShrink properties. */\n width: _propTypes[\"default\"].number.isRequired\n} : {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = calculateSizeAndPositionDataAndUpdateScrollOffset;\n\n/**\n * Helper method that determines when to recalculate row or column metadata.\n */\nfunction calculateSizeAndPositionDataAndUpdateScrollOffset(_ref) {\n var cellCount = _ref.cellCount,\n cellSize = _ref.cellSize,\n computeMetadataCallback = _ref.computeMetadataCallback,\n computeMetadataCallbackProps = _ref.computeMetadataCallbackProps,\n nextCellsCount = _ref.nextCellsCount,\n nextCellSize = _ref.nextCellSize,\n nextScrollToIndex = _ref.nextScrollToIndex,\n scrollToIndex = _ref.scrollToIndex,\n updateScrollOffsetForScrollToIndex = _ref.updateScrollOffsetForScrollToIndex;\n\n // Don't compare cell sizes if they are functions because inline functions would cause infinite loops.\n // In that event users should use the manual recompute methods to inform of changes.\n if (cellCount !== nextCellsCount || (typeof cellSize === 'number' || typeof nextCellSize === 'number') && cellSize !== nextCellSize) {\n computeMetadataCallback(computeMetadataCallbackProps); // Updated cell metadata may have hidden the previous scrolled-to item.\n // In this case we should also update the scrollTop to ensure it stays visible.\n\n if (scrollToIndex >= 0 && scrollToIndex === nextScrollToIndex) {\n updateScrollOffsetForScrollToIndex();\n }\n }\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bpfrpt_proptype_VisibleCellRange = exports.bpfrpt_proptype_Alignment = exports.bpfrpt_proptype_OverscanIndicesGetter = exports.bpfrpt_proptype_OverscanIndices = exports.bpfrpt_proptype_OverscanIndicesGetterParams = exports.bpfrpt_proptype_RenderedSection = exports.bpfrpt_proptype_ScrollbarPresenceChange = exports.bpfrpt_proptype_Scroll = exports.bpfrpt_proptype_NoContentRenderer = exports.bpfrpt_proptype_CellSize = exports.bpfrpt_proptype_CellSizeGetter = exports.bpfrpt_proptype_CellRangeRenderer = exports.bpfrpt_proptype_CellRangeRendererParams = exports.bpfrpt_proptype_StyleCache = exports.bpfrpt_proptype_CellCache = exports.bpfrpt_proptype_CellRenderer = exports.bpfrpt_proptype_CellRendererParams = exports.bpfrpt_proptype_CellPosition = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _ScalingCellSizeAndPositionManager = _interopRequireDefault(require(\"./utils/ScalingCellSizeAndPositionManager\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar bpfrpt_proptype_CellPosition = process.env.NODE_ENV === 'production' ? null : {\n \"columnIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowIndex\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_CellPosition = bpfrpt_proptype_CellPosition;\nvar bpfrpt_proptype_CellRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"columnIndex\": _propTypes[\"default\"].number.isRequired,\n \"isScrolling\": _propTypes[\"default\"].bool.isRequired,\n \"isVisible\": _propTypes[\"default\"].bool.isRequired,\n \"key\": _propTypes[\"default\"].string.isRequired,\n \"parent\": _propTypes[\"default\"].object.isRequired,\n \"rowIndex\": _propTypes[\"default\"].number.isRequired,\n \"style\": _propTypes[\"default\"].object.isRequired\n};\nexports.bpfrpt_proptype_CellRendererParams = bpfrpt_proptype_CellRendererParams;\nvar bpfrpt_proptype_CellRenderer = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].func;\nexports.bpfrpt_proptype_CellRenderer = bpfrpt_proptype_CellRenderer;\nvar bpfrpt_proptype_CellCache = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].objectOf(_propTypes[\"default\"].node.isRequired);\nexports.bpfrpt_proptype_CellCache = bpfrpt_proptype_CellCache;\nvar bpfrpt_proptype_StyleCache = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].objectOf(_propTypes[\"default\"].object.isRequired);\nexports.bpfrpt_proptype_StyleCache = bpfrpt_proptype_StyleCache;\nvar bpfrpt_proptype_CellRangeRendererParams = process.env.NODE_ENV === 'production' ? null : {\n \"cellCache\": _propTypes[\"default\"].objectOf(_propTypes[\"default\"].node.isRequired).isRequired,\n \"cellRenderer\": _propTypes[\"default\"].func.isRequired,\n \"columnSizeAndPositionManager\": function columnSizeAndPositionManager() {\n return (typeof _ScalingCellSizeAndPositionManager[\"default\"] === \"function\" ? _propTypes[\"default\"].instanceOf(_ScalingCellSizeAndPositionManager[\"default\"]).isRequired : _propTypes[\"default\"].any.isRequired).apply(this, arguments);\n },\n \"columnStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"columnStopIndex\": _propTypes[\"default\"].number.isRequired,\n \"deferredMeasurementCache\": _propTypes[\"default\"].object,\n \"horizontalOffsetAdjustment\": _propTypes[\"default\"].number.isRequired,\n \"isScrolling\": _propTypes[\"default\"].bool.isRequired,\n \"isScrollingOptOut\": _propTypes[\"default\"].bool.isRequired,\n \"parent\": _propTypes[\"default\"].object.isRequired,\n \"rowSizeAndPositionManager\": function rowSizeAndPositionManager() {\n return (typeof _ScalingCellSizeAndPositionManager[\"default\"] === \"function\" ? _propTypes[\"default\"].instanceOf(_ScalingCellSizeAndPositionManager[\"default\"]).isRequired : _propTypes[\"default\"].any.isRequired).apply(this, arguments);\n },\n \"rowStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowStopIndex\": _propTypes[\"default\"].number.isRequired,\n \"scrollLeft\": _propTypes[\"default\"].number.isRequired,\n \"scrollTop\": _propTypes[\"default\"].number.isRequired,\n \"styleCache\": _propTypes[\"default\"].objectOf(_propTypes[\"default\"].object.isRequired).isRequired,\n \"verticalOffsetAdjustment\": _propTypes[\"default\"].number.isRequired,\n \"visibleColumnIndices\": _propTypes[\"default\"].object.isRequired,\n \"visibleRowIndices\": _propTypes[\"default\"].object.isRequired\n};\nexports.bpfrpt_proptype_CellRangeRendererParams = bpfrpt_proptype_CellRangeRendererParams;\nvar bpfrpt_proptype_CellRangeRenderer = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].func;\nexports.bpfrpt_proptype_CellRangeRenderer = bpfrpt_proptype_CellRangeRenderer;\nvar bpfrpt_proptype_CellSizeGetter = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].func;\nexports.bpfrpt_proptype_CellSizeGetter = bpfrpt_proptype_CellSizeGetter;\nvar bpfrpt_proptype_CellSize = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].number]);\nexports.bpfrpt_proptype_CellSize = bpfrpt_proptype_CellSize;\nvar bpfrpt_proptype_NoContentRenderer = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].func;\nexports.bpfrpt_proptype_NoContentRenderer = bpfrpt_proptype_NoContentRenderer;\nvar bpfrpt_proptype_Scroll = process.env.NODE_ENV === 'production' ? null : {\n \"clientHeight\": _propTypes[\"default\"].number.isRequired,\n \"clientWidth\": _propTypes[\"default\"].number.isRequired,\n \"scrollHeight\": _propTypes[\"default\"].number.isRequired,\n \"scrollLeft\": _propTypes[\"default\"].number.isRequired,\n \"scrollTop\": _propTypes[\"default\"].number.isRequired,\n \"scrollWidth\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_Scroll = bpfrpt_proptype_Scroll;\nvar bpfrpt_proptype_ScrollbarPresenceChange = process.env.NODE_ENV === 'production' ? null : {\n \"horizontal\": _propTypes[\"default\"].bool.isRequired,\n \"vertical\": _propTypes[\"default\"].bool.isRequired,\n \"size\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_ScrollbarPresenceChange = bpfrpt_proptype_ScrollbarPresenceChange;\nvar bpfrpt_proptype_RenderedSection = process.env.NODE_ENV === 'production' ? null : {\n \"columnOverscanStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"columnOverscanStopIndex\": _propTypes[\"default\"].number.isRequired,\n \"columnStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"columnStopIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowOverscanStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowOverscanStopIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"rowStopIndex\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_RenderedSection = bpfrpt_proptype_RenderedSection;\nvar bpfrpt_proptype_OverscanIndicesGetterParams = process.env.NODE_ENV === 'production' ? null : {\n // One of SCROLL_DIRECTION_HORIZONTAL or SCROLL_DIRECTION_VERTICAL\n \"direction\": _propTypes[\"default\"].oneOf([\"horizontal\", \"vertical\"]).isRequired,\n // One of SCROLL_DIRECTION_BACKWARD or SCROLL_DIRECTION_FORWARD\n \"scrollDirection\": _propTypes[\"default\"].oneOf([-1, 1]).isRequired,\n // Number of rows or columns in the current axis\n \"cellCount\": _propTypes[\"default\"].number.isRequired,\n // Maximum number of cells to over-render in either direction\n \"overscanCellsCount\": _propTypes[\"default\"].number.isRequired,\n // Begin of range of visible cells\n \"startIndex\": _propTypes[\"default\"].number.isRequired,\n // End of range of visible cells\n \"stopIndex\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_OverscanIndicesGetterParams = bpfrpt_proptype_OverscanIndicesGetterParams;\nvar bpfrpt_proptype_OverscanIndices = process.env.NODE_ENV === 'production' ? null : {\n \"overscanStartIndex\": _propTypes[\"default\"].number.isRequired,\n \"overscanStopIndex\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_OverscanIndices = bpfrpt_proptype_OverscanIndices;\nvar bpfrpt_proptype_OverscanIndicesGetter = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].func;\nexports.bpfrpt_proptype_OverscanIndicesGetter = bpfrpt_proptype_OverscanIndicesGetter;\nvar bpfrpt_proptype_Alignment = process.env.NODE_ENV === 'production' ? null : _propTypes[\"default\"].oneOf([\"auto\", \"end\", \"start\", \"center\"]);\nexports.bpfrpt_proptype_Alignment = bpfrpt_proptype_Alignment;\nvar bpfrpt_proptype_VisibleCellRange = process.env.NODE_ENV === 'production' ? null : {\n \"start\": _propTypes[\"default\"].number,\n \"stop\": _propTypes[\"default\"].number\n};\nexports.bpfrpt_proptype_VisibleCellRange = bpfrpt_proptype_VisibleCellRange;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _types = require(\"../types\");\n\n/**\n * Just-in-time calculates and caches size and position information for a collection of cells.\n */\nvar CellSizeAndPositionManager =\n/*#__PURE__*/\nfunction () {\n // Cache of size and position data for cells, mapped by cell index.\n // Note that invalid values may exist in this map so only rely on cells up to this._lastMeasuredIndex\n // Measurements for cells up to this index can be trusted; cells afterward should be estimated.\n // Used in deferred mode to track which cells have been queued for measurement.\n function CellSizeAndPositionManager(_ref) {\n var cellCount = _ref.cellCount,\n cellSizeGetter = _ref.cellSizeGetter,\n estimatedCellSize = _ref.estimatedCellSize;\n (0, _classCallCheck2[\"default\"])(this, CellSizeAndPositionManager);\n (0, _defineProperty2[\"default\"])(this, \"_cellSizeAndPositionData\", {});\n (0, _defineProperty2[\"default\"])(this, \"_lastMeasuredIndex\", -1);\n (0, _defineProperty2[\"default\"])(this, \"_lastBatchedIndex\", -1);\n (0, _defineProperty2[\"default\"])(this, \"_cellCount\", void 0);\n (0, _defineProperty2[\"default\"])(this, \"_cellSizeGetter\", void 0);\n (0, _defineProperty2[\"default\"])(this, \"_estimatedCellSize\", void 0);\n this._cellSizeGetter = cellSizeGetter;\n this._cellCount = cellCount;\n this._estimatedCellSize = estimatedCellSize;\n }\n\n (0, _createClass2[\"default\"])(CellSizeAndPositionManager, [{\n key: \"areOffsetsAdjusted\",\n value: function areOffsetsAdjusted() {\n return false;\n }\n }, {\n key: \"configure\",\n value: function configure(_ref2) {\n var cellCount = _ref2.cellCount,\n estimatedCellSize = _ref2.estimatedCellSize,\n cellSizeGetter = _ref2.cellSizeGetter;\n this._cellCount = cellCount;\n this._estimatedCellSize = estimatedCellSize;\n this._cellSizeGetter = cellSizeGetter;\n }\n }, {\n key: \"getCellCount\",\n value: function getCellCount() {\n return this._cellCount;\n }\n }, {\n key: \"getEstimatedCellSize\",\n value: function getEstimatedCellSize() {\n return this._estimatedCellSize;\n }\n }, {\n key: \"getLastMeasuredIndex\",\n value: function getLastMeasuredIndex() {\n return this._lastMeasuredIndex;\n }\n }, {\n key: \"getOffsetAdjustment\",\n value: function getOffsetAdjustment() {\n return 0;\n }\n /**\n * This method returns the size and position for the cell at the specified index.\n * It just-in-time calculates (or used cached values) for cells leading up to the index.\n */\n\n }, {\n key: \"getSizeAndPositionOfCell\",\n value: function getSizeAndPositionOfCell(index) {\n if (index < 0 || index >= this._cellCount) {\n throw Error(\"Requested index \".concat(index, \" is outside of range 0..\").concat(this._cellCount));\n }\n\n if (index > this._lastMeasuredIndex) {\n var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell();\n var offset = lastMeasuredCellSizeAndPosition.offset + lastMeasuredCellSizeAndPosition.size;\n\n for (var i = this._lastMeasuredIndex + 1; i <= index; i++) {\n var size = this._cellSizeGetter({\n index: i\n }); // undefined or NaN probably means a logic error in the size getter.\n // null means we're using CellMeasurer and haven't yet measured a given index.\n\n\n if (size === undefined || isNaN(size)) {\n throw Error(\"Invalid size returned for cell \".concat(i, \" of value \").concat(size));\n } else if (size === null) {\n this._cellSizeAndPositionData[i] = {\n offset: offset,\n size: 0\n };\n this._lastBatchedIndex = index;\n } else {\n this._cellSizeAndPositionData[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n this._lastMeasuredIndex = index;\n }\n }\n }\n\n return this._cellSizeAndPositionData[index];\n }\n }, {\n key: \"getSizeAndPositionOfLastMeasuredCell\",\n value: function getSizeAndPositionOfLastMeasuredCell() {\n return this._lastMeasuredIndex >= 0 ? this._cellSizeAndPositionData[this._lastMeasuredIndex] : {\n offset: 0,\n size: 0\n };\n }\n /**\n * Total size of all cells being measured.\n * This value will be completely estimated initially.\n * As cells are measured, the estimate will be updated.\n */\n\n }, {\n key: \"getTotalSize\",\n value: function getTotalSize() {\n var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell();\n var totalSizeOfMeasuredCells = lastMeasuredCellSizeAndPosition.offset + lastMeasuredCellSizeAndPosition.size;\n var numUnmeasuredCells = this._cellCount - this._lastMeasuredIndex - 1;\n var totalSizeOfUnmeasuredCells = numUnmeasuredCells * this._estimatedCellSize;\n return totalSizeOfMeasuredCells + totalSizeOfUnmeasuredCells;\n }\n /**\n * Determines a new offset that ensures a certain cell is visible, given the current offset.\n * If the cell is already visible then the current offset will be returned.\n * If the current offset is too great or small, it will be adjusted just enough to ensure the specified index is visible.\n *\n * @param align Desired alignment within container; one of \"auto\" (default), \"start\", or \"end\"\n * @param containerSize Size (width or height) of the container viewport\n * @param currentOffset Container's current (x or y) offset\n * @param totalSize Total size (width or height) of all cells\n * @return Offset to use to ensure the specified cell is visible\n */\n\n }, {\n key: \"getUpdatedOffsetForIndex\",\n value: function getUpdatedOffsetForIndex(_ref3) {\n var _ref3$align = _ref3.align,\n align = _ref3$align === void 0 ? 'auto' : _ref3$align,\n containerSize = _ref3.containerSize,\n currentOffset = _ref3.currentOffset,\n targetIndex = _ref3.targetIndex;\n\n if (containerSize <= 0) {\n return 0;\n }\n\n var datum = this.getSizeAndPositionOfCell(targetIndex);\n var maxOffset = datum.offset;\n var minOffset = maxOffset - containerSize + datum.size;\n var idealOffset;\n\n switch (align) {\n case 'start':\n idealOffset = maxOffset;\n break;\n\n case 'end':\n idealOffset = minOffset;\n break;\n\n case 'center':\n idealOffset = maxOffset - (containerSize - datum.size) / 2;\n break;\n\n default:\n idealOffset = Math.max(minOffset, Math.min(maxOffset, currentOffset));\n break;\n }\n\n var totalSize = this.getTotalSize();\n return Math.max(0, Math.min(totalSize - containerSize, idealOffset));\n }\n }, {\n key: \"getVisibleCellRange\",\n value: function getVisibleCellRange(params) {\n var containerSize = params.containerSize,\n offset = params.offset;\n var totalSize = this.getTotalSize();\n\n if (totalSize === 0) {\n return {};\n }\n\n var maxOffset = offset + containerSize;\n\n var start = this._findNearestCell(offset);\n\n var datum = this.getSizeAndPositionOfCell(start);\n offset = datum.offset + datum.size;\n var stop = start;\n\n while (offset < maxOffset && stop < this._cellCount - 1) {\n stop++;\n offset += this.getSizeAndPositionOfCell(stop).size;\n }\n\n return {\n start: start,\n stop: stop\n };\n }\n /**\n * Clear all cached values for cells after the specified index.\n * This method should be called for any cell that has changed its size.\n * It will not immediately perform any calculations; they'll be performed the next time getSizeAndPositionOfCell() is called.\n */\n\n }, {\n key: \"resetCell\",\n value: function resetCell(index) {\n this._lastMeasuredIndex = Math.min(this._lastMeasuredIndex, index - 1);\n }\n }, {\n key: \"_binarySearch\",\n value: function _binarySearch(high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = this.getSizeAndPositionOfCell(middle).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n }\n }, {\n key: \"_exponentialSearch\",\n value: function _exponentialSearch(index, offset) {\n var interval = 1;\n\n while (index < this._cellCount && this.getSizeAndPositionOfCell(index).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return this._binarySearch(Math.min(index, this._cellCount - 1), Math.floor(index / 2), offset);\n }\n /**\n * Searches for the cell (index) nearest the specified offset.\n *\n * If no exact match is found the next lowest cell index will be returned.\n * This allows partially visible cells (with offsets just before/above the fold) to be visible.\n */\n\n }, {\n key: \"_findNearestCell\",\n value: function _findNearestCell(offset) {\n if (isNaN(offset)) {\n throw Error(\"Invalid offset \".concat(offset, \" specified\"));\n } // Our search algorithms find the nearest match at or below the specified offset.\n // So make sure the offset is at least 0 or no match will be found.\n\n\n offset = Math.max(0, offset);\n var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell();\n var lastMeasuredIndex = Math.max(0, this._lastMeasuredIndex);\n\n if (lastMeasuredCellSizeAndPosition.offset >= offset) {\n // If we've already measured cells within this range just use a binary search as it's faster.\n return this._binarySearch(lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of cells as a binary search would.\n // The overall complexity for this approach is O(log n).\n return this._exponentialSearch(lastMeasuredIndex, offset);\n }\n }\n }]);\n return CellSizeAndPositionManager;\n}();\n\nexports[\"default\"] = CellSizeAndPositionManager;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMaxElementSize = void 0;\nvar DEFAULT_MAX_ELEMENT_SIZE = 1500000;\nvar CHROME_MAX_ELEMENT_SIZE = 1.67771e7;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== 'undefined';\n};\n\nvar isChrome = function isChrome() {\n return !!window.chrome;\n};\n\nvar getMaxElementSize = function getMaxElementSize() {\n if (isBrowser()) {\n if (isChrome()) {\n return CHROME_MAX_ELEMENT_SIZE;\n }\n }\n\n return DEFAULT_MAX_ELEMENT_SIZE;\n};\n\nexports.getMaxElementSize = getMaxElementSize;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _CellSizeAndPositionManager = _interopRequireDefault(require(\"./CellSizeAndPositionManager\"));\n\nvar _maxElementSize = require(\"./maxElementSize.js\");\n\nvar _types = require(\"../types\");\n\n/**\n * Extends CellSizeAndPositionManager and adds scaling behavior for lists that are too large to fit within a browser's native limits.\n */\nvar ScalingCellSizeAndPositionManager =\n/*#__PURE__*/\nfunction () {\n function ScalingCellSizeAndPositionManager(_ref) {\n var _ref$maxScrollSize = _ref.maxScrollSize,\n maxScrollSize = _ref$maxScrollSize === void 0 ? (0, _maxElementSize.getMaxElementSize)() : _ref$maxScrollSize,\n params = (0, _objectWithoutProperties2[\"default\"])(_ref, [\"maxScrollSize\"]);\n (0, _classCallCheck2[\"default\"])(this, ScalingCellSizeAndPositionManager);\n (0, _defineProperty2[\"default\"])(this, \"_cellSizeAndPositionManager\", void 0);\n (0, _defineProperty2[\"default\"])(this, \"_maxScrollSize\", void 0);\n // Favor composition over inheritance to simplify IE10 support\n this._cellSizeAndPositionManager = new _CellSizeAndPositionManager[\"default\"](params);\n this._maxScrollSize = maxScrollSize;\n }\n\n (0, _createClass2[\"default\"])(ScalingCellSizeAndPositionManager, [{\n key: \"areOffsetsAdjusted\",\n value: function areOffsetsAdjusted() {\n return this._cellSizeAndPositionManager.getTotalSize() > this._maxScrollSize;\n }\n }, {\n key: \"configure\",\n value: function configure(params) {\n this._cellSizeAndPositionManager.configure(params);\n }\n }, {\n key: \"getCellCount\",\n value: function getCellCount() {\n return this._cellSizeAndPositionManager.getCellCount();\n }\n }, {\n key: \"getEstimatedCellSize\",\n value: function getEstimatedCellSize() {\n return this._cellSizeAndPositionManager.getEstimatedCellSize();\n }\n }, {\n key: \"getLastMeasuredIndex\",\n value: function getLastMeasuredIndex() {\n return this._cellSizeAndPositionManager.getLastMeasuredIndex();\n }\n /**\n * Number of pixels a cell at the given position (offset) should be shifted in order to fit within the scaled container.\n * The offset passed to this function is scaled (safe) as well.\n */\n\n }, {\n key: \"getOffsetAdjustment\",\n value: function getOffsetAdjustment(_ref2) {\n var containerSize = _ref2.containerSize,\n offset = _ref2.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n\n var safeTotalSize = this.getTotalSize();\n\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: safeTotalSize\n });\n\n return Math.round(offsetPercentage * (safeTotalSize - totalSize));\n }\n }, {\n key: \"getSizeAndPositionOfCell\",\n value: function getSizeAndPositionOfCell(index) {\n return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(index);\n }\n }, {\n key: \"getSizeAndPositionOfLastMeasuredCell\",\n value: function getSizeAndPositionOfLastMeasuredCell() {\n return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell();\n }\n /** See CellSizeAndPositionManager#getTotalSize */\n\n }, {\n key: \"getTotalSize\",\n value: function getTotalSize() {\n return Math.min(this._maxScrollSize, this._cellSizeAndPositionManager.getTotalSize());\n }\n /** See CellSizeAndPositionManager#getUpdatedOffsetForIndex */\n\n }, {\n key: \"getUpdatedOffsetForIndex\",\n value: function getUpdatedOffsetForIndex(_ref3) {\n var _ref3$align = _ref3.align,\n align = _ref3$align === void 0 ? 'auto' : _ref3$align,\n containerSize = _ref3.containerSize,\n currentOffset = _ref3.currentOffset,\n targetIndex = _ref3.targetIndex;\n currentOffset = this._safeOffsetToOffset({\n containerSize: containerSize,\n offset: currentOffset\n });\n\n var offset = this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({\n align: align,\n containerSize: containerSize,\n currentOffset: currentOffset,\n targetIndex: targetIndex\n });\n\n return this._offsetToSafeOffset({\n containerSize: containerSize,\n offset: offset\n });\n }\n /** See CellSizeAndPositionManager#getVisibleCellRange */\n\n }, {\n key: \"getVisibleCellRange\",\n value: function getVisibleCellRange(_ref4) {\n var containerSize = _ref4.containerSize,\n offset = _ref4.offset;\n offset = this._safeOffsetToOffset({\n containerSize: containerSize,\n offset: offset\n });\n return this._cellSizeAndPositionManager.getVisibleCellRange({\n containerSize: containerSize,\n offset: offset\n });\n }\n }, {\n key: \"resetCell\",\n value: function resetCell(index) {\n this._cellSizeAndPositionManager.resetCell(index);\n }\n }, {\n key: \"_getOffsetPercentage\",\n value: function _getOffsetPercentage(_ref5) {\n var containerSize = _ref5.containerSize,\n offset = _ref5.offset,\n totalSize = _ref5.totalSize;\n return totalSize <= containerSize ? 0 : offset / (totalSize - containerSize);\n }\n }, {\n key: \"_offsetToSafeOffset\",\n value: function _offsetToSafeOffset(_ref6) {\n var containerSize = _ref6.containerSize,\n offset = _ref6.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n\n var safeTotalSize = this.getTotalSize();\n\n if (totalSize === safeTotalSize) {\n return offset;\n } else {\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: totalSize\n });\n\n return Math.round(offsetPercentage * (safeTotalSize - containerSize));\n }\n }\n }, {\n key: \"_safeOffsetToOffset\",\n value: function _safeOffsetToOffset(_ref7) {\n var containerSize = _ref7.containerSize,\n offset = _ref7.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n\n var safeTotalSize = this.getTotalSize();\n\n if (totalSize === safeTotalSize) {\n return offset;\n } else {\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: safeTotalSize\n });\n\n return Math.round(offsetPercentage * (totalSize - containerSize));\n }\n }\n }]);\n return ScalingCellSizeAndPositionManager;\n}();\n\nexports[\"default\"] = ScalingCellSizeAndPositionManager;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createCallbackMemoizer;\n\n/**\n * Helper utility that updates the specified callback whenever any of the specified indices have changed.\n */\nfunction createCallbackMemoizer() {\n var requireAllKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cachedIndices = {};\n return function (_ref) {\n var callback = _ref.callback,\n indices = _ref.indices;\n var keys = Object.keys(indices);\n var allInitialized = !requireAllKeys || keys.every(function (key) {\n var value = indices[key];\n return Array.isArray(value) ? value.length > 0 : value >= 0;\n });\n var indexChanged = keys.length !== Object.keys(cachedIndices).length || keys.some(function (key) {\n var cachedValue = cachedIndices[key];\n var value = indices[key];\n return Array.isArray(value) ? cachedValue.join(',') !== value.join(',') : cachedValue !== value;\n });\n cachedIndices = indices;\n\n if (allInitialized && indexChanged) {\n callback(indices);\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultOverscanIndicesGetter;\nexports.SCROLL_DIRECTION_VERTICAL = exports.SCROLL_DIRECTION_HORIZONTAL = exports.SCROLL_DIRECTION_FORWARD = exports.SCROLL_DIRECTION_BACKWARD = void 0;\n\nvar _types = require(\"./types\");\n\nvar SCROLL_DIRECTION_BACKWARD = -1;\nexports.SCROLL_DIRECTION_BACKWARD = SCROLL_DIRECTION_BACKWARD;\nvar SCROLL_DIRECTION_FORWARD = 1;\nexports.SCROLL_DIRECTION_FORWARD = SCROLL_DIRECTION_FORWARD;\nvar SCROLL_DIRECTION_HORIZONTAL = 'horizontal';\nexports.SCROLL_DIRECTION_HORIZONTAL = SCROLL_DIRECTION_HORIZONTAL;\nvar SCROLL_DIRECTION_VERTICAL = 'vertical';\n/**\n * Calculates the number of cells to overscan before and after a specified range.\n * This function ensures that overscanning doesn't exceed the available cells.\n */\n\nexports.SCROLL_DIRECTION_VERTICAL = SCROLL_DIRECTION_VERTICAL;\n\nfunction defaultOverscanIndicesGetter(_ref) {\n var cellCount = _ref.cellCount,\n overscanCellsCount = _ref.overscanCellsCount,\n scrollDirection = _ref.scrollDirection,\n startIndex = _ref.startIndex,\n stopIndex = _ref.stopIndex;\n\n if (scrollDirection === SCROLL_DIRECTION_FORWARD) {\n return {\n overscanStartIndex: Math.max(0, startIndex),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount)\n };\n } else {\n return {\n overscanStartIndex: Math.max(0, startIndex - overscanCellsCount),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex)\n };\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = updateScrollIndexHelper;\n\nvar _ScalingCellSizeAndPositionManager = _interopRequireDefault(require(\"./ScalingCellSizeAndPositionManager.js\"));\n\nvar _types = require(\"../types\");\n\nfunction updateScrollIndexHelper(_ref) {\n var cellSize = _ref.cellSize,\n cellSizeAndPositionManager = _ref.cellSizeAndPositionManager,\n previousCellsCount = _ref.previousCellsCount,\n previousCellSize = _ref.previousCellSize,\n previousScrollToAlignment = _ref.previousScrollToAlignment,\n previousScrollToIndex = _ref.previousScrollToIndex,\n previousSize = _ref.previousSize,\n scrollOffset = _ref.scrollOffset,\n scrollToAlignment = _ref.scrollToAlignment,\n scrollToIndex = _ref.scrollToIndex,\n size = _ref.size,\n sizeJustIncreasedFromZero = _ref.sizeJustIncreasedFromZero,\n updateScrollIndexCallback = _ref.updateScrollIndexCallback;\n var cellCount = cellSizeAndPositionManager.getCellCount();\n var hasScrollToIndex = scrollToIndex >= 0 && scrollToIndex < cellCount;\n var sizeHasChanged = size !== previousSize || sizeJustIncreasedFromZero || !previousCellSize || typeof cellSize === 'number' && cellSize !== previousCellSize; // If we have a new scroll target OR if height/row-height has changed,\n // We should ensure that the scroll target is visible.\n\n if (hasScrollToIndex && (sizeHasChanged || scrollToAlignment !== previousScrollToAlignment || scrollToIndex !== previousScrollToIndex)) {\n updateScrollIndexCallback(scrollToIndex); // If we don't have a selected item but list size or number of children have decreased,\n // Make sure we aren't scrolled too far past the current content.\n } else if (!hasScrollToIndex && cellCount > 0 && (size < previousSize || cellCount < previousCellsCount)) {\n // We need to ensure that the current scroll offset is still within the collection's range.\n // To do this, we don't need to measure everything; CellMeasurer would perform poorly.\n // Just check to make sure we're still okay.\n // Only adjust the scroll position if we've scrolled below the last set of rows.\n if (scrollOffset > cellSizeAndPositionManager.getTotalSize() - size) {\n updateScrollIndexCallback(cellCount - 1);\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultCellRangeRenderer;\n\nvar _types = require(\"./types\");\n\n/**\n * Default implementation of cellRangeRenderer used by Grid.\n * This renderer supports cell-caching while the user is scrolling.\n */\nfunction defaultCellRangeRenderer(_ref) {\n var cellCache = _ref.cellCache,\n cellRenderer = _ref.cellRenderer,\n columnSizeAndPositionManager = _ref.columnSizeAndPositionManager,\n columnStartIndex = _ref.columnStartIndex,\n columnStopIndex = _ref.columnStopIndex,\n deferredMeasurementCache = _ref.deferredMeasurementCache,\n horizontalOffsetAdjustment = _ref.horizontalOffsetAdjustment,\n isScrolling = _ref.isScrolling,\n isScrollingOptOut = _ref.isScrollingOptOut,\n parent = _ref.parent,\n rowSizeAndPositionManager = _ref.rowSizeAndPositionManager,\n rowStartIndex = _ref.rowStartIndex,\n rowStopIndex = _ref.rowStopIndex,\n styleCache = _ref.styleCache,\n verticalOffsetAdjustment = _ref.verticalOffsetAdjustment,\n visibleColumnIndices = _ref.visibleColumnIndices,\n visibleRowIndices = _ref.visibleRowIndices;\n var renderedCells = []; // Browsers have native size limits for elements (eg Chrome 33M pixels, IE 1.5M pixes).\n // User cannot scroll beyond these size limitations.\n // In order to work around this, ScalingCellSizeAndPositionManager compresses offsets.\n // We should never cache styles for compressed offsets though as this can lead to bugs.\n // See issue #576 for more.\n\n var areOffsetsAdjusted = columnSizeAndPositionManager.areOffsetsAdjusted() || rowSizeAndPositionManager.areOffsetsAdjusted();\n var canCacheStyle = !isScrolling && !areOffsetsAdjusted;\n\n for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {\n var rowDatum = rowSizeAndPositionManager.getSizeAndPositionOfCell(rowIndex);\n\n for (var columnIndex = columnStartIndex; columnIndex <= columnStopIndex; columnIndex++) {\n var columnDatum = columnSizeAndPositionManager.getSizeAndPositionOfCell(columnIndex);\n var isVisible = columnIndex >= visibleColumnIndices.start && columnIndex <= visibleColumnIndices.stop && rowIndex >= visibleRowIndices.start && rowIndex <= visibleRowIndices.stop;\n var key = \"\".concat(rowIndex, \"-\").concat(columnIndex);\n var style = void 0; // Cache style objects so shallow-compare doesn't re-render unnecessarily.\n\n if (canCacheStyle && styleCache[key]) {\n style = styleCache[key];\n } else {\n // In deferred mode, cells will be initially rendered before we know their size.\n // Don't interfere with CellMeasurer's measurements by setting an invalid size.\n if (deferredMeasurementCache && !deferredMeasurementCache.has(rowIndex, columnIndex)) {\n // Position not-yet-measured cells at top/left 0,0,\n // And give them width/height of 'auto' so they can grow larger than the parent Grid if necessary.\n // Positioning them further to the right/bottom influences their measured size.\n style = {\n height: 'auto',\n left: 0,\n position: 'absolute',\n top: 0,\n width: 'auto'\n };\n } else {\n style = {\n height: rowDatum.size,\n left: columnDatum.offset + horizontalOffsetAdjustment,\n position: 'absolute',\n top: rowDatum.offset + verticalOffsetAdjustment,\n width: columnDatum.size\n };\n styleCache[key] = style;\n }\n }\n\n var cellRendererParams = {\n columnIndex: columnIndex,\n isScrolling: isScrolling,\n isVisible: isVisible,\n key: key,\n parent: parent,\n rowIndex: rowIndex,\n style: style\n };\n var renderedCell = void 0; // Avoid re-creating cells while scrolling.\n // This can lead to the same cell being created many times and can cause performance issues for \"heavy\" cells.\n // If a scroll is in progress- cache and reuse cells.\n // This cache will be thrown away once scrolling completes.\n // However if we are scaling scroll positions and sizes, we should also avoid caching.\n // This is because the offset changes slightly as scroll position changes and caching leads to stale values.\n // For more info refer to issue #395\n //\n // If isScrollingOptOut is specified, we always cache cells.\n // For more info refer to issue #1028\n\n if ((isScrollingOptOut || isScrolling) && !horizontalOffsetAdjustment && !verticalOffsetAdjustment) {\n if (!cellCache[key]) {\n cellCache[key] = cellRenderer(cellRendererParams);\n }\n\n renderedCell = cellCache[key]; // If the user is no longer scrolling, don't cache cells.\n // This makes dynamic cell content difficult for users and would also lead to a heavier memory footprint.\n } else {\n renderedCell = cellRenderer(cellRendererParams);\n }\n\n if (renderedCell == null || renderedCell === false) {\n continue;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n warnAboutMissingStyle(parent, renderedCell);\n }\n\n renderedCells.push(renderedCell);\n }\n }\n\n return renderedCells;\n}\n\nfunction warnAboutMissingStyle(parent, renderedCell) {\n if (process.env.NODE_ENV !== 'production') {\n if (renderedCell) {\n // If the direct child is a CellMeasurer, then we should check its child\n // See issue #611\n if (renderedCell.type && renderedCell.type.__internalCellMeasurerFlag) {\n renderedCell = renderedCell.props.children;\n }\n\n if (renderedCell && renderedCell.props && renderedCell.props.style === undefined && parent.__warnedAboutMissingStyle !== true) {\n parent.__warnedAboutMissingStyle = true;\n console.warn('Rendered cell should include style property for positioning.');\n }\n }\n }\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","import canUseDOM from './canUseDOM';\nvar size;\nexport default function scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (canUseDOM) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.caf = exports.raf = void 0;\n// Properly handle server-side rendering.\nvar win;\n\nif (typeof window !== 'undefined') {\n win = window;\n} else if (typeof self !== 'undefined') {\n win = self;\n} else {\n win = {};\n} // requestAnimationFrame() shim by Paul Irish\n// http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n\n\nvar request = win.requestAnimationFrame || win.webkitRequestAnimationFrame || win.mozRequestAnimationFrame || win.oRequestAnimationFrame || win.msRequestAnimationFrame || function (callback) {\n return win.setTimeout(callback, 1000 / 60);\n};\n\nvar cancel = win.cancelAnimationFrame || win.webkitCancelAnimationFrame || win.mozCancelAnimationFrame || win.oCancelAnimationFrame || win.msCancelAnimationFrame || function (id) {\n win.clearTimeout(id);\n};\n\nvar raf = request;\nexports.raf = raf;\nvar caf = cancel;\nexports.caf = caf;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bpfrpt_proptype_AnimationTimeoutId = exports.requestAnimationTimeout = exports.cancelAnimationTimeout = void 0;\n\nvar _animationFrame = require(\"./animationFrame\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar bpfrpt_proptype_AnimationTimeoutId = process.env.NODE_ENV === 'production' ? null : {\n \"id\": _propTypes[\"default\"].number.isRequired\n};\nexports.bpfrpt_proptype_AnimationTimeoutId = bpfrpt_proptype_AnimationTimeoutId;\n\nvar cancelAnimationTimeout = function cancelAnimationTimeout(frame) {\n return (0, _animationFrame.caf)(frame.id);\n};\n/**\n * Recursively calls requestAnimationFrame until a specified delay has been met or exceeded.\n * When the delay time has been reached the function you're timing out will be called.\n *\n * Credit: Joe Lambert (https://gist.github.com/joelambert/1002116#file-requesttimeout-js)\n */\n\n\nexports.cancelAnimationTimeout = cancelAnimationTimeout;\n\nvar requestAnimationTimeout = function requestAnimationTimeout(callback, delay) {\n var start; // wait for end of processing current event handler, because event handler may be long\n\n Promise.resolve().then(function () {\n start = Date.now();\n });\n\n var timeout = function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = (0, _animationFrame.raf)(timeout);\n }\n };\n\n var frame = {\n id: (0, _animationFrame.raf)(timeout)\n };\n return frame;\n};\n\nexports.requestAnimationTimeout = requestAnimationTimeout;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.DEFAULT_SCROLLING_RESET_TIME_INTERVAL = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _calculateSizeAndPositionDataAndUpdateScrollOffset = _interopRequireDefault(require(\"./utils/calculateSizeAndPositionDataAndUpdateScrollOffset\"));\n\nvar _ScalingCellSizeAndPositionManager = _interopRequireDefault(require(\"./utils/ScalingCellSizeAndPositionManager\"));\n\nvar _createCallbackMemoizer = _interopRequireDefault(require(\"../utils/createCallbackMemoizer\"));\n\nvar _defaultOverscanIndicesGetter = _interopRequireWildcard(require(\"./defaultOverscanIndicesGetter\"));\n\nvar _updateScrollIndexHelper = _interopRequireDefault(require(\"./utils/updateScrollIndexHelper\"));\n\nvar _defaultCellRangeRenderer = _interopRequireDefault(require(\"./defaultCellRangeRenderer\"));\n\nvar _scrollbarSize = _interopRequireDefault(require(\"dom-helpers/scrollbarSize\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _requestAnimationTimeout = require(\"../utils/requestAnimationTimeout\");\n\nvar _types = require(\"./types\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _class, _temp;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Specifies the number of milliseconds during which to disable pointer events while a scroll is in progress.\n * This improves performance and makes scrolling smoother.\n */\nvar DEFAULT_SCROLLING_RESET_TIME_INTERVAL = 150;\n/**\n * Controls whether the Grid updates the DOM element's scrollLeft/scrollTop based on the current state or just observes it.\n * This prevents Grid from interrupting mouse-wheel animations (see issue #2).\n */\n\nexports.DEFAULT_SCROLLING_RESET_TIME_INTERVAL = DEFAULT_SCROLLING_RESET_TIME_INTERVAL;\nvar SCROLL_POSITION_CHANGE_REASONS = {\n OBSERVED: 'observed',\n REQUESTED: 'requested'\n};\n\nvar renderNull = function renderNull() {\n return null;\n};\n\n/**\n * Renders tabular data with virtualization along the vertical and horizontal axes.\n * Row heights and column widths must be known ahead of time and specified as properties.\n */\nvar Grid = (_temp = _class =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n (0, _inherits2[\"default\"])(Grid, _React$PureComponent);\n\n // Invokes onSectionRendered callback only when start/stop row or column indices change\n function Grid(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Grid);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Grid).call(this, props));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_onGridRenderedMemoizer\", (0, _createCallbackMemoizer[\"default\"])());\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_onScrollMemoizer\", (0, _createCallbackMemoizer[\"default\"])(false));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_deferredInvalidateColumnIndex\", null);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_deferredInvalidateRowIndex\", null);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_recomputeScrollLeftFlag\", false);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_recomputeScrollTopFlag\", false);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_horizontalScrollBarSize\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_verticalScrollBarSize\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_scrollbarPresenceChanged\", false);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_scrollingContainer\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_childrenToDisplay\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_columnStartIndex\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_columnStopIndex\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_rowStartIndex\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_rowStopIndex\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_renderedColumnStartIndex\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_renderedColumnStopIndex\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_renderedRowStartIndex\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_renderedRowStopIndex\", 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_initialScrollTop\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_initialScrollLeft\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_disablePointerEventsTimeoutId\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_styleCache\", {});\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_cellCache\", {});\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_debounceScrollEndedCallback\", function () {\n _this._disablePointerEventsTimeoutId = null; // isScrolling is used to determine if we reset styleCache\n\n _this.setState({\n isScrolling: false,\n needToResetStyleCache: false\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_invokeOnGridRenderedHelper\", function () {\n var onSectionRendered = _this.props.onSectionRendered;\n\n _this._onGridRenderedMemoizer({\n callback: onSectionRendered,\n indices: {\n columnOverscanStartIndex: _this._columnStartIndex,\n columnOverscanStopIndex: _this._columnStopIndex,\n columnStartIndex: _this._renderedColumnStartIndex,\n columnStopIndex: _this._renderedColumnStopIndex,\n rowOverscanStartIndex: _this._rowStartIndex,\n rowOverscanStopIndex: _this._rowStopIndex,\n rowStartIndex: _this._renderedRowStartIndex,\n rowStopIndex: _this._renderedRowStopIndex\n }\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_setScrollingContainerRef\", function (ref) {\n _this._scrollingContainer = ref;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"_onScroll\", function (event) {\n // In certain edge-cases React dispatches an onScroll event with an invalid target.scrollLeft / target.scrollTop.\n // This invalid event can be detected by comparing event.target to this component's scrollable DOM element.\n // See issue #404 for more information.\n if (event.target === _this._scrollingContainer) {\n _this.handleScrollEvent(event.target);\n }\n });\n var columnSizeAndPositionManager = new _ScalingCellSizeAndPositionManager[\"default\"]({\n cellCount: props.columnCount,\n cellSizeGetter: function cellSizeGetter(params) {\n return Grid._wrapSizeGetter(props.columnWidth)(params);\n },\n estimatedCellSize: Grid._getEstimatedColumnSize(props)\n });\n var rowSizeAndPositionManager = new _ScalingCellSizeAndPositionManager[\"default\"]({\n cellCount: props.rowCount,\n cellSizeGetter: function cellSizeGetter(params) {\n return Grid._wrapSizeGetter(props.rowHeight)(params);\n },\n estimatedCellSize: Grid._getEstimatedRowSize(props)\n });\n _this.state = {\n instanceProps: {\n columnSizeAndPositionManager: columnSizeAndPositionManager,\n rowSizeAndPositionManager: rowSizeAndPositionManager,\n prevColumnWidth: props.columnWidth,\n prevRowHeight: props.rowHeight,\n prevColumnCount: props.columnCount,\n prevRowCount: props.rowCount,\n prevIsScrolling: props.isScrolling === true,\n prevScrollToColumn: props.scrollToColumn,\n prevScrollToRow: props.scrollToRow,\n scrollbarSize: 0,\n scrollbarSizeMeasured: false\n },\n isScrolling: false,\n scrollDirectionHorizontal: _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,\n scrollDirectionVertical: _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD,\n scrollLeft: 0,\n scrollTop: 0,\n scrollPositionChangeReason: null,\n needToResetStyleCache: false\n };\n\n if (props.scrollToRow > 0) {\n _this._initialScrollTop = _this._getCalculatedScrollTop(props, _this.state);\n }\n\n if (props.scrollToColumn > 0) {\n _this._initialScrollLeft = _this._getCalculatedScrollLeft(props, _this.state);\n }\n\n return _this;\n }\n /**\n * Gets offsets for a given cell and alignment.\n */\n\n\n (0, _createClass2[\"default\"])(Grid, [{\n key: \"getOffsetForCell\",\n value: function getOffsetForCell() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$alignment = _ref.alignment,\n alignment = _ref$alignment === void 0 ? this.props.scrollToAlignment : _ref$alignment,\n _ref$columnIndex = _ref.columnIndex,\n columnIndex = _ref$columnIndex === void 0 ? this.props.scrollToColumn : _ref$columnIndex,\n _ref$rowIndex = _ref.rowIndex,\n rowIndex = _ref$rowIndex === void 0 ? this.props.scrollToRow : _ref$rowIndex;\n\n var offsetProps = _objectSpread({}, this.props, {\n scrollToAlignment: alignment,\n scrollToColumn: columnIndex,\n scrollToRow: rowIndex\n });\n\n return {\n scrollLeft: this._getCalculatedScrollLeft(offsetProps),\n scrollTop: this._getCalculatedScrollTop(offsetProps)\n };\n }\n /**\n * Gets estimated total rows' height.\n */\n\n }, {\n key: \"getTotalRowsHeight\",\n value: function getTotalRowsHeight() {\n return this.state.instanceProps.rowSizeAndPositionManager.getTotalSize();\n }\n /**\n * Gets estimated total columns' width.\n */\n\n }, {\n key: \"getTotalColumnsWidth\",\n value: function getTotalColumnsWidth() {\n return this.state.instanceProps.columnSizeAndPositionManager.getTotalSize();\n }\n /**\n * This method handles a scroll event originating from an external scroll control.\n * It's an advanced method and should probably not be used unless you're implementing a custom scroll-bar solution.\n */\n\n }, {\n key: \"handleScrollEvent\",\n value: function handleScrollEvent(_ref2) {\n var _ref2$scrollLeft = _ref2.scrollLeft,\n scrollLeftParam = _ref2$scrollLeft === void 0 ? 0 : _ref2$scrollLeft,\n _ref2$scrollTop = _ref2.scrollTop,\n scrollTopParam = _ref2$scrollTop === void 0 ? 0 : _ref2$scrollTop;\n\n // On iOS, we can arrive at negative offsets by swiping past the start.\n // To prevent flicker here, we make playing in the negative offset zone cause nothing to happen.\n if (scrollTopParam < 0) {\n return;\n } // Prevent pointer events from interrupting a smooth scroll\n\n\n this._debounceScrollEnded();\n\n var _this$props = this.props,\n autoHeight = _this$props.autoHeight,\n autoWidth = _this$props.autoWidth,\n height = _this$props.height,\n width = _this$props.width;\n var instanceProps = this.state.instanceProps; // When this component is shrunk drastically, React dispatches a series of back-to-back scroll events,\n // Gradually converging on a scrollTop that is within the bounds of the new, smaller height.\n // This causes a series of rapid renders that is slow for long lists.\n // We can avoid that by doing some simple bounds checking to ensure that scroll offsets never exceed their bounds.\n\n var scrollbarSize = instanceProps.scrollbarSize;\n var totalRowsHeight = instanceProps.rowSizeAndPositionManager.getTotalSize();\n var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();\n var scrollLeft = Math.min(Math.max(0, totalColumnsWidth - width + scrollbarSize), scrollLeftParam);\n var scrollTop = Math.min(Math.max(0, totalRowsHeight - height + scrollbarSize), scrollTopParam); // Certain devices (like Apple touchpad) rapid-fire duplicate events.\n // Don't force a re-render if this is the case.\n // The mouse may move faster then the animation frame does.\n // Use requestAnimationFrame to avoid over-updating.\n\n if (this.state.scrollLeft !== scrollLeft || this.state.scrollTop !== scrollTop) {\n // Track scrolling direction so we can more efficiently overscan rows to reduce empty space around the edges while scrolling.\n // Don't change direction for an axis unless scroll offset has changed.\n var scrollDirectionHorizontal = scrollLeft !== this.state.scrollLeft ? scrollLeft > this.state.scrollLeft ? _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD : _defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD : this.state.scrollDirectionHorizontal;\n var scrollDirectionVertical = scrollTop !== this.state.scrollTop ? scrollTop > this.state.scrollTop ? _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD : _defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD : this.state.scrollDirectionVertical;\n var newState = {\n isScrolling: true,\n scrollDirectionHorizontal: scrollDirectionHorizontal,\n scrollDirectionVertical: scrollDirectionVertical,\n scrollPositionChangeReason: SCROLL_POSITION_CHANGE_REASONS.OBSERVED\n };\n\n if (!autoHeight) {\n newState.scrollTop = scrollTop;\n }\n\n if (!autoWidth) {\n newState.scrollLeft = scrollLeft;\n }\n\n newState.needToResetStyleCache = false;\n this.setState(newState);\n }\n\n this._invokeOnScrollMemoizer({\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n totalColumnsWidth: totalColumnsWidth,\n totalRowsHeight: totalRowsHeight\n });\n }\n /**\n * Invalidate Grid size and recompute visible cells.\n * This is a deferred wrapper for recomputeGridSize().\n * It sets a flag to be evaluated on cDM/cDU to avoid unnecessary renders.\n * This method is intended for advanced use-cases like CellMeasurer.\n */\n // @TODO (bvaughn) Add automated test coverage for this.\n\n }, {\n key: \"invalidateCellSizeAfterRender\",\n value: function invalidateCellSizeAfterRender(_ref3) {\n var columnIndex = _ref3.columnIndex,\n rowIndex = _ref3.rowIndex;\n this._deferredInvalidateColumnIndex = typeof this._deferredInvalidateColumnIndex === 'number' ? Math.min(this._deferredInvalidateColumnIndex, columnIndex) : columnIndex;\n this._deferredInvalidateRowIndex = typeof this._deferredInvalidateRowIndex === 'number' ? Math.min(this._deferredInvalidateRowIndex, rowIndex) : rowIndex;\n }\n /**\n * Pre-measure all columns and rows in a Grid.\n * Typically cells are only measured as needed and estimated sizes are used for cells that have not yet been measured.\n * This method ensures that the next call to getTotalSize() returns an exact size (as opposed to just an estimated one).\n */\n\n }, {\n key: \"measureAllCells\",\n value: function measureAllCells() {\n var _this$props2 = this.props,\n columnCount = _this$props2.columnCount,\n rowCount = _this$props2.rowCount;\n var instanceProps = this.state.instanceProps;\n instanceProps.columnSizeAndPositionManager.getSizeAndPositionOfCell(columnCount - 1);\n instanceProps.rowSizeAndPositionManager.getSizeAndPositionOfCell(rowCount - 1);\n }\n /**\n * Forced recompute of row heights and column widths.\n * This function should be called if dynamic column or row sizes have changed but nothing else has.\n * Since Grid only receives :columnCount and :rowCount it has no way of detecting when the underlying data changes.\n */\n\n }, {\n key: \"recomputeGridSize\",\n value: function recomputeGridSize() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$columnIndex = _ref4.columnIndex,\n columnIndex = _ref4$columnIndex === void 0 ? 0 : _ref4$columnIndex,\n _ref4$rowIndex = _ref4.rowIndex,\n rowIndex = _ref4$rowIndex === void 0 ? 0 : _ref4$rowIndex;\n\n var _this$props3 = this.props,\n scrollToColumn = _this$props3.scrollToColumn,\n scrollToRow = _this$props3.scrollToRow;\n var instanceProps = this.state.instanceProps;\n instanceProps.columnSizeAndPositionManager.resetCell(columnIndex);\n instanceProps.rowSizeAndPositionManager.resetCell(rowIndex); // Cell sizes may be determined by a function property.\n // In this case the cDU handler can't know if they changed.\n // Store this flag to let the next cDU pass know it needs to recompute the scroll offset.\n\n this._recomputeScrollLeftFlag = scrollToColumn >= 0 && (this.state.scrollDirectionHorizontal === _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD ? columnIndex <= scrollToColumn : columnIndex >= scrollToColumn);\n this._recomputeScrollTopFlag = scrollToRow >= 0 && (this.state.scrollDirectionVertical === _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD ? rowIndex <= scrollToRow : rowIndex >= scrollToRow); // Clear cell cache in case we are scrolling;\n // Invalid row heights likely mean invalid cached content as well.\n\n this._styleCache = {};\n this._cellCache = {};\n this.forceUpdate();\n }\n /**\n * Ensure column and row are visible.\n */\n\n }, {\n key: \"scrollToCell\",\n value: function scrollToCell(_ref5) {\n var columnIndex = _ref5.columnIndex,\n rowIndex = _ref5.rowIndex;\n var columnCount = this.props.columnCount;\n var props = this.props; // Don't adjust scroll offset for single-column grids (eg List, Table).\n // This can cause a funky scroll offset because of the vertical scrollbar width.\n\n if (columnCount > 1 && columnIndex !== undefined) {\n this._updateScrollLeftForScrollToColumn(_objectSpread({}, props, {\n scrollToColumn: columnIndex\n }));\n }\n\n if (rowIndex !== undefined) {\n this._updateScrollTopForScrollToRow(_objectSpread({}, props, {\n scrollToRow: rowIndex\n }));\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props4 = this.props,\n getScrollbarSize = _this$props4.getScrollbarSize,\n height = _this$props4.height,\n scrollLeft = _this$props4.scrollLeft,\n scrollToColumn = _this$props4.scrollToColumn,\n scrollTop = _this$props4.scrollTop,\n scrollToRow = _this$props4.scrollToRow,\n width = _this$props4.width;\n var instanceProps = this.state.instanceProps; // Reset initial offsets to be ignored in browser\n\n this._initialScrollTop = 0;\n this._initialScrollLeft = 0; // If cell sizes have been invalidated (eg we are using CellMeasurer) then reset cached positions.\n // We must do this at the start of the method as we may calculate and update scroll position below.\n\n this._handleInvalidatedGridSize(); // If this component was first rendered server-side, scrollbar size will be undefined.\n // In that event we need to remeasure.\n\n\n if (!instanceProps.scrollbarSizeMeasured) {\n this.setState(function (prevState) {\n var stateUpdate = _objectSpread({}, prevState, {\n needToResetStyleCache: false\n });\n\n stateUpdate.instanceProps.scrollbarSize = getScrollbarSize();\n stateUpdate.instanceProps.scrollbarSizeMeasured = true;\n return stateUpdate;\n });\n }\n\n if (typeof scrollLeft === 'number' && scrollLeft >= 0 || typeof scrollTop === 'number' && scrollTop >= 0) {\n var stateUpdate = Grid._getScrollToPositionStateUpdate({\n prevState: this.state,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n });\n\n if (stateUpdate) {\n stateUpdate.needToResetStyleCache = false;\n this.setState(stateUpdate);\n }\n } // refs don't work in `react-test-renderer`\n\n\n if (this._scrollingContainer) {\n // setting the ref's scrollLeft and scrollTop.\n // Somehow in MultiGrid the main grid doesn't trigger a update on mount.\n if (this._scrollingContainer.scrollLeft !== this.state.scrollLeft) {\n this._scrollingContainer.scrollLeft = this.state.scrollLeft;\n }\n\n if (this._scrollingContainer.scrollTop !== this.state.scrollTop) {\n this._scrollingContainer.scrollTop = this.state.scrollTop;\n }\n } // Don't update scroll offset if the size is 0; we don't render any cells in this case.\n // Setting a state may cause us to later thing we've updated the offce when we haven't.\n\n\n var sizeIsBiggerThanZero = height > 0 && width > 0;\n\n if (scrollToColumn >= 0 && sizeIsBiggerThanZero) {\n this._updateScrollLeftForScrollToColumn();\n }\n\n if (scrollToRow >= 0 && sizeIsBiggerThanZero) {\n this._updateScrollTopForScrollToRow();\n } // Update onRowsRendered callback\n\n\n this._invokeOnGridRenderedHelper(); // Initialize onScroll callback\n\n\n this._invokeOnScrollMemoizer({\n scrollLeft: scrollLeft || 0,\n scrollTop: scrollTop || 0,\n totalColumnsWidth: instanceProps.columnSizeAndPositionManager.getTotalSize(),\n totalRowsHeight: instanceProps.rowSizeAndPositionManager.getTotalSize()\n });\n\n this._maybeCallOnScrollbarPresenceChange();\n }\n /**\n * @private\n * This method updates scrollLeft/scrollTop in state for the following conditions:\n * 1) New scroll-to-cell props have been set\n */\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this2 = this;\n\n var _this$props5 = this.props,\n autoHeight = _this$props5.autoHeight,\n autoWidth = _this$props5.autoWidth,\n columnCount = _this$props5.columnCount,\n height = _this$props5.height,\n rowCount = _this$props5.rowCount,\n scrollToAlignment = _this$props5.scrollToAlignment,\n scrollToColumn = _this$props5.scrollToColumn,\n scrollToRow = _this$props5.scrollToRow,\n width = _this$props5.width;\n var _this$state = this.state,\n scrollLeft = _this$state.scrollLeft,\n scrollPositionChangeReason = _this$state.scrollPositionChangeReason,\n scrollTop = _this$state.scrollTop,\n instanceProps = _this$state.instanceProps; // If cell sizes have been invalidated (eg we are using CellMeasurer) then reset cached positions.\n // We must do this at the start of the method as we may calculate and update scroll position below.\n\n this._handleInvalidatedGridSize(); // Handle edge case where column or row count has only just increased over 0.\n // In this case we may have to restore a previously-specified scroll offset.\n // For more info see bvaughn/react-virtualized/issues/218\n\n\n var columnOrRowCountJustIncreasedFromZero = columnCount > 0 && prevProps.columnCount === 0 || rowCount > 0 && prevProps.rowCount === 0; // Make sure requested changes to :scrollLeft or :scrollTop get applied.\n // Assigning to scrollLeft/scrollTop tells the browser to interrupt any running scroll animations,\n // And to discard any pending async changes to the scroll position that may have happened in the meantime (e.g. on a separate scrolling thread).\n // So we only set these when we require an adjustment of the scroll position.\n // See issue #2 for more information.\n\n if (scrollPositionChangeReason === SCROLL_POSITION_CHANGE_REASONS.REQUESTED) {\n // @TRICKY :autoHeight and :autoWidth properties instructs Grid to leave :scrollTop and :scrollLeft management to an external HOC (eg WindowScroller).\n // In this case we should avoid checking scrollingContainer.scrollTop and scrollingContainer.scrollLeft since it forces layout/flow.\n if (!autoWidth && scrollLeft >= 0 && (scrollLeft !== this._scrollingContainer.scrollLeft || columnOrRowCountJustIncreasedFromZero)) {\n this._scrollingContainer.scrollLeft = scrollLeft;\n }\n\n if (!autoHeight && scrollTop >= 0 && (scrollTop !== this._scrollingContainer.scrollTop || columnOrRowCountJustIncreasedFromZero)) {\n this._scrollingContainer.scrollTop = scrollTop;\n }\n } // Special case where the previous size was 0:\n // In this case we don't show any windowed cells at all.\n // So we should always recalculate offset afterwards.\n\n\n var sizeJustIncreasedFromZero = (prevProps.width === 0 || prevProps.height === 0) && height > 0 && width > 0; // Update scroll offsets if the current :scrollToColumn or :scrollToRow values requires it\n // @TODO Do we also need this check or can the one in componentWillUpdate() suffice?\n\n if (this._recomputeScrollLeftFlag) {\n this._recomputeScrollLeftFlag = false;\n\n this._updateScrollLeftForScrollToColumn(this.props);\n } else {\n (0, _updateScrollIndexHelper[\"default\"])({\n cellSizeAndPositionManager: instanceProps.columnSizeAndPositionManager,\n previousCellsCount: prevProps.columnCount,\n previousCellSize: prevProps.columnWidth,\n previousScrollToAlignment: prevProps.scrollToAlignment,\n previousScrollToIndex: prevProps.scrollToColumn,\n previousSize: prevProps.width,\n scrollOffset: scrollLeft,\n scrollToAlignment: scrollToAlignment,\n scrollToIndex: scrollToColumn,\n size: width,\n sizeJustIncreasedFromZero: sizeJustIncreasedFromZero,\n updateScrollIndexCallback: function updateScrollIndexCallback() {\n return _this2._updateScrollLeftForScrollToColumn(_this2.props);\n }\n });\n }\n\n if (this._recomputeScrollTopFlag) {\n this._recomputeScrollTopFlag = false;\n\n this._updateScrollTopForScrollToRow(this.props);\n } else {\n (0, _updateScrollIndexHelper[\"default\"])({\n cellSizeAndPositionManager: instanceProps.rowSizeAndPositionManager,\n previousCellsCount: prevProps.rowCount,\n previousCellSize: prevProps.rowHeight,\n previousScrollToAlignment: prevProps.scrollToAlignment,\n previousScrollToIndex: prevProps.scrollToRow,\n previousSize: prevProps.height,\n scrollOffset: scrollTop,\n scrollToAlignment: scrollToAlignment,\n scrollToIndex: scrollToRow,\n size: height,\n sizeJustIncreasedFromZero: sizeJustIncreasedFromZero,\n updateScrollIndexCallback: function updateScrollIndexCallback() {\n return _this2._updateScrollTopForScrollToRow(_this2.props);\n }\n });\n } // Update onRowsRendered callback if start/stop indices have changed\n\n\n this._invokeOnGridRenderedHelper(); // Changes to :scrollLeft or :scrollTop should also notify :onScroll listeners\n\n\n if (scrollLeft !== prevState.scrollLeft || scrollTop !== prevState.scrollTop) {\n var totalRowsHeight = instanceProps.rowSizeAndPositionManager.getTotalSize();\n var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();\n\n this._invokeOnScrollMemoizer({\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n totalColumnsWidth: totalColumnsWidth,\n totalRowsHeight: totalRowsHeight\n });\n }\n\n this._maybeCallOnScrollbarPresenceChange();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this._disablePointerEventsTimeoutId) {\n (0, _requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId);\n }\n }\n /**\n * This method updates scrollLeft/scrollTop in state for the following conditions:\n * 1) Empty content (0 rows or columns)\n * 2) New scroll props overriding the current state\n * 3) Cells-count or cells-size has changed, making previous scroll offsets invalid\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n autoContainerWidth = _this$props6.autoContainerWidth,\n autoHeight = _this$props6.autoHeight,\n autoWidth = _this$props6.autoWidth,\n className = _this$props6.className,\n containerProps = _this$props6.containerProps,\n containerRole = _this$props6.containerRole,\n containerStyle = _this$props6.containerStyle,\n height = _this$props6.height,\n id = _this$props6.id,\n noContentRenderer = _this$props6.noContentRenderer,\n role = _this$props6.role,\n style = _this$props6.style,\n tabIndex = _this$props6.tabIndex,\n width = _this$props6.width;\n var _this$state2 = this.state,\n instanceProps = _this$state2.instanceProps,\n needToResetStyleCache = _this$state2.needToResetStyleCache;\n\n var isScrolling = this._isScrolling();\n\n var gridStyle = {\n boxSizing: 'border-box',\n direction: 'ltr',\n height: autoHeight ? 'auto' : height,\n position: 'relative',\n width: autoWidth ? 'auto' : width,\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform'\n };\n\n if (needToResetStyleCache) {\n this._styleCache = {};\n } // calculate _styleCache here\n // if state.isScrolling (not from _isScrolling) then reset\n\n\n if (!this.state.isScrolling) {\n this._resetStyleCache();\n } // calculate children to render here\n\n\n this._calculateChildrenToRender(this.props, this.state);\n\n var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();\n var totalRowsHeight = instanceProps.rowSizeAndPositionManager.getTotalSize(); // Force browser to hide scrollbars when we know they aren't necessary.\n // Otherwise once scrollbars appear they may not disappear again.\n // For more info see issue #116\n\n var verticalScrollBarSize = totalRowsHeight > height ? instanceProps.scrollbarSize : 0;\n var horizontalScrollBarSize = totalColumnsWidth > width ? instanceProps.scrollbarSize : 0;\n\n if (horizontalScrollBarSize !== this._horizontalScrollBarSize || verticalScrollBarSize !== this._verticalScrollBarSize) {\n this._horizontalScrollBarSize = horizontalScrollBarSize;\n this._verticalScrollBarSize = verticalScrollBarSize;\n this._scrollbarPresenceChanged = true;\n } // Also explicitly init styles to 'auto' if scrollbars are required.\n // This works around an obscure edge case where external CSS styles have not yet been loaded,\n // But an initial scroll index of offset is set as an external prop.\n // Without this style, Grid would render the correct range of cells but would NOT update its internal offset.\n // This was originally reported via clauderic/react-infinite-calendar/issues/23\n\n\n gridStyle.overflowX = totalColumnsWidth + verticalScrollBarSize <= width ? 'hidden' : 'auto';\n gridStyle.overflowY = totalRowsHeight + horizontalScrollBarSize <= height ? 'hidden' : 'auto';\n var childrenToDisplay = this._childrenToDisplay;\n var showNoContentRenderer = childrenToDisplay.length === 0 && height > 0 && width > 0;\n return React.createElement(\"div\", (0, _extends2[\"default\"])({\n ref: this._setScrollingContainerRef\n }, containerProps, {\n \"aria-label\": this.props['aria-label'],\n \"aria-readonly\": this.props['aria-readonly'],\n className: (0, _clsx[\"default\"])('ReactVirtualized__Grid', className),\n id: id,\n onScroll: this._onScroll,\n role: role,\n style: _objectSpread({}, gridStyle, {}, style),\n tabIndex: tabIndex\n }), childrenToDisplay.length > 0 && React.createElement(\"div\", {\n className: \"ReactVirtualized__Grid__innerScrollContainer\",\n role: containerRole,\n style: _objectSpread({\n width: autoContainerWidth ? 'auto' : totalColumnsWidth,\n height: totalRowsHeight,\n maxWidth: totalColumnsWidth,\n maxHeight: totalRowsHeight,\n overflow: 'hidden',\n pointerEvents: isScrolling ? 'none' : '',\n position: 'relative'\n }, containerStyle)\n }, childrenToDisplay), showNoContentRenderer && noContentRenderer());\n }\n /* ---------------------------- Helper methods ---------------------------- */\n\n }, {\n key: \"_calculateChildrenToRender\",\n value: function _calculateChildrenToRender() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n var cellRenderer = props.cellRenderer,\n cellRangeRenderer = props.cellRangeRenderer,\n columnCount = props.columnCount,\n deferredMeasurementCache = props.deferredMeasurementCache,\n height = props.height,\n overscanColumnCount = props.overscanColumnCount,\n overscanIndicesGetter = props.overscanIndicesGetter,\n overscanRowCount = props.overscanRowCount,\n rowCount = props.rowCount,\n width = props.width,\n isScrollingOptOut = props.isScrollingOptOut;\n var scrollDirectionHorizontal = state.scrollDirectionHorizontal,\n scrollDirectionVertical = state.scrollDirectionVertical,\n instanceProps = state.instanceProps;\n var scrollTop = this._initialScrollTop > 0 ? this._initialScrollTop : state.scrollTop;\n var scrollLeft = this._initialScrollLeft > 0 ? this._initialScrollLeft : state.scrollLeft;\n\n var isScrolling = this._isScrolling(props, state);\n\n this._childrenToDisplay = []; // Render only enough columns and rows to cover the visible area of the grid.\n\n if (height > 0 && width > 0) {\n var visibleColumnIndices = instanceProps.columnSizeAndPositionManager.getVisibleCellRange({\n containerSize: width,\n offset: scrollLeft\n });\n var visibleRowIndices = instanceProps.rowSizeAndPositionManager.getVisibleCellRange({\n containerSize: height,\n offset: scrollTop\n });\n var horizontalOffsetAdjustment = instanceProps.columnSizeAndPositionManager.getOffsetAdjustment({\n containerSize: width,\n offset: scrollLeft\n });\n var verticalOffsetAdjustment = instanceProps.rowSizeAndPositionManager.getOffsetAdjustment({\n containerSize: height,\n offset: scrollTop\n }); // Store for _invokeOnGridRenderedHelper()\n\n this._renderedColumnStartIndex = visibleColumnIndices.start;\n this._renderedColumnStopIndex = visibleColumnIndices.stop;\n this._renderedRowStartIndex = visibleRowIndices.start;\n this._renderedRowStopIndex = visibleRowIndices.stop;\n var overscanColumnIndices = overscanIndicesGetter({\n direction: 'horizontal',\n cellCount: columnCount,\n overscanCellsCount: overscanColumnCount,\n scrollDirection: scrollDirectionHorizontal,\n startIndex: typeof visibleColumnIndices.start === 'number' ? visibleColumnIndices.start : 0,\n stopIndex: typeof visibleColumnIndices.stop === 'number' ? visibleColumnIndices.stop : -1\n });\n var overscanRowIndices = overscanIndicesGetter({\n direction: 'vertical',\n cellCount: rowCount,\n overscanCellsCount: overscanRowCount,\n scrollDirection: scrollDirectionVertical,\n startIndex: typeof visibleRowIndices.start === 'number' ? visibleRowIndices.start : 0,\n stopIndex: typeof visibleRowIndices.stop === 'number' ? visibleRowIndices.stop : -1\n }); // Store for _invokeOnGridRenderedHelper()\n\n var columnStartIndex = overscanColumnIndices.overscanStartIndex;\n var columnStopIndex = overscanColumnIndices.overscanStopIndex;\n var rowStartIndex = overscanRowIndices.overscanStartIndex;\n var rowStopIndex = overscanRowIndices.overscanStopIndex; // Advanced use-cases (eg CellMeasurer) require batched measurements to determine accurate sizes.\n\n if (deferredMeasurementCache) {\n // If rows have a dynamic height, scan the rows we are about to render.\n // If any have not yet been measured, then we need to render all columns initially,\n // Because the height of the row is equal to the tallest cell within that row,\n // (And so we can't know the height without measuring all column-cells first).\n if (!deferredMeasurementCache.hasFixedHeight()) {\n for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {\n if (!deferredMeasurementCache.has(rowIndex, 0)) {\n columnStartIndex = 0;\n columnStopIndex = columnCount - 1;\n break;\n }\n }\n } // If columns have a dynamic width, scan the columns we are about to render.\n // If any have not yet been measured, then we need to render all rows initially,\n // Because the width of the column is equal to the widest cell within that column,\n // (And so we can't know the width without measuring all row-cells first).\n\n\n if (!deferredMeasurementCache.hasFixedWidth()) {\n for (var columnIndex = columnStartIndex; columnIndex <= columnStopIndex; columnIndex++) {\n if (!deferredMeasurementCache.has(0, columnIndex)) {\n rowStartIndex = 0;\n rowStopIndex = rowCount - 1;\n break;\n }\n }\n }\n }\n\n this._childrenToDisplay = cellRangeRenderer({\n cellCache: this._cellCache,\n cellRenderer: cellRenderer,\n columnSizeAndPositionManager: instanceProps.columnSizeAndPositionManager,\n columnStartIndex: columnStartIndex,\n columnStopIndex: columnStopIndex,\n deferredMeasurementCache: deferredMeasurementCache,\n horizontalOffsetAdjustment: horizontalOffsetAdjustment,\n isScrolling: isScrolling,\n isScrollingOptOut: isScrollingOptOut,\n parent: this,\n rowSizeAndPositionManager: instanceProps.rowSizeAndPositionManager,\n rowStartIndex: rowStartIndex,\n rowStopIndex: rowStopIndex,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n styleCache: this._styleCache,\n verticalOffsetAdjustment: verticalOffsetAdjustment,\n visibleColumnIndices: visibleColumnIndices,\n visibleRowIndices: visibleRowIndices\n }); // update the indices\n\n this._columnStartIndex = columnStartIndex;\n this._columnStopIndex = columnStopIndex;\n this._rowStartIndex = rowStartIndex;\n this._rowStopIndex = rowStopIndex;\n }\n }\n /**\n * Sets an :isScrolling flag for a small window of time.\n * This flag is used to disable pointer events on the scrollable portion of the Grid.\n * This prevents jerky/stuttery mouse-wheel scrolling.\n */\n\n }, {\n key: \"_debounceScrollEnded\",\n value: function _debounceScrollEnded() {\n var scrollingResetTimeInterval = this.props.scrollingResetTimeInterval;\n\n if (this._disablePointerEventsTimeoutId) {\n (0, _requestAnimationTimeout.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId);\n }\n\n this._disablePointerEventsTimeoutId = (0, _requestAnimationTimeout.requestAnimationTimeout)(this._debounceScrollEndedCallback, scrollingResetTimeInterval);\n }\n }, {\n key: \"_handleInvalidatedGridSize\",\n\n /**\n * Check for batched CellMeasurer size invalidations.\n * This will occur the first time one or more previously unmeasured cells are rendered.\n */\n value: function _handleInvalidatedGridSize() {\n if (typeof this._deferredInvalidateColumnIndex === 'number' && typeof this._deferredInvalidateRowIndex === 'number') {\n var columnIndex = this._deferredInvalidateColumnIndex;\n var rowIndex = this._deferredInvalidateRowIndex;\n this._deferredInvalidateColumnIndex = null;\n this._deferredInvalidateRowIndex = null;\n this.recomputeGridSize({\n columnIndex: columnIndex,\n rowIndex: rowIndex\n });\n }\n }\n }, {\n key: \"_invokeOnScrollMemoizer\",\n value: function _invokeOnScrollMemoizer(_ref6) {\n var _this3 = this;\n\n var scrollLeft = _ref6.scrollLeft,\n scrollTop = _ref6.scrollTop,\n totalColumnsWidth = _ref6.totalColumnsWidth,\n totalRowsHeight = _ref6.totalRowsHeight;\n\n this._onScrollMemoizer({\n callback: function callback(_ref7) {\n var scrollLeft = _ref7.scrollLeft,\n scrollTop = _ref7.scrollTop;\n var _this3$props = _this3.props,\n height = _this3$props.height,\n onScroll = _this3$props.onScroll,\n width = _this3$props.width;\n onScroll({\n clientHeight: height,\n clientWidth: width,\n scrollHeight: totalRowsHeight,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n scrollWidth: totalColumnsWidth\n });\n },\n indices: {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n }\n });\n }\n }, {\n key: \"_isScrolling\",\n value: function _isScrolling() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n // If isScrolling is defined in props, use it to override the value in state\n // This is a performance optimization for WindowScroller + Grid\n return Object.hasOwnProperty.call(props, 'isScrolling') ? Boolean(props.isScrolling) : Boolean(state.isScrolling);\n }\n }, {\n key: \"_maybeCallOnScrollbarPresenceChange\",\n value: function _maybeCallOnScrollbarPresenceChange() {\n if (this._scrollbarPresenceChanged) {\n var onScrollbarPresenceChange = this.props.onScrollbarPresenceChange;\n this._scrollbarPresenceChanged = false;\n onScrollbarPresenceChange({\n horizontal: this._horizontalScrollBarSize > 0,\n size: this.state.instanceProps.scrollbarSize,\n vertical: this._verticalScrollBarSize > 0\n });\n }\n }\n }, {\n key: \"scrollToPosition\",\n\n /**\n * Scroll to the specified offset(s).\n * Useful for animating position changes.\n */\n value: function scrollToPosition(_ref8) {\n var scrollLeft = _ref8.scrollLeft,\n scrollTop = _ref8.scrollTop;\n\n var stateUpdate = Grid._getScrollToPositionStateUpdate({\n prevState: this.state,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n });\n\n if (stateUpdate) {\n stateUpdate.needToResetStyleCache = false;\n this.setState(stateUpdate);\n }\n }\n }, {\n key: \"_getCalculatedScrollLeft\",\n value: function _getCalculatedScrollLeft() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n return Grid._getCalculatedScrollLeft(props, state);\n }\n }, {\n key: \"_updateScrollLeftForScrollToColumn\",\n value: function _updateScrollLeftForScrollToColumn() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n\n var stateUpdate = Grid._getScrollLeftForScrollToColumnStateUpdate(props, state);\n\n if (stateUpdate) {\n stateUpdate.needToResetStyleCache = false;\n this.setState(stateUpdate);\n }\n }\n }, {\n key: \"_getCalculatedScrollTop\",\n value: function _getCalculatedScrollTop() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n return Grid._getCalculatedScrollTop(props, state);\n }\n }, {\n key: \"_resetStyleCache\",\n value: function _resetStyleCache() {\n var styleCache = this._styleCache;\n var cellCache = this._cellCache;\n var isScrollingOptOut = this.props.isScrollingOptOut; // Reset cell and style caches once scrolling stops.\n // This makes Grid simpler to use (since cells commonly change).\n // And it keeps the caches from growing too large.\n // Performance is most sensitive when a user is scrolling.\n // Don't clear visible cells from cellCache if isScrollingOptOut is specified.\n // This keeps the cellCache to a resonable size.\n\n this._cellCache = {};\n this._styleCache = {}; // Copy over the visible cell styles so avoid unnecessary re-render.\n\n for (var rowIndex = this._rowStartIndex; rowIndex <= this._rowStopIndex; rowIndex++) {\n for (var columnIndex = this._columnStartIndex; columnIndex <= this._columnStopIndex; columnIndex++) {\n var key = \"\".concat(rowIndex, \"-\").concat(columnIndex);\n this._styleCache[key] = styleCache[key];\n\n if (isScrollingOptOut) {\n this._cellCache[key] = cellCache[key];\n }\n }\n }\n }\n }, {\n key: \"_updateScrollTopForScrollToRow\",\n value: function _updateScrollTopForScrollToRow() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state;\n\n var stateUpdate = Grid._getScrollTopForScrollToRowStateUpdate(props, state);\n\n if (stateUpdate) {\n stateUpdate.needToResetStyleCache = false;\n this.setState(stateUpdate);\n }\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var newState = {};\n\n if (nextProps.columnCount === 0 && prevState.scrollLeft !== 0 || nextProps.rowCount === 0 && prevState.scrollTop !== 0) {\n newState.scrollLeft = 0;\n newState.scrollTop = 0; // only use scroll{Left,Top} from props if scrollTo{Column,Row} isn't specified\n // scrollTo{Column,Row} should override scroll{Left,Top}\n } else if (nextProps.scrollLeft !== prevState.scrollLeft && nextProps.scrollToColumn < 0 || nextProps.scrollTop !== prevState.scrollTop && nextProps.scrollToRow < 0) {\n Object.assign(newState, Grid._getScrollToPositionStateUpdate({\n prevState: prevState,\n scrollLeft: nextProps.scrollLeft,\n scrollTop: nextProps.scrollTop\n }));\n }\n\n var instanceProps = prevState.instanceProps; // Initially we should not clearStyleCache\n\n newState.needToResetStyleCache = false;\n\n if (nextProps.columnWidth !== instanceProps.prevColumnWidth || nextProps.rowHeight !== instanceProps.prevRowHeight) {\n // Reset cache. set it to {} in render\n newState.needToResetStyleCache = true;\n }\n\n instanceProps.columnSizeAndPositionManager.configure({\n cellCount: nextProps.columnCount,\n estimatedCellSize: Grid._getEstimatedColumnSize(nextProps),\n cellSizeGetter: Grid._wrapSizeGetter(nextProps.columnWidth)\n });\n instanceProps.rowSizeAndPositionManager.configure({\n cellCount: nextProps.rowCount,\n estimatedCellSize: Grid._getEstimatedRowSize(nextProps),\n cellSizeGetter: Grid._wrapSizeGetter(nextProps.rowHeight)\n });\n\n if (instanceProps.prevColumnCount === 0 || instanceProps.prevRowCount === 0) {\n instanceProps.prevColumnCount = 0;\n instanceProps.prevRowCount = 0;\n } // If scrolling is controlled outside this component, clear cache when scrolling stops\n\n\n if (nextProps.autoHeight && nextProps.isScrolling === false && instanceProps.prevIsScrolling === true) {\n Object.assign(newState, {\n isScrolling: false\n });\n }\n\n var maybeStateA;\n var maybeStateB;\n (0, _calculateSizeAndPositionDataAndUpdateScrollOffset[\"default\"])({\n cellCount: instanceProps.prevColumnCount,\n cellSize: typeof instanceProps.prevColumnWidth === 'number' ? instanceProps.prevColumnWidth : null,\n computeMetadataCallback: function computeMetadataCallback() {\n return instanceProps.columnSizeAndPositionManager.resetCell(0);\n },\n computeMetadataCallbackProps: nextProps,\n nextCellsCount: nextProps.columnCount,\n nextCellSize: typeof nextProps.columnWidth === 'number' ? nextProps.columnWidth : null,\n nextScrollToIndex: nextProps.scrollToColumn,\n scrollToIndex: instanceProps.prevScrollToColumn,\n updateScrollOffsetForScrollToIndex: function updateScrollOffsetForScrollToIndex() {\n maybeStateA = Grid._getScrollLeftForScrollToColumnStateUpdate(nextProps, prevState);\n }\n });\n (0, _calculateSizeAndPositionDataAndUpdateScrollOffset[\"default\"])({\n cellCount: instanceProps.prevRowCount,\n cellSize: typeof instanceProps.prevRowHeight === 'number' ? instanceProps.prevRowHeight : null,\n computeMetadataCallback: function computeMetadataCallback() {\n return instanceProps.rowSizeAndPositionManager.resetCell(0);\n },\n computeMetadataCallbackProps: nextProps,\n nextCellsCount: nextProps.rowCount,\n nextCellSize: typeof nextProps.rowHeight === 'number' ? nextProps.rowHeight : null,\n nextScrollToIndex: nextProps.scrollToRow,\n scrollToIndex: instanceProps.prevScrollToRow,\n updateScrollOffsetForScrollToIndex: function updateScrollOffsetForScrollToIndex() {\n maybeStateB = Grid._getScrollTopForScrollToRowStateUpdate(nextProps, prevState);\n }\n });\n instanceProps.prevColumnCount = nextProps.columnCount;\n instanceProps.prevColumnWidth = nextProps.columnWidth;\n instanceProps.prevIsScrolling = nextProps.isScrolling === true;\n instanceProps.prevRowCount = nextProps.rowCount;\n instanceProps.prevRowHeight = nextProps.rowHeight;\n instanceProps.prevScrollToColumn = nextProps.scrollToColumn;\n instanceProps.prevScrollToRow = nextProps.scrollToRow; // getting scrollBarSize (moved from componentWillMount)\n\n instanceProps.scrollbarSize = nextProps.getScrollbarSize();\n\n if (instanceProps.scrollbarSize === undefined) {\n instanceProps.scrollbarSizeMeasured = false;\n instanceProps.scrollbarSize = 0;\n } else {\n instanceProps.scrollbarSizeMeasured = true;\n }\n\n newState.instanceProps = instanceProps;\n return _objectSpread({}, newState, {}, maybeStateA, {}, maybeStateB);\n }\n }, {\n key: \"_getEstimatedColumnSize\",\n value: function _getEstimatedColumnSize(props) {\n return typeof props.columnWidth === 'number' ? props.columnWidth : props.estimatedColumnSize;\n }\n }, {\n key: \"_getEstimatedRowSize\",\n value: function _getEstimatedRowSize(props) {\n return typeof props.rowHeight === 'number' ? props.rowHeight : props.estimatedRowSize;\n }\n }, {\n key: \"_getScrollToPositionStateUpdate\",\n\n /**\n * Get the updated state after scrolling to\n * scrollLeft and scrollTop\n */\n value: function _getScrollToPositionStateUpdate(_ref9) {\n var prevState = _ref9.prevState,\n scrollLeft = _ref9.scrollLeft,\n scrollTop = _ref9.scrollTop;\n var newState = {\n scrollPositionChangeReason: SCROLL_POSITION_CHANGE_REASONS.REQUESTED\n };\n\n if (typeof scrollLeft === 'number' && scrollLeft >= 0) {\n newState.scrollDirectionHorizontal = scrollLeft > prevState.scrollLeft ? _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD : _defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD;\n newState.scrollLeft = scrollLeft;\n }\n\n if (typeof scrollTop === 'number' && scrollTop >= 0) {\n newState.scrollDirectionVertical = scrollTop > prevState.scrollTop ? _defaultOverscanIndicesGetter.SCROLL_DIRECTION_FORWARD : _defaultOverscanIndicesGetter.SCROLL_DIRECTION_BACKWARD;\n newState.scrollTop = scrollTop;\n }\n\n if (typeof scrollLeft === 'number' && scrollLeft >= 0 && scrollLeft !== prevState.scrollLeft || typeof scrollTop === 'number' && scrollTop >= 0 && scrollTop !== prevState.scrollTop) {\n return newState;\n }\n\n return {};\n }\n }, {\n key: \"_wrapSizeGetter\",\n value: function _wrapSizeGetter(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n }\n }, {\n key: \"_getCalculatedScrollLeft\",\n value: function _getCalculatedScrollLeft(nextProps, prevState) {\n var columnCount = nextProps.columnCount,\n height = nextProps.height,\n scrollToAlignment = nextProps.scrollToAlignment,\n scrollToColumn = nextProps.scrollToColumn,\n width = nextProps.width;\n var scrollLeft = prevState.scrollLeft,\n instanceProps = prevState.instanceProps;\n\n if (columnCount > 0) {\n var finalColumn = columnCount - 1;\n var targetIndex = scrollToColumn < 0 ? finalColumn : Math.min(finalColumn, scrollToColumn);\n var totalRowsHeight = instanceProps.rowSizeAndPositionManager.getTotalSize();\n var scrollBarSize = instanceProps.scrollbarSizeMeasured && totalRowsHeight > height ? instanceProps.scrollbarSize : 0;\n return instanceProps.columnSizeAndPositionManager.getUpdatedOffsetForIndex({\n align: scrollToAlignment,\n containerSize: width - scrollBarSize,\n currentOffset: scrollLeft,\n targetIndex: targetIndex\n });\n }\n\n return 0;\n }\n }, {\n key: \"_getScrollLeftForScrollToColumnStateUpdate\",\n value: function _getScrollLeftForScrollToColumnStateUpdate(nextProps, prevState) {\n var scrollLeft = prevState.scrollLeft;\n\n var calculatedScrollLeft = Grid._getCalculatedScrollLeft(nextProps, prevState);\n\n if (typeof calculatedScrollLeft === 'number' && calculatedScrollLeft >= 0 && scrollLeft !== calculatedScrollLeft) {\n return Grid._getScrollToPositionStateUpdate({\n prevState: prevState,\n scrollLeft: calculatedScrollLeft,\n scrollTop: -1\n });\n }\n\n return {};\n }\n }, {\n key: \"_getCalculatedScrollTop\",\n value: function _getCalculatedScrollTop(nextProps, prevState) {\n var height = nextProps.height,\n rowCount = nextProps.rowCount,\n scrollToAlignment = nextProps.scrollToAlignment,\n scrollToRow = nextProps.scrollToRow,\n width = nextProps.width;\n var scrollTop = prevState.scrollTop,\n instanceProps = prevState.instanceProps;\n\n if (rowCount > 0) {\n var finalRow = rowCount - 1;\n var targetIndex = scrollToRow < 0 ? finalRow : Math.min(finalRow, scrollToRow);\n var totalColumnsWidth = instanceProps.columnSizeAndPositionManager.getTotalSize();\n var scrollBarSize = instanceProps.scrollbarSizeMeasured && totalColumnsWidth > width ? instanceProps.scrollbarSize : 0;\n return instanceProps.rowSizeAndPositionManager.getUpdatedOffsetForIndex({\n align: scrollToAlignment,\n containerSize: height - scrollBarSize,\n currentOffset: scrollTop,\n targetIndex: targetIndex\n });\n }\n\n return 0;\n }\n }, {\n key: \"_getScrollTopForScrollToRowStateUpdate\",\n value: function _getScrollTopForScrollToRowStateUpdate(nextProps, prevState) {\n var scrollTop = prevState.scrollTop;\n\n var calculatedScrollTop = Grid._getCalculatedScrollTop(nextProps, prevState);\n\n if (typeof calculatedScrollTop === 'number' && calculatedScrollTop >= 0 && scrollTop !== calculatedScrollTop) {\n return Grid._getScrollToPositionStateUpdate({\n prevState: prevState,\n scrollLeft: -1,\n scrollTop: calculatedScrollTop\n });\n }\n\n return {};\n }\n }]);\n return Grid;\n}(React.PureComponent), (0, _defineProperty2[\"default\"])(_class, \"propTypes\", process.env.NODE_ENV === 'production' ? null : {\n \"aria-label\": _propTypes[\"default\"].string.isRequired,\n \"aria-readonly\": _propTypes[\"default\"].bool,\n\n /**\n * Set the width of the inner scrollable container to 'auto'.\n * This is useful for single-column Grids to ensure that the column doesn't extend below a vertical scrollbar.\n */\n \"autoContainerWidth\": _propTypes[\"default\"].bool.isRequired,\n\n /**\n * Removes fixed height from the scrollingContainer so that the total height of rows can stretch the window.\n * Intended for use with WindowScroller\n */\n \"autoHeight\": _propTypes[\"default\"].bool.isRequired,\n\n /**\n * Removes fixed width from the scrollingContainer so that the total width of rows can stretch the window.\n * Intended for use with WindowScroller\n */\n \"autoWidth\": _propTypes[\"default\"].bool.isRequired,\n\n /** Responsible for rendering a cell given an row and column index. */\n \"cellRenderer\": function cellRenderer() {\n return (typeof _types.bpfrpt_proptype_CellRenderer === \"function\" ? _types.bpfrpt_proptype_CellRenderer.isRequired ? _types.bpfrpt_proptype_CellRenderer.isRequired : _types.bpfrpt_proptype_CellRenderer : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_CellRenderer).isRequired).apply(this, arguments);\n },\n\n /** Responsible for rendering a group of cells given their index ranges. */\n \"cellRangeRenderer\": function cellRangeRenderer() {\n return (typeof _types.bpfrpt_proptype_CellRangeRenderer === \"function\" ? _types.bpfrpt_proptype_CellRangeRenderer.isRequired ? _types.bpfrpt_proptype_CellRangeRenderer.isRequired : _types.bpfrpt_proptype_CellRangeRenderer : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_CellRangeRenderer).isRequired).apply(this, arguments);\n },\n\n /** Optional custom CSS class name to attach to root Grid element. */\n \"className\": _propTypes[\"default\"].string,\n\n /** Number of columns in grid. */\n \"columnCount\": _propTypes[\"default\"].number.isRequired,\n\n /** Either a fixed column width (number) or a function that returns the width of a column given its index. */\n \"columnWidth\": function columnWidth() {\n return (typeof _types.bpfrpt_proptype_CellSize === \"function\" ? _types.bpfrpt_proptype_CellSize.isRequired ? _types.bpfrpt_proptype_CellSize.isRequired : _types.bpfrpt_proptype_CellSize : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_CellSize).isRequired).apply(this, arguments);\n },\n\n /** Unfiltered props for the Grid container. */\n \"containerProps\": _propTypes[\"default\"].object,\n\n /** ARIA role for the cell-container. */\n \"containerRole\": _propTypes[\"default\"].string.isRequired,\n\n /** Optional inline style applied to inner cell-container */\n \"containerStyle\": _propTypes[\"default\"].object.isRequired,\n\n /**\n * If CellMeasurer is used to measure this Grid's children, this should be a pointer to its CellMeasurerCache.\n * A shared CellMeasurerCache reference enables Grid and CellMeasurer to share measurement data.\n */\n \"deferredMeasurementCache\": _propTypes[\"default\"].object,\n\n /**\n * Used to estimate the total width of a Grid before all of its columns have actually been measured.\n * The estimated total width is adjusted as columns are rendered.\n */\n \"estimatedColumnSize\": _propTypes[\"default\"].number.isRequired,\n\n /**\n * Used to estimate the total height of a Grid before all of its rows have actually been measured.\n * The estimated total height is adjusted as rows are rendered.\n */\n \"estimatedRowSize\": _propTypes[\"default\"].number.isRequired,\n\n /** Exposed for testing purposes only. */\n \"getScrollbarSize\": _propTypes[\"default\"].func.isRequired,\n\n /** Height of Grid; this property determines the number of visible (vs virtualized) rows. */\n \"height\": _propTypes[\"default\"].number.isRequired,\n\n /** Optional custom id to attach to root Grid element. */\n \"id\": _propTypes[\"default\"].string,\n\n /**\n * Override internal is-scrolling state tracking.\n * This property is primarily intended for use with the WindowScroller component.\n */\n \"isScrolling\": _propTypes[\"default\"].bool,\n\n /**\n * Opt-out of isScrolling param passed to cellRangeRenderer.\n * To avoid the extra render when scroll stops.\n */\n \"isScrollingOptOut\": _propTypes[\"default\"].bool.isRequired,\n\n /** Optional renderer to be used in place of rows when either :rowCount or :columnCount is 0. */\n \"noContentRenderer\": function noContentRenderer() {\n return (typeof _types.bpfrpt_proptype_NoContentRenderer === \"function\" ? _types.bpfrpt_proptype_NoContentRenderer.isRequired ? _types.bpfrpt_proptype_NoContentRenderer.isRequired : _types.bpfrpt_proptype_NoContentRenderer : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_NoContentRenderer).isRequired).apply(this, arguments);\n },\n\n /**\n * Callback invoked whenever the scroll offset changes within the inner scrollable region.\n * This callback can be used to sync scrolling between lists, tables, or grids.\n */\n \"onScroll\": _propTypes[\"default\"].func.isRequired,\n\n /**\n * Called whenever a horizontal or vertical scrollbar is added or removed.\n * This prop is not intended for end-user use;\n * It is used by MultiGrid to support fixed-row/fixed-column scroll syncing.\n */\n \"onScrollbarPresenceChange\": _propTypes[\"default\"].func.isRequired,\n\n /** Callback invoked with information about the section of the Grid that was just rendered. */\n \"onSectionRendered\": _propTypes[\"default\"].func.isRequired,\n\n /**\n * Number of columns to render before/after the visible section of the grid.\n * These columns can help for smoother scrolling on touch devices or browsers that send scroll events infrequently.\n */\n \"overscanColumnCount\": _propTypes[\"default\"].number.isRequired,\n\n /**\n * Calculates the number of cells to overscan before and after a specified range.\n * This function ensures that overscanning doesn't exceed the available cells.\n */\n \"overscanIndicesGetter\": function overscanIndicesGetter() {\n return (typeof _types.bpfrpt_proptype_OverscanIndicesGetter === \"function\" ? _types.bpfrpt_proptype_OverscanIndicesGetter.isRequired ? _types.bpfrpt_proptype_OverscanIndicesGetter.isRequired : _types.bpfrpt_proptype_OverscanIndicesGetter : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_OverscanIndicesGetter).isRequired).apply(this, arguments);\n },\n\n /**\n * Number of rows to render above/below the visible section of the grid.\n * These rows can help for smoother scrolling on touch devices or browsers that send scroll events infrequently.\n */\n \"overscanRowCount\": _propTypes[\"default\"].number.isRequired,\n\n /** ARIA role for the grid element. */\n \"role\": _propTypes[\"default\"].string.isRequired,\n\n /**\n * Either a fixed row height (number) or a function that returns the height of a row given its index.\n * Should implement the following interface: ({ index: number }): number\n */\n \"rowHeight\": function rowHeight() {\n return (typeof _types.bpfrpt_proptype_CellSize === \"function\" ? _types.bpfrpt_proptype_CellSize.isRequired ? _types.bpfrpt_proptype_CellSize.isRequired : _types.bpfrpt_proptype_CellSize : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_CellSize).isRequired).apply(this, arguments);\n },\n\n /** Number of rows in grid. */\n \"rowCount\": _propTypes[\"default\"].number.isRequired,\n\n /** Wait this amount of time after the last scroll event before resetting Grid `pointer-events`. */\n \"scrollingResetTimeInterval\": _propTypes[\"default\"].number.isRequired,\n\n /** Horizontal offset. */\n \"scrollLeft\": _propTypes[\"default\"].number,\n\n /**\n * Controls scroll-to-cell behavior of the Grid.\n * The default (\"auto\") scrolls the least amount possible to ensure that the specified cell is fully visible.\n * Use \"start\" to align cells to the top/left of the Grid and \"end\" to align bottom/right.\n */\n \"scrollToAlignment\": function scrollToAlignment() {\n return (typeof _types.bpfrpt_proptype_Alignment === \"function\" ? _types.bpfrpt_proptype_Alignment.isRequired ? _types.bpfrpt_proptype_Alignment.isRequired : _types.bpfrpt_proptype_Alignment : _propTypes[\"default\"].shape(_types.bpfrpt_proptype_Alignment).isRequired).apply(this, arguments);\n },\n\n /** Column index to ensure visible (by forcefully scrolling if necessary) */\n \"scrollToColumn\": _propTypes[\"default\"].number.isRequired,\n\n /** Vertical offset. */\n \"scrollTop\": _propTypes[\"default\"].number,\n\n /** Row index to ensure visible (by forcefully scrolling if necessary) */\n \"scrollToRow\": _propTypes[\"default\"].number.isRequired,\n\n /** Optional inline style */\n \"style\": _propTypes[\"default\"].object.isRequired,\n\n /** Tab index for focus */\n \"tabIndex\": _propTypes[\"default\"].number,\n\n /** Width of Grid; this property determines the number of visible (vs virtualized) columns. */\n \"width\": _propTypes[\"default\"].number.isRequired\n}), _temp);\n(0, _defineProperty2[\"default\"])(Grid, \"defaultProps\", {\n 'aria-label': 'grid',\n 'aria-readonly': true,\n autoContainerWidth: false,\n autoHeight: false,\n autoWidth: false,\n cellRangeRenderer: _defaultCellRangeRenderer[\"default\"],\n containerRole: 'rowgroup',\n containerStyle: {},\n estimatedColumnSize: 100,\n estimatedRowSize: 30,\n getScrollbarSize: _scrollbarSize[\"default\"],\n noContentRenderer: renderNull,\n onScroll: function onScroll() {},\n onScrollbarPresenceChange: function onScrollbarPresenceChange() {},\n onSectionRendered: function onSectionRendered() {},\n overscanColumnCount: 0,\n overscanIndicesGetter: _defaultOverscanIndicesGetter[\"default\"],\n overscanRowCount: 10,\n role: 'grid',\n scrollingResetTimeInterval: DEFAULT_SCROLLING_RESET_TIME_INTERVAL,\n scrollToAlignment: 'auto',\n scrollToColumn: -1,\n scrollToRow: -1,\n style: {},\n tabIndex: 0,\n isScrollingOptOut: false\n});\n(0, _reactLifecyclesCompat.polyfill)(Grid);\nvar _default = Grid;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = defaultOverscanIndicesGetter;\nexports.SCROLL_DIRECTION_VERTICAL = exports.SCROLL_DIRECTION_HORIZONTAL = exports.SCROLL_DIRECTION_FORWARD = exports.SCROLL_DIRECTION_BACKWARD = void 0;\n\nvar _types = require(\"./types\");\n\nvar SCROLL_DIRECTION_BACKWARD = -1;\nexports.SCROLL_DIRECTION_BACKWARD = SCROLL_DIRECTION_BACKWARD;\nvar SCROLL_DIRECTION_FORWARD = 1;\nexports.SCROLL_DIRECTION_FORWARD = SCROLL_DIRECTION_FORWARD;\nvar SCROLL_DIRECTION_HORIZONTAL = 'horizontal';\nexports.SCROLL_DIRECTION_HORIZONTAL = SCROLL_DIRECTION_HORIZONTAL;\nvar SCROLL_DIRECTION_VERTICAL = 'vertical';\n/**\n * Calculates the number of cells to overscan before and after a specified range.\n * This function ensures that overscanning doesn't exceed the available cells.\n */\n\nexports.SCROLL_DIRECTION_VERTICAL = SCROLL_DIRECTION_VERTICAL;\n\nfunction defaultOverscanIndicesGetter(_ref) {\n var cellCount = _ref.cellCount,\n overscanCellsCount = _ref.overscanCellsCount,\n scrollDirection = _ref.scrollDirection,\n startIndex = _ref.startIndex,\n stopIndex = _ref.stopIndex;\n // Make sure we render at least 1 cell extra before and after (except near boundaries)\n // This is necessary in order to support keyboard navigation (TAB/SHIFT+TAB) in some cases\n // For more info see issues #625\n overscanCellsCount = Math.max(1, overscanCellsCount);\n\n if (scrollDirection === SCROLL_DIRECTION_FORWARD) {\n return {\n overscanStartIndex: Math.max(0, startIndex - 1),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount)\n };\n } else {\n return {\n overscanStartIndex: Math.max(0, startIndex - overscanCellsCount),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex + 1)\n };\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Grid[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Grid\", {\n enumerable: true,\n get: function get() {\n return _Grid[\"default\"];\n }\n});\nObject.defineProperty(exports, \"accessibilityOverscanIndicesGetter\", {\n enumerable: true,\n get: function get() {\n return _accessibilityOverscanIndicesGetter[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultCellRangeRenderer\", {\n enumerable: true,\n get: function get() {\n return _defaultCellRangeRenderer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultOverscanIndicesGetter\", {\n enumerable: true,\n get: function get() {\n return _defaultOverscanIndicesGetter[\"default\"];\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_NoContentRenderer\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_NoContentRenderer;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_Alignment\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_Alignment;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_CellPosition\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_CellPosition;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_CellSize\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_CellSize;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_OverscanIndicesGetter\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_OverscanIndicesGetter;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_RenderedSection\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_RenderedSection;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_CellRendererParams\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_CellRendererParams;\n }\n});\nObject.defineProperty(exports, \"bpfrpt_proptype_Scroll\", {\n enumerable: true,\n get: function get() {\n return _types.bpfrpt_proptype_Scroll;\n }\n});\n\nvar _Grid = _interopRequireDefault(require(\"./Grid\"));\n\nvar _accessibilityOverscanIndicesGetter = _interopRequireDefault(require(\"./accessibilityOverscanIndicesGetter\"));\n\nvar _defaultCellRangeRenderer = _interopRequireDefault(require(\"./defaultCellRangeRenderer\"));\n\nvar _defaultOverscanIndicesGetter = _interopRequireDefault(require(\"./defaultOverscanIndicesGetter\"));\n\nvar _types = require(\"./types\");","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\n\nvar _Column = _interopRequireDefault(require(\"./Column\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _Grid2 = _interopRequireWildcard(require(\"../Grid\"));\n\nvar _defaultRowRenderer = _interopRequireDefault(require(\"./defaultRowRenderer\"));\n\nvar _defaultHeaderRowRenderer = _interopRequireDefault(require(\"./defaultHeaderRowRenderer\"));\n\nvar _SortDirection = _interopRequireDefault(require(\"./SortDirection\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Table component with fixed headers and virtualized rows for improved performance with large data sets.\n * This component expects explicit width, height, and padding parameters.\n */\nvar Table =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n (0, _inherits2[\"default\"])(Table, _React$PureComponent);\n\n function Table(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Table);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Table).call(this, props));\n _this.state = {\n scrollbarWidth: 0\n };\n _this._createColumn = _this._createColumn.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this._createRow = _this._createRow.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this._onScroll = _this._onScroll.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this._onSectionRendered = _this._onSectionRendered.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this._setRef = _this._setRef.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Table, [{\n key: \"forceUpdateGrid\",\n value: function forceUpdateGrid() {\n if (this.Grid) {\n this.Grid.forceUpdate();\n }\n }\n /** See Grid#getOffsetForCell */\n\n }, {\n key: \"getOffsetForRow\",\n value: function getOffsetForRow(_ref) {\n var alignment = _ref.alignment,\n index = _ref.index;\n\n if (this.Grid) {\n var _this$Grid$getOffsetF = this.Grid.getOffsetForCell({\n alignment: alignment,\n rowIndex: index\n }),\n scrollTop = _this$Grid$getOffsetF.scrollTop;\n\n return scrollTop;\n }\n\n return 0;\n }\n /** CellMeasurer compatibility */\n\n }, {\n key: \"invalidateCellSizeAfterRender\",\n value: function invalidateCellSizeAfterRender(_ref2) {\n var columnIndex = _ref2.columnIndex,\n rowIndex = _ref2.rowIndex;\n\n if (this.Grid) {\n this.Grid.invalidateCellSizeAfterRender({\n rowIndex: rowIndex,\n columnIndex: columnIndex\n });\n }\n }\n /** See Grid#measureAllCells */\n\n }, {\n key: \"measureAllRows\",\n value: function measureAllRows() {\n if (this.Grid) {\n this.Grid.measureAllCells();\n }\n }\n /** CellMeasurer compatibility */\n\n }, {\n key: \"recomputeGridSize\",\n value: function recomputeGridSize() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$columnIndex = _ref3.columnIndex,\n columnIndex = _ref3$columnIndex === void 0 ? 0 : _ref3$columnIndex,\n _ref3$rowIndex = _ref3.rowIndex,\n rowIndex = _ref3$rowIndex === void 0 ? 0 : _ref3$rowIndex;\n\n if (this.Grid) {\n this.Grid.recomputeGridSize({\n rowIndex: rowIndex,\n columnIndex: columnIndex\n });\n }\n }\n /** See Grid#recomputeGridSize */\n\n }, {\n key: \"recomputeRowHeights\",\n value: function recomputeRowHeights() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (this.Grid) {\n this.Grid.recomputeGridSize({\n rowIndex: index\n });\n }\n }\n /** See Grid#scrollToPosition */\n\n }, {\n key: \"scrollToPosition\",\n value: function scrollToPosition() {\n var scrollTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (this.Grid) {\n this.Grid.scrollToPosition({\n scrollTop: scrollTop\n });\n }\n }\n /** See Grid#scrollToCell */\n\n }, {\n key: \"scrollToRow\",\n value: function scrollToRow() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (this.Grid) {\n this.Grid.scrollToCell({\n columnIndex: 0,\n rowIndex: index\n });\n }\n }\n }, {\n key: \"getScrollbarWidth\",\n value: function getScrollbarWidth() {\n if (this.Grid) {\n var _Grid = (0, _reactDom.findDOMNode)(this.Grid);\n\n var clientWidth = _Grid.clientWidth || 0;\n var offsetWidth = _Grid.offsetWidth || 0;\n return offsetWidth - clientWidth;\n }\n\n return 0;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._setScrollbarWidth();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this._setScrollbarWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className,\n disableHeader = _this$props.disableHeader,\n gridClassName = _this$props.gridClassName,\n gridStyle = _this$props.gridStyle,\n headerHeight = _this$props.headerHeight,\n headerRowRenderer = _this$props.headerRowRenderer,\n height = _this$props.height,\n id = _this$props.id,\n noRowsRenderer = _this$props.noRowsRenderer,\n rowClassName = _this$props.rowClassName,\n rowStyle = _this$props.rowStyle,\n scrollToIndex = _this$props.scrollToIndex,\n style = _this$props.style,\n width = _this$props.width;\n var scrollbarWidth = this.state.scrollbarWidth;\n var availableRowsHeight = disableHeader ? height : height - headerHeight;\n var rowClass = typeof rowClassName === 'function' ? rowClassName({\n index: -1\n }) : rowClassName;\n var rowStyleObject = typeof rowStyle === 'function' ? rowStyle({\n index: -1\n }) : rowStyle; // Precompute and cache column styles before rendering rows and columns to speed things up\n\n this._cachedColumnStyles = [];\n React.Children.toArray(children).forEach(function (column, index) {\n var flexStyles = _this2._getFlexStyleForColumn(column, column.props.style);\n\n _this2._cachedColumnStyles[index] = _objectSpread({\n overflow: 'hidden'\n }, flexStyles);\n }); // Note that we specify :rowCount, :scrollbarWidth, :sortBy, and :sortDirection as properties on Grid even though these have nothing to do with Grid.\n // This is done because Grid is a pure component and won't update unless its properties or state has changed.\n // Any property that should trigger a re-render of Grid then is specified here to avoid a stale display.\n\n return React.createElement(\"div\", {\n \"aria-label\": this.props['aria-label'],\n \"aria-labelledby\": this.props['aria-labelledby'],\n \"aria-colcount\": React.Children.toArray(children).length,\n \"aria-rowcount\": this.props.rowCount,\n className: (0, _clsx[\"default\"])('ReactVirtualized__Table', className),\n id: id,\n role: \"grid\",\n style: style\n }, !disableHeader && headerRowRenderer({\n className: (0, _clsx[\"default\"])('ReactVirtualized__Table__headerRow', rowClass),\n columns: this._getHeaderColumns(),\n style: _objectSpread({\n height: headerHeight,\n overflow: 'hidden',\n paddingRight: scrollbarWidth,\n width: width\n }, rowStyleObject)\n }), React.createElement(_Grid2[\"default\"], (0, _extends2[\"default\"])({}, this.props, {\n \"aria-readonly\": null,\n autoContainerWidth: true,\n className: (0, _clsx[\"default\"])('ReactVirtualized__Table__Grid', gridClassName),\n cellRenderer: this._createRow,\n columnWidth: width,\n columnCount: 1,\n height: availableRowsHeight,\n id: undefined,\n noContentRenderer: noRowsRenderer,\n onScroll: this._onScroll,\n onSectionRendered: this._onSectionRendered,\n ref: this._setRef,\n role: \"rowgroup\",\n scrollbarWidth: scrollbarWidth,\n scrollToRow: scrollToIndex,\n style: _objectSpread({}, gridStyle, {\n overflowX: 'hidden'\n })\n })));\n }\n }, {\n key: \"_createColumn\",\n value: function _createColumn(_ref4) {\n var column = _ref4.column,\n columnIndex = _ref4.columnIndex,\n isScrolling = _ref4.isScrolling,\n parent = _ref4.parent,\n rowData = _ref4.rowData,\n rowIndex = _ref4.rowIndex;\n var onColumnClick = this.props.onColumnClick;\n var _column$props = column.props,\n cellDataGetter = _column$props.cellDataGetter,\n cellRenderer = _column$props.cellRenderer,\n className = _column$props.className,\n columnData = _column$props.columnData,\n dataKey = _column$props.dataKey,\n id = _column$props.id;\n var cellData = cellDataGetter({\n columnData: columnData,\n dataKey: dataKey,\n rowData: rowData\n });\n var renderedCell = cellRenderer({\n cellData: cellData,\n columnData: columnData,\n columnIndex: columnIndex,\n dataKey: dataKey,\n isScrolling: isScrolling,\n parent: parent,\n rowData: rowData,\n rowIndex: rowIndex\n });\n\n var onClick = function onClick(event) {\n onColumnClick && onColumnClick({\n columnData: columnData,\n dataKey: dataKey,\n event: event\n });\n };\n\n var style = this._cachedColumnStyles[columnIndex];\n var title = typeof renderedCell === 'string' ? renderedCell : null; // Avoid using object-spread syntax with multiple objects here,\n // Since it results in an extra method call to 'babel-runtime/helpers/extends'\n // See PR https://github.com/bvaughn/react-virtualized/pull/942\n\n return React.createElement(\"div\", {\n \"aria-colindex\": columnIndex + 1,\n \"aria-describedby\": id,\n className: (0, _clsx[\"default\"])('ReactVirtualized__Table__rowColumn', className),\n key: 'Row' + rowIndex + '-' + 'Col' + columnIndex,\n onClick: onClick,\n role: \"gridcell\",\n style: style,\n title: title\n }, renderedCell);\n }\n }, {\n key: \"_createHeader\",\n value: function _createHeader(_ref5) {\n var column = _ref5.column,\n index = _ref5.index;\n var _this$props2 = this.props,\n headerClassName = _this$props2.headerClassName,\n headerStyle = _this$props2.headerStyle,\n onHeaderClick = _this$props2.onHeaderClick,\n sort = _this$props2.sort,\n sortBy = _this$props2.sortBy,\n sortDirection = _this$props2.sortDirection;\n var _column$props2 = column.props,\n columnData = _column$props2.columnData,\n dataKey = _column$props2.dataKey,\n defaultSortDirection = _column$props2.defaultSortDirection,\n disableSort = _column$props2.disableSort,\n headerRenderer = _column$props2.headerRenderer,\n id = _column$props2.id,\n label = _column$props2.label;\n var sortEnabled = !disableSort && sort;\n var classNames = (0, _clsx[\"default\"])('ReactVirtualized__Table__headerColumn', headerClassName, column.props.headerClassName, {\n ReactVirtualized__Table__sortableHeaderColumn: sortEnabled\n });\n\n var style = this._getFlexStyleForColumn(column, _objectSpread({}, headerStyle, {}, column.props.headerStyle));\n\n var renderedHeader = headerRenderer({\n columnData: columnData,\n dataKey: dataKey,\n disableSort: disableSort,\n label: label,\n sortBy: sortBy,\n sortDirection: sortDirection\n });\n var headerOnClick, headerOnKeyDown, headerTabIndex, headerAriaSort, headerAriaLabel;\n\n if (sortEnabled || onHeaderClick) {\n // If this is a sortable header, clicking it should update the table data's sorting.\n var isFirstTimeSort = sortBy !== dataKey; // If this is the firstTime sort of this column, use the column default sort order.\n // Otherwise, invert the direction of the sort.\n\n var newSortDirection = isFirstTimeSort ? defaultSortDirection : sortDirection === _SortDirection[\"default\"].DESC ? _SortDirection[\"default\"].ASC : _SortDirection[\"default\"].DESC;\n\n var onClick = function onClick(event) {\n sortEnabled && sort({\n defaultSortDirection: defaultSortDirection,\n event: event,\n sortBy: dataKey,\n sortDirection: newSortDirection\n });\n onHeaderClick && onHeaderClick({\n columnData: columnData,\n dataKey: dataKey,\n event: event\n });\n };\n\n var onKeyDown = function onKeyDown(event) {\n if (event.key === 'Enter' || event.key === ' ') {\n onClick(event);\n }\n };\n\n headerAriaLabel = column.props['aria-label'] || label || dataKey;\n headerAriaSort = 'none';\n headerTabIndex = 0;\n headerOnClick = onClick;\n headerOnKeyDown = onKeyDown;\n }\n\n if (sortBy === dataKey) {\n headerAriaSort = sortDirection === _SortDirection[\"default\"].ASC ? 'ascending' : 'descending';\n } // Avoid using object-spread syntax with multiple objects here,\n // Since it results in an extra method call to 'babel-runtime/helpers/extends'\n // See PR https://github.com/bvaughn/react-virtualized/pull/942\n\n\n return React.createElement(\"div\", {\n \"aria-label\": headerAriaLabel,\n \"aria-sort\": headerAriaSort,\n className: classNames,\n id: id,\n key: 'Header-Col' + index,\n onClick: headerOnClick,\n onKeyDown: headerOnKeyDown,\n role: \"columnheader\",\n style: style,\n tabIndex: headerTabIndex\n }, renderedHeader);\n }\n }, {\n key: \"_createRow\",\n value: function _createRow(_ref6) {\n var _this3 = this;\n\n var index = _ref6.rowIndex,\n isScrolling = _ref6.isScrolling,\n key = _ref6.key,\n parent = _ref6.parent,\n style = _ref6.style;\n var _this$props3 = this.props,\n children = _this$props3.children,\n onRowClick = _this$props3.onRowClick,\n onRowDoubleClick = _this$props3.onRowDoubleClick,\n onRowRightClick = _this$props3.onRowRightClick,\n onRowMouseOver = _this$props3.onRowMouseOver,\n onRowMouseOut = _this$props3.onRowMouseOut,\n rowClassName = _this$props3.rowClassName,\n rowGetter = _this$props3.rowGetter,\n rowRenderer = _this$props3.rowRenderer,\n rowStyle = _this$props3.rowStyle;\n var scrollbarWidth = this.state.scrollbarWidth;\n var rowClass = typeof rowClassName === 'function' ? rowClassName({\n index: index\n }) : rowClassName;\n var rowStyleObject = typeof rowStyle === 'function' ? rowStyle({\n index: index\n }) : rowStyle;\n var rowData = rowGetter({\n index: index\n });\n var columns = React.Children.toArray(children).map(function (column, columnIndex) {\n return _this3._createColumn({\n column: column,\n columnIndex: columnIndex,\n isScrolling: isScrolling,\n parent: parent,\n rowData: rowData,\n rowIndex: index,\n scrollbarWidth: scrollbarWidth\n });\n });\n var className = (0, _clsx[\"default\"])('ReactVirtualized__Table__row', rowClass);\n\n var flattenedStyle = _objectSpread({}, style, {\n height: this._getRowHeight(index),\n overflow: 'hidden',\n paddingRight: scrollbarWidth\n }, rowStyleObject);\n\n return rowRenderer({\n className: className,\n columns: columns,\n index: index,\n isScrolling: isScrolling,\n key: key,\n onRowClick: onRowClick,\n onRowDoubleClick: onRowDoubleClick,\n onRowRightClick: onRowRightClick,\n onRowMouseOver: onRowMouseOver,\n onRowMouseOut: onRowMouseOut,\n rowData: rowData,\n style: flattenedStyle\n });\n }\n /**\n * Determines the flex-shrink, flex-grow, and width values for a cell (header or column).\n */\n\n }, {\n key: \"_getFlexStyleForColumn\",\n value: function _getFlexStyleForColumn(column) {\n var customStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var flexValue = \"\".concat(column.props.flexGrow, \" \").concat(column.props.flexShrink, \" \").concat(column.props.width, \"px\");\n\n var style = _objectSpread({}, customStyle, {\n flex: flexValue,\n msFlex: flexValue,\n WebkitFlex: flexValue\n });\n\n if (column.props.maxWidth) {\n style.maxWidth = column.props.maxWidth;\n }\n\n if (column.props.minWidth) {\n style.minWidth = column.props.minWidth;\n }\n\n return style;\n }\n }, {\n key: \"_getHeaderColumns\",\n value: function _getHeaderColumns() {\n var _this4 = this;\n\n var _this$props4 = this.props,\n children = _this$props4.children,\n disableHeader = _this$props4.disableHeader;\n var items = disableHeader ? [] : React.Children.toArray(children);\n return items.map(function (column, index) {\n return _this4._createHeader({\n column: column,\n index: index\n });\n });\n }\n }, {\n key: \"_getRowHeight\",\n value: function _getRowHeight(rowIndex) {\n var rowHeight = this.props.rowHeight;\n return typeof rowHeight === 'function' ? rowHeight({\n index: rowIndex\n }) : rowHeight;\n }\n }, {\n key: \"_onScroll\",\n value: function _onScroll(_ref7) {\n var clientHeight = _ref7.clientHeight,\n scrollHeight = _ref7.scrollHeight,\n scrollTop = _ref7.scrollTop;\n var onScroll = this.props.onScroll;\n onScroll({\n clientHeight: clientHeight,\n scrollHeight: scrollHeight,\n scrollTop: scrollTop\n });\n }\n }, {\n key: \"_onSectionRendered\",\n value: function _onSectionRendered(_ref8) {\n var rowOverscanStartIndex = _ref8.rowOverscanStartIndex,\n rowOverscanStopIndex = _ref8.rowOverscanStopIndex,\n rowStartIndex = _ref8.rowStartIndex,\n rowStopIndex = _ref8.rowStopIndex;\n var onRowsRendered = this.props.onRowsRendered;\n onRowsRendered({\n overscanStartIndex: rowOverscanStartIndex,\n overscanStopIndex: rowOverscanStopIndex,\n startIndex: rowStartIndex,\n stopIndex: rowStopIndex\n });\n }\n }, {\n key: \"_setRef\",\n value: function _setRef(ref) {\n this.Grid = ref;\n }\n }, {\n key: \"_setScrollbarWidth\",\n value: function _setScrollbarWidth() {\n var scrollbarWidth = this.getScrollbarWidth();\n this.setState({\n scrollbarWidth: scrollbarWidth\n });\n }\n }]);\n return Table;\n}(React.PureComponent);\n\nexports[\"default\"] = Table;\n(0, _defineProperty2[\"default\"])(Table, \"defaultProps\", {\n disableHeader: false,\n estimatedRowSize: 30,\n headerHeight: 0,\n headerStyle: {},\n noRowsRenderer: function noRowsRenderer() {\n return null;\n },\n onRowsRendered: function onRowsRendered() {\n return null;\n },\n onScroll: function onScroll() {\n return null;\n },\n overscanIndicesGetter: _Grid2.accessibilityOverscanIndicesGetter,\n overscanRowCount: 10,\n rowRenderer: _defaultRowRenderer[\"default\"],\n headerRowRenderer: _defaultHeaderRowRenderer[\"default\"],\n rowStyle: {},\n scrollToAlignment: 'auto',\n scrollToIndex: -1,\n style: {}\n});\nTable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** This is just set on the grid top element. */\n 'aria-label': _propTypes[\"default\"].string,\n\n /** This is just set on the grid top element. */\n 'aria-labelledby': _propTypes[\"default\"].string,\n\n /**\n * Removes fixed height from the scrollingContainer so that the total height\n * of rows can stretch the window. Intended for use with WindowScroller\n */\n autoHeight: _propTypes[\"default\"].bool,\n\n /** One or more Columns describing the data displayed in this row */\n children: function children(props) {\n var children = React.Children.toArray(props.children);\n\n for (var i = 0; i < children.length; i++) {\n var childType = children[i].type;\n\n if (childType !== _Column[\"default\"] && !(childType.prototype instanceof _Column[\"default\"])) {\n return new Error('Table only accepts children of type Column');\n }\n }\n },\n\n /** Optional CSS class name */\n className: _propTypes[\"default\"].string,\n\n /** Disable rendering the header at all */\n disableHeader: _propTypes[\"default\"].bool,\n\n /**\n * Used to estimate the total height of a Table before all of its rows have actually been measured.\n * The estimated total height is adjusted as rows are rendered.\n */\n estimatedRowSize: _propTypes[\"default\"].number.isRequired,\n\n /** Optional custom CSS class name to attach to inner Grid element. */\n gridClassName: _propTypes[\"default\"].string,\n\n /** Optional inline style to attach to inner Grid element. */\n gridStyle: _propTypes[\"default\"].object,\n\n /** Optional CSS class to apply to all column headers */\n headerClassName: _propTypes[\"default\"].string,\n\n /** Fixed height of header row */\n headerHeight: _propTypes[\"default\"].number.isRequired,\n\n /**\n * Responsible for rendering a table row given an array of columns:\n * Should implement the following interface: ({\n * className: string,\n * columns: any[],\n * style: any\n * }): PropTypes.node\n */\n headerRowRenderer: _propTypes[\"default\"].func,\n\n /** Optional custom inline style to attach to table header columns. */\n headerStyle: _propTypes[\"default\"].object,\n\n /** Fixed/available height for out DOM element */\n height: _propTypes[\"default\"].number.isRequired,\n\n /** Optional id */\n id: _propTypes[\"default\"].string,\n\n /** Optional renderer to be used in place of table body rows when rowCount is 0 */\n noRowsRenderer: _propTypes[\"default\"].func,\n\n /**\n * Optional callback when a column is clicked.\n * ({ columnData: any, dataKey: string }): void\n */\n onColumnClick: _propTypes[\"default\"].func,\n\n /**\n * Optional callback when a column's header is clicked.\n * ({ columnData: any, dataKey: string }): void\n */\n onHeaderClick: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked when a user clicks on a table row.\n * ({ index: number }): void\n */\n onRowClick: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked when a user double-clicks on a table row.\n * ({ index: number }): void\n */\n onRowDoubleClick: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked when the mouse leaves a table row.\n * ({ index: number }): void\n */\n onRowMouseOut: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked when a user moves the mouse over a table row.\n * ({ index: number }): void\n */\n onRowMouseOver: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked when a user right-clicks on a table row.\n * ({ index: number }): void\n */\n onRowRightClick: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked with information about the slice of rows that were just rendered.\n * ({ startIndex, stopIndex }): void\n */\n onRowsRendered: _propTypes[\"default\"].func,\n\n /**\n * Callback invoked whenever the scroll offset changes within the inner scrollable region.\n * This callback can be used to sync scrolling between lists, tables, or grids.\n * ({ clientHeight, scrollHeight, scrollTop }): void\n */\n onScroll: _propTypes[\"default\"].func.isRequired,\n\n /** See Grid#overscanIndicesGetter */\n overscanIndicesGetter: _propTypes[\"default\"].func.isRequired,\n\n /**\n * Number of rows to render above/below the visible bounds of the list.\n * These rows can help for smoother scrolling on touch devices.\n */\n overscanRowCount: _propTypes[\"default\"].number.isRequired,\n\n /**\n * Optional CSS class to apply to all table rows (including the header row).\n * This property can be a CSS class name (string) or a function that returns a class name.\n * If a function is provided its signature should be: ({ index: number }): string\n */\n rowClassName: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n\n /**\n * Callback responsible for returning a data row given an index.\n * ({ index: number }): any\n */\n rowGetter: _propTypes[\"default\"].func.isRequired,\n\n /**\n * Either a fixed row height (number) or a function that returns the height of a row given its index.\n * ({ index: number }): number\n */\n rowHeight: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].number, _propTypes[\"default\"].func]).isRequired,\n\n /** Number of rows in table. */\n rowCount: _propTypes[\"default\"].number.isRequired,\n\n /**\n * Responsible for rendering a table row given an array of columns:\n * Should implement the following interface: ({\n * className: string,\n * columns: Array,\n * index: number,\n * isScrolling: boolean,\n * onRowClick: ?Function,\n * onRowDoubleClick: ?Function,\n * onRowMouseOver: ?Function,\n * onRowMouseOut: ?Function,\n * rowData: any,\n * style: any\n * }): PropTypes.node\n */\n rowRenderer: _propTypes[\"default\"].func,\n\n /** Optional custom inline style to attach to table rows. */\n rowStyle: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].func]).isRequired,\n\n /** See Grid#scrollToAlignment */\n scrollToAlignment: _propTypes[\"default\"].oneOf(['auto', 'end', 'start', 'center']).isRequired,\n\n /** Row index to ensure visible (by forcefully scrolling if necessary) */\n scrollToIndex: _propTypes[\"default\"].number.isRequired,\n\n /** Vertical offset. */\n scrollTop: _propTypes[\"default\"].number,\n\n /**\n * Sort function to be called if a sortable header is clicked.\n * Should implement the following interface: ({\n * defaultSortDirection: 'ASC' | 'DESC',\n * event: MouseEvent,\n * sortBy: string,\n * sortDirection: SortDirection\n * }): void\n */\n sort: _propTypes[\"default\"].func,\n\n /** Table data is currently sorted by this :dataKey (if it is sorted at all) */\n sortBy: _propTypes[\"default\"].string,\n\n /** Table data is currently sorted in this direction (if it is sorted at all) */\n sortDirection: _propTypes[\"default\"].oneOf([_SortDirection[\"default\"].ASC, _SortDirection[\"default\"].DESC]),\n\n /** Optional inline style */\n style: _propTypes[\"default\"].object,\n\n /** Tab index for focus */\n tabIndex: _propTypes[\"default\"].number,\n\n /** Width of list */\n width: _propTypes[\"default\"].number.isRequired\n} : {};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"createMultiSort\", {\n enumerable: true,\n get: function get() {\n return _createMultiSort[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultCellDataGetter\", {\n enumerable: true,\n get: function get() {\n return _defaultCellDataGetter[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultCellRenderer\", {\n enumerable: true,\n get: function get() {\n return _defaultCellRenderer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultHeaderRowRenderer\", {\n enumerable: true,\n get: function get() {\n return _defaultHeaderRowRenderer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultHeaderRenderer\", {\n enumerable: true,\n get: function get() {\n return _defaultHeaderRenderer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"defaultRowRenderer\", {\n enumerable: true,\n get: function get() {\n return _defaultRowRenderer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Column\", {\n enumerable: true,\n get: function get() {\n return _Column[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SortDirection\", {\n enumerable: true,\n get: function get() {\n return _SortDirection[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SortIndicator\", {\n enumerable: true,\n get: function get() {\n return _SortIndicator[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Table\", {\n enumerable: true,\n get: function get() {\n return _Table[\"default\"];\n }\n});\nexports[\"default\"] = void 0;\n\nvar _createMultiSort = _interopRequireDefault(require(\"./createMultiSort\"));\n\nvar _defaultCellDataGetter = _interopRequireDefault(require(\"./defaultCellDataGetter\"));\n\nvar _defaultCellRenderer = _interopRequireDefault(require(\"./defaultCellRenderer\"));\n\nvar _defaultHeaderRowRenderer = _interopRequireDefault(require(\"./defaultHeaderRowRenderer.js\"));\n\nvar _defaultHeaderRenderer = _interopRequireDefault(require(\"./defaultHeaderRenderer\"));\n\nvar _defaultRowRenderer = _interopRequireDefault(require(\"./defaultRowRenderer\"));\n\nvar _Column = _interopRequireDefault(require(\"./Column\"));\n\nvar _SortDirection = _interopRequireDefault(require(\"./SortDirection\"));\n\nvar _SortIndicator = _interopRequireDefault(require(\"./SortIndicator\"));\n\nvar _Table = _interopRequireDefault(require(\"./Table\"));\n\nvar _default = _Table[\"default\"];\nexports[\"default\"] = _default;","/*\n * Copyright 2017-2020 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport AutoSizer from \"react-virtualized/dist/commonjs/AutoSizer\";\nimport { Column, Table } from \"react-virtualized/dist/commonjs/Table\";\n\nimport { Checkbox, Loading } from \"carbon-components-react\";\nimport Icon from \"./../../../icons/icon.jsx\";\nimport Tooltip from \"./../../../tooltip/tooltip.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_SELECTION, CARBON_ICONS } from \"./../../constants/constants\";\nimport { injectIntl } from \"react-intl\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nimport { isEmpty } from \"lodash\";\nimport { v4 as uuid4 } from \"uuid\";\nimport classNames from \"classnames\";\n\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\n\nclass VirtualizedTable extends React.Component {\n\n\tstatic getDerivedStateFromProps(nextProps, prevState) {\n\t\tif (nextProps.rowCount !== prevState.rowCount) {\n\t\t\treturn ({ rowCount: nextProps.rowCount });\n\t\t}\n\t\treturn ({});\n\t}\n\n\tconstructor(props, context) {\n\t\tsuper(props, context);\n\n\t\tthis.state = {\n\t\t\trowCount: this.props.rowCount\n\t\t};\n\t\tthis.virtualizedTableRef = React.createRef();\n\n\t\tthis.isOverSelectOption = false;\n\t\tthis.mouseEventCalled = false;\n\t\tthis.keyBoardEventCalled = false;\n\t\tthis.cellRenderer = this.cellRenderer.bind(this);\n\t\tthis.selectAll = this.selectAll.bind(this);\n\t\tthis.headerRowRenderer = this.headerRowRenderer.bind(this);\n\t\tthis.headerColRenderer = this.headerColRenderer.bind(this);\n\t\tthis.onRowClick = this.onRowClick.bind(this);\n\t\tthis.overSelectOption = this.overSelectOption.bind(this);\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// If the rowHeight prop is a function, the virtualized table doesn't always adjust its\n\t\t// row heights correctly when the table data has changed. So in this case we need\n\t\t// to recompute the row heights.\n\t\tif (typeof this.props.rowHeight === \"function\") {\n\t\t\tthis.recomputeRowHeights();\n\t\t}\n\t}\n\n\t// This is also triggered when clicking on a checkbox\n\tonRowClick(evt, rowData, index) {\n\t\tif (evt.target.className === \"bx--select-option\") {\n\t\t\tevt.stopPropagation(); // stop propagation when selecting dropdown select options within table rows\n\t\t} else {\n\t\t\t// Set selections\n\t\t\tconst selected = !this.isRowSelected(rowData.originalRowIndex);\n\t\t\tif (typeof this.props.setRowsSelected === \"function\") {\n\t\t\t\tthis.props.setRowsSelected({\n\t\t\t\t\t\"index\": index,\n\t\t\t\t\t\"originalRowIndex\": rowData.originalRowIndex,\n\t\t\t\t\t\"selected\": selected,\n\t\t\t\t\t\"isOverSelectOption\": this.isOverSelectOption }, evt);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowDoubleClick(evt, rowKey, index) {\n\t\tif (this.props.onRowDoubleClick) {\n\t\t\tthis.props.onRowDoubleClick(evt, rowKey, index);\n\t\t}\n\t}\n\n\tgetCheckboxLabelColumnIndex(columns) {\n\t\t// If 1st column is Index, use the next column for labeling\n\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\tif (columns[i].operation !== \"index\") {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\t// Use first column by default\n\t\treturn 0;\n\t}\n\n\tisRowSelected(index) {\n\t\tif (this.props.rowsSelected) {\n\t\t\treturn this.props.rowsSelected.indexOf(index) > -1;\n\t\t}\n\t\treturn false;\n\t}\n\n\tselectAll(selected) {\n\t\tthis.props.setAllRowsSelected(selected);\n\t}\n\n\t// Callback responsible for rendering a cell's contents.\n\tcellRenderer({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn cellData;\n\t}\n\n\tcellRendererHTML({ cellData }) {\n\t\tif (cellData === null || typeof cellData === \"undefined\") {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (<div dangerouslySetInnerHTML={{ __html: cellData }} />);\n\t}\n\n\trecomputeRowHeights(index) {\n\t\tif (this.virtualizedTableRef && this.virtualizedTableRef.current) {\n\t\t\tthis.virtualizedTableRef.current.recomputeRowHeights(index);\n\t\t}\n\t}\n\n\t// Responsible for rendering the table header row given an array of columns.\n\theaderRowRenderer(scrollKey, { className, columns, style }) {\n\t\tconst checkboxLabelColumnIndex = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? 0 : this.getCheckboxLabelColumnIndex(this.props.columns);\n\t\tconst headerCheckboxLabel = (typeof this.props.columns === \"undefined\" || this.props.columns.length === 0) ? \"\" : this.props.columns[checkboxLabelColumnIndex].headerLabel;\n\t\tconst translatedHeaderCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t{ id: \"virtualizedTable.header.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.header.checkbox.label\"] },\n\t\t\t{ header_checkbox_label: headerCheckboxLabel }\n\t\t);\n\t\tconst checkbox = this.props.selectable && this.props.rowSelection !== ROW_SELECTION.SINGLE ? (<div role=\"columnheader\" className=\"properties-vt-header-checkbox\">\n\t\t\t<Checkbox\n\t\t\t\tid={`properties-vt-hd-cb-${scrollKey}`}\n\t\t\t\tonChange={this.selectAll}\n\t\t\t\tchecked={this.props.checkedAll}\n\t\t\t\tlabelText={translatedHeaderCheckboxLabel}\n\t\t\t\thideLabel\n\t\t\t/>\n\t\t</div>)\n\t\t\t: \"\";\n\n\t\treturn (<div className={className} data-role=\"properties-header-row\" role=\"row\" style={style}>\n\t\t\t{checkbox}\n\t\t\t{columns}\n\t\t</div>);\n\t}\n\n\theaderColRenderer({ columnData, dataKey, disableSort, label, sortBy, sortDirection }) {\n\t\tlet sortIcon = null;\n\t\tif (typeof this.props.sortColumns[dataKey] !== \"undefined\") {\n\t\t\tsortIcon = this.props.sortColumns[dataKey] === SORT_DIRECTION.ASC\n\t\t\t\t? <Icon type={CARBON_ICONS.CHEVRONARROWS.UP} disabled={this.props.tableState === STATES.DISABLED} />\n\t\t\t\t: <Icon type={CARBON_ICONS.CHEVRONARROWS.DOWN} disabled={this.props.tableState === STATES.DISABLED} />;\n\t\t\tsortIcon = (<div className=\"properties-ft-column-sort-icon\">\n\t\t\t\t{sortIcon}\n\t\t\t</div>);\n\t\t}\n\n\t\tlet tooltip = null;\n\t\tif (columnData.description && columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t\t<br />\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.description) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t{columnData.description}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (columnData.headerLabel) {\n\t\t\ttooltip = (\n\t\t\t\t<div className=\"properties-tooltips\">\n\t\t\t\t\t<span style= {{ fontWeight: \"bold\" }}>{columnData.headerLabel}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst tooltipId = uuid4() + \"-tooltip-column-\" + dataKey;\n\n\t\treturn (<div className={classNames(\"properties-vt-column properties-tooltips-container\", { \"sort-column-active\": dataKey === this.props.sortBy })}>\n\t\t\t{ isEmpty(tooltip)\n\t\t\t\t? label\n\t\t\t\t: <Tooltip\n\t\t\t\t\tid={tooltipId}\n\t\t\t\t\ttip={tooltip}\n\t\t\t\t\tdirection=\"bottom\"\n\t\t\t\t\tclassName=\"properties-tooltips\"\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Tooltip>\n\t\t\t}\n\t\t\t{disableSort === false && sortIcon}\n\t\t</div>);\n\t}\n\n\toverSelectOption(evt) {\n\t\t// Differentiate between mouse and keyboard event\n\t\tif (evt.type === \"mouseenter\" && !this.keyBoardEventCalled) {\n\t\t\tthis.mouseEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"mouseleave\" && this.mouseEventCalled) {\n\t\t\tthis.mouseEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"focus\" && !this.mouseEventCalled) {\n\t\t\tthis.keyBoardEventCalled = true;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t} else if (evt.type === \"blur\" && this.keyBoardEventCalled) {\n\t\t\tthis.keyBoardEventCalled = false;\n\t\t\tthis.isOverSelectOption = !this.isOverSelectOption;\n\t\t}\n\t}\n\n\t// Responsible for rendering a table row given an array of columns.\n\trowRenderer(scrollKey, { className, columns, index, key, rowData, style }) {\n\t\tlet selectOption = \"\";\n\t\tlet selectedRow = false;\n\t\tconst rowDisabled = typeof rowData.disabled === \"boolean\" ? rowData.disabled : false;\n\n\t\tif (typeof this.props.rowHeight === \"function\" && this.props.rowHeight({ index }) === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.props.selectable) {\n\t\t\tconst rowSelected = this.isRowSelected(rowData.originalRowIndex);\n\t\t\tselectedRow = this.props.selectable && rowSelected;\n\t\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\t\tconst translatedRowCheckboxLabel = this.props.intl.formatMessage(\n\t\t\t\t\t{ id: \"virtualizedTable.row.checkbox.label\", defaultMessage: defaultMessages[\"virtualizedTable.row.checkbox.label\"] },\n\t\t\t\t\t{ row_index: index + 1, table_label: (this.props.tableLabel ? this.props.tableLabel : \"\") }\n\t\t\t\t);\n\n\t\t\t\tselectOption = (<div className=\"properties-vt-row-checkbox\"\n\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\tonMouseEnter={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonMouseLeave={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonFocus={(evt) => this.overSelectOption(evt)}\n\t\t\t\t\tonBlur={(evt) => this.overSelectOption(evt)}\n\t\t\t\t>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tid={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tkey={`properties-vt-row-cb-${scrollKey}-${index}`}\n\t\t\t\t\t\tlabelText={translatedRowCheckboxLabel}\n\t\t\t\t\t\thideLabel\n\t\t\t\t\t\tchecked={rowSelected}\n\t\t\t\t\t\tdisabled={rowDisabled}\n\t\t\t\t\t/>\n\t\t\t\t</div>);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.summaryTable) {\n\t\t\tselectOption = <div className=\"properties-vt-row-checkbox\" />;\n\t\t}\n\n\t\tif (rowData.loading === true) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tkey={key}\n\t\t\t\t\tdata-role=\"properties-loading-row\"\n\t\t\t\t\trole=\"row\"\n\t\t\t\t\tstyle={style}\n\t\t\t\t>\n\t\t\t\t\t<Loading className=\"properties-vt-small-loading\" small withOverlay={false} />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst width = (parseInt(style.width, 10)) + \"px\"; // Subtract 2px to account for row borders\n\t\tconst newStyle = Object.assign({}, style, { width: width });\n\n\t\t// Empty style required on cell for react-virtualized. This div wrapper is required to apply the onDoubleClick handler.\n\t\treturn (<div style={{}} key={key} className=\"properties-vt-double-click\" onDoubleClick={(evt) => this.onRowDoubleClick(evt, rowData.rowKey, index)}>\n\t\t\t<div\n\t\t\t\tclassName={classNames(className,\n\t\t\t\t\t{ \"properties-vt-row-selected\": selectedRow },\n\t\t\t\t\t{ \"properties-vt-row-disabled\": rowDisabled },\n\t\t\t\t\t{ \"properties-vt-row-non-interactive\": !this.props.selectable } // ReadonlyTable with single row selection is non-interactive.\n\t\t\t\t)}\n\t\t\t\tdata-role=\"properties-data-row\"\n\t\t\t\trole=\"row\"\n\t\t\t\tstyle={newStyle}\n\t\t\t\tonMouseDown={(evt) => this.onRowClick(evt, rowData, index)}\n\t\t\t\tonKeyPress={(evt) => {\n\t\t\t\t\tif (evt.code === \"Space\" || evt.code === \"Enter\") {\n\t\t\t\t\t\tthis.onRowClick(evt, rowData, index);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{selectOption}\n\t\t\t\t{columns}\n\t\t\t</div>\n\t\t</div>);\n\t}\n\n\trender() {\n\t\tconst defaultTestHeight = 2000; // 2000 is set to accommodate test data \"category-selection-data\" with all categories expanded\n\n\t\t// AutoSizer manages width and height properties so the table fills the available space.\n\t\t// It does a direct DOM manipulation to the parent, outside React's VirtualDOM.\n\t\t// Since the actual DOM is not available when unit testing, we are passing in a default\n\t\t// width of 500 and a default height of 300.\n\t\treturn (\n\t\t\t<div className=\"properties-vt\">\n\t\t\t\t<div className={classNames(\"properties-vt-autosizer\",\n\t\t\t\t\t{ \"properties-vt-single-selection\": this.props.rowSelection && this.props.rowSelection === ROW_SELECTION.SINGLE,\n\t\t\t\t\t\t\"properties-light-disabled\": !this.props.light })}\n\t\t\t\t>\n\t\t\t\t\t<AutoSizer>\n\t\t\t\t\t\t{({ height, width }) => ( // Table height: subtract 50 for margin below the table.\n\t\t\t\t\t\t\t<Table\n\t\t\t\t\t\t\t\tref={this.virtualizedTableRef}\n\t\t\t\t\t\t\t\twidth={width ? width : 500}\n\t\t\t\t\t\t\t\theight={height ? height : defaultTestHeight}\n\n\t\t\t\t\t\t\t\tclassName=\"properties-autosized-vt\"\n\t\t\t\t\t\t\t\taria-label={this.props.tableLabel ? this.props.tableLabel : \"\"}\n\n\t\t\t\t\t\t\t\tdisableHeader={this.props.disableHeader}\n\t\t\t\t\t\t\t\theaderClassName=\"properties-autosized-vt-header\"\n\t\t\t\t\t\t\t\theaderHeight={32}\n\t\t\t\t\t\t\t\theaderRowRenderer={this.headerRowRenderer.bind(this, this.props.scrollKey)}\n\t\t\t\t\t\t\t\tonHeaderClick={this.props.onHeaderClick}\n\n\t\t\t\t\t\t\t\trowClassName=\"properties-vt-row-class\"\n\t\t\t\t\t\t\t\trowHeight={this.props.rowHeight ? this.props.rowHeight : 32}\n\n\t\t\t\t\t\t\t\trowCount={this.state.rowCount}\n\t\t\t\t\t\t\t\trowGetter={this.props.rowGetter}\n\t\t\t\t\t\t\t\trowRenderer={this.rowRenderer.bind(this, this.props.scrollKey)}\n\n\t\t\t\t\t\t\t\tscrollToIndex={this.props.scrollToIndex}\n\t\t\t\t\t\t\t\tscrollToAlignment={this.props.scrollToAlignment}\n\n\t\t\t\t\t\t\t\tsort={this.props.onSort}\n\t\t\t\t\t\t\t\tsortDirection={this.props.sortDirection}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tthis.props.columns.map((column) => (\n\t\t\t\t\t\t\t\t\t\t<Column\n\t\t\t\t\t\t\t\t\t\t\tkey={column.key}\n\t\t\t\t\t\t\t\t\t\t\tlabel={column.label}\n\t\t\t\t\t\t\t\t\t\t\tdataKey={column.key}\n\t\t\t\t\t\t\t\t\t\t\twidth={column.width}\n\t\t\t\t\t\t\t\t\t\t\tcolumnData={column}\n\t\t\t\t\t\t\t\t\t\t\tdisableSort={typeof this.props.sortColumns[column.key] === \"undefined\"}\n\t\t\t\t\t\t\t\t\t\t\tcellRenderer={column.isHTML ? this.cellRendererHTML : this.cellRenderer}\n\t\t\t\t\t\t\t\t\t\t\theaderRenderer={this.headerColRenderer}\n\t\t\t\t\t\t\t\t\t\t\t{...column.minWidth && { minWidth: column.minWidth }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Table>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AutoSizer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nVirtualizedTable.defaultProps = {\n\tdisableHeader: false\n};\n\nVirtualizedTable.propTypes = {\n\ttableLabel: PropTypes.string,\n\tselectable: PropTypes.bool,\n\tsummaryTable: PropTypes.bool,\n\trowSelection: PropTypes.string,\n\tdisableHeader: PropTypes.bool,\n\tcolumns: PropTypes.array.isRequired,\n\trowCount: PropTypes.number.isRequired,\n\trowGetter: PropTypes.func.isRequired,\n\trowHeight: PropTypes.oneOfType([\n\t\tPropTypes.func.isRequired,\n\t\tPropTypes.number.isRequired\n\t]),\n\tonRowDoubleClick: PropTypes.func,\n\trowsSelected: PropTypes.array, // Required if selectable is true\n\tcheckedAll: PropTypes.bool, // Required if selectable is true\n\tsetRowsSelected: PropTypes.func, // Required if selectable is true\n\tsetAllRowsSelected: PropTypes.func, // Required if selectable is true\n\tscrollToIndex: PropTypes.number,\n\tscrollToAlignment: PropTypes.string,\n\tonSort: PropTypes.func,\n\tsortBy: PropTypes.string,\n\tsortColumns: PropTypes.object,\n\tsortDirection: PropTypes.string,\n\tonHeaderClick: PropTypes.func,\n\tscrollKey: PropTypes.string,\n\ttableState: PropTypes.string,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(VirtualizedTable);\n","/*\n * Copyright 2017-2020 Elyra Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint complexity: [\"error\", 25] */\n/* eslint max-depth: [\"error\", 6] */\n\nimport React from \"react\";\nimport { injectIntl } from \"react-intl\";\nimport ReactDOM from \"react-dom\";\nimport PropTypes from \"prop-types\";\nimport { Search } from \"carbon-components-react\";\nimport VirtualizedTable from \"./../virtualized-table/virtualized-table.jsx\";\nimport { SORT_DIRECTION, STATES, ROW_HEIGHT, ROW_SELECTION } from \"./../../constants/constants\";\nimport ReactResizeDetector from \"react-resize-detector\";\nimport classNames from \"classnames\";\nimport { has } from \"lodash\";\nimport defaultMessages from \"../../../../locales/common-properties/locales/en.json\";\n\nclass FlexibleTable extends React.Component {\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst sortDirs = {};\n\t\tif (typeof this.props.sortable !== \"undefined\") {\n\t\t\tfor (var i = 0; i < this.props.sortable.length; i++) {\n\t\t\t\tconst sortCol = this.props.sortable[i];\n\t\t\t\tsortDirs[sortCol] = SORT_DIRECTION.DESC;\n\t\t\t}\n\t\t}\n\t\tthis.state = {\n\t\t\tcheckedAllRows: false,\n\t\t\tcolumnSortDir: sortDirs,\n\t\t\tcurrentSortColumn: \"\",\n\t\t\ttableWidth: 0,\n\t\t\ttableHeight: 0\n\t\t};\n\n\t\tthis.rowHeight = this.rowHeight.bind(this);\n\t\tthis.rowGetter = this.rowGetter.bind(this);\n\n\t\tthis.getOriginalRowIndex = this.getOriginalRowIndex.bind(this);\n\t\tthis.getLastChildPropertyIdRow = this.getLastChildPropertyIdRow.bind(this);\n\n\t\tthis.calculateColumnWidths = this.calculateColumnWidths.bind(this);\n\t\tthis.handleFilterChange = this.handleFilterChange.bind(this);\n\t\tthis.onSort = this.onSort.bind(this);\n\t\tthis.sortHeaderClick = this.sortHeaderClick.bind(this);\n\t\tthis._updateTableWidth = this._updateTableWidth.bind(this);\n\t\tthis._adjustTableHeight = this._adjustTableHeight.bind(this);\n\t\tthis.handleCheckedRow = this.handleCheckedRow.bind(this);\n\t\tthis.handleCheckedAllRows = this.handleCheckedAllRows.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis._adjustTableHeight();\n\t\twindow.addEventListener(\"resize\", this._adjustTableHeight);\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (prevProps.rows !== this.props.rows ||\n\t\t\tprevProps.columns !== this.props.columns ||\n\t\t\tprevProps.noAutoSize !== this.props.noAutoSize) {\n\t\t\tthis._adjustTableHeight();\n\t\t}\n\n\t\t// Calculate if checkedAllRows is true\n\t\tif (this.props.selectedRows) {\n\t\t\tthis.setCheckedAll(this.props.selectedRows);\n\t\t}\n\n\t\tthis.tableNode = ReactDOM.findDOMNode(this.refs.table);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this._adjustTableHeight);\n\t}\n\n\tonSort({ sortBy }) {\n\t\tif (this.props.onSort) {\n\t\t\tconst sortDirection = (this.state.columnSortDir[sortBy] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tconst spec = {\n\t\t\t\tcolumn: sortBy,\n\t\t\t\tdirection: sortDirection\n\t\t\t};\n\t\t\tthis.props.onSort(spec);\n\t\t}\n\t}\n\n\t/**\n\t* The current displayed row may have an index that is different from its actual index within the dataset\n\t* Given the current displayed row and index of the table,\n\t* return its original row index from its row's propertyId\n\t*/\n\tgetOriginalRowIndex(row, index) {\n\t\tlet rowIndex = index;\n\t\tif (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.propertyId\")) {\n\t\t\t// this is a nested control\n\t\t\trowIndex = this.getLastChildPropertyIdRow(row.columns[0].content.props.children.props.propertyId, index);\n\t\t} else if (row.columns && has(row.columns[0], \"content.props.children.props.propertyId.row\")) {\n\t\t\trowIndex = row.columns[0].content.props.children.props.propertyId.row;\n\t\t} else if (typeof row.rowKey === \"number\") { // expression tables uses rowKey\n\t\t\trowIndex = parseInt(row.rowKey, 10);\n\t\t}\n\t\treturn rowIndex;\n\t}\n\n\t// Get the 'row' of the last child's propertyId\n\tgetLastChildPropertyIdRow(propertyId, defaultRowIndex) {\n\t\tif (typeof propertyId.propertyId !== \"undefined\") {\n\t\t\treturn this.getLastChildPropertyIdRow(propertyId.propertyId);\n\t\t}\n\t\tif (typeof propertyId.row !== \"undefined\") {\n\t\t\treturn propertyId.row;\n\t\t}\n\t\treturn defaultRowIndex;\n\t}\n\n\t/**\n\t* The header checkAll box may change depending on the current visible rows\n\t* Determine if all visible rows in the table are currently selected\n\t* and set the `checkedAllRows` state accordingly\n\t*/\n\tsetCheckedAll(selectedRows) {\n\t\tlet checkAll = true;\n\t\tfor (let idx = 0; idx < this.props.data.length; idx++) {\n\t\t\tconst row = this.props.data[idx];\n\t\t\tconst originalRowIndex = this.getOriginalRowIndex(row, idx);\n\t\t\tif (selectedRows.indexOf(originalRowIndex) < 0) {\n\t\t\t\tcheckAll = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (this.state.checkedAllRows !== checkAll) {\n\t\t\tthis.setState({ checkedAllRows: checkAll });\n\t\t}\n\t}\n\n\t/**\n\t* Calculate the width for each column to fit within the table\n\t* Widths provided in columns without 'px' are 'weighted' and will be scaled\n\t* Widths provided in columns with 'px' are used as is without scaling\n\t* if width is provided with 'px', subtract that from the total available table width\n\t* if width is provided, divide the column 'weighted' width with the max width from columns\n\t* return the scaled factor\n\t* multiply each column 'weighted' width with the scaled factor to get the actual width in pixels\n\t* @param columns column definitions\n\t* @param parentTableWidth\n\t*/\n\tcalculateColumnWidths(columns, parentTableWidth) {\n\t\tlet tableWidth = parentTableWidth - 12; // subtract 12 for the left padding scss $spacing-04\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\ttableWidth -= 40;\n\t\t}\n\t\tlet remainingColumns = columns.length; // keep track of how many columns to calculate width for\n\t\tlet maxWeight = 0;\n\n\t\tfor (const columnDef of columns) {\n\t\t\t// if columns have specific width subtract from total width\n\t\t\tif (columnDef.width) {\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\ttableWidth -= parseInt(columnDef.width, 10);\n\t\t\t\t\tremainingColumns--;\n\t\t\t\t} else {\n\t\t\t\t\tmaxWeight = Math.max(maxWeight, columnDef.width); // keep track of which column has highest width provided\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst widths = [];\n\t\tconst defaultWidth = Math.floor(tableWidth / remainingColumns); // use default width for columns without a weight\n\t\tconst weightedWidths = [];\n\t\tlet sumWeightedWidths = 0;\n\n\t\t// scale weight of columns with width provided\n\t\tfor (const columnDef of columns) {\n\t\t\tif (columnDef.width && !isNaN(columnDef.width)) {\n\t\t\t\tweightedWidths.push(columnDef.width / maxWeight);\n\t\t\t\tsumWeightedWidths += (columnDef.width / maxWeight);\n\t\t\t} else {\n\t\t\t\tweightedWidths.push(null);\n\t\t\t}\n\t\t}\n\n\t\tconst scaledWidth = tableWidth / sumWeightedWidths; // scaled width multiplier for each column with width provided\n\n\t\tlet sumColumnWidth = 0;\n\t\tfor (let idx = 0; idx < columns.length; idx++) {\n\t\t\tconst columnDef = columns[idx];\n\t\t\tif (columnDef.width) {\n\t\t\t\t// use the width provided with 'px' as is\n\t\t\t\tif (typeof columnDef.width === \"string\" && columnDef.width.includes(\"px\")) {\n\t\t\t\t\twidths.push(Math.floor(parseInt(columnDef.width, 10)) + \"px\");\n\t\t\t\t\tsumColumnWidth += parseInt(columnDef.width, 10);\n\t\t\t\t} else { // multiply the width provided by the scaled width\n\t\t\t\t\tconst calculatedWidth = Math.floor(weightedWidths[idx] * scaledWidth);\n\t\t\t\t\twidths.push(calculatedWidth + \"px\");\n\t\t\t\t\tsumColumnWidth += calculatedWidth;\n\t\t\t\t}\n\t\t\t} else { // if no width provided, use the defaultWidth\n\t\t\t\twidths.push(defaultWidth);\n\t\t\t\tsumColumnWidth += defaultWidth;\n\t\t\t}\n\t\t}\n\n\t\t// if any columns had decimals floored, allocate additional space to the first column\n\t\tlet compare = parentTableWidth;\n\t\tif (this.props.rowSelection !== ROW_SELECTION.SINGLE) {\n\t\t\tcompare -= 40;\n\t\t}\n\n\t\tif (sumColumnWidth < compare) {\n\t\t\tconst firstColWith = parseInt(widths[0], 10);\n\t\t\twidths[0] = firstColWith + compare - sumColumnWidth + \"px\";\n\t\t}\n\n\t\treturn widths;\n\t}\n\n\t_updateTableWidth(width, height) {\n\t\tif (this.state.tableWidth !== Math.floor(width - 2)) {\n\t\t\tthis.setState({\n\t\t\t\ttableWidth: Math.floor(width - 2) // subtract 2 px for the borders\n\t\t\t});\n\t\t}\n\t}\n\n\t_adjustTableHeight() {\n\t\tif (this.props.noAutoSize) {\n\t\t\treturn;\n\t\t}\n\t\tlet newHeight = this.state.tableHeight;\n\t\tconst rowHeight = 2.25; // in em\n\t\tconst headerHeight = 2.5; // in em\n\t\tconst rows = typeof this.props.rows !== \"undefined\" ? this.props.rows : 4;\n\t\tif (rows > 0) {\n\t\t\tnewHeight = (rowHeight * rows + headerHeight);\n\t\t} else if (rows === 0) { // only display header\n\t\t\tnewHeight = headerHeight;\n\t\t} else {\n\t\t\t// A -1 row count indicates a desire to use the entire available vertical space\n\t\t\tconst rootElement = document.getElementById(\"root\");\n\t\t\tlet container = rootElement ? rootElement.getElementsByClassName(\"properties-wf-children\") : [];\n\t\t\tif (rootElement && container.length === 0) {\n\t\t\t\tcontainer = rootElement.getElementsByClassName(\"bx--modal-content\");\n\t\t\t}\n\t\t\tif (container.length > 0) {\n\t\t\t\tconst parentElement = container[container.length - 1]; // Adjust height to the latest wide flyout opened\n\t\t\t\tconst tableElements =\tparentElement.getElementsByClassName(\"properties-ft-container-wrapper\");\n\t\t\t\tconst tableElement = tableElements.length > 0 ? tableElements[tableElements.length - 1] : null;\n\t\t\t\tif (tableElement) {\n\t\t\t\t\tconst style = window.getComputedStyle(tableElement, null).getPropertyValue(\"font-size\");\n\t\t\t\t\tconst fontSize = parseFloat(style);\n\t\t\t\t\t// this is to adjust for multiple-select edit.\n\t\t\t\t\t// There is one additional row and header to account for.\n\t\t\t\t\tconst minHeight = (rowHeight + headerHeight);\n\t\t\t\t\tnewHeight = (parentElement.offsetHeight - tableElement.offsetTop) / fontSize + headerHeight;\n\t\t\t\t\tnewHeight = Math.max(newHeight, minHeight);\n\t\t\t\t} else {\n\t\t\t\t\tnewHeight = (rowHeight * 4 + headerHeight);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (newHeight !== this.state.tableHeight) {\n\t\t\tthis.setState({ tableHeight: newHeight });\n\t\t}\n\t}\n\n\tsortHeaderClick({ dataKey }) {\n\t\tconst colSortDir = this.state.columnSortDir;\n\t\tif (typeof colSortDir[dataKey] !== \"undefined\") {\n\t\t\tcolSortDir[dataKey] = (colSortDir[dataKey] === SORT_DIRECTION.ASC) ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC;\n\t\t\tthis.setState({\n\t\t\t\tcolumnSortDir: colSortDir,\n\t\t\t\tcurrentSortColumn: dataKey\n\t\t\t});\n\t\t}\n\t}\n\n\thandleFilterChange(evt) {\n\t\tif (this.props.onFilter) {\n\t\t\tthis.props.onFilter(evt.target.value);\n\t\t}\n\t}\n\n\thandleCheckedAllRows(checked) {\n\t\tlet selectAll = [];\n\t\tconst controlValue = this.props.data;\n\t\tif (checked) {\n\t\t\tselectAll = Array.from(this.props.selectedRows);\n\t\t\tfor (var rowIndex = 0; rowIndex < controlValue.length; rowIndex++) {\n\t\t\t\tconst originalRowIndex = this.getOriginalRowIndex(controlValue[rowIndex], rowIndex);\n\t\t\t\tselectAll.push(originalRowIndex);\n\t\t\t}\n\t\t}\n\t\tselectAll = Array.from(new Set(selectAll));\n\t\tthis.props.updateRowSelections(selectAll);\n\t\tthis.setState({ checkedAllRows: checked });\n\t}\n\n\thandleCheckedRow(data, evt) {\n\t\tconst dataRowIndex = data.originalRowIndex; // Use the originalRowIndex for selection in case rows are filtered.\n\t\tconst displayedRowIndex = data.index;\n\t\tconst checked = data.selected;\n\t\tconst overSelectOption = data.isOverSelectOption;\n\n\t\tif (!this.props.data[displayedRowIndex].disabled) {\n\t\t\tif (overSelectOption) { // Checkbox is clicked\n\t\t\t\tlet current = this.props.selectedRows ? this.props.selectedRows : [];\n\t\t\t\tif (checked) {\n\t\t\t\t\tcurrent = current.concat(dataRowIndex);\n\t\t\t\t\tthis.setCheckedAll(current);\n\t\t\t\t} else if (current) {\n\t\t\t\t\tcurrent = current.filter(function(element) {\n\t\t\t\t\t\treturn element !== dataRowIndex;\n\t\t\t\t\t});\n\t\t\t\t\tthis.setState({ checkedAllRows: false });\n\t\t\t\t}\n\t\t\t\tthis.props.updateRowSelections(current);\n\t\t\t} else if (this.props.rowSelection === ROW_SELECTION.SINGLE && typeof this.props.updateRowSelections !== \"undefined\") { // Table row is clicked\n\t\t\t\tthis.props.updateRowSelections(data.index, evt, this.props.data[data.index].rowKey);\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t* Generate the table header specs from this.props.columns\n\t* this.props.columns: array of objects\n\t* [\n\t* {\n\t* \"key\": string,\n\t* \"label\": string,\n\t* \"width\": integer or string if containts 'px',\n\t* \"description\": optional string\n\t* }\n\t* ]\n\t* @param columnWidths\n\t*/\n\tgenerateTableHeaderRow(columnWidths) {\n\t\tconst headers = [];\n\t\tlet searchLabel = \"\";\n\t\tfor (var j = 0; j < this.props.columns.length; j++) {\n\t\t\tconst columnDef = this.props.columns[j];\n\t\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable[0] === columnDef.key) {\n\t\t\t\tsearchLabel = columnDef.label;\n\t\t\t}\n\t\t\tconst width = Math.abs(parseInt(columnWidths[j], 10));\n\t\t\tlet headerLabel;\n\t\t\tif (typeof (columnDef.label) === \"object\") {\n\t\t\t\theaderLabel = columnDef.label.props.labelText;\n\t\t\t} else if (typeof (columnDef.label) === \"string\") {\n\t\t\t\theaderLabel = columnDef.label;\n\t\t\t}\n\t\t\theaders.push({\n\t\t\t\tkey: columnDef.key,\n\t\t\t\tlabel: columnDef.label,\n\t\t\t\twidth: width,\n\t\t\t\tdescription: columnDef.description,\n\t\t\t\theaderLabel: headerLabel,\n\t\t\t\toperation: columnDef.operation\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\theaders: headers,\n\t\t\tsearchLabel: searchLabel\n\t\t};\n\t}\n\n\t/**\n\t* Callback responsible for returning a data row given an index\n\t*/\n\trowGetter({ index }) {\n\t\tconst row = this.props.data[index];\n\t\tconst originalRowIndex = this.getOriginalRowIndex(row, index);\n\n\t\tconst columns = {};\n\t\tif (row.columns) {\n\t\t\tfor (let cidx = 0; cidx < row.columns.length; cidx++) {\n\t\t\t\tconst column = row.columns[cidx];\n\t\t\t\tcolumns[column.column] = column.content;\n\t\t\t}\n\t\t}\n\t\treturn Object.assign({}, columns, {\n\t\t\tloading: false,\n\t\t\tindex: index,\n\t\t\toriginalRowIndex: originalRowIndex,\n\t\t\trowKey: typeof row.rowKey !== \"undefined\" ? row.rowKey : this.props.scrollKey + \"-row-\" + index,\n\t\t\tdisabled: row.disabled\n\t\t});\n\t}\n\n\t// Function that returns the height of a row given its index\n\trowHeight({ index }) {\n\t\treturn ROW_HEIGHT;\n\t}\n\n\trender() {\n\t\tconst tableWidth = this.state.tableWidth;\n\t\tconst tableHeight = this.state.tableHeight; // subtract 2 px for the borders\n\t\tconst columnWidths = this.calculateColumnWidths(this.props.columns, tableWidth);\n\t\tconst headerInfo = this.generateTableHeaderRow(columnWidths);\n\n\t\tconst headers = headerInfo.headers;\n\t\tconst searchLabel = headerInfo.searchLabel;\n\t\tconst disabled = this.props.tableState === STATES.DISABLED;\n\n\t\tlet searchBar = null;\n\n\t\tif (typeof this.props.filterable !== \"undefined\" && this.props.filterable.length !== 0) {\n\t\t\tconst placeHolder = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.placeholder\", defaultMessage: defaultMessages[\"table.search.placeholder\"] },\n\t\t\t\t{ column_name: searchLabel }\n\t\t\t);\n\t\t\tconst searchBarLabel = this.props.intl.formatMessage(\n\t\t\t\t{ id: \"table.search.label\", defaultMessage: defaultMessages[\"table.search.label\"] },\n\t\t\t\t{ table_name: this.props.tableLabel }\n\t\t\t);\n\n\t\t\tsearchBar = (\n\t\t\t\t<div className={classNames(\"properties-ft-search-container\", { \"disabled\": disabled })}>\n\t\t\t\t\t<Search\n\t\t\t\t\t\tclassName=\"properties-ft-search-text\"\n\t\t\t\t\t\tplaceholder={placeHolder}\n\t\t\t\t\t\tonChange={this.handleFilterChange}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabelText={searchBarLabel}\n\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tlet scrollIndex = -1;\n\t\tif (typeof this.props.scrollToRow !== \"undefined\" && this.props.scrollToRow !== null) {\n\t\t\tscrollIndex = this.props.scrollToRow;\n\t\t}\n\n\t\tconst heightStyle = (this.props.noAutoSize || tableHeight === 0) ? {} : { height: tableHeight + \"em\" };\n\t\tconst containerClass = this.props.showHeader ? \"properties-ft-container-absolute \" : \"properties-ft-container-absolute-noheader \";\n\t\tconst messageClass = (!this.props.messageInfo) ? containerClass + STATES.INFO : containerClass + this.props.messageInfo.type;\n\n\t\treturn (\n\t\t\t<div data-id={\"properties-ft-\" + this.props.scrollKey} className=\"properties-ft-control-container\">\n\t\t\t\t<div className=\"properties-ft-table-header\">\n\t\t\t\t\t{searchBar}\n\t\t\t\t\t{this.props.topRightPanel}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"properties-ft-container-panel\">\n\t\t\t\t\t<ReactResizeDetector handleWidth onResize={this._updateTableWidth}>\n\t\t\t\t\t\t<div className=\"properties-ft-container-wrapper\" style={ heightStyle }>\n\t\t\t\t\t\t\t<div className={messageClass}>\n\t\t\t\t\t\t\t\t{this.props.selectedEditRow}\n\t\t\t\t\t\t\t\t<VirtualizedTable\n\t\t\t\t\t\t\t\t\ttableLabel={this.props.tableLabel}\n\t\t\t\t\t\t\t\t\tcolumns={headers}\n\t\t\t\t\t\t\t\t\tonHeaderClick={this.sortHeaderClick}\n\t\t\t\t\t\t\t\t\trowCount={this.props.data.length}\n\t\t\t\t\t\t\t\t\trowHeight={this.rowHeight}\n\t\t\t\t\t\t\t\t\trowGetter={this.rowGetter}\n\t\t\t\t\t\t\t\t\tsummaryTable={this.props.summaryTable}\n\t\t\t\t\t\t\t\t\tselectable={typeof this.props.updateRowSelections !== \"undefined\"}\n\t\t\t\t\t\t\t\t\trowSelection={this.props.rowSelection}\n\t\t\t\t\t\t\t\t\tdisableHeader={!this.props.showHeader}\n\t\t\t\t\t\t\t\t\tonRowDoubleClick={this.props.onRowDoubleClick}\n\t\t\t\t\t\t\t\t\trowsSelected={this.props.selectedRows}\n\t\t\t\t\t\t\t\t\tcheckedAll={this.state.checkedAllRows}\n\t\t\t\t\t\t\t\t\tsetRowsSelected={this.handleCheckedRow}\n\t\t\t\t\t\t\t\t\tsetAllRowsSelected={this.handleCheckedAllRows}\n\t\t\t\t\t\t\t\t\tscrollKey={this.props.scrollKey}\n\t\t\t\t\t\t\t\t\tonSort={this.onSort}\n\t\t\t\t\t\t\t\t\tsortBy={this.state.currentSortColumn}\n\t\t\t\t\t\t\t\t\tsortColumns={this.state.columnSortDir}\n\t\t\t\t\t\t\t\t\tsortDirection={this.state.columnSortDir[this.state.currentSortColumn]}\n\t\t\t\t\t\t\t\t\ttableState={this.props.tableState}\n\t\t\t\t\t\t\t\t\tlight={this.props.light}\n\t\t\t\t\t\t\t\t\t{...(scrollIndex !== -1 && { scrollToIndex: scrollIndex, scrollToAlignment: \"center\" })}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ReactResizeDetector>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFlexibleTable.defaultProps = {\n\tshowHeader: true,\n\tlight: true\n};\n\nFlexibleTable.propTypes = {\n\tsortable: PropTypes.array,\n\tcolumns: PropTypes.array.isRequired,\n\tdata: PropTypes.array.isRequired,\n\tfilterable: PropTypes.array,\n\tfilterBy: PropTypes.string,\n\tfilterKeyword: PropTypes.string,\n\thideFilterInput: PropTypes.func,\n\tscrollToRow: PropTypes.number,\n\tonSort: PropTypes.func,\n\tonFilter: PropTypes.func,\n\tshowHeader: PropTypes.bool,\n\tselectedEditRow: PropTypes.object,\n\ttopRightPanel: PropTypes.object,\n\tscrollKey: PropTypes.string,\n\ttableLabel: PropTypes.string,\n\trows: PropTypes.number,\n\tnoAutoSize: PropTypes.bool,\n\ttableState: PropTypes.string,\n\tmessageInfo: PropTypes.object,\n\tupdateRowSelections: PropTypes.func,\n\tonRowDoubleClick: PropTypes.func,\n\tselectedRows: PropTypes.array,\n\trowSelection: PropTypes.string,\n\tsummaryTable: PropTypes.bool,\n\tlight: PropTypes.bool,\n\tintl: PropTypes.object.isRequired\n};\n\nexport default injectIntl(FlexibleTable);\n"],"names":["obj","__esModule","default","module","exports","_typeof","Symbol","iterator","constructor","prototype","require$$0","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","hasOwnProperty","call","desc","set","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","protoProps","staticProps","self","ReferenceError","assertThisInitialized","require$$1","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","subClass","superClass","create","value","nonce","hostWindow","_window","window","global","attachEvent","document","requestFrame","raf","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","cancelFrame","cancel","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","clearTimeout","id","resetTriggers","element","triggers","__resizeTriggers__","expand","firstElementChild","contract","lastElementChild","expandChild","scrollLeft","scrollWidth","scrollTop","scrollHeight","style","width","offsetWidth","height","offsetHeight","scrollListener","e","className","indexOf","this","__resizeRAF__","__resizeLast__","checkTriggers","__resizeListeners__","forEach","animation","keyframeprefix","animationstartevent","domPrefixes","split","startEvents","pfx","elm","createElement","undefined","animationName","toLowerCase","animationKeyframes","animationStyle","addResizeListener","doc","ownerDocument","elementStyle","getComputedStyle","position","getElementById","css","head","getElementsByTagName","type","setAttribute","styleSheet","cssText","appendChild","createTextNode","createStyles","resizeTriggersHtml","trustedTypes","staticPolicy","createPolicy","createHTML","innerHTML","addEventListener","__animationListener__","push","removeResizeListener","detachEvent","splice","removeEventListener","removeChild","_interopRequireDefault","_interopRequireWildcard","_class","_temp","_classCallCheck2","require$$2","_createClass2","require$$3","_possibleConstructorReturn2","require$$4","_getPrototypeOf3","require$$5","_assertThisInitialized2","require$$6","_inherits2","require$$7","_defineProperty2","require$$8","React","require$$9","_detectElementResize","require$$10","_propTypes","require$$11","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","apply","_objectSpread","arguments","source","getOwnPropertyDescriptors","defineProperties","AutoSizer","_React$Component","_getPrototypeOf2","_this","_len","args","Array","_key","concat","defaultHeight","defaultWidth","_this$props","disableHeight","disableWidth","onResize","_parentNode","paddingLeft","parseInt","paddingRight","paddingTop","paddingBottom","newHeight","newWidth","state","setState","autoSizer","_autoSizer","parentNode","defaultView","HTMLElement","_onResize","_this$props2","children","_this$state","outerStyle","overflow","childParams","ref","_setRef","Component","process","env","NODE_ENV","func","isRequired","string","number","bool","_AutoSizer","sortCallback","_ref","defaultSortBy","_ref$defaultSortDirec","defaultSortDirection","Error","sortBy","sortDirection","sort","_ref2","event","dataKey","shiftKey","ctrlKey","metaKey","index","types","bpfrpt_proptype_CellDataGetterParams","columnData","any","rowData","propName","componentName","bpfrpt_proptype_CellRendererParams","cellData","rowIndex","bpfrpt_proptype_HeaderRowRendererParams","columns","arrayOf","bpfrpt_proptype_HeaderRendererParams","disableSort","label","bpfrpt_proptype_RowRendererParams","isScrolling","onRowClick","onRowDoubleClick","onRowMouseOver","onRowMouseOut","String","defaultHeaderRowRenderer","_types","role","propTypes","toVal","mix","k","y","str","isArray","tmp","x","_default","ASC","DESC","SortIndicator","_clsx","_SortDirection","classNames","viewBox","d","fill","oneOf","defaultHeaderRenderer","_SortIndicator","showSortIndicator","title","_extends","assign","defaultRowRenderer","_extends2","onRowRightClick","a11yProps","tabIndex","onClick","onDoubleClick","onMouseOut","onMouseOver","onContextMenu","_defaultHeaderRenderer","_defaultCellRenderer","_defaultCellDataGetter","require$$12","Column","cellDataGetter","cellRenderer","flexGrow","flexShrink","headerRenderer","headerClassName","headerStyle","node","maxWidth","minWidth","cellCount","cellSize","computeMetadataCallback","computeMetadataCallbackProps","nextCellsCount","nextCellSize","nextScrollToIndex","scrollToIndex","updateScrollOffsetForScrollToIndex","excluded","sourceKeys","objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_ScalingCellSizeAndPositionManager","bpfrpt_proptype_CellPosition","columnIndex","isVisible","parent","bpfrpt_proptype_CellRenderer","bpfrpt_proptype_CellCache","objectOf","bpfrpt_proptype_StyleCache","bpfrpt_proptype_CellRangeRendererParams","cellCache","columnSizeAndPositionManager","instanceOf","columnStartIndex","columnStopIndex","deferredMeasurementCache","horizontalOffsetAdjustment","isScrollingOptOut","rowSizeAndPositionManager","rowStartIndex","rowStopIndex","styleCache","verticalOffsetAdjustment","visibleColumnIndices","visibleRowIndices","bpfrpt_proptype_CellRangeRenderer","bpfrpt_proptype_CellSizeGetter","bpfrpt_proptype_CellSize","oneOfType","bpfrpt_proptype_NoContentRenderer","bpfrpt_proptype_Scroll","clientHeight","clientWidth","bpfrpt_proptype_ScrollbarPresenceChange","horizontal","vertical","size","bpfrpt_proptype_RenderedSection","columnOverscanStartIndex","columnOverscanStopIndex","rowOverscanStartIndex","rowOverscanStopIndex","bpfrpt_proptype_OverscanIndicesGetterParams","direction","scrollDirection","overscanCellsCount","startIndex","stopIndex","bpfrpt_proptype_OverscanIndices","overscanStartIndex","overscanStopIndex","bpfrpt_proptype_OverscanIndicesGetter","bpfrpt_proptype_Alignment","bpfrpt_proptype_VisibleCellRange","start","stop","CellSizeAndPositionManager","cellSizeGetter","estimatedCellSize","_cellSizeGetter","_cellCount","_estimatedCellSize","_lastMeasuredIndex","lastMeasuredCellSizeAndPosition","getSizeAndPositionOfLastMeasuredCell","offset","isNaN","_cellSizeAndPositionData","_lastBatchedIndex","_ref3","_ref3$align","align","containerSize","currentOffset","targetIndex","idealOffset","datum","getSizeAndPositionOfCell","maxOffset","minOffset","Math","max","min","totalSize","getTotalSize","params","_findNearestCell","high","low","middle","floor","interval","_binarySearch","lastMeasuredIndex","_exponentialSearch","maxElementSize","chrome","_objectWithoutProperties2","_CellSizeAndPositionManager","_maxElementSize","ScalingCellSizeAndPositionManager","_ref$maxScrollSize","maxScrollSize","getMaxElementSize","_cellSizeAndPositionManager","_maxScrollSize","configure","getCellCount","getEstimatedCellSize","getLastMeasuredIndex","safeTotalSize","offsetPercentage","_getOffsetPercentage","round","_safeOffsetToOffset","getUpdatedOffsetForIndex","_offsetToSafeOffset","_ref4","getVisibleCellRange","resetCell","_ref5","_ref6","_ref7","requireAllKeys","cachedIndices","callback","indices","allInitialized","every","indexChanged","some","cachedValue","join","cellSizeAndPositionManager","previousCellsCount","previousCellSize","previousScrollToAlignment","previousScrollToIndex","previousSize","scrollOffset","scrollToAlignment","sizeJustIncreasedFromZero","updateScrollIndexCallback","hasScrollToIndex","sizeHasChanged","warnAboutMissingStyle","renderedCell","__internalCellMeasurerFlag","__warnedAboutMissingStyle","console","warn","renderedCells","areOffsetsAdjusted","canCacheStyle","rowDatum","columnDatum","left","top","cellRendererParams","recalc","canUseDOM","scrollDiv","body","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","win","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","animationFrame","request","oRequestAnimationFrame","msRequestAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","caf","requestAnimationTimeout_1","_animationFrame","bpfrpt_proptype_AnimationTimeoutId","frame","delay","Promise","resolve","then","Date","now","timeout","_calculateSizeAndPositionDataAndUpdateScrollOffset","require$$13","_createCallbackMemoizer","require$$14","_defaultOverscanIndicesGetter","require$$15","_updateScrollIndexHelper","require$$16","_defaultCellRangeRenderer","require$$17","_scrollbarSize","require$$18","_reactLifecyclesCompat","require$$19","_requestAnimationTimeout","require$$20","require$$21","require$$22","SCROLL_POSITION_CHANGE_REASONS","Grid","_React$PureComponent","_disablePointerEventsTimeoutId","needToResetStyleCache","onSectionRendered","_onGridRenderedMemoizer","_columnStartIndex","_columnStopIndex","_renderedColumnStartIndex","_renderedColumnStopIndex","_rowStartIndex","_rowStopIndex","_renderedRowStartIndex","_renderedRowStopIndex","_scrollingContainer","handleScrollEvent","columnCount","_wrapSizeGetter","columnWidth","_getEstimatedColumnSize","rowCount","rowHeight","_getEstimatedRowSize","instanceProps","prevColumnWidth","prevRowHeight","prevColumnCount","prevRowCount","prevIsScrolling","prevScrollToColumn","scrollToColumn","prevScrollToRow","scrollToRow","scrollbarSize","scrollbarSizeMeasured","scrollDirectionHorizontal","SCROLL_DIRECTION_FORWARD","scrollDirectionVertical","scrollPositionChangeReason","_initialScrollTop","_getCalculatedScrollTop","_initialScrollLeft","_getCalculatedScrollLeft","_ref$alignment","alignment","_ref$columnIndex","_ref$rowIndex","offsetProps","_ref2$scrollLeft","scrollLeftParam","_ref2$scrollTop","scrollTopParam","_debounceScrollEnded","autoHeight","autoWidth","totalRowsHeight","totalColumnsWidth","newState","SCROLL_DIRECTION_BACKWARD","_invokeOnScrollMemoizer","_deferredInvalidateColumnIndex","_deferredInvalidateRowIndex","_ref4$columnIndex","_ref4$rowIndex","_this$props3","_recomputeScrollLeftFlag","_recomputeScrollTopFlag","_styleCache","_cellCache","forceUpdate","_updateScrollLeftForScrollToColumn","_updateScrollTopForScrollToRow","_this$props4","getScrollbarSize","_handleInvalidatedGridSize","stateUpdate","_getScrollToPositionStateUpdate","sizeIsBiggerThanZero","_invokeOnGridRenderedHelper","_maybeCallOnScrollbarPresenceChange","_this2","_this$props5","columnOrRowCountJustIncreasedFromZero","cancelAnimationTimeout","_this$props6","autoContainerWidth","containerProps","containerRole","containerStyle","noContentRenderer","_this$state2","_isScrolling","gridStyle","boxSizing","WebkitOverflowScrolling","willChange","_resetStyleCache","_calculateChildrenToRender","verticalScrollBarSize","horizontalScrollBarSize","_horizontalScrollBarSize","_verticalScrollBarSize","_scrollbarPresenceChanged","overflowX","overflowY","childrenToDisplay","_childrenToDisplay","showNoContentRenderer","_setScrollingContainerRef","onScroll","_onScroll","maxHeight","pointerEvents","cellRangeRenderer","overscanColumnCount","overscanIndicesGetter","overscanRowCount","getOffsetAdjustment","overscanColumnIndices","overscanRowIndices","hasFixedHeight","hasFixedWidth","scrollingResetTimeInterval","requestAnimationTimeout","_debounceScrollEndedCallback","recomputeGridSize","_this3","_onScrollMemoizer","_this3$props","Boolean","onScrollbarPresenceChange","_ref8","_getScrollLeftForScrollToColumnStateUpdate","_getScrollTopForScrollToRowStateUpdate","maybeStateA","maybeStateB","estimatedColumnSize","estimatedRowSize","_ref9","finalColumn","scrollBarSize","calculatedScrollLeft","finalRow","calculatedScrollTop","PureComponent","shape","polyfill","_Grid","_accessibilityOverscanIndicesGetter","_Column","_reactDom","_Grid2","_defaultRowRenderer","_defaultHeaderRowRenderer","Table","scrollbarWidth","_createColumn","_createRow","_onSectionRendered","getOffsetForCell","invalidateCellSizeAfterRender","measureAllCells","_ref3$columnIndex","_ref3$rowIndex","scrollToPosition","scrollToCell","findDOMNode","_setScrollbarWidth","disableHeader","gridClassName","headerHeight","headerRowRenderer","noRowsRenderer","rowClassName","rowStyle","availableRowsHeight","rowClass","rowStyleObject","_cachedColumnStyles","Children","toArray","column","flexStyles","_getFlexStyleForColumn","_getHeaderColumns","onColumnClick","_column$props","headerOnClick","headerOnKeyDown","headerTabIndex","headerAriaSort","headerAriaLabel","onHeaderClick","_column$props2","sortEnabled","ReactVirtualized__Table__sortableHeaderColumn","renderedHeader","newSortDirection","onKeyDown","rowGetter","rowRenderer","map","flattenedStyle","_getRowHeight","customStyle","flexValue","flex","msFlex","WebkitFlex","_this4","_createHeader","onRowsRendered","getScrollbarWidth","accessibilityOverscanIndicesGetter","childType","_createMultiSort","_Table","VirtualizedTable","context","virtualizedTableRef","createRef","isOverSelectOption","mouseEventCalled","keyBoardEventCalled","selectAll","headerColRenderer","overSelectOption","recomputeRowHeights","evt","stopPropagation","selected","isRowSelected","originalRowIndex","setRowsSelected","rowKey","operation","rowsSelected","setAllRowsSelected","dangerouslySetInnerHTML","__html","current","scrollKey","checkboxLabelColumnIndex","getCheckboxLabelColumnIndex","headerCheckboxLabel","headerLabel","translatedHeaderCheckboxLabel","intl","formatMessage","defaultMessage","defaultMessages","header_checkbox_label","checkbox","selectable","rowSelection","ROW_SELECTION","SINGLE","Checkbox","onChange","checked","checkedAll","labelText","hideLabel","sortIcon","sortColumns","SORT_DIRECTION","Icon","CARBON_ICONS","CHEVRONARROWS","UP","disabled","tableState","STATES","DISABLED","DOWN","tooltip","description","fontWeight","tooltipId","uuid4","_isEmpty","Tooltip","tip","selectOption","selectedRow","rowDisabled","rowSelected","translatedRowCheckboxLabel","row_index","table_label","tableLabel","onMouseEnter","onMouseLeave","onFocus","onBlur","summaryTable","loading","Loading","small","withOverlay","newStyle","onMouseDown","onKeyPress","code","light","onSort","isHTML","cellRendererHTML","defaultProps","PropTypes","array","injectIntl","FlexibleTable","sortDirs","sortable","checkedAllRows","columnSortDir","currentSortColumn","tableWidth","tableHeight","getOriginalRowIndex","getLastChildPropertyIdRow","calculateColumnWidths","handleFilterChange","sortHeaderClick","_updateTableWidth","_adjustTableHeight","handleCheckedRow","handleCheckedAllRows","tableNode","ReactDOM","refs","table","rows","noAutoSize","selectedRows","setCheckedAll","spec","row","_has","content","propertyId","defaultRowIndex","checkAll","idx","data","parentTableWidth","remainingColumns","maxWeight","columnDef","includes","widths","weightedWidths","sumWeightedWidths","scaledWidth","sumColumnWidth","calculatedWidth","compare","firstColWith","rootElement","container","getElementsByClassName","parentElement","tableElements","tableElement","getPropertyValue","fontSize","parseFloat","offsetTop","colSortDir","onFilter","controlValue","from","Set","updateRowSelections","dataRowIndex","displayedRowIndex","columnWidths","headers","searchLabel","j","filterable","abs","cidx","ROW_HEIGHT","headerInfo","generateTableHeaderRow","searchBar","placeHolder","column_name","searchBarLabel","table_name","Search","placeholder","scrollIndex","heightStyle","containerClass","showHeader","messageClass","messageInfo","INFO","topRightPanel","ReactResizeDetector","handleWidth","selectedEditRow","filterBy","filterKeyword","hideFilterInput"],"mappings":"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"}