@deephaven/iris-grid 0.42.1-beta.2 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -0
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/ColumnStatistics.d.ts.map +1 -1
  4. package/dist/IrisGrid.d.ts.map +1 -1
  5. package/dist/IrisGridModel.d.ts +5 -0
  6. package/dist/IrisGridModel.d.ts.map +1 -1
  7. package/dist/IrisGridProxyModel.d.ts +1 -0
  8. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  9. package/dist/IrisGridTableModel.d.ts +1 -0
  10. package/dist/IrisGridTableModel.d.ts.map +1 -1
  11. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  12. package/package.json +15 -15
  13. package/dist/AdvancedFilterCreator.css +0 -106
  14. package/dist/AdvancedFilterCreator.css.map +0 -1
  15. package/dist/AdvancedFilterCreator.js +0 -524
  16. package/dist/AdvancedFilterCreator.js.map +0 -1
  17. package/dist/AdvancedFilterCreatorFilterItem.css +0 -9
  18. package/dist/AdvancedFilterCreatorFilterItem.css.map +0 -1
  19. package/dist/AdvancedFilterCreatorFilterItem.js +0 -184
  20. package/dist/AdvancedFilterCreatorFilterItem.js.map +0 -1
  21. package/dist/AdvancedFilterCreatorSelectValue.css +0 -50
  22. package/dist/AdvancedFilterCreatorSelectValue.css.map +0 -1
  23. package/dist/AdvancedFilterCreatorSelectValue.js +0 -301
  24. package/dist/AdvancedFilterCreatorSelectValue.js.map +0 -1
  25. package/dist/AdvancedFilterCreatorSelectValueList.js +0 -272
  26. package/dist/AdvancedFilterCreatorSelectValueList.js.map +0 -1
  27. package/dist/ColumnHeaderGroup.js +0 -61
  28. package/dist/ColumnHeaderGroup.js.map +0 -1
  29. package/dist/ColumnStatistics.css +0 -76
  30. package/dist/ColumnStatistics.css.map +0 -1
  31. package/dist/ColumnStatistics.js +0 -197
  32. package/dist/ColumnStatistics.js.map +0 -1
  33. package/dist/CommonTypes.js +0 -2
  34. package/dist/CommonTypes.js.map +0 -1
  35. package/dist/CrossColumnSearch.css +0 -35
  36. package/dist/CrossColumnSearch.css.map +0 -1
  37. package/dist/CrossColumnSearch.js +0 -199
  38. package/dist/CrossColumnSearch.js.map +0 -1
  39. package/dist/FilterInputField.css +0 -56
  40. package/dist/FilterInputField.css.map +0 -1
  41. package/dist/FilterInputField.js +0 -232
  42. package/dist/FilterInputField.js.map +0 -1
  43. package/dist/GotoRow.css +0 -45
  44. package/dist/GotoRow.css.map +0 -1
  45. package/dist/GotoRow.js +0 -298
  46. package/dist/GotoRow.js.map +0 -1
  47. package/dist/IrisGrid.css +0 -359
  48. package/dist/IrisGrid.css.map +0 -1
  49. package/dist/IrisGrid.js +0 -3647
  50. package/dist/IrisGrid.js.map +0 -1
  51. package/dist/IrisGridBottomBar.css +0 -85
  52. package/dist/IrisGridBottomBar.css.map +0 -1
  53. package/dist/IrisGridBottomBar.js +0 -36
  54. package/dist/IrisGridBottomBar.js.map +0 -1
  55. package/dist/IrisGridCellOverflowModal.css +0 -17
  56. package/dist/IrisGridCellOverflowModal.css.map +0 -1
  57. package/dist/IrisGridCellOverflowModal.js +0 -157
  58. package/dist/IrisGridCellOverflowModal.js.map +0 -1
  59. package/dist/IrisGridCellRendererUtils.js +0 -20
  60. package/dist/IrisGridCellRendererUtils.js.map +0 -1
  61. package/dist/IrisGridCopyHandler.css +0 -64
  62. package/dist/IrisGridCopyHandler.css.map +0 -1
  63. package/dist/IrisGridCopyHandler.js +0 -331
  64. package/dist/IrisGridCopyHandler.js.map +0 -1
  65. package/dist/IrisGridDataBarCellRenderer.js +0 -10
  66. package/dist/IrisGridDataBarCellRenderer.js.map +0 -1
  67. package/dist/IrisGridIcons.js +0 -25
  68. package/dist/IrisGridIcons.js.map +0 -1
  69. package/dist/IrisGridMetricCalculator.js +0 -33
  70. package/dist/IrisGridMetricCalculator.js.map +0 -1
  71. package/dist/IrisGridModel.js +0 -255
  72. package/dist/IrisGridModel.js.map +0 -1
  73. package/dist/IrisGridModelFactory.js +0 -27
  74. package/dist/IrisGridModelFactory.js.map +0 -1
  75. package/dist/IrisGridModelUpdater.js +0 -96
  76. package/dist/IrisGridModelUpdater.js.map +0 -1
  77. package/dist/IrisGridPartitionSelector.css +0 -48
  78. package/dist/IrisGridPartitionSelector.css.map +0 -1
  79. package/dist/IrisGridPartitionSelector.js +0 -198
  80. package/dist/IrisGridPartitionSelector.js.map +0 -1
  81. package/dist/IrisGridProxyModel.js +0 -527
  82. package/dist/IrisGridProxyModel.js.map +0 -1
  83. package/dist/IrisGridRenderer.js +0 -779
  84. package/dist/IrisGridRenderer.js.map +0 -1
  85. package/dist/IrisGridShortcuts.js +0 -59
  86. package/dist/IrisGridShortcuts.js.map +0 -1
  87. package/dist/IrisGridTableModel.js +0 -269
  88. package/dist/IrisGridTableModel.js.map +0 -1
  89. package/dist/IrisGridTableModelTemplate.js +0 -1589
  90. package/dist/IrisGridTableModelTemplate.js.map +0 -1
  91. package/dist/IrisGridTestUtils.js +0 -121
  92. package/dist/IrisGridTestUtils.js.map +0 -1
  93. package/dist/IrisGridTextCellRenderer.js +0 -139
  94. package/dist/IrisGridTextCellRenderer.js.map +0 -1
  95. package/dist/IrisGridTheme.js +0 -96
  96. package/dist/IrisGridTheme.js.map +0 -1
  97. package/dist/IrisGridTheme.module.css +0 -69
  98. package/dist/IrisGridTheme.module.css.map +0 -1
  99. package/dist/IrisGridTreeTableModel.js +0 -145
  100. package/dist/IrisGridTreeTableModel.js.map +0 -1
  101. package/dist/IrisGridUtils.js +0 -1279
  102. package/dist/IrisGridUtils.js.map +0 -1
  103. package/dist/MissingKeyError.js +0 -15
  104. package/dist/MissingKeyError.js.map +0 -1
  105. package/dist/PartitionSelectorSearch.css +0 -22
  106. package/dist/PartitionSelectorSearch.css.map +0 -1
  107. package/dist/PartitionSelectorSearch.js +0 -317
  108. package/dist/PartitionSelectorSearch.js.map +0 -1
  109. package/dist/PendingDataBottomBar.css +0 -13
  110. package/dist/PendingDataBottomBar.css.map +0 -1
  111. package/dist/PendingDataBottomBar.js +0 -98
  112. package/dist/PendingDataBottomBar.js.map +0 -1
  113. package/dist/TableViewportUpdater.js +0 -156
  114. package/dist/TableViewportUpdater.js.map +0 -1
  115. package/dist/ToastBottomBar.js +0 -42
  116. package/dist/ToastBottomBar.js.map +0 -1
  117. package/dist/TreeTableViewportUpdater.js +0 -96
  118. package/dist/TreeTableViewportUpdater.js.map +0 -1
  119. package/dist/declaration.d.js +0 -2
  120. package/dist/declaration.d.js.map +0 -1
  121. package/dist/format-context-menus/CustomFormatAction.css +0 -25
  122. package/dist/format-context-menus/CustomFormatAction.css.map +0 -1
  123. package/dist/format-context-menus/CustomFormatAction.js +0 -132
  124. package/dist/format-context-menus/CustomFormatAction.js.map +0 -1
  125. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -53
  126. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +0 -1
  127. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -59
  128. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +0 -1
  129. package/dist/format-context-menus/FormatContextMenuUtils.js +0 -63
  130. package/dist/format-context-menus/FormatContextMenuUtils.js.map +0 -1
  131. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -43
  132. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +0 -1
  133. package/dist/format-context-menus/index.js +0 -4
  134. package/dist/format-context-menus/index.js.map +0 -1
  135. package/dist/index.js +0 -24
  136. package/dist/index.js.map +0 -1
  137. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -21
  138. package/dist/key-handlers/ClearFilterKeyHandler.js.map +0 -1
  139. package/dist/key-handlers/CopyKeyHandler.js +0 -31
  140. package/dist/key-handlers/CopyKeyHandler.js.map +0 -1
  141. package/dist/key-handlers/ReverseKeyHandler.js +0 -32
  142. package/dist/key-handlers/ReverseKeyHandler.js.map +0 -1
  143. package/dist/key-handlers/index.js +0 -4
  144. package/dist/key-handlers/index.js.map +0 -1
  145. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +0 -175
  146. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +0 -1
  147. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +0 -139
  148. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +0 -1
  149. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -83
  150. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +0 -1
  151. package/dist/mousehandlers/IrisGridContextMenuHandler.css +0 -19
  152. package/dist/mousehandlers/IrisGridContextMenuHandler.css.map +0 -1
  153. package/dist/mousehandlers/IrisGridContextMenuHandler.js +0 -1218
  154. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +0 -1
  155. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -28
  156. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +0 -1
  157. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -80
  158. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +0 -1
  159. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +0 -126
  160. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +0 -1
  161. package/dist/mousehandlers/IrisGridSortMouseHandler.js +0 -46
  162. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +0 -1
  163. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +0 -151
  164. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +0 -1
  165. package/dist/mousehandlers/PendingMouseHandler.js +0 -39
  166. package/dist/mousehandlers/PendingMouseHandler.js.map +0 -1
  167. package/dist/mousehandlers/index.js +0 -11
  168. package/dist/mousehandlers/index.js.map +0 -1
  169. package/dist/sidebar/AdvancedSettings.js +0 -6
  170. package/dist/sidebar/AdvancedSettings.js.map +0 -1
  171. package/dist/sidebar/AdvancedSettingsMenu.js +0 -29
  172. package/dist/sidebar/AdvancedSettingsMenu.js.map +0 -1
  173. package/dist/sidebar/AdvancedSettingsType.js +0 -7
  174. package/dist/sidebar/AdvancedSettingsType.js.map +0 -1
  175. package/dist/sidebar/ChartBuilder.css +0 -56
  176. package/dist/sidebar/ChartBuilder.css.map +0 -1
  177. package/dist/sidebar/ChartBuilder.js +0 -443
  178. package/dist/sidebar/ChartBuilder.js.map +0 -1
  179. package/dist/sidebar/CustomColumnBuilder.css +0 -58
  180. package/dist/sidebar/CustomColumnBuilder.css.map +0 -1
  181. package/dist/sidebar/CustomColumnBuilder.js +0 -384
  182. package/dist/sidebar/CustomColumnBuilder.js.map +0 -1
  183. package/dist/sidebar/CustomColumnInput.js +0 -90
  184. package/dist/sidebar/CustomColumnInput.js.map +0 -1
  185. package/dist/sidebar/InputEditor.css +0 -35
  186. package/dist/sidebar/InputEditor.css.map +0 -1
  187. package/dist/sidebar/InputEditor.js +0 -177
  188. package/dist/sidebar/InputEditor.js.map +0 -1
  189. package/dist/sidebar/OptionType.js +0 -19
  190. package/dist/sidebar/OptionType.js.map +0 -1
  191. package/dist/sidebar/RollupRows.css +0 -120
  192. package/dist/sidebar/RollupRows.css.map +0 -1
  193. package/dist/sidebar/RollupRows.js +0 -519
  194. package/dist/sidebar/RollupRows.js.map +0 -1
  195. package/dist/sidebar/SelectDistinctBuilder.css +0 -41
  196. package/dist/sidebar/SelectDistinctBuilder.css.map +0 -1
  197. package/dist/sidebar/SelectDistinctBuilder.js +0 -155
  198. package/dist/sidebar/SelectDistinctBuilder.js.map +0 -1
  199. package/dist/sidebar/TableCsvExporter.css +0 -32
  200. package/dist/sidebar/TableCsvExporter.css.map +0 -1
  201. package/dist/sidebar/TableCsvExporter.js +0 -399
  202. package/dist/sidebar/TableCsvExporter.js.map +0 -1
  203. package/dist/sidebar/TableSaver.js +0 -487
  204. package/dist/sidebar/TableSaver.js.map +0 -1
  205. package/dist/sidebar/aggregations/AggregationEdit.css +0 -61
  206. package/dist/sidebar/aggregations/AggregationEdit.css.map +0 -1
  207. package/dist/sidebar/aggregations/AggregationEdit.js +0 -155
  208. package/dist/sidebar/aggregations/AggregationEdit.js.map +0 -1
  209. package/dist/sidebar/aggregations/AggregationOperation.js +0 -19
  210. package/dist/sidebar/aggregations/AggregationOperation.js.map +0 -1
  211. package/dist/sidebar/aggregations/AggregationUtils.js +0 -59
  212. package/dist/sidebar/aggregations/AggregationUtils.js.map +0 -1
  213. package/dist/sidebar/aggregations/Aggregations.css +0 -43
  214. package/dist/sidebar/aggregations/Aggregations.css.map +0 -1
  215. package/dist/sidebar/aggregations/Aggregations.js +0 -178
  216. package/dist/sidebar/aggregations/Aggregations.js.map +0 -1
  217. package/dist/sidebar/aggregations/index.js +0 -2
  218. package/dist/sidebar/aggregations/index.js.map +0 -1
  219. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +0 -123
  220. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +0 -1
  221. package/dist/sidebar/conditional-formatting/ConditionEditor.js +0 -243
  222. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +0 -1
  223. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css +0 -22
  224. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css.map +0 -1
  225. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +0 -109
  226. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +0 -1
  227. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -18
  228. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +0 -1
  229. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css +0 -57
  230. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css.map +0 -1
  231. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +0 -150
  232. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +0 -1
  233. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +0 -635
  234. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +0 -1
  235. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +0 -122
  236. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +0 -1
  237. package/dist/sidebar/conditional-formatting/StyleEditor.css +0 -55
  238. package/dist/sidebar/conditional-formatting/StyleEditor.css.map +0 -1
  239. package/dist/sidebar/conditional-formatting/StyleEditor.js +0 -150
  240. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +0 -1
  241. package/dist/sidebar/icons/BarIcon.js +0 -24
  242. package/dist/sidebar/icons/BarIcon.js.map +0 -1
  243. package/dist/sidebar/icons/FormatColumnWhereIcon.js +0 -42
  244. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +0 -1
  245. package/dist/sidebar/icons/FormatRowWhereIcon.js +0 -36
  246. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +0 -1
  247. package/dist/sidebar/icons/HistogramIcon.js +0 -24
  248. package/dist/sidebar/icons/HistogramIcon.js.map +0 -1
  249. package/dist/sidebar/icons/LineIcon.js +0 -27
  250. package/dist/sidebar/icons/LineIcon.js.map +0 -1
  251. package/dist/sidebar/icons/PieIcon.js +0 -24
  252. package/dist/sidebar/icons/PieIcon.js.map +0 -1
  253. package/dist/sidebar/icons/ScatterIcon.js +0 -74
  254. package/dist/sidebar/icons/ScatterIcon.js.map +0 -1
  255. package/dist/sidebar/icons/index.js +0 -8
  256. package/dist/sidebar/icons/index.js.map +0 -1
  257. package/dist/sidebar/index.js +0 -18
  258. package/dist/sidebar/index.js.map +0 -1
  259. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.css +0 -68
  260. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.css.map +0 -1
  261. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +0 -964
  262. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +0 -1
  263. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +0 -132
  264. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +0 -1
  265. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.css +0 -29
  266. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.css.map +0 -1
  267. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +0 -188
  268. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +0 -1
  269. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +0 -81
  270. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +0 -1
  271. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js +0 -30
  272. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +0 -1
  273. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +0 -158
  274. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +0 -1
  275. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +0 -146
  276. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +0 -1
  277. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +0 -59
  278. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +0 -1
  279. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.css +0 -139
  280. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.css.map +0 -1
  281. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +0 -44
  282. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +0 -1
  283. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js +0 -129
  284. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +0 -1
  285. package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js +0 -4
  286. package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +0 -1
  287. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js +0 -261
  288. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities.js","names":["arrayMove","GridUtils","isFlattenedTreeItem","getDragDepth","offset","indentationWidth","Math","round","getTreeItem","columns","movedColumns","columnHeaderGroupMap","name","hiddenColumnSet","selectedItems","modelIndex","findIndex","col","group","get","Error","modelIndexes","childIndexes","flat","id","selected","has","children","map","childName","sort","a","b","aVal","Array","isArray","data","visibleIndex","bVal","getVisibleRange","isVisible","some","index","getVisibleIndex","getTreeItems","columnHeaderGroups","hiddenColumns","items","selectedItemsSet","Set","groupMap","Map","getModelIndex","columnName","find","includes","undefined","parent","item","push","length","getProjection","activeId","overId","dragOffset","overItemIndex","activeItemIndex","activeItem","newItems","previousItem","nextItem","dragDepth","projectedDepth","depth","maxDepth","getMaxDepth","minDepth","getMinDepth","parentId","getParentId","newParent","slice","reverse","max","flatten","reduce","acc","flattenTree","every","findItemDeep","itemId","i","child","countChildren","count","getChildCount","removeChildrenOf","ids","excludeParentIds","filter","add"],"sources":["../../../../src/sidebar/visibility-ordering-builder/sortable-tree/utilities.ts"],"sourcesContent":["import { arrayMove } from '@dnd-kit/sortable';\nimport type { Column } from '@deephaven/jsapi-types';\nimport { GridUtils, ModelIndex, MoveOperation } from '@deephaven/grid';\nimport type ColumnHeaderGroup from '../../../ColumnHeaderGroup';\nimport { isFlattenedTreeItem, ReadonlyTreeItems } from './types';\nimport type { FlattenedItem, TreeItem } from './types';\n\n/**\n * Gets the depth of an item dragged with a given x-axis offset\n *\n * @param offset x-axis offset of the dragging item\n * @param indentationWidth Width of indentation for each depth\n * @returns The drag depth for the given offset\n */\nfunction getDragDepth(offset: number, indentationWidth: number) {\n return Math.round(offset / indentationWidth);\n}\n\ninterface IrisGridTreeItemData {\n modelIndex: number | number[];\n visibleIndex: number | [number, number];\n isVisible: boolean;\n group?: ColumnHeaderGroup;\n}\n\nexport type IrisGridTreeItem = TreeItem<IrisGridTreeItemData>;\n\nexport type FlattenedIrisGridTreeItem = FlattenedItem<IrisGridTreeItemData>;\n\nfunction getTreeItem(\n columns: readonly Column[],\n movedColumns: readonly MoveOperation[],\n columnHeaderGroupMap: Map<string, ColumnHeaderGroup>,\n name: string,\n hiddenColumnSet: Set<ModelIndex>,\n selectedItems: Set<string>\n): IrisGridTreeItem {\n const modelIndex = columns.findIndex(col => col.name === name);\n if (modelIndex === -1) {\n const group = columnHeaderGroupMap.get(name);\n\n if (group == null) {\n throw new Error(`Column or header group not found: ${name}`);\n }\n\n const modelIndexes = group.childIndexes.flat();\n\n return {\n id: name,\n selected: selectedItems.has(name),\n children: group.children\n .map(childName =>\n getTreeItem(\n columns,\n movedColumns,\n columnHeaderGroupMap,\n childName,\n hiddenColumnSet,\n selectedItems\n )\n )\n .sort((a, b) => {\n const aVal = Array.isArray(a.data.visibleIndex)\n ? a.data.visibleIndex[0]\n : a.data.visibleIndex;\n const bVal = Array.isArray(b.data.visibleIndex)\n ? b.data.visibleIndex[0]\n : b.data.visibleIndex;\n return aVal - bVal;\n }),\n data: {\n modelIndex: modelIndexes,\n visibleIndex: group.getVisibleRange(movedColumns),\n group,\n isVisible: modelIndexes.some(index => !hiddenColumnSet.has(index)),\n },\n };\n }\n\n return {\n id: name,\n children: [],\n selected: selectedItems.has(name),\n data: {\n modelIndex,\n visibleIndex: GridUtils.getVisibleIndex(modelIndex, movedColumns),\n isVisible: !hiddenColumnSet.has(modelIndex),\n },\n };\n}\n\nexport function getTreeItems(\n columns: readonly Column[],\n movedColumns: readonly MoveOperation[],\n columnHeaderGroups: readonly ColumnHeaderGroup[],\n hiddenColumns: readonly ModelIndex[],\n selectedItems: readonly string[]\n): IrisGridTreeItem[] {\n const items: IrisGridTreeItem[] = [];\n const selectedItemsSet = new Set(selectedItems);\n const groupMap = new Map(\n columnHeaderGroups.map(group => [group.name, group])\n );\n const hiddenColumnSet = new Set(hiddenColumns);\n\n let visibleIndex = 0;\n while (visibleIndex < columns.length) {\n const modelIndex = GridUtils.getModelIndex(visibleIndex, movedColumns);\n const columnName = columns[modelIndex].name;\n\n let group = columnHeaderGroups.find(({ children }) =>\n children.includes(columnName)\n );\n while (group !== undefined && group.parent !== undefined) {\n group = groupMap.get(group.parent);\n }\n\n const item = getTreeItem(\n columns,\n movedColumns,\n groupMap,\n group ? group.name : columnName,\n hiddenColumnSet,\n selectedItemsSet\n );\n\n items.push(item);\n\n if (Array.isArray(item.data.visibleIndex)) {\n visibleIndex += item.data.visibleIndex[1] - item.data.visibleIndex[0] + 1;\n } else {\n visibleIndex += 1;\n }\n }\n\n return items;\n}\n\n/**\n * Gets the projected drop position and depth of the dragged item\n *\n * @param items List of flattened items\n * @param activeId ID of the actively dragged item\n * @param overId ID of the item currently being dragged over\n * @param dragOffset The x-axis offset of the dragged item\n * @param indentationWidth The width for each level of the tree\n * @returns The projected position and depth if the item were to be dropped\n */\nexport function getProjection(\n items: FlattenedItem[],\n activeId: string,\n overId: string,\n dragOffset: number,\n indentationWidth: number\n) {\n const overItemIndex = items.findIndex(({ id }) => id === overId);\n const activeItemIndex = items.findIndex(({ id }) => id === activeId);\n const activeItem = items[activeItemIndex];\n const newItems = arrayMove(items, activeItemIndex, overItemIndex);\n const previousItem: FlattenedItem | undefined = newItems[overItemIndex - 1];\n const nextItem = newItems[overItemIndex + 1];\n const dragDepth = getDragDepth(dragOffset, indentationWidth);\n const projectedDepth = activeItem.depth + dragDepth;\n const maxDepth = getMaxDepth({\n previousItem,\n nextItem,\n });\n const minDepth = getMinDepth({ nextItem });\n let depth = projectedDepth;\n\n if (projectedDepth >= maxDepth) {\n depth = maxDepth;\n } else if (projectedDepth < minDepth) {\n depth = minDepth;\n }\n\n return { depth, maxDepth, minDepth, parentId: getParentId() };\n\n function getParentId() {\n if (depth === 0 || !previousItem) {\n return null;\n }\n\n if (depth === previousItem.depth) {\n return previousItem.parentId;\n }\n\n if (depth > previousItem.depth) {\n return previousItem.id;\n }\n\n const newParent = newItems\n .slice(0, overItemIndex)\n .reverse()\n .find(item => item.depth === depth)?.parentId;\n\n return newParent ?? null;\n }\n}\n\nfunction getMaxDepth({\n previousItem,\n nextItem,\n}: {\n previousItem?: FlattenedItem;\n nextItem?: FlattenedItem;\n}) {\n return Math.max(previousItem?.depth ?? 0, nextItem?.depth ?? 0);\n}\n\nfunction getMinDepth({ nextItem }: { nextItem: FlattenedItem | undefined }) {\n if (nextItem) {\n return nextItem.depth;\n }\n\n return 0;\n}\n\n/**\n * Helper function to recursively flatten a tree\n *\n * @param items Items to flatten\n * @param parentId The current parentId of the items\n * @param depth The current depth of the items\n * @returns Flattened items\n */\nfunction flatten<T>(\n items: ReadonlyTreeItems<T>,\n parentId: string | null = null,\n depth = 0\n): FlattenedItem<T>[] {\n return items.reduce<FlattenedItem<T>[]>(\n (acc, item, index) => [\n ...acc,\n { ...item, parentId, depth, index },\n ...flatten(item.children, item.id, depth + 1),\n ],\n []\n );\n}\n\n/**\n * Flattens a tree into a 1D array given the items\n * @param items The tree items to flatten\n * @returns The flattened tree items list\n */\nexport function flattenTree<T>(\n items: ReadonlyTreeItems<T>\n): FlattenedItem<T>[] {\n // Should help prevent double flattening since FlattenedItems are valid TreeItems\n if (items.every(isFlattenedTreeItem)) {\n return [...items];\n }\n return flatten(items);\n}\n\n/**\n * Recursively checks for the item in a list of items.\n * The list does not have to be flattened prior to searching.\n *\n * @param items Items to search\n * @param itemId Item to find\n * @returns The item if found\n */\nexport function findItemDeep(\n items: ReadonlyTreeItems,\n itemId: string\n): TreeItem | undefined {\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const { id, children } = item;\n\n if (id === itemId) {\n return item;\n }\n\n if (children.length) {\n const child = findItemDeep(children, itemId);\n\n if (child) {\n return child;\n }\n }\n }\n\n return undefined;\n}\n\nfunction countChildren(items: TreeItem[], count = 0): number {\n return items.reduce((acc, { children }) => {\n if (children.length) {\n return countChildren(children, acc + 1);\n }\n\n return acc + 1;\n }, count);\n}\n\nexport function getChildCount(items: ReadonlyTreeItems, id: string): number {\n const item = findItemDeep(items, id);\n\n return item ? countChildren(item.children) : 0;\n}\n\n/**\n * Removes the children of the list of parents from the list of flattened items\n *\n * @param items The flattened items to remove from\n * @param ids The parents we want to remove the children of\n * @returns The flattened items without the children of the parents\n */\nexport function removeChildrenOf<T>(\n items: FlattenedItem<T>[],\n ids: string[]\n): FlattenedItem<T>[] {\n const excludeParentIds = new Set(ids);\n\n return items.filter(item => {\n if (item.parentId != null && excludeParentIds.has(item.parentId)) {\n if (item.children.length) {\n excludeParentIds.add(item.id);\n }\n return false;\n }\n\n return true;\n });\n}\n"],"mappings":"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"}