@fluentui/react-tree 9.0.0-beta.9 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +1558 -8
- package/CHANGELOG.md +421 -9
- package/LICENSE +1 -1
- package/dist/index.d.ts +367 -132
- package/lib/FlatTree.js +1 -0
- package/lib/FlatTree.js.map +1 -0
- 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/FlatTree/FlatTree.js +17 -0
- package/lib/components/FlatTree/FlatTree.js.map +1 -0
- package/lib/components/FlatTree/FlatTree.types.js +1 -0
- package/lib/components/FlatTree/FlatTree.types.js.map +1 -0
- package/lib/components/FlatTree/index.js +7 -0
- package/lib/components/FlatTree/index.js.map +1 -0
- package/lib/components/FlatTree/renderFlatTree.js +2 -0
- package/lib/components/FlatTree/renderFlatTree.js.map +1 -0
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js +76 -0
- package/lib/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
- package/lib/components/FlatTree/useFlatTree.js +3 -0
- package/lib/components/FlatTree/useFlatTree.js.map +1 -0
- package/lib/components/FlatTree/useFlatTreeContextValues.js +2 -0
- package/lib/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
- package/lib/components/FlatTree/useFlatTreeNavigation.js +74 -0
- package/lib/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js +20 -0
- package/lib/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
- package/lib/components/FlatTree/useHeadlessFlatTree.js +124 -0
- package/lib/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
- package/lib/components/Tree/Tree.js +9 -15
- 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 +2 -3
- package/lib/components/Tree/index.js.map +1 -1
- package/lib/components/Tree/renderTree.js +7 -11
- package/lib/components/Tree/renderTree.js.map +1 -1
- package/lib/components/Tree/useNestedControllableCheckedItems.js +22 -0
- package/lib/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
- package/lib/components/Tree/useTree.js +63 -111
- package/lib/components/Tree/useTree.js.map +1 -1
- package/lib/components/Tree/useTreeContextValues.js +16 -24
- package/lib/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib/components/Tree/useTreeNavigation.js +52 -0
- package/lib/components/Tree/useTreeNavigation.js.map +1 -0
- package/lib/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +7 -3
- package/lib/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib/components/TreeItem/TreeItem.js +7 -9
- package/lib/components/TreeItem/TreeItem.js.map +1 -1
- package/lib/components/TreeItem/TreeItem.types.js +0 -1
- package/lib/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib/components/TreeItem/index.js +2 -2
- package/lib/components/TreeItem/index.js.map +1 -1
- package/lib/components/TreeItem/renderTreeItem.js +7 -15
- package/lib/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItem.js +161 -234
- package/lib/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib/components/TreeItem/useTreeItemContextValues.js +20 -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 +5 -7
- 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 -13
- package/lib/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayout.js +109 -40
- package/lib/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +237 -0
- package/lib/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +6 -8
- 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 -15
- package/lib/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +41 -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 +210 -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 +13 -14
- package/lib/contexts/treeContext.js.map +1 -1
- package/lib/contexts/treeItemContext.js +16 -8
- package/lib/contexts/treeItemContext.js.map +1 -1
- package/lib/hooks/useControllableOpenItems.js +28 -0
- package/lib/hooks/useControllableOpenItems.js.map +1 -0
- package/lib/hooks/useRootTree.js +147 -0
- package/lib/hooks/useRootTree.js.map +1 -0
- package/lib/hooks/useRovingTabIndexes.js +30 -49
- package/lib/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib/hooks/useSubtree.js +41 -0
- package/lib/hooks/useSubtree.js.map +1 -0
- package/lib/index.js +3 -4
- package/lib/index.js.map +1 -1
- package/lib/utils/ImmutableMap.js +41 -0
- package/lib/utils/ImmutableMap.js.map +1 -0
- package/lib/utils/ImmutableSet.js +42 -33
- package/lib/utils/ImmutableSet.js.map +1 -1
- package/lib/utils/assert.js +4 -5
- package/lib/utils/assert.js.map +1 -1
- package/lib/utils/createCheckedItems.js +18 -0
- package/lib/utils/createCheckedItems.js.map +1 -0
- package/lib/utils/createHTMLElementWalker.js +67 -0
- package/lib/utils/createHTMLElementWalker.js.map +1 -0
- package/lib/utils/createHeadlessTree.js +188 -0
- package/lib/utils/createHeadlessTree.js.map +1 -0
- package/lib/utils/createOpenItems.js +10 -0
- package/lib/utils/createOpenItems.js.map +1 -0
- package/lib/utils/flattenTree.js +15 -49
- 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 +14 -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/FlatTree.js +6 -0
- package/lib-commonjs/FlatTree.js.map +1 -0
- package/lib-commonjs/Tree.js +0 -3
- package/lib-commonjs/Tree.js.map +1 -1
- package/lib-commonjs/TreeItem.js +0 -3
- package/lib-commonjs/TreeItem.js.map +1 -1
- package/lib-commonjs/TreeItemLayout.js +0 -3
- package/lib-commonjs/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/TreeItemPersonaLayout.js +0 -3
- package/lib-commonjs/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/FlatTree/FlatTree.js +21 -0
- package/lib-commonjs/components/FlatTree/FlatTree.js.map +1 -0
- package/lib-commonjs/components/FlatTree/FlatTree.types.js +4 -0
- package/lib-commonjs/components/FlatTree/FlatTree.types.js.map +1 -0
- package/lib-commonjs/components/FlatTree/index.js +12 -0
- package/lib-commonjs/components/FlatTree/index.js.map +1 -0
- package/lib-commonjs/components/FlatTree/renderFlatTree.js +10 -0
- package/lib-commonjs/components/FlatTree/renderFlatTree.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js +91 -0
- package/lib-commonjs/components/FlatTree/useFlatControllableCheckedItems.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatTree.js +12 -0
- package/lib-commonjs/components/FlatTree/useFlatTree.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js +10 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeContextValues.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js +82 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeNavigation.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js +36 -0
- package/lib-commonjs/components/FlatTree/useFlatTreeStyles.styles.js.map +1 -0
- package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js +121 -0
- package/lib-commonjs/components/FlatTree/useHeadlessFlatTree.js.map +1 -0
- package/lib-commonjs/components/Tree/Tree.js +4 -6
- package/lib-commonjs/components/Tree/Tree.js.map +1 -1
- package/lib-commonjs/components/Tree/Tree.types.js +0 -5
- package/lib-commonjs/components/Tree/Tree.types.js.map +1 -1
- package/lib-commonjs/components/Tree/index.js +2 -5
- package/lib-commonjs/components/Tree/index.js.map +1 -1
- package/lib-commonjs/components/Tree/renderTree.js +6 -9
- package/lib-commonjs/components/Tree/renderTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js +37 -0
- package/lib-commonjs/components/Tree/useNestedControllableCheckedItems.js.map +1 -0
- package/lib-commonjs/components/Tree/useTree.js +53 -85
- package/lib-commonjs/components/Tree/useTree.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeContextValues.js +9 -10
- package/lib-commonjs/components/Tree/useTreeContextValues.js.map +1 -1
- package/lib-commonjs/components/Tree/useTreeNavigation.js +60 -0
- package/lib-commonjs/components/Tree/useTreeNavigation.js.map +1 -0
- package/lib-commonjs/components/Tree/{useTreeStyles.js → useTreeStyles.styles.js} +10 -7
- package/lib-commonjs/components/Tree/useTreeStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItem/TreeItem.js +3 -5
- package/lib-commonjs/components/TreeItem/TreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/TreeItem.types.js +0 -3
- package/lib-commonjs/components/TreeItem/TreeItem.types.js.map +1 -1
- package/lib-commonjs/components/TreeItem/index.js +2 -4
- package/lib-commonjs/components/TreeItem/index.js.map +1 -1
- package/lib-commonjs/components/TreeItem/renderTreeItem.js +6 -12
- package/lib-commonjs/components/TreeItem/renderTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItem.js +111 -170
- package/lib-commonjs/components/TreeItem/useTreeItem.js.map +1 -1
- package/lib-commonjs/components/TreeItem/useTreeItemContextValues.js +19 -18
- 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 +3 -5
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js +0 -3
- package/lib-commonjs/components/TreeItemLayout/TreeItemLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/index.js +1 -4
- package/lib-commonjs/components/TreeItemLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js +8 -9
- package/lib-commonjs/components/TreeItemLayout/renderTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js +92 -18
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js +392 -0
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js +3 -5
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js +0 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/TreeItemPersonaLayout.types.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js +1 -4
- package/lib-commonjs/components/TreeItemPersonaLayout/index.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js +9 -10
- package/lib-commonjs/components/TreeItemPersonaLayout/renderTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js +29 -26
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayout.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js +1 -3
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js +379 -0
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.styles.js.map +1 -0
- package/lib-commonjs/contexts/index.js +0 -3
- package/lib-commonjs/contexts/index.js.map +1 -1
- package/lib-commonjs/contexts/treeContext.js +7 -7
- package/lib-commonjs/contexts/treeContext.js.map +1 -1
- package/lib-commonjs/contexts/treeItemContext.js +15 -6
- package/lib-commonjs/contexts/treeItemContext.js.map +1 -1
- package/lib-commonjs/hooks/useControllableOpenItems.js +39 -0
- package/lib-commonjs/hooks/useControllableOpenItems.js.map +1 -0
- package/lib-commonjs/hooks/useRootTree.js +151 -0
- package/lib-commonjs/hooks/useRootTree.js.map +1 -0
- package/lib-commonjs/hooks/useRovingTabIndexes.js +9 -31
- package/lib-commonjs/hooks/useRovingTabIndexes.js.map +1 -1
- package/lib-commonjs/hooks/useSubtree.js +45 -0
- package/lib-commonjs/hooks/useSubtree.js.map +1 -0
- package/lib-commonjs/index.js +11 -7
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/ImmutableMap.js +49 -0
- package/lib-commonjs/utils/ImmutableMap.js.map +1 -0
- package/lib-commonjs/utils/ImmutableSet.js +28 -20
- package/lib-commonjs/utils/ImmutableSet.js.map +1 -1
- package/lib-commonjs/utils/assert.js +1 -3
- package/lib-commonjs/utils/assert.js.map +1 -1
- package/lib-commonjs/utils/createCheckedItems.js +26 -0
- package/lib-commonjs/utils/createCheckedItems.js.map +1 -0
- package/lib-commonjs/{hooks/useHTMLElementWalker.js → utils/createHTMLElementWalker.js} +3 -27
- package/lib-commonjs/utils/createHTMLElementWalker.js.map +1 -0
- package/lib-commonjs/utils/createHeadlessTree.js +202 -0
- package/lib-commonjs/utils/createHeadlessTree.js.map +1 -0
- package/lib-commonjs/utils/createOpenItems.js +18 -0
- package/lib-commonjs/utils/createOpenItems.js.map +1 -0
- package/lib-commonjs/utils/flattenTree.js +4 -40
- 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 +1 -3
- package/lib-commonjs/utils/nextTypeAheadElement.js.map +1 -1
- package/lib-commonjs/utils/normalizeOpenItems.js +1 -3
- package/lib-commonjs/utils/normalizeOpenItems.js.map +1 -1
- package/lib-commonjs/utils/tokens.js +12 -13
- package/lib-commonjs/utils/tokens.js.map +1 -1
- package/lib-commonjs/utils/treeItemFilter.js +1 -3
- package/lib-commonjs/utils/treeItemFilter.js.map +1 -1
- package/package.json +31 -31
- package/.swcrc +0 -30
- 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/hooks/index.js +0 -4
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/useFlatTree.js +0 -77
- package/lib/hooks/useFlatTree.js.map +0 -1
- package/lib/hooks/useFlatTreeNavigation.js +0 -74
- package/lib/hooks/useFlatTreeNavigation.js.map +0 -1
- package/lib/hooks/useHTMLElementWalker.js +0 -80
- package/lib/hooks/useHTMLElementWalker.js.map +0 -1
- package/lib/hooks/useNestedTreeNavigation.js +0 -59
- package/lib/hooks/useNestedTreeNavigation.js.map +0 -1
- package/lib/hooks/useOpenItemsState.js +0 -22
- package/lib/hooks/useOpenItemsState.js.map +0 -1
- package/lib/utils/createFlatTreeItems.js +0 -109
- package/lib/utils/createFlatTreeItems.js.map +0 -1
- package/lib-commonjs/components/Tree/useTreeStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js +0 -375
- package/lib-commonjs/components/TreeItem/useTreeItemStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js +0 -143
- package/lib-commonjs/components/TreeItemLayout/useTreeItemLayoutStyles.js.map +0 -1
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js +0 -186
- package/lib-commonjs/components/TreeItemPersonaLayout/useTreeItemPersonaLayoutStyles.js.map +0 -1
- package/lib-commonjs/hooks/index.js +0 -11
- package/lib-commonjs/hooks/index.js.map +0 -1
- package/lib-commonjs/hooks/useFlatTree.js +0 -86
- package/lib-commonjs/hooks/useFlatTree.js.map +0 -1
- package/lib-commonjs/hooks/useFlatTreeNavigation.js +0 -82
- package/lib-commonjs/hooks/useFlatTreeNavigation.js.map +0 -1
- package/lib-commonjs/hooks/useHTMLElementWalker.js.map +0 -1
- package/lib-commonjs/hooks/useNestedTreeNavigation.js +0 -69
- package/lib-commonjs/hooks/useNestedTreeNavigation.js.map +0 -1
- package/lib-commonjs/hooks/useOpenItemsState.js +0 -39
- package/lib-commonjs/hooks/useOpenItemsState.js.map +0 -1
- package/lib-commonjs/utils/createFlatTreeItems.js +0 -126
- package/lib-commonjs/utils/createFlatTreeItems.js.map +0 -1
package/lib-commonjs/TreeItem.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["TreeItem.js"],"sourcesContent":["export * from './components/TreeItem/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
|
|
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
6
|
_exportStar(require("./components/TreeItemLayout/index"), exports);
|
|
7
|
-
//# sourceMappingURL=TreeItemLayout.js.map
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=TreeItemLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["TreeItemLayout.js"],"sourcesContent":["export * from './components/TreeItemLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
|
|
@@ -4,6 +4,3 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
6
|
_exportStar(require("./components/TreeItemPersonaLayout/index"), exports);
|
|
7
|
-
//# sourceMappingURL=TreeItemPersonaLayout.js.map
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=TreeItemPersonaLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["TreeItemPersonaLayout.js"],"sourcesContent":["export * from './components/TreeItemPersonaLayout/index';\n"],"names":[],"mappings":";;;;;oBAAc"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "FlatTree", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>FlatTree
|
|
8
|
+
});
|
|
9
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _useFlatTree = require("./useFlatTree");
|
|
12
|
+
const _useFlatTreeStylesStyles = require("./useFlatTreeStyles.styles");
|
|
13
|
+
const _useFlatTreeContextValues = require("./useFlatTreeContextValues");
|
|
14
|
+
const _renderFlatTree = require("./renderFlatTree");
|
|
15
|
+
const FlatTree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
16
|
+
const state = (0, _useFlatTree.useFlatTree_unstable)(props, ref);
|
|
17
|
+
const contextValues = (0, _useFlatTreeContextValues.useFlatTreeContextValues_unstable)(state);
|
|
18
|
+
(0, _useFlatTreeStylesStyles.useFlatTreeStyles_unstable)(state);
|
|
19
|
+
return (0, _renderFlatTree.renderFlatTree_unstable)(state, contextValues);
|
|
20
|
+
});
|
|
21
|
+
FlatTree.displayName = 'FlatTree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useFlatTree_unstable } from './useFlatTree';\nimport { useFlatTreeStyles_unstable } from './useFlatTreeStyles.styles';\nimport { useFlatTreeContextValues_unstable } from './useFlatTreeContextValues';\nimport { renderFlatTree_unstable } from './renderFlatTree';\n/**\n * The `FlatTree` component is a variation of the `Tree` component that deals with a flattened data structure.\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 */ export const FlatTree = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useFlatTree_unstable(props, ref);\n const contextValues = useFlatTreeContextValues_unstable(state);\n useFlatTreeStyles_unstable(state);\n return renderFlatTree_unstable(state, contextValues);\n});\nFlatTree.displayName = 'FlatTree';\n"],"names":["FlatTree","React","forwardRef","props","ref","state","useFlatTree_unstable","contextValues","useFlatTreeContextValues_unstable","useFlatTreeStyles_unstable","renderFlatTree_unstable","displayName"],"mappings":";;;;+BAUiBA;;aAAAA;;;6DAVM;6BACc;yCACM;0CACO;gCACV;AAM7B,MAAMA,WAAW,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACrE,MAAMC,QAAQC,IAAAA,iCAAoB,EAACH,OAAOC;IAC1C,MAAMG,gBAAgBC,IAAAA,2DAAiC,EAACH;IACxDI,IAAAA,mDAA0B,EAACJ;IAC3B,OAAOK,IAAAA,uCAAuB,EAACL,OAAOE;AAC1C;AACAP,SAASW,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
|
+
_exportStar(require("./FlatTree"), exports);
|
|
7
|
+
_exportStar(require("./FlatTree.types"), exports);
|
|
8
|
+
_exportStar(require("./useHeadlessFlatTree"), exports);
|
|
9
|
+
_exportStar(require("./useFlatTree"), exports);
|
|
10
|
+
_exportStar(require("./useFlatTreeStyles.styles"), exports);
|
|
11
|
+
_exportStar(require("./useFlatTreeContextValues"), exports);
|
|
12
|
+
_exportStar(require("./renderFlatTree"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './FlatTree';\nexport * from './FlatTree.types';\nexport * from './useHeadlessFlatTree';\nexport * from './useFlatTree';\nexport * from './useFlatTreeStyles.styles';\nexport * from './useFlatTreeContextValues';\nexport * from './renderFlatTree';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "renderFlatTree_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>renderFlatTree_unstable
|
|
8
|
+
});
|
|
9
|
+
const _tree = require("../../Tree");
|
|
10
|
+
const renderFlatTree_unstable = _tree.renderTree_unstable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderFlatTree.js"],"sourcesContent":["import { renderTree_unstable } from '../../Tree';\nexport const renderFlatTree_unstable = renderTree_unstable;\n"],"names":["renderFlatTree_unstable","renderTree_unstable"],"mappings":";;;;+BACaA;;aAAAA;;sBADuB;AAC7B,MAAMA,0BAA0BC,yBAAmB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
useFlatControllableCheckedItems: ()=>useFlatControllableCheckedItems,
|
|
13
|
+
createNextFlatCheckedItems: ()=>createNextFlatCheckedItems
|
|
14
|
+
});
|
|
15
|
+
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
16
|
+
const _reactUtilities = require("@fluentui/react-utilities");
|
|
17
|
+
const _immutableMap = require("../../utils/ImmutableMap");
|
|
18
|
+
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
19
|
+
const _createCheckedItems = require("../../utils/createCheckedItems");
|
|
20
|
+
function useFlatControllableCheckedItems(props, headlessTree) {
|
|
21
|
+
return (0, _reactUtilities.useControllableState)({
|
|
22
|
+
initialState: _immutableMap.ImmutableMap.empty,
|
|
23
|
+
state: _react.useMemo(()=>props.selectionMode ? props.checkedItems && (0, _createCheckedItems.createCheckedItems)(props.checkedItems) : undefined, [
|
|
24
|
+
props.checkedItems,
|
|
25
|
+
props.selectionMode
|
|
26
|
+
]),
|
|
27
|
+
defaultState: ()=>initializeCheckedItems(props, headlessTree)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {
|
|
31
|
+
if (data.selectionMode === 'single') {
|
|
32
|
+
return _immutableMap.ImmutableMap.create([
|
|
33
|
+
[
|
|
34
|
+
data.value,
|
|
35
|
+
data.checked
|
|
36
|
+
]
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
const treeItem = headlessTree.get(data.value);
|
|
40
|
+
if (!treeItem) {
|
|
41
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);
|
|
44
|
+
}
|
|
45
|
+
return previousCheckedItems;
|
|
46
|
+
}
|
|
47
|
+
const nextCheckedItems = new Map(previousCheckedItems);
|
|
48
|
+
for (const children of headlessTree.subtree(data.value)){
|
|
49
|
+
nextCheckedItems.set(children.value, data.checked);
|
|
50
|
+
}
|
|
51
|
+
nextCheckedItems.set(data.value, data.checked);
|
|
52
|
+
let isAncestorsMixed = false;
|
|
53
|
+
for (const parent of headlessTree.ancestors(treeItem.value)){
|
|
54
|
+
// if one parent is mixed, all ancestors are mixed
|
|
55
|
+
if (isAncestorsMixed) {
|
|
56
|
+
nextCheckedItems.set(parent.value, 'mixed');
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const checkedChildren = [];
|
|
60
|
+
for (const child of headlessTree.children(parent.value)){
|
|
61
|
+
var _nextCheckedItems_get;
|
|
62
|
+
if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {
|
|
63
|
+
checkedChildren.push(child);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (checkedChildren.length === parent.childrenValues.length) {
|
|
67
|
+
nextCheckedItems.set(parent.value, data.checked);
|
|
68
|
+
} else {
|
|
69
|
+
// if one parent is mixed, all ancestors are mixed
|
|
70
|
+
isAncestorsMixed = true;
|
|
71
|
+
nextCheckedItems.set(parent.value, 'mixed');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return _immutableMap.ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);
|
|
75
|
+
}
|
|
76
|
+
function initializeCheckedItems(props, headlessTree) {
|
|
77
|
+
if (!props.selectionMode) {
|
|
78
|
+
return _immutableMap.ImmutableMap.empty;
|
|
79
|
+
}
|
|
80
|
+
let state = (0, _createCheckedItems.createCheckedItems)(props.defaultCheckedItems);
|
|
81
|
+
if (props.selectionMode === 'multiselect') {
|
|
82
|
+
for (const [value, checked] of state){
|
|
83
|
+
state = createNextFlatCheckedItems({
|
|
84
|
+
value,
|
|
85
|
+
checked,
|
|
86
|
+
selectionMode: props.selectionMode
|
|
87
|
+
}, state, headlessTree);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return state;
|
|
91
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatControllableCheckedItems.js"],"sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport { ImmutableMap } from '../../utils/ImmutableMap';\nimport * as React from 'react';\nimport { createCheckedItems } from '../../utils/createCheckedItems';\nexport function useFlatControllableCheckedItems(props, headlessTree) {\n return useControllableState({\n initialState: ImmutableMap.empty,\n state: React.useMemo(()=>props.selectionMode ? props.checkedItems && createCheckedItems(props.checkedItems) : undefined, [\n props.checkedItems,\n props.selectionMode\n ]),\n defaultState: ()=>initializeCheckedItems(props, headlessTree)\n });\n}\nexport function createNextFlatCheckedItems(data, previousCheckedItems, headlessTree) {\n if (data.selectionMode === 'single') {\n return ImmutableMap.create([\n [\n data.value,\n data.checked\n ]\n ]);\n }\n const treeItem = headlessTree.get(data.value);\n if (!treeItem) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(`useHeadlessFlatTree: tree item ${data.value} not found`);\n }\n return previousCheckedItems;\n }\n const nextCheckedItems = new Map(previousCheckedItems);\n for (const children of headlessTree.subtree(data.value)){\n nextCheckedItems.set(children.value, data.checked);\n }\n nextCheckedItems.set(data.value, data.checked);\n let isAncestorsMixed = false;\n for (const parent of headlessTree.ancestors(treeItem.value)){\n // if one parent is mixed, all ancestors are mixed\n if (isAncestorsMixed) {\n nextCheckedItems.set(parent.value, 'mixed');\n continue;\n }\n const checkedChildren = [];\n for (const child of headlessTree.children(parent.value)){\n var _nextCheckedItems_get;\n if (((_nextCheckedItems_get = nextCheckedItems.get(child.value)) !== null && _nextCheckedItems_get !== void 0 ? _nextCheckedItems_get : false) === data.checked) {\n checkedChildren.push(child);\n }\n }\n if (checkedChildren.length === parent.childrenValues.length) {\n nextCheckedItems.set(parent.value, data.checked);\n } else {\n // if one parent is mixed, all ancestors are mixed\n isAncestorsMixed = true;\n nextCheckedItems.set(parent.value, 'mixed');\n }\n }\n return ImmutableMap.dangerouslyCreate_unstable(nextCheckedItems);\n}\nfunction initializeCheckedItems(props, headlessTree) {\n if (!props.selectionMode) {\n return ImmutableMap.empty;\n }\n let state = createCheckedItems(props.defaultCheckedItems);\n if (props.selectionMode === 'multiselect') {\n for (const [value, checked] of state){\n state = createNextFlatCheckedItems({\n value,\n checked,\n selectionMode: props.selectionMode\n }, state, headlessTree);\n }\n }\n return state;\n}\n"],"names":["useFlatControllableCheckedItems","createNextFlatCheckedItems","props","headlessTree","useControllableState","initialState","ImmutableMap","empty","state","React","useMemo","selectionMode","checkedItems","createCheckedItems","undefined","defaultState","initializeCheckedItems","data","previousCheckedItems","create","value","checked","treeItem","get","process","env","NODE_ENV","console","error","nextCheckedItems","Map","children","subtree","set","isAncestorsMixed","parent","ancestors","checkedChildren","child","_nextCheckedItems_get","push","length","childrenValues","dangerouslyCreate_unstable","defaultCheckedItems"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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 _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
|
+
const _useRootTree = require("../../hooks/useRootTree");
|
|
12
|
+
const useFlatTree_unstable = _useRootTree.useRootTree;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatTree.js"],"sourcesContent":["import * as React from 'react';\nimport { useRootTree } from '../../hooks/useRootTree';\nexport const useFlatTree_unstable = useRootTree;\n"],"names":["useFlatTree_unstable","useRootTree"],"mappings":";;;;+BAEaA;;aAAAA;;;6DAFU;6BACK;AACrB,MAAMA,uBAAuBC,wBAAW"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useFlatTreeContextValues_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useFlatTreeContextValues_unstable
|
|
8
|
+
});
|
|
9
|
+
const _tree = require("../../Tree");
|
|
10
|
+
const useFlatTreeContextValues_unstable = _tree.useTreeContextValues_unstable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatTreeContextValues.js"],"sourcesContent":["import { useTreeContextValues_unstable } from '../../Tree';\nexport const useFlatTreeContextValues_unstable = useTreeContextValues_unstable;\n"],"names":["useFlatTreeContextValues_unstable","useTreeContextValues_unstable"],"mappings":";;;;+BACaA;;aAAAA;;sBADiC;AACvC,MAAMA,oCAAoCC,mCAA6B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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 _useRovingTabIndexes = require("../../hooks/useRovingTabIndexes");
|
|
15
|
+
const _getTreeItemValueFromElement = require("../../utils/getTreeItemValueFromElement");
|
|
16
|
+
function useFlatTreeNavigation(virtualTree) {
|
|
17
|
+
const { targetDocument } = (0, _reactSharedContexts.useFluent_unstable)();
|
|
18
|
+
const { rove , initialize } = (0, _useRovingTabIndexes.useRovingTabIndex)(_treeItemFilter.treeItemFilter);
|
|
19
|
+
function getNextElement(data, walker) {
|
|
20
|
+
if (!targetDocument) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
switch(data.type){
|
|
24
|
+
case _tokens.treeDataTypes.Click:
|
|
25
|
+
return data.target;
|
|
26
|
+
case _tokens.treeDataTypes.TypeAhead:
|
|
27
|
+
walker.currentElement = data.target;
|
|
28
|
+
return (0, _nextTypeAheadElement.nextTypeAheadElement)(walker, data.event.key);
|
|
29
|
+
case _tokens.treeDataTypes.ArrowLeft:
|
|
30
|
+
return parentElement(virtualTree, data.target, walker);
|
|
31
|
+
case _tokens.treeDataTypes.ArrowRight:
|
|
32
|
+
walker.currentElement = data.target;
|
|
33
|
+
return firstChild(data.target, walker);
|
|
34
|
+
case _tokens.treeDataTypes.End:
|
|
35
|
+
walker.currentElement = walker.root;
|
|
36
|
+
return walker.lastChild();
|
|
37
|
+
case _tokens.treeDataTypes.Home:
|
|
38
|
+
walker.currentElement = walker.root;
|
|
39
|
+
return walker.firstChild();
|
|
40
|
+
case _tokens.treeDataTypes.ArrowDown:
|
|
41
|
+
walker.currentElement = data.target;
|
|
42
|
+
return walker.nextElement();
|
|
43
|
+
case _tokens.treeDataTypes.ArrowUp:
|
|
44
|
+
walker.currentElement = data.target;
|
|
45
|
+
return walker.previousElement();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const navigate = (0, _reactUtilities.useEventCallback)((data, walker)=>{
|
|
49
|
+
const nextElement = getNextElement(data, walker);
|
|
50
|
+
if (nextElement) {
|
|
51
|
+
rove(nextElement);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
navigate,
|
|
56
|
+
initialize
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function firstChild(target, treeWalker) {
|
|
60
|
+
const nextElement = treeWalker.nextElement();
|
|
61
|
+
if (!nextElement) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const nextElementAriaPosInSet = nextElement.getAttribute('aria-posinset');
|
|
65
|
+
const nextElementAriaLevel = nextElement.getAttribute('aria-level');
|
|
66
|
+
const targetAriaLevel = target.getAttribute('aria-level');
|
|
67
|
+
if (nextElementAriaPosInSet === '1' && Number(nextElementAriaLevel) === Number(targetAriaLevel) + 1) {
|
|
68
|
+
return nextElement;
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
function parentElement(virtualTreeItems, target, treeWalker) {
|
|
73
|
+
const value = (0, _getTreeItemValueFromElement.getTreeItemValueFromElement)(target);
|
|
74
|
+
if (value === null) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const virtualTreeItem = virtualTreeItems.get(value);
|
|
78
|
+
if (virtualTreeItem === null || virtualTreeItem === void 0 ? void 0 : virtualTreeItem.parentValue) {
|
|
79
|
+
return treeWalker.root.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${virtualTreeItem.parentValue}"]`);
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatTreeNavigation.js"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { nextTypeAheadElement } from '../../utils/nextTypeAheadElement';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndexes';\nimport { dataTreeItemValueAttrName, getTreeItemValueFromElement } from '../../utils/getTreeItemValueFromElement';\nexport function useFlatTreeNavigation(virtualTree) {\n const { targetDocument } = useFluent_unstable();\n const { rove , initialize } = useRovingTabIndex(treeItemFilter);\n function getNextElement(data, walker) {\n if (!targetDocument) {\n return null;\n }\n switch(data.type){\n case treeDataTypes.Click:\n return data.target;\n case treeDataTypes.TypeAhead:\n walker.currentElement = data.target;\n return nextTypeAheadElement(walker, data.event.key);\n case treeDataTypes.ArrowLeft:\n return parentElement(virtualTree, data.target, walker);\n case treeDataTypes.ArrowRight:\n walker.currentElement = data.target;\n return firstChild(data.target, walker);\n case treeDataTypes.End:\n walker.currentElement = walker.root;\n return walker.lastChild();\n case treeDataTypes.Home:\n walker.currentElement = walker.root;\n return walker.firstChild();\n case treeDataTypes.ArrowDown:\n walker.currentElement = data.target;\n return walker.nextElement();\n case treeDataTypes.ArrowUp:\n walker.currentElement = data.target;\n return walker.previousElement();\n }\n }\n const navigate = useEventCallback((data, walker)=>{\n const nextElement = getNextElement(data, walker);\n if (nextElement) {\n rove(nextElement);\n }\n });\n return {\n navigate,\n initialize\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(virtualTreeItems, target, treeWalker) {\n const value = getTreeItemValueFromElement(target);\n if (value === null) {\n return null;\n }\n const virtualTreeItem = virtualTreeItems.get(value);\n if (virtualTreeItem === null || virtualTreeItem === void 0 ? void 0 : virtualTreeItem.parentValue) {\n return treeWalker.root.querySelector(`[${dataTreeItemValueAttrName}=\"${virtualTreeItem.parentValue}\"]`);\n }\n return null;\n}\n"],"names":["useFlatTreeNavigation","virtualTree","targetDocument","useFluent_unstable","rove","initialize","useRovingTabIndex","treeItemFilter","getNextElement","data","walker","type","treeDataTypes","Click","target","TypeAhead","currentElement","nextTypeAheadElement","event","key","ArrowLeft","parentElement","ArrowRight","firstChild","End","root","lastChild","Home","ArrowDown","nextElement","ArrowUp","previousElement","navigate","useEventCallback","treeWalker","nextElementAriaPosInSet","getAttribute","nextElementAriaLevel","targetAriaLevel","Number","virtualTreeItems","value","getTreeItemValueFromElement","virtualTreeItem","get","parentValue","querySelector","dataTreeItemValueAttrName"],"mappings":";;;;+BAOgBA;;aAAAA;;qCAPmB;gCACF;sCACI;wBACP;gCACC;qCACG;6CACqC;AAChE,SAASA,sBAAsBC,WAAW,EAAE;IAC/C,MAAM,EAAEC,eAAc,EAAG,GAAGC,IAAAA,uCAAkB;IAC9C,MAAM,EAAEC,KAAI,EAAGC,WAAU,EAAG,GAAGC,IAAAA,sCAAiB,EAACC,8BAAc;IAC/D,SAASC,eAAeC,IAAI,EAAEC,MAAM,EAAE;QAClC,IAAI,CAACR,gBAAgB;YACjB,OAAO,IAAI;QACf,CAAC;QACD,OAAOO,KAAKE,IAAI;YACZ,KAAKC,qBAAa,CAACC,KAAK;gBACpB,OAAOJ,KAAKK,MAAM;YACtB,KAAKF,qBAAa,CAACG,SAAS;gBACxBL,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOG,IAAAA,0CAAoB,EAACP,QAAQD,KAAKS,KAAK,CAACC,GAAG;YACtD,KAAKP,qBAAa,CAACQ,SAAS;gBACxB,OAAOC,cAAcpB,aAAaQ,KAAKK,MAAM,EAAEJ;YACnD,KAAKE,qBAAa,CAACU,UAAU;gBACzBZ,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOS,WAAWd,KAAKK,MAAM,EAAEJ;YACnC,KAAKE,qBAAa,CAACY,GAAG;gBAClBd,OAAOM,cAAc,GAAGN,OAAOe,IAAI;gBACnC,OAAOf,OAAOgB,SAAS;YAC3B,KAAKd,qBAAa,CAACe,IAAI;gBACnBjB,OAAOM,cAAc,GAAGN,OAAOe,IAAI;gBACnC,OAAOf,OAAOa,UAAU;YAC5B,KAAKX,qBAAa,CAACgB,SAAS;gBACxBlB,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOJ,OAAOmB,WAAW;YAC7B,KAAKjB,qBAAa,CAACkB,OAAO;gBACtBpB,OAAOM,cAAc,GAAGP,KAAKK,MAAM;gBACnC,OAAOJ,OAAOqB,eAAe;QACrC;IACJ;IACA,MAAMC,WAAWC,IAAAA,gCAAgB,EAAC,CAACxB,MAAMC,SAAS;QAC9C,MAAMmB,cAAcrB,eAAeC,MAAMC;QACzC,IAAImB,aAAa;YACbzB,KAAKyB;QACT,CAAC;IACL;IACA,OAAO;QACHG;QACA3B;IACJ;AACJ;AACA,SAASkB,WAAWT,MAAM,EAAEoB,UAAU,EAAE;IACpC,MAAML,cAAcK,WAAWL,WAAW;IAC1C,IAAI,CAACA,aAAa;QACd,OAAO,IAAI;IACf,CAAC;IACD,MAAMM,0BAA0BN,YAAYO,YAAY,CAAC;IACzD,MAAMC,uBAAuBR,YAAYO,YAAY,CAAC;IACtD,MAAME,kBAAkBxB,OAAOsB,YAAY,CAAC;IAC5C,IAAID,4BAA4B,OAAOI,OAAOF,0BAA0BE,OAAOD,mBAAmB,GAAG;QACjG,OAAOT;IACX,CAAC;IACD,OAAO,IAAI;AACf;AACA,SAASR,cAAcmB,gBAAgB,EAAE1B,MAAM,EAAEoB,UAAU,EAAE;IACzD,MAAMO,QAAQC,IAAAA,wDAA2B,EAAC5B;IAC1C,IAAI2B,UAAU,IAAI,EAAE;QAChB,OAAO,IAAI;IACf,CAAC;IACD,MAAME,kBAAkBH,iBAAiBI,GAAG,CAACH;IAC7C,IAAIE,oBAAoB,IAAI,IAAIA,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBE,WAAW,EAAE;QAC/F,OAAOX,WAAWT,IAAI,CAACqB,aAAa,CAAC,CAAC,CAAC,EAAEC,sDAAyB,CAAC,EAAE,EAAEJ,gBAAgBE,WAAW,CAAC,EAAE,CAAC;IAC1G,CAAC;IACD,OAAO,IAAI;AACf"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
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
|
+
flatTreeClassNames: ()=>flatTreeClassNames,
|
|
13
|
+
useFlatTreeStyles_unstable: ()=>useFlatTreeStyles_unstable
|
|
14
|
+
});
|
|
15
|
+
const _react = require("@griffel/react");
|
|
16
|
+
const flatTreeClassNames = {
|
|
17
|
+
root: 'fui-FlatTree'
|
|
18
|
+
};
|
|
19
|
+
const useStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
20
|
+
root: {
|
|
21
|
+
mc9l5x: "f22iagw",
|
|
22
|
+
Beiy3e4: "f1vx9l62",
|
|
23
|
+
Belr9w4: "f1j0q4x9"
|
|
24
|
+
}
|
|
25
|
+
}, {
|
|
26
|
+
d: [
|
|
27
|
+
".f22iagw{display:flex;}",
|
|
28
|
+
".f1vx9l62{flex-direction:column;}",
|
|
29
|
+
".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}"
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
const useFlatTreeStyles_unstable = (state)=>{
|
|
33
|
+
const styles = useStyles();
|
|
34
|
+
state.root.className = (0, _react.mergeClasses)(flatTreeClassNames.root, styles.root, state.root.className);
|
|
35
|
+
return state;
|
|
36
|
+
}; //# sourceMappingURL=useFlatTreeStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useFlatTreeStyles.styles.js"],"sourcesContent":["import { __styles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const flatTreeClassNames = {\n root: 'fui-FlatTree'\n};\nconst useStyles = /*#__PURE__*/__styles({\n root: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\",\n Belr9w4: \"f1j0q4x9\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\", \".f1j0q4x9{row-gap:var(--spacingVerticalXXS);}\"]\n});\nexport const useFlatTreeStyles_unstable = state => {\n const styles = useStyles();\n state.root.className = mergeClasses(flatTreeClassNames.root, styles.root, state.root.className);\n return state;\n};\n//# sourceMappingURL=useFlatTreeStyles.styles.js.map"],"names":["flatTreeClassNames","useFlatTreeStyles_unstable","root","useStyles","__styles","mc9l5x","Beiy3e4","Belr9w4","d","state","styles","className","mergeClasses"],"mappings":";;;;;;;;;;;IAEaA,kBAAkB,MAAlBA;IAYAC,0BAA0B,MAA1BA;;uBAd0B;AAEhC,MAAMD,qBAAqB;IAChCE,MAAM;AACR;AACA,MAAMC,YAAY,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IACtCF,MAAM;QACJG,QAAQ;QACRC,SAAS;QACTC,SAAS;IACX;AACF,GAAG;IACDC,GAAG;QAAC;QAA2B;QAAqC;KAAgD;AACtH;AACO,MAAMP,6BAA6BQ,CAAAA,QAAS;IACjD,MAAMC,SAASP;IACfM,MAAMP,IAAI,CAACS,SAAS,GAAGC,IAAAA,mBAAY,EAACZ,mBAAmBE,IAAI,EAAEQ,OAAOR,IAAI,EAAEO,MAAMP,IAAI,CAACS,SAAS;IAC9F,OAAOF;AACT,GACA,oDAAoD"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useHeadlessFlatTree_unstable", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>useHeadlessFlatTree_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 _createHeadlessTree = require("../../utils/createHeadlessTree");
|
|
13
|
+
const _tokens = require("../../utils/tokens");
|
|
14
|
+
const _useFlatTreeNavigation = require("./useFlatTreeNavigation");
|
|
15
|
+
const _useControllableOpenItems = require("../../hooks/useControllableOpenItems");
|
|
16
|
+
const _getTreeItemValueFromElement = require("../../utils/getTreeItemValueFromElement");
|
|
17
|
+
const _useFlatControllableCheckedItems = require("./useFlatControllableCheckedItems");
|
|
18
|
+
const _createHTMLElementWalker = require("../../utils/createHTMLElementWalker");
|
|
19
|
+
const _treeItemFilter = require("../../utils/treeItemFilter");
|
|
20
|
+
function useHeadlessFlatTree_unstable(props, options = {}) {
|
|
21
|
+
const headlessTree = _react.useMemo(()=>(0, _createHeadlessTree.createHeadlessTree)(props), [
|
|
22
|
+
props
|
|
23
|
+
]);
|
|
24
|
+
const [openItems, setOpenItems] = (0, _useControllableOpenItems.useControllableOpenItems)(options);
|
|
25
|
+
const [checkedItems, setCheckedItems] = (0, _useFlatControllableCheckedItems.useFlatControllableCheckedItems)(options, headlessTree);
|
|
26
|
+
const { initialize , navigate } = (0, _useFlatTreeNavigation.useFlatTreeNavigation)(headlessTree);
|
|
27
|
+
const walkerRef = _react.useRef();
|
|
28
|
+
const initializeWalker = _react.useCallback((root)=>{
|
|
29
|
+
if (root) {
|
|
30
|
+
walkerRef.current = (0, _createHTMLElementWalker.createHTMLElementWalker)(root, _treeItemFilter.treeItemFilter);
|
|
31
|
+
initialize(walkerRef.current);
|
|
32
|
+
}
|
|
33
|
+
}, [
|
|
34
|
+
initialize
|
|
35
|
+
]);
|
|
36
|
+
const treeRef = _react.useRef(null);
|
|
37
|
+
const handleOpenChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
38
|
+
var _options_onOpenChange;
|
|
39
|
+
const nextOpenItems = (0, _useControllableOpenItems.createNextOpenItems)(data, openItems);
|
|
40
|
+
(_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {
|
|
41
|
+
...data,
|
|
42
|
+
openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()
|
|
43
|
+
});
|
|
44
|
+
setOpenItems(nextOpenItems);
|
|
45
|
+
});
|
|
46
|
+
const handleCheckedChange = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
47
|
+
var _options_onCheckedChange;
|
|
48
|
+
const nextCheckedItems = (0, _useFlatControllableCheckedItems.createNextFlatCheckedItems)(data, checkedItems, headlessTree);
|
|
49
|
+
(_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {
|
|
50
|
+
...data,
|
|
51
|
+
checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()
|
|
52
|
+
});
|
|
53
|
+
setCheckedItems(nextCheckedItems);
|
|
54
|
+
});
|
|
55
|
+
const handleNavigation = (0, _reactUtilities.useEventCallback)((event, data)=>{
|
|
56
|
+
var _options_onNavigation;
|
|
57
|
+
(_options_onNavigation = options.onNavigation) === null || _options_onNavigation === void 0 ? void 0 : _options_onNavigation.call(options, event, data);
|
|
58
|
+
if (walkerRef.current) {
|
|
59
|
+
navigate(data, walkerRef.current);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
const getNextNavigableItem = (0, _reactUtilities.useEventCallback)((visibleItems, data)=>{
|
|
63
|
+
const item = headlessTree.get(data.value);
|
|
64
|
+
if (item) {
|
|
65
|
+
switch(data.type){
|
|
66
|
+
case _tokens.treeDataTypes.TypeAhead:
|
|
67
|
+
return item;
|
|
68
|
+
case _tokens.treeDataTypes.ArrowLeft:
|
|
69
|
+
return headlessTree.get(item.parentValue);
|
|
70
|
+
case _tokens.treeDataTypes.ArrowRight:
|
|
71
|
+
return visibleItems[item.index + 1];
|
|
72
|
+
case _tokens.treeDataTypes.End:
|
|
73
|
+
return visibleItems[visibleItems.length - 1];
|
|
74
|
+
case _tokens.treeDataTypes.Home:
|
|
75
|
+
return visibleItems[0];
|
|
76
|
+
case _tokens.treeDataTypes.ArrowDown:
|
|
77
|
+
return visibleItems[item.index + 1];
|
|
78
|
+
case _tokens.treeDataTypes.ArrowUp:
|
|
79
|
+
return visibleItems[item.index - 1];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
const getElementFromItem = _react.useCallback((item)=>{
|
|
84
|
+
var _treeRef_current;
|
|
85
|
+
return (_treeRef_current = treeRef.current) === null || _treeRef_current === void 0 ? void 0 : _treeRef_current.querySelector(`[${_getTreeItemValueFromElement.dataTreeItemValueAttrName}="${item.value}"]`);
|
|
86
|
+
}, []);
|
|
87
|
+
const ref = (0, _reactUtilities.useMergedRefs)(treeRef, initializeWalker);
|
|
88
|
+
const getTreeProps = _react.useCallback(()=>({
|
|
89
|
+
ref,
|
|
90
|
+
openItems,
|
|
91
|
+
selectionMode: options.selectionMode,
|
|
92
|
+
checkedItems,
|
|
93
|
+
onOpenChange: handleOpenChange,
|
|
94
|
+
onCheckedChange: handleCheckedChange,
|
|
95
|
+
onNavigation: handleNavigation
|
|
96
|
+
}), [
|
|
97
|
+
openItems,
|
|
98
|
+
checkedItems
|
|
99
|
+
]);
|
|
100
|
+
const items = _react.useCallback(()=>headlessTree.visibleItems(openItems), [
|
|
101
|
+
openItems,
|
|
102
|
+
headlessTree
|
|
103
|
+
]);
|
|
104
|
+
return _react.useMemo(()=>({
|
|
105
|
+
navigate: (data)=>{
|
|
106
|
+
if (walkerRef.current) {
|
|
107
|
+
navigate(data, walkerRef.current);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
getTreeProps,
|
|
111
|
+
getNextNavigableItem,
|
|
112
|
+
getElementFromItem,
|
|
113
|
+
items
|
|
114
|
+
}), [
|
|
115
|
+
navigate,
|
|
116
|
+
getTreeProps,
|
|
117
|
+
getNextNavigableItem,
|
|
118
|
+
getElementFromItem,
|
|
119
|
+
items
|
|
120
|
+
]);
|
|
121
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useHeadlessFlatTree.js"],"sourcesContent":["import { useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { createHeadlessTree } from '../../utils/createHeadlessTree';\nimport { treeDataTypes } from '../../utils/tokens';\nimport { useFlatTreeNavigation } from './useFlatTreeNavigation';\nimport { createNextOpenItems, useControllableOpenItems } from '../../hooks/useControllableOpenItems';\nimport { dataTreeItemValueAttrName } from '../../utils/getTreeItemValueFromElement';\nimport { createNextFlatCheckedItems, useFlatControllableCheckedItems } from './useFlatControllableCheckedItems';\nimport { createHTMLElementWalker } from '../../utils/createHTMLElementWalker';\nimport { treeItemFilter } from '../../utils/treeItemFilter';\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 props - a list of tree items\n * @param options - in case control over the internal openItems is required\n */ export function useHeadlessFlatTree_unstable(props, options = {}) {\n const headlessTree = React.useMemo(()=>createHeadlessTree(props), [\n props\n ]);\n const [openItems, setOpenItems] = useControllableOpenItems(options);\n const [checkedItems, setCheckedItems] = useFlatControllableCheckedItems(options, headlessTree);\n const { initialize , navigate } = useFlatTreeNavigation(headlessTree);\n const walkerRef = React.useRef();\n const initializeWalker = React.useCallback((root)=>{\n if (root) {\n walkerRef.current = createHTMLElementWalker(root, treeItemFilter);\n initialize(walkerRef.current);\n }\n }, [\n initialize\n ]);\n const treeRef = React.useRef(null);\n const handleOpenChange = useEventCallback((event, data)=>{\n var _options_onOpenChange;\n const nextOpenItems = createNextOpenItems(data, openItems);\n (_options_onOpenChange = options.onOpenChange) === null || _options_onOpenChange === void 0 ? void 0 : _options_onOpenChange.call(options, event, {\n ...data,\n openItems: nextOpenItems.dangerouslyGetInternalSet_unstable()\n });\n setOpenItems(nextOpenItems);\n });\n const handleCheckedChange = useEventCallback((event, data)=>{\n var _options_onCheckedChange;\n const nextCheckedItems = createNextFlatCheckedItems(data, checkedItems, headlessTree);\n (_options_onCheckedChange = options.onCheckedChange) === null || _options_onCheckedChange === void 0 ? void 0 : _options_onCheckedChange.call(options, event, {\n ...data,\n checkedItems: nextCheckedItems.dangerouslyGetInternalMap_unstable()\n });\n setCheckedItems(nextCheckedItems);\n });\n const handleNavigation = useEventCallback((event, data)=>{\n var _options_onNavigation;\n (_options_onNavigation = options.onNavigation) === null || _options_onNavigation === void 0 ? void 0 : _options_onNavigation.call(options, event, data);\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n });\n const getNextNavigableItem = useEventCallback((visibleItems, data)=>{\n const item = headlessTree.get(data.value);\n if (item) {\n switch(data.type){\n case treeDataTypes.TypeAhead:\n return item;\n case treeDataTypes.ArrowLeft:\n return headlessTree.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, initializeWalker);\n const getTreeProps = React.useCallback(()=>({\n ref,\n openItems,\n selectionMode: options.selectionMode,\n checkedItems,\n onOpenChange: handleOpenChange,\n onCheckedChange: handleCheckedChange,\n onNavigation: handleNavigation\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n openItems,\n checkedItems\n ]);\n const items = React.useCallback(()=>headlessTree.visibleItems(openItems), [\n openItems,\n headlessTree\n ]);\n return React.useMemo(()=>({\n navigate: (data)=>{\n if (walkerRef.current) {\n navigate(data, walkerRef.current);\n }\n },\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n }), [\n navigate,\n getTreeProps,\n getNextNavigableItem,\n getElementFromItem,\n items\n ]);\n}\n"],"names":["useHeadlessFlatTree_unstable","props","options","headlessTree","React","useMemo","createHeadlessTree","openItems","setOpenItems","useControllableOpenItems","checkedItems","setCheckedItems","useFlatControllableCheckedItems","initialize","navigate","useFlatTreeNavigation","walkerRef","useRef","initializeWalker","useCallback","root","current","createHTMLElementWalker","treeItemFilter","treeRef","handleOpenChange","useEventCallback","event","data","_options_onOpenChange","nextOpenItems","createNextOpenItems","onOpenChange","call","dangerouslyGetInternalSet_unstable","handleCheckedChange","_options_onCheckedChange","nextCheckedItems","createNextFlatCheckedItems","onCheckedChange","dangerouslyGetInternalMap_unstable","handleNavigation","_options_onNavigation","onNavigation","getNextNavigableItem","visibleItems","item","get","value","type","treeDataTypes","TypeAhead","ArrowLeft","parentValue","ArrowRight","index","End","length","Home","ArrowDown","ArrowUp","getElementFromItem","_treeRef_current","querySelector","dataTreeItemValueAttrName","ref","useMergedRefs","getTreeProps","selectionMode","items"],"mappings":"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"}
|
|
@@ -9,15 +9,13 @@ Object.defineProperty(exports, "Tree", {
|
|
|
9
9
|
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
10
10
|
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
11
11
|
const _useTree = require("./useTree");
|
|
12
|
-
const _renderTree = require("./renderTree");
|
|
13
|
-
const _useTreeStyles = require("./useTreeStyles");
|
|
14
12
|
const _useTreeContextValues = require("./useTreeContextValues");
|
|
13
|
+
const _useTreeStylesStyles = require("./useTreeStyles.styles");
|
|
14
|
+
const _renderTree = require("./renderTree");
|
|
15
15
|
const Tree = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
16
16
|
const state = (0, _useTree.useTree_unstable)(props, ref);
|
|
17
|
-
(0, _useTreeStyles.useTreeStyles_unstable)(state);
|
|
18
17
|
const contextValues = (0, _useTreeContextValues.useTreeContextValues_unstable)(state);
|
|
18
|
+
(0, _useTreeStylesStyles.useTreeStyles_unstable)(state);
|
|
19
19
|
return (0, _renderTree.renderTree_unstable)(state, contextValues);
|
|
20
20
|
});
|
|
21
|
-
Tree.displayName = 'Tree';
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=Tree.js.map
|
|
21
|
+
Tree.displayName = 'Tree';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["Tree.js"],"sourcesContent":["import * as React from 'react';\nimport { useTree_unstable } from './useTree';\nimport { useTreeContextValues_unstable } from './useTreeContextValues';\nimport { useTreeStyles_unstable } from './useTreeStyles.styles';\nimport { renderTree_unstable } from './renderTree';\n/**\n * The `Tree` component renders nested items in a hierarchical structure.\n * Use it with `TreeItem` component and layouts components `TreeItemLayout` or `TreeItemPersonaLayout`.\n */ export const Tree = /*#__PURE__*/ React.forwardRef((props, ref)=>{\n const state = useTree_unstable(props, ref);\n const contextValues = useTreeContextValues_unstable(state);\n useTreeStyles_unstable(state);\n return renderTree_unstable(state, contextValues);\n});\nTree.displayName = 'Tree';\n"],"names":["Tree","React","forwardRef","props","ref","state","useTree_unstable","contextValues","useTreeContextValues_unstable","useTreeStyles_unstable","renderTree_unstable","displayName"],"mappings":";;;;+BAQiBA;;aAAAA;;;6DARM;yBACU;sCACa;qCACP;4BACH;AAIzB,MAAMA,OAAO,WAAW,GAAGC,OAAMC,UAAU,CAAC,CAACC,OAAOC,MAAM;IACjE,MAAMC,QAAQC,IAAAA,yBAAgB,EAACH,OAAOC;IACtC,MAAMG,gBAAgBC,IAAAA,mDAA6B,EAACH;IACpDI,IAAAA,2CAAsB,EAACJ;IACvB,OAAOK,IAAAA,+BAAmB,EAACL,OAAOE;AACtC;AACAP,KAAKW,WAAW,GAAG"}
|
|
@@ -2,8 +2,3 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
|
|
6
|
-
const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
|
|
7
|
-
//# sourceMappingURL=Tree.types.js.map
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=Tree.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
const _exportStar = require("@swc/helpers/lib/_export_star.js").default;
|
|
6
6
|
_exportStar(require("./Tree"), exports);
|
|
7
7
|
_exportStar(require("./Tree.types"), exports);
|
|
8
|
-
_exportStar(require("./renderTree"), exports);
|
|
9
8
|
_exportStar(require("./useTree"), exports);
|
|
10
|
-
_exportStar(require("./useTreeStyles"), exports);
|
|
11
9
|
_exportStar(require("./useTreeContextValues"), exports);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
10
|
+
_exportStar(require("./useTreeStyles.styles"), exports);
|
|
11
|
+
_exportStar(require("./renderTree"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './Tree';\nexport * from './Tree.types';\nexport * from './useTree';\nexport * from './useTreeContextValues';\nexport * from './useTreeStyles.styles';\nexport * from './renderTree';\n"],"names":[],"mappings":";;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA"}
|