@fluentui/react-tree 9.0.0-beta.2 → 9.0.0-beta.21
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/CHANGELOG.json +1073 -1
- package/CHANGELOG.md +295 -2
- package/dist/index.d.ts +153 -91
- package/lib/Tree.js +0 -1
- package/lib/Tree.js.map +1 -1
- package/lib/TreeItem.js +0 -1
- package/lib/TreeItem.js.map +1 -1
- package/lib/TreeItemLayout.js +0 -1
- package/lib/TreeItemLayout.js.map +1 -1
- package/lib/TreeItemPersonaLayout.js +0 -1
- package/lib/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/Tree/Tree.js +6 -8
- package/lib/components/Tree/Tree.js.map +1 -1
- package/lib/components/Tree/Tree.types.js +1 -2
- package/lib/components/Tree/Tree.types.js.map +1 -1
- package/lib/components/Tree/index.js +1 -2
- package/lib/components/Tree/index.js.map +1 -1
- package/lib/components/Tree/renderTree.js +7 -13
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useRootTree.js +145 -0
- package/lib/components/Tree/useRootTree.js.map +1 -0
- package/lib/components/Tree/useSubtree.js +35 -0
- package/lib/components/Tree/useSubtree.js.map +1 -0
- package/lib/components/Tree/useTree.js +9 -103
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +12 -22
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeStyles.styles.js +30 -0
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib/components/TreeItem/TreeItem.js +16 -9
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.types.js +1 -2
- package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib/components/TreeItem/index.js +1 -2
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +7 -25
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +116 -234
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js +18 -16
- package/lib/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemStyles.styles.js +100 -0
- package/lib/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
- package/lib/components/TreeItemChevron.js +24 -0
- package/lib/components/TreeItemChevron.js.map +1 -0
- package/lib/components/TreeItemLayout/TreeItemLayout.js +8 -8
- package/lib/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/TreeItemLayout.types.js +1 -2
- package/lib/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib/components/TreeItemLayout/index.js +1 -2
- package/lib/components/TreeItemLayout/index.js.map +1 -1
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js +8 -21
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +58 -39
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +191 -0
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +9 -9
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -2
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/index.js +1 -2
- package/lib/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +10 -27
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +35 -48
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +9 -10
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +206 -0
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
- package/lib/contexts/index.js +0 -1
- package/lib/contexts/index.js.map +1 -1
- package/lib/contexts/treeContext.js +9 -14
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +13 -10
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useFlatTree.js +81 -35
- package/lib/hooks/useFlatTree.js.map +1 -1
- package/lib/hooks/useFlatTreeNavigation.js +65 -62
- package/lib/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib/hooks/useHTMLElementWalker.js +78 -76
- package/lib/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib/hooks/useNestedTreeNavigation.js +49 -49
- package/lib/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib/hooks/useOpenItemsState.js +21 -15
- package/lib/hooks/useOpenItemsState.js.map +1 -1
- package/lib/hooks/useRovingTabIndexes.js +46 -45
- package/lib/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/ImmutableSet.js +27 -30
- package/lib/utils/ImmutableSet.js.map +1 -1
- package/lib/utils/assert.js +5 -5
- package/lib/utils/assert.js.map +1 -1
- package/lib/utils/createFlatTreeItems.js +113 -0
- package/lib/utils/createFlatTreeItems.js.map +1 -0
- package/lib/utils/flattenTree.js +58 -28
- package/lib/utils/flattenTree.js.map +1 -1
- package/lib/utils/getTreeItemValueFromElement.js +4 -0
- package/lib/utils/getTreeItemValueFromElement.js.map +1 -0
- package/lib/utils/nextTypeAheadElement.js +11 -12
- package/lib/utils/nextTypeAheadElement.js.map +1 -1
- package/lib/utils/normalizeOpenItems.js +6 -5
- package/lib/utils/normalizeOpenItems.js.map +1 -1
- package/lib/utils/tokens.js +13 -14
- package/lib/utils/tokens.js.map +1 -1
- package/lib/utils/treeItemFilter.js +2 -3
- package/lib/utils/treeItemFilter.js.map +1 -1
- package/lib-commonjs/Tree.js +3 -5
- package/lib-commonjs/Tree.js.map +1 -1
- package/lib-commonjs/TreeItem.js +3 -5
- package/lib-commonjs/TreeItem.js.map +1 -1
- package/lib-commonjs/TreeItemLayout.js +3 -5
- package/lib-commonjs/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/TreeItemPersonaLayout.js +3 -5
- package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.js +17 -23
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.types.js +3 -3
- package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
- package/lib-commonjs/components/Tree/index.js +8 -10
- package/lib-commonjs/components/Tree/index.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +14 -19
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useRootTree.js +149 -0
- package/lib-commonjs/components/Tree/useRootTree.js.map +1 -0
- package/lib-commonjs/components/Tree/useSubtree.js +39 -0
- package/lib-commonjs/components/Tree/useSubtree.js.map +1 -0
- package/lib-commonjs/components/Tree/useTree.js +16 -116
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +17 -26
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js +53 -0
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItem/TreeItem.js +17 -18
- package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.types.js +3 -4
- package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib-commonjs/components/TreeItem/index.js +7 -9
- package/lib-commonjs/components/TreeItem/index.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +14 -33
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +126 -251
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +23 -20
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js +202 -0
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemChevron.js +33 -0
- package/lib-commonjs/components/TreeItemChevron.js.map +1 -0
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js +15 -16
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +1 -3
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js +7 -9
- package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +14 -28
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +64 -52
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +321 -0
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +17 -18
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js +7 -9
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +17 -35
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +42 -61
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +16 -15
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +375 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/contexts/index.js +4 -6
- package/lib-commonjs/contexts/index.js.map +1 -1
- package/lib-commonjs/contexts/treeContext.js +23 -18
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +27 -13
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/index.js +5 -7
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTree.js +88 -52
- package/lib-commonjs/hooks/useFlatTree.js.map +1 -1
- package/lib-commonjs/hooks/useFlatTreeNavigation.js +76 -72
- package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useHTMLElementWalker.js +92 -83
- package/lib-commonjs/hooks/useHTMLElementWalker.js.map +1 -1
- package/lib-commonjs/hooks/useNestedTreeNavigation.js +59 -58
- package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useOpenItemsState.js +30 -22
- package/lib-commonjs/hooks/useOpenItemsState.js.map +1 -1
- package/lib-commonjs/hooks/useRovingTabIndexes.js +54 -53
- package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib-commonjs/index.js +46 -181
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/ImmutableSet.js +37 -38
- package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
- package/lib-commonjs/utils/assert.js +11 -9
- package/lib-commonjs/utils/assert.js.map +1 -1
- package/lib-commonjs/utils/createFlatTreeItems.js +127 -0
- package/lib-commonjs/utils/createFlatTreeItems.js.map +1 -0
- package/lib-commonjs/utils/flattenTree.js +25 -33
- package/lib-commonjs/utils/flattenTree.js.map +1 -1
- package/lib-commonjs/utils/getTreeItemValueFromElement.js +18 -0
- package/lib-commonjs/utils/getTreeItemValueFromElement.js.map +1 -0
- package/lib-commonjs/utils/nextTypeAheadElement.js +16 -16
- package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
- package/lib-commonjs/utils/normalizeOpenItems.js +11 -9
- package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
- package/lib-commonjs/utils/tokens.js +28 -20
- package/lib-commonjs/utils/tokens.js.map +1 -1
- package/lib-commonjs/utils/treeItemFilter.js +7 -7
- package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
- package/package.json +23 -17
- package/lib/components/Tree/useTreeStyles.js +0 -20
- package/lib/components/Tree/useTreeStyles.js.map +0 -1
- package/lib/components/TreeItem/useTreeItemStyles.js +0 -203
- package/lib/components/TreeItem/useTreeItemStyles.js.map +0 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -98
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -115
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
- package/lib/utils/createUnfilteredFlatTree.js +0 -77
- package/lib/utils/createUnfilteredFlatTree.js.map +0 -1
- package/lib/utils/createVisibleFlatTree.js +0 -80
- package/lib/utils/createVisibleFlatTree.js.map +0 -1
- package/lib-commonjs/components/Tree/useTreeStyles.js +0 -27
- package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -210
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -105
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -122
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
- package/lib-commonjs/utils/createUnfilteredFlatTree.js +0 -84
- package/lib-commonjs/utils/createUnfilteredFlatTree.js.map +0 -1
- package/lib-commonjs/utils/createVisibleFlatTree.js +0 -87
- package/lib-commonjs/utils/createVisibleFlatTree.js.map +0 -1
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
TreeContext: ()=>TreeContext,
|
|
13
|
+
TreeProvider: ()=>TreeProvider,
|
|
14
|
+
useTreeContext_unstable: ()=>useTreeContext_unstable
|
|
15
|
+
});
|
|
16
|
+
const _reactContextSelector = require("@fluentui/react-context-selector");
|
|
17
|
+
const _immutableSet = require("../utils/ImmutableSet");
|
|
9
18
|
const defaultContextValue = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
size: 'medium'
|
|
19
|
+
level: 0,
|
|
20
|
+
openItems: _immutableSet.emptyImmutableSet,
|
|
21
|
+
requestTreeResponse: noop,
|
|
22
|
+
appearance: 'subtle',
|
|
23
|
+
size: 'medium'
|
|
16
24
|
};
|
|
17
25
|
function noop() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const useTreeContext_unstable = selector => react_context_selector_1.useContextSelector(exports.TreeContext, (ctx = defaultContextValue) => selector(ctx));
|
|
23
|
-
exports.useTreeContext_unstable = useTreeContext_unstable;
|
|
24
|
-
//# sourceMappingURL=treeContext.js.map
|
|
26
|
+
/* noop */ }
|
|
27
|
+
const TreeContext = (0, _reactContextSelector.createContext)(undefined);
|
|
28
|
+
const { Provider: TreeProvider } = TreeContext;
|
|
29
|
+
const useTreeContext_unstable = (selector)=>(0, _reactContextSelector.useContextSelector)(TreeContext, (ctx = defaultContextValue)=>selector(ctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["treeContext.js"],"sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport { emptyImmutableSet } from '../utils/ImmutableSet';\nconst defaultContextValue = {\n level: 0,\n openItems: emptyImmutableSet,\n requestTreeResponse: noop,\n appearance: 'subtle',\n size: 'medium'\n};\nfunction noop() {\n/* noop */ }\nexport const TreeContext = createContext(undefined);\nexport const { Provider: TreeProvider } = TreeContext;\nexport const useTreeContext_unstable = (selector)=>useContextSelector(TreeContext, (ctx = defaultContextValue)=>selector(ctx));\n"],"names":["TreeContext","TreeProvider","useTreeContext_unstable","defaultContextValue","level","openItems","emptyImmutableSet","requestTreeResponse","noop","appearance","size","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAWaA,WAAW,MAAXA;IACYC,YAAY,MAAZA;IACZC,uBAAuB,MAAvBA;;sCAbqC;8BAChB;AAClC,MAAMC,sBAAsB;IACxBC,OAAO;IACPC,WAAWC,+BAAiB;IAC5BC,qBAAqBC;IACrBC,YAAY;IACZC,MAAM;AACV;AACA,SAASF,OAAO;AAChB,QAAQ,GAAG;AACJ,MAAMR,cAAcW,IAAAA,mCAAa,EAACC;AAClC,MAAM,EAAEC,UAAUZ,aAAY,EAAG,GAAGD;AACpC,MAAME,0BAA0B,CAACY,WAAWC,IAAAA,wCAAkB,EAACf,aAAa,CAACgB,MAAMb,mBAAmB,GAAGW,SAASE"}
|
|
@@ -1,18 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
TreeItemContext: ()=>TreeItemContext,
|
|
13
|
+
TreeItemProvider: ()=>TreeItemProvider,
|
|
14
|
+
useTreeItemContext_unstable: ()=>useTreeItemContext_unstable
|
|
15
|
+
});
|
|
16
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
17
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
18
|
+
const _reactContextSelector = require("@fluentui/react-context-selector");
|
|
8
19
|
const defaultContextValue = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
value: '',
|
|
21
|
+
isActionsVisible: false,
|
|
22
|
+
isAsideVisible: true,
|
|
23
|
+
actionsRef: /*#__PURE__*/ _react.createRef(),
|
|
24
|
+
expandIconRef: /*#__PURE__*/ _react.createRef(),
|
|
25
|
+
layoutRef: /*#__PURE__*/ _react.createRef(),
|
|
26
|
+
subtreeRef: /*#__PURE__*/ _react.createRef(),
|
|
27
|
+
itemType: 'leaf',
|
|
28
|
+
open: false
|
|
16
29
|
};
|
|
17
|
-
|
|
18
|
-
|
|
30
|
+
const TreeItemContext = (0, _reactContextSelector.createContext)(undefined);
|
|
31
|
+
const { Provider: TreeItemProvider } = TreeItemContext;
|
|
32
|
+
const useTreeItemContext_unstable = (selector)=>(0, _reactContextSelector.useContextSelector)(TreeItemContext, (ctx = defaultContextValue)=>selector(ctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["treeItemContext.js"],"sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nconst defaultContextValue = {\n value: '',\n isActionsVisible: false,\n isAsideVisible: true,\n actionsRef: React.createRef(),\n expandIconRef: React.createRef(),\n layoutRef: React.createRef(),\n subtreeRef: React.createRef(),\n itemType: 'leaf',\n open: false\n};\nexport const TreeItemContext = createContext(undefined);\nexport const { Provider: TreeItemProvider } = TreeItemContext;\nexport const useTreeItemContext_unstable = (selector)=>useContextSelector(TreeItemContext, (ctx = defaultContextValue)=>selector(ctx));\n"],"names":["TreeItemContext","TreeItemProvider","useTreeItemContext_unstable","defaultContextValue","value","isActionsVisible","isAsideVisible","actionsRef","React","createRef","expandIconRef","layoutRef","subtreeRef","itemType","open","createContext","undefined","Provider","selector","useContextSelector","ctx"],"mappings":";;;;;;;;;;;IAaaA,eAAe,MAAfA;IACYC,gBAAgB,MAAhBA;IACZC,2BAA2B,MAA3BA;;;6DAfU;sCAC2B;AAClD,MAAMC,sBAAsB;IACxBC,OAAO;IACPC,kBAAkB,KAAK;IACvBC,gBAAgB,IAAI;IACpBC,0BAAYC,OAAMC,SAAS;IAC3BC,6BAAeF,OAAMC,SAAS;IAC9BE,yBAAWH,OAAMC,SAAS;IAC1BG,0BAAYJ,OAAMC,SAAS;IAC3BI,UAAU;IACVC,MAAM,KAAK;AACf;AACO,MAAMd,kBAAkBe,IAAAA,mCAAa,EAACC;AACtC,MAAM,EAAEC,UAAUhB,iBAAgB,EAAG,GAAGD;AACxC,MAAME,8BAA8B,CAACgB,WAAWC,IAAAA,wCAAkB,EAACnB,iBAAiB,CAACoB,MAAMjB,mBAAmB,GAAGe,SAASE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./useFlatTree"), exports);
|
|
7
|
+
_exportStar(require("./useNestedTreeNavigation"), exports);
|
|
8
|
+
_exportStar(require("./useOpenItemsState"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './useFlatTree';\nexport * from './useNestedTreeNavigation';\nexport * from './useOpenItemsState';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA"}
|
|
@@ -1,56 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
5
|
+
Object.defineProperty(exports, "useFlatTree_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useFlatTree_unstable
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
12
|
+
const _createFlatTreeItems = require("../utils/createFlatTreeItems");
|
|
13
|
+
const _tokens = require("../utils/tokens");
|
|
14
|
+
const _useFlatTreeNavigation = require("./useFlatTreeNavigation");
|
|
15
|
+
const _useOpenItemsState = require("./useOpenItemsState");
|
|
16
|
+
const _getTreeItemValueFromElement = require("../utils/getTreeItemValueFromElement");
|
|
17
|
+
function useFlatTree_unstable(flatTreeItemProps, options = {}) {
|
|
18
|
+
const [openItems, updateOpenItems] = (0, _useOpenItemsState.useOpenItemsState)(options);
|
|
19
|
+
const flatTreeItems = _react.useMemo(()=>(0, _createFlatTreeItems.createFlatTreeItems)(flatTreeItemProps), [
|
|
20
|
+
flatTreeItemProps
|
|
21
|
+
]);
|
|
22
|
+
const [navigate, navigationRef] = (0, _useFlatTreeNavigation.useFlatTreeNavigation)(flatTreeItems);
|
|
23
|
+
const treeRef = _react.useRef(null);
|
|
24
|
+
const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
25
|
+
var _options_onOpenChange;
|
|
26
|
+
(_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);
|
|
27
|
+
if (!event.isDefaultPrevented()) {
|
|
28
|
+
updateOpenItems(data);
|
|
29
|
+
}
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
});
|
|
32
|
+
const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
33
|
+
var _options_onNavigation_unstable;
|
|
34
|
+
(_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);
|
|
35
|
+
if (!event.isDefaultPrevented()) {
|
|
36
|
+
navigate(data);
|
|
37
|
+
}
|
|
38
|
+
event.preventDefault();
|
|
39
|
+
});
|
|
40
|
+
const getNextNavigableItem = (0, _reactUtilities.useEventCallback)((visibleItems, data)=>{
|
|
41
|
+
const item = flatTreeItems.get(data.value);
|
|
42
|
+
if (item) {
|
|
43
|
+
switch(data.type){
|
|
44
|
+
case _tokens.treeDataTypes.TypeAhead:
|
|
45
|
+
return item;
|
|
46
|
+
case _tokens.treeDataTypes.ArrowLeft:
|
|
47
|
+
return flatTreeItems.get(item.parentValue);
|
|
48
|
+
case _tokens.treeDataTypes.ArrowRight:
|
|
49
|
+
return visibleItems[item.index + 1];
|
|
50
|
+
case _tokens.treeDataTypes.End:
|
|
51
|
+
return visibleItems[visibleItems.length - 1];
|
|
52
|
+
case _tokens.treeDataTypes.Home:
|
|
53
|
+
return visibleItems[0];
|
|
54
|
+
case _tokens.treeDataTypes.ArrowDown:
|
|
55
|
+
return visibleItems[item.index + 1];
|
|
56
|
+
case _tokens.treeDataTypes.ArrowUp:
|
|
57
|
+
return visibleItems[item.index - 1];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const getElementFromItem = _react.useCallback((item)=>{
|
|
62
|
+
var _treeRef_current;
|
|
63
|
+
return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${item.value}"]`);
|
|
64
|
+
}, []);
|
|
65
|
+
const ref = (0, _reactUtilities.useMergedRefs)(treeRef, navigationRef);
|
|
66
|
+
const getTreeProps = _react.useCallback(()=>({
|
|
67
|
+
ref,
|
|
68
|
+
openItems,
|
|
69
|
+
onOpenChange: handleOpenChange,
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
71
|
+
onNavigation_unstable: handleNavigation
|
|
72
|
+
}), [
|
|
73
|
+
openItems
|
|
74
|
+
]);
|
|
75
|
+
const items = _react.useCallback(()=>(0, _createFlatTreeItems.VisibleFlatTreeItemGenerator)(openItems, flatTreeItems), [
|
|
76
|
+
openItems,
|
|
77
|
+
flatTreeItems
|
|
78
|
+
]);
|
|
79
|
+
return _react.useMemo(()=>({
|
|
80
|
+
navigate,
|
|
81
|
+
getTreeProps,
|
|
82
|
+
getNextNavigableItem,
|
|
83
|
+
getElementFromItem,
|
|
84
|
+
items
|
|
85
|
+
}), [
|
|
86
|
+
navigate,
|
|
87
|
+
getTreeProps,
|
|
88
|
+
getNextNavigableItem,
|
|
89
|
+
getElementFromItem,
|
|
90
|
+
items
|
|
91
|
+
]);
|
|
54
92
|
}
|
|
55
|
-
exports.useFlatTree_unstable = useFlatTree_unstable;
|
|
56
|
-
//# sourceMappingURL=useFlatTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["useFlatTree.js"],"sourcesContent":["import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createFlatTreeItems, VisibleFlatTreeItemGenerator } from '../utils/createFlatTreeItems';\nimport { treeDataTypes } from '../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { useOpenItemsState } from './useOpenItemsState';\nimport { dataTreeItemValueAttrName } from '../utils/getTreeItemValueFromElement';\n/**\n * this hook provides FlatTree API to manage all required mechanisms to convert a list of items into renderable TreeItems\n * in multiple scenarios including virtualization.\n *\n * !!A flat tree is an unofficial spec for tree!!\n *\n * It should be used on cases where more complex interactions with a Tree is required.\n * On simple scenarios it is advised to simply use a nested structure instead.\n *\n * @param flatTreeItemProps - a list of tree items\n * @param options - in case control over the internal openItems is required\n */ export function useFlatTree_unstable(flatTreeItemProps, options = {}) {\n const [openItems, updateOpenItems] = useOpenItemsState(options);\n const flatTreeItems = React.useMemo(()=>createFlatTreeItems(flatTreeItemProps), [\n flatTreeItemProps\n ]);\n const [navigate, navigationRef] = useFlatTreeNavigation(flatTreeItems);\n const treeRef = React.useRef(null);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _options_onOpenChange;\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n updateOpenItems(data);\n }\n event.preventDefault();\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _options_onNavigation_unstable;\n (_options_onNavigation_unstable = options.onNavigation_unstable) === null || _options_onNavigation_unstable === void 0 ? void 0 : _options_onNavigation_unstable.call(options, event, data);\n if (!event.isDefaultPrevented()) {\n navigate(data);\n }\n event.preventDefault();\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data)=>{\n const item = flatTreeItems.get(data.value);\n if (item) {\n switch(data.type){\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return flatTreeItems.get(item.parentValue);\n case treeDataTypes.ArrowRight:\n return visibleItems[item.index + 1];\n case treeDataTypes.End:\n return visibleItems[visibleItems.length - 1];\n case treeDataTypes.Home:\n return visibleItems[0];\n case treeDataTypes.ArrowDown:\n return visibleItems[item.index + 1];\n case treeDataTypes.ArrowUp:\n return visibleItems[item.index - 1];\n }\n }\n });\n const getElementFromItem = React.useCallback((item)=>{\n var _treeRef_current;\n return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${dataTreeItemValueAttrName}=\"${item.value}\"]`);\n }, []);\n const ref = useMergedRefs(treeRef, navigationRef);\n const getTreeProps = React.useCallback(()=>({\n ref,\n openItems,\n onOpenChange: handleOpenChange,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n onNavigation_unstable: handleNavigation\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n openItems\n ]);\n const items = React.useCallback(()=>VisibleFlatTreeItemGenerator(openItems, flatTreeItems), [\n openItems,\n flatTreeItems\n ]);\n return React.useMemo(()=>({\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n }), [\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n ]);\n}\n"],"names":["useFlatTree_unstable","flatTreeItemProps","options","openItems","updateOpenItems","useOpenItemsState","flatTreeItems","React","useMemo","createFlatTreeItems","navigate","navigationRef","useFlatTreeNavigation","treeRef","useRef","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","onOpenChange","call","isDefaultPrevented","preventDefault","handleNavigation","_options_onNavigation_unstable","onNavigation_unstable","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","useCallback","_treeRef_current","current","querySelector","dataTreeItemValueAttrName","ref","useMergedRefs","getTreeProps","items","VisibleFlatTreeItemGenerator"],"mappings":";;;;+BAkBoBA;;aAAAA;;;gCAlB4B;6DACzB;qCAC2C;wBACpC;uCACQ;mCACJ;6CACQ;AAY/B,SAASA,qBAAqBC,iBAAiB,EAAEC,UAAU,CAAC,CAAC,EAAE;IACtE,MAAM,CAACC,WAAWC,gBAAgB,GAAGC,IAAAA,oCAAiB,EAACH;IACvD,MAAMI,gBAAgBC,OAAMC,OAAO,CAAC,IAAIC,IAAAA,wCAAmB,EAACR,oBAAoB;QAC5EA;KACH;IACD,MAAM,CAACS,UAAUC,cAAc,GAAGC,IAAAA,4CAAqB,EAACN;IACxD,MAAMO,UAAUN,OAAMO,MAAM,CAAC,IAAI;IACjC,MAAMC,mBAAmBC,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIC;QACHA,CAAAA,wBAAwBjB,QAAQkB,YAAY,AAAD,MAAO,IAAI,IAAID,0BAA0B,KAAK,IAAI,KAAK,IAAIA,sBAAsBE,IAAI,CAACnB,SAASe,OAAOC,KAAK;QACvJ,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC7BlB,gBAAgBc;QACpB,CAAC;QACDD,MAAMM,cAAc;IACxB;IACA,MAAMC,mBAAmBR,IAAAA,gCAAgB,EAAC,CAACC,OAAOC,OAAO;QACrD,IAAIO;QACHA,CAAAA,iCAAiCvB,QAAQwB,qBAAqB,AAAD,MAAO,IAAI,IAAID,mCAAmC,KAAK,IAAI,KAAK,IAAIA,+BAA+BJ,IAAI,CAACnB,SAASe,OAAOC,KAAK;QAC3L,IAAI,CAACD,MAAMK,kBAAkB,IAAI;YAC7BZ,SAASQ;QACb,CAAC;QACDD,MAAMM,cAAc;IACxB;IACA,MAAMI,uBAAuBX,IAAAA,gCAAgB,EAAC,CAACY,cAAcV,OAAO;QAChE,MAAMW,OAAOvB,cAAcwB,GAAG,CAACZ,KAAKa,KAAK;QACzC,IAAIF,MAAM;YACN,OAAOX,KAAKc,IAAI;gBACZ,KAAKC,qBAAa,CAACC,SAAS;oBACxB,OAAOL;gBACX,KAAKI,qBAAa,CAACE,SAAS;oBACxB,OAAO7B,cAAcwB,GAAG,CAACD,KAAKO,WAAW;gBAC7C,KAAKH,qBAAa,CAACI,UAAU;oBACzB,OAAOT,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACM,GAAG;oBAClB,OAAOX,YAAY,CAACA,aAAaY,MAAM,GAAG,EAAE;gBAChD,KAAKP,qBAAa,CAACQ,IAAI;oBACnB,OAAOb,YAAY,CAAC,EAAE;gBAC1B,KAAKK,qBAAa,CAACS,SAAS;oBACxB,OAAOd,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;gBACvC,KAAKL,qBAAa,CAACU,OAAO;oBACtB,OAAOf,YAAY,CAACC,KAAKS,KAAK,GAAG,EAAE;YAC3C;QACJ,CAAC;IACL;IACA,MAAMM,qBAAqBrC,OAAMsC,WAAW,CAAC,CAAChB,OAAO;QACjD,IAAIiB;QACJ,OAAO,AAACA,CAAAA,mBAAmBjC,QAAQkC,OAAO,AAAD,MAAO,IAAI,IAAID,qBAAqB,KAAK,IAAI,KAAK,IAAIA,iBAAiBE,aAAa,CAAC,CAAC,CAAC,EAAEC,sDAAyB,CAAC,EAAE,EAAEpB,KAAKE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnL,GAAG,EAAE;IACL,MAAMmB,MAAMC,IAAAA,6BAAa,EAACtC,SAASF;IACnC,MAAMyC,eAAe7C,OAAMsC,WAAW,CAAC,IAAK,CAAA;YACpCK;YACA/C;YACAiB,cAAcL;YACd,gEAAgE;YAChEW,uBAAuBF;QAC3B,CAAA,GACJ;QACIrB;KACH;IACD,MAAMkD,QAAQ9C,OAAMsC,WAAW,CAAC,IAAIS,IAAAA,iDAA4B,EAACnD,WAAWG,gBAAgB;QACxFH;QACAG;KACH;IACD,OAAOC,OAAMC,OAAO,CAAC,IAAK,CAAA;YAClBE;YACA0C;YACAzB;YACAiB;YACAS;QACJ,CAAA,GAAI;QACJ3C;QACA0C;QACAzB;QACAiB;QACAS;KACH;AACL"}
|
|
@@ -1,81 +1,85 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
3
|
+
value: true
|
|
5
4
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}, rovingRootRef] =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
function navigate(data) {
|
|
53
|
-
const nextElement = getNextElement(data);
|
|
54
|
-
if (nextElement) {
|
|
55
|
-
rove(nextElement);
|
|
5
|
+
Object.defineProperty(exports, "useFlatTreeNavigation", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useFlatTreeNavigation
|
|
8
|
+
});
|
|
9
|
+
const _reactSharedContexts = require("@fluentui/react-shared-contexts");
|
|
10
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
11
|
+
const _nextTypeAheadElement = require("../utils/nextTypeAheadElement");
|
|
12
|
+
const _tokens = require("../utils/tokens");
|
|
13
|
+
const _treeItemFilter = require("../utils/treeItemFilter");
|
|
14
|
+
const _useHTMLElementWalker = require("./useHTMLElementWalker");
|
|
15
|
+
const _useRovingTabIndexes = require("./useRovingTabIndexes");
|
|
16
|
+
const _getTreeItemValueFromElement = require("../utils/getTreeItemValueFromElement");
|
|
17
|
+
function useFlatTreeNavigation(flatTreeItems) {
|
|
18
|
+
const { targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
|
|
19
|
+
const [treeItemWalkerRef, treeItemWalkerRootRef] = (0, _useHTMLElementWalker.useHTMLElementWalkerRef)(_treeItemFilter.treeItemFilter);
|
|
20
|
+
const [{ rove }, rovingRootRef] = (0, _useRovingTabIndexes.useRovingTabIndex)(_treeItemFilter.treeItemFilter);
|
|
21
|
+
function getNextElement(data) {
|
|
22
|
+
if (!targetDocument || !treeItemWalkerRef.current) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const treeItemWalker = treeItemWalkerRef.current;
|
|
26
|
+
switch(data.type){
|
|
27
|
+
case _tokens.treeDataTypes.Click:
|
|
28
|
+
return data.target;
|
|
29
|
+
case _tokens.treeDataTypes.TypeAhead:
|
|
30
|
+
treeItemWalker.currentElement = data.target;
|
|
31
|
+
return (0, _nextTypeAheadElement.nextTypeAheadElement)(treeItemWalker, data.event.key);
|
|
32
|
+
case _tokens.treeDataTypes.ArrowLeft:
|
|
33
|
+
return parentElement(flatTreeItems, data.target, treeItemWalker);
|
|
34
|
+
case _tokens.treeDataTypes.ArrowRight:
|
|
35
|
+
treeItemWalker.currentElement = data.target;
|
|
36
|
+
return firstChild(data.target, treeItemWalker);
|
|
37
|
+
case _tokens.treeDataTypes.End:
|
|
38
|
+
treeItemWalker.currentElement = treeItemWalker.root;
|
|
39
|
+
return treeItemWalker.lastChild();
|
|
40
|
+
case _tokens.treeDataTypes.Home:
|
|
41
|
+
treeItemWalker.currentElement = treeItemWalker.root;
|
|
42
|
+
return treeItemWalker.firstChild();
|
|
43
|
+
case _tokens.treeDataTypes.ArrowDown:
|
|
44
|
+
treeItemWalker.currentElement = data.target;
|
|
45
|
+
return treeItemWalker.nextElement();
|
|
46
|
+
case _tokens.treeDataTypes.ArrowUp:
|
|
47
|
+
treeItemWalker.currentElement = data.target;
|
|
48
|
+
return treeItemWalker.previousElement();
|
|
49
|
+
}
|
|
56
50
|
}
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
const navigate = (0, _reactUtilities.useEventCallback)((data)=>{
|
|
52
|
+
const nextElement = getNextElement(data);
|
|
53
|
+
if (nextElement) {
|
|
54
|
+
rove(nextElement);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return [
|
|
58
|
+
navigate,
|
|
59
|
+
(0, _reactUtilities.useMergedRefs)(treeItemWalkerRootRef, rovingRootRef)
|
|
60
|
+
];
|
|
59
61
|
}
|
|
60
|
-
exports.useFlatTreeNavigation = useFlatTreeNavigation;
|
|
61
62
|
function firstChild(target, treeWalker) {
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
const nextElement = treeWalker.nextElement();
|
|
64
|
+
if (!nextElement) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');
|
|
68
|
+
const nextElementAriaLevel = nextElement.getAttribute('aria-level');
|
|
69
|
+
const targetAriaLevel = target.getAttribute('aria-level');
|
|
70
|
+
if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {
|
|
71
|
+
return nextElement;
|
|
72
|
+
}
|
|
64
73
|
return null;
|
|
65
|
-
}
|
|
66
|
-
const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');
|
|
67
|
-
const nextElementAriaLevel = nextElement.getAttribute('aria-level');
|
|
68
|
-
const targetAriaLevel = target.getAttribute('aria-level');
|
|
69
|
-
if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {
|
|
70
|
-
return nextElement;
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
74
|
}
|
|
74
|
-
function parentElement(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
function parentElement(flatTreeItems, target, treeWalker) {
|
|
76
|
+
const value = (0, _getTreeItemValueFromElement.getTreeItemValueFromElement)(target);
|
|
77
|
+
if (value === null) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const flatTreeItem = flatTreeItems.get(value);
|
|
81
|
+
if (flatTreeItem === null || flatTreeItem === void 0 ? void 0 : flatTreeItem.parentValue) {
|
|
82
|
+
return treeWalker.root.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${flatTreeItem.parentValue}"]`);
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
80
85
|
}
|
|
81
|
-
//# sourceMappingURL=useFlatTreeNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../utils/tokens';\nimport { treeItemFilter } from '../utils/treeItemFilter';\nimport { useHTMLElementWalkerRef } from './useHTMLElementWalker';\nimport { useRovingTabIndex } from './useRovingTabIndexes';\nimport { dataTreeItemValueAttrName, getTreeItemValueFromElement } from '../utils/getTreeItemValueFromElement';\nexport function useFlatTreeNavigation(flatTreeItems) {\n const { targetDocument } = useFluent_unstable();\n const [treeItemWalkerRef, treeItemWalkerRootRef] = useHTMLElementWalkerRef(treeItemFilter);\n const [{ rove }, rovingRootRef] = useRovingTabIndex(treeItemFilter);\n function getNextElement(data) {\n if (!targetDocument || !treeItemWalkerRef.current) {\n return null;\n }\n const treeItemWalker = treeItemWalkerRef.current;\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n treeItemWalker.currentElement = data.target;\n return nextTypeAheadElement(treeItemWalker, data.event.key);\n case treeDataTypes.ArrowLeft:\n return parentElement(flatTreeItems, data.target, treeItemWalker);\n case treeDataTypes.ArrowRight:\n treeItemWalker.currentElement = data.target;\n return firstChild(data.target, treeItemWalker);\n case treeDataTypes.End:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.lastChild();\n case treeDataTypes.Home:\n treeItemWalker.currentElement = treeItemWalker.root;\n return treeItemWalker.firstChild();\n case treeDataTypes.ArrowDown:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.nextElement();\n case treeDataTypes.ArrowUp:\n treeItemWalker.currentElement = data.target;\n return treeItemWalker.previousElement();\n }\n }\n const navigate = useEventCallback((data)=>{\n const nextElement = getNextElement(data);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return [\n navigate,\n useMergedRefs(treeItemWalkerRootRef, rovingRootRef)\n ];\n}\nfunction firstChild(target, treeWalker) {\n const nextElement = treeWalker.nextElement();\n if (!nextElement) {\n return null;\n }\n const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');\n const nextElementAriaLevel = nextElement.getAttribute('aria-level');\n const targetAriaLevel = target.getAttribute('aria-level');\n if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {\n return nextElement;\n }\n return null;\n}\nfunction parentElement(flatTreeItems, target, treeWalker) {\n const value = getTreeItemValueFromElement(target);\n if (value === null) {\n return null;\n }\n const flatTreeItem = flatTreeItems.get(value);\n if (flatTreeItem === null || flatTreeItem === void 0 ? void 0 : flatTreeItem.parentValue) {\n return treeWalker.root.querySelector(`[${dataTreeItemValueAttrName}=\"${flatTreeItem.parentValue}\"]`);\n }\n return null;\n}\n"],"names":["useFlatTreeNavigation","flatTreeItems","targetDocument","useFluent_unstable","treeItemWalkerRef","treeItemWalkerRootRef","useHTMLElementWalkerRef","treeItemFilter","rove","rovingRootRef","useRovingTabIndex","getNextElement","data","current","treeItemWalker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChild","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useEventCallback","useMergedRefs","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","value","getTreeItemValueFromElement","flatTreeItem","get","parentValue","querySelector","dataTreeItemValueAttrName"],"mappings":"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"}
|