@elliemae/ds-treeview 1.60.0 → 2.0.0-alpha.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/TreeView.js +91 -161
- package/cjs/TreeViewContext.js +23 -26
- package/cjs/config/cssClassesConstants.js +4 -5
- package/cjs/deprecated/TreeView.js +39 -50
- package/cjs/deprecated/__testUtils__/utils.js +47 -46
- package/cjs/deprecated/index.js +21 -49
- package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js +57 -67
- package/cjs/deprecated/plugins/dnd/index.js +2 -19
- package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js +55 -49
- package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js +162 -150
- package/cjs/deprecated/plugins/dnd/utils.js +64 -56
- package/cjs/deprecated/plugins/index.js +14 -44
- package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js +49 -56
- package/cjs/deprecated/plugins/roving/index.js +2 -12
- package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js +46 -35
- package/cjs/deprecated/plugins/searchable/index.js +2 -7
- package/cjs/deprecated/plugins/searchable/utils.js +1 -2
- package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js +126 -120
- package/cjs/deprecated/plugins/selectable/helper.js +0 -1
- package/cjs/deprecated/plugins/selectable/index.js +2 -14
- package/cjs/deprecated/plugins/selectable/utils.js +2 -3
- package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js +63 -53
- package/cjs/deprecated/plugins/toolbar/index.js +2 -13
- package/cjs/deprecated/plugins/tree/TreeDataPlugin.js +163 -137
- package/cjs/deprecated/plugins/tree/index.js +2 -18
- package/cjs/deprecated/plugins/tree/useExpandTreeState.js +67 -73
- package/cjs/deprecated/plugins/tree/utils.js +22 -30
- package/cjs/deprecated/plugins/tree/walkTreeStrategy.js +21 -30
- package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +124 -109
- package/cjs/deprecated/plugins/virtualization/index.js +2 -12
- package/cjs/deprecated/renderers.js +41 -23
- package/cjs/index.js +19 -93
- package/cjs/parts/CheckboxSelectable.js +42 -36
- package/cjs/parts/ChildrenCountDisplayer.js +15 -16
- package/cjs/parts/ExpandCaret.js +42 -38
- package/cjs/parts/Icon.js +14 -10
- package/cjs/parts/NestingSpace.js +26 -20
- package/cjs/parts/RadioSelectable.js +34 -34
- package/cjs/parts/TreeItem.js +123 -133
- package/cjs/parts/TreeItemText.js +68 -57
- package/cjs/parts/TreeList.js +107 -109
- package/cjs/plugins/dnd/TreeDndPlugin.js +20 -54
- package/cjs/plugins/dnd/index.js +3 -43
- package/cjs/plugins/index.js +15 -55
- package/cjs/plugins/roving/TreeRovingPlugin.js +1 -2
- package/cjs/plugins/roving/index.js +2 -3
- package/cjs/plugins/searchable/SearchableTreePlugin.js +1 -2
- package/cjs/plugins/searchable/index.js +2 -3
- package/cjs/plugins/selectable/SelectablePluginTree.js +1 -2
- package/cjs/plugins/selectable/index.js +2 -3
- package/cjs/plugins/toolbar/TreeToolbarPlugin.js +1 -2
- package/cjs/plugins/toolbar/index.js +2 -3
- package/cjs/plugins/tree/TreeDataPlugin.js +1 -2
- package/cjs/plugins/tree/index.js +2 -3
- package/cjs/plugins/virtualization/TreeVirtualizationPlugin.js +1 -2
- package/cjs/plugins/virtualization/index.js +2 -3
- package/cjs/prop-types.js +25 -26
- package/cjs/react-desc-prop-types.js +4 -5
- package/cjs/related-components/TreeViewSearchBar.js +14 -24
- package/cjs/utils/array-helpers.js +7 -19
- package/cjs/utils/dnd-helpers.js +64 -51
- package/cjs/utils/group-expands-helpers.js +29 -24
- package/cjs/utils/keyboard-helpers.js +80 -75
- package/cjs/utils/object-helpers.js +13 -18
- package/cjs/utils/refs-helpers.js +10 -5
- package/cjs/utils/selectable-helper.js +39 -28
- package/cjs/utils/string-helpers.js +1 -4
- package/cjs/utils/tree-helpers.js +68 -71
- package/cjs/utils/useDnDHelpers.js +128 -114
- package/cjs/utils/useInstanceRefActions.js +40 -50
- package/cjs/utils/useTree.js +40 -57
- package/esm/TreeView.js +81 -150
- package/esm/TreeViewContext.js +22 -25
- package/esm/config/cssClassesConstants.js +4 -5
- package/esm/deprecated/TreeView.js +31 -40
- package/esm/deprecated/__testUtils__/utils.js +43 -40
- package/esm/deprecated/index.js +6 -32
- package/esm/deprecated/plugins/dnd/TreeDndPlugin.js +47 -56
- package/esm/deprecated/plugins/dnd/index.js +0 -17
- package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js +50 -43
- package/esm/deprecated/plugins/dnd/renderers/DroppableList.js +160 -147
- package/esm/deprecated/plugins/dnd/utils.js +63 -54
- package/esm/deprecated/plugins/index.js +0 -30
- package/esm/deprecated/plugins/roving/TreeRovingPlugin.js +48 -53
- package/esm/deprecated/plugins/roving/index.js +0 -10
- package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js +45 -34
- package/esm/deprecated/plugins/searchable/index.js +0 -5
- package/esm/deprecated/plugins/searchable/utils.js +1 -2
- package/esm/deprecated/plugins/selectable/SelectablePluginTree.js +121 -113
- package/esm/deprecated/plugins/selectable/helper.js +0 -1
- package/esm/deprecated/plugins/selectable/index.js +0 -12
- package/esm/deprecated/plugins/selectable/utils.js +2 -3
- package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js +58 -47
- package/esm/deprecated/plugins/toolbar/index.js +0 -11
- package/esm/deprecated/plugins/tree/TreeDataPlugin.js +150 -124
- package/esm/deprecated/plugins/tree/index.js +0 -16
- package/esm/deprecated/plugins/tree/useExpandTreeState.js +64 -69
- package/esm/deprecated/plugins/tree/utils.js +16 -24
- package/esm/deprecated/plugins/tree/walkTreeStrategy.js +21 -26
- package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +121 -107
- package/esm/deprecated/plugins/virtualization/index.js +0 -10
- package/esm/deprecated/renderers.js +39 -21
- package/esm/index.js +2 -75
- package/esm/parts/CheckboxSelectable.js +39 -33
- package/esm/parts/ChildrenCountDisplayer.js +13 -14
- package/esm/parts/ExpandCaret.js +39 -35
- package/esm/parts/Icon.js +13 -9
- package/esm/parts/NestingSpace.js +24 -18
- package/esm/parts/RadioSelectable.js +34 -32
- package/esm/parts/TreeItem.js +108 -117
- package/esm/parts/TreeItemText.js +65 -53
- package/esm/parts/TreeList.js +104 -105
- package/esm/plugins/dnd/TreeDndPlugin.js +16 -50
- package/esm/plugins/dnd/index.js +0 -40
- package/esm/plugins/index.js +0 -40
- package/esm/plugins/roving/TreeRovingPlugin.js +1 -2
- package/esm/plugins/roving/index.js +0 -1
- package/esm/plugins/searchable/SearchableTreePlugin.js +1 -2
- package/esm/plugins/searchable/index.js +0 -1
- package/esm/plugins/selectable/SelectablePluginTree.js +1 -2
- package/esm/plugins/selectable/index.js +0 -1
- package/esm/plugins/toolbar/TreeToolbarPlugin.js +1 -2
- package/esm/plugins/toolbar/index.js +0 -1
- package/esm/plugins/tree/TreeDataPlugin.js +1 -2
- package/esm/plugins/tree/index.js +0 -1
- package/esm/plugins/virtualization/TreeVirtualizationPlugin.js +1 -2
- package/esm/plugins/virtualization/index.js +0 -1
- package/esm/prop-types.js +8 -9
- package/esm/react-desc-prop-types.js +4 -5
- package/esm/related-components/TreeViewSearchBar.js +13 -22
- package/esm/utils/array-helpers.js +7 -14
- package/esm/utils/dnd-helpers.js +62 -49
- package/esm/utils/group-expands-helpers.js +29 -24
- package/esm/utils/keyboard-helpers.js +73 -68
- package/esm/utils/object-helpers.js +13 -14
- package/esm/utils/refs-helpers.js +10 -5
- package/esm/utils/selectable-helper.js +37 -26
- package/esm/utils/string-helpers.js +1 -4
- package/esm/utils/tree-helpers.js +66 -65
- package/esm/utils/useDnDHelpers.js +125 -107
- package/esm/utils/useInstanceRefActions.js +35 -41
- package/esm/utils/useTree.js +37 -53
- package/package.json +319 -30
- package/types/TreeView.d.ts +157 -0
- package/types/TreeViewContext.d.ts +119 -0
- package/types/config/cssClassesConstants.d.ts +4 -0
- package/types/deprecated/TreeView.d.ts +8 -0
- package/types/deprecated/__testUtils__/utils.d.ts +72 -0
- package/types/deprecated/index.d.ts +2 -0
- package/types/deprecated/plugins/dnd/TreeDndPlugin.d.ts +1 -0
- package/types/deprecated/plugins/dnd/index.d.ts +1 -0
- package/types/deprecated/plugins/dnd/renderers/DraggableItem.d.ts +3 -0
- package/types/deprecated/plugins/dnd/renderers/DroppableList.d.ts +6 -0
- package/types/deprecated/plugins/dnd/tests/TreeDndPlugin.test.d.ts +0 -0
- package/types/deprecated/plugins/dnd/utils.d.ts +28 -0
- package/types/deprecated/plugins/index.d.ts +7 -0
- package/types/deprecated/plugins/roving/TreeRovingPlugin.d.ts +1 -0
- package/types/deprecated/plugins/roving/index.d.ts +1 -0
- package/types/deprecated/plugins/searchable/SearchableTreePlugin.d.ts +1 -0
- package/types/deprecated/plugins/searchable/index.d.ts +1 -0
- package/types/deprecated/plugins/searchable/utils.d.ts +1 -0
- package/types/deprecated/plugins/selectable/SelectablePluginTree.d.ts +1 -0
- package/types/deprecated/plugins/selectable/helper.d.ts +0 -0
- package/types/deprecated/plugins/selectable/index.d.ts +1 -0
- package/types/deprecated/plugins/selectable/tests/SelectablePluginTree.test.d.ts +1 -0
- package/types/deprecated/plugins/selectable/utils.d.ts +1 -0
- package/types/deprecated/plugins/toolbar/TreeToolbarPlugin.d.ts +1 -0
- package/types/deprecated/plugins/toolbar/index.d.ts +1 -0
- package/types/deprecated/plugins/tree/TreeDataPlugin.d.ts +1 -0
- package/types/deprecated/plugins/tree/index.d.ts +1 -0
- package/types/deprecated/plugins/tree/tests/TreeDataPlugin.test.d.ts +1 -0
- package/types/deprecated/plugins/tree/useExpandTreeState.d.ts +14 -0
- package/types/deprecated/plugins/tree/utils.d.ts +8 -0
- package/types/deprecated/plugins/tree/walkTreeStrategy.d.ts +9 -0
- package/types/deprecated/plugins/virtualization/TreeVirtualizationPlugin.d.ts +1 -0
- package/types/deprecated/plugins/virtualization/index.d.ts +1 -0
- package/types/deprecated/renderers.d.ts +19 -0
- package/types/index.d.ts +4 -0
- package/types/parts/CheckboxSelectable.d.ts +9 -0
- package/types/parts/ChildrenCountDisplayer.d.ts +7 -0
- package/types/parts/ExpandCaret.d.ts +7 -0
- package/types/parts/Icon.d.ts +5 -0
- package/types/parts/NestingSpace.d.ts +13 -0
- package/types/parts/RadioSelectable.d.ts +9 -0
- package/types/parts/TreeItem.d.ts +16 -0
- package/types/parts/TreeItemText.d.ts +7 -0
- package/types/parts/TreeList.d.ts +11 -0
- package/types/plugins/dnd/TreeDndPlugin.d.ts +3 -0
- package/types/plugins/dnd/index.d.ts +1 -0
- package/types/plugins/index.d.ts +7 -0
- package/types/plugins/roving/TreeRovingPlugin.d.ts +1 -0
- package/types/plugins/roving/index.d.ts +1 -0
- package/types/plugins/searchable/SearchableTreePlugin.d.ts +1 -0
- package/types/plugins/searchable/index.d.ts +1 -0
- package/types/plugins/selectable/SelectablePluginTree.d.ts +1 -0
- package/types/plugins/selectable/index.d.ts +1 -0
- package/types/plugins/toolbar/TreeToolbarPlugin.d.ts +1 -0
- package/types/plugins/toolbar/index.d.ts +1 -0
- package/types/plugins/tree/TreeDataPlugin.d.ts +1 -0
- package/types/plugins/tree/index.d.ts +1 -0
- package/types/plugins/virtualization/TreeVirtualizationPlugin.d.ts +1 -0
- package/types/plugins/virtualization/index.d.ts +1 -0
- package/types/prop-types.d.ts +26 -0
- package/types/react-desc-prop-types.d.ts +115 -0
- package/types/related-components/TreeViewSearchBar.d.ts +13 -0
- package/types/utils/array-helpers.d.ts +2 -0
- package/types/utils/dnd-helpers.d.ts +38 -0
- package/types/utils/group-expands-helpers.d.ts +11 -0
- package/types/utils/keyboard-helpers.d.ts +3 -0
- package/types/utils/object-helpers.d.ts +2 -0
- package/types/utils/refs-helpers.d.ts +1 -0
- package/types/utils/selectable-helper.d.ts +3 -0
- package/types/utils/string-helpers.d.ts +1 -0
- package/types/utils/tree-helpers.d.ts +11 -0
- package/types/utils/useDnDHelpers.d.ts +6 -0
- package/types/utils/useInstanceRefActions.d.ts +3 -0
- package/types/utils/useTree.d.ts +12 -0
- package/TreeView/package.json +0 -10
- package/TreeViewContext/package.json +0 -10
- package/cjs/TreeView.js.map +0 -1
- package/cjs/TreeViewContext.js.map +0 -1
- package/cjs/config/cssClassesConstants.js.map +0 -1
- package/cjs/deprecated/TreeView.js.map +0 -1
- package/cjs/deprecated/__testUtils__/utils.js.map +0 -1
- package/cjs/deprecated/index.js.map +0 -1
- package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js.map +0 -1
- package/cjs/deprecated/plugins/dnd/index.js.map +0 -1
- package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js.map +0 -1
- package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js.map +0 -1
- package/cjs/deprecated/plugins/dnd/utils.js.map +0 -1
- package/cjs/deprecated/plugins/index.js.map +0 -1
- package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js.map +0 -1
- package/cjs/deprecated/plugins/roving/index.js.map +0 -1
- package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js.map +0 -1
- package/cjs/deprecated/plugins/searchable/index.js.map +0 -1
- package/cjs/deprecated/plugins/searchable/utils.js.map +0 -1
- package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js.map +0 -1
- package/cjs/deprecated/plugins/selectable/helper.js.map +0 -1
- package/cjs/deprecated/plugins/selectable/index.js.map +0 -1
- package/cjs/deprecated/plugins/selectable/utils.js.map +0 -1
- package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js.map +0 -1
- package/cjs/deprecated/plugins/toolbar/index.js.map +0 -1
- package/cjs/deprecated/plugins/tree/TreeDataPlugin.js.map +0 -1
- package/cjs/deprecated/plugins/tree/index.js.map +0 -1
- package/cjs/deprecated/plugins/tree/useExpandTreeState.js.map +0 -1
- package/cjs/deprecated/plugins/tree/utils.js.map +0 -1
- package/cjs/deprecated/plugins/tree/walkTreeStrategy.js.map +0 -1
- package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -1
- package/cjs/deprecated/plugins/virtualization/index.js.map +0 -1
- package/cjs/deprecated/renderers.js.map +0 -1
- package/cjs/index-72490bed.js +0 -31
- package/cjs/index-72490bed.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/parts/CheckboxSelectable.js.map +0 -1
- package/cjs/parts/ChildrenCountDisplayer.js.map +0 -1
- package/cjs/parts/ExpandCaret.js.map +0 -1
- package/cjs/parts/Icon.js.map +0 -1
- package/cjs/parts/NestingSpace.js.map +0 -1
- package/cjs/parts/RadioSelectable.js.map +0 -1
- package/cjs/parts/TreeItem.js.map +0 -1
- package/cjs/parts/TreeItemText.js.map +0 -1
- package/cjs/parts/TreeList.js.map +0 -1
- package/cjs/plugins/dnd/TreeDndPlugin.js.map +0 -1
- package/cjs/plugins/dnd/index.js.map +0 -1
- package/cjs/plugins/index.js.map +0 -1
- package/cjs/plugins/roving/TreeRovingPlugin.js.map +0 -1
- package/cjs/plugins/roving/index.js.map +0 -1
- package/cjs/plugins/searchable/SearchableTreePlugin.js.map +0 -1
- package/cjs/plugins/searchable/index.js.map +0 -1
- package/cjs/plugins/selectable/SelectablePluginTree.js.map +0 -1
- package/cjs/plugins/selectable/index.js.map +0 -1
- package/cjs/plugins/toolbar/TreeToolbarPlugin.js.map +0 -1
- package/cjs/plugins/toolbar/index.js.map +0 -1
- package/cjs/plugins/tree/TreeDataPlugin.js.map +0 -1
- package/cjs/plugins/tree/index.js.map +0 -1
- package/cjs/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -1
- package/cjs/plugins/virtualization/index.js.map +0 -1
- package/cjs/prop-types.js.map +0 -1
- package/cjs/react-desc-prop-types.js.map +0 -1
- package/cjs/related-components/TreeViewSearchBar.js.map +0 -1
- package/cjs/utils/array-helpers.js.map +0 -1
- package/cjs/utils/dnd-helpers.js.map +0 -1
- package/cjs/utils/group-expands-helpers.js.map +0 -1
- package/cjs/utils/keyboard-helpers.js.map +0 -1
- package/cjs/utils/object-helpers.js.map +0 -1
- package/cjs/utils/refs-helpers.js.map +0 -1
- package/cjs/utils/selectable-helper.js.map +0 -1
- package/cjs/utils/string-helpers.js.map +0 -1
- package/cjs/utils/tree-helpers.js.map +0 -1
- package/cjs/utils/useDnDHelpers.js.map +0 -1
- package/cjs/utils/useInstanceRefActions.js.map +0 -1
- package/cjs/utils/useTree.js.map +0 -1
- package/config/cssClassesConstants/package.json +0 -10
- package/deprecated/TreeView/package.json +0 -10
- package/deprecated/__testUtils__/utils/package.json +0 -10
- package/deprecated/package.json +0 -10
- package/deprecated/plugins/dnd/TreeDndPlugin/package.json +0 -10
- package/deprecated/plugins/dnd/package.json +0 -10
- package/deprecated/plugins/dnd/renderers/DraggableItem/package.json +0 -10
- package/deprecated/plugins/dnd/renderers/DroppableList/package.json +0 -10
- package/deprecated/plugins/dnd/utils/package.json +0 -10
- package/deprecated/plugins/package.json +0 -10
- package/deprecated/plugins/roving/TreeRovingPlugin/package.json +0 -10
- package/deprecated/plugins/roving/package.json +0 -10
- package/deprecated/plugins/searchable/SearchableTreePlugin/package.json +0 -10
- package/deprecated/plugins/searchable/package.json +0 -10
- package/deprecated/plugins/searchable/utils/package.json +0 -10
- package/deprecated/plugins/selectable/SelectablePluginTree/package.json +0 -10
- package/deprecated/plugins/selectable/helper/package.json +0 -10
- package/deprecated/plugins/selectable/package.json +0 -10
- package/deprecated/plugins/selectable/utils/package.json +0 -10
- package/deprecated/plugins/toolbar/TreeToolbarPlugin/package.json +0 -10
- package/deprecated/plugins/toolbar/package.json +0 -10
- package/deprecated/plugins/tree/TreeDataPlugin/package.json +0 -10
- package/deprecated/plugins/tree/package.json +0 -10
- package/deprecated/plugins/tree/useExpandTreeState/package.json +0 -10
- package/deprecated/plugins/tree/utils/package.json +0 -10
- package/deprecated/plugins/tree/walkTreeStrategy/package.json +0 -10
- package/deprecated/plugins/virtualization/TreeVirtualizationPlugin/package.json +0 -10
- package/deprecated/plugins/virtualization/package.json +0 -10
- package/deprecated/renderers/package.json +0 -10
- package/esm/TreeView.js.map +0 -1
- package/esm/TreeViewContext.js.map +0 -1
- package/esm/config/cssClassesConstants.js.map +0 -1
- package/esm/deprecated/TreeView.js.map +0 -1
- package/esm/deprecated/__testUtils__/utils.js.map +0 -1
- package/esm/deprecated/index.js.map +0 -1
- package/esm/deprecated/plugins/dnd/TreeDndPlugin.js.map +0 -1
- package/esm/deprecated/plugins/dnd/index.js.map +0 -1
- package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js.map +0 -1
- package/esm/deprecated/plugins/dnd/renderers/DroppableList.js.map +0 -1
- package/esm/deprecated/plugins/dnd/utils.js.map +0 -1
- package/esm/deprecated/plugins/index.js.map +0 -1
- package/esm/deprecated/plugins/roving/TreeRovingPlugin.js.map +0 -1
- package/esm/deprecated/plugins/roving/index.js.map +0 -1
- package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js.map +0 -1
- package/esm/deprecated/plugins/searchable/index.js.map +0 -1
- package/esm/deprecated/plugins/searchable/utils.js.map +0 -1
- package/esm/deprecated/plugins/selectable/SelectablePluginTree.js.map +0 -1
- package/esm/deprecated/plugins/selectable/helper.js.map +0 -1
- package/esm/deprecated/plugins/selectable/index.js.map +0 -1
- package/esm/deprecated/plugins/selectable/utils.js.map +0 -1
- package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js.map +0 -1
- package/esm/deprecated/plugins/toolbar/index.js.map +0 -1
- package/esm/deprecated/plugins/tree/TreeDataPlugin.js.map +0 -1
- package/esm/deprecated/plugins/tree/index.js.map +0 -1
- package/esm/deprecated/plugins/tree/useExpandTreeState.js.map +0 -1
- package/esm/deprecated/plugins/tree/utils.js.map +0 -1
- package/esm/deprecated/plugins/tree/walkTreeStrategy.js.map +0 -1
- package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -1
- package/esm/deprecated/plugins/virtualization/index.js.map +0 -1
- package/esm/deprecated/renderers.js.map +0 -1
- package/esm/index-6009bfe6.js +0 -29
- package/esm/index-6009bfe6.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/parts/CheckboxSelectable.js.map +0 -1
- package/esm/parts/ChildrenCountDisplayer.js.map +0 -1
- package/esm/parts/ExpandCaret.js.map +0 -1
- package/esm/parts/Icon.js.map +0 -1
- package/esm/parts/NestingSpace.js.map +0 -1
- package/esm/parts/RadioSelectable.js.map +0 -1
- package/esm/parts/TreeItem.js.map +0 -1
- package/esm/parts/TreeItemText.js.map +0 -1
- package/esm/parts/TreeList.js.map +0 -1
- package/esm/plugins/dnd/TreeDndPlugin.js.map +0 -1
- package/esm/plugins/dnd/index.js.map +0 -1
- package/esm/plugins/index.js.map +0 -1
- package/esm/plugins/roving/TreeRovingPlugin.js.map +0 -1
- package/esm/plugins/roving/index.js.map +0 -1
- package/esm/plugins/searchable/SearchableTreePlugin.js.map +0 -1
- package/esm/plugins/searchable/index.js.map +0 -1
- package/esm/plugins/selectable/SelectablePluginTree.js.map +0 -1
- package/esm/plugins/selectable/index.js.map +0 -1
- package/esm/plugins/toolbar/TreeToolbarPlugin.js.map +0 -1
- package/esm/plugins/toolbar/index.js.map +0 -1
- package/esm/plugins/tree/TreeDataPlugin.js.map +0 -1
- package/esm/plugins/tree/index.js.map +0 -1
- package/esm/plugins/virtualization/TreeVirtualizationPlugin.js.map +0 -1
- package/esm/plugins/virtualization/index.js.map +0 -1
- package/esm/prop-types.js.map +0 -1
- package/esm/react-desc-prop-types.js.map +0 -1
- package/esm/related-components/TreeViewSearchBar.js.map +0 -1
- package/esm/utils/array-helpers.js.map +0 -1
- package/esm/utils/dnd-helpers.js.map +0 -1
- package/esm/utils/group-expands-helpers.js.map +0 -1
- package/esm/utils/keyboard-helpers.js.map +0 -1
- package/esm/utils/object-helpers.js.map +0 -1
- package/esm/utils/refs-helpers.js.map +0 -1
- package/esm/utils/selectable-helper.js.map +0 -1
- package/esm/utils/string-helpers.js.map +0 -1
- package/esm/utils/tree-helpers.js.map +0 -1
- package/esm/utils/useDnDHelpers.js.map +0 -1
- package/esm/utils/useInstanceRefActions.js.map +0 -1
- package/esm/utils/useTree.js.map +0 -1
- package/parts/CheckboxSelectable/package.json +0 -10
- package/parts/ChildrenCountDisplayer/package.json +0 -10
- package/parts/ExpandCaret/package.json +0 -10
- package/parts/Icon/package.json +0 -10
- package/parts/NestingSpace/package.json +0 -10
- package/parts/RadioSelectable/package.json +0 -10
- package/parts/TreeItem/package.json +0 -10
- package/parts/TreeItemText/package.json +0 -10
- package/parts/TreeList/package.json +0 -10
- package/plugins/dnd/TreeDndPlugin/package.json +0 -10
- package/plugins/dnd/package.json +0 -10
- package/plugins/package.json +0 -10
- package/plugins/roving/TreeRovingPlugin/package.json +0 -10
- package/plugins/roving/package.json +0 -10
- package/plugins/searchable/SearchableTreePlugin/package.json +0 -10
- package/plugins/searchable/package.json +0 -10
- package/plugins/selectable/SelectablePluginTree/package.json +0 -10
- package/plugins/selectable/package.json +0 -10
- package/plugins/toolbar/TreeToolbarPlugin/package.json +0 -10
- package/plugins/toolbar/package.json +0 -10
- package/plugins/tree/TreeDataPlugin/package.json +0 -10
- package/plugins/tree/package.json +0 -10
- package/plugins/virtualization/TreeVirtualizationPlugin/package.json +0 -10
- package/plugins/virtualization/package.json +0 -10
- package/prop-types/package.json +0 -10
- package/react-desc-prop-types/package.json +0 -10
- package/related-components/TreeViewSearchBar/package.json +0 -10
- package/utils/array-helpers/package.json +0 -10
- package/utils/dnd-helpers/package.json +0 -10
- package/utils/group-expands-helpers/package.json +0 -10
- package/utils/keyboard-helpers/package.json +0 -10
- package/utils/object-helpers/package.json +0 -10
- package/utils/refs-helpers/package.json +0 -10
- package/utils/selectable-helper/package.json +0 -10
- package/utils/string-helpers/package.json +0 -10
- package/utils/tree-helpers/package.json +0 -10
- package/utils/useDnDHelpers/package.json +0 -10
- package/utils/useInstanceRefActions/package.json +0 -10
- package/utils/useTree/package.json +0 -10
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard-helpers.js","sources":["../../../src/utils/keyboard-helpers.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext, useEffect } from 'react';\nimport TreeViewContext from '../TreeViewContext';\nimport { focusItem } from './tree-helpers';\nimport {\n toggleExpandAllHelper,\n toggleItemExpand,\n} from './group-expands-helpers';\n\n// 9 tab\n// 13 enter\n// 32 space\n// 37 left arrow\n// 38 up arrow\n// 39 right arrow\n// 40 down arrow\n// 35 end\n// 36 home\n\n// 56 number 8\n// 106 (NumPad) *\n\nexport const useOnItemKeyDown = (item) => {\n const ctx = useContext(TreeViewContext);\n const {\n props: { onItemFocus },\n triggerTreeRerender,\n isDragging,\n visibleItems,\n setFocusedItem,\n setSelectedItem,\n setLatestToggledItem,\n virtualListHelpers: { scrollToIndex },\n } = ctx;\n const { isGroup, isExpanded } = item;\n const onItemFocusCurry = useCallback(\n (newFocusItem) =>\n onItemFocus({\n itemIndex: newFocusItem.virtualIndex,\n scrollToItem: (opts = { align: 'start' }) =>\n scrollToIndex(newFocusItem.virtualIndex, opts),\n item: newFocusItem,\n }),\n [onItemFocus],\n );\n\n const onItemKeyDown = useCallback(\n (e) => {\n const { keyCode } = e;\n if (!isDragging) {\n if (keyCode !== 9) e.preventDefault(); // allow tab/shift+tab\n if (keyCode === 13 || keyCode === 32) setSelectedItem(item);\n\n if (keyCode === 37) {\n if (isGroup && isExpanded) {\n toggleItemExpand(item, triggerTreeRerender, scrollToIndex);\n setLatestToggledItem(item);\n }\n }\n if (keyCode === 39) {\n if (isGroup && !isExpanded) {\n toggleItemExpand(item, triggerTreeRerender, scrollToIndex);\n setLatestToggledItem(item);\n }\n }\n\n const { virtualIndex } = item;\n const lastItemIndex = visibleItems.length - 1;\n if (keyCode === 38) {\n const isLoopedFocus = virtualIndex === 0;\n const newFocusIndex = isLoopedFocus\n ? lastItemIndex\n : virtualIndex - 1;\n const newFocusItem = visibleItems[newFocusIndex];\n scrollToIndex(newFocusIndex);\n if (isLoopedFocus) {\n // when looping the list from start to end we need to wait a bit before focusing\n setTimeout(() => {\n setFocusedItem(newFocusItem);\n focusItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n }, 300);\n } else {\n setFocusedItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n focusItem(newFocusItem);\n }\n }\n if (keyCode === 40) {\n const isLoopedFocus = virtualIndex === lastItemIndex;\n const newFocusIndex = isLoopedFocus ? 0 : virtualIndex + 1;\n const newFocusItem = visibleItems[newFocusIndex];\n scrollToIndex(newFocusIndex);\n if (isLoopedFocus) {\n // when looping the list from start to end we need to wait a bit before focusing\n setTimeout(() => {\n setFocusedItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n focusItem(newFocusItem);\n }, 300);\n } else {\n setFocusedItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n focusItem(newFocusItem);\n }\n }\n if (keyCode === 35) {\n if (virtualIndex !== lastItemIndex) {\n const newFocusItem = visibleItems[lastItemIndex];\n scrollToIndex(lastItemIndex);\n setTimeout(() => {\n setFocusedItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n focusItem(newFocusItem);\n }, 300);\n }\n }\n if (keyCode === 36) {\n if (virtualIndex !== 0) {\n const newFocusItem = visibleItems[0];\n scrollToIndex(0);\n setTimeout(() => {\n setFocusedItem(newFocusItem);\n onItemFocusCurry(newFocusItem);\n focusItem(newFocusItem);\n }, 300);\n }\n }\n }\n },\n [\n item,\n visibleItems,\n isGroup,\n isDragging,\n onItemFocusCurry,\n setFocusedItem,\n setSelectedItem,\n ],\n );\n\n return onItemKeyDown;\n};\n\nexport const useGlobalKeyboardListener = (func) => {\n useEffect(() => {\n document.addEventListener('keydown', func);\n return () => document.removeEventListener('keydown', func);\n }, [func]);\n};\n\nexport const useGlobalToggleAllExpandShortcut = (\n treeRoot,\n triggerTreeRerender,\n setLatestToggledItem,\n) => {\n const memoizedToggleAllKeyboardShortcut = useCallback(\n (e) => {\n const { shiftKey, keyCode } = e;\n if (shiftKey && keyCode === 56) {\n toggleExpandAllHelper(\n 'toggle',\n treeRoot,\n triggerTreeRerender,\n setLatestToggledItem,\n );\n }\n },\n [treeRoot, triggerTreeRerender],\n );\n\n return useGlobalKeyboardListener(memoizedToggleAllKeyboardShortcut);\n};\n"],"names":["useOnItemKeyDown","item","ctx","useContext","TreeViewContext","onItemFocus","props","triggerTreeRerender","isDragging","visibleItems","setFocusedItem","setSelectedItem","setLatestToggledItem","scrollToIndex","virtualListHelpers","isGroup","isExpanded","onItemFocusCurry","useCallback","newFocusItem","itemIndex","virtualIndex","scrollToItem","opts","align","onItemKeyDown","e","keyCode","preventDefault","toggleItemExpand","lastItemIndex","length","isLoopedFocus","newFocusIndex","setTimeout","focusItem","useGlobalKeyboardListener","func","useEffect","document","addEventListener","removeEventListener","useGlobalToggleAllExpandShortcut","treeRoot","memoizedToggleAllKeyboardShortcut","shiftKey","toggleExpandAllHelper"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-helpers.js","sources":["../../../src/utils/object-helpers.tsx"],"sourcesContent":["/* eslint-disable no-sequences */\n/* eslint-disable no-return-assign */\n/* eslint-disable no-restricted-syntax */\n/* eslint-disable guard-for-in */\n\nexport const unfreeze = (o) => {\n let oo;\n if (o === null) {\n oo = null;\n } else if (o === undefined) {\n oo = undefined;\n } else if (o.constructor.name === 'Date') {\n oo = new Date(o);\n } else if (o instanceof Array) {\n oo = [];\n o.forEach((v) => {\n oo.push(v);\n });\n } else if (o instanceof String) {\n oo = String(o);\n } else if (typeof o === 'object') {\n oo = {};\n for (const property in o) {\n oo[property] = o[property];\n }\n } else {\n oo = o;\n }\n return oo;\n};\n\nexport const filterObject = (obj, predicate) =>\n Object.keys(obj)\n .filter((key) => predicate(obj[key]))\n .reduce((res, key) => ((res[key] = obj[key]), res), {});\n"],"names":["unfreeze","o","oo","undefined","constructor","name","Date","Array","forEach","v","push","String","property","filterObject","obj","predicate","Object","keys","filter","key","reduce","res"],"mappings":";;AAAA;;AACA;;AACA;;AACA;IAEaA,QAAQ,GAAG,SAAXA,QAAW,CAACC,CAAD,EAAO;AAC7B,MAAIC,EAAJ;;AACA,MAAID,CAAC,KAAK,IAAV,EAAgB;AACdC,IAAAA,EAAE,GAAG,IAAL;AACD,GAFD,MAEO,IAAID,CAAC,KAAKE,SAAV,EAAqB;AAC1BD,IAAAA,EAAE,GAAGC,SAAL;AACD,GAFM,MAEA,IAAIF,CAAC,CAACG,WAAF,CAAcC,IAAd,KAAuB,MAA3B,EAAmC;AACxCH,IAAAA,EAAE,GAAG,IAAII,IAAJ,CAASL,CAAT,CAAL;AACD,GAFM,MAEA,IAAIA,CAAC,YAAYM,KAAjB,EAAwB;AAC7BL,IAAAA,EAAE,GAAG,EAAL;AACAD,IAAAA,CAAC,CAACO,OAAF,CAAU,UAACC,CAAD,EAAO;AACfP,MAAAA,EAAE,CAACQ,IAAH,CAAQD,CAAR;AACD,KAFD;AAGD,GALM,MAKA,IAAIR,CAAC,YAAYU,MAAjB,EAAyB;AAC9BT,IAAAA,EAAE,GAAGS,MAAM,CAACV,CAAD,CAAX;AACD,GAFM,MAEA,IAAI,QAAOA,CAAP,MAAa,QAAjB,EAA2B;AAChCC,IAAAA,EAAE,GAAG,EAAL;;AACA,SAAK,IAAMU,QAAX,IAAuBX,CAAvB,EAA0B;AACxBC,MAAAA,EAAE,CAACU,QAAD,CAAF,GAAeX,CAAC,CAACW,QAAD,CAAhB;AACD;AACF,GALM,MAKA;AACLV,IAAAA,EAAE,GAAGD,CAAL;AACD;;AACD,SAAOC,EAAP;AACD;IAEYW,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,SAAN;AAAA,SAC1BC,MAAM,CAACC,IAAP,CAAYH,GAAZ,EACGI,MADH,CACU,UAACC,GAAD;AAAA,WAASJ,SAAS,CAACD,GAAG,CAACK,GAAD,CAAJ,CAAlB;AAAA,GADV,EAEGC,MAFH,CAEU,UAACC,GAAD,EAAMF,GAAN;AAAA,WAAgBE,GAAG,CAACF,GAAD,CAAH,GAAWL,GAAG,CAACK,GAAD,CAAf,EAAuBE,GAAtC;AAAA,GAFV,EAEsD,EAFtD,CAD0B;AAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refs-helpers.js","sources":["../../../src/utils/refs-helpers.tsx"],"sourcesContent":["// allow multiple refs to be set to point to the same DOM element\nexport const setMultipleRefs = (...refs) => {\n const filteredRefs = refs.filter(Boolean);\n if (!filteredRefs.length) return null;\n if (filteredRefs.length === 0) return filteredRefs[0];\n\n return (newRef) => {\n filteredRefs.forEach((refToBeUpdated) => {\n if (typeof refToBeUpdated === 'function') {\n refToBeUpdated(newRef);\n } else if (refToBeUpdated) {\n refToBeUpdated.current = newRef;\n }\n });\n };\n};\n"],"names":["setMultipleRefs","refs","filteredRefs","filter","Boolean","length","newRef","forEach","refToBeUpdated","current"],"mappings":"AAAA;IACaA,eAAe,GAAG,SAAlBA,eAAkB,GAAa;AAAA,oCAATC,IAAS;AAATA,IAAAA,IAAS;AAAA;;AAC1C,MAAMC,YAAY,GAAGD,IAAI,CAACE,MAAL,CAAYC,OAAZ,CAArB;AACA,MAAI,CAACF,YAAY,CAACG,MAAlB,EAA0B,OAAO,IAAP;AAC1B,MAAIH,YAAY,CAACG,MAAb,KAAwB,CAA5B,EAA+B,OAAOH,YAAY,CAAC,CAAD,CAAnB;AAE/B,SAAO,UAACI,MAAD,EAAY;AACjBJ,IAAAA,YAAY,CAACK,OAAb,CAAqB,UAACC,cAAD,EAAoB;AACvC,UAAI,OAAOA,cAAP,KAA0B,UAA9B,EAA0C;AACxCA,QAAAA,cAAc,CAACF,MAAD,CAAd;AACD,OAFD,MAEO,IAAIE,cAAJ,EAAoB;AACzBA,QAAAA,cAAc,CAACC,OAAf,GAAyBH,MAAzB;AACD;AACF,KAND;AAOD,GARD;AASD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selectable-helper.js","sources":["../../../src/utils/selectable-helper.tsx"],"sourcesContent":["/* eslint-disable max-params */\nimport { walkParents, walkAllNodeChildren } from './tree-helpers';\n\nexport const getGroupCheckState = (node) => {\n let childAllChecked = true;\n let anyChildChecked = false;\n walkAllNodeChildren(node, (childNode) => {\n const {\n model: { isChecked },\n } = childNode;\n if (isChecked === 'mixed' || isChecked === true) anyChildChecked = true;\n else childAllChecked = false;\n });\n\n if (childAllChecked) return true;\n if (anyChildChecked) return 'mixed';\n return false;\n};\n\nexport const selectCheckboxItemModelParentsTillRoot = (\n modelToCheck,\n triggerTreeRerender = null,\n) => {\n const newSelections = {};\n const { nodePath } = modelToCheck;\n walkParents(nodePath, (parentNode) => {\n const nextState = getGroupCheckState(parentNode);\n parentNode.model.isChecked = nextState;\n newSelections[parentNode.model.id] = nextState;\n });\n if (triggerTreeRerender) triggerTreeRerender();\n return newSelections;\n};\n\nexport const toggleCheckboxItem = (\n itemToSelect,\n triggerTreeRerender = null,\n) => {\n const {\n node: {\n model: { id, isChecked, children = [] },\n },\n } = itemToSelect;\n\n const newSelections = {};\n // 'mixed' -> true -> false -> true [...->false -> true]\n const nextState = isChecked === 'mixed' ? true : !isChecked;\n itemToSelect.node.model.isChecked = nextState;\n newSelections[id] = nextState;\n\n if (children.length > 0 && (nextState === true || nextState === false)) {\n walkAllNodeChildren(itemToSelect.node, (childNode) => {\n childNode.model.isChecked = nextState;\n newSelections[childNode.model.id] = nextState;\n });\n }\n\n const parentsNewSelections = selectCheckboxItemModelParentsTillRoot(\n itemToSelect,\n );\n\n if (triggerTreeRerender) triggerTreeRerender();\n return { ...parentsNewSelections, ...newSelections };\n};\n"],"names":["getGroupCheckState","node","childAllChecked","anyChildChecked","walkAllNodeChildren","childNode","isChecked","model","selectCheckboxItemModelParentsTillRoot","modelToCheck","triggerTreeRerender","newSelections","nodePath","walkParents","parentNode","nextState","id","toggleCheckboxItem","itemToSelect","children","length","parentsNewSelections"],"mappings":";;;;;;;;;IAGaA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAU;AAC1C,MAAIC,eAAe,GAAG,IAAtB;AACA,MAAIC,eAAe,GAAG,KAAtB;AACAC,EAAAA,mBAAmB,CAACH,IAAD,EAAO,UAACI,SAAD,EAAe;AACvC,QACWC,SADX,GAEID,SAFJ,CACEE,KADF,CACWD,SADX;AAGA,QAAIA,SAAS,KAAK,OAAd,IAAyBA,SAAS,KAAK,IAA3C,EAAiDH,eAAe,GAAG,IAAlB,CAAjD,KACKD,eAAe,GAAG,KAAlB;AACN,GANkB,CAAnB;AAQA,MAAIA,eAAJ,EAAqB,OAAO,IAAP;AACrB,MAAIC,eAAJ,EAAqB,OAAO,OAAP;AACrB,SAAO,KAAP;AACD;IAEYK,sCAAsC,GAAG,SAAzCA,sCAAyC,CACpDC,YADoD,EAGjD;AAAA,MADHC,mBACG,uEADmB,IACnB;AACH,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAQC,QAAR,GAAqBH,YAArB,CAAQG,QAAR;AACAC,EAAAA,WAAW,CAACD,QAAD,EAAW,UAACE,UAAD,EAAgB;AACpC,QAAMC,SAAS,GAAGf,kBAAkB,CAACc,UAAD,CAApC;AACAA,IAAAA,UAAU,CAACP,KAAX,CAAiBD,SAAjB,GAA6BS,SAA7B;AACAJ,IAAAA,aAAa,CAACG,UAAU,CAACP,KAAX,CAAiBS,EAAlB,CAAb,GAAqCD,SAArC;AACD,GAJU,CAAX;AAKA,MAAIL,mBAAJ,EAAyBA,mBAAmB;AAC5C,SAAOC,aAAP;AACD;IAEYM,kBAAkB,GAAG,SAArBA,kBAAqB,CAChCC,YADgC,EAG7B;AAAA,MADHR,mBACG,uEADmB,IACnB;AACH,8BAIIQ,YAJJ,CACEjB,IADF,CAEIM,KAFJ;AAAA,MAEaS,EAFb,yBAEaA,EAFb;AAAA,MAEiBV,SAFjB,yBAEiBA,SAFjB;AAAA,qDAE4Ba,QAF5B;AAAA,MAE4BA,QAF5B,uCAEuC,EAFvC;AAMA,MAAMR,aAAa,GAAG,EAAtB,CAPG;;AASH,MAAMI,SAAS,GAAGT,SAAS,KAAK,OAAd,GAAwB,IAAxB,GAA+B,CAACA,SAAlD;AACAY,EAAAA,YAAY,CAACjB,IAAb,CAAkBM,KAAlB,CAAwBD,SAAxB,GAAoCS,SAApC;AACAJ,EAAAA,aAAa,CAACK,EAAD,CAAb,GAAoBD,SAApB;;AAEA,MAAII,QAAQ,CAACC,MAAT,GAAkB,CAAlB,KAAwBL,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK,KAA5D,CAAJ,EAAwE;AACtEX,IAAAA,mBAAmB,CAACc,YAAY,CAACjB,IAAd,EAAoB,UAACI,SAAD,EAAe;AACpDA,MAAAA,SAAS,CAACE,KAAV,CAAgBD,SAAhB,GAA4BS,SAA5B;AACAJ,MAAAA,aAAa,CAACN,SAAS,CAACE,KAAV,CAAgBS,EAAjB,CAAb,GAAoCD,SAApC;AACD,KAHkB,CAAnB;AAID;;AAED,MAAMM,oBAAoB,GAAGb,sCAAsC,CACjEU,YADiE,CAAnE;AAIA,MAAIR,mBAAJ,EAAyBA,mBAAmB;AAC5C,yCAAYW,oBAAZ,GAAqCV,aAArC;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-helpers.js","sources":["../../../src/utils/string-helpers.tsx"],"sourcesContent":["export const standardizeSearchQueryString = (input) =>\n input.trim().toLowerCase();\n"],"names":["standardizeSearchQueryString","input","trim","toLowerCase"],"mappings":"IAAaA,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,KAAD;AAAA,SAC1CA,KAAK,CAACC,IAAN,GAAaC,WAAb,EAD0C;AAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-helpers.js","sources":["../../../src/utils/tree-helpers.tsx"],"sourcesContent":["/* eslint-disable max-params */\n/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport { createRef } from 'react';\nimport { standardizeSearchQueryString } from './string-helpers';\n\nexport const walkVisibles = (\n node,\n callback,\n skipRoot = true,\n highlightOnlyQuery = false,\n) => {\n const { children, model } = node;\n const {\n name,\n isExpanded,\n childrenMatchesSearchQuery,\n matchesSearchQuery,\n } = model;\n\n const shouldSkipBecauseIsRoot = skipRoot && name === '__root';\n const queryRestrictionsPassed =\n highlightOnlyQuery || childrenMatchesSearchQuery || matchesSearchQuery;\n\n if (!shouldSkipBecauseIsRoot && queryRestrictionsPassed) callback(node);\n\n const shouldWalkChildren =\n children.length && isExpanded && queryRestrictionsPassed;\n if (shouldWalkChildren) {\n children.forEach((childNode) => {\n walkVisibles(childNode, callback, skipRoot, highlightOnlyQuery);\n });\n }\n};\n\nexport const walkParents = (nodePath, callback, skipRoot = true) => {\n const parents = [...nodePath].reverse();\n parents.shift(); // remove current node from the parents array\n if (skipRoot) parents.pop(); // remove the root from the parents if skipping root\n parents.forEach(callback);\n};\n\nexport const walkAllNodeChildren = (node, callback, isFirst = true) => {\n const { children = [] } = node;\n const shouldWalkChildren = children.length;\n\n if (!isFirst) callback(node);\n\n if (shouldWalkChildren) {\n children.forEach((childNode) => {\n walkAllNodeChildren(childNode, callback, false);\n });\n }\n};\n\nexport const getNodeById = (treeRoot, id) => {\n const nodes = treeRoot.all((node) => node.model.id === id);\n return nodes[0];\n};\n\nexport const cloneNode = (tree, node) => tree.parse(node.model);\n\nexport const getItemsParentNode = (items = [], skipSameParentCheck = false) => {\n if (items.length === 0)\n throw new Error(\"Received empty items, can't retrieve parent\");\n\n // in case we already know the items compared shares the same parent\n if (!skipSameParentCheck)\n if (!itemsShareSameParent(items))\n // if we don't know (default, we don't) check if they share the parent\n throw new Error(\n \"Received items don't share the same parent, can't retrieve parent\",\n );\n\n // when moving in first position we receive [undefined,...{items}]\n // when moving in last position we receive [...{items}, undefined]\n const firstExistingItem = items.find((item) => !!item);\n if (!firstExistingItem)\n throw new Error(\"Received no items, can't retrieve parent\");\n\n const firstExistingItemPath = firstExistingItem.node.getPath();\n // path is like [rootParent, ...[parentsNodes], currentNode]\n // length -1 is the current-node\n // length -2 is the parent-node\n // root node is not printed and is always present so minimum path length is 2 (root + currentNode)\n const directParentNode =\n firstExistingItemPath[firstExistingItemPath.length - 2];\n return directParentNode;\n};\n\nexport const itemsShareSameParent = (items = []) => {\n if (items.length === 0)\n throw new Error('Received empty items for comparison');\n if (items.length === 1) return true;\n\n // when moving in first position we receive [undefined,...{items}]\n // when moving in last position we receive [...{items}, undefined]\n const firstExistingItem = items.find((item) => !!item);\n if (!firstExistingItem)\n throw new Error(\"Received no items, can't retrieve parent\");\n\n const firstExistingItemPath = firstExistingItem.node.getPath();\n // path is like [rootParent, ...[parentsNodes], currentNode]\n // length -1 is the current-node\n // length -2 is the parent-node\n // root node is not printed and is always present so minimum path length is 2 (root + currentNode)\n const directParentNode =\n firstExistingItemPath[firstExistingItemPath.length - 2];\n\n return items.every((item) => {\n // undefined nodes count as having the same parent\n if (!item) return true;\n const itemPath = item.node.getPath();\n const itemDirectParent = itemPath[itemPath.length - 2];\n return directParentNode === itemDirectParent;\n });\n};\n\nexport const getNodeMatchesSearchQuery = (node, searchQuery = '') => {\n const standardizedName = standardizeSearchQueryString(node.model.name);\n const standardizedSearchQuery = standardizeSearchQueryString(searchQuery);\n return standardizedName.includes(standardizedSearchQuery);\n};\n\nexport const getChildrenMatchesSearchQuery = (parentNode, searchQuery = '') => {\n let anyChildMatch = false;\n walkAllNodeChildren(parentNode, (node) => {\n if (getNodeMatchesSearchQuery(node, searchQuery)) anyChildMatch = true;\n });\n return anyChildMatch;\n};\n\nexport const enrichNodeModelInPlace = (\n node,\n searchQuery = '',\n selection = null,\n) => {\n const path = node.getPath();\n const depth = path.length - 1;\n node.model.nodePath = path;\n node.model.treeDepth = depth;\n\n if (!node.model.nodeItemRef) {\n node.model.nodeItemRef = createRef();\n }\n\n // if a node has children but was not marked as isGroup, force-mark as group\n // this is useful to avoid having to always check both the flag and the children.length...\n if (\n typeof node.model.isGroup !== 'boolean' &&\n node.model?.children?.length > 0\n ) {\n node.model.isGroup = true;\n }\n\n if (typeof node.model.isExpanded !== 'boolean') {\n node.model.isExpanded = false;\n }\n\n node.model.matchesSearchQuery = true;\n node.model.childrenMatchesSearchQuery = false;\n if (searchQuery) {\n node.model.matchesSearchQuery = getNodeMatchesSearchQuery(\n node,\n searchQuery,\n );\n\n if (node.model.isGroup === true) {\n node.model.childrenMatchesSearchQuery = getChildrenMatchesSearchQuery(\n node,\n searchQuery,\n );\n if (node.model.childrenMatchesSearchQuery) node.model.isExpanded = true;\n }\n }\n if (selection && selection[node.model.id]) {\n node.model.isChecked = selection[node.model.id];\n }\n};\n\nexport const focusItem = (item) => {\n item?.nodeItemRef?.current?.focus();\n};\n"],"names":["walkVisibles","node","callback","skipRoot","highlightOnlyQuery","children","model","name","isExpanded","childrenMatchesSearchQuery","matchesSearchQuery","shouldSkipBecauseIsRoot","queryRestrictionsPassed","shouldWalkChildren","length","forEach","childNode","walkParents","nodePath","parents","reverse","shift","pop","walkAllNodeChildren","isFirst","getNodeById","treeRoot","id","nodes","all","cloneNode","tree","parse","getItemsParentNode","items","skipSameParentCheck","Error","itemsShareSameParent","firstExistingItem","find","item","firstExistingItemPath","getPath","directParentNode","every","itemPath","itemDirectParent","getNodeMatchesSearchQuery","searchQuery","standardizedName","standardizeSearchQueryString","standardizedSearchQuery","includes","getChildrenMatchesSearchQuery","parentNode","anyChildMatch","enrichNodeModelInPlace","selection","path","depth","treeDepth","nodeItemRef","createRef","isGroup","isChecked","focusItem","current","focus"],"mappings":";;;;IAMaA,YAAY,GAAG,SAAfA,YAAe,CAC1BC,IAD0B,EAE1BC,QAF0B,EAKvB;AAAA,MAFHC,QAEG,uEAFQ,IAER;AAAA,MADHC,kBACG,uEADkB,KAClB;AACH,MAAQC,QAAR,GAA4BJ,IAA5B,CAAQI,QAAR;AAAA,MAAkBC,KAAlB,GAA4BL,IAA5B,CAAkBK,KAAlB;AACA,MACEC,IADF,GAKID,KALJ,CACEC,IADF;AAAA,MAEEC,UAFF,GAKIF,KALJ,CAEEE,UAFF;AAAA,MAGEC,0BAHF,GAKIH,KALJ,CAGEG,0BAHF;AAAA,MAIEC,kBAJF,GAKIJ,KALJ,CAIEI,kBAJF;AAOA,MAAMC,uBAAuB,GAAGR,QAAQ,IAAII,IAAI,KAAK,QAArD;AACA,MAAMK,uBAAuB,GAC3BR,kBAAkB,IAAIK,0BAAtB,IAAoDC,kBADtD;AAGA,MAAI,CAACC,uBAAD,IAA4BC,uBAAhC,EAAyDV,QAAQ,CAACD,IAAD,CAAR;AAEzD,MAAMY,kBAAkB,GACtBR,QAAQ,CAACS,MAAT,IAAmBN,UAAnB,IAAiCI,uBADnC;;AAEA,MAAIC,kBAAJ,EAAwB;AACtBR,IAAAA,QAAQ,CAACU,OAAT,CAAiB,UAACC,SAAD,EAAe;AAC9BhB,MAAAA,YAAY,CAACgB,SAAD,EAAYd,QAAZ,EAAsBC,QAAtB,EAAgCC,kBAAhC,CAAZ;AACD,KAFD;AAGD;AACF;IAEYa,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAWhB,QAAX,EAAyC;AAAA,MAApBC,QAAoB,uEAAT,IAAS;;AAClE,MAAMgB,OAAO,GAAG,mBAAID,QAAJ,EAAcE,OAAd,EAAhB;;AACAD,EAAAA,OAAO,CAACE,KAAR,GAFkE;;AAGlE,MAAIlB,QAAJ,EAAcgB,OAAO,CAACG,GAAR,GAHoD;;AAIlEH,EAAAA,OAAO,CAACJ,OAAR,CAAgBb,QAAhB;AACD;IAEYqB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACtB,IAAD,EAAOC,QAAP,EAAoC;AAAA,MAAnBsB,OAAmB,uEAAT,IAAS;AACrE,uBAA0BvB,IAA1B,CAAQI,QAAR;AAAA,MAAQA,QAAR,+BAAmB,EAAnB;AACA,MAAMQ,kBAAkB,GAAGR,QAAQ,CAACS,MAApC;AAEA,MAAI,CAACU,OAAL,EAActB,QAAQ,CAACD,IAAD,CAAR;;AAEd,MAAIY,kBAAJ,EAAwB;AACtBR,IAAAA,QAAQ,CAACU,OAAT,CAAiB,UAACC,SAAD,EAAe;AAC9BO,MAAAA,mBAAmB,CAACP,SAAD,EAAYd,QAAZ,EAAsB,KAAtB,CAAnB;AACD,KAFD;AAGD;AACF;IAEYuB,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAWC,EAAX,EAAkB;AAC3C,MAAMC,KAAK,GAAGF,QAAQ,CAACG,GAAT,CAAa,UAAC5B,IAAD;AAAA,WAAUA,IAAI,CAACK,KAAL,CAAWqB,EAAX,KAAkBA,EAA5B;AAAA,GAAb,CAAd;AACA,SAAOC,KAAK,CAAC,CAAD,CAAZ;AACD;IAEYE,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAO9B,IAAP;AAAA,SAAgB8B,IAAI,CAACC,KAAL,CAAW/B,IAAI,CAACK,KAAhB,CAAhB;AAAA;IAEZ2B,kBAAkB,GAAG,SAArBA,kBAAqB,GAA6C;AAAA,MAA5CC,KAA4C,uEAApC,EAAoC;AAAA,MAAhCC,mBAAgC,uEAAV,KAAU;AAC7E,MAAID,KAAK,CAACpB,MAAN,KAAiB,CAArB,EACE,MAAM,IAAIsB,KAAJ,CAAU,6CAAV,CAAN,CAF2E;;AAK7E,MAAI,CAACD,mBAAL,EACE,IAAI,CAACE,oBAAoB,CAACH,KAAD,CAAzB;AAEE,UAAM,IAAIE,KAAJ,CACJ,mEADI,CAAN,CARyE;AAa7E;;AACA,MAAME,iBAAiB,GAAGJ,KAAK,CAACK,IAAN,CAAW,UAACC,IAAD;AAAA,WAAU,CAAC,CAACA,IAAZ;AAAA,GAAX,CAA1B;AACA,MAAI,CAACF,iBAAL,EACE,MAAM,IAAIF,KAAJ,CAAU,0CAAV,CAAN;AAEF,MAAMK,qBAAqB,GAAGH,iBAAiB,CAACrC,IAAlB,CAAuByC,OAAvB,EAA9B,CAlB6E;AAoB7E;AACA;AACA;;AACA,MAAMC,gBAAgB,GACpBF,qBAAqB,CAACA,qBAAqB,CAAC3B,MAAtB,GAA+B,CAAhC,CADvB;AAEA,SAAO6B,gBAAP;AACD;IAEYN,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAgB;AAAA,MAAfH,KAAe,uEAAP,EAAO;AAClD,MAAIA,KAAK,CAACpB,MAAN,KAAiB,CAArB,EACE,MAAM,IAAIsB,KAAJ,CAAU,qCAAV,CAAN;AACF,MAAIF,KAAK,CAACpB,MAAN,KAAiB,CAArB,EAAwB,OAAO,IAAP,CAH0B;AAMlD;;AACA,MAAMwB,iBAAiB,GAAGJ,KAAK,CAACK,IAAN,CAAW,UAACC,IAAD;AAAA,WAAU,CAAC,CAACA,IAAZ;AAAA,GAAX,CAA1B;AACA,MAAI,CAACF,iBAAL,EACE,MAAM,IAAIF,KAAJ,CAAU,0CAAV,CAAN;AAEF,MAAMK,qBAAqB,GAAGH,iBAAiB,CAACrC,IAAlB,CAAuByC,OAAvB,EAA9B,CAXkD;AAalD;AACA;AACA;;AACA,MAAMC,gBAAgB,GACpBF,qBAAqB,CAACA,qBAAqB,CAAC3B,MAAtB,GAA+B,CAAhC,CADvB;AAGA,SAAOoB,KAAK,CAACU,KAAN,CAAY,UAACJ,IAAD,EAAU;AAC3B;AACA,QAAI,CAACA,IAAL,EAAW,OAAO,IAAP;AACX,QAAMK,QAAQ,GAAGL,IAAI,CAACvC,IAAL,CAAUyC,OAAV,EAAjB;AACA,QAAMI,gBAAgB,GAAGD,QAAQ,CAACA,QAAQ,CAAC/B,MAAT,GAAkB,CAAnB,CAAjC;AACA,WAAO6B,gBAAgB,KAAKG,gBAA5B;AACD,GANM,CAAP;AAOD;IAEYC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAC9C,IAAD,EAA4B;AAAA,MAArB+C,WAAqB,uEAAP,EAAO;AACnE,MAAMC,gBAAgB,GAAGC,4BAA4B,CAACjD,IAAI,CAACK,KAAL,CAAWC,IAAZ,CAArD;AACA,MAAM4C,uBAAuB,GAAGD,4BAA4B,CAACF,WAAD,CAA5D;AACA,SAAOC,gBAAgB,CAACG,QAAjB,CAA0BD,uBAA1B,CAAP;AACD;IAEYE,6BAA6B,GAAG,SAAhCA,6BAAgC,CAACC,UAAD,EAAkC;AAAA,MAArBN,WAAqB,uEAAP,EAAO;AAC7E,MAAIO,aAAa,GAAG,KAApB;AACAhC,EAAAA,mBAAmB,CAAC+B,UAAD,EAAa,UAACrD,IAAD,EAAU;AACxC,QAAI8C,yBAAyB,CAAC9C,IAAD,EAAO+C,WAAP,CAA7B,EAAkDO,aAAa,GAAG,IAAhB;AACnD,GAFkB,CAAnB;AAGA,SAAOA,aAAP;AACD;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCvD,IADoC,EAIjC;AAAA;;AAAA,MAFH+C,WAEG,uEAFW,EAEX;AAAA,MADHS,SACG,uEADS,IACT;AACH,MAAMC,IAAI,GAAGzD,IAAI,CAACyC,OAAL,EAAb;AACA,MAAMiB,KAAK,GAAGD,IAAI,CAAC5C,MAAL,GAAc,CAA5B;AACAb,EAAAA,IAAI,CAACK,KAAL,CAAWY,QAAX,GAAsBwC,IAAtB;AACAzD,EAAAA,IAAI,CAACK,KAAL,CAAWsD,SAAX,GAAuBD,KAAvB;;AAEA,MAAI,CAAC1D,IAAI,CAACK,KAAL,CAAWuD,WAAhB,EAA6B;AAC3B5D,IAAAA,IAAI,CAACK,KAAL,CAAWuD,WAAX,gBAAyBC,SAAS,EAAlC;AACD,GARE;AAWH;;;AACA,MACE,OAAO7D,IAAI,CAACK,KAAL,CAAWyD,OAAlB,KAA8B,SAA9B,IACA,gBAAA9D,IAAI,CAACK,KAAL,oFAAYD,QAAZ,8EAAsBS,MAAtB,IAA+B,CAFjC,EAGE;AACAb,IAAAA,IAAI,CAACK,KAAL,CAAWyD,OAAX,GAAqB,IAArB;AACD;;AAED,MAAI,OAAO9D,IAAI,CAACK,KAAL,CAAWE,UAAlB,KAAiC,SAArC,EAAgD;AAC9CP,IAAAA,IAAI,CAACK,KAAL,CAAWE,UAAX,GAAwB,KAAxB;AACD;;AAEDP,EAAAA,IAAI,CAACK,KAAL,CAAWI,kBAAX,GAAgC,IAAhC;AACAT,EAAAA,IAAI,CAACK,KAAL,CAAWG,0BAAX,GAAwC,KAAxC;;AACA,MAAIuC,WAAJ,EAAiB;AACf/C,IAAAA,IAAI,CAACK,KAAL,CAAWI,kBAAX,GAAgCqC,yBAAyB,CACvD9C,IADuD,EAEvD+C,WAFuD,CAAzD;;AAKA,QAAI/C,IAAI,CAACK,KAAL,CAAWyD,OAAX,KAAuB,IAA3B,EAAiC;AAC/B9D,MAAAA,IAAI,CAACK,KAAL,CAAWG,0BAAX,GAAwC4C,6BAA6B,CACnEpD,IADmE,EAEnE+C,WAFmE,CAArE;AAIA,UAAI/C,IAAI,CAACK,KAAL,CAAWG,0BAAf,EAA2CR,IAAI,CAACK,KAAL,CAAWE,UAAX,GAAwB,IAAxB;AAC5C;AACF;;AACD,MAAIiD,SAAS,IAAIA,SAAS,CAACxD,IAAI,CAACK,KAAL,CAAWqB,EAAZ,CAA1B,EAA2C;AACzC1B,IAAAA,IAAI,CAACK,KAAL,CAAW0D,SAAX,GAAuBP,SAAS,CAACxD,IAAI,CAACK,KAAL,CAAWqB,EAAZ,CAAhC;AACD;AACF;IAEYsC,SAAS,GAAG,SAAZA,SAAY,CAACzB,IAAD,EAAU;AAAA;;AACjCA,EAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,iCAAAA,IAAI,CAAEqB,WAAN,iGAAmBK,OAAnB,gFAA4BC,KAA5B;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDnDHelpers.js","sources":["../../../src/utils/useDnDHelpers.tsx"],"sourcesContent":["/* eslint-disable max-depth */\n/* eslint-disable no-lonely-if */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useContext, useCallback } from 'react';\nimport { cloneDeep } from 'lodash';\n\nimport TreeViewContext, { defaultRelativeMouseCoord } from '../TreeViewContext';\nimport { getNodeById, focusItem } from './tree-helpers';\nimport { inferHoverItemKinshipDrop, inferKeyboardKinshipDrop, isDropValid } from './dnd-helpers';\n\nexport const useDnDHelpers = () => {\n const ctx = useContext(TreeViewContext);\n\n const {\n props: { data, onOrderChange, restrictDragAndDrop },\n relativeMouseCord,\n setRelativeMouseCord,\n visibleItems,\n isDragging,\n setIsDragging,\n isKeyboardDragging,\n setIsKeyboardDragging,\n setDraggedItem,\n setFocusedItem,\n triggerTreeRerender,\n tree,\n treeRoot,\n draggedItem,\n } = ctx;\n\n const onSortEnd = useCallback(\n ({ oldIndex, newIndex, isKeySorting }) => {\n let newItems = cloneDeep(data);\n const { isBefore, isAfter, item: overItem, isValid } = relativeMouseCord;\n // if dropping in same position do nothing\n // if the drop is not allowed do nothing\n if (oldIndex === newIndex || !isValid) {\n // onOrderChange(newItems, data);\n setIsDragging(false);\n setDraggedItem(null);\n triggerTreeRerender();\n return;\n }\n\n // if we are moving from topToBottom the offset changes\n const movementDirection = newIndex > oldIndex ? 'topToBottom' : 'bottomToTop';\n\n let newNestedIndex;\n let newParentNode;\n if (isKeySorting) {\n const kinship = inferKeyboardKinshipDrop({\n items: visibleItems,\n\n newIndex,\n movementDirection,\n });\n newNestedIndex = kinship.newNestedIndex;\n newParentNode = kinship.newParentNode;\n } else {\n const kinship = inferHoverItemKinshipDrop({\n isBefore,\n isAfter,\n overItem,\n movementDirection,\n draggedItem,\n });\n newNestedIndex = kinship.newNestedIndex;\n newParentNode = kinship.newParentNode;\n }\n\n const newMovedItemNode = tree.parse(draggedItem.node.model);\n getNodeById(treeRoot, draggedItem.id).drop();\n newParentNode.addChildAtIndex(newMovedItemNode, newNestedIndex);\n\n if (newParentNode.isRoot()) {\n newItems = [...newParentNode.model.children];\n } else {\n newItems = [...treeRoot.model.children];\n }\n\n onOrderChange(newItems, data, draggedItem);\n setIsDragging(false);\n setDraggedItem(null);\n triggerTreeRerender();\n },\n [\n data,\n draggedItem,\n relativeMouseCord,\n visibleItems,\n tree,\n treeRoot,\n onOrderChange,\n triggerTreeRerender,\n setIsDragging,\n setDraggedItem,\n setRelativeMouseCord,\n ],\n );\n\n const onSortStart = useCallback(\n () => {},\n // ({ node, index, collection, isKeySorting }, event) => {\n // console.log('node :>> ', node);\n // console.log('isKeySorting :>> ', isKeySorting);\n // console.log('event :>> ', event);\n // const item = collection?.[index] || visibleItems[index];\n // setIsDragging(true);\n // setDraggedItem(item);\n // },\n [],\n );\n\n const updateBeforeSortStart = useCallback(\n (beforeStartArgs) =>\n new Promise((resolve) => {\n const { index, collection, isKeySorting } = beforeStartArgs;\n const item = collection?.[index] || visibleItems[index];\n const { isExpanded } = item.node.model;\n if (isExpanded) {\n item.node.model.isExpanded = false;\n triggerTreeRerender();\n }\n setRelativeMouseCord(defaultRelativeMouseCoord);\n setIsKeyboardDragging(isKeySorting);\n setIsDragging(true);\n setDraggedItem(item);\n focusItem(null);\n setFocusedItem(null);\n document.activeElement.blur();\n resolve();\n }),\n [visibleItems, isKeyboardDragging, setFocusedItem, setIsKeyboardDragging, setRelativeMouseCord],\n );\n\n // tracks mouse coords relative to an element to check if the drop happens\n // at the top/center/bottom of an element to choose where to move the element\n // requested in the specs\n const onMouseDragOverItem = useCallback(\n ({ event, item, itemIndex, setIsDraggingOverThis, openFolderOnHoverTimeout }) => {\n const { node } = item;\n const { nodeItemRef } = node.model;\n if (isDragging && !isKeyboardDragging) {\n const rect = nodeItemRef.current.getBoundingClientRect();\n const x = event.clientX - rect.left; // x position within the element.\n const y = event.clientY - rect.top; // y position within the element.\n\n // by spec we need to track where the drop will happens\n // if drop happens on top 25% drop before\n // if drop happens on bottom of 25% drop after\n // if drop happens in the middle 50% either invalid or drop into children\n const { height: elementHeight } = rect;\n const dropBeforeMaxY = elementHeight * 0.25;\n const dropAfterMinY = elementHeight - elementHeight * 0.25;\n const isBefore = y < dropBeforeMaxY;\n const isAfter = y > dropAfterMinY;\n const isInside = !isBefore && !isAfter;\n const isValid = isDropValid({\n isBefore,\n isAfter,\n draggedItem,\n overItem: item,\n restrictDragAndDrop,\n });\n setRelativeMouseCord({\n isBefore,\n isAfter,\n isInside,\n isValid,\n item,\n x,\n y,\n relativeElementDOMRect: rect,\n relativeElementIndex: itemIndex,\n });\n setIsDraggingOverThis(true);\n\n if (\n !openFolderOnHoverTimeout?.current && // only set the interval if it wasn't set already once\n draggedItem?.id !== item?.id && // don't open ghost element\n (item.isGroup || item.children.length > 0) && // only open groups\n !restrictDragAndDrop\n ) {\n openFolderOnHoverTimeout.current = setTimeout(() => {\n item.node.model.isExpanded = true;\n openFolderOnHoverTimeout.current = null;\n triggerTreeRerender();\n }, 1000);\n }\n } else {\n setRelativeMouseCord(defaultRelativeMouseCoord);\n }\n },\n [isDragging, setRelativeMouseCord, draggedItem, restrictDragAndDrop, isKeyboardDragging],\n );\n\n return {\n updateBeforeSortStart,\n onSortStart,\n onSortEnd,\n onMouseDragOverItem,\n };\n};\n"],"names":["useDnDHelpers","ctx","useContext","TreeViewContext","props","data","onOrderChange","restrictDragAndDrop","relativeMouseCord","setRelativeMouseCord","visibleItems","isDragging","setIsDragging","isKeyboardDragging","setIsKeyboardDragging","setDraggedItem","setFocusedItem","triggerTreeRerender","tree","treeRoot","draggedItem","onSortEnd","useCallback","oldIndex","newIndex","isKeySorting","newItems","cloneDeep","isBefore","isAfter","overItem","item","isValid","movementDirection","newNestedIndex","newParentNode","kinship","inferKeyboardKinshipDrop","items","inferHoverItemKinshipDrop","newMovedItemNode","parse","node","model","getNodeById","id","drop","addChildAtIndex","isRoot","children","onSortStart","updateBeforeSortStart","beforeStartArgs","Promise","resolve","index","collection","isExpanded","defaultRelativeMouseCoord","focusItem","document","activeElement","blur","onMouseDragOverItem","event","itemIndex","setIsDraggingOverThis","openFolderOnHoverTimeout","nodeItemRef","rect","current","getBoundingClientRect","x","clientX","left","y","clientY","top","elementHeight","height","dropBeforeMaxY","dropAfterMinY","isInside","isDropValid","relativeElementDOMRect","relativeElementIndex","isGroup","length","setTimeout"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useInstanceRefActions.js","sources":["../../../src/utils/useInstanceRefActions.tsx"],"sourcesContent":["import { useEffect, useMemo, useState, useRef, useCallback } from 'react';\nimport { focusItem } from './tree-helpers';\nimport { toggleExpandAllHelper } from './group-expands-helpers';\n\nexport const useInstanceRefActions = ({ actions }, ctx) => {\n const {\n props: { onItemFocus },\n virtualListHelpers,\n treeRoot,\n visibleItems,\n triggerTreeRerender,\n setSelectedItem,\n setFocusedItem,\n setLatestToggledItem,\n } = ctx;\n const { current: promises } = useRef({});\n const { scrollToIndex } = useMemo(() => virtualListHelpers, [virtualListHelpers]);\n const [expandPromise, setPromise] = useState();\n\n useEffect(() => {\n if (expandPromise && promises.expandResolve) {\n promises.expandResolve(visibleItems);\n promises.expandResolve = null;\n setPromise(null);\n }\n }, [visibleItems, expandPromise, promises]);\n\n actions.toggleExpandAll = useCallback(\n (isExpand) => {\n const p = new Promise((resolve) => {\n promises.expandResolve = resolve;\n toggleExpandAllHelper(isExpand, treeRoot, triggerTreeRerender, setLatestToggledItem);\n });\n setPromise(p);\n return p;\n },\n [promises, treeRoot, triggerTreeRerender, setLatestToggledItem],\n );\n actions.scrollTo = useCallback(\n (indx, opts = { align: 'start' }) => {\n if (scrollToIndex) scrollToIndex(indx, opts);\n },\n [scrollToIndex],\n );\n\n actions.setSelectedItemByVirtualIndex = useCallback(\n (index) => {\n const itemByIndex = visibleItems[index];\n setSelectedItem(itemByIndex);\n },\n [visibleItems, setSelectedItem],\n );\n\n actions.setFocusedItemByVirtualIndex = useCallback(\n (index, opts = { align: 'start', withScroll: false }) => {\n const itemByIndex = visibleItems[index];\n const onItemFocusParams = {\n itemIndex: itemByIndex.virtualIndex,\n scrollToItem: () => scrollToIndex(index, opts),\n item: itemByIndex,\n };\n\n if (opts.withScroll && scrollToIndex) {\n scrollToIndex(index, opts);\n setTimeout(() => {\n setFocusedItem(itemByIndex);\n focusItem(itemByIndex);\n onItemFocus(onItemFocusParams);\n }, 300);\n } else {\n setFocusedItem(itemByIndex);\n focusItem(itemByIndex);\n onItemFocus(onItemFocusParams);\n }\n },\n [visibleItems, scrollToIndex, setFocusedItem, onItemFocus],\n );\n\n return actions;\n};\n"],"names":["useInstanceRefActions","ctx","actions","onItemFocus","props","virtualListHelpers","treeRoot","visibleItems","triggerTreeRerender","setSelectedItem","setFocusedItem","setLatestToggledItem","useRef","promises","current","useMemo","scrollToIndex","useState","expandPromise","setPromise","useEffect","expandResolve","toggleExpandAll","useCallback","isExpand","p","Promise","resolve","toggleExpandAllHelper","scrollTo","indx","opts","align","setSelectedItemByVirtualIndex","index","itemByIndex","setFocusedItemByVirtualIndex","withScroll","onItemFocusParams","itemIndex","virtualIndex","scrollToItem","item","setTimeout","focusItem"],"mappings":"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"}
|
package/esm/utils/useTree.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTree.js","sources":["../../../src/utils/useTree.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useEffect } from 'react';\nimport TreeModel from 'tree-model';\nimport { cloneDeep } from 'lodash';\n\nimport { walkVisibles, enrichNodeModelInPlace } from './tree-helpers';\n\nexport const useTree = (data, props, states) => {\n const { setExpandedGroups } = states;\n const unfrozenData = useMemo(() => cloneDeep(data), [data]);\n // convert data into a TreeModel with extra isExpanded prop\n const tree = useMemo(() => new TreeModel(), []);\n const [treeData, setTreeData] = useState({\n name: '__root',\n isExpanded: true,\n children: unfrozenData,\n });\n\n useEffect(() => {\n setTreeData({\n name: '__root',\n isExpanded: true,\n children: unfrozenData,\n });\n }, [unfrozenData]);\n\n // expose a way to rerender the tree\n // used for expand functionality\n const [rerenderItems, setRerenderItems] = useState({});\n const triggerTreeRerender = useCallback(() => {\n setRerenderItems({});\n }, []);\n\n // when re-rendering we re-parse the list\n const [treeRoot, setTreeRoot] = useState(tree.parse(treeData));\n useEffect(() => {\n setTreeRoot(tree.parse(treeData));\n }, [treeData, rerenderItems]);\n\n const [visibleItems, setVisibleItems] = useState([]);\n\n const {\n searchQuery,\n highlightOnlyQuery,\n onVisibleItemsChange,\n selection,\n } = props;\n\n useEffect(() => {\n const parsedVisibleItems = [];\n const newExpandedHashMap = {};\n treeRoot.walk((node) => {\n enrichNodeModelInPlace(node, searchQuery, selection);\n if (node.model.id && node.model.isGroup && node.model.isExpanded)\n newExpandedHashMap[node.model.id] = true;\n });\n\n walkVisibles(\n treeRoot,\n (node) => {\n parsedVisibleItems.push({ ...node.model, node });\n },\n true,\n highlightOnlyQuery,\n );\n setVisibleItems(parsedVisibleItems);\n onVisibleItemsChange(parsedVisibleItems);\n\n setExpandedGroups(newExpandedHashMap);\n }, [treeRoot, rerenderItems, searchQuery]);\n\n return {\n visibleItems,\n tree,\n treeRoot,\n rerenderItems,\n triggerTreeRerender,\n };\n};\n"],"names":["useTree","data","props","states","setExpandedGroups","unfrozenData","useMemo","cloneDeep","tree","TreeModel","useState","name","isExpanded","children","treeData","setTreeData","useEffect","rerenderItems","setRerenderItems","triggerTreeRerender","useCallback","parse","treeRoot","setTreeRoot","visibleItems","setVisibleItems","searchQuery","highlightOnlyQuery","onVisibleItemsChange","selection","parsedVisibleItems","newExpandedHashMap","walk","node","enrichNodeModelInPlace","model","id","isGroup","walkVisibles","push"],"mappings":"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"}
|
package/parts/Icon/package.json
DELETED
package/plugins/dnd/package.json
DELETED
package/plugins/package.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/plugins/roving/TreeRovingPlugin",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../../cjs/plugins/roving/TreeRovingPlugin.js",
|
|
9
|
-
"module": "../../../esm/plugins/roving/TreeRovingPlugin.js"
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/plugins/searchable/SearchableTreePlugin",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../../cjs/plugins/searchable/SearchableTreePlugin.js",
|
|
9
|
-
"module": "../../../esm/plugins/searchable/SearchableTreePlugin.js"
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/plugins/selectable/SelectablePluginTree",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../../cjs/plugins/selectable/SelectablePluginTree.js",
|
|
9
|
-
"module": "../../../esm/plugins/selectable/SelectablePluginTree.js"
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/plugins/toolbar/TreeToolbarPlugin",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../../cjs/plugins/toolbar/TreeToolbarPlugin.js",
|
|
9
|
-
"module": "../../../esm/plugins/toolbar/TreeToolbarPlugin.js"
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/plugins/virtualization/TreeVirtualizationPlugin",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../../cjs/plugins/virtualization/TreeVirtualizationPlugin.js",
|
|
9
|
-
"module": "../../../esm/plugins/virtualization/TreeVirtualizationPlugin.js"
|
|
10
|
-
}
|
package/prop-types/package.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@elliemae/ds-treeview/related-components/TreeViewSearchBar",
|
|
3
|
-
"sideEffects": [
|
|
4
|
-
"*.css",
|
|
5
|
-
"*.scss"
|
|
6
|
-
],
|
|
7
|
-
"private": true,
|
|
8
|
-
"main": "../../cjs/related-components/TreeViewSearchBar.js",
|
|
9
|
-
"module": "../../esm/related-components/TreeViewSearchBar.js"
|
|
10
|
-
}
|