Socket
Socket
Sign inDemoInstall

react-complex-tree

Package Overview
Dependencies
3
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.3.4 to 2.3.5-alpha.0

lib/cjs/drag/DragAndDropProvider.d.ts

2

lib/cjs/controlledEnvironment/ControlledTreeEnvironment.js

@@ -41,3 +41,3 @@ "use strict";

var InteractionManagerProvider_1 = require("./InteractionManagerProvider");
var DragAndDropProvider_1 = require("./DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var EnvironmentActionsProvider_1 = require("../environmentActions/EnvironmentActionsProvider");

@@ -44,0 +44,0 @@ var useControlledTreeEnvironmentProps_1 = require("./useControlledTreeEnvironmentProps");

@@ -43,6 +43,7 @@ "use strict";

}, [trees, items, treeIds, viewState]);
var onFocusItemHandler = (0, react_1.useCallback)(function (item, treeId) {
var onFocusItemHandler = (0, react_1.useCallback)(function (item, treeId, setDomFocus) {
var _a, _b, _c, _d, _e, _f, _g;
var newItem = (_a = (0, utils_1.getDocument)()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) {
if (setDomFocus === void 0) { setDomFocus = true; }
if ((autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) && setDomFocus) {
var newItem = (_a = (0, utils_1.getDocument)()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (((_d = (_c = (_b = (0, utils_1.getDocument)()) === null || _b === void 0 ? void 0 : _b.activeElement) === null || _c === void 0 ? void 0 : _c.attributes.getNamedItem('data-rct-search-input')) === null || _d === void 0 ? void 0 : _d.value) !== 'true') {

@@ -49,0 +50,0 @@ // Move DOM focus to item if the current focus is not on the search input

@@ -74,3 +74,3 @@ "use strict";

var react_1 = require("react");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");

@@ -117,4 +117,5 @@ var useCreatedEnvironmentRef_1 = require("./useCreatedEnvironmentRef");

}, [items, onExpandItem]);
var focusItem = (0, react_1.useCallback)(function (itemId, treeId) {
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId);
var focusItem = (0, react_1.useCallback)(function (itemId, treeId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId, setDomFocus);
}, [items, onFocusItem]);

@@ -121,0 +122,0 @@ var focusTree = (0, react_1.useCallback)(function (treeId, autoFocus) {

@@ -17,3 +17,3 @@ "use strict";

var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var useCreatedEnvironmentRef = function (ref, actions) {

@@ -20,0 +20,0 @@ var environment = (0, ControlledTreeEnvironment_1.useTreeEnvironment)();

@@ -17,3 +17,3 @@ "use strict";

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!(0, isControlKey_1.isControlKey)(e));
}

@@ -20,0 +20,0 @@ else if ((0, isControlKey_1.isControlKey)(e)) {

@@ -17,3 +17,3 @@ "use strict";

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!(0, isControlKey_1.isControlKey)(e));
}

@@ -20,0 +20,0 @@ else if ((0, isControlKey_1.isControlKey)(e)) {

@@ -17,3 +17,3 @@ "use strict";

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!(0, isControlKey_1.isControlKey)(e));
}

@@ -20,0 +20,0 @@ else if ((0, isControlKey_1.isControlKey)(e)) {

@@ -29,3 +29,3 @@ "use strict";

var Tree_1 = require("./Tree");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var DragBetweenLine = function (_a) {

@@ -32,0 +32,0 @@ var _b;

@@ -32,3 +32,3 @@ "use strict";

var Tree_1 = require("./Tree");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var resolveLiveDescriptor_1 = require("./resolveLiveDescriptor");

@@ -35,0 +35,0 @@ var useKeyboardBindings_1 = require("../hotkeys/useKeyboardBindings");

@@ -47,3 +47,3 @@ "use strict";

var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var MaybeLiveDescription_1 = require("./MaybeLiveDescription");

@@ -66,3 +66,3 @@ var TreeManager = function () {

React.createElement(MaybeLiveDescription_1.MaybeLiveDescription, null),
React.createElement(TreeItemChildren_1.TreeItemChildren, { depth: 0, parentId: treeId }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(TreeItemChildren_1.TreeItemChildren, { depth: 0, parentId: rootItem }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(DragBetweenLine_1.DragBetweenLine, { treeId: treeId }),

@@ -69,0 +69,0 @@ React.createElement(SearchInput_1.SearchInput, { containerRef: containerRef.current })));

@@ -6,3 +6,3 @@ "use strict";

var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var useCreatedTreeInformation = function (tree, renamingItem, search) {

@@ -9,0 +9,0 @@ var _a;

@@ -19,3 +19,3 @@ "use strict";

var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var useSelectUpTo_1 = require("./useSelectUpTo");

@@ -22,0 +22,0 @@ var useLinearItems_1 = require("../controlledEnvironment/useLinearItems");

import * as React from 'react';
import { TreeRef } from '../types';
export declare const useTreeActions: () => import("../types").TreeChangeActions;
import { TreeChangeActions, TreeRef } from '../types';
export declare const useTreeActions: () => TreeChangeActions;
export declare const TreeActionsProvider: React.ForwardRefExoticComponent<Pick<React.PropsWithChildren<Record<string, unknown>>, string> & React.RefAttributes<TreeRef<any>>>;

@@ -29,3 +29,3 @@ "use strict";

var react_1 = require("react");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");

@@ -61,4 +61,5 @@ var useCreatedTreeRef_1 = require("./useCreatedTreeRef");

},
focusItem: function (itemId) {
envActions.focusItem(itemId, tree.treeId);
focusItem: function (itemId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
envActions.focusItem(itemId, tree.treeId, setDomFocus);
},

@@ -65,0 +66,0 @@ focusTree: function (autoFocus) {

@@ -17,3 +17,3 @@ "use strict";

var ControlledTreeEnvironment_1 = require("../controlledEnvironment/ControlledTreeEnvironment");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var Tree_1 = require("../tree/Tree");

@@ -20,0 +20,0 @@ var useCreatedTreeRef = function (ref, actions) {

@@ -35,5 +35,5 @@ "use strict";

var TreeItemElement = function (props) {
var _a, _b;
var _c = (0, react_1.useState)(false), hasBeenRequested = _c[0], setHasBeenRequested = _c[1];
var _d = (0, Tree_1.useTree)(), renderers = _d.renderers, treeInformation = _d.treeInformation, renamingItem = _d.renamingItem;
var _a, _b, _c, _d;
var _e = (0, react_1.useState)(false), hasBeenRequested = _e[0], setHasBeenRequested = _e[1];
var _f = (0, Tree_1.useTree)(), renderers = _f.renderers, treeInformation = _f.treeInformation, renamingItem = _f.renamingItem;
var environment = (0, ControlledTreeEnvironment_1.useTreeEnvironment)();

@@ -51,3 +51,4 @@ var viewState = (0, useViewState_1.useViewState)();

}
var children = item.isFolder && isExpanded && item.children && (react_1.default.createElement(TreeItemChildren_1.TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var shouldRenderChildren = (_c = (_b = environment.shouldRenderChildren) === null || _b === void 0 ? void 0 : _b.call(environment, item, renderContext)) !== null && _c !== void 0 ? _c : (item.isFolder && isExpanded);
var children = item.children && shouldRenderChildren && (react_1.default.createElement(TreeItemChildren_1.TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var title = environment.getItemTitle(item);

@@ -65,3 +66,3 @@ var titleComponent = renamingItem === props.itemIndex ? (react_1.default.createElement(TreeItemRenamingInput_1.TreeItemRenamingInput, { itemIndex: props.itemIndex })) : (renderers.renderItemTitle({

});
return ((_b = renderers.renderItem({
return ((_d = renderers.renderItem({
item: environment.items[props.itemIndex],

@@ -74,4 +75,4 @@ depth: props.depth,

children: children,
})) !== null && _b !== void 0 ? _b : null); // Type to use AllTreeRenderProps
})) !== null && _d !== void 0 ? _d : null); // Type to use AllTreeRenderProps
};
exports.TreeItemElement = TreeItemElement;

@@ -1,32 +0,2 @@

import { HTMLProps } from 'react';
import { TreeItem } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => {
interactiveElementProps: HTMLProps<HTMLElement>;
itemContainerWithChildrenProps: HTMLProps<HTMLElement>;
itemContainerWithoutChildrenProps: HTMLProps<HTMLElement>;
arrowProps: HTMLProps<HTMLElement>;
viewStateFlags: {
[key: string]: boolean;
};
isSelected?: boolean | undefined;
isExpanded?: boolean | undefined;
isFocused?: boolean | undefined;
isRenaming?: boolean | undefined;
isDraggingOver?: boolean | undefined;
isDraggingOverParent?: boolean | undefined;
isSearchMatching?: boolean | undefined;
canDrag?: boolean | undefined;
canDropOn?: boolean | undefined;
primaryAction: () => void;
startRenamingItem: () => void;
stopRenamingItem: () => void;
expandItem: () => void;
collapseItem: () => void;
toggleExpandedState: () => void;
selectItem: () => void;
unselectItem: () => void;
addToSelectedItems: () => void;
selectUpTo: (overrideOldSelection?: boolean | undefined) => void;
startDragging: () => void;
focusItem: () => void;
} | undefined;
import { TreeItem, TreeItemRenderContext } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => TreeItemRenderContext<never> | undefined;

@@ -29,3 +29,3 @@ "use strict";

var InteractionManagerProvider_1 = require("../controlledEnvironment/InteractionManagerProvider");
var DragAndDropProvider_1 = require("../controlledEnvironment/DragAndDropProvider");
var DragAndDropProvider_1 = require("../drag/DragAndDropProvider");
var useSelectUpTo_1 = require("../tree/useSelectUpTo");

@@ -119,5 +119,6 @@ var useGetOriginalItemOrder_1 = require("../useGetOriginalItemOrder");

},
focusItem: function () {
focusItem: function (setDomFocus) {
var _a;
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId);
if (setDomFocus === void 0) { setDomFocus = true; }
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId, setDomFocus);
},

@@ -124,0 +125,0 @@ startDragging: function () {

@@ -28,3 +28,4 @@ import React, { FormHTMLAttributes, HTMLProps, InputHTMLAttributes, Ref } from 'react';

startDragging: () => void;
focusItem: () => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (setDomFocus?: boolean) => void;
}

@@ -141,2 +142,3 @@ export interface TreeItemRenderFlags {

showLiveDescription?: boolean;
shouldRenderChildren?: (item: TreeItem<T>, context: TreeItemRenderContext<C>) => boolean;
/**

@@ -177,3 +179,3 @@ * See Issue #148 or the sample at

onSelectItems?: (items: TreeItemIndex[], treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string, setDomFocus?: boolean) => void;
onDrop?: (items: TreeItem<T>[], target: DraggingPosition) => void;

@@ -195,3 +197,4 @@ onPrimaryAction?: (items: TreeItem<T>, treeId: string) => void;

invokePrimaryAction: (itemId: TreeItemIndex, treeID: string) => void;
focusItem: (itemId: TreeItemIndex, treeId: string) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, treeId: string, setDomFocus?: boolean) => void;
moveFocusUp: (treeId: string) => void;

@@ -316,3 +319,4 @@ moveFocusDown: (treeId: string) => void;

toggleItemSelectStatus: (itemId: TreeItemIndex) => void;
focusItem: (itemId: TreeItemIndex) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, setDomFocus?: boolean) => void;
moveFocusUp: () => void;

@@ -404,1 +408,6 @@ moveFocusDown: () => void;

}
export type HoveringPosition = {
linearIndex: number;
offset: 'bottom' | 'top' | undefined;
indentation: number | undefined;
};

@@ -137,7 +137,2 @@ "use strict";

(_a = props.onExpandItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
// const itemsToLoad = item.children?.filter(itemId => currentItems[itemId] === undefined) ?? [];
// dataProvider.getTreeItems(itemsToLoad).then(items => {
// writeItems(items.map(item => ({ [item.index]: item })).reduce((a, b) => ({...a, ...b}), {}));
// setViewState(viewState => ({ ...viewState, expandedItems: [...viewState.expandedItems ?? [], item.index] }));
// });
}, onCollapseItem: function (item, treeId) {

@@ -144,0 +139,0 @@ var _a;

@@ -15,3 +15,3 @@ var __assign = (this && this.__assign) || function () {

import { InteractionManagerProvider } from './InteractionManagerProvider';
import { DragAndDropProvider } from './DragAndDropProvider';
import { DragAndDropProvider } from '../drag/DragAndDropProvider';
import { EnvironmentActionsProvider } from '../environmentActions/EnvironmentActionsProvider';

@@ -18,0 +18,0 @@ import { useControlledTreeEnvironmentProps } from './useControlledTreeEnvironmentProps';

@@ -40,6 +40,7 @@ var __assign = (this && this.__assign) || function () {

}, [trees, items, treeIds, viewState]);
var onFocusItemHandler = useCallback(function (item, treeId) {
var onFocusItemHandler = useCallback(function (item, treeId, setDomFocus) {
var _a, _b, _c, _d, _e, _f, _g;
var newItem = (_a = getDocument()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) {
if (setDomFocus === void 0) { setDomFocus = true; }
if ((autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) && setDomFocus) {
var newItem = (_a = getDocument()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (((_d = (_c = (_b = getDocument()) === null || _b === void 0 ? void 0 : _b.activeElement) === null || _c === void 0 ? void 0 : _c.attributes.getNamedItem('data-rct-search-input')) === null || _d === void 0 ? void 0 : _d.value) !== 'true') {

@@ -46,0 +47,0 @@ // Move DOM focus to item if the current focus is not on the search input

@@ -48,3 +48,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

import { useCallback, useMemo } from 'react';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';

@@ -90,4 +90,5 @@ import { useCreatedEnvironmentRef } from './useCreatedEnvironmentRef';

}, [items, onExpandItem]);
var focusItem = useCallback(function (itemId, treeId) {
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId);
var focusItem = useCallback(function (itemId, treeId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId, setDomFocus);
}, [items, onFocusItem]);

@@ -94,0 +95,0 @@ var focusTree = useCallback(function (treeId, autoFocus) {

@@ -14,3 +14,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var useCreatedEnvironmentRef = function (ref, actions) {

@@ -17,0 +17,0 @@ var environment = useTreeEnvironment();

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

import * as React from 'react';
import { useTree } from './Tree';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var DragBetweenLine = function (_a) {

@@ -5,0 +5,0 @@ var _b;

@@ -6,3 +6,3 @@ import * as React from 'react';

import { useTree } from './Tree';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { resolveLiveDescriptor } from './resolveLiveDescriptor';

@@ -9,0 +9,0 @@ import { useKeyboardBindings } from '../hotkeys/useKeyboardBindings';

@@ -21,3 +21,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { MaybeLiveDescription } from './MaybeLiveDescription';

@@ -40,3 +40,3 @@ export var TreeManager = function () {

React.createElement(MaybeLiveDescription, null),
React.createElement(TreeItemChildren, { depth: 0, parentId: treeId }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(TreeItemChildren, { depth: 0, parentId: rootItem }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(DragBetweenLine, { treeId: treeId }),

@@ -43,0 +43,0 @@ React.createElement(SearchInput, { containerRef: containerRef.current })));

import { useMemo } from 'react';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var useCreatedTreeInformation = function (tree, renamingItem, search) {

@@ -5,0 +5,0 @@ var _a;

@@ -16,3 +16,3 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from './useSelectUpTo';

@@ -19,0 +19,0 @@ import { useLinearItems } from '../controlledEnvironment/useLinearItems';

import * as React from 'react';
import { TreeRef } from '../types';
export declare const useTreeActions: () => import("../types").TreeChangeActions;
import { TreeChangeActions, TreeRef } from '../types';
export declare const useTreeActions: () => TreeChangeActions;
export declare const TreeActionsProvider: React.ForwardRefExoticComponent<Pick<React.PropsWithChildren<Record<string, unknown>>, string> & React.RefAttributes<TreeRef<any>>>;
import * as React from 'react';
import { useMemo } from 'react';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';

@@ -33,4 +33,5 @@ import { useCreatedTreeRef } from './useCreatedTreeRef';

},
focusItem: function (itemId) {
envActions.focusItem(itemId, tree.treeId);
focusItem: function (itemId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
envActions.focusItem(itemId, tree.treeId, setDomFocus);
},

@@ -37,0 +38,0 @@ focusTree: function (autoFocus) {

@@ -14,3 +14,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTree } from '../tree/Tree';

@@ -17,0 +17,0 @@ export var useCreatedTreeRef = function (ref, actions) {

@@ -9,5 +9,5 @@ import React, { useMemo, useState } from 'react';

export var TreeItemElement = function (props) {
var _a, _b;
var _c = useState(false), hasBeenRequested = _c[0], setHasBeenRequested = _c[1];
var _d = useTree(), renderers = _d.renderers, treeInformation = _d.treeInformation, renamingItem = _d.renamingItem;
var _a, _b, _c, _d;
var _e = useState(false), hasBeenRequested = _e[0], setHasBeenRequested = _e[1];
var _f = useTree(), renderers = _f.renderers, treeInformation = _f.treeInformation, renamingItem = _f.renamingItem;
var environment = useTreeEnvironment();

@@ -25,3 +25,4 @@ var viewState = useViewState();

}
var children = item.isFolder && isExpanded && item.children && (React.createElement(TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var shouldRenderChildren = (_c = (_b = environment.shouldRenderChildren) === null || _b === void 0 ? void 0 : _b.call(environment, item, renderContext)) !== null && _c !== void 0 ? _c : (item.isFolder && isExpanded);
var children = item.children && shouldRenderChildren && (React.createElement(TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var title = environment.getItemTitle(item);

@@ -39,3 +40,3 @@ var titleComponent = renamingItem === props.itemIndex ? (React.createElement(TreeItemRenamingInput, { itemIndex: props.itemIndex })) : (renderers.renderItemTitle({

});
return ((_b = renderers.renderItem({
return ((_d = renderers.renderItem({
item: environment.items[props.itemIndex],

@@ -48,3 +49,3 @@ depth: props.depth,

children: children,
})) !== null && _b !== void 0 ? _b : null); // Type to use AllTreeRenderProps
})) !== null && _d !== void 0 ? _d : null); // Type to use AllTreeRenderProps
};

@@ -1,32 +0,2 @@

import { HTMLProps } from 'react';
import { TreeItem } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => {
interactiveElementProps: HTMLProps<HTMLElement>;
itemContainerWithChildrenProps: HTMLProps<HTMLElement>;
itemContainerWithoutChildrenProps: HTMLProps<HTMLElement>;
arrowProps: HTMLProps<HTMLElement>;
viewStateFlags: {
[key: string]: boolean;
};
isSelected?: boolean | undefined;
isExpanded?: boolean | undefined;
isFocused?: boolean | undefined;
isRenaming?: boolean | undefined;
isDraggingOver?: boolean | undefined;
isDraggingOverParent?: boolean | undefined;
isSearchMatching?: boolean | undefined;
canDrag?: boolean | undefined;
canDropOn?: boolean | undefined;
primaryAction: () => void;
startRenamingItem: () => void;
stopRenamingItem: () => void;
expandItem: () => void;
collapseItem: () => void;
toggleExpandedState: () => void;
selectItem: () => void;
unselectItem: () => void;
addToSelectedItems: () => void;
selectUpTo: (overrideOldSelection?: boolean | undefined) => void;
startDragging: () => void;
focusItem: () => void;
} | undefined;
import { TreeItem, TreeItemRenderContext } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => TreeItemRenderContext<never> | undefined;

@@ -26,3 +26,3 @@ var __assign = (this && this.__assign) || function () {

import { useInteractionManager } from '../controlledEnvironment/InteractionManagerProvider';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from '../tree/useSelectUpTo';

@@ -116,5 +116,6 @@ import { useGetOriginalItemOrder } from '../useGetOriginalItemOrder';

},
focusItem: function () {
focusItem: function (setDomFocus) {
var _a;
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId);
if (setDomFocus === void 0) { setDomFocus = true; }
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId, setDomFocus);
},

@@ -121,0 +122,0 @@ startDragging: function () {

@@ -28,3 +28,4 @@ import React, { FormHTMLAttributes, HTMLProps, InputHTMLAttributes, Ref } from 'react';

startDragging: () => void;
focusItem: () => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (setDomFocus?: boolean) => void;
}

@@ -141,2 +142,3 @@ export interface TreeItemRenderFlags {

showLiveDescription?: boolean;
shouldRenderChildren?: (item: TreeItem<T>, context: TreeItemRenderContext<C>) => boolean;
/**

@@ -177,3 +179,3 @@ * See Issue #148 or the sample at

onSelectItems?: (items: TreeItemIndex[], treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string, setDomFocus?: boolean) => void;
onDrop?: (items: TreeItem<T>[], target: DraggingPosition) => void;

@@ -195,3 +197,4 @@ onPrimaryAction?: (items: TreeItem<T>, treeId: string) => void;

invokePrimaryAction: (itemId: TreeItemIndex, treeID: string) => void;
focusItem: (itemId: TreeItemIndex, treeId: string) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, treeId: string, setDomFocus?: boolean) => void;
moveFocusUp: (treeId: string) => void;

@@ -316,3 +319,4 @@ moveFocusDown: (treeId: string) => void;

toggleItemSelectStatus: (itemId: TreeItemIndex) => void;
focusItem: (itemId: TreeItemIndex) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, setDomFocus?: boolean) => void;
moveFocusUp: () => void;

@@ -404,1 +408,6 @@ moveFocusDown: () => void;

}
export type HoveringPosition = {
linearIndex: number;
offset: 'bottom' | 'top' | undefined;
indentation: number | undefined;
};

@@ -111,7 +111,2 @@ var __assign = (this && this.__assign) || function () {

(_a = props.onExpandItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
// const itemsToLoad = item.children?.filter(itemId => currentItems[itemId] === undefined) ?? [];
// dataProvider.getTreeItems(itemsToLoad).then(items => {
// writeItems(items.map(item => ({ [item.index]: item })).reduce((a, b) => ({...a, ...b}), {}));
// setViewState(viewState => ({ ...viewState, expandedItems: [...viewState.expandedItems ?? [], item.index] }));
// });
}, onCollapseItem: function (item, treeId) {

@@ -118,0 +113,0 @@ var _a;

@@ -15,3 +15,3 @@ var __assign = (this && this.__assign) || function () {

import { InteractionManagerProvider } from './InteractionManagerProvider';
import { DragAndDropProvider } from './DragAndDropProvider';
import { DragAndDropProvider } from '../drag/DragAndDropProvider';
import { EnvironmentActionsProvider } from '../environmentActions/EnvironmentActionsProvider';

@@ -18,0 +18,0 @@ import { useControlledTreeEnvironmentProps } from './useControlledTreeEnvironmentProps';

@@ -40,6 +40,7 @@ var __assign = (this && this.__assign) || function () {

}, [trees, items, treeIds, viewState]);
var onFocusItemHandler = useCallback(function (item, treeId) {
var onFocusItemHandler = useCallback(function (item, treeId, setDomFocus) {
var _a, _b, _c, _d, _e, _f, _g;
var newItem = (_a = getDocument()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) {
if (setDomFocus === void 0) { setDomFocus = true; }
if ((autoFocus !== null && autoFocus !== void 0 ? autoFocus : true) && setDomFocus) {
var newItem = (_a = getDocument()) === null || _a === void 0 ? void 0 : _a.querySelector("[data-rct-tree=\"".concat(treeId, "\"] [data-rct-item-id=\"").concat(item.index, "\"]"));
if (((_d = (_c = (_b = getDocument()) === null || _b === void 0 ? void 0 : _b.activeElement) === null || _c === void 0 ? void 0 : _c.attributes.getNamedItem('data-rct-search-input')) === null || _d === void 0 ? void 0 : _d.value) !== 'true') {

@@ -46,0 +47,0 @@ // Move DOM focus to item if the current focus is not on the search input

@@ -48,3 +48,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

import { useCallback, useMemo } from 'react';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';

@@ -90,4 +90,5 @@ import { useCreatedEnvironmentRef } from './useCreatedEnvironmentRef';

}, [items, onExpandItem]);
var focusItem = useCallback(function (itemId, treeId) {
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId);
var focusItem = useCallback(function (itemId, treeId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
onFocusItem === null || onFocusItem === void 0 ? void 0 : onFocusItem(items[itemId], treeId, setDomFocus);
}, [items, onFocusItem]);

@@ -94,0 +95,0 @@ var focusTree = useCallback(function (treeId, autoFocus) {

@@ -14,3 +14,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var useCreatedEnvironmentRef = function (ref, actions) {

@@ -17,0 +17,0 @@ var environment = useTreeEnvironment();

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

@@ -14,3 +14,3 @@ import { InteractionMode, } from '../types';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
}

@@ -17,0 +17,0 @@ else if (isControlKey(e)) {

import * as React from 'react';
import { useTree } from './Tree';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var DragBetweenLine = function (_a) {

@@ -5,0 +5,0 @@ var _b;

@@ -6,3 +6,3 @@ import * as React from 'react';

import { useTree } from './Tree';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { resolveLiveDescriptor } from './resolveLiveDescriptor';

@@ -9,0 +9,0 @@ import { useKeyboardBindings } from '../hotkeys/useKeyboardBindings';

@@ -21,3 +21,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { MaybeLiveDescription } from './MaybeLiveDescription';

@@ -40,3 +40,3 @@ export var TreeManager = function () {

React.createElement(MaybeLiveDescription, null),
React.createElement(TreeItemChildren, { depth: 0, parentId: treeId }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(TreeItemChildren, { depth: 0, parentId: rootItem }, rootChildren !== null && rootChildren !== void 0 ? rootChildren : []),
React.createElement(DragBetweenLine, { treeId: treeId }),

@@ -43,0 +43,0 @@ React.createElement(SearchInput, { containerRef: containerRef.current })));

import { useMemo } from 'react';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
export var useCreatedTreeInformation = function (tree, renamingItem, search) {

@@ -5,0 +5,0 @@ var _a;

@@ -16,3 +16,3 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from './useSelectUpTo';

@@ -19,0 +19,0 @@ import { useLinearItems } from '../controlledEnvironment/useLinearItems';

import * as React from 'react';
import { TreeRef } from '../types';
export declare const useTreeActions: () => import("../types").TreeChangeActions;
import { TreeChangeActions, TreeRef } from '../types';
export declare const useTreeActions: () => TreeChangeActions;
export declare const TreeActionsProvider: React.ForwardRefExoticComponent<Pick<React.PropsWithChildren<Record<string, unknown>>, string> & React.RefAttributes<TreeRef<any>>>;
import * as React from 'react';
import { useMemo } from 'react';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';

@@ -33,4 +33,5 @@ import { useCreatedTreeRef } from './useCreatedTreeRef';

},
focusItem: function (itemId) {
envActions.focusItem(itemId, tree.treeId);
focusItem: function (itemId, setDomFocus) {
if (setDomFocus === void 0) { setDomFocus = true; }
envActions.focusItem(itemId, tree.treeId, setDomFocus);
},

@@ -37,0 +38,0 @@ focusTree: function (autoFocus) {

@@ -14,3 +14,3 @@ var __assign = (this && this.__assign) || function () {

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTree } from '../tree/Tree';

@@ -17,0 +17,0 @@ export var useCreatedTreeRef = function (ref, actions) {

@@ -9,5 +9,5 @@ import React, { useMemo, useState } from 'react';

export var TreeItemElement = function (props) {
var _a, _b;
var _c = useState(false), hasBeenRequested = _c[0], setHasBeenRequested = _c[1];
var _d = useTree(), renderers = _d.renderers, treeInformation = _d.treeInformation, renamingItem = _d.renamingItem;
var _a, _b, _c, _d;
var _e = useState(false), hasBeenRequested = _e[0], setHasBeenRequested = _e[1];
var _f = useTree(), renderers = _f.renderers, treeInformation = _f.treeInformation, renamingItem = _f.renamingItem;
var environment = useTreeEnvironment();

@@ -25,3 +25,4 @@ var viewState = useViewState();

}
var children = item.isFolder && isExpanded && item.children && (React.createElement(TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var shouldRenderChildren = (_c = (_b = environment.shouldRenderChildren) === null || _b === void 0 ? void 0 : _b.call(environment, item, renderContext)) !== null && _c !== void 0 ? _c : (item.isFolder && isExpanded);
var children = item.children && shouldRenderChildren && (React.createElement(TreeItemChildren, { depth: props.depth + 1, parentId: props.itemIndex }, item.children));
var title = environment.getItemTitle(item);

@@ -39,3 +40,3 @@ var titleComponent = renamingItem === props.itemIndex ? (React.createElement(TreeItemRenamingInput, { itemIndex: props.itemIndex })) : (renderers.renderItemTitle({

});
return ((_b = renderers.renderItem({
return ((_d = renderers.renderItem({
item: environment.items[props.itemIndex],

@@ -48,3 +49,3 @@ depth: props.depth,

children: children,
})) !== null && _b !== void 0 ? _b : null); // Type to use AllTreeRenderProps
})) !== null && _d !== void 0 ? _d : null); // Type to use AllTreeRenderProps
};

@@ -1,32 +0,2 @@

import { HTMLProps } from 'react';
import { TreeItem } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => {
interactiveElementProps: HTMLProps<HTMLElement>;
itemContainerWithChildrenProps: HTMLProps<HTMLElement>;
itemContainerWithoutChildrenProps: HTMLProps<HTMLElement>;
arrowProps: HTMLProps<HTMLElement>;
viewStateFlags: {
[key: string]: boolean;
};
isSelected?: boolean | undefined;
isExpanded?: boolean | undefined;
isFocused?: boolean | undefined;
isRenaming?: boolean | undefined;
isDraggingOver?: boolean | undefined;
isDraggingOverParent?: boolean | undefined;
isSearchMatching?: boolean | undefined;
canDrag?: boolean | undefined;
canDropOn?: boolean | undefined;
primaryAction: () => void;
startRenamingItem: () => void;
stopRenamingItem: () => void;
expandItem: () => void;
collapseItem: () => void;
toggleExpandedState: () => void;
selectItem: () => void;
unselectItem: () => void;
addToSelectedItems: () => void;
selectUpTo: (overrideOldSelection?: boolean | undefined) => void;
startDragging: () => void;
focusItem: () => void;
} | undefined;
import { TreeItem, TreeItemRenderContext } from '../types';
export declare const useTreeItemRenderContext: (item?: TreeItem) => TreeItemRenderContext<never> | undefined;

@@ -26,3 +26,3 @@ var __assign = (this && this.__assign) || function () {

import { useInteractionManager } from '../controlledEnvironment/InteractionManagerProvider';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from '../tree/useSelectUpTo';

@@ -116,5 +116,6 @@ import { useGetOriginalItemOrder } from '../useGetOriginalItemOrder';

},
focusItem: function () {
focusItem: function (setDomFocus) {
var _a;
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId);
if (setDomFocus === void 0) { setDomFocus = true; }
(_a = environment.onFocusItem) === null || _a === void 0 ? void 0 : _a.call(environment, item, treeId, setDomFocus);
},

@@ -121,0 +122,0 @@ startDragging: function () {

@@ -28,3 +28,4 @@ import React, { FormHTMLAttributes, HTMLProps, InputHTMLAttributes, Ref } from 'react';

startDragging: () => void;
focusItem: () => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (setDomFocus?: boolean) => void;
}

@@ -141,2 +142,3 @@ export interface TreeItemRenderFlags {

showLiveDescription?: boolean;
shouldRenderChildren?: (item: TreeItem<T>, context: TreeItemRenderContext<C>) => boolean;
/**

@@ -177,3 +179,3 @@ * See Issue #148 or the sample at

onSelectItems?: (items: TreeItemIndex[], treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string) => void;
onFocusItem?: (item: TreeItem<T>, treeId: string, setDomFocus?: boolean) => void;
onDrop?: (items: TreeItem<T>[], target: DraggingPosition) => void;

@@ -195,3 +197,4 @@ onPrimaryAction?: (items: TreeItem<T>, treeId: string) => void;

invokePrimaryAction: (itemId: TreeItemIndex, treeID: string) => void;
focusItem: (itemId: TreeItemIndex, treeId: string) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, treeId: string, setDomFocus?: boolean) => void;
moveFocusUp: (treeId: string) => void;

@@ -316,3 +319,4 @@ moveFocusDown: (treeId: string) => void;

toggleItemSelectStatus: (itemId: TreeItemIndex) => void;
focusItem: (itemId: TreeItemIndex) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, setDomFocus?: boolean) => void;
moveFocusUp: () => void;

@@ -404,1 +408,6 @@ moveFocusDown: () => void;

}
export type HoveringPosition = {
linearIndex: number;
offset: 'bottom' | 'top' | undefined;
indentation: number | undefined;
};

@@ -111,7 +111,2 @@ var __assign = (this && this.__assign) || function () {

(_a = props.onExpandItem) === null || _a === void 0 ? void 0 : _a.call(props, item, treeId);
// const itemsToLoad = item.children?.filter(itemId => currentItems[itemId] === undefined) ?? [];
// dataProvider.getTreeItems(itemsToLoad).then(items => {
// writeItems(items.map(item => ({ [item.index]: item })).reduce((a, b) => ({...a, ...b}), {}));
// setViewState(viewState => ({ ...viewState, expandedItems: [...viewState.expandedItems ?? [], item.index] }));
// });
}, onCollapseItem: function (item, treeId) {

@@ -118,0 +113,0 @@ var _a;

{
"name": "react-complex-tree",
"version": "2.3.4",
"version": "2.3.5-alpha.0",
"main": "lib/cjs/index.js",

@@ -37,3 +37,3 @@ "module": "lib/esm/index.js",

"cpy-cli": "^3.1.1",
"demodata": "^2.3.4",
"demodata": "^2.3.5-alpha.0",
"jest": "^29.2.2",

@@ -70,3 +70,3 @@ "jest-dom": "^4.0.0",

},
"gitHead": "980446ef632af2af571ead44ea888889b60e4bb5"
"gitHead": "5b7c81c35903830329d9003a009b9d5609d196e5"
}

@@ -48,8 +48,8 @@ import { useCallback, useMemo, useState } from 'react';

>(
(item, treeId) => {
const newItem = getDocument()?.querySelector(
`[data-rct-tree="${treeId}"] [data-rct-item-id="${item.index}"]`
);
(item, treeId, setDomFocus = true) => {
if ((autoFocus ?? true) && setDomFocus) {
const newItem = getDocument()?.querySelector(
`[data-rct-tree="${treeId}"] [data-rct-item-id="${item.index}"]`
);
if (autoFocus ?? true) {
if (

@@ -56,0 +56,0 @@ getDocument()?.activeElement?.attributes.getNamedItem(

import { Ref, useImperativeHandle } from 'react';
import { TreeEnvironmentChangeActions, TreeEnvironmentRef } from '../types';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';

@@ -6,0 +6,0 @@ export const useCreatedEnvironmentRef = (

@@ -33,3 +33,3 @@ import { HTMLProps } from 'react';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
} else if (isControlKey(e)) {

@@ -36,0 +36,0 @@ if (renderFlags.isSelected) {

@@ -31,3 +31,3 @@ import { HTMLProps } from 'react';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
} else if (isControlKey(e)) {

@@ -34,0 +34,0 @@ if (renderFlags.isSelected) {

@@ -33,3 +33,3 @@ import { HTMLProps } from 'react';

if (e.shiftKey) {
actions.selectUpTo(!e.ctrlKey);
actions.selectUpTo(!isControlKey(e));
} else if (isControlKey(e)) {

@@ -36,0 +36,0 @@ if (renderFlags.isSelected) {

import { useMemo } from 'react';
import { TreeInformation, TreeItemIndex, TreeProps } from '../types';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';

@@ -6,0 +6,0 @@ export const useCreatedTreeInformation = (

@@ -7,3 +7,3 @@ import { useKey } from '../hotkeys/useKey';

import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from './useSelectUpTo';

@@ -10,0 +10,0 @@ import { useLinearItems } from '../controlledEnvironment/useLinearItems';

import { Ref, useImperativeHandle } from 'react';
import { TreeChangeActions, TreeRef } from '../types';
import { useTreeEnvironment } from '../controlledEnvironment/ControlledTreeEnvironment';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useTree } from '../tree/Tree';

@@ -6,0 +6,0 @@

import { HTMLProps, useMemo } from 'react';
import { TreeItem, TreeItemActions, TreeItemRenderFlags } from '../types';
import {
TreeItem,
TreeItemActions,
TreeItemRenderContext,
TreeItemRenderFlags,
} from '../types';
import { defaultMatcher } from '../search/defaultMatcher';

@@ -7,3 +12,3 @@ import { useTree } from '../tree/Tree';

import { useInteractionManager } from '../controlledEnvironment/InteractionManagerProvider';
import { useDragAndDrop } from '../controlledEnvironment/DragAndDropProvider';
import { useDragAndDrop } from '../drag/DragAndDropProvider';
import { useSelectUpTo } from '../tree/useSelectUpTo';

@@ -41,3 +46,3 @@ import { useGetOriginalItemOrder } from '../useGetOriginalItemOrder';

return useMemo(() => {
return useMemo<TreeItemRenderContext | undefined>(() => {
if (!item) {

@@ -124,4 +129,4 @@ return undefined;

},
focusItem: () => {
environment.onFocusItem?.(item, treeId);
focusItem: (setDomFocus = true) => {
environment.onFocusItem?.(item, treeId, setDomFocus);
},

@@ -128,0 +133,0 @@ startDragging: () => {

@@ -38,3 +38,5 @@ import React, {

startDragging: () => void;
focusItem: () => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (setDomFocus?: boolean) => void;
// toggleSelectedState: () => void;

@@ -180,2 +182,6 @@ }

showLiveDescription?: boolean;
shouldRenderChildren?: (
item: TreeItem<T>,
context: TreeItemRenderContext<C>
) => boolean;

@@ -221,3 +227,7 @@ /**

onSelectItems?: (items: TreeItemIndex[], treeId: string) => void; // TODO TreeItem instead of just index
onFocusItem?: (item: TreeItem<T>, treeId: string) => void;
onFocusItem?: (
item: TreeItem<T>,
treeId: string,
setDomFocus?: boolean
) => void;
onDrop?: (items: TreeItem<T>[], target: DraggingPosition) => void;

@@ -240,3 +250,10 @@ onPrimaryAction?: (items: TreeItem<T>, treeId: string) => void;

invokePrimaryAction: (itemId: TreeItemIndex, treeID: string) => void;
focusItem: (itemId: TreeItemIndex, treeId: string) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (
itemId: TreeItemIndex,
treeId: string,
setDomFocus?: boolean
) => void;
moveFocusUp: (treeId: string) => void;

@@ -403,3 +420,6 @@ moveFocusDown: (treeId: string) => void;

toggleItemSelectStatus: (itemId: TreeItemIndex) => void;
focusItem: (itemId: TreeItemIndex) => void;
/** @param setDomFocus - Defaults to true. */
focusItem: (itemId: TreeItemIndex, setDomFocus?: boolean) => void;
moveFocusUp: () => void;

@@ -507,1 +527,9 @@ moveFocusDown: () => void;

}
export type HoveringPosition = {
linearIndex: number;
offset: 'bottom' | 'top' | undefined;
// is undefined if tree renderDepthOffset is not set or zero
indentation: number | undefined;
};

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc